diff --git a/CHANGELOG.md b/CHANGELOG.md index 1c578289..e3f322e7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ Released: TBD ### Minor Changes +- [#451](https://github.com/peggyjs/peggy/pull/451) Make stack.js ts clean - [#439](https://github.com/peggyjs/peggy/pull/439) Make peg$computePosDetails a little faster - [#437](https://github.com/peggyjs/peggy/pull/437) Better type checking for visitor - [#435](https://github.com/peggyjs/peggy/pull/435) Setup tsconfig to detect use of library functions from es6 or later diff --git a/docs/js/benchmark-bundle.min.js b/docs/js/benchmark-bundle.min.js index 007cc2ca..51f36701 100644 --- a/docs/js/benchmark-bundle.min.js +++ b/docs/js/benchmark-bundle.min.js @@ -5,4 +5,4 @@ // Copyright (c) 2023- the Peggy authors // Licensed under the MIT License. -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).browser=t()}(this,(function(){var commonjsGlobal="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},browser_stub={},GrammarLocation$4=function(){function e(e,t){this.source=e,this.start=t}return e.prototype.toString=function(){return String(this.source)},e.prototype.offset=function(e){return{line:e.line+this.start.line-1,column:1===e.line?e.column+this.start.column-1:e.column,offset:e.offset+this.start.offset}},e.offsetStart=function(e){return e.source&&"function"==typeof e.source.offset?e.source.offset(e.start):e.start},e.offsetEnd=function(e){return e.source&&"function"==typeof e.source.offset?e.source.offset(e.end):e.end},e}(),grammarLocation=GrammarLocation$4,__extends=commonjsGlobal&&commonjsGlobal.__extends||(extendStatics=function(e,t){return extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},extendStatics(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}extendStatics(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),extendStatics,GrammarLocation$3=grammarLocation,setProtoOf=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},GrammarError$3=function(e){function t(n,r,o){var u=e.call(this,n)||this;return setProtoOf(u,t.prototype),u.name="GrammarError",u.location=r,void 0===o&&(o=[]),u.diagnostics=o,u.stage=null,u.problems=[["error",n,r,o]],u}return __extends(t,e),t.prototype.toString=function(){var t=e.prototype.toString.call(this);this.location&&(t+="\n at ",void 0!==this.location.source&&null!==this.location.source&&(t+="".concat(this.location.source,":")),t+="".concat(this.location.start.line,":").concat(this.location.start.column));for(var n=0,r=this.diagnostics;n1&&e.delimiter&&o(e.delimiter)))},semantic_and:r,semantic_not:r,rule_ref:function(t){var n=asts$7.findRule(e,t.name);return n?o(n):void 0},literal:function(e){return""!==e.value},class:n,any:n});return o(t)}},asts_1=asts$7,opcodes={PUSH:0,PUSH_EMPTY_STRING:35,PUSH_UNDEFINED:1,PUSH_NULL:2,PUSH_FAILED:3,PUSH_EMPTY_ARRAY:4,PUSH_CURR_POS:5,POP:6,POP_CURR_POS:7,POP_N:8,NIP:9,APPEND:10,WRAP:11,TEXT:12,PLUCK:36,IF:13,IF_ERROR:14,IF_NOT_ERROR:15,IF_LT:30,IF_GE:31,IF_LT_DYNAMIC:32,IF_GE_DYNAMIC:33,WHILE_NOT_ERROR:16,MATCH_ANY:17,MATCH_STRING:18,MATCH_STRING_IC:19,MATCH_CHAR_CLASS:20,MATCH_REGEXP:20,ACCEPT_N:21,ACCEPT_STRING:22,FAIL:23,LOAD_SAVED_POS:24,UPDATE_SAVED_POS:25,CALL:26,RULE:27,SILENT_FAILS_ON:28,SILENT_FAILS_OFF:29,SOURCE_MAP_PUSH:37,SOURCE_MAP_POP:38,SOURCE_MAP_LABEL_PUSH:39,SOURCE_MAP_LABEL_POP:40},opcodes_1=opcodes,visitor$a=visitor_1,asts$6=asts_1,GrammarError$2=grammarError,ALWAYS_MATCH$1=1,SOMETIMES_MATCH$1=0,NEVER_MATCH$1=-1;function inferenceMatchResult$1(e){function t(e){return e.match=SOMETIMES_MATCH$1}function n(e){return u(e.expression),e.match=ALWAYS_MATCH$1}function r(e){return e.match=u(e.expression)}function o(e,t){for(var n=e.length,r=0,o=0,a=0;a0?NEVER_MATCH$1:SOMETIMES_MATCH$1}var u=visitor$a.build({rule:function(e){var t=void 0,n=0;if(void 0===e.match){e.match=SOMETIMES_MATCH$1;do{if(t=e.match,e.match=u(e.expression),++n>6)throw new GrammarError$2("Infinity cycle detected when trying to evaluate node match result",e.location)}while(t!==e.match)}return e.match},named:r,choice:function(e){return e.match=o(e.alternatives,!0)},action:r,sequence:function(e){return e.match=o(e.elements,!1)},labeled:r,text:r,simple_and:r,simple_not:function(e){return e.match=-u(e.expression)},optional:n,zero_or_more:n,one_or_more:r,repeated:function(e){var t=u(e.expression),n=e.delimiter?u(e.delimiter):NEVER_MATCH$1,r=e.min?e.min:e.max;return"constant"!==r.type||"constant"!==e.max.type?e.match=SOMETIMES_MATCH$1:0===e.max.value||null!==e.max.value&&r.value>e.max.value?e.match=NEVER_MATCH$1:t===NEVER_MATCH$1?e.match=0===r.value?ALWAYS_MATCH$1:NEVER_MATCH$1:t===ALWAYS_MATCH$1?e.delimiter&&r.value>=2?e.match=n:e.match=ALWAYS_MATCH$1:e.delimiter&&r.value>=2?e.match=n===NEVER_MATCH$1?NEVER_MATCH$1:SOMETIMES_MATCH$1:e.match=0===r.value?ALWAYS_MATCH$1:SOMETIMES_MATCH$1},group:r,semantic_and:t,semantic_not:t,rule_ref:function(t){var n=asts$6.findRule(e,t.name);return t.match=u(n)},literal:function(e){var t=0===e.value.length?ALWAYS_MATCH$1:SOMETIMES_MATCH$1;return e.match=t},class:function(e){var t=0===e.parts.length?NEVER_MATCH$1:SOMETIMES_MATCH$1;return e.match=t},any:t});u(e)}inferenceMatchResult$1.ALWAYS_MATCH=ALWAYS_MATCH$1,inferenceMatchResult$1.SOMETIMES_MATCH=SOMETIMES_MATCH$1,inferenceMatchResult$1.NEVER_MATCH=NEVER_MATCH$1;var inferenceMatchResult_1=inferenceMatchResult$1,__spreadArray$3=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,n){if(n||2===arguments.length)for(var r,o=0,u=t.length;o1?h(SOMETIMES_MATCH,[op$1.IF_ERROR],f([op$1.POP],e(t.slice(1),n)),[]):[])}(e.alternatives,t)},action:function(e,t){var n=p(t.env),r="sequence"!==e.expression.type||0===e.expression.elements.length,o=C(e.expression,{sp:t.sp+(r?1:0),env:n,action:e}),u=0|e.expression.match,a=r&&u!==NEVER_MATCH?c(!1,Object.keys(n),e):null;return r?f([op$1.PUSH_CURR_POS],o,h(u,[op$1.IF_NOT_ERROR],f([op$1.LOAD_SAVED_POS,1],d(a,1,n,t.sp+2)),[]),[op$1.NIP]):o},sequence:function(e,t){return f([op$1.PUSH_CURR_POS],function t(n,r){if(n.length>0){var o=e.elements.length-n.length+1;return f(C(n[0],{sp:r.sp,env:r.env,pluck:r.pluck,action:null}),h(0|n[0].match,[op$1.IF_NOT_ERROR],t(n.slice(1),{sp:r.sp+1,env:r.env,pluck:r.pluck,action:r.action}),f(o>1?[op$1.POP_N,o]:[op$1.POP],[op$1.POP_CURR_POS],[op$1.PUSH_FAILED])))}if(r.pluck.length>0)return f([op$1.PLUCK,e.elements.length+1,r.pluck.length],r.pluck.map((function(e){return r.sp-e})));if(r.action){var u=c(!1,Object.keys(r.env),r.action);return f([op$1.LOAD_SAVED_POS,e.elements.length],d(u,e.elements.length+1,r.env,r.sp))}return f([op$1.WRAP,e.elements.length],[op$1.NIP])}(e.elements,{sp:t.sp+1,env:t.env,pluck:[],action:t.action}))},labeled:function(e,n){var r=n.env,o=e.label,u=n.sp+1;o&&(r=p(n.env),n.env[e.label]=u),e.pick&&n.pluck.push(u);var a=C(e.expression,{sp:n.sp,env:r,action:null});return o&&e.labelLocation&&t&&"source-and-map"===t.output?f([op$1.SOURCE_MAP_LABEL_PUSH,u,i(o),l(e.labelLocation)],a,[op$1.SOURCE_MAP_LABEL_POP,u]):a},text:function(e,t){return f([op$1.PUSH_CURR_POS],C(e.expression,{sp:t.sp+1,env:p(t.env),action:null}),h(0|e.match,[op$1.IF_NOT_ERROR],f([op$1.POP],[op$1.TEXT]),[op$1.NIP]))},simple_and:function(e,t){return g(e.expression,!1,t)},simple_not:function(e,t){return g(e.expression,!0,t)},optional:function(e,t){return f(C(e.expression,{sp:t.sp,env:p(t.env),action:null}),h(-(0|e.expression.match),[op$1.IF_ERROR],f([op$1.POP],[op$1.PUSH_NULL]),[]))},zero_or_more:function(e,t){var n=C(e.expression,{sp:t.sp+1,env:p(t.env),action:null});return f([op$1.PUSH_EMPTY_ARRAY],n,m(n),[op$1.POP])},one_or_more:function(e,t){var n=C(e.expression,{sp:t.sp+1,env:p(t.env),action:null});return f([op$1.PUSH_EMPTY_ARRAY],n,h(0|e.expression.match,[op$1.IF_NOT_ERROR],f(m(n),[op$1.POP]),f([op$1.POP],[op$1.POP],[op$1.PUSH_FAILED])))},repeated:function(e,t){var n=e.min?e.min:e.max,r="constant"!==n.type||n.value>0,o="constant"!==e.max.type&&null!==e.max.value,u=r?2:1,a=e.min?E(e.min,t.env,t.sp,2+("function"===e.max.type?1:0)):{pre:[],post:[],sp:t.sp},i=E(e.max,t.env,a.sp,u),s=C(e.expression,{sp:i.sp+u,env:p(t.env),action:null}),c=null!==e.delimiter?C(e.expression,{sp:i.sp+u+1,env:p(t.env),action:null}):s,l=function(e,t,n,r,o){return e?f([op$1.PUSH_CURR_POS],C(e,{sp:r.sp+o+1,env:p(r.env),action:null}),h(0|e.match,[op$1.IF_NOT_ERROR],f([op$1.POP],n,h(-t,[op$1.IF_ERROR],[op$1.POP,op$1.POP_CURR_POS,op$1.PUSH_FAILED],[op$1.NIP])),[op$1.NIP])):n}(e.delimiter,0|e.expression.match,c,t,u),d=_(l,e.max),g=o?_(s,e.max):s,A=f(r?[op$1.PUSH_CURR_POS]:[],[op$1.PUSH_EMPTY_ARRAY],g,m(d),[op$1.POP]);return f(a.pre,i.pre,r?function(e,t){var n="constant"===t.type?[op$1.IF_LT,t.value]:[op$1.IF_LT_DYNAMIC,t.sp];return f(e,h(SOMETIMES_MATCH,n,[op$1.POP,op$1.POP_CURR_POS,op$1.PUSH_FAILED],[op$1.NIP]))}(A,n):A,i.post,a.post)},group:function(e,t){return C(e.expression,{sp:t.sp,env:p(t.env),action:null})},semantic_and:function(e,t){return A(e,!1,t)},semantic_not:function(e,t){return A(e,!0,t)},rule_ref:function(t){return[op$1.RULE,asts$5.indexOfRule(e,t.name)]},literal:function(e){if(e.value.length>0){var t=0|e.match,n=t===SOMETIMES_MATCH||t===ALWAYS_MATCH&&!e.ignoreCase?i(e.ignoreCase?e.value.toLowerCase():e.value):null,r=t!==ALWAYS_MATCH?s({type:"literal",value:e.value,ignoreCase:e.ignoreCase}):null;return h(t,e.ignoreCase?[op$1.MATCH_STRING_IC,n]:[op$1.MATCH_STRING,n],e.ignoreCase?[op$1.ACCEPT_N,e.value.length]:[op$1.ACCEPT_STRING,n],[op$1.FAIL,r])}return[op$1.PUSH_EMPTY_STRING]},class:function(e){var t=0|e.match,n=t===SOMETIMES_MATCH?function(e){var t={value:e.parts,inverted:e.inverted,ignoreCase:e.ignoreCase},n=JSON.stringify(t),o=r.findIndex((function(e){return JSON.stringify(e)===n}));return-1===o?r.push(t)-1:o}(e):null,o=t!==ALWAYS_MATCH?s({type:"class",value:e.parts,inverted:e.inverted,ignoreCase:e.ignoreCase}):null;return h(t,[op$1.MATCH_CHAR_CLASS,n],[op$1.ACCEPT_N,1],[op$1.FAIL,o])},any:function(e){var t=0|e.match,n=t!==ALWAYS_MATCH?s({type:"any"}):null;return h(t,[op$1.MATCH_ANY],[op$1.ACCEPT_N,1],[op$1.FAIL,n])}},t&&"source-and-map"===t.output&&Object.entries(v).forEach((function(e){var t=e[0],n=e[1];v[t]=function(e){for(var t=[],r=1;r>>=VLQ_BASE_SHIFT,r>0&&(t|=VLQ_CONTINUATION_BIT),n+=base64$2.encode(t)}while(r>0);return n};var util$3={};function getArg(e,t,n){if(t in e)return e[t];if(3===arguments.length)return n;throw new Error('"'+t+'" is a required argument.')}util$3.getArg=getArg;const supportsNullProto=!("__proto__"in Object.create(null));function identity(e){return e}function toSetString(e){return isProtoString(e)?"$"+e:e}function fromSetString(e){return isProtoString(e)?e.slice(1):e}function isProtoString(e){if(!e)return!1;const t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(let n=t-10;n>=0;n--)if(36!==e.charCodeAt(n))return!1;return!0}function strcmp(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}function compareByGeneratedPositionsInflated(e,t){let n=e.generatedLine-t.generatedLine;return 0!==n?n:(n=e.generatedColumn-t.generatedColumn,0!==n?n:(n=strcmp(e.source,t.source),0!==n?n:(n=e.originalLine-t.originalLine,0!==n?n:(n=e.originalColumn-t.originalColumn,0!==n?n:strcmp(e.name,t.name)))))}util$3.toSetString=supportsNullProto?identity:toSetString,util$3.fromSetString=supportsNullProto?identity:fromSetString,util$3.compareByGeneratedPositionsInflated=compareByGeneratedPositionsInflated;const PROTOCOL="http:",PROTOCOL_AND_HOST=`${PROTOCOL}//host`;function createSafeHandler(e){return t=>{const n=getURLType(t),r=buildSafeBase(t),o=new URL(t,r);e(o);const u=o.toString();return"absolute"===n?u:"scheme-relative"===n?u.slice(PROTOCOL.length):"path-absolute"===n?u.slice(PROTOCOL_AND_HOST.length):computeRelativeURL(r,u)}}function withBase(e,t){return new URL(e,t).toString()}function buildUniqueSegment(e,t){let n=0;for(;;){const r=e+n++;if(-1===t.indexOf(r))return r}}function buildSafeBase(e){const t=e.split("..").length-1,n=buildUniqueSegment("p",e);let r=`${PROTOCOL_AND_HOST}/`;for(let e=0;e0&&!r[r.length-1]&&r.pop();n.length>0&&r.length>0&&n[0]===r[0];)n.shift(),r.shift();return r.map((()=>"..")).concat(n).join("/")+t.search+t.hash}const ensureDirectory=createSafeHandler((e=>{e.pathname=e.pathname.replace(/\/?$/,"/")})),normalize=createSafeHandler((e=>{}));function join(e,t){const n=getURLType(t),r=getURLType(e);if(e=ensureDirectory(e),"absolute"===n)return withBase(t,void 0);if("absolute"===r)return withBase(t,e);if("scheme-relative"===n)return normalize(t);if("scheme-relative"===r)return withBase(t,withBase(e,PROTOCOL_AND_HOST)).slice(PROTOCOL.length);if("path-absolute"===n)return normalize(t);if("path-absolute"===r)return withBase(t,withBase(e,PROTOCOL_AND_HOST)).slice(PROTOCOL_AND_HOST.length);const o=buildSafeBase(t+e);return computeRelativeURL(o,withBase(t,withBase(e,o)))}function relative(e,t){const n=relativeIfPossible(e,t);return"string"==typeof n?n:normalize(t)}function relativeIfPossible(e,t){if(getURLType(e)!==getURLType(t))return null;const n=buildSafeBase(e+t),r=new URL(e,n),o=new URL(t,n);try{new URL("",o.toString())}catch(e){return null}return o.protocol!==r.protocol||o.user!==r.user||o.password!==r.password||o.hostname!==r.hostname||o.port!==r.port?null:computeRelativeURL(r,o)}util$3.normalize=normalize,util$3.join=join,util$3.relative=relative;var arraySet={};let ArraySet$1=class e{constructor(){this._array=[],this._set=new Map}static fromArray(t,n){const r=new e;for(let e=0,o=t.length;e=0)return t;throw new Error('"'+e+'" is not in the set.')}at(e){if(e>=0&&en||r==n&&u>=o||util$2.compareByGeneratedPositionsInflated(e,t)<=0}let MappingList$1=class{constructor(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}unsortedForEach(e,t){this._array.forEach(e,t)}add(e){generatedPositionAfter(this._last,e)?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))}toArray(){return this._sorted||(this._array.sort(util$2.compareByGeneratedPositionsInflated),this._sorted=!0),this._array}};mappingList.MappingList=MappingList$1;const base64VLQ=base64Vlq,util$1=util$3,ArraySet=arraySet.ArraySet,MappingList=mappingList.MappingList;let SourceMapGenerator$1=class e{constructor(e){e||(e={}),this._file=util$1.getArg(e,"file",null),this._sourceRoot=util$1.getArg(e,"sourceRoot",null),this._skipValidation=util$1.getArg(e,"skipValidation",!1),this._sources=new ArraySet,this._names=new ArraySet,this._mappings=new MappingList,this._sourcesContents=null}static fromSourceMap(t){const n=t.sourceRoot,r=new e({file:t.file,sourceRoot:n});return t.eachMapping((function(e){const t={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(t.source=e.source,null!=n&&(t.source=util$1.relative(n,t.source)),t.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(t.name=e.name)),r.addMapping(t)})),t.sources.forEach((function(e){let o=e;null!=n&&(o=util$1.relative(n,e)),r._sources.has(o)||r._sources.add(o);const u=t.sourceContentFor(e);null!=u&&r.setSourceContent(e,u)})),r}addMapping(e){const t=util$1.getArg(e,"generated"),n=util$1.getArg(e,"original",null);let r=util$1.getArg(e,"source",null),o=util$1.getArg(e,"name",null);this._skipValidation||this._validateMapping(t,n,r,o),null!=r&&(r=String(r),this._sources.has(r)||this._sources.add(r)),null!=o&&(o=String(o),this._names.has(o)||this._names.add(o)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:n&&n.line,originalColumn:n&&n.column,source:r,name:o})}setSourceContent(e,t){let n=e;null!=this._sourceRoot&&(n=util$1.relative(this._sourceRoot,n)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[util$1.toSetString(n)]=t):this._sourcesContents&&(delete this._sourcesContents[util$1.toSetString(n)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))}applySourceMap(e,t,n){let r=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');r=e.file}const o=this._sourceRoot;null!=o&&(r=util$1.relative(o,r));const u=this._mappings.toArray().length>0?new ArraySet:this._sources,a=new ArraySet;this._mappings.unsortedForEach((function(t){if(t.source===r&&null!=t.originalLine){const r=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=r.source&&(t.source=r.source,null!=n&&(t.source=util$1.join(n,t.source)),null!=o&&(t.source=util$1.relative(o,t.source)),t.originalLine=r.line,t.originalColumn=r.column,null!=r.name&&(t.name=r.name))}const i=t.source;null==i||u.has(i)||u.add(i);const s=t.name;null==s||a.has(s)||a.add(s)}),this),this._sources=u,this._names=a,e.sources.forEach((function(t){const r=e.sourceContentFor(t);null!=r&&(null!=n&&(t=util$1.join(n,t)),null!=o&&(t=util$1.relative(o,t)),this.setSourceContent(t,r))}),this)}_validateMapping(e,t,n,r){if(t&&"number"!=typeof t.line&&"number"!=typeof t.column)throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0&&!t&&!n&&!r);else if(!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&n))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:n,original:t,name:r}))}_serializeMappings(){let e,t,n,r,o=0,u=1,a=0,i=0,s=0,c=0,l="";const p=this._mappings.toArray();for(let f=0,h=p.length;f0){if(!util$1.compareByGeneratedPositionsInflated(t,p[f-1]))continue;e+=","}e+=base64VLQ.encode(t.generatedColumn-o),o=t.generatedColumn,null!=t.source&&(r=this._sources.indexOf(t.source),e+=base64VLQ.encode(r-c),c=r,e+=base64VLQ.encode(t.originalLine-1-i),i=t.originalLine-1,e+=base64VLQ.encode(t.originalColumn-a),a=t.originalColumn,null!=t.name&&(n=this._names.indexOf(t.name),e+=base64VLQ.encode(n-s),s=n)),l+=e}return l}_generateSourcesContent(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=util$1.relative(t,e));const n=util$1.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,n)?this._sourcesContents[n]:null}),this)}toJSON(){const e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e}toString(){return JSON.stringify(this.toJSON())}};SourceMapGenerator$1.prototype._version=3,sourceMapGenerator.SourceMapGenerator=SourceMapGenerator$1;var sourceNode={};const SourceMapGenerator=sourceMapGenerator.SourceMapGenerator,util=util$3,REGEX_NEWLINE=/(\r?\n)/,NEWLINE_CODE=10,isSourceNode="$$$isSourceNode$$$";let SourceNode$2=class e{constructor(e,t,n,r,o){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==t?null:t,this.source=null==n?null:n,this.name=null==o?null:o,this[isSourceNode]=!0,null!=r&&this.add(r)}static fromStringWithSourceMap(t,n,r){const o=new e,u=t.split(REGEX_NEWLINE);let a=0;const i=function(){return e()+(e()||"");function e(){return a=0;t--)this.prepend(e[t]);else{if(!e[isSourceNode]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this}walk(e){let t;for(let n=0,r=this.children.length;n0){for(t=[],n=0;n' at an index ").concat(e,".\nBytecode: ").concat(this.bytecode));return this.varName+e},e.sourceNode=function(e,t,n){var r=GrammarLocation$2.offsetStart(e);return new SourceNode$1(r.line,r.column?r.column-1:null,String(e.source),t,n)},e.prototype.push=function(t){++this.sp>this.maxSp&&(this.maxSp=this.sp);var n=this.labels[this.sp],r=[this.name(this.sp)," = ",t,";"];if(n){if(this.sourceMapStack.length){var o=e.sourceNode(n.location,r.splice(0,2),n.label),u=this.sourceMapPopInternal(),a=u.parts,i=u.location,s=i.start.offsett.end.offset&&(n[2]={start:t.end,end:n[2].end,source:n[2].source})}this.sourceMapStack.push([e,e.length,t])},e.prototype.sourceMapPopInternal=function(){var e=this.sourceMapStack.pop(),t=e[0],n=e[1],r=e[2],o=t.splice(n).map((function(e){return e instanceof SourceNode$1?e:e+"\n"}));if(o.length){var u=GrammarLocation$2.offsetStart(r);t.push(new SourceNode$1(u.line,u.column-1,String(r.source),o))}return{parts:t,location:r}},e.prototype.sourceMapPop=function(e){var t=this.sourceMapPopInternal().location;if(this.sourceMapStack.length&&t.end.offset>2],o+=t[(3&e[u])<<4|e[u+1]>>4],o+=t[(15&e[u+1])<<2|e[u+2]>>6],o+=t[63&e[u+2]];return 1===n?(o+=t[e[r]>>2],o+=t[(3&e[r])<<4],o+="=="):2===n&&(o+=t[e[r]>>2],o+=t[(3&e[r])<<4|e[r+1]>>4],o+=t[(15&e[r+1])<<2],o+="="),o}utils.hex=hex,utils.stringEscape=stringEscape$1,utils.regexpClassEscape=regexpClassEscape$1,utils.base64=base64$1;var __spreadArray$2=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,n){if(n||2===arguments.length)for(var r,o=0,u=t.length;o0&&(t.forEach((function(e){o.push("var "+e+' = require("'+stringEscape(s[e])+'");')})),o.push("")),o.push(e,"","module.exports = "+r()+";"),o},es:function(){var r=Object.keys(s),o=n();return o.push(""),r.length>0&&(r.forEach((function(e){o.push("import "+e+' from "'+stringEscape(s[e])+'";')})),o.push("")),o.push(e,"","export {"," peg$SyntaxError as SyntaxError,",t.trace?" peg$DefaultTracer as DefaultTracer,":""," peg$parse as parse","};"),o},amd:function(){var t=Object.keys(s),o="["+t.map((function(e){return s[e]})).map((function(e){return'"'+stringEscape(e)+'"'})).join(", ")+"]",u=t.join(", ");return __spreadArray$2(__spreadArray$2([],n(),!0),["define("+o+", function("+u+") {",' "use strict";',"",e,"",c("return "+r()+";"),"});"],!1)},globals:function(){return __spreadArray$2(__spreadArray$2([],n(),!0),["(function(root) {",' "use strict";',"",e,"",c("root."+t.exportVar+" = "+r()+";"),"})(this);"],!1)},umd:function(){var o=Object.keys(s),u=o.map((function(e){return s[e]})),a="["+u.map((function(e){return'"'+stringEscape(e)+'"'})).join(", ")+"]",i=u.map((function(e){return'require("'+stringEscape(e)+'")'})).join(", "),l=o.join(", "),p=n();return p.push("(function(root, factory) {",' if (typeof define === "function" && define.amd) {'," define("+a+", factory);",' } else if (typeof module === "object" && module.exports) {'," module.exports = factory("+i+");"),null!==t.exportVar&&p.push(" } else {"," root."+t.exportVar+" = factory();"),p.push(" }","})(this, function("+l+") {",' "use strict";',"",e,"",c("return "+r()+";"),"});"),p}}[t.format||"bare"]();return new SourceNode(null,null,t.grammarSource,o.map((function(e){return e instanceof SourceNode?e:e+"\n"})))}(function(){var s=[];e.topLevelInitializer&&(s.push(g(e.topLevelInitializer)),s.push("")),s.push("function peg$subclass(child, parent) {"," function C() { this.constructor = child; }"," C.prototype = parent.prototype;"," child.prototype = new C();","}","","function peg$SyntaxError(message, expected, found, location) {"," var self = Error.call(this, message);"," // istanbul ignore next Check is a necessary evil to support older environments"," if (Object.setPrototypeOf) {"," Object.setPrototypeOf(self, peg$SyntaxError.prototype);"," }"," self.expected = expected;"," self.found = found;"," self.location = location;",' self.name = "SyntaxError";'," return self;","}","","peg$subclass(peg$SyntaxError, Error);","","function peg$padEnd(str, targetLength, padString) {",' padString = padString || " ";'," if (str.length > targetLength) { return str; }"," targetLength -= str.length;"," padString += padString.repeat(targetLength);"," return str + padString.slice(0, targetLength);","}","","peg$SyntaxError.prototype.format = function(sources) {",' var str = "Error: " + this.message;'," if (this.location) {"," var src = null;"," var k;"," for (k = 0; k < sources.length; k++) {"," if (sources[k].source === this.location.source) {"," src = sources[k].text.split(/\\r\\n|\\n|\\r/g);"," break;"," }"," }"," var s = this.location.start;",' var offset_s = (this.location.source && (typeof this.location.source.offset === "function"))'," ? this.location.source.offset(s)"," : s;",' var loc = this.location.source + ":" + offset_s.line + ":" + offset_s.column;'," if (src) {"," var e = this.location.end;"," var filler = peg$padEnd(\"\", offset_s.line.toString().length, ' ');"," var line = src[s.line - 1];"," var last = s.line === e.line ? e.column : line.length + 1;"," var hatLen = (last - s.column) || 1;",' str += "\\n --\x3e " + loc + "\\n"',' + filler + " |\\n"',' + offset_s.line + " | " + line + "\\n"',' + filler + " | " + peg$padEnd("", s.column - 1, \' \')',' + peg$padEnd("", hatLen, "^");'," } else {",' str += "\\n at " + loc;'," }"," }"," return str;","};","","peg$SyntaxError.buildMessage = function(expected, found) {"," var DESCRIBE_EXPECTATION_FNS = {"," literal: function(expectation) {",' return "\\"" + literalEscape(expectation.text) + "\\"";'," },",""," class: function(expectation) {"," var escapedParts = expectation.parts.map(function(part) {"," return Array.isArray(part)",' ? classEscape(part[0]) + "-" + classEscape(part[1])'," : classEscape(part);"," });","",' return "[" + (expectation.inverted ? "^" : "") + escapedParts.join("") + "]";'," },",""," any: function() {",' return "any character";'," },",""," end: function() {",' return "end of input";'," },",""," other: function(expectation) {"," return expectation.description;"," }"," };",""," function hex(ch) {"," return ch.charCodeAt(0).toString(16).toUpperCase();"," }",""," function literalEscape(s) {"," return s",' .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(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function classEscape(s) {"," return s",' .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(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function describeExpectation(expectation) {"," return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);"," }",""," function describeExpected(expected) {"," var descriptions = expected.map(describeExpectation);"," var i, j;",""," descriptions.sort();",""," if (descriptions.length > 0) {"," for (i = 1, j = 1; i < descriptions.length; i++) {"," if (descriptions[i - 1] !== descriptions[i]) {"," descriptions[j] = descriptions[i];"," j++;"," }"," }"," descriptions.length = j;"," }",""," switch (descriptions.length) {"," case 1:"," return descriptions[0];",""," case 2:",' return descriptions[0] + " or " + descriptions[1];',""," default:",' return descriptions.slice(0, -1).join(", ")',' + ", or "'," + descriptions[descriptions.length - 1];"," }"," }",""," function describeFound(found) {",' return found ? "\\"" + literalEscape(found) + "\\"" : "end of input";'," }","",' return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found.";',"};",""),t.trace&&s.push("function peg$DefaultTracer() {"," this.indentLevel = 0;","}","","peg$DefaultTracer.prototype.trace = function(event) {"," var that = this;",""," function log(event) {"," function repeat(string, n) {",' var result = "", i;',""," for (i = 0; i < n; i++) {"," result += string;"," }",""," return result;"," }",""," function pad(string, length) {",' return string + repeat(" ", length - string.length);'," }","",' if (typeof console === "object") {'," console.log(",' event.location.start.line + ":" + event.location.start.column + "-"',' + event.location.end.line + ":" + event.location.end.column + " "',' + pad(event.type, 10) + " "',' + repeat(" ", that.indentLevel) + event.rule'," );"," }"," }",""," switch (event.type) {",' case "rule.enter":'," log(event);"," this.indentLevel++;"," break;","",' case "rule.match":'," this.indentLevel--;"," log(event);"," break;","",' case "rule.fail":'," this.indentLevel--;"," log(event);"," break;",""," default:",' throw new Error("Invalid event type: " + event.type + ".");'," }","};","");var A="{ "+i.map((function(e){return e+": "+d(e)})).join(", ")+" }",m=d(i[0]);return s.push("function peg$parse(input, options) {"," options = options !== undefined ? options : {};",""," var peg$FAILED = {};"," var peg$source = options.grammarSource;",""," var peg$startRuleFunctions = "+A+";"," var peg$startRuleFunction = "+m+";","",new SourceNode(null,null,t.grammarSource,__spreadArray$2([n.map((function(e,t){return" var "+l(t)+' = "'+stringEscape(e)+'";'})).concat("",o.map((function(e,t){return" var "+p(t)+" = /^["+((n=e).inverted?"^":"")+n.value.map((function(e){return Array.isArray(e)?regexpClassEscape(e[0])+"-"+regexpClassEscape(e[1]):regexpClassEscape(e)})).join("")+"]/"+(n.ignoreCase?"i":"")+";";var n}))).concat("",u.map((function(e,t){return" var "+f(t)+" = "+function(e){switch(e.type){case"rule":return'peg$otherExpectation("'+stringEscape(e.value)+'")';case"literal":return'peg$literalExpectation("'+stringEscape(e.value)+'", '+e.ignoreCase+")";case"class":return"peg$classExpectation(["+e.value.map((function(e){return Array.isArray(e)?'["'+stringEscape(e[0])+'", "'+stringEscape(e[1])+'"]':'"'+stringEscape(e)+'"'})).join(", ")+"], "+e.inverted+", "+e.ignoreCase+")";case"any":return"peg$anyExpectation()";default:throw new Error("Unknown expectation type ("+JSON.stringify(e)+")")}}(e)+";"}))).concat("").join("\n")],a.map((function(e,t){return wrapInSourceNode("\n var ".concat(h(t)," = function(").concat(e.params.join(", "),") {"),e.body,e.location,"};")})),!0)),""," var peg$currPos = 0;"," var peg$savedPos = 0;"," var peg$posDetailsCache = [{ line: 1, column: 1 }];"," var peg$maxFailPos = 0;"," var peg$maxFailExpected = [];"," var peg$silentFails = 0;",""),t.cache&&s.push(" var peg$resultsCache = {};",""),t.trace&&s.push(' var peg$tracer = "tracer" in options ? options.tracer : new peg$DefaultTracer();',""),s.push(" var peg$result;","",' if ("startRule" in options) {'," if (!(options.startRule in peg$startRuleFunctions)) {",' throw new Error("Can\'t start parsing from rule \\"" + options.startRule + "\\".");'," }",""," peg$startRuleFunction = peg$startRuleFunctions[options.startRule];"," }",""," function text() {"," return input.substring(peg$savedPos, peg$currPos);"," }",""," function offset() {"," return peg$savedPos;"," }",""," function range() {"," return {"," source: peg$source,"," start: peg$savedPos,"," end: peg$currPos"," };"," }",""," function location() {"," return peg$computeLocation(peg$savedPos, peg$currPos);"," }",""," function expected(description, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildStructuredError("," [peg$otherExpectation(description)],"," input.substring(peg$savedPos, peg$currPos),"," location"," );"," }",""," function error(message, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildSimpleError(message, location);"," }",""," function peg$literalExpectation(text, ignoreCase) {",' return { type: "literal", text: text, ignoreCase: ignoreCase };'," }",""," function peg$classExpectation(parts, inverted, ignoreCase) {",' return { type: "class", parts: parts, inverted: inverted, ignoreCase: ignoreCase };'," }",""," function peg$anyExpectation() {",' return { type: "any" };'," }",""," function peg$endExpectation() {",' return { type: "end" };'," }",""," function peg$otherExpectation(description) {",' return { type: "other", description: description };'," }",""," function peg$computePosDetails(pos) {"," var details = peg$posDetailsCache[pos];"," var p;",""," if (details) {"," return details;"," } else {"," if (pos >= peg$posDetailsCache.length) {"," p = peg$posDetailsCache.length - 1;"," } else {"," p = pos;"," while (!peg$posDetailsCache[--p]) {}"," }",""," details = peg$posDetailsCache[p];"," details = {"," line: details.line,"," column: details.column"," };",""," while (p < pos) {"," if (input.charCodeAt(p) === 10) {"," details.line++;"," details.column = 1;"," } else {"," details.column++;"," }",""," p++;"," }",""," peg$posDetailsCache[pos] = details;",""," return details;"," }"," }",""," function peg$computeLocation(startPos, endPos, offset) {"," var startPosDetails = peg$computePosDetails(startPos);"," var endPosDetails = peg$computePosDetails(endPos);",""," var res = {"," source: peg$source,"," start: {"," offset: startPos,"," line: startPosDetails.line,"," column: startPosDetails.column"," },"," end: {"," offset: endPos,"," line: endPosDetails.line,"," column: endPosDetails.column"," }"," };",' if (offset && peg$source && (typeof peg$source.offset === "function")) {'," res.start = peg$source.offset(res.start);"," res.end = peg$source.offset(res.end);"," }"," return res;"," }",""," function peg$fail(expected) {"," if (peg$currPos < peg$maxFailPos) { return; }",""," if (peg$currPos > peg$maxFailPos) {"," peg$maxFailPos = peg$currPos;"," peg$maxFailExpected = [];"," }",""," peg$maxFailExpected.push(expected);"," }",""," function peg$buildSimpleError(message, location) {"," return new peg$SyntaxError(message, null, null, location);"," }",""," function peg$buildStructuredError(expected, found, location) {"," return new peg$SyntaxError("," peg$SyntaxError.buildMessage(expected, found),"," expected,"," found,"," location"," );"," }",""),e.rules.forEach((function(o){s.push.apply(s,c(function(o){var u=[],a=o.bytecode,i=new Stack(o.name,"s","var",a),s=function t(o){var u=0,a=o.length,s=[],g=void 0;function A(e,n,r){var a=n+3,l=o[u+a-2],p=o[u+a-1],f=i.checkedIf(u,(function(){return u+=a+l,(r||t)(o.slice(u-l,u))}),p>0?function(){return u+=p,t(o.slice(u-p,u))}:null),h=f[0],d=f[1];s.push("if ("+e+") {"),s.push.apply(s,c(h)),p>0&&(s.push("} else {"),s.push.apply(s,c(d))),s.push("}")}function m(e,n,r){var a=n+3,c=1===r?"input.charAt(peg$currPos)":"input.substr(peg$currPos, "+r+")",l=null;o[u+a]===op.ACCEPT_N&&o[u+a+1]===r&&(s.push(i.push(c)),c=i.pop(),l=function(e){i.sp++;var n=t(e.slice(2));return n.unshift(1===r?"peg$currPos++;":"peg$currPos += "+r+";"),n}),A(e(c,null!==l),n,l)}for(var E=function(){switch(o[u]){case op.PUSH_EMPTY_STRING:s.push(i.push("''")),u++;break;case op.PUSH_CURR_POS:s.push(i.push("peg$currPos")),u++;break;case op.PUSH_UNDEFINED:s.push(i.push("undefined")),u++;break;case op.PUSH_NULL:s.push(i.push("null")),u++;break;case op.PUSH_FAILED:s.push(i.push("peg$FAILED")),u++;break;case op.PUSH_EMPTY_ARRAY:s.push(i.push("[]")),u++;break;case op.POP:i.pop(),u++;break;case op.POP_CURR_POS:s.push("peg$currPos = "+i.pop()+";"),u++;break;case op.POP_N:i.pop(o[u+1]),u+=2;break;case op.NIP:g=i.pop(),i.pop(),s.push(i.push(g)),u++;break;case op.APPEND:g=i.pop(),s.push(i.top()+".push("+g+");"),u++;break;case op.WRAP:s.push(i.push("["+i.pop(o[u+1]).join(", ")+"]")),u+=2;break;case op.TEXT:s.push(i.push("input.substring("+i.pop()+", peg$currPos)")),u++;break;case op.PLUCK:var a=o[u+3-1],E=3+a;g=o.slice(u+3,u+E),g=1===a?i.index(g[0]):"[ ".concat(g.map((function(e){return i.index(e)})).join(", ")," ]"),i.pop(o[u+1]),s.push(i.push(g)),u+=E;break;case op.IF:A(i.top(),0);break;case op.IF_ERROR:A(i.top()+" === peg$FAILED",0);break;case op.IF_NOT_ERROR:A(i.top()+" !== peg$FAILED",0);break;case op.IF_LT:A(i.top()+".length < "+o[u+1],1);break;case op.IF_GE:A(i.top()+".length >= "+o[u+1],1);break;case op.IF_LT_DYNAMIC:A(i.top()+".length < ("+i.index(o[u+1])+"|0)",1);break;case op.IF_GE_DYNAMIC:A(i.top()+".length >= ("+i.index(o[u+1])+"|0)",1);break;case op.WHILE_NOT_ERROR:S=i.top()+" !== peg$FAILED",y=o[u+2-1],F=i.checkedLoop(u,(function(){return u+=2+y,t(o.slice(u-y,u))})),s.push("while ("+S+") {"),s.push.apply(s,c(F)),s.push("}");break;case op.MATCH_ANY:A("input.length > peg$currPos",0);break;case op.MATCH_STRING:var _=o[u+1],v=n[_];m((function(e,t){return v.length>1?"".concat(e," === ").concat(l(_)):(e=t?"".concat(e,".charCodeAt(0)"):"input.charCodeAt(peg$currPos)","".concat(e," === ").concat(v.charCodeAt(0)))}),1,v.length);break;case op.MATCH_STRING_IC:var C=o[u+1];m((function(e){return"".concat(e,".toLowerCase() === ").concat(l(C))}),1,n[C].length);break;case op.MATCH_CHAR_CLASS:var $=o[u+1];m((function(e){return"".concat(p($),".test(").concat(e,")")}),1,1);break;case op.ACCEPT_N:s.push(i.push(o[u+1]>1?"input.substr(peg$currPos, "+o[u+1]+")":"input.charAt(peg$currPos)")),s.push(o[u+1]>1?"peg$currPos += "+o[u+1]+";":"peg$currPos++;"),u+=2;break;case op.ACCEPT_STRING:s.push(i.push(l(o[u+1]))),s.push(n[o[u+1]].length>1?"peg$currPos += "+n[o[u+1]].length+";":"peg$currPos++;"),u+=2;break;case op.FAIL:s.push(i.push("peg$FAILED")),s.push("if (peg$silentFails === 0) { peg$fail("+f(o[u+1])+"); }"),u+=2;break;case op.LOAD_SAVED_POS:s.push("peg$savedPos = "+i.index(o[u+1])+";"),u+=2;break;case op.UPDATE_SAVED_POS:s.push("peg$savedPos = peg$currPos;"),u++;break;case op.CALL:g=function(e){var t=o[u+4-1];return h(o[u+1])+"("+o.slice(u+4,u+4+t).map((function(e){return i.index(e)})).join(", ")+")"}(),i.pop(o[u+2]),s.push(i.push(g)),u+=4+o[u+3];break;case op.RULE:s.push(i.push(d(e.rules[o[u+1]].name)+"()")),u+=2;break;case op.SILENT_FAILS_ON:s.push("peg$silentFails++;"),u++;break;case op.SILENT_FAILS_OFF:s.push("peg$silentFails--;"),u++;break;case op.SOURCE_MAP_PUSH:i.sourceMapPush(s,r[o[u+1]]),u+=2;break;case op.SOURCE_MAP_POP:i.sourceMapPop(),u++;break;case op.SOURCE_MAP_LABEL_PUSH:i.labels[o[u+1]]={label:n[o[u+2]],location:r[o[u+3]]},u+=4;break;case op.SOURCE_MAP_LABEL_POP:delete i.labels[o[u+1]],u+=2;break;default:throw new Error("Invalid opcode: "+o[u]+".")}var S,y,F};ui?-1:1:0}));for(var t="",n="",r=0;r=a.charCodeAt(0)?(e.splice(r--,1),e[r]=[t,n=i]):(t=a,n=i)}return e}function mergeCharacterClasses$1(e){var t=Object.create(null);e.rules.forEach((function(e){return t[e.name]=e.expression}));var n=Object.create(null),r=[function(e,r){if("class"===e.type&&!e.inverted)return r&&((e=__assign({},e)).parts=__spreadArray$1([],e.parts,!0)),e;if("literal"===e.type&&1===e.value.length)return{type:"class",parts:[e.value],inverted:!1,ignoreCase:e.ignoreCase,location:e.location};if("rule_ref"===e.type){var a=t[e.name];if(a){n[e.name]||(n[e.name]=!0,u(a));var i=o(a,!0);return i&&(i.location=e.location),i}}return null},visitor$7.build({choice:function(e){var t=null,n=!1;e.alternatives.forEach((function(r,a){var i;u(r);var s=o(r);s?t&&t.ignoreCase===s.ignoreCase?((i=t.parts).push.apply(i,s.parts),e.alternatives[a-1]=t,e.alternatives[a]=t,t.location={source:t.location.source,start:t.location.start,end:s.location.end},n=!0):t=s:t=null})),n&&(e.alternatives=e.alternatives.filter((function(e,t,n){return!t||e!==n[t-1]})),e.alternatives.forEach((function(t,n){"class"===t.type&&(t.parts=cleanParts(t.parts),1!==t.parts.length||Array.isArray(t.parts[0])||t.inverted||(e.alternatives[n]={type:"literal",value:t.parts[0],ignoreCase:t.ignoreCase,location:t.location}))})),1===e.alternatives.length&&cloneOver(e,e.alternatives[0]))},text:function(e){if(u(e.expression),"class"===e.expression.type||"literal"===e.expression.type){var t=e.location;cloneOver(e,e.expression),e.location=t}}})],o=r[0],u=r[1];e.rules.forEach((function(e){n[e.name]=!0,u(e.expression)}))}var mergeCharacterClasses_1=mergeCharacterClasses$1,visitor$6=visitor_1;function reportDuplicateLabels$1(e,t,n){function r(e){var t={};return Object.keys(e).forEach((function(n){t[n]=e[n]})),t}function o(e,t){u(e.expression,r(t))}var u=visitor$6.build({rule:function(e){u(e.expression,{})},choice:function(e,t){e.alternatives.forEach((function(e){u(e,r(t))}))},action:o,labeled:function(e,t){var r=e.label;r&&Object.prototype.hasOwnProperty.call(t,r)&&n.error('Label "'.concat(e.label,'" is already defined'),e.labelLocation,[{message:"Original label location",location:t[r]}]),u(e.expression,t),t[e.label]=e.labelLocation},text:o,simple_and:o,simple_not:o,optional:o,zero_or_more:o,one_or_more:o,repeated:function(e,t){e.delimiter&&u(e.delimiter,r(t)),u(e.expression,r(t))},group:o});u(e)}var reportDuplicateLabels_1=reportDuplicateLabels$1,visitor$5=visitor_1;function reportDuplicateRules$1(e,t,n){var r={};visitor$5.build({rule:function(e){Object.prototype.hasOwnProperty.call(r,e.name)?n.error('Rule "'.concat(e.name,'" is already defined'),e.nameLocation,[{message:"Original rule location",location:r[e.name]}]):r[e.name]=e.nameLocation}})(e)}var reportDuplicateRules_1=reportDuplicateRules$1,asts$2=asts_1,visitor$4=visitor_1;function reportInfiniteRecursion$1(e,t,n){var r=[],o=[],u=visitor$4.build({rule:function(e){r.push(e.name),u(e.expression),r.pop()},sequence:function(t){t.elements.every((function(t){return u(t),!asts$2.alwaysConsumesOnSuccess(e,t)}))},repeated:function(t){u(t.expression),t.delimiter&&!asts$2.alwaysConsumesOnSuccess(e,t.expression)&&u(t.delimiter)},rule_ref:function(t){o.push(t);var a=asts$2.findRule(e,t.name);if(-1!==r.indexOf(t.name))return r.push(t.name),void n.error("Possible infinite loop when parsing (left recursion: "+r.join(" -> ")+")",a.nameLocation,o.map((function(e,t,n){return{message:t+1!==n.length?"Step ".concat(t+1,': call of the rule "').concat(e.name,'" without input consumption'):"Step ".concat(t+1,": call itself without input consumption - left recursion"),location:e.location}})));a&&u(a),o.pop()}});u(e)}var reportInfiniteRecursion_1=reportInfiniteRecursion$1,asts$1=asts_1,visitor$3=visitor_1;function reportInfiniteRepetition$1(e,t,n){var r=visitor$3.build({zero_or_more:function(t){asts$1.alwaysConsumesOnSuccess(e,t.expression)||n.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",t.location)},one_or_more:function(t){asts$1.alwaysConsumesOnSuccess(e,t.expression)||n.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",t.location)},repeated:function(t){if(t.delimiter&&r(t.delimiter),!(asts$1.alwaysConsumesOnSuccess(e,t.expression)||t.delimiter&&asts$1.alwaysConsumesOnSuccess(e,t.delimiter)))if(null===t.max.value)n.error("Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",t.location);else{var o=t.min?t.min:t.max;n.warning("constant"===o.type&&"constant"===t.max.type?"An expression may not consume any input and may always match ".concat(t.max.value," times"):"An expression may not consume any input and may always match with a maximum repetition count",t.location)}}});r(e)}var reportInfiniteRepetition_1=reportInfiniteRepetition$1,asts=asts_1,visitor$2=visitor_1;function reportUndefinedRules$1(e,t,n){visitor$2.build({rule_ref:function(t){asts.findRule(e,t.name)||n.error('Rule "'.concat(t.name,'" is not defined'),t.location)}})(e)}var reportUndefinedRules_1=reportUndefinedRules$1,visitor$1=visitor_1;function reportIncorrectPlucking$1(e,t,n){var r=visitor$1.build({action:function(e){r(e.expression,e)},labeled:function(e,t){e.pick&&t&&n.error('"@" cannot be used with an action block',e.labelLocation,[{message:"Action block location",location:t.codeLocation}]),r(e.expression)}});r(e)}var reportIncorrectPlucking_1=reportIncorrectPlucking$1,__spreadArray=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,n){if(n||2===arguments.length)for(var r,o=0,u=t.length;o0:e&&"function"==typeof e.offset}var compiler$1={visitor:visitor,passes:{check:[reportUndefinedRules,reportDuplicateRules,reportDuplicateLabels,reportInfiniteRecursion,reportInfiniteRepetition,reportIncorrectPlucking],transform:[removeProxyRules,mergeCharacterClasses,inferenceMatchResult],generate:[generateBytecode,generateJS]},compile:function(ast,passes,options){if(options=void 0!==options?options:{},options=processOptions(options,{allowedStartRules:[ast.rules[0].name],cache:!1,dependencies:{},exportVar:null,format:"bare",output:"parser",trace:!1}),!Array.isArray(options.allowedStartRules))throw new Error("allowedStartRules must be an array");if(0===options.allowedStartRules.length)throw new Error("Must have at least one start rule");var allRules=ast.rules.map((function(e){return e.name}));if(options.allowedStartRules.some((function(e){return"*"===e})))options.allowedStartRules=allRules;else for(var _i=0,_a=options.allowedStartRules;_i<_a.length;_i++){var rule=_a[_i];if(-1===allRules.indexOf(rule))throw new Error('Unknown start rule "'.concat(rule,'"'))}if(("source-and-map"===options.output||"source-with-inline-map"===options.output)&&!isSourceMapCapable(options.grammarSource))throw new Error("Must provide grammarSource (as a string or GrammarLocation) in order to generate source maps");var session=new Session(options);switch(Object.keys(passes).forEach((function(e){session.stage=e,session.info("Process stage ".concat(e)),passes[e].forEach((function(t){session.info("Process pass ".concat(e,".").concat(t.name)),t(ast,options,session)})),session.checkErrors()})),options.output){case"parser":return eval(ast.code.toString());case"source":return ast.code.toString();case"source-and-map":return ast.code;case"source-with-inline-map":if("undefined"==typeof TextEncoder)throw new Error("TextEncoder is not supported by this platform");var sourceMap=ast.code.toStringWithSourceMap(),encoder=new TextEncoder,b64=base64(encoder.encode(JSON.stringify(sourceMap.map.toJSON())));return sourceMap.code+"//# sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(b64,"\n");case"ast":return ast;default:throw new Error("Invalid output format: "+options.output+".")}}},compiler_1=compiler$1,OPS_TO_PREFIXED_TYPES={$:"text","&":"simple_and","!":"simple_not"},OPS_TO_SUFFIXED_TYPES={"?":"optional","*":"zero_or_more","+":"one_or_more"},OPS_TO_SEMANTIC_PREDICATE_TYPES={"&":"semantic_and","!":"semantic_not"};function peg$subclass(e,t){function n(){this.constructor=e}n.prototype=t.prototype,e.prototype=new n}function peg$SyntaxError(e,t,n,r){var o=Error.call(this,e);return Object.setPrototypeOf&&Object.setPrototypeOf(o,peg$SyntaxError.prototype),o.expected=t,o.found=n,o.location=r,o.name="SyntaxError",o}function peg$padEnd(e,t,n){return n=n||" ",e.length>t?e:(t-=e.length,e+(n+=n.repeat(t)).slice(0,t))}function peg$parse(e,t){var n,r={},o=(t=void 0!==t?t:{}).grammarSource,u={Grammar:fn},a=fn,i="{",s="}",c="=",l="/",p="@",f=":",h="|",d=",",g="..",A="(",m=")",E="\n",_="\r\n",v="/*",C="*/",$="//",S="\\",y="i",F='"',b="'",x="[",P="^",D="]",B="-",R="0",O="b",L="f",T="n",M="r",w="t",I="v",N="x",k="u",H=".",U=";",j=/^[!$&]/,G=/^[*-+?]/,V=/^[!&]/,Y=/^[\t\v-\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]/,z=/^[\n\r\u2028\u2029]/,W=/^[\r\u2028-\u2029]/,J=/^[A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376-\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E-\u066F\u0671-\u06D3\u06D5\u06E5-\u06E6\u06EE-\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4-\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC-\u09DD\u09DF-\u09E1\u09F0-\u09F1\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33\u0A35-\u0A36\u0A38-\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0-\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B35-\u0B39\u0B3D\u0B5C-\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60-\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0-\u0CE1\u0CF1-\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32-\u0E33\u0E40-\u0E46\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065-\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE-\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5-\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,Q=/^[$0-9_\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7-\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962-\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7-\u09C8\u09CB-\u09CD\u09D7\u09E2-\u09E3\u09E6-\u09EF\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2-\u0AE3\u0AE6-\u0AEF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47-\u0B48\u0B4B-\u0B4D\u0B56-\u0B57\u0B62-\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55-\u0C56\u0C62-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5-\u0CD6\u0CE2-\u0CE3\u0CE6-\u0CEF\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62-\u0D63\u0D66-\u0D6F\u0D82-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2-\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EB9\u0EBB-\u0EBC\u0EC8-\u0ECD\u0ED0-\u0ED9\u0F18-\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F3F\u0F71-\u0F84\u0F86-\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19D9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8-\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u200C-\u200D\u203F-\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099-\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E-\uA69F\uA6F0-\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880-\uA881\uA8B4-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F1\uA900-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C-\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7-\uAAB8\uAABE-\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5-\uAAF6\uABE3-\uABEA\uABEC-\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33-\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F]/,q=/^[\n\r"\\\u2028-\u2029]/,X=/^[\n\r'\\\u2028-\u2029]/,K=/^[\n\r\\-\]\u2028-\u2029]/,Z=/^["'\\]/,ee=/^[0-9ux]/,te=/^[0-9]/,ne=/^[0-9a-f]/i,re=/^[{}]/,oe=un("{",!1),ue=un("}",!1),ae=un("=",!1),ie=un("/",!1),se=un("@",!1),ce=un(":",!1),le=an(["!","$","&"],!1,!1),pe=an([["*","+"],"?"],!1,!1),fe=un("|",!1),he=un(",",!1),de=un("..",!1),ge=un("(",!1),Ae=un(")",!1),me=an(["!","&"],!1,!1),Ee={type:"any"},_e=sn("whitespace"),ve=an(["\t",["\v","\f"]," "," "," ",[" "," "]," "," "," ","\ufeff"],!1,!1),Ce=an(["\n","\r","\u2028","\u2029"],!1,!1),$e=sn("end of line"),Se=un("\n",!1),ye=un("\r\n",!1),Fe=an(["\r",["\u2028","\u2029"]],!1,!1),be=sn("comment"),xe=un("/*",!1),Pe=un("*/",!1),De=un("//",!1),Be=sn("identifier"),Re=an([["A","Z"],"_",["a","z"],"ª","µ","º",["À","Ö"],["Ø","ö"],["ø","ˁ"],["ˆ","ˑ"],["ˠ","ˤ"],"ˬ","ˮ",["Ͱ","ʹ"],["Ͷ","ͷ"],["ͺ","ͽ"],"Ϳ","Ά",["Έ","Ί"],"Ό",["Ύ","Ρ"],["Σ","ϵ"],["Ϸ","ҁ"],["Ҋ","ԯ"],["Ա","Ֆ"],"ՙ",["ա","և"],["א","ת"],["װ","ײ"],["ؠ","ي"],["ٮ","ٯ"],["ٱ","ۓ"],"ە",["ۥ","ۦ"],["ۮ","ۯ"],["ۺ","ۼ"],"ۿ","ܐ",["ܒ","ܯ"],["ݍ","ޥ"],"ޱ",["ߊ","ߪ"],["ߴ","ߵ"],"ߺ",["ࠀ","ࠕ"],"ࠚ","ࠤ","ࠨ",["ࡀ","ࡘ"],["ࢠ","ࢴ"],["ऄ","ह"],"ऽ","ॐ",["क़","ॡ"],["ॱ","ঀ"],["অ","ঌ"],["এ","ঐ"],["ও","ন"],["প","র"],"ল",["শ","হ"],"ঽ","ৎ",["ড়","ঢ়"],["য়","ৡ"],["ৰ","ৱ"],["ਅ","ਊ"],["ਏ","ਐ"],["ਓ","ਨ"],["ਪ","ਰ"],["ਲ","ਲ਼"],["ਵ","ਸ਼"],["ਸ","ਹ"],["ਖ਼","ੜ"],"ਫ਼",["ੲ","ੴ"],["અ","ઍ"],["એ","ઑ"],["ઓ","ન"],["પ","ર"],["લ","ળ"],["વ","હ"],"ઽ","ૐ",["ૠ","ૡ"],"ૹ",["ଅ","ଌ"],["ଏ","ଐ"],["ଓ","ନ"],["ପ","ର"],["ଲ","ଳ"],["ଵ","ହ"],"ଽ",["ଡ଼","ଢ଼"],["ୟ","ୡ"],"ୱ","ஃ",["அ","ஊ"],["எ","ஐ"],["ஒ","க"],["ங","ச"],"ஜ",["ஞ","ட"],["ண","த"],["ந","ப"],["ம","ஹ"],"ௐ",["అ","ఌ"],["ఎ","ఐ"],["ఒ","న"],["ప","హ"],"ఽ",["ౘ","ౚ"],["ౠ","ౡ"],["ಅ","ಌ"],["ಎ","ಐ"],["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"],"ಽ","ೞ",["ೠ","ೡ"],["ೱ","ೲ"],["അ","ഌ"],["എ","ഐ"],["ഒ","ഺ"],"ഽ","ൎ",["ൟ","ൡ"],["ൺ","ൿ"],["අ","ඖ"],["ක","න"],["ඳ","ර"],"ල",["ව","ෆ"],["ก","ะ"],["า","ำ"],["เ","ๆ"],["ກ","ຂ"],"ຄ",["ງ","ຈ"],"ຊ","ຍ",["ດ","ທ"],["ນ","ຟ"],["ມ","ຣ"],"ລ","ວ",["ສ","ຫ"],["ອ","ະ"],["າ","ຳ"],"ຽ",["ເ","ໄ"],"ໆ",["ໜ","ໟ"],"ༀ",["ཀ","ཇ"],["ཉ","ཬ"],["ྈ","ྌ"],["က","ဪ"],"ဿ",["ၐ","ၕ"],["ၚ","ၝ"],"ၡ",["ၥ","ၦ"],["ၮ","ၰ"],["ၵ","ႁ"],"ႎ",["Ⴀ","Ⴥ"],"Ⴧ","Ⴭ",["ა","ჺ"],["ჼ","ቈ"],["ቊ","ቍ"],["ቐ","ቖ"],"ቘ",["ቚ","ቝ"],["በ","ኈ"],["ኊ","ኍ"],["ነ","ኰ"],["ኲ","ኵ"],["ኸ","ኾ"],"ዀ",["ዂ","ዅ"],["ወ","ዖ"],["ዘ","ጐ"],["ጒ","ጕ"],["ጘ","ፚ"],["ᎀ","ᎏ"],["Ꭰ","Ᏽ"],["ᏸ","ᏽ"],["ᐁ","ᙬ"],["ᙯ","ᙿ"],["ᚁ","ᚚ"],["ᚠ","ᛪ"],["ᛮ","ᛸ"],["ᜀ","ᜌ"],["ᜎ","ᜑ"],["ᜠ","ᜱ"],["ᝀ","ᝑ"],["ᝠ","ᝬ"],["ᝮ","ᝰ"],["ក","ឳ"],"ៗ","ៜ",["ᠠ","ᡷ"],["ᢀ","ᢨ"],"ᢪ",["ᢰ","ᣵ"],["ᤀ","ᤞ"],["ᥐ","ᥭ"],["ᥰ","ᥴ"],["ᦀ","ᦫ"],["ᦰ","ᧉ"],["ᨀ","ᨖ"],["ᨠ","ᩔ"],"ᪧ",["ᬅ","ᬳ"],["ᭅ","ᭋ"],["ᮃ","ᮠ"],["ᮮ","ᮯ"],["ᮺ","ᯥ"],["ᰀ","ᰣ"],["ᱍ","ᱏ"],["ᱚ","ᱽ"],["ᳩ","ᳬ"],["ᳮ","ᳱ"],["ᳵ","ᳶ"],["ᴀ","ᶿ"],["Ḁ","ἕ"],["Ἐ","Ἕ"],["ἠ","ὅ"],["Ὀ","Ὅ"],["ὐ","ὗ"],"Ὑ","Ὓ","Ὕ",["Ὗ","ώ"],["ᾀ","ᾴ"],["ᾶ","ᾼ"],"ι",["ῂ","ῄ"],["ῆ","ῌ"],["ῐ","ΐ"],["ῖ","Ί"],["ῠ","Ῥ"],["ῲ","ῴ"],["ῶ","ῼ"],"ⁱ","ⁿ",["ₐ","ₜ"],"ℂ","ℇ",["ℊ","ℓ"],"ℕ",["ℙ","ℝ"],"ℤ","Ω","ℨ",["K","ℭ"],["ℯ","ℹ"],["ℼ","ℿ"],["ⅅ","ⅉ"],"ⅎ",["Ⅰ","ↈ"],["Ⰰ","Ⱞ"],["ⰰ","ⱞ"],["Ⱡ","ⳤ"],["Ⳬ","ⳮ"],["Ⳳ","ⳳ"],["ⴀ","ⴥ"],"ⴧ","ⴭ",["ⴰ","ⵧ"],"ⵯ",["ⶀ","ⶖ"],["ⶠ","ⶦ"],["ⶨ","ⶮ"],["ⶰ","ⶶ"],["ⶸ","ⶾ"],["ⷀ","ⷆ"],["ⷈ","ⷎ"],["ⷐ","ⷖ"],["ⷘ","ⷞ"],"ⸯ",["々","〇"],["〡","〩"],["〱","〵"],["〸","〼"],["ぁ","ゖ"],["ゝ","ゟ"],["ァ","ヺ"],["ー","ヿ"],["ㄅ","ㄭ"],["ㄱ","ㆎ"],["ㆠ","ㆺ"],["ㇰ","ㇿ"],["㐀","䶵"],["一","鿕"],["ꀀ","ꒌ"],["ꓐ","ꓽ"],["ꔀ","ꘌ"],["ꘐ","ꘟ"],["ꘪ","ꘫ"],["Ꙁ","ꙮ"],["ꙿ","ꚝ"],["ꚠ","ꛯ"],["ꜗ","ꜟ"],["Ꜣ","ꞈ"],["Ꞌ","Ɬ"],["Ʞ","ꞷ"],["ꟷ","ꠁ"],["ꠃ","ꠅ"],["ꠇ","ꠊ"],["ꠌ","ꠢ"],["ꡀ","ꡳ"],["ꢂ","ꢳ"],["ꣲ","ꣷ"],"ꣻ","ꣽ",["ꤊ","ꤥ"],["ꤰ","ꥆ"],["ꥠ","ꥼ"],["ꦄ","ꦲ"],"ꧏ",["ꧠ","ꧤ"],["ꧦ","ꧯ"],["ꧺ","ꧾ"],["ꨀ","ꨨ"],["ꩀ","ꩂ"],["ꩄ","ꩋ"],["ꩠ","ꩶ"],"ꩺ",["ꩾ","ꪯ"],"ꪱ",["ꪵ","ꪶ"],["ꪹ","ꪽ"],"ꫀ","ꫂ",["ꫛ","ꫝ"],["ꫠ","ꫪ"],["ꫲ","ꫴ"],["ꬁ","ꬆ"],["ꬉ","ꬎ"],["ꬑ","ꬖ"],["ꬠ","ꬦ"],["ꬨ","ꬮ"],["ꬰ","ꭚ"],["ꭜ","ꭥ"],["ꭰ","ꯢ"],["가","힣"],["ힰ","ퟆ"],["ퟋ","ퟻ"],["豈","舘"],["並","龎"],["ff","st"],["ﬓ","ﬗ"],"יִ",["ײַ","ﬨ"],["שׁ","זּ"],["טּ","לּ"],"מּ",["נּ","סּ"],["ףּ","פּ"],["צּ","ﮱ"],["ﯓ","ﴽ"],["ﵐ","ﶏ"],["ﶒ","ﷇ"],["ﷰ","ﷻ"],["ﹰ","ﹴ"],["ﹶ","ﻼ"],["A","Z"],["a","z"],["ヲ","ᄒ"],["ᅡ","ᅦ"],["ᅧ","ᅬ"],["ᅭ","ᅲ"],["ᅳ","ᅵ"]],!1,!1),Oe=un("\\",!1),Le=an(["$",["0","9"],"_",["̀","ͯ"],["҃","҇"],["֑","ֽ"],"ֿ",["ׁ","ׂ"],["ׄ","ׅ"],"ׇ",["ؐ","ؚ"],["ً","٩"],"ٰ",["ۖ","ۜ"],["۟","ۤ"],["ۧ","ۨ"],["۪","ۭ"],["۰","۹"],"ܑ",["ܰ","݊"],["ަ","ް"],["߀","߉"],["߫","߳"],["ࠖ","࠙"],["ࠛ","ࠣ"],["ࠥ","ࠧ"],["ࠩ","࠭"],["࡙","࡛"],["ࣣ","ः"],["ऺ","़"],["ा","ॏ"],["॑","ॗ"],["ॢ","ॣ"],["०","९"],["ঁ","ঃ"],"়",["া","ৄ"],["ে","ৈ"],["ো","্"],"ৗ",["ৢ","ৣ"],["০","৯"],["ਁ","ਃ"],"਼",["ਾ","ੂ"],["ੇ","ੈ"],["ੋ","੍"],"ੑ",["੦","ੱ"],"ੵ",["ઁ","ઃ"],"઼",["ા","ૅ"],["ે","ૉ"],["ો","્"],["ૢ","ૣ"],["૦","૯"],["ଁ","ଃ"],"଼",["ା","ୄ"],["େ","ୈ"],["ୋ","୍"],["ୖ","ୗ"],["ୢ","ୣ"],["୦","୯"],"ஂ",["ா","ூ"],["ெ","ை"],["ொ","்"],"ௗ",["௦","௯"],["ఀ","ః"],["ా","ౄ"],["ె","ై"],["ొ","్"],["ౕ","ౖ"],["ౢ","ౣ"],["౦","౯"],["ಁ","ಃ"],"಼",["ಾ","ೄ"],["ೆ","ೈ"],["ೊ","್"],["ೕ","ೖ"],["ೢ","ೣ"],["೦","೯"],["ഁ","ഃ"],["ാ","ൄ"],["െ","ൈ"],["ൊ","്"],"ൗ",["ൢ","ൣ"],["൦","൯"],["ං","ඃ"],"්",["ා","ු"],"ූ",["ෘ","ෟ"],["෦","෯"],["ෲ","ෳ"],"ั",["ิ","ฺ"],["็","๎"],["๐","๙"],"ັ",["ິ","ູ"],["ົ","ຼ"],["່","ໍ"],["໐","໙"],["༘","༙"],["༠","༩"],"༵","༷","༹",["༾","༿"],["ཱ","྄"],["྆","྇"],["ྍ","ྗ"],["ྙ","ྼ"],"࿆",["ါ","ှ"],["၀","၉"],["ၖ","ၙ"],["ၞ","ၠ"],["ၢ","ၤ"],["ၧ","ၭ"],["ၱ","ၴ"],["ႂ","ႍ"],["ႏ","ႝ"],["፝","፟"],["ᜒ","᜔"],["ᜲ","᜴"],["ᝒ","ᝓ"],["ᝲ","ᝳ"],["឴","៓"],"៝",["០","៩"],["᠋","᠍"],["᠐","᠙"],"ᢩ",["ᤠ","ᤫ"],["ᤰ","᤻"],["᥆","᥏"],["᧐","᧙"],["ᨗ","ᨛ"],["ᩕ","ᩞ"],["᩠","᩼"],["᩿","᪉"],["᪐","᪙"],["᪰","᪽"],["ᬀ","ᬄ"],["᬴","᭄"],["᭐","᭙"],["᭫","᭳"],["ᮀ","ᮂ"],["ᮡ","ᮭ"],["᮰","᮹"],["᯦","᯳"],["ᰤ","᰷"],["᱀","᱉"],["᱐","᱙"],["᳐","᳒"],["᳔","᳨"],"᳭",["ᳲ","᳴"],["᳸","᳹"],["᷀","᷵"],["᷼","᷿"],["‌","‍"],["‿","⁀"],"⁔",["⃐","⃜"],"⃡",["⃥","⃰"],["⳯","⳱"],"⵿",["ⷠ","ⷿ"],["〪","〯"],["゙","゚"],["꘠","꘩"],"꙯",["ꙴ","꙽"],["ꚞ","ꚟ"],["꛰","꛱"],"ꠂ","꠆","ꠋ",["ꠣ","ꠧ"],["ꢀ","ꢁ"],["ꢴ","꣄"],["꣐","꣙"],["꣠","꣱"],["꤀","꤉"],["ꤦ","꤭"],["ꥇ","꥓"],["ꦀ","ꦃ"],["꦳","꧀"],["꧐","꧙"],"ꧥ",["꧰","꧹"],["ꨩ","ꨶ"],"ꩃ",["ꩌ","ꩍ"],["꩐","꩙"],["ꩻ","ꩽ"],"ꪰ",["ꪲ","ꪴ"],["ꪷ","ꪸ"],["ꪾ","꪿"],"꫁",["ꫫ","ꫯ"],["ꫵ","꫶"],["ꯣ","ꯪ"],["꯬","꯭"],["꯰","꯹"],"ﬞ",["︀","️"],["︠","︯"],["︳","︴"],["﹍","﹏"],["0","9"],"_"],!1,!1),Te=sn("literal"),Me=un("i",!1),we=sn("string"),Ie=un('"',!1),Ne=un("'",!1),ke=an(["\n","\r",'"',"\\",["\u2028","\u2029"]],!1,!1),He=an(["\n","\r","'","\\",["\u2028","\u2029"]],!1,!1),Ue=sn("character class"),je=un("[",!1),Ge=un("^",!1),Ve=un("]",!1),Ye=un("-",!1),ze=an(["\n","\r",["\\","]"],["\u2028","\u2029"]],!1,!1),We=un("0",!1),Je=an(['"',"'","\\"],!1,!1),Qe=un("b",!1),qe=un("f",!1),Xe=un("n",!1),Ke=un("r",!1),Ze=un("t",!1),et=un("v",!1),tt=an([["0","9"],"u","x"],!1,!1),nt=un("x",!1),rt=un("u",!1),ot=an([["0","9"]],!1,!1),ut=an([["0","9"],["a","f"]],!1,!0),at=un(".",!1),it=sn("code block"),st=an(["{","}"],!1,!1),ct=un(";",!1),lt=function(e,t,n){return{type:"grammar",topLevelInitializer:e,initializer:t,rules:n,location:rn()}},pt=function(e){return{type:"top_level_initializer",code:e[0],codeLocation:e[1],location:rn()}},ft=function(e){return{type:"initializer",code:e[0],codeLocation:e[1],location:rn()}},ht=function(e,t,n){return{type:"rule",name:e[0],nameLocation:e[1],expression:null!==t?{type:"named",name:t,expression:n,location:rn()}:n,location:rn()}},dt=function(e,t){return t.length>0?{type:"choice",alternatives:[e].concat(t),location:rn()}:e},gt=function(e,t){return null!==t?{type:"action",expression:e,code:t[0],codeLocation:t[1],location:rn()}:e},At=function(e,t){return t.length>0||"labeled"===e.type&&e.pick?{type:"sequence",elements:[e].concat(t),location:rn()}:e},mt=function(e,t,n){return n.type.startsWith("semantic_")&&on('"@" cannot be used on a semantic predicate',e),{type:"labeled",label:null!==t?t[0]:null,labelLocation:null!==t?t[1]:e,pick:!0,expression:n,location:rn()}},Et=function(e,t){return{type:"labeled",label:e[0],labelLocation:e[1],expression:t,location:rn()}},_t=function(){return rn()},vt=function(e){return Wn.indexOf(e[0])>=0&&on("Label can't be a reserved word \"".concat(e[0],'"'),e[1]),e},Ct=function(e,t){return{type:OPS_TO_PREFIXED_TYPES[e],expression:t,location:rn()}},$t=function(e,t){return{type:OPS_TO_SUFFIXED_TYPES[t],expression:e,location:rn()}},St=function(e,t,n){var r=t[0],o=t[1];return"constant"===o.type&&0===o.value&&on("The maximum count of repetitions of the rule must be > 0",o.location),{type:"repeated",min:r,max:o,expression:e,delimiter:n,location:rn()}},yt=function(e,t){return[null!==e?e:{type:"constant",value:0},null!==t?t:{type:"constant",value:null}]},Ft=function(e){return[null,e]},bt=function(e){return{type:"constant",value:e,location:rn()}},xt=function(e){return{type:"variable",value:e[0],location:rn()}},Pt=function(e){return{type:"function",value:e[0],codeLocation:e[1],location:rn()}},Dt=function(e){return"labeled"===e.type||"sequence"===e.type?{type:"group",expression:e,location:rn()}:e},Bt=function(e){return{type:"rule_ref",name:e[0],location:rn()}},Rt=function(e,t){return{type:OPS_TO_SEMANTIC_PREDICATE_TYPES[e],code:t[0],codeLocation:t[1],location:rn()}},Ot=function(e,t){return[e+t.join(""),rn()]},Lt=function(e,t){return{type:"literal",value:e,ignoreCase:null!==t,location:rn()}},Tt=function(e){return e.join("")},Mt=function(e){return e.join("")},wt=function(e,t,n){return{type:"class",parts:t.filter((function(e){return""!==e})),inverted:null!==e,ignoreCase:null!==n,location:rn()}},It=function(t,n){return t.charCodeAt(0)>n.charCodeAt(0)&&on("Invalid character range: "+e.substring(Kt,Xt)+"."),[t,n]},Nt=function(){return""},kt=function(){return"\0"},Ht=function(){return"\b"},Ut=function(){return"\f"},jt=function(){return"\n"},Gt=function(){return"\r"},Vt=function(){return"\t"},Yt=function(){return"\v"},zt=function(e){return String.fromCharCode(parseInt(e,16))},Wt=function(e){return String.fromCharCode(parseInt(e,16))},Jt=function(){return{type:"any",location:rn()}},Qt=function(e){return[e,rn()]},qt=function(e){return parseInt(e,10)},Xt=0,Kt=0,Zt=[{line:1,column:1}],en=0,tn=[],nn=0;if("startRule"in t){if(!(t.startRule in u))throw new Error("Can't start parsing from rule \""+t.startRule+'".');a=u[t.startRule]}function rn(){return ln(Kt,Xt)}function on(e,t){throw function(e,t){return new peg$SyntaxError(e,null,null,t)}(e,t=void 0!==t?t:ln(Kt,Xt))}function un(e,t){return{type:"literal",text:e,ignoreCase:t}}function an(e,t,n){return{type:"class",parts:e,inverted:t,ignoreCase:n}}function sn(e){return{type:"other",description:e}}function cn(t){var n,r=Zt[t];if(r)return r;if(t>=Zt.length)n=Zt.length-1;else for(n=t;!Zt[--n];);for(r={line:(r=Zt[n]).line,column:r.column};nen&&(en=Xt,tn=[]),tn.push(e))}function fn(){var t,n,o,u,a,c;if(t=Xt,Yn(),n=Xt,o=function(){var t,n,o,u;return t=Xt,123===e.charCodeAt(Xt)?(n=i,Xt++):(n=r,0===nn&&pn(oe)),n!==r&&(o=Gn())!==r?(125===e.charCodeAt(Xt)?(u=s,Xt++):(u=r,0===nn&&pn(ue)),u!==r&&zn()!==r?(Kt=t,t=pt(o)):(Xt=t,t=r)):(Xt=t,t=r),t}(),o!==r?(u=Yn(),n=o):(Xt=n,n=r),n===r&&(n=null),o=Xt,u=function(){var e,t;return e=Xt,(t=Gn())!==r&&zn()!==r?(Kt=e,e=ft(t)):(Xt=e,e=r),e}(),u!==r?(a=Yn(),o=u):(Xt=o,o=r),o===r&&(o=null),u=[],a=Xt,(c=hn())!==r?(Yn(),a=c):(Xt=a,a=r),a!==r)for(;a!==r;)u.push(a),a=Xt,(c=hn())!==r?(Yn(),a=c):(Xt=a,a=r);else u=r;return u!==r?(Kt=t,t=lt(n,o,u)):(Xt=t,t=r),t}function hn(){var t,n,o,u,a;return t=Xt,(n=Dn())!==r?(Yn(),o=Xt,(u=On())!==r?(Yn(),o=u):(Xt=o,o=r),o===r&&(o=null),61===e.charCodeAt(Xt)?(u=c,Xt++):(u=r,0===nn&&pn(ae)),u!==r?(Yn(),(a=dn())!==r&&zn()!==r?(Kt=t,t=ht(n,o,a)):(Xt=t,t=r)):(Xt=t,t=r)):(Xt=t,t=r),t}function dn(){var t,n,o,u,a,i;if(t=Xt,(n=gn())!==r){for(o=[],u=Xt,Yn(),47===e.charCodeAt(Xt)?(a=l,Xt++):(a=r,0===nn&&pn(ie)),a!==r?(Yn(),(i=gn())!==r?u=i:(Xt=u,u=r)):(Xt=u,u=r);u!==r;)o.push(u),u=Xt,Yn(),47===e.charCodeAt(Xt)?(a=l,Xt++):(a=r,0===nn&&pn(ie)),a!==r?(Yn(),(i=gn())!==r?u=i:(Xt=u,u=r)):(Xt=u,u=r);Kt=t,t=dt(n,o)}else Xt=t,t=r;return t}function gn(){var e,t,n,o;return e=Xt,t=function(){var e,t,n,o,u;if(e=Xt,(t=An())!==r){for(n=[],o=Xt,Yn(),(u=An())!==r?o=u:(Xt=o,o=r);o!==r;)n.push(o),o=Xt,Yn(),(u=An())!==r?o=u:(Xt=o,o=r);Kt=e,e=At(t,n)}else Xt=e,e=r;return e}(),t!==r?(n=Xt,Yn(),(o=Gn())!==r?n=o:(Xt=n,n=r),n===r&&(n=null),Kt=e,e=gt(t,n)):(Xt=e,e=r),e}function An(){var t,n,o,u;return t=Xt,n=function(){var t,n;return t=Xt,64===e.charCodeAt(Xt)?(n=p,Xt++):(n=r,0===nn&&pn(se)),n!==r&&(Kt=t,n=_t()),t=n}(),n!==r?((o=mn())===r&&(o=null),(u=En())!==r?(Kt=t,t=mt(n,o,u)):(Xt=t,t=r)):(Xt=t,t=r),t===r&&(t=Xt,(n=mn())!==r?(o=Yn(),(u=En())!==r?(Kt=t,t=Et(n,u)):(Xt=t,t=r)):(Xt=t,t=r),t===r&&(t=En())),t}function mn(){var t,n,o;return t=Xt,(n=Dn())!==r?(Yn(),58===e.charCodeAt(Xt)?(o=f,Xt++):(o=r,0===nn&&pn(ce)),o!==r?(Kt=t,t=vt(n)):(Xt=t,t=r)):(Xt=t,t=r),t}function En(){var t,n,o;return t=Xt,n=function(){var t;return t=e.charAt(Xt),j.test(t)?Xt++:(t=r,0===nn&&pn(le)),t}(),n!==r?(Yn(),(o=_n())!==r?(Kt=t,t=Ct(n,o)):(Xt=t,t=r)):(Xt=t,t=r),t===r&&(t=_n()),t}function _n(){var t,n,o;return t=Xt,(n=Cn())!==r?(Yn(),o=function(){var t;return t=e.charAt(Xt),G.test(t)?Xt++:(t=r,0===nn&&pn(pe)),t}(),o!==r?(Kt=t,t=$t(n,o)):(Xt=t,t=r)):(Xt=t,t=r),t===r&&(t=function(){var t,n,o,u,a,i,s;return t=Xt,(n=Cn())!==r?(Yn(),124===e.charCodeAt(Xt)?(o=h,Xt++):(o=r,0===nn&&pn(fe)),o!==r?(Yn(),u=function(){var t,n,o,u;return t=Xt,(n=vn())===r&&(n=null),Yn(),e.substr(Xt,2)===g?(o=g,Xt+=2):(o=r,0===nn&&pn(de)),o!==r?(Yn(),(u=vn())===r&&(u=null),Kt=t,t=yt(n,u)):(Xt=t,t=r),t===r&&(t=Xt,(n=vn())!==r&&(Kt=t,n=Ft(n)),t=n),t}(),u!==r?(Yn(),a=Xt,44===e.charCodeAt(Xt)?(i=d,Xt++):(i=r,0===nn&&pn(he)),i!==r?(Yn(),(s=dn())!==r?(Yn(),a=s):(Xt=a,a=r)):(Xt=a,a=r),a===r&&(a=null),124===e.charCodeAt(Xt)?(i=h,Xt++):(i=r,0===nn&&pn(fe)),i!==r?(Kt=t,t=St(n,u,a)):(Xt=t,t=r)):(Xt=t,t=r)):(Xt=t,t=r)):(Xt=t,t=r),t}(),t===r&&(t=Cn())),t}function vn(){var t,n;return t=Xt,n=function(){var t,n,o,u;if(t=Xt,n=Xt,o=[],(u=Un())!==r)for(;u!==r;)o.push(u),u=Un();else o=r;return(n=o!==r?e.substring(n,Xt):o)!==r&&(Kt=t,n=qt(n)),t=n}(),n!==r&&(Kt=t,n=bt(n)),(t=n)===r&&(t=Xt,(n=Dn())!==r&&(Kt=t,n=xt(n)),(t=n)===r&&(t=Xt,(n=Gn())!==r&&(Kt=t,n=Pt(n)),t=n)),t}function Cn(){var t,n,o,u;return t=function(){var t,n,o;return nn++,t=Xt,(n=On())!==r?(105===e.charCodeAt(Xt)?(o=y,Xt++):(o=r,0===nn&&pn(Me)),o===r&&(o=null),Kt=t,t=Lt(n,o)):(Xt=t,t=r),nn--,t===r&&(n=r,0===nn&&pn(Te)),t}(),t===r&&(t=function(){var t,n,o,u,a,i;if(nn++,t=Xt,91===e.charCodeAt(Xt)?(n=x,Xt++):(n=r,0===nn&&pn(je)),n!==r){for(94===e.charCodeAt(Xt)?(o=P,Xt++):(o=r,0===nn&&pn(Ge)),o===r&&(o=null),u=[],(a=Mn())===r&&(a=wn());a!==r;)u.push(a),(a=Mn())===r&&(a=wn());93===e.charCodeAt(Xt)?(a=D,Xt++):(a=r,0===nn&&pn(Ve)),a!==r?(105===e.charCodeAt(Xt)?(i=y,Xt++):(i=r,0===nn&&pn(Me)),i===r&&(i=null),Kt=t,t=wt(o,u,i)):(Xt=t,t=r)}else Xt=t,t=r;return nn--,t===r&&(n=r,0===nn&&pn(Ue)),t}(),t===r&&(t=function(){var t,n;return t=Xt,46===e.charCodeAt(Xt)?(n=H,Xt++):(n=r,0===nn&&pn(at)),n!==r&&(Kt=t,n=Jt()),t=n}(),t===r&&(t=function(){var t,n,o,u,a,i,s;return t=Xt,(n=Dn())!==r?(o=Xt,nn++,u=Xt,a=Yn(),i=Xt,(s=On())!==r?i=s=[s,Yn()]:(Xt=i,i=r),i===r&&(i=null),61===e.charCodeAt(Xt)?(s=c,Xt++):(s=r,0===nn&&pn(ae)),s!==r?u=a=[a,i,s]:(Xt=u,u=r),nn--,u===r?o=void 0:(Xt=o,o=r),o!==r?(Kt=t,t=Bt(n)):(Xt=t,t=r)):(Xt=t,t=r),t}(),t===r&&(t=function(){var t,n,o;return t=Xt,n=function(){var t;return t=e.charAt(Xt),V.test(t)?Xt++:(t=r,0===nn&&pn(me)),t}(),n!==r?(Yn(),(o=Gn())!==r?(Kt=t,t=Rt(n,o)):(Xt=t,t=r)):(Xt=t,t=r),t}(),t===r&&(t=Xt,40===e.charCodeAt(Xt)?(n=A,Xt++):(n=r,0===nn&&pn(ge)),n!==r?(Yn(),(o=dn())!==r?(Yn(),41===e.charCodeAt(Xt)?(u=m,Xt++):(u=r,0===nn&&pn(Ae)),u!==r?(Kt=t,t=Dt(o)):(Xt=t,t=r)):(Xt=t,t=r)):(Xt=t,t=r)))))),t}function $n(){var t;return e.length>Xt?(t=e.charAt(Xt),Xt++):(t=r,0===nn&&pn(Ee)),t}function Sn(){var t;return nn++,t=e.charAt(Xt),Y.test(t)?Xt++:(t=r,0===nn&&pn(ve)),nn--,t===r&&0===nn&&pn(_e),t}function yn(){var t;return t=e.charAt(Xt),z.test(t)?Xt++:(t=r,0===nn&&pn(Ce)),t}function Fn(){var t;return nn++,10===e.charCodeAt(Xt)?(t=E,Xt++):(t=r,0===nn&&pn(Se)),t===r&&(e.substr(Xt,2)===_?(t=_,Xt+=2):(t=r,0===nn&&pn(ye)),t===r&&(t=e.charAt(Xt),W.test(t)?Xt++:(t=r,0===nn&&pn(Fe)))),nn--,t===r&&0===nn&&pn($e),t}function bn(){var t;return nn++,(t=function(){var t,n,o,u,a,i;if(t=Xt,e.substr(Xt,2)===v?(n=v,Xt+=2):(n=r,0===nn&&pn(xe)),n!==r){for(o=[],u=Xt,a=Xt,nn++,e.substr(Xt,2)===C?(i=C,Xt+=2):(i=r,0===nn&&pn(Pe)),nn--,i===r?a=void 0:(Xt=a,a=r),a!==r&&(i=$n())!==r?u=a=[a,i]:(Xt=u,u=r);u!==r;)o.push(u),u=Xt,a=Xt,nn++,e.substr(Xt,2)===C?(i=C,Xt+=2):(i=r,0===nn&&pn(Pe)),nn--,i===r?a=void 0:(Xt=a,a=r),a!==r&&(i=$n())!==r?u=a=[a,i]:(Xt=u,u=r);e.substr(Xt,2)===C?(u=C,Xt+=2):(u=r,0===nn&&pn(Pe)),u!==r?t=n=[n,o,u]:(Xt=t,t=r)}else Xt=t,t=r;return t}())===r&&(t=Pn()),nn--,t===r&&0===nn&&pn(be),t}function xn(){var t,n,o,u,a,i;if(t=Xt,e.substr(Xt,2)===v?(n=v,Xt+=2):(n=r,0===nn&&pn(xe)),n!==r){for(o=[],u=Xt,a=Xt,nn++,e.substr(Xt,2)===C?(i=C,Xt+=2):(i=r,0===nn&&pn(Pe)),i===r&&(i=yn()),nn--,i===r?a=void 0:(Xt=a,a=r),a!==r&&(i=$n())!==r?u=a=[a,i]:(Xt=u,u=r);u!==r;)o.push(u),u=Xt,a=Xt,nn++,e.substr(Xt,2)===C?(i=C,Xt+=2):(i=r,0===nn&&pn(Pe)),i===r&&(i=yn()),nn--,i===r?a=void 0:(Xt=a,a=r),a!==r&&(i=$n())!==r?u=a=[a,i]:(Xt=u,u=r);e.substr(Xt,2)===C?(u=C,Xt+=2):(u=r,0===nn&&pn(Pe)),u!==r?t=n=[n,o,u]:(Xt=t,t=r)}else Xt=t,t=r;return t}function Pn(){var t,n,o,u,a,i;if(t=Xt,e.substr(Xt,2)===$?(n=$,Xt+=2):(n=r,0===nn&&pn(De)),n!==r){for(o=[],u=Xt,a=Xt,nn++,i=yn(),nn--,i===r?a=void 0:(Xt=a,a=r),a!==r&&(i=$n())!==r?u=a=[a,i]:(Xt=u,u=r);u!==r;)o.push(u),u=Xt,a=Xt,nn++,i=yn(),nn--,i===r?a=void 0:(Xt=a,a=r),a!==r&&(i=$n())!==r?u=a=[a,i]:(Xt=u,u=r);t=n=[n,o]}else Xt=t,t=r;return t}function Dn(){var e,t,n,o;if(nn++,e=Xt,(t=Bn())!==r){for(n=[],o=Rn();o!==r;)n.push(o),o=Rn();Kt=e,e=Ot(t,n)}else Xt=e,e=r;return nn--,e===r&&(t=r,0===nn&&pn(Be)),e}function Bn(){var t,n,o;return t=e.charAt(Xt),J.test(t)?Xt++:(t=r,0===nn&&pn(Re)),t===r&&(t=Xt,92===e.charCodeAt(Xt)?(n=S,Xt++):(n=r,0===nn&&pn(Oe)),n!==r&&(o=Hn())!==r?t=o:(Xt=t,t=r)),t}function Rn(){var t;return(t=Bn())===r&&(t=e.charAt(Xt),Q.test(t)?Xt++:(t=r,0===nn&&pn(Le))),t}function On(){var t,n,o,u;if(nn++,t=Xt,34===e.charCodeAt(Xt)?(n=F,Xt++):(n=r,0===nn&&pn(Ie)),n!==r){for(o=[],u=Ln();u!==r;)o.push(u),u=Ln();34===e.charCodeAt(Xt)?(u=F,Xt++):(u=r,0===nn&&pn(Ie)),u!==r?(Kt=t,t=Tt(o)):(Xt=t,t=r)}else Xt=t,t=r;if(t===r)if(t=Xt,39===e.charCodeAt(Xt)?(n=b,Xt++):(n=r,0===nn&&pn(Ne)),n!==r){for(o=[],u=Tn();u!==r;)o.push(u),u=Tn();39===e.charCodeAt(Xt)?(u=b,Xt++):(u=r,0===nn&&pn(Ne)),u!==r?(Kt=t,t=Mt(o)):(Xt=t,t=r)}else Xt=t,t=r;return nn--,t===r&&(n=r,0===nn&&pn(we)),t}function Ln(){var t,n,o,u;return t=Xt,n=Xt,o=Xt,nn++,u=e.charAt(Xt),q.test(u)?Xt++:(u=r,0===nn&&pn(ke)),nn--,u===r?o=void 0:(Xt=o,o=r),o!==r&&(u=$n())!==r?n=o=[o,u]:(Xt=n,n=r),(t=n!==r?e.substring(t,Xt):n)===r&&(t=Xt,92===e.charCodeAt(Xt)?(n=S,Xt++):(n=r,0===nn&&pn(Oe)),n!==r&&(o=Nn())!==r?t=o:(Xt=t,t=r),t===r&&(t=In())),t}function Tn(){var t,n,o,u;return t=Xt,n=Xt,o=Xt,nn++,u=e.charAt(Xt),X.test(u)?Xt++:(u=r,0===nn&&pn(He)),nn--,u===r?o=void 0:(Xt=o,o=r),o!==r&&(u=$n())!==r?n=o=[o,u]:(Xt=n,n=r),(t=n!==r?e.substring(t,Xt):n)===r&&(t=Xt,92===e.charCodeAt(Xt)?(n=S,Xt++):(n=r,0===nn&&pn(Oe)),n!==r&&(o=Nn())!==r?t=o:(Xt=t,t=r),t===r&&(t=In())),t}function Mn(){var t,n,o,u;return t=Xt,(n=wn())!==r?(45===e.charCodeAt(Xt)?(o=B,Xt++):(o=r,0===nn&&pn(Ye)),o!==r&&(u=wn())!==r?(Kt=t,t=It(n,u)):(Xt=t,t=r)):(Xt=t,t=r),t}function wn(){var t,n,o,u;return t=Xt,n=Xt,o=Xt,nn++,u=e.charAt(Xt),K.test(u)?Xt++:(u=r,0===nn&&pn(ze)),nn--,u===r?o=void 0:(Xt=o,o=r),o!==r&&(u=$n())!==r?n=o=[o,u]:(Xt=n,n=r),(t=n!==r?e.substring(t,Xt):n)===r&&(t=Xt,92===e.charCodeAt(Xt)?(n=S,Xt++):(n=r,0===nn&&pn(Oe)),n!==r&&(o=Nn())!==r?t=o:(Xt=t,t=r),t===r&&(t=In())),t}function In(){var t,n;return t=Xt,92===e.charCodeAt(Xt)?(n=S,Xt++):(n=r,0===nn&&pn(Oe)),n!==r&&Fn()!==r?(Kt=t,t=Nt()):(Xt=t,t=r),t}function Nn(){var t,n,o,u;return t=function(){var t;return(t=kn())===r&&(t=function(){var t,n,o,u;return t=Xt,n=Xt,o=Xt,nn++,u=function(){var t;return(t=kn())===r&&(t=e.charAt(Xt),ee.test(t)?Xt++:(t=r,0===nn&&pn(tt))),t}(),u===r&&(u=yn()),nn--,u===r?o=void 0:(Xt=o,o=r),o!==r&&(u=$n())!==r?n=o=[o,u]:(Xt=n,n=r),t=n!==r?e.substring(t,Xt):n}()),t}(),t===r&&(t=Xt,48===e.charCodeAt(Xt)?(n=R,Xt++):(n=r,0===nn&&pn(We)),n!==r?(o=Xt,nn++,u=Un(),nn--,u===r?o=void 0:(Xt=o,o=r),o!==r?(Kt=t,t=kt()):(Xt=t,t=r)):(Xt=t,t=r),t===r&&(t=function(){var t,n,o,u,a,i;return t=Xt,120===e.charCodeAt(Xt)?(n=N,Xt++):(n=r,0===nn&&pn(nt)),n!==r?(o=Xt,u=Xt,(a=jn())!==r&&(i=jn())!==r?u=a=[a,i]:(Xt=u,u=r),(o=u!==r?e.substring(o,Xt):u)!==r?(Kt=t,t=zt(o)):(Xt=t,t=r)):(Xt=t,t=r),t}(),t===r&&(t=Hn()))),t}function kn(){var t,n;return t=e.charAt(Xt),Z.test(t)?Xt++:(t=r,0===nn&&pn(Je)),t===r&&(t=Xt,98===e.charCodeAt(Xt)?(n=O,Xt++):(n=r,0===nn&&pn(Qe)),n!==r&&(Kt=t,n=Ht()),(t=n)===r&&(t=Xt,102===e.charCodeAt(Xt)?(n=L,Xt++):(n=r,0===nn&&pn(qe)),n!==r&&(Kt=t,n=Ut()),(t=n)===r&&(t=Xt,110===e.charCodeAt(Xt)?(n=T,Xt++):(n=r,0===nn&&pn(Xe)),n!==r&&(Kt=t,n=jt()),(t=n)===r&&(t=Xt,114===e.charCodeAt(Xt)?(n=M,Xt++):(n=r,0===nn&&pn(Ke)),n!==r&&(Kt=t,n=Gt()),(t=n)===r&&(t=Xt,116===e.charCodeAt(Xt)?(n=w,Xt++):(n=r,0===nn&&pn(Ze)),n!==r&&(Kt=t,n=Vt()),(t=n)===r&&(t=Xt,118===e.charCodeAt(Xt)?(n=I,Xt++):(n=r,0===nn&&pn(et)),n!==r&&(Kt=t,n=Yt()),t=n)))))),t}function Hn(){var t,n,o,u,a,i,s,c;return t=Xt,117===e.charCodeAt(Xt)?(n=k,Xt++):(n=r,0===nn&&pn(rt)),n!==r?(o=Xt,u=Xt,(a=jn())!==r&&(i=jn())!==r&&(s=jn())!==r&&(c=jn())!==r?u=a=[a,i,s,c]:(Xt=u,u=r),(o=u!==r?e.substring(o,Xt):u)!==r?(Kt=t,t=Wt(o)):(Xt=t,t=r)):(Xt=t,t=r),t}function Un(){var t;return t=e.charAt(Xt),te.test(t)?Xt++:(t=r,0===nn&&pn(ot)),t}function jn(){var t;return t=e.charAt(Xt),ne.test(t)?Xt++:(t=r,0===nn&&pn(ut)),t}function Gn(){var t,n,o,u;return nn++,t=Xt,123===e.charCodeAt(Xt)?(n=i,Xt++):(n=r,0===nn&&pn(oe)),n!==r?(o=function(){var e,t;return e=Xt,t=Vn(),Kt=e,e=t=Qt(t)}(),125===e.charCodeAt(Xt)?(u=s,Xt++):(u=r,0===nn&&pn(ue)),u!==r?t=o:(Xt=t,t=r)):(Xt=t,t=r),nn--,t===r&&(n=r,0===nn&&pn(it)),t}function Vn(){var t,n,o,u,a,c;if(t=Xt,n=[],o=[],u=Xt,a=Xt,nn++,c=e.charAt(Xt),re.test(c)?Xt++:(c=r,0===nn&&pn(st)),nn--,c===r?a=void 0:(Xt=a,a=r),a!==r&&(c=$n())!==r?u=a=[a,c]:(Xt=u,u=r),u!==r)for(;u!==r;)o.push(u),u=Xt,a=Xt,nn++,c=e.charAt(Xt),re.test(c)?Xt++:(c=r,0===nn&&pn(st)),nn--,c===r?a=void 0:(Xt=a,a=r),a!==r&&(c=$n())!==r?u=a=[a,c]:(Xt=u,u=r);else o=r;for(o===r&&(o=Xt,123===e.charCodeAt(Xt)?(u=i,Xt++):(u=r,0===nn&&pn(oe)),u!==r?(a=Vn(),125===e.charCodeAt(Xt)?(c=s,Xt++):(c=r,0===nn&&pn(ue)),c!==r?o=u=[u,a,c]:(Xt=o,o=r)):(Xt=o,o=r));o!==r;){if(n.push(o),o=[],u=Xt,a=Xt,nn++,c=e.charAt(Xt),re.test(c)?Xt++:(c=r,0===nn&&pn(st)),nn--,c===r?a=void 0:(Xt=a,a=r),a!==r&&(c=$n())!==r?u=a=[a,c]:(Xt=u,u=r),u!==r)for(;u!==r;)o.push(u),u=Xt,a=Xt,nn++,c=e.charAt(Xt),re.test(c)?Xt++:(c=r,0===nn&&pn(st)),nn--,c===r?a=void 0:(Xt=a,a=r),a!==r&&(c=$n())!==r?u=a=[a,c]:(Xt=u,u=r);else o=r;o===r&&(o=Xt,123===e.charCodeAt(Xt)?(u=i,Xt++):(u=r,0===nn&&pn(oe)),u!==r?(a=Vn(),125===e.charCodeAt(Xt)?(c=s,Xt++):(c=r,0===nn&&pn(ue)),c!==r?o=u=[u,a,c]:(Xt=o,o=r)):(Xt=o,o=r))}return e.substring(t,Xt)}function Yn(){var e,t;for(e=[],(t=Sn())===r&&(t=Fn())===r&&(t=bn());t!==r;)e.push(t),(t=Sn())===r&&(t=Fn())===r&&(t=bn());return e}function zn(){var t,n,o,u;if(t=[],n=Xt,o=Yn(),59===e.charCodeAt(Xt)?(u=U,Xt++):(u=r,0===nn&&pn(ct)),u!==r?n=o=[o,u]:(Xt=n,n=r),n!==r)for(;n!==r;)t.push(n),n=Xt,o=Yn(),59===e.charCodeAt(Xt)?(u=U,Xt++):(u=r,0===nn&&pn(ct)),u!==r?n=o=[o,u]:(Xt=n,n=r);else t=r;return t===r&&(t=Xt,n=function(){var e,t;for(e=[],(t=Sn())===r&&(t=xn());t!==r;)e.push(t),(t=Sn())===r&&(t=xn());return e}(),(o=Pn())===r&&(o=null),(u=Fn())!==r?t=n=[n,o,u]:(Xt=t,t=r),t===r&&(t=Xt,n=Yn(),o=function(){var t,n;return t=Xt,nn++,e.length>Xt?(n=e.charAt(Xt),Xt++):(n=r,0===nn&&pn(Ee)),nn--,n===r?t=void 0:(Xt=t,t=r),t}(),o!==r?t=n=[n,o]:(Xt=t,t=r))),t}var Wn=t.reservedWords||[];if((n=a())!==r&&Xt===e.length)return n;throw n!==r&&Xt0){for(t=1,n=1;t0&&(this.functions.shift()(),setTimeout((function(){o.run()}),0))}},u={};o.add((function(){r.start(),u.totalInputSize=0,u.totalParseTime=0})),e.forEach((function(e){o.add(function(e){return function(){r.benchmarkStart(e),u.parser=peg.generate(r.readFile("../examples/"+e.id+".pegjs"),n),u.benchmarkInputSize=0,u.benchmarkParseTime=0}}(e)),e.tests.forEach((function(n){o.add(function(e,n){return function(){r.testStart(e,n);for(var o=r.readFile(e.id+"/"+n.file),a=0,i=0;i\n \n ").concat(null!==r?"":"","\n ").concat(n,"\n ").concat(null!==r?"":"","\n \n \n \n ").concat((o/1024).toFixed(2),"\n \n  kB\n \n \n \n ").concat(u.toFixed(2),"\n \n  ms\n \n \n \n ").concat((o/1024/(u/1e3)).toFixed(2),"\n \n  kB/s\n \n \n "))}var n=parseInt($("#run-count").val(),10),r={cache:$("#cache").is(":checked")};isNaN(n)||n<=0?alert("Number of runs must be a positive integer."):Runner.run(benchmarks,n,r,{readFile:function(e){return $.ajax({type:"GET",url:"https://raw.githubusercontent.com/peggyjs/peggy/".concat(BRANCH,"/benchmark/").concat(e),dataType:"text",async:!1}).responseText},testStart:function(){},testFinish:function(e,n,r,o){t("individual",n.title,"https://github.com/peggyjs/peggy/blob/".concat(BRANCH,"/benchmark/").concat(e.id,"/").concat(n.file),r,o)},benchmarkStart:function(t){e.append("\n \n \n ").concat(t.title,' \n \n "\n '))},benchmarkFinish:function(e,n,r){t("benchmark-total",e.title+" total",null,n,r)},start:function(){$("#run-count, #cache, #run").attr("disabled","disabled"),e.show(),$("#results-table tr").slice(1).remove()},finish:function(e,n){t("total","Total",null,e,n),$.scrollTo("max",{axis:"y",duration:500}),$("#run-count, #cache, #run").removeAttr("disabled")}})})),$(document).ready((function(){return $("#run").focus()})),browser_stub})); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).browser=t()}(this,(function(){var commonjsGlobal="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},browser_stub={},GrammarLocation$4=function(){function e(e,t){this.source=e,this.start=t}return e.prototype.toString=function(){return String(this.source)},e.prototype.offset=function(e){return{line:e.line+this.start.line-1,column:1===e.line?e.column+this.start.column-1:e.column,offset:e.offset+this.start.offset}},e.offsetStart=function(e){return e.source&&"function"==typeof e.source.offset?e.source.offset(e.start):e.start},e.offsetEnd=function(e){return e.source&&"function"==typeof e.source.offset?e.source.offset(e.end):e.end},e}(),grammarLocation=GrammarLocation$4,__extends=commonjsGlobal&&commonjsGlobal.__extends||(extendStatics=function(e,t){return extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},extendStatics(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}extendStatics(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),extendStatics,GrammarLocation$3=grammarLocation,setProtoOf=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},GrammarError$3=function(e){function t(n,r,o){var u=e.call(this,n)||this;return setProtoOf(u,t.prototype),u.name="GrammarError",u.location=r,void 0===o&&(o=[]),u.diagnostics=o,u.stage=null,u.problems=[["error",n,r,o]],u}return __extends(t,e),t.prototype.toString=function(){var t=e.prototype.toString.call(this);this.location&&(t+="\n at ",void 0!==this.location.source&&null!==this.location.source&&(t+="".concat(this.location.source,":")),t+="".concat(this.location.start.line,":").concat(this.location.start.column));for(var n=0,r=this.diagnostics;n1&&e.delimiter&&o(e.delimiter)))},semantic_and:r,semantic_not:r,rule_ref:function(t){var n=asts$7.findRule(e,t.name);return n?o(n):void 0},literal:function(e){return""!==e.value},class:n,any:n});return o(t)}},asts_1=asts$7,opcodes={PUSH:0,PUSH_EMPTY_STRING:35,PUSH_UNDEFINED:1,PUSH_NULL:2,PUSH_FAILED:3,PUSH_EMPTY_ARRAY:4,PUSH_CURR_POS:5,POP:6,POP_CURR_POS:7,POP_N:8,NIP:9,APPEND:10,WRAP:11,TEXT:12,PLUCK:36,IF:13,IF_ERROR:14,IF_NOT_ERROR:15,IF_LT:30,IF_GE:31,IF_LT_DYNAMIC:32,IF_GE_DYNAMIC:33,WHILE_NOT_ERROR:16,MATCH_ANY:17,MATCH_STRING:18,MATCH_STRING_IC:19,MATCH_CHAR_CLASS:20,MATCH_REGEXP:20,ACCEPT_N:21,ACCEPT_STRING:22,FAIL:23,LOAD_SAVED_POS:24,UPDATE_SAVED_POS:25,CALL:26,RULE:27,SILENT_FAILS_ON:28,SILENT_FAILS_OFF:29,SOURCE_MAP_PUSH:37,SOURCE_MAP_POP:38,SOURCE_MAP_LABEL_PUSH:39,SOURCE_MAP_LABEL_POP:40},opcodes_1=opcodes,visitor$a=visitor_1,asts$6=asts_1,GrammarError$2=grammarError,ALWAYS_MATCH$1=1,SOMETIMES_MATCH$1=0,NEVER_MATCH$1=-1;function inferenceMatchResult$1(e){function t(e){return e.match=SOMETIMES_MATCH$1}function n(e){return u(e.expression),e.match=ALWAYS_MATCH$1}function r(e){return e.match=u(e.expression)}function o(e,t){for(var n=e.length,r=0,o=0,a=0;a0?NEVER_MATCH$1:SOMETIMES_MATCH$1}var u=visitor$a.build({rule:function(e){var t=void 0,n=0;if(void 0===e.match){e.match=SOMETIMES_MATCH$1;do{if(t=e.match,e.match=u(e.expression),++n>6)throw new GrammarError$2("Infinity cycle detected when trying to evaluate node match result",e.location)}while(t!==e.match)}return e.match},named:r,choice:function(e){return e.match=o(e.alternatives,!0)},action:r,sequence:function(e){return e.match=o(e.elements,!1)},labeled:r,text:r,simple_and:r,simple_not:function(e){return e.match=-u(e.expression)},optional:n,zero_or_more:n,one_or_more:r,repeated:function(e){var t=u(e.expression),n=e.delimiter?u(e.delimiter):NEVER_MATCH$1,r=e.min?e.min:e.max;return"constant"!==r.type||"constant"!==e.max.type?e.match=SOMETIMES_MATCH$1:0===e.max.value||null!==e.max.value&&r.value>e.max.value?e.match=NEVER_MATCH$1:t===NEVER_MATCH$1?e.match=0===r.value?ALWAYS_MATCH$1:NEVER_MATCH$1:t===ALWAYS_MATCH$1?e.delimiter&&r.value>=2?e.match=n:e.match=ALWAYS_MATCH$1:e.delimiter&&r.value>=2?e.match=n===NEVER_MATCH$1?NEVER_MATCH$1:SOMETIMES_MATCH$1:e.match=0===r.value?ALWAYS_MATCH$1:SOMETIMES_MATCH$1},group:r,semantic_and:t,semantic_not:t,rule_ref:function(t){var n=asts$6.findRule(e,t.name);return t.match=u(n)},literal:function(e){var t=0===e.value.length?ALWAYS_MATCH$1:SOMETIMES_MATCH$1;return e.match=t},class:function(e){var t=0===e.parts.length?NEVER_MATCH$1:SOMETIMES_MATCH$1;return e.match=t},any:t});u(e)}inferenceMatchResult$1.ALWAYS_MATCH=ALWAYS_MATCH$1,inferenceMatchResult$1.SOMETIMES_MATCH=SOMETIMES_MATCH$1,inferenceMatchResult$1.NEVER_MATCH=NEVER_MATCH$1;var inferenceMatchResult_1=inferenceMatchResult$1,__spreadArray$3=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,n){if(n||2===arguments.length)for(var r,o=0,u=t.length;o1?h(SOMETIMES_MATCH,[op$1.IF_ERROR],f([op$1.POP],e(t.slice(1),n)),[]):[])}(e.alternatives,t)},action:function(e,t){var n=p(t.env),r="sequence"!==e.expression.type||0===e.expression.elements.length,o=C(e.expression,{sp:t.sp+(r?1:0),env:n,action:e}),u=0|e.expression.match,a=r&&u!==NEVER_MATCH?c(!1,Object.keys(n),e):null;return r?f([op$1.PUSH_CURR_POS],o,h(u,[op$1.IF_NOT_ERROR],f([op$1.LOAD_SAVED_POS,1],d(a,1,n,t.sp+2)),[]),[op$1.NIP]):o},sequence:function(e,t){return f([op$1.PUSH_CURR_POS],function t(n,r){if(n.length>0){var o=e.elements.length-n.length+1;return f(C(n[0],{sp:r.sp,env:r.env,pluck:r.pluck,action:null}),h(0|n[0].match,[op$1.IF_NOT_ERROR],t(n.slice(1),{sp:r.sp+1,env:r.env,pluck:r.pluck,action:r.action}),f(o>1?[op$1.POP_N,o]:[op$1.POP],[op$1.POP_CURR_POS],[op$1.PUSH_FAILED])))}if(r.pluck.length>0)return f([op$1.PLUCK,e.elements.length+1,r.pluck.length],r.pluck.map((function(e){return r.sp-e})));if(r.action){var u=c(!1,Object.keys(r.env),r.action);return f([op$1.LOAD_SAVED_POS,e.elements.length],d(u,e.elements.length+1,r.env,r.sp))}return f([op$1.WRAP,e.elements.length],[op$1.NIP])}(e.elements,{sp:t.sp+1,env:t.env,pluck:[],action:t.action}))},labeled:function(e,n){var r=n.env,o=e.label,u=n.sp+1;o&&(r=p(n.env),n.env[e.label]=u),e.pick&&n.pluck.push(u);var a=C(e.expression,{sp:n.sp,env:r,action:null});return o&&e.labelLocation&&t&&"source-and-map"===t.output?f([op$1.SOURCE_MAP_LABEL_PUSH,u,i(o),l(e.labelLocation)],a,[op$1.SOURCE_MAP_LABEL_POP,u]):a},text:function(e,t){return f([op$1.PUSH_CURR_POS],C(e.expression,{sp:t.sp+1,env:p(t.env),action:null}),h(0|e.match,[op$1.IF_NOT_ERROR],f([op$1.POP],[op$1.TEXT]),[op$1.NIP]))},simple_and:function(e,t){return g(e.expression,!1,t)},simple_not:function(e,t){return g(e.expression,!0,t)},optional:function(e,t){return f(C(e.expression,{sp:t.sp,env:p(t.env),action:null}),h(-(0|e.expression.match),[op$1.IF_ERROR],f([op$1.POP],[op$1.PUSH_NULL]),[]))},zero_or_more:function(e,t){var n=C(e.expression,{sp:t.sp+1,env:p(t.env),action:null});return f([op$1.PUSH_EMPTY_ARRAY],n,m(n),[op$1.POP])},one_or_more:function(e,t){var n=C(e.expression,{sp:t.sp+1,env:p(t.env),action:null});return f([op$1.PUSH_EMPTY_ARRAY],n,h(0|e.expression.match,[op$1.IF_NOT_ERROR],f(m(n),[op$1.POP]),f([op$1.POP],[op$1.POP],[op$1.PUSH_FAILED])))},repeated:function(e,t){var n=e.min?e.min:e.max,r="constant"!==n.type||n.value>0,o="constant"!==e.max.type&&null!==e.max.value,u=r?2:1,a=e.min?E(e.min,t.env,t.sp,2+("function"===e.max.type?1:0)):{pre:[],post:[],sp:t.sp},i=E(e.max,t.env,a.sp,u),s=C(e.expression,{sp:i.sp+u,env:p(t.env),action:null}),c=null!==e.delimiter?C(e.expression,{sp:i.sp+u+1,env:p(t.env),action:null}):s,l=function(e,t,n,r,o){return e?f([op$1.PUSH_CURR_POS],C(e,{sp:r.sp+o+1,env:p(r.env),action:null}),h(0|e.match,[op$1.IF_NOT_ERROR],f([op$1.POP],n,h(-t,[op$1.IF_ERROR],[op$1.POP,op$1.POP_CURR_POS,op$1.PUSH_FAILED],[op$1.NIP])),[op$1.NIP])):n}(e.delimiter,0|e.expression.match,c,t,u),d=_(l,e.max),g=o?_(s,e.max):s,A=f(r?[op$1.PUSH_CURR_POS]:[],[op$1.PUSH_EMPTY_ARRAY],g,m(d),[op$1.POP]);return f(a.pre,i.pre,r?function(e,t){var n="constant"===t.type?[op$1.IF_LT,t.value]:[op$1.IF_LT_DYNAMIC,t.sp];return f(e,h(SOMETIMES_MATCH,n,[op$1.POP,op$1.POP_CURR_POS,op$1.PUSH_FAILED],[op$1.NIP]))}(A,n):A,i.post,a.post)},group:function(e,t){return C(e.expression,{sp:t.sp,env:p(t.env),action:null})},semantic_and:function(e,t){return A(e,!1,t)},semantic_not:function(e,t){return A(e,!0,t)},rule_ref:function(t){return[op$1.RULE,asts$5.indexOfRule(e,t.name)]},literal:function(e){if(e.value.length>0){var t=0|e.match,n=t===SOMETIMES_MATCH||t===ALWAYS_MATCH&&!e.ignoreCase?i(e.ignoreCase?e.value.toLowerCase():e.value):null,r=t!==ALWAYS_MATCH?s({type:"literal",value:e.value,ignoreCase:e.ignoreCase}):null;return h(t,e.ignoreCase?[op$1.MATCH_STRING_IC,n]:[op$1.MATCH_STRING,n],e.ignoreCase?[op$1.ACCEPT_N,e.value.length]:[op$1.ACCEPT_STRING,n],[op$1.FAIL,r])}return[op$1.PUSH_EMPTY_STRING]},class:function(e){var t=0|e.match,n=t===SOMETIMES_MATCH?function(e){var t={value:e.parts,inverted:e.inverted,ignoreCase:e.ignoreCase},n=JSON.stringify(t),o=r.findIndex((function(e){return JSON.stringify(e)===n}));return-1===o?r.push(t)-1:o}(e):null,o=t!==ALWAYS_MATCH?s({type:"class",value:e.parts,inverted:e.inverted,ignoreCase:e.ignoreCase}):null;return h(t,[op$1.MATCH_CHAR_CLASS,n],[op$1.ACCEPT_N,1],[op$1.FAIL,o])},any:function(e){var t=0|e.match,n=t!==ALWAYS_MATCH?s({type:"any"}):null;return h(t,[op$1.MATCH_ANY],[op$1.ACCEPT_N,1],[op$1.FAIL,n])}},t&&"source-and-map"===t.output&&Object.entries(v).forEach((function(e){var t=e[0],n=e[1];v[t]=function(e){for(var t=[],r=1;r>>=VLQ_BASE_SHIFT,r>0&&(t|=VLQ_CONTINUATION_BIT),n+=base64$2.encode(t)}while(r>0);return n};var util$3={};function getArg(e,t,n){if(t in e)return e[t];if(3===arguments.length)return n;throw new Error('"'+t+'" is a required argument.')}util$3.getArg=getArg;const supportsNullProto=!("__proto__"in Object.create(null));function identity(e){return e}function toSetString(e){return isProtoString(e)?"$"+e:e}function fromSetString(e){return isProtoString(e)?e.slice(1):e}function isProtoString(e){if(!e)return!1;const t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(let n=t-10;n>=0;n--)if(36!==e.charCodeAt(n))return!1;return!0}function strcmp(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}function compareByGeneratedPositionsInflated(e,t){let n=e.generatedLine-t.generatedLine;return 0!==n?n:(n=e.generatedColumn-t.generatedColumn,0!==n?n:(n=strcmp(e.source,t.source),0!==n?n:(n=e.originalLine-t.originalLine,0!==n?n:(n=e.originalColumn-t.originalColumn,0!==n?n:strcmp(e.name,t.name)))))}util$3.toSetString=supportsNullProto?identity:toSetString,util$3.fromSetString=supportsNullProto?identity:fromSetString,util$3.compareByGeneratedPositionsInflated=compareByGeneratedPositionsInflated;const PROTOCOL="http:",PROTOCOL_AND_HOST=`${PROTOCOL}//host`;function createSafeHandler(e){return t=>{const n=getURLType(t),r=buildSafeBase(t),o=new URL(t,r);e(o);const u=o.toString();return"absolute"===n?u:"scheme-relative"===n?u.slice(PROTOCOL.length):"path-absolute"===n?u.slice(PROTOCOL_AND_HOST.length):computeRelativeURL(r,u)}}function withBase(e,t){return new URL(e,t).toString()}function buildUniqueSegment(e,t){let n=0;for(;;){const r=e+n++;if(-1===t.indexOf(r))return r}}function buildSafeBase(e){const t=e.split("..").length-1,n=buildUniqueSegment("p",e);let r=`${PROTOCOL_AND_HOST}/`;for(let e=0;e0&&!r[r.length-1]&&r.pop();n.length>0&&r.length>0&&n[0]===r[0];)n.shift(),r.shift();return r.map((()=>"..")).concat(n).join("/")+t.search+t.hash}const ensureDirectory=createSafeHandler((e=>{e.pathname=e.pathname.replace(/\/?$/,"/")})),normalize=createSafeHandler((e=>{}));function join(e,t){const n=getURLType(t),r=getURLType(e);if(e=ensureDirectory(e),"absolute"===n)return withBase(t,void 0);if("absolute"===r)return withBase(t,e);if("scheme-relative"===n)return normalize(t);if("scheme-relative"===r)return withBase(t,withBase(e,PROTOCOL_AND_HOST)).slice(PROTOCOL.length);if("path-absolute"===n)return normalize(t);if("path-absolute"===r)return withBase(t,withBase(e,PROTOCOL_AND_HOST)).slice(PROTOCOL_AND_HOST.length);const o=buildSafeBase(t+e);return computeRelativeURL(o,withBase(t,withBase(e,o)))}function relative(e,t){const n=relativeIfPossible(e,t);return"string"==typeof n?n:normalize(t)}function relativeIfPossible(e,t){if(getURLType(e)!==getURLType(t))return null;const n=buildSafeBase(e+t),r=new URL(e,n),o=new URL(t,n);try{new URL("",o.toString())}catch(e){return null}return o.protocol!==r.protocol||o.user!==r.user||o.password!==r.password||o.hostname!==r.hostname||o.port!==r.port?null:computeRelativeURL(r,o)}util$3.normalize=normalize,util$3.join=join,util$3.relative=relative;var arraySet={};let ArraySet$1=class e{constructor(){this._array=[],this._set=new Map}static fromArray(t,n){const r=new e;for(let e=0,o=t.length;e=0)return t;throw new Error('"'+e+'" is not in the set.')}at(e){if(e>=0&&en||r==n&&u>=o||util$2.compareByGeneratedPositionsInflated(e,t)<=0}let MappingList$1=class{constructor(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}unsortedForEach(e,t){this._array.forEach(e,t)}add(e){generatedPositionAfter(this._last,e)?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))}toArray(){return this._sorted||(this._array.sort(util$2.compareByGeneratedPositionsInflated),this._sorted=!0),this._array}};mappingList.MappingList=MappingList$1;const base64VLQ=base64Vlq,util$1=util$3,ArraySet=arraySet.ArraySet,MappingList=mappingList.MappingList;let SourceMapGenerator$1=class e{constructor(e){e||(e={}),this._file=util$1.getArg(e,"file",null),this._sourceRoot=util$1.getArg(e,"sourceRoot",null),this._skipValidation=util$1.getArg(e,"skipValidation",!1),this._sources=new ArraySet,this._names=new ArraySet,this._mappings=new MappingList,this._sourcesContents=null}static fromSourceMap(t){const n=t.sourceRoot,r=new e({file:t.file,sourceRoot:n});return t.eachMapping((function(e){const t={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(t.source=e.source,null!=n&&(t.source=util$1.relative(n,t.source)),t.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(t.name=e.name)),r.addMapping(t)})),t.sources.forEach((function(e){let o=e;null!=n&&(o=util$1.relative(n,e)),r._sources.has(o)||r._sources.add(o);const u=t.sourceContentFor(e);null!=u&&r.setSourceContent(e,u)})),r}addMapping(e){const t=util$1.getArg(e,"generated"),n=util$1.getArg(e,"original",null);let r=util$1.getArg(e,"source",null),o=util$1.getArg(e,"name",null);this._skipValidation||this._validateMapping(t,n,r,o),null!=r&&(r=String(r),this._sources.has(r)||this._sources.add(r)),null!=o&&(o=String(o),this._names.has(o)||this._names.add(o)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:n&&n.line,originalColumn:n&&n.column,source:r,name:o})}setSourceContent(e,t){let n=e;null!=this._sourceRoot&&(n=util$1.relative(this._sourceRoot,n)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[util$1.toSetString(n)]=t):this._sourcesContents&&(delete this._sourcesContents[util$1.toSetString(n)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))}applySourceMap(e,t,n){let r=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');r=e.file}const o=this._sourceRoot;null!=o&&(r=util$1.relative(o,r));const u=this._mappings.toArray().length>0?new ArraySet:this._sources,a=new ArraySet;this._mappings.unsortedForEach((function(t){if(t.source===r&&null!=t.originalLine){const r=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=r.source&&(t.source=r.source,null!=n&&(t.source=util$1.join(n,t.source)),null!=o&&(t.source=util$1.relative(o,t.source)),t.originalLine=r.line,t.originalColumn=r.column,null!=r.name&&(t.name=r.name))}const i=t.source;null==i||u.has(i)||u.add(i);const s=t.name;null==s||a.has(s)||a.add(s)}),this),this._sources=u,this._names=a,e.sources.forEach((function(t){const r=e.sourceContentFor(t);null!=r&&(null!=n&&(t=util$1.join(n,t)),null!=o&&(t=util$1.relative(o,t)),this.setSourceContent(t,r))}),this)}_validateMapping(e,t,n,r){if(t&&"number"!=typeof t.line&&"number"!=typeof t.column)throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0&&!t&&!n&&!r);else if(!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&n))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:n,original:t,name:r}))}_serializeMappings(){let e,t,n,r,o=0,u=1,a=0,i=0,s=0,c=0,l="";const p=this._mappings.toArray();for(let f=0,h=p.length;f0){if(!util$1.compareByGeneratedPositionsInflated(t,p[f-1]))continue;e+=","}e+=base64VLQ.encode(t.generatedColumn-o),o=t.generatedColumn,null!=t.source&&(r=this._sources.indexOf(t.source),e+=base64VLQ.encode(r-c),c=r,e+=base64VLQ.encode(t.originalLine-1-i),i=t.originalLine-1,e+=base64VLQ.encode(t.originalColumn-a),a=t.originalColumn,null!=t.name&&(n=this._names.indexOf(t.name),e+=base64VLQ.encode(n-s),s=n)),l+=e}return l}_generateSourcesContent(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=util$1.relative(t,e));const n=util$1.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,n)?this._sourcesContents[n]:null}),this)}toJSON(){const e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e}toString(){return JSON.stringify(this.toJSON())}};SourceMapGenerator$1.prototype._version=3,sourceMapGenerator.SourceMapGenerator=SourceMapGenerator$1;var sourceNode={};const SourceMapGenerator=sourceMapGenerator.SourceMapGenerator,util=util$3,REGEX_NEWLINE=/(\r?\n)/,NEWLINE_CODE=10,isSourceNode="$$$isSourceNode$$$";let SourceNode$2=class e{constructor(e,t,n,r,o){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==t?null:t,this.source=null==n?null:n,this.name=null==o?null:o,this[isSourceNode]=!0,null!=r&&this.add(r)}static fromStringWithSourceMap(t,n,r){const o=new e,u=t.split(REGEX_NEWLINE);let a=0;const i=function(){return e()+(e()||"");function e(){return a=0;t--)this.prepend(e[t]);else{if(!e[isSourceNode]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this}walk(e){let t;for(let n=0,r=this.children.length;n0){for(t=[],n=0;n' at an index ").concat(e,".\nBytecode: ").concat(this.bytecode));return this.varName+e},e.sourceNode=function(e,t,n){var r=GrammarLocation$2.offsetStart(e);return new SourceNode$1(r.line,r.column?r.column-1:null,String(e.source),t,n)},e.prototype.push=function(t){++this.sp>this.maxSp&&(this.maxSp=this.sp);var n=this.labels[this.sp],r=[this.name(this.sp)," = ",t,";"];if(n){if(this.sourceMapStack.length){var o=e.sourceNode(n.location,r.splice(0,2),n.label),u=this.sourceMapPopInternal(),a=u.parts,i=u.location,s=i.start.offsett.end.offset&&(n[2]={start:t.end,end:n[2].end,source:n[2].source})}this.sourceMapStack.push([e,e.length,t])},e.prototype.sourceMapPopInternal=function(){var e=this.sourceMapStack.pop();if(!e)throw new RangeError("Rule '".concat(this.ruleName,"': Attempting to pop an empty source map stack.\nBytecode: ").concat(this.bytecode));var t=e[0],n=e[1],r=e[2],o=t.splice(n).map((function(e){return e instanceof SourceNode$1?e:e+"\n"}));if(o.length){var u=GrammarLocation$2.offsetStart(r);t.push(new SourceNode$1(u.line,u.column-1,String(r.source),o))}return{parts:t,location:r}},e.prototype.sourceMapPop=function(e){var t=this.sourceMapPopInternal().location;if(this.sourceMapStack.length&&t.end.offset>2],o+=t[(3&e[u])<<4|e[u+1]>>4],o+=t[(15&e[u+1])<<2|e[u+2]>>6],o+=t[63&e[u+2]];return 1===n?(o+=t[e[r]>>2],o+=t[(3&e[r])<<4],o+="=="):2===n&&(o+=t[e[r]>>2],o+=t[(3&e[r])<<4|e[r+1]>>4],o+=t[(15&e[r+1])<<2],o+="="),o}utils.hex=hex,utils.stringEscape=stringEscape$1,utils.regexpClassEscape=regexpClassEscape$1,utils.base64=base64$1;var __spreadArray$2=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,n){if(n||2===arguments.length)for(var r,o=0,u=t.length;o0&&(t.forEach((function(e){o.push("var "+e+' = require("'+stringEscape(s[e])+'");')})),o.push("")),o.push(e,"","module.exports = "+r()+";"),o},es:function(){var r=Object.keys(s),o=n();return o.push(""),r.length>0&&(r.forEach((function(e){o.push("import "+e+' from "'+stringEscape(s[e])+'";')})),o.push("")),o.push(e,"","export {"," peg$SyntaxError as SyntaxError,",t.trace?" peg$DefaultTracer as DefaultTracer,":""," peg$parse as parse","};"),o},amd:function(){var t=Object.keys(s),o="["+t.map((function(e){return s[e]})).map((function(e){return'"'+stringEscape(e)+'"'})).join(", ")+"]",u=t.join(", ");return __spreadArray$2(__spreadArray$2([],n(),!0),["define("+o+", function("+u+") {",' "use strict";',"",e,"",c("return "+r()+";"),"});"],!1)},globals:function(){return __spreadArray$2(__spreadArray$2([],n(),!0),["(function(root) {",' "use strict";',"",e,"",c("root."+t.exportVar+" = "+r()+";"),"})(this);"],!1)},umd:function(){var o=Object.keys(s),u=o.map((function(e){return s[e]})),a="["+u.map((function(e){return'"'+stringEscape(e)+'"'})).join(", ")+"]",i=u.map((function(e){return'require("'+stringEscape(e)+'")'})).join(", "),l=o.join(", "),p=n();return p.push("(function(root, factory) {",' if (typeof define === "function" && define.amd) {'," define("+a+", factory);",' } else if (typeof module === "object" && module.exports) {'," module.exports = factory("+i+");"),null!==t.exportVar&&p.push(" } else {"," root."+t.exportVar+" = factory();"),p.push(" }","})(this, function("+l+") {",' "use strict";',"",e,"",c("return "+r()+";"),"});"),p}}[t.format||"bare"]();return new SourceNode(null,null,t.grammarSource,o.map((function(e){return e instanceof SourceNode?e:e+"\n"})))}(function(){var s=[];e.topLevelInitializer&&(s.push(g(e.topLevelInitializer)),s.push("")),s.push("function peg$subclass(child, parent) {"," function C() { this.constructor = child; }"," C.prototype = parent.prototype;"," child.prototype = new C();","}","","function peg$SyntaxError(message, expected, found, location) {"," var self = Error.call(this, message);"," // istanbul ignore next Check is a necessary evil to support older environments"," if (Object.setPrototypeOf) {"," Object.setPrototypeOf(self, peg$SyntaxError.prototype);"," }"," self.expected = expected;"," self.found = found;"," self.location = location;",' self.name = "SyntaxError";'," return self;","}","","peg$subclass(peg$SyntaxError, Error);","","function peg$padEnd(str, targetLength, padString) {",' padString = padString || " ";'," if (str.length > targetLength) { return str; }"," targetLength -= str.length;"," padString += padString.repeat(targetLength);"," return str + padString.slice(0, targetLength);","}","","peg$SyntaxError.prototype.format = function(sources) {",' var str = "Error: " + this.message;'," if (this.location) {"," var src = null;"," var k;"," for (k = 0; k < sources.length; k++) {"," if (sources[k].source === this.location.source) {"," src = sources[k].text.split(/\\r\\n|\\n|\\r/g);"," break;"," }"," }"," var s = this.location.start;",' var offset_s = (this.location.source && (typeof this.location.source.offset === "function"))'," ? this.location.source.offset(s)"," : s;",' var loc = this.location.source + ":" + offset_s.line + ":" + offset_s.column;'," if (src) {"," var e = this.location.end;"," var filler = peg$padEnd(\"\", offset_s.line.toString().length, ' ');"," var line = src[s.line - 1];"," var last = s.line === e.line ? e.column : line.length + 1;"," var hatLen = (last - s.column) || 1;",' str += "\\n --\x3e " + loc + "\\n"',' + filler + " |\\n"',' + offset_s.line + " | " + line + "\\n"',' + filler + " | " + peg$padEnd("", s.column - 1, \' \')',' + peg$padEnd("", hatLen, "^");'," } else {",' str += "\\n at " + loc;'," }"," }"," return str;","};","","peg$SyntaxError.buildMessage = function(expected, found) {"," var DESCRIBE_EXPECTATION_FNS = {"," literal: function(expectation) {",' return "\\"" + literalEscape(expectation.text) + "\\"";'," },",""," class: function(expectation) {"," var escapedParts = expectation.parts.map(function(part) {"," return Array.isArray(part)",' ? classEscape(part[0]) + "-" + classEscape(part[1])'," : classEscape(part);"," });","",' return "[" + (expectation.inverted ? "^" : "") + escapedParts.join("") + "]";'," },",""," any: function() {",' return "any character";'," },",""," end: function() {",' return "end of input";'," },",""," other: function(expectation) {"," return expectation.description;"," }"," };",""," function hex(ch) {"," return ch.charCodeAt(0).toString(16).toUpperCase();"," }",""," function literalEscape(s) {"," return s",' .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(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function classEscape(s) {"," return s",' .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(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function describeExpectation(expectation) {"," return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);"," }",""," function describeExpected(expected) {"," var descriptions = expected.map(describeExpectation);"," var i, j;",""," descriptions.sort();",""," if (descriptions.length > 0) {"," for (i = 1, j = 1; i < descriptions.length; i++) {"," if (descriptions[i - 1] !== descriptions[i]) {"," descriptions[j] = descriptions[i];"," j++;"," }"," }"," descriptions.length = j;"," }",""," switch (descriptions.length) {"," case 1:"," return descriptions[0];",""," case 2:",' return descriptions[0] + " or " + descriptions[1];',""," default:",' return descriptions.slice(0, -1).join(", ")',' + ", or "'," + descriptions[descriptions.length - 1];"," }"," }",""," function describeFound(found) {",' return found ? "\\"" + literalEscape(found) + "\\"" : "end of input";'," }","",' return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found.";',"};",""),t.trace&&s.push("function peg$DefaultTracer() {"," this.indentLevel = 0;","}","","peg$DefaultTracer.prototype.trace = function(event) {"," var that = this;",""," function log(event) {"," function repeat(string, n) {",' var result = "", i;',""," for (i = 0; i < n; i++) {"," result += string;"," }",""," return result;"," }",""," function pad(string, length) {",' return string + repeat(" ", length - string.length);'," }","",' if (typeof console === "object") {'," console.log(",' event.location.start.line + ":" + event.location.start.column + "-"',' + event.location.end.line + ":" + event.location.end.column + " "',' + pad(event.type, 10) + " "',' + repeat(" ", that.indentLevel) + event.rule'," );"," }"," }",""," switch (event.type) {",' case "rule.enter":'," log(event);"," this.indentLevel++;"," break;","",' case "rule.match":'," this.indentLevel--;"," log(event);"," break;","",' case "rule.fail":'," this.indentLevel--;"," log(event);"," break;",""," default:",' throw new Error("Invalid event type: " + event.type + ".");'," }","};","");var A="{ "+i.map((function(e){return e+": "+d(e)})).join(", ")+" }",m=d(i[0]);return s.push("function peg$parse(input, options) {"," options = options !== undefined ? options : {};",""," var peg$FAILED = {};"," var peg$source = options.grammarSource;",""," var peg$startRuleFunctions = "+A+";"," var peg$startRuleFunction = "+m+";","",new SourceNode(null,null,t.grammarSource,__spreadArray$2([n.map((function(e,t){return" var "+l(t)+' = "'+stringEscape(e)+'";'})).concat("",o.map((function(e,t){return" var "+p(t)+" = /^["+((n=e).inverted?"^":"")+n.value.map((function(e){return Array.isArray(e)?regexpClassEscape(e[0])+"-"+regexpClassEscape(e[1]):regexpClassEscape(e)})).join("")+"]/"+(n.ignoreCase?"i":"")+";";var n}))).concat("",u.map((function(e,t){return" var "+f(t)+" = "+function(e){switch(e.type){case"rule":return'peg$otherExpectation("'+stringEscape(e.value)+'")';case"literal":return'peg$literalExpectation("'+stringEscape(e.value)+'", '+e.ignoreCase+")";case"class":return"peg$classExpectation(["+e.value.map((function(e){return Array.isArray(e)?'["'+stringEscape(e[0])+'", "'+stringEscape(e[1])+'"]':'"'+stringEscape(e)+'"'})).join(", ")+"], "+e.inverted+", "+e.ignoreCase+")";case"any":return"peg$anyExpectation()";default:throw new Error("Unknown expectation type ("+JSON.stringify(e)+")")}}(e)+";"}))).concat("").join("\n")],a.map((function(e,t){return wrapInSourceNode("\n var ".concat(h(t)," = function(").concat(e.params.join(", "),") {"),e.body,e.location,"};")})),!0)),""," var peg$currPos = 0;"," var peg$savedPos = 0;"," var peg$posDetailsCache = [{ line: 1, column: 1 }];"," var peg$maxFailPos = 0;"," var peg$maxFailExpected = [];"," var peg$silentFails = 0;",""),t.cache&&s.push(" var peg$resultsCache = {};",""),t.trace&&s.push(' var peg$tracer = "tracer" in options ? options.tracer : new peg$DefaultTracer();',""),s.push(" var peg$result;","",' if ("startRule" in options) {'," if (!(options.startRule in peg$startRuleFunctions)) {",' throw new Error("Can\'t start parsing from rule \\"" + options.startRule + "\\".");'," }",""," peg$startRuleFunction = peg$startRuleFunctions[options.startRule];"," }",""," function text() {"," return input.substring(peg$savedPos, peg$currPos);"," }",""," function offset() {"," return peg$savedPos;"," }",""," function range() {"," return {"," source: peg$source,"," start: peg$savedPos,"," end: peg$currPos"," };"," }",""," function location() {"," return peg$computeLocation(peg$savedPos, peg$currPos);"," }",""," function expected(description, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildStructuredError("," [peg$otherExpectation(description)],"," input.substring(peg$savedPos, peg$currPos),"," location"," );"," }",""," function error(message, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildSimpleError(message, location);"," }",""," function peg$literalExpectation(text, ignoreCase) {",' return { type: "literal", text: text, ignoreCase: ignoreCase };'," }",""," function peg$classExpectation(parts, inverted, ignoreCase) {",' return { type: "class", parts: parts, inverted: inverted, ignoreCase: ignoreCase };'," }",""," function peg$anyExpectation() {",' return { type: "any" };'," }",""," function peg$endExpectation() {",' return { type: "end" };'," }",""," function peg$otherExpectation(description) {",' return { type: "other", description: description };'," }",""," function peg$computePosDetails(pos) {"," var details = peg$posDetailsCache[pos];"," var p;",""," if (details) {"," return details;"," } else {"," if (pos >= peg$posDetailsCache.length) {"," p = peg$posDetailsCache.length - 1;"," } else {"," p = pos;"," while (!peg$posDetailsCache[--p]) {}"," }",""," details = peg$posDetailsCache[p];"," details = {"," line: details.line,"," column: details.column"," };",""," while (p < pos) {"," if (input.charCodeAt(p) === 10) {"," details.line++;"," details.column = 1;"," } else {"," details.column++;"," }",""," p++;"," }",""," peg$posDetailsCache[pos] = details;",""," return details;"," }"," }",""," function peg$computeLocation(startPos, endPos, offset) {"," var startPosDetails = peg$computePosDetails(startPos);"," var endPosDetails = peg$computePosDetails(endPos);",""," var res = {"," source: peg$source,"," start: {"," offset: startPos,"," line: startPosDetails.line,"," column: startPosDetails.column"," },"," end: {"," offset: endPos,"," line: endPosDetails.line,"," column: endPosDetails.column"," }"," };",' if (offset && peg$source && (typeof peg$source.offset === "function")) {'," res.start = peg$source.offset(res.start);"," res.end = peg$source.offset(res.end);"," }"," return res;"," }",""," function peg$fail(expected) {"," if (peg$currPos < peg$maxFailPos) { return; }",""," if (peg$currPos > peg$maxFailPos) {"," peg$maxFailPos = peg$currPos;"," peg$maxFailExpected = [];"," }",""," peg$maxFailExpected.push(expected);"," }",""," function peg$buildSimpleError(message, location) {"," return new peg$SyntaxError(message, null, null, location);"," }",""," function peg$buildStructuredError(expected, found, location) {"," return new peg$SyntaxError("," peg$SyntaxError.buildMessage(expected, found),"," expected,"," found,"," location"," );"," }",""),e.rules.forEach((function(o){s.push.apply(s,c(function(o){var u=[],a=o.bytecode,i=new Stack(o.name,"s","var",a),s=function t(o){var u=0,a=o.length,s=[],g=void 0;function A(e,n,r){var a=n+3,l=o[u+a-2],p=o[u+a-1],f=i.checkedIf(u,(function(){return u+=a+l,(r||t)(o.slice(u-l,u))}),p>0?function(){return u+=p,t(o.slice(u-p,u))}:null),h=f[0],d=f[1];s.push("if ("+e+") {"),s.push.apply(s,c(h)),p>0&&(s.push("} else {"),s.push.apply(s,c(d))),s.push("}")}function m(e,n,r){var a=n+3,c=1===r?"input.charAt(peg$currPos)":"input.substr(peg$currPos, "+r+")",l=null;o[u+a]===op.ACCEPT_N&&o[u+a+1]===r&&(s.push(i.push(c)),c=i.pop(),l=function(e){i.sp++;var n=t(e.slice(2));return n.unshift(1===r?"peg$currPos++;":"peg$currPos += "+r+";"),n}),A(e(c,null!==l),n,l)}for(var E=function(){switch(o[u]){case op.PUSH_EMPTY_STRING:s.push(i.push("''")),u++;break;case op.PUSH_CURR_POS:s.push(i.push("peg$currPos")),u++;break;case op.PUSH_UNDEFINED:s.push(i.push("undefined")),u++;break;case op.PUSH_NULL:s.push(i.push("null")),u++;break;case op.PUSH_FAILED:s.push(i.push("peg$FAILED")),u++;break;case op.PUSH_EMPTY_ARRAY:s.push(i.push("[]")),u++;break;case op.POP:i.pop(),u++;break;case op.POP_CURR_POS:s.push("peg$currPos = "+i.pop()+";"),u++;break;case op.POP_N:i.pop(o[u+1]),u+=2;break;case op.NIP:g=i.pop(),i.pop(),s.push(i.push(g)),u++;break;case op.APPEND:g=i.pop(),s.push(i.top()+".push("+g+");"),u++;break;case op.WRAP:s.push(i.push("["+i.pop(o[u+1]).join(", ")+"]")),u+=2;break;case op.TEXT:s.push(i.push("input.substring("+i.pop()+", peg$currPos)")),u++;break;case op.PLUCK:var a=o[u+3-1],E=3+a;g=o.slice(u+3,u+E),g=1===a?i.index(g[0]):"[ ".concat(g.map((function(e){return i.index(e)})).join(", ")," ]"),i.pop(o[u+1]),s.push(i.push(g)),u+=E;break;case op.IF:A(i.top(),0);break;case op.IF_ERROR:A(i.top()+" === peg$FAILED",0);break;case op.IF_NOT_ERROR:A(i.top()+" !== peg$FAILED",0);break;case op.IF_LT:A(i.top()+".length < "+o[u+1],1);break;case op.IF_GE:A(i.top()+".length >= "+o[u+1],1);break;case op.IF_LT_DYNAMIC:A(i.top()+".length < ("+i.index(o[u+1])+"|0)",1);break;case op.IF_GE_DYNAMIC:A(i.top()+".length >= ("+i.index(o[u+1])+"|0)",1);break;case op.WHILE_NOT_ERROR:S=i.top()+" !== peg$FAILED",y=o[u+2-1],F=i.checkedLoop(u,(function(){return u+=2+y,t(o.slice(u-y,u))})),s.push("while ("+S+") {"),s.push.apply(s,c(F)),s.push("}");break;case op.MATCH_ANY:A("input.length > peg$currPos",0);break;case op.MATCH_STRING:var _=o[u+1],v=n[_];m((function(e,t){return v.length>1?"".concat(e," === ").concat(l(_)):(e=t?"".concat(e,".charCodeAt(0)"):"input.charCodeAt(peg$currPos)","".concat(e," === ").concat(v.charCodeAt(0)))}),1,v.length);break;case op.MATCH_STRING_IC:var C=o[u+1];m((function(e){return"".concat(e,".toLowerCase() === ").concat(l(C))}),1,n[C].length);break;case op.MATCH_CHAR_CLASS:var $=o[u+1];m((function(e){return"".concat(p($),".test(").concat(e,")")}),1,1);break;case op.ACCEPT_N:s.push(i.push(o[u+1]>1?"input.substr(peg$currPos, "+o[u+1]+")":"input.charAt(peg$currPos)")),s.push(o[u+1]>1?"peg$currPos += "+o[u+1]+";":"peg$currPos++;"),u+=2;break;case op.ACCEPT_STRING:s.push(i.push(l(o[u+1]))),s.push(n[o[u+1]].length>1?"peg$currPos += "+n[o[u+1]].length+";":"peg$currPos++;"),u+=2;break;case op.FAIL:s.push(i.push("peg$FAILED")),s.push("if (peg$silentFails === 0) { peg$fail("+f(o[u+1])+"); }"),u+=2;break;case op.LOAD_SAVED_POS:s.push("peg$savedPos = "+i.index(o[u+1])+";"),u+=2;break;case op.UPDATE_SAVED_POS:s.push("peg$savedPos = peg$currPos;"),u++;break;case op.CALL:g=function(e){var t=o[u+4-1];return h(o[u+1])+"("+o.slice(u+4,u+4+t).map((function(e){return i.index(e)})).join(", ")+")"}(),i.pop(o[u+2]),s.push(i.push(g)),u+=4+o[u+3];break;case op.RULE:s.push(i.push(d(e.rules[o[u+1]].name)+"()")),u+=2;break;case op.SILENT_FAILS_ON:s.push("peg$silentFails++;"),u++;break;case op.SILENT_FAILS_OFF:s.push("peg$silentFails--;"),u++;break;case op.SOURCE_MAP_PUSH:i.sourceMapPush(s,r[o[u+1]]),u+=2;break;case op.SOURCE_MAP_POP:i.sourceMapPop(),u++;break;case op.SOURCE_MAP_LABEL_PUSH:i.labels[o[u+1]]={label:n[o[u+2]],location:r[o[u+3]]},u+=4;break;case op.SOURCE_MAP_LABEL_POP:delete i.labels[o[u+1]],u+=2;break;default:throw new Error("Invalid opcode: "+o[u]+".")}var S,y,F};ui?-1:1:0}));for(var t="",n="",r=0;r=a.charCodeAt(0)?(e.splice(r--,1),e[r]=[t,n=i]):(t=a,n=i)}return e}function mergeCharacterClasses$1(e){var t=Object.create(null);e.rules.forEach((function(e){return t[e.name]=e.expression}));var n=Object.create(null),r=[function(e,r){if("class"===e.type&&!e.inverted)return r&&((e=__assign({},e)).parts=__spreadArray$1([],e.parts,!0)),e;if("literal"===e.type&&1===e.value.length)return{type:"class",parts:[e.value],inverted:!1,ignoreCase:e.ignoreCase,location:e.location};if("rule_ref"===e.type){var a=t[e.name];if(a){n[e.name]||(n[e.name]=!0,u(a));var i=o(a,!0);return i&&(i.location=e.location),i}}return null},visitor$7.build({choice:function(e){var t=null,n=!1;e.alternatives.forEach((function(r,a){var i;u(r);var s=o(r);s?t&&t.ignoreCase===s.ignoreCase?((i=t.parts).push.apply(i,s.parts),e.alternatives[a-1]=t,e.alternatives[a]=t,t.location={source:t.location.source,start:t.location.start,end:s.location.end},n=!0):t=s:t=null})),n&&(e.alternatives=e.alternatives.filter((function(e,t,n){return!t||e!==n[t-1]})),e.alternatives.forEach((function(t,n){"class"===t.type&&(t.parts=cleanParts(t.parts),1!==t.parts.length||Array.isArray(t.parts[0])||t.inverted||(e.alternatives[n]={type:"literal",value:t.parts[0],ignoreCase:t.ignoreCase,location:t.location}))})),1===e.alternatives.length&&cloneOver(e,e.alternatives[0]))},text:function(e){if(u(e.expression),"class"===e.expression.type||"literal"===e.expression.type){var t=e.location;cloneOver(e,e.expression),e.location=t}}})],o=r[0],u=r[1];e.rules.forEach((function(e){n[e.name]=!0,u(e.expression)}))}var mergeCharacterClasses_1=mergeCharacterClasses$1,visitor$6=visitor_1;function reportDuplicateLabels$1(e,t,n){function r(e){var t={};return Object.keys(e).forEach((function(n){t[n]=e[n]})),t}function o(e,t){u(e.expression,r(t))}var u=visitor$6.build({rule:function(e){u(e.expression,{})},choice:function(e,t){e.alternatives.forEach((function(e){u(e,r(t))}))},action:o,labeled:function(e,t){var r=e.label;r&&Object.prototype.hasOwnProperty.call(t,r)&&n.error('Label "'.concat(e.label,'" is already defined'),e.labelLocation,[{message:"Original label location",location:t[r]}]),u(e.expression,t),t[e.label]=e.labelLocation},text:o,simple_and:o,simple_not:o,optional:o,zero_or_more:o,one_or_more:o,repeated:function(e,t){e.delimiter&&u(e.delimiter,r(t)),u(e.expression,r(t))},group:o});u(e)}var reportDuplicateLabels_1=reportDuplicateLabels$1,visitor$5=visitor_1;function reportDuplicateRules$1(e,t,n){var r={};visitor$5.build({rule:function(e){Object.prototype.hasOwnProperty.call(r,e.name)?n.error('Rule "'.concat(e.name,'" is already defined'),e.nameLocation,[{message:"Original rule location",location:r[e.name]}]):r[e.name]=e.nameLocation}})(e)}var reportDuplicateRules_1=reportDuplicateRules$1,asts$2=asts_1,visitor$4=visitor_1;function reportInfiniteRecursion$1(e,t,n){var r=[],o=[],u=visitor$4.build({rule:function(e){r.push(e.name),u(e.expression),r.pop()},sequence:function(t){t.elements.every((function(t){return u(t),!asts$2.alwaysConsumesOnSuccess(e,t)}))},repeated:function(t){u(t.expression),t.delimiter&&!asts$2.alwaysConsumesOnSuccess(e,t.expression)&&u(t.delimiter)},rule_ref:function(t){o.push(t);var a=asts$2.findRule(e,t.name);if(-1!==r.indexOf(t.name))return r.push(t.name),void n.error("Possible infinite loop when parsing (left recursion: "+r.join(" -> ")+")",a.nameLocation,o.map((function(e,t,n){return{message:t+1!==n.length?"Step ".concat(t+1,': call of the rule "').concat(e.name,'" without input consumption'):"Step ".concat(t+1,": call itself without input consumption - left recursion"),location:e.location}})));a&&u(a),o.pop()}});u(e)}var reportInfiniteRecursion_1=reportInfiniteRecursion$1,asts$1=asts_1,visitor$3=visitor_1;function reportInfiniteRepetition$1(e,t,n){var r=visitor$3.build({zero_or_more:function(t){asts$1.alwaysConsumesOnSuccess(e,t.expression)||n.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",t.location)},one_or_more:function(t){asts$1.alwaysConsumesOnSuccess(e,t.expression)||n.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",t.location)},repeated:function(t){if(t.delimiter&&r(t.delimiter),!(asts$1.alwaysConsumesOnSuccess(e,t.expression)||t.delimiter&&asts$1.alwaysConsumesOnSuccess(e,t.delimiter)))if(null===t.max.value)n.error("Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",t.location);else{var o=t.min?t.min:t.max;n.warning("constant"===o.type&&"constant"===t.max.type?"An expression may not consume any input and may always match ".concat(t.max.value," times"):"An expression may not consume any input and may always match with a maximum repetition count",t.location)}}});r(e)}var reportInfiniteRepetition_1=reportInfiniteRepetition$1,asts=asts_1,visitor$2=visitor_1;function reportUndefinedRules$1(e,t,n){visitor$2.build({rule_ref:function(t){asts.findRule(e,t.name)||n.error('Rule "'.concat(t.name,'" is not defined'),t.location)}})(e)}var reportUndefinedRules_1=reportUndefinedRules$1,visitor$1=visitor_1;function reportIncorrectPlucking$1(e,t,n){var r=visitor$1.build({action:function(e){r(e.expression,e)},labeled:function(e,t){e.pick&&t&&n.error('"@" cannot be used with an action block',e.labelLocation,[{message:"Action block location",location:t.codeLocation}]),r(e.expression)}});r(e)}var reportIncorrectPlucking_1=reportIncorrectPlucking$1,__spreadArray=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,n){if(n||2===arguments.length)for(var r,o=0,u=t.length;o0:e&&"function"==typeof e.offset}var compiler$1={visitor:visitor,passes:{check:[reportUndefinedRules,reportDuplicateRules,reportDuplicateLabels,reportInfiniteRecursion,reportInfiniteRepetition,reportIncorrectPlucking],transform:[removeProxyRules,mergeCharacterClasses,inferenceMatchResult],generate:[generateBytecode,generateJS]},compile:function(ast,passes,options){if(options=void 0!==options?options:{},options=processOptions(options,{allowedStartRules:[ast.rules[0].name],cache:!1,dependencies:{},exportVar:null,format:"bare",output:"parser",trace:!1}),!Array.isArray(options.allowedStartRules))throw new Error("allowedStartRules must be an array");if(0===options.allowedStartRules.length)throw new Error("Must have at least one start rule");var allRules=ast.rules.map((function(e){return e.name}));if(options.allowedStartRules.some((function(e){return"*"===e})))options.allowedStartRules=allRules;else for(var _i=0,_a=options.allowedStartRules;_i<_a.length;_i++){var rule=_a[_i];if(-1===allRules.indexOf(rule))throw new Error('Unknown start rule "'.concat(rule,'"'))}if(("source-and-map"===options.output||"source-with-inline-map"===options.output)&&!isSourceMapCapable(options.grammarSource))throw new Error("Must provide grammarSource (as a string or GrammarLocation) in order to generate source maps");var session=new Session(options);switch(Object.keys(passes).forEach((function(e){session.stage=e,session.info("Process stage ".concat(e)),passes[e].forEach((function(t){session.info("Process pass ".concat(e,".").concat(t.name)),t(ast,options,session)})),session.checkErrors()})),options.output){case"parser":return eval(ast.code.toString());case"source":return ast.code.toString();case"source-and-map":return ast.code;case"source-with-inline-map":if("undefined"==typeof TextEncoder)throw new Error("TextEncoder is not supported by this platform");var sourceMap=ast.code.toStringWithSourceMap(),encoder=new TextEncoder,b64=base64(encoder.encode(JSON.stringify(sourceMap.map.toJSON())));return sourceMap.code+"//# sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(b64,"\n");case"ast":return ast;default:throw new Error("Invalid output format: "+options.output+".")}}},compiler_1=compiler$1,OPS_TO_PREFIXED_TYPES={$:"text","&":"simple_and","!":"simple_not"},OPS_TO_SUFFIXED_TYPES={"?":"optional","*":"zero_or_more","+":"one_or_more"},OPS_TO_SEMANTIC_PREDICATE_TYPES={"&":"semantic_and","!":"semantic_not"};function peg$subclass(e,t){function n(){this.constructor=e}n.prototype=t.prototype,e.prototype=new n}function peg$SyntaxError(e,t,n,r){var o=Error.call(this,e);return Object.setPrototypeOf&&Object.setPrototypeOf(o,peg$SyntaxError.prototype),o.expected=t,o.found=n,o.location=r,o.name="SyntaxError",o}function peg$padEnd(e,t,n){return n=n||" ",e.length>t?e:(t-=e.length,e+(n+=n.repeat(t)).slice(0,t))}function peg$parse(e,t){var n,r={},o=(t=void 0!==t?t:{}).grammarSource,u={Grammar:fn},a=fn,i="{",s="}",c="=",l="/",p="@",f=":",h="|",d=",",g="..",A="(",m=")",E="\n",_="\r\n",v="/*",C="*/",$="//",S="\\",y="i",F='"',b="'",x="[",P="^",D="]",B="-",R="0",O="b",L="f",T="n",M="r",w="t",I="v",N="x",k="u",H=".",U=";",j=/^[!$&]/,G=/^[*-+?]/,V=/^[!&]/,Y=/^[\t\v-\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]/,z=/^[\n\r\u2028\u2029]/,W=/^[\r\u2028-\u2029]/,J=/^[A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376-\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E-\u066F\u0671-\u06D3\u06D5\u06E5-\u06E6\u06EE-\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4-\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC-\u09DD\u09DF-\u09E1\u09F0-\u09F1\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33\u0A35-\u0A36\u0A38-\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0-\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B35-\u0B39\u0B3D\u0B5C-\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60-\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0-\u0CE1\u0CF1-\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32-\u0E33\u0E40-\u0E46\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065-\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE-\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5-\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,Q=/^[$0-9_\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7-\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962-\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7-\u09C8\u09CB-\u09CD\u09D7\u09E2-\u09E3\u09E6-\u09EF\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2-\u0AE3\u0AE6-\u0AEF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47-\u0B48\u0B4B-\u0B4D\u0B56-\u0B57\u0B62-\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55-\u0C56\u0C62-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5-\u0CD6\u0CE2-\u0CE3\u0CE6-\u0CEF\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62-\u0D63\u0D66-\u0D6F\u0D82-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2-\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EB9\u0EBB-\u0EBC\u0EC8-\u0ECD\u0ED0-\u0ED9\u0F18-\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F3F\u0F71-\u0F84\u0F86-\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19D9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8-\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u200C-\u200D\u203F-\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099-\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E-\uA69F\uA6F0-\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880-\uA881\uA8B4-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F1\uA900-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C-\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7-\uAAB8\uAABE-\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5-\uAAF6\uABE3-\uABEA\uABEC-\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33-\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F]/,q=/^[\n\r"\\\u2028-\u2029]/,X=/^[\n\r'\\\u2028-\u2029]/,K=/^[\n\r\\-\]\u2028-\u2029]/,Z=/^["'\\]/,ee=/^[0-9ux]/,te=/^[0-9]/,ne=/^[0-9a-f]/i,re=/^[{}]/,oe=un("{",!1),ue=un("}",!1),ae=un("=",!1),ie=un("/",!1),se=un("@",!1),ce=un(":",!1),le=an(["!","$","&"],!1,!1),pe=an([["*","+"],"?"],!1,!1),fe=un("|",!1),he=un(",",!1),de=un("..",!1),ge=un("(",!1),Ae=un(")",!1),me=an(["!","&"],!1,!1),Ee={type:"any"},_e=sn("whitespace"),ve=an(["\t",["\v","\f"]," "," "," ",[" "," "]," "," "," ","\ufeff"],!1,!1),Ce=an(["\n","\r","\u2028","\u2029"],!1,!1),$e=sn("end of line"),Se=un("\n",!1),ye=un("\r\n",!1),Fe=an(["\r",["\u2028","\u2029"]],!1,!1),be=sn("comment"),xe=un("/*",!1),Pe=un("*/",!1),De=un("//",!1),Be=sn("identifier"),Re=an([["A","Z"],"_",["a","z"],"ª","µ","º",["À","Ö"],["Ø","ö"],["ø","ˁ"],["ˆ","ˑ"],["ˠ","ˤ"],"ˬ","ˮ",["Ͱ","ʹ"],["Ͷ","ͷ"],["ͺ","ͽ"],"Ϳ","Ά",["Έ","Ί"],"Ό",["Ύ","Ρ"],["Σ","ϵ"],["Ϸ","ҁ"],["Ҋ","ԯ"],["Ա","Ֆ"],"ՙ",["ա","և"],["א","ת"],["װ","ײ"],["ؠ","ي"],["ٮ","ٯ"],["ٱ","ۓ"],"ە",["ۥ","ۦ"],["ۮ","ۯ"],["ۺ","ۼ"],"ۿ","ܐ",["ܒ","ܯ"],["ݍ","ޥ"],"ޱ",["ߊ","ߪ"],["ߴ","ߵ"],"ߺ",["ࠀ","ࠕ"],"ࠚ","ࠤ","ࠨ",["ࡀ","ࡘ"],["ࢠ","ࢴ"],["ऄ","ह"],"ऽ","ॐ",["क़","ॡ"],["ॱ","ঀ"],["অ","ঌ"],["এ","ঐ"],["ও","ন"],["প","র"],"ল",["শ","হ"],"ঽ","ৎ",["ড়","ঢ়"],["য়","ৡ"],["ৰ","ৱ"],["ਅ","ਊ"],["ਏ","ਐ"],["ਓ","ਨ"],["ਪ","ਰ"],["ਲ","ਲ਼"],["ਵ","ਸ਼"],["ਸ","ਹ"],["ਖ਼","ੜ"],"ਫ਼",["ੲ","ੴ"],["અ","ઍ"],["એ","ઑ"],["ઓ","ન"],["પ","ર"],["લ","ળ"],["વ","હ"],"ઽ","ૐ",["ૠ","ૡ"],"ૹ",["ଅ","ଌ"],["ଏ","ଐ"],["ଓ","ନ"],["ପ","ର"],["ଲ","ଳ"],["ଵ","ହ"],"ଽ",["ଡ଼","ଢ଼"],["ୟ","ୡ"],"ୱ","ஃ",["அ","ஊ"],["எ","ஐ"],["ஒ","க"],["ங","ச"],"ஜ",["ஞ","ட"],["ண","த"],["ந","ப"],["ம","ஹ"],"ௐ",["అ","ఌ"],["ఎ","ఐ"],["ఒ","న"],["ప","హ"],"ఽ",["ౘ","ౚ"],["ౠ","ౡ"],["ಅ","ಌ"],["ಎ","ಐ"],["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"],"ಽ","ೞ",["ೠ","ೡ"],["ೱ","ೲ"],["അ","ഌ"],["എ","ഐ"],["ഒ","ഺ"],"ഽ","ൎ",["ൟ","ൡ"],["ൺ","ൿ"],["අ","ඖ"],["ක","න"],["ඳ","ර"],"ල",["ව","ෆ"],["ก","ะ"],["า","ำ"],["เ","ๆ"],["ກ","ຂ"],"ຄ",["ງ","ຈ"],"ຊ","ຍ",["ດ","ທ"],["ນ","ຟ"],["ມ","ຣ"],"ລ","ວ",["ສ","ຫ"],["ອ","ະ"],["າ","ຳ"],"ຽ",["ເ","ໄ"],"ໆ",["ໜ","ໟ"],"ༀ",["ཀ","ཇ"],["ཉ","ཬ"],["ྈ","ྌ"],["က","ဪ"],"ဿ",["ၐ","ၕ"],["ၚ","ၝ"],"ၡ",["ၥ","ၦ"],["ၮ","ၰ"],["ၵ","ႁ"],"ႎ",["Ⴀ","Ⴥ"],"Ⴧ","Ⴭ",["ა","ჺ"],["ჼ","ቈ"],["ቊ","ቍ"],["ቐ","ቖ"],"ቘ",["ቚ","ቝ"],["በ","ኈ"],["ኊ","ኍ"],["ነ","ኰ"],["ኲ","ኵ"],["ኸ","ኾ"],"ዀ",["ዂ","ዅ"],["ወ","ዖ"],["ዘ","ጐ"],["ጒ","ጕ"],["ጘ","ፚ"],["ᎀ","ᎏ"],["Ꭰ","Ᏽ"],["ᏸ","ᏽ"],["ᐁ","ᙬ"],["ᙯ","ᙿ"],["ᚁ","ᚚ"],["ᚠ","ᛪ"],["ᛮ","ᛸ"],["ᜀ","ᜌ"],["ᜎ","ᜑ"],["ᜠ","ᜱ"],["ᝀ","ᝑ"],["ᝠ","ᝬ"],["ᝮ","ᝰ"],["ក","ឳ"],"ៗ","ៜ",["ᠠ","ᡷ"],["ᢀ","ᢨ"],"ᢪ",["ᢰ","ᣵ"],["ᤀ","ᤞ"],["ᥐ","ᥭ"],["ᥰ","ᥴ"],["ᦀ","ᦫ"],["ᦰ","ᧉ"],["ᨀ","ᨖ"],["ᨠ","ᩔ"],"ᪧ",["ᬅ","ᬳ"],["ᭅ","ᭋ"],["ᮃ","ᮠ"],["ᮮ","ᮯ"],["ᮺ","ᯥ"],["ᰀ","ᰣ"],["ᱍ","ᱏ"],["ᱚ","ᱽ"],["ᳩ","ᳬ"],["ᳮ","ᳱ"],["ᳵ","ᳶ"],["ᴀ","ᶿ"],["Ḁ","ἕ"],["Ἐ","Ἕ"],["ἠ","ὅ"],["Ὀ","Ὅ"],["ὐ","ὗ"],"Ὑ","Ὓ","Ὕ",["Ὗ","ώ"],["ᾀ","ᾴ"],["ᾶ","ᾼ"],"ι",["ῂ","ῄ"],["ῆ","ῌ"],["ῐ","ΐ"],["ῖ","Ί"],["ῠ","Ῥ"],["ῲ","ῴ"],["ῶ","ῼ"],"ⁱ","ⁿ",["ₐ","ₜ"],"ℂ","ℇ",["ℊ","ℓ"],"ℕ",["ℙ","ℝ"],"ℤ","Ω","ℨ",["K","ℭ"],["ℯ","ℹ"],["ℼ","ℿ"],["ⅅ","ⅉ"],"ⅎ",["Ⅰ","ↈ"],["Ⰰ","Ⱞ"],["ⰰ","ⱞ"],["Ⱡ","ⳤ"],["Ⳬ","ⳮ"],["Ⳳ","ⳳ"],["ⴀ","ⴥ"],"ⴧ","ⴭ",["ⴰ","ⵧ"],"ⵯ",["ⶀ","ⶖ"],["ⶠ","ⶦ"],["ⶨ","ⶮ"],["ⶰ","ⶶ"],["ⶸ","ⶾ"],["ⷀ","ⷆ"],["ⷈ","ⷎ"],["ⷐ","ⷖ"],["ⷘ","ⷞ"],"ⸯ",["々","〇"],["〡","〩"],["〱","〵"],["〸","〼"],["ぁ","ゖ"],["ゝ","ゟ"],["ァ","ヺ"],["ー","ヿ"],["ㄅ","ㄭ"],["ㄱ","ㆎ"],["ㆠ","ㆺ"],["ㇰ","ㇿ"],["㐀","䶵"],["一","鿕"],["ꀀ","ꒌ"],["ꓐ","ꓽ"],["ꔀ","ꘌ"],["ꘐ","ꘟ"],["ꘪ","ꘫ"],["Ꙁ","ꙮ"],["ꙿ","ꚝ"],["ꚠ","ꛯ"],["ꜗ","ꜟ"],["Ꜣ","ꞈ"],["Ꞌ","Ɬ"],["Ʞ","ꞷ"],["ꟷ","ꠁ"],["ꠃ","ꠅ"],["ꠇ","ꠊ"],["ꠌ","ꠢ"],["ꡀ","ꡳ"],["ꢂ","ꢳ"],["ꣲ","ꣷ"],"ꣻ","ꣽ",["ꤊ","ꤥ"],["ꤰ","ꥆ"],["ꥠ","ꥼ"],["ꦄ","ꦲ"],"ꧏ",["ꧠ","ꧤ"],["ꧦ","ꧯ"],["ꧺ","ꧾ"],["ꨀ","ꨨ"],["ꩀ","ꩂ"],["ꩄ","ꩋ"],["ꩠ","ꩶ"],"ꩺ",["ꩾ","ꪯ"],"ꪱ",["ꪵ","ꪶ"],["ꪹ","ꪽ"],"ꫀ","ꫂ",["ꫛ","ꫝ"],["ꫠ","ꫪ"],["ꫲ","ꫴ"],["ꬁ","ꬆ"],["ꬉ","ꬎ"],["ꬑ","ꬖ"],["ꬠ","ꬦ"],["ꬨ","ꬮ"],["ꬰ","ꭚ"],["ꭜ","ꭥ"],["ꭰ","ꯢ"],["가","힣"],["ힰ","ퟆ"],["ퟋ","ퟻ"],["豈","舘"],["並","龎"],["ff","st"],["ﬓ","ﬗ"],"יִ",["ײַ","ﬨ"],["שׁ","זּ"],["טּ","לּ"],"מּ",["נּ","סּ"],["ףּ","פּ"],["צּ","ﮱ"],["ﯓ","ﴽ"],["ﵐ","ﶏ"],["ﶒ","ﷇ"],["ﷰ","ﷻ"],["ﹰ","ﹴ"],["ﹶ","ﻼ"],["A","Z"],["a","z"],["ヲ","ᄒ"],["ᅡ","ᅦ"],["ᅧ","ᅬ"],["ᅭ","ᅲ"],["ᅳ","ᅵ"]],!1,!1),Oe=un("\\",!1),Le=an(["$",["0","9"],"_",["̀","ͯ"],["҃","҇"],["֑","ֽ"],"ֿ",["ׁ","ׂ"],["ׄ","ׅ"],"ׇ",["ؐ","ؚ"],["ً","٩"],"ٰ",["ۖ","ۜ"],["۟","ۤ"],["ۧ","ۨ"],["۪","ۭ"],["۰","۹"],"ܑ",["ܰ","݊"],["ަ","ް"],["߀","߉"],["߫","߳"],["ࠖ","࠙"],["ࠛ","ࠣ"],["ࠥ","ࠧ"],["ࠩ","࠭"],["࡙","࡛"],["ࣣ","ः"],["ऺ","़"],["ा","ॏ"],["॑","ॗ"],["ॢ","ॣ"],["०","९"],["ঁ","ঃ"],"়",["া","ৄ"],["ে","ৈ"],["ো","্"],"ৗ",["ৢ","ৣ"],["০","৯"],["ਁ","ਃ"],"਼",["ਾ","ੂ"],["ੇ","ੈ"],["ੋ","੍"],"ੑ",["੦","ੱ"],"ੵ",["ઁ","ઃ"],"઼",["ા","ૅ"],["ે","ૉ"],["ો","્"],["ૢ","ૣ"],["૦","૯"],["ଁ","ଃ"],"଼",["ା","ୄ"],["େ","ୈ"],["ୋ","୍"],["ୖ","ୗ"],["ୢ","ୣ"],["୦","୯"],"ஂ",["ா","ூ"],["ெ","ை"],["ொ","்"],"ௗ",["௦","௯"],["ఀ","ః"],["ా","ౄ"],["ె","ై"],["ొ","్"],["ౕ","ౖ"],["ౢ","ౣ"],["౦","౯"],["ಁ","ಃ"],"಼",["ಾ","ೄ"],["ೆ","ೈ"],["ೊ","್"],["ೕ","ೖ"],["ೢ","ೣ"],["೦","೯"],["ഁ","ഃ"],["ാ","ൄ"],["െ","ൈ"],["ൊ","്"],"ൗ",["ൢ","ൣ"],["൦","൯"],["ං","ඃ"],"්",["ා","ු"],"ූ",["ෘ","ෟ"],["෦","෯"],["ෲ","ෳ"],"ั",["ิ","ฺ"],["็","๎"],["๐","๙"],"ັ",["ິ","ູ"],["ົ","ຼ"],["່","ໍ"],["໐","໙"],["༘","༙"],["༠","༩"],"༵","༷","༹",["༾","༿"],["ཱ","྄"],["྆","྇"],["ྍ","ྗ"],["ྙ","ྼ"],"࿆",["ါ","ှ"],["၀","၉"],["ၖ","ၙ"],["ၞ","ၠ"],["ၢ","ၤ"],["ၧ","ၭ"],["ၱ","ၴ"],["ႂ","ႍ"],["ႏ","ႝ"],["፝","፟"],["ᜒ","᜔"],["ᜲ","᜴"],["ᝒ","ᝓ"],["ᝲ","ᝳ"],["឴","៓"],"៝",["០","៩"],["᠋","᠍"],["᠐","᠙"],"ᢩ",["ᤠ","ᤫ"],["ᤰ","᤻"],["᥆","᥏"],["᧐","᧙"],["ᨗ","ᨛ"],["ᩕ","ᩞ"],["᩠","᩼"],["᩿","᪉"],["᪐","᪙"],["᪰","᪽"],["ᬀ","ᬄ"],["᬴","᭄"],["᭐","᭙"],["᭫","᭳"],["ᮀ","ᮂ"],["ᮡ","ᮭ"],["᮰","᮹"],["᯦","᯳"],["ᰤ","᰷"],["᱀","᱉"],["᱐","᱙"],["᳐","᳒"],["᳔","᳨"],"᳭",["ᳲ","᳴"],["᳸","᳹"],["᷀","᷵"],["᷼","᷿"],["‌","‍"],["‿","⁀"],"⁔",["⃐","⃜"],"⃡",["⃥","⃰"],["⳯","⳱"],"⵿",["ⷠ","ⷿ"],["〪","〯"],["゙","゚"],["꘠","꘩"],"꙯",["ꙴ","꙽"],["ꚞ","ꚟ"],["꛰","꛱"],"ꠂ","꠆","ꠋ",["ꠣ","ꠧ"],["ꢀ","ꢁ"],["ꢴ","꣄"],["꣐","꣙"],["꣠","꣱"],["꤀","꤉"],["ꤦ","꤭"],["ꥇ","꥓"],["ꦀ","ꦃ"],["꦳","꧀"],["꧐","꧙"],"ꧥ",["꧰","꧹"],["ꨩ","ꨶ"],"ꩃ",["ꩌ","ꩍ"],["꩐","꩙"],["ꩻ","ꩽ"],"ꪰ",["ꪲ","ꪴ"],["ꪷ","ꪸ"],["ꪾ","꪿"],"꫁",["ꫫ","ꫯ"],["ꫵ","꫶"],["ꯣ","ꯪ"],["꯬","꯭"],["꯰","꯹"],"ﬞ",["︀","️"],["︠","︯"],["︳","︴"],["﹍","﹏"],["0","9"],"_"],!1,!1),Te=sn("literal"),Me=un("i",!1),we=sn("string"),Ie=un('"',!1),Ne=un("'",!1),ke=an(["\n","\r",'"',"\\",["\u2028","\u2029"]],!1,!1),He=an(["\n","\r","'","\\",["\u2028","\u2029"]],!1,!1),Ue=sn("character class"),je=un("[",!1),Ge=un("^",!1),Ve=un("]",!1),Ye=un("-",!1),ze=an(["\n","\r",["\\","]"],["\u2028","\u2029"]],!1,!1),We=un("0",!1),Je=an(['"',"'","\\"],!1,!1),Qe=un("b",!1),qe=un("f",!1),Xe=un("n",!1),Ke=un("r",!1),Ze=un("t",!1),et=un("v",!1),tt=an([["0","9"],"u","x"],!1,!1),nt=un("x",!1),rt=un("u",!1),ot=an([["0","9"]],!1,!1),ut=an([["0","9"],["a","f"]],!1,!0),at=un(".",!1),it=sn("code block"),st=an(["{","}"],!1,!1),ct=un(";",!1),lt=function(e,t,n){return{type:"grammar",topLevelInitializer:e,initializer:t,rules:n,location:rn()}},pt=function(e){return{type:"top_level_initializer",code:e[0],codeLocation:e[1],location:rn()}},ft=function(e){return{type:"initializer",code:e[0],codeLocation:e[1],location:rn()}},ht=function(e,t,n){return{type:"rule",name:e[0],nameLocation:e[1],expression:null!==t?{type:"named",name:t,expression:n,location:rn()}:n,location:rn()}},dt=function(e,t){return t.length>0?{type:"choice",alternatives:[e].concat(t),location:rn()}:e},gt=function(e,t){return null!==t?{type:"action",expression:e,code:t[0],codeLocation:t[1],location:rn()}:e},At=function(e,t){return t.length>0||"labeled"===e.type&&e.pick?{type:"sequence",elements:[e].concat(t),location:rn()}:e},mt=function(e,t,n){return n.type.startsWith("semantic_")&&on('"@" cannot be used on a semantic predicate',e),{type:"labeled",label:null!==t?t[0]:null,labelLocation:null!==t?t[1]:e,pick:!0,expression:n,location:rn()}},Et=function(e,t){return{type:"labeled",label:e[0],labelLocation:e[1],expression:t,location:rn()}},_t=function(){return rn()},vt=function(e){return Wn.indexOf(e[0])>=0&&on("Label can't be a reserved word \"".concat(e[0],'"'),e[1]),e},Ct=function(e,t){return{type:OPS_TO_PREFIXED_TYPES[e],expression:t,location:rn()}},$t=function(e,t){return{type:OPS_TO_SUFFIXED_TYPES[t],expression:e,location:rn()}},St=function(e,t,n){var r=t[0],o=t[1];return"constant"===o.type&&0===o.value&&on("The maximum count of repetitions of the rule must be > 0",o.location),{type:"repeated",min:r,max:o,expression:e,delimiter:n,location:rn()}},yt=function(e,t){return[null!==e?e:{type:"constant",value:0},null!==t?t:{type:"constant",value:null}]},Ft=function(e){return[null,e]},bt=function(e){return{type:"constant",value:e,location:rn()}},xt=function(e){return{type:"variable",value:e[0],location:rn()}},Pt=function(e){return{type:"function",value:e[0],codeLocation:e[1],location:rn()}},Dt=function(e){return"labeled"===e.type||"sequence"===e.type?{type:"group",expression:e,location:rn()}:e},Bt=function(e){return{type:"rule_ref",name:e[0],location:rn()}},Rt=function(e,t){return{type:OPS_TO_SEMANTIC_PREDICATE_TYPES[e],code:t[0],codeLocation:t[1],location:rn()}},Ot=function(e,t){return[e+t.join(""),rn()]},Lt=function(e,t){return{type:"literal",value:e,ignoreCase:null!==t,location:rn()}},Tt=function(e){return e.join("")},Mt=function(e){return e.join("")},wt=function(e,t,n){return{type:"class",parts:t.filter((function(e){return""!==e})),inverted:null!==e,ignoreCase:null!==n,location:rn()}},It=function(t,n){return t.charCodeAt(0)>n.charCodeAt(0)&&on("Invalid character range: "+e.substring(Kt,Xt)+"."),[t,n]},Nt=function(){return""},kt=function(){return"\0"},Ht=function(){return"\b"},Ut=function(){return"\f"},jt=function(){return"\n"},Gt=function(){return"\r"},Vt=function(){return"\t"},Yt=function(){return"\v"},zt=function(e){return String.fromCharCode(parseInt(e,16))},Wt=function(e){return String.fromCharCode(parseInt(e,16))},Jt=function(){return{type:"any",location:rn()}},Qt=function(e){return[e,rn()]},qt=function(e){return parseInt(e,10)},Xt=0,Kt=0,Zt=[{line:1,column:1}],en=0,tn=[],nn=0;if("startRule"in t){if(!(t.startRule in u))throw new Error("Can't start parsing from rule \""+t.startRule+'".');a=u[t.startRule]}function rn(){return ln(Kt,Xt)}function on(e,t){throw function(e,t){return new peg$SyntaxError(e,null,null,t)}(e,t=void 0!==t?t:ln(Kt,Xt))}function un(e,t){return{type:"literal",text:e,ignoreCase:t}}function an(e,t,n){return{type:"class",parts:e,inverted:t,ignoreCase:n}}function sn(e){return{type:"other",description:e}}function cn(t){var n,r=Zt[t];if(r)return r;if(t>=Zt.length)n=Zt.length-1;else for(n=t;!Zt[--n];);for(r={line:(r=Zt[n]).line,column:r.column};nen&&(en=Xt,tn=[]),tn.push(e))}function fn(){var t,n,o,u,a,c;if(t=Xt,Yn(),n=Xt,o=function(){var t,n,o,u;return t=Xt,123===e.charCodeAt(Xt)?(n=i,Xt++):(n=r,0===nn&&pn(oe)),n!==r&&(o=Gn())!==r?(125===e.charCodeAt(Xt)?(u=s,Xt++):(u=r,0===nn&&pn(ue)),u!==r&&zn()!==r?(Kt=t,t=pt(o)):(Xt=t,t=r)):(Xt=t,t=r),t}(),o!==r?(u=Yn(),n=o):(Xt=n,n=r),n===r&&(n=null),o=Xt,u=function(){var e,t;return e=Xt,(t=Gn())!==r&&zn()!==r?(Kt=e,e=ft(t)):(Xt=e,e=r),e}(),u!==r?(a=Yn(),o=u):(Xt=o,o=r),o===r&&(o=null),u=[],a=Xt,(c=hn())!==r?(Yn(),a=c):(Xt=a,a=r),a!==r)for(;a!==r;)u.push(a),a=Xt,(c=hn())!==r?(Yn(),a=c):(Xt=a,a=r);else u=r;return u!==r?(Kt=t,t=lt(n,o,u)):(Xt=t,t=r),t}function hn(){var t,n,o,u,a;return t=Xt,(n=Dn())!==r?(Yn(),o=Xt,(u=On())!==r?(Yn(),o=u):(Xt=o,o=r),o===r&&(o=null),61===e.charCodeAt(Xt)?(u=c,Xt++):(u=r,0===nn&&pn(ae)),u!==r?(Yn(),(a=dn())!==r&&zn()!==r?(Kt=t,t=ht(n,o,a)):(Xt=t,t=r)):(Xt=t,t=r)):(Xt=t,t=r),t}function dn(){var t,n,o,u,a,i;if(t=Xt,(n=gn())!==r){for(o=[],u=Xt,Yn(),47===e.charCodeAt(Xt)?(a=l,Xt++):(a=r,0===nn&&pn(ie)),a!==r?(Yn(),(i=gn())!==r?u=i:(Xt=u,u=r)):(Xt=u,u=r);u!==r;)o.push(u),u=Xt,Yn(),47===e.charCodeAt(Xt)?(a=l,Xt++):(a=r,0===nn&&pn(ie)),a!==r?(Yn(),(i=gn())!==r?u=i:(Xt=u,u=r)):(Xt=u,u=r);Kt=t,t=dt(n,o)}else Xt=t,t=r;return t}function gn(){var e,t,n,o;return e=Xt,t=function(){var e,t,n,o,u;if(e=Xt,(t=An())!==r){for(n=[],o=Xt,Yn(),(u=An())!==r?o=u:(Xt=o,o=r);o!==r;)n.push(o),o=Xt,Yn(),(u=An())!==r?o=u:(Xt=o,o=r);Kt=e,e=At(t,n)}else Xt=e,e=r;return e}(),t!==r?(n=Xt,Yn(),(o=Gn())!==r?n=o:(Xt=n,n=r),n===r&&(n=null),Kt=e,e=gt(t,n)):(Xt=e,e=r),e}function An(){var t,n,o,u;return t=Xt,n=function(){var t,n;return t=Xt,64===e.charCodeAt(Xt)?(n=p,Xt++):(n=r,0===nn&&pn(se)),n!==r&&(Kt=t,n=_t()),t=n}(),n!==r?((o=mn())===r&&(o=null),(u=En())!==r?(Kt=t,t=mt(n,o,u)):(Xt=t,t=r)):(Xt=t,t=r),t===r&&(t=Xt,(n=mn())!==r?(o=Yn(),(u=En())!==r?(Kt=t,t=Et(n,u)):(Xt=t,t=r)):(Xt=t,t=r),t===r&&(t=En())),t}function mn(){var t,n,o;return t=Xt,(n=Dn())!==r?(Yn(),58===e.charCodeAt(Xt)?(o=f,Xt++):(o=r,0===nn&&pn(ce)),o!==r?(Kt=t,t=vt(n)):(Xt=t,t=r)):(Xt=t,t=r),t}function En(){var t,n,o;return t=Xt,n=function(){var t;return t=e.charAt(Xt),j.test(t)?Xt++:(t=r,0===nn&&pn(le)),t}(),n!==r?(Yn(),(o=_n())!==r?(Kt=t,t=Ct(n,o)):(Xt=t,t=r)):(Xt=t,t=r),t===r&&(t=_n()),t}function _n(){var t,n,o;return t=Xt,(n=Cn())!==r?(Yn(),o=function(){var t;return t=e.charAt(Xt),G.test(t)?Xt++:(t=r,0===nn&&pn(pe)),t}(),o!==r?(Kt=t,t=$t(n,o)):(Xt=t,t=r)):(Xt=t,t=r),t===r&&(t=function(){var t,n,o,u,a,i,s;return t=Xt,(n=Cn())!==r?(Yn(),124===e.charCodeAt(Xt)?(o=h,Xt++):(o=r,0===nn&&pn(fe)),o!==r?(Yn(),u=function(){var t,n,o,u;return t=Xt,(n=vn())===r&&(n=null),Yn(),e.substr(Xt,2)===g?(o=g,Xt+=2):(o=r,0===nn&&pn(de)),o!==r?(Yn(),(u=vn())===r&&(u=null),Kt=t,t=yt(n,u)):(Xt=t,t=r),t===r&&(t=Xt,(n=vn())!==r&&(Kt=t,n=Ft(n)),t=n),t}(),u!==r?(Yn(),a=Xt,44===e.charCodeAt(Xt)?(i=d,Xt++):(i=r,0===nn&&pn(he)),i!==r?(Yn(),(s=dn())!==r?(Yn(),a=s):(Xt=a,a=r)):(Xt=a,a=r),a===r&&(a=null),124===e.charCodeAt(Xt)?(i=h,Xt++):(i=r,0===nn&&pn(fe)),i!==r?(Kt=t,t=St(n,u,a)):(Xt=t,t=r)):(Xt=t,t=r)):(Xt=t,t=r)):(Xt=t,t=r),t}(),t===r&&(t=Cn())),t}function vn(){var t,n;return t=Xt,n=function(){var t,n,o,u;if(t=Xt,n=Xt,o=[],(u=Un())!==r)for(;u!==r;)o.push(u),u=Un();else o=r;return(n=o!==r?e.substring(n,Xt):o)!==r&&(Kt=t,n=qt(n)),t=n}(),n!==r&&(Kt=t,n=bt(n)),(t=n)===r&&(t=Xt,(n=Dn())!==r&&(Kt=t,n=xt(n)),(t=n)===r&&(t=Xt,(n=Gn())!==r&&(Kt=t,n=Pt(n)),t=n)),t}function Cn(){var t,n,o,u;return t=function(){var t,n,o;return nn++,t=Xt,(n=On())!==r?(105===e.charCodeAt(Xt)?(o=y,Xt++):(o=r,0===nn&&pn(Me)),o===r&&(o=null),Kt=t,t=Lt(n,o)):(Xt=t,t=r),nn--,t===r&&(n=r,0===nn&&pn(Te)),t}(),t===r&&(t=function(){var t,n,o,u,a,i;if(nn++,t=Xt,91===e.charCodeAt(Xt)?(n=x,Xt++):(n=r,0===nn&&pn(je)),n!==r){for(94===e.charCodeAt(Xt)?(o=P,Xt++):(o=r,0===nn&&pn(Ge)),o===r&&(o=null),u=[],(a=Mn())===r&&(a=wn());a!==r;)u.push(a),(a=Mn())===r&&(a=wn());93===e.charCodeAt(Xt)?(a=D,Xt++):(a=r,0===nn&&pn(Ve)),a!==r?(105===e.charCodeAt(Xt)?(i=y,Xt++):(i=r,0===nn&&pn(Me)),i===r&&(i=null),Kt=t,t=wt(o,u,i)):(Xt=t,t=r)}else Xt=t,t=r;return nn--,t===r&&(n=r,0===nn&&pn(Ue)),t}(),t===r&&(t=function(){var t,n;return t=Xt,46===e.charCodeAt(Xt)?(n=H,Xt++):(n=r,0===nn&&pn(at)),n!==r&&(Kt=t,n=Jt()),t=n}(),t===r&&(t=function(){var t,n,o,u,a,i,s;return t=Xt,(n=Dn())!==r?(o=Xt,nn++,u=Xt,a=Yn(),i=Xt,(s=On())!==r?i=s=[s,Yn()]:(Xt=i,i=r),i===r&&(i=null),61===e.charCodeAt(Xt)?(s=c,Xt++):(s=r,0===nn&&pn(ae)),s!==r?u=a=[a,i,s]:(Xt=u,u=r),nn--,u===r?o=void 0:(Xt=o,o=r),o!==r?(Kt=t,t=Bt(n)):(Xt=t,t=r)):(Xt=t,t=r),t}(),t===r&&(t=function(){var t,n,o;return t=Xt,n=function(){var t;return t=e.charAt(Xt),V.test(t)?Xt++:(t=r,0===nn&&pn(me)),t}(),n!==r?(Yn(),(o=Gn())!==r?(Kt=t,t=Rt(n,o)):(Xt=t,t=r)):(Xt=t,t=r),t}(),t===r&&(t=Xt,40===e.charCodeAt(Xt)?(n=A,Xt++):(n=r,0===nn&&pn(ge)),n!==r?(Yn(),(o=dn())!==r?(Yn(),41===e.charCodeAt(Xt)?(u=m,Xt++):(u=r,0===nn&&pn(Ae)),u!==r?(Kt=t,t=Dt(o)):(Xt=t,t=r)):(Xt=t,t=r)):(Xt=t,t=r)))))),t}function $n(){var t;return e.length>Xt?(t=e.charAt(Xt),Xt++):(t=r,0===nn&&pn(Ee)),t}function Sn(){var t;return nn++,t=e.charAt(Xt),Y.test(t)?Xt++:(t=r,0===nn&&pn(ve)),nn--,t===r&&0===nn&&pn(_e),t}function yn(){var t;return t=e.charAt(Xt),z.test(t)?Xt++:(t=r,0===nn&&pn(Ce)),t}function Fn(){var t;return nn++,10===e.charCodeAt(Xt)?(t=E,Xt++):(t=r,0===nn&&pn(Se)),t===r&&(e.substr(Xt,2)===_?(t=_,Xt+=2):(t=r,0===nn&&pn(ye)),t===r&&(t=e.charAt(Xt),W.test(t)?Xt++:(t=r,0===nn&&pn(Fe)))),nn--,t===r&&0===nn&&pn($e),t}function bn(){var t;return nn++,(t=function(){var t,n,o,u,a,i;if(t=Xt,e.substr(Xt,2)===v?(n=v,Xt+=2):(n=r,0===nn&&pn(xe)),n!==r){for(o=[],u=Xt,a=Xt,nn++,e.substr(Xt,2)===C?(i=C,Xt+=2):(i=r,0===nn&&pn(Pe)),nn--,i===r?a=void 0:(Xt=a,a=r),a!==r&&(i=$n())!==r?u=a=[a,i]:(Xt=u,u=r);u!==r;)o.push(u),u=Xt,a=Xt,nn++,e.substr(Xt,2)===C?(i=C,Xt+=2):(i=r,0===nn&&pn(Pe)),nn--,i===r?a=void 0:(Xt=a,a=r),a!==r&&(i=$n())!==r?u=a=[a,i]:(Xt=u,u=r);e.substr(Xt,2)===C?(u=C,Xt+=2):(u=r,0===nn&&pn(Pe)),u!==r?t=n=[n,o,u]:(Xt=t,t=r)}else Xt=t,t=r;return t}())===r&&(t=Pn()),nn--,t===r&&0===nn&&pn(be),t}function xn(){var t,n,o,u,a,i;if(t=Xt,e.substr(Xt,2)===v?(n=v,Xt+=2):(n=r,0===nn&&pn(xe)),n!==r){for(o=[],u=Xt,a=Xt,nn++,e.substr(Xt,2)===C?(i=C,Xt+=2):(i=r,0===nn&&pn(Pe)),i===r&&(i=yn()),nn--,i===r?a=void 0:(Xt=a,a=r),a!==r&&(i=$n())!==r?u=a=[a,i]:(Xt=u,u=r);u!==r;)o.push(u),u=Xt,a=Xt,nn++,e.substr(Xt,2)===C?(i=C,Xt+=2):(i=r,0===nn&&pn(Pe)),i===r&&(i=yn()),nn--,i===r?a=void 0:(Xt=a,a=r),a!==r&&(i=$n())!==r?u=a=[a,i]:(Xt=u,u=r);e.substr(Xt,2)===C?(u=C,Xt+=2):(u=r,0===nn&&pn(Pe)),u!==r?t=n=[n,o,u]:(Xt=t,t=r)}else Xt=t,t=r;return t}function Pn(){var t,n,o,u,a,i;if(t=Xt,e.substr(Xt,2)===$?(n=$,Xt+=2):(n=r,0===nn&&pn(De)),n!==r){for(o=[],u=Xt,a=Xt,nn++,i=yn(),nn--,i===r?a=void 0:(Xt=a,a=r),a!==r&&(i=$n())!==r?u=a=[a,i]:(Xt=u,u=r);u!==r;)o.push(u),u=Xt,a=Xt,nn++,i=yn(),nn--,i===r?a=void 0:(Xt=a,a=r),a!==r&&(i=$n())!==r?u=a=[a,i]:(Xt=u,u=r);t=n=[n,o]}else Xt=t,t=r;return t}function Dn(){var e,t,n,o;if(nn++,e=Xt,(t=Bn())!==r){for(n=[],o=Rn();o!==r;)n.push(o),o=Rn();Kt=e,e=Ot(t,n)}else Xt=e,e=r;return nn--,e===r&&(t=r,0===nn&&pn(Be)),e}function Bn(){var t,n,o;return t=e.charAt(Xt),J.test(t)?Xt++:(t=r,0===nn&&pn(Re)),t===r&&(t=Xt,92===e.charCodeAt(Xt)?(n=S,Xt++):(n=r,0===nn&&pn(Oe)),n!==r&&(o=Hn())!==r?t=o:(Xt=t,t=r)),t}function Rn(){var t;return(t=Bn())===r&&(t=e.charAt(Xt),Q.test(t)?Xt++:(t=r,0===nn&&pn(Le))),t}function On(){var t,n,o,u;if(nn++,t=Xt,34===e.charCodeAt(Xt)?(n=F,Xt++):(n=r,0===nn&&pn(Ie)),n!==r){for(o=[],u=Ln();u!==r;)o.push(u),u=Ln();34===e.charCodeAt(Xt)?(u=F,Xt++):(u=r,0===nn&&pn(Ie)),u!==r?(Kt=t,t=Tt(o)):(Xt=t,t=r)}else Xt=t,t=r;if(t===r)if(t=Xt,39===e.charCodeAt(Xt)?(n=b,Xt++):(n=r,0===nn&&pn(Ne)),n!==r){for(o=[],u=Tn();u!==r;)o.push(u),u=Tn();39===e.charCodeAt(Xt)?(u=b,Xt++):(u=r,0===nn&&pn(Ne)),u!==r?(Kt=t,t=Mt(o)):(Xt=t,t=r)}else Xt=t,t=r;return nn--,t===r&&(n=r,0===nn&&pn(we)),t}function Ln(){var t,n,o,u;return t=Xt,n=Xt,o=Xt,nn++,u=e.charAt(Xt),q.test(u)?Xt++:(u=r,0===nn&&pn(ke)),nn--,u===r?o=void 0:(Xt=o,o=r),o!==r&&(u=$n())!==r?n=o=[o,u]:(Xt=n,n=r),(t=n!==r?e.substring(t,Xt):n)===r&&(t=Xt,92===e.charCodeAt(Xt)?(n=S,Xt++):(n=r,0===nn&&pn(Oe)),n!==r&&(o=Nn())!==r?t=o:(Xt=t,t=r),t===r&&(t=In())),t}function Tn(){var t,n,o,u;return t=Xt,n=Xt,o=Xt,nn++,u=e.charAt(Xt),X.test(u)?Xt++:(u=r,0===nn&&pn(He)),nn--,u===r?o=void 0:(Xt=o,o=r),o!==r&&(u=$n())!==r?n=o=[o,u]:(Xt=n,n=r),(t=n!==r?e.substring(t,Xt):n)===r&&(t=Xt,92===e.charCodeAt(Xt)?(n=S,Xt++):(n=r,0===nn&&pn(Oe)),n!==r&&(o=Nn())!==r?t=o:(Xt=t,t=r),t===r&&(t=In())),t}function Mn(){var t,n,o,u;return t=Xt,(n=wn())!==r?(45===e.charCodeAt(Xt)?(o=B,Xt++):(o=r,0===nn&&pn(Ye)),o!==r&&(u=wn())!==r?(Kt=t,t=It(n,u)):(Xt=t,t=r)):(Xt=t,t=r),t}function wn(){var t,n,o,u;return t=Xt,n=Xt,o=Xt,nn++,u=e.charAt(Xt),K.test(u)?Xt++:(u=r,0===nn&&pn(ze)),nn--,u===r?o=void 0:(Xt=o,o=r),o!==r&&(u=$n())!==r?n=o=[o,u]:(Xt=n,n=r),(t=n!==r?e.substring(t,Xt):n)===r&&(t=Xt,92===e.charCodeAt(Xt)?(n=S,Xt++):(n=r,0===nn&&pn(Oe)),n!==r&&(o=Nn())!==r?t=o:(Xt=t,t=r),t===r&&(t=In())),t}function In(){var t,n;return t=Xt,92===e.charCodeAt(Xt)?(n=S,Xt++):(n=r,0===nn&&pn(Oe)),n!==r&&Fn()!==r?(Kt=t,t=Nt()):(Xt=t,t=r),t}function Nn(){var t,n,o,u;return t=function(){var t;return(t=kn())===r&&(t=function(){var t,n,o,u;return t=Xt,n=Xt,o=Xt,nn++,u=function(){var t;return(t=kn())===r&&(t=e.charAt(Xt),ee.test(t)?Xt++:(t=r,0===nn&&pn(tt))),t}(),u===r&&(u=yn()),nn--,u===r?o=void 0:(Xt=o,o=r),o!==r&&(u=$n())!==r?n=o=[o,u]:(Xt=n,n=r),t=n!==r?e.substring(t,Xt):n}()),t}(),t===r&&(t=Xt,48===e.charCodeAt(Xt)?(n=R,Xt++):(n=r,0===nn&&pn(We)),n!==r?(o=Xt,nn++,u=Un(),nn--,u===r?o=void 0:(Xt=o,o=r),o!==r?(Kt=t,t=kt()):(Xt=t,t=r)):(Xt=t,t=r),t===r&&(t=function(){var t,n,o,u,a,i;return t=Xt,120===e.charCodeAt(Xt)?(n=N,Xt++):(n=r,0===nn&&pn(nt)),n!==r?(o=Xt,u=Xt,(a=jn())!==r&&(i=jn())!==r?u=a=[a,i]:(Xt=u,u=r),(o=u!==r?e.substring(o,Xt):u)!==r?(Kt=t,t=zt(o)):(Xt=t,t=r)):(Xt=t,t=r),t}(),t===r&&(t=Hn()))),t}function kn(){var t,n;return t=e.charAt(Xt),Z.test(t)?Xt++:(t=r,0===nn&&pn(Je)),t===r&&(t=Xt,98===e.charCodeAt(Xt)?(n=O,Xt++):(n=r,0===nn&&pn(Qe)),n!==r&&(Kt=t,n=Ht()),(t=n)===r&&(t=Xt,102===e.charCodeAt(Xt)?(n=L,Xt++):(n=r,0===nn&&pn(qe)),n!==r&&(Kt=t,n=Ut()),(t=n)===r&&(t=Xt,110===e.charCodeAt(Xt)?(n=T,Xt++):(n=r,0===nn&&pn(Xe)),n!==r&&(Kt=t,n=jt()),(t=n)===r&&(t=Xt,114===e.charCodeAt(Xt)?(n=M,Xt++):(n=r,0===nn&&pn(Ke)),n!==r&&(Kt=t,n=Gt()),(t=n)===r&&(t=Xt,116===e.charCodeAt(Xt)?(n=w,Xt++):(n=r,0===nn&&pn(Ze)),n!==r&&(Kt=t,n=Vt()),(t=n)===r&&(t=Xt,118===e.charCodeAt(Xt)?(n=I,Xt++):(n=r,0===nn&&pn(et)),n!==r&&(Kt=t,n=Yt()),t=n)))))),t}function Hn(){var t,n,o,u,a,i,s,c;return t=Xt,117===e.charCodeAt(Xt)?(n=k,Xt++):(n=r,0===nn&&pn(rt)),n!==r?(o=Xt,u=Xt,(a=jn())!==r&&(i=jn())!==r&&(s=jn())!==r&&(c=jn())!==r?u=a=[a,i,s,c]:(Xt=u,u=r),(o=u!==r?e.substring(o,Xt):u)!==r?(Kt=t,t=Wt(o)):(Xt=t,t=r)):(Xt=t,t=r),t}function Un(){var t;return t=e.charAt(Xt),te.test(t)?Xt++:(t=r,0===nn&&pn(ot)),t}function jn(){var t;return t=e.charAt(Xt),ne.test(t)?Xt++:(t=r,0===nn&&pn(ut)),t}function Gn(){var t,n,o,u;return nn++,t=Xt,123===e.charCodeAt(Xt)?(n=i,Xt++):(n=r,0===nn&&pn(oe)),n!==r?(o=function(){var e,t;return e=Xt,t=Vn(),Kt=e,e=t=Qt(t)}(),125===e.charCodeAt(Xt)?(u=s,Xt++):(u=r,0===nn&&pn(ue)),u!==r?t=o:(Xt=t,t=r)):(Xt=t,t=r),nn--,t===r&&(n=r,0===nn&&pn(it)),t}function Vn(){var t,n,o,u,a,c;if(t=Xt,n=[],o=[],u=Xt,a=Xt,nn++,c=e.charAt(Xt),re.test(c)?Xt++:(c=r,0===nn&&pn(st)),nn--,c===r?a=void 0:(Xt=a,a=r),a!==r&&(c=$n())!==r?u=a=[a,c]:(Xt=u,u=r),u!==r)for(;u!==r;)o.push(u),u=Xt,a=Xt,nn++,c=e.charAt(Xt),re.test(c)?Xt++:(c=r,0===nn&&pn(st)),nn--,c===r?a=void 0:(Xt=a,a=r),a!==r&&(c=$n())!==r?u=a=[a,c]:(Xt=u,u=r);else o=r;for(o===r&&(o=Xt,123===e.charCodeAt(Xt)?(u=i,Xt++):(u=r,0===nn&&pn(oe)),u!==r?(a=Vn(),125===e.charCodeAt(Xt)?(c=s,Xt++):(c=r,0===nn&&pn(ue)),c!==r?o=u=[u,a,c]:(Xt=o,o=r)):(Xt=o,o=r));o!==r;){if(n.push(o),o=[],u=Xt,a=Xt,nn++,c=e.charAt(Xt),re.test(c)?Xt++:(c=r,0===nn&&pn(st)),nn--,c===r?a=void 0:(Xt=a,a=r),a!==r&&(c=$n())!==r?u=a=[a,c]:(Xt=u,u=r),u!==r)for(;u!==r;)o.push(u),u=Xt,a=Xt,nn++,c=e.charAt(Xt),re.test(c)?Xt++:(c=r,0===nn&&pn(st)),nn--,c===r?a=void 0:(Xt=a,a=r),a!==r&&(c=$n())!==r?u=a=[a,c]:(Xt=u,u=r);else o=r;o===r&&(o=Xt,123===e.charCodeAt(Xt)?(u=i,Xt++):(u=r,0===nn&&pn(oe)),u!==r?(a=Vn(),125===e.charCodeAt(Xt)?(c=s,Xt++):(c=r,0===nn&&pn(ue)),c!==r?o=u=[u,a,c]:(Xt=o,o=r)):(Xt=o,o=r))}return e.substring(t,Xt)}function Yn(){var e,t;for(e=[],(t=Sn())===r&&(t=Fn())===r&&(t=bn());t!==r;)e.push(t),(t=Sn())===r&&(t=Fn())===r&&(t=bn());return e}function zn(){var t,n,o,u;if(t=[],n=Xt,o=Yn(),59===e.charCodeAt(Xt)?(u=U,Xt++):(u=r,0===nn&&pn(ct)),u!==r?n=o=[o,u]:(Xt=n,n=r),n!==r)for(;n!==r;)t.push(n),n=Xt,o=Yn(),59===e.charCodeAt(Xt)?(u=U,Xt++):(u=r,0===nn&&pn(ct)),u!==r?n=o=[o,u]:(Xt=n,n=r);else t=r;return t===r&&(t=Xt,n=function(){var e,t;for(e=[],(t=Sn())===r&&(t=xn());t!==r;)e.push(t),(t=Sn())===r&&(t=xn());return e}(),(o=Pn())===r&&(o=null),(u=Fn())!==r?t=n=[n,o,u]:(Xt=t,t=r),t===r&&(t=Xt,n=Yn(),o=function(){var t,n;return t=Xt,nn++,e.length>Xt?(n=e.charAt(Xt),Xt++):(n=r,0===nn&&pn(Ee)),nn--,n===r?t=void 0:(Xt=t,t=r),t}(),o!==r?t=n=[n,o]:(Xt=t,t=r))),t}var Wn=t.reservedWords||[];if((n=a())!==r&&Xt===e.length)return n;throw n!==r&&Xt0){for(t=1,n=1;t0&&(this.functions.shift()(),setTimeout((function(){o.run()}),0))}},u={};o.add((function(){r.start(),u.totalInputSize=0,u.totalParseTime=0})),e.forEach((function(e){o.add(function(e){return function(){r.benchmarkStart(e),u.parser=peg.generate(r.readFile("../examples/"+e.id+".pegjs"),n),u.benchmarkInputSize=0,u.benchmarkParseTime=0}}(e)),e.tests.forEach((function(n){o.add(function(e,n){return function(){r.testStart(e,n);for(var o=r.readFile(e.id+"/"+n.file),a=0,i=0;i\n \n ").concat(null!==r?"":"","\n ").concat(n,"\n ").concat(null!==r?"":"","\n \n \n \n ").concat((o/1024).toFixed(2),"\n \n  kB\n \n \n \n ").concat(u.toFixed(2),"\n \n  ms\n \n \n \n ").concat((o/1024/(u/1e3)).toFixed(2),"\n \n  kB/s\n \n \n "))}var n=parseInt($("#run-count").val(),10),r={cache:$("#cache").is(":checked")};isNaN(n)||n<=0?alert("Number of runs must be a positive integer."):Runner.run(benchmarks,n,r,{readFile:function(e){return $.ajax({type:"GET",url:"https://raw.githubusercontent.com/peggyjs/peggy/".concat(BRANCH,"/benchmark/").concat(e),dataType:"text",async:!1}).responseText},testStart:function(){},testFinish:function(e,n,r,o){t("individual",n.title,"https://github.com/peggyjs/peggy/blob/".concat(BRANCH,"/benchmark/").concat(e.id,"/").concat(n.file),r,o)},benchmarkStart:function(t){e.append("\n \n \n ").concat(t.title,' \n \n "\n '))},benchmarkFinish:function(e,n,r){t("benchmark-total",e.title+" total",null,n,r)},start:function(){$("#run-count, #cache, #run").attr("disabled","disabled"),e.show(),$("#results-table tr").slice(1).remove()},finish:function(e,n){t("total","Total",null,e,n),$.scrollTo("max",{axis:"y",duration:500}),$("#run-count, #cache, #run").removeAttr("disabled")}})})),$(document).ready((function(){return $("#run").focus()})),browser_stub})); \ No newline at end of file diff --git a/docs/js/test-bundle.min.js b/docs/js/test-bundle.min.js index 57db6676..17471111 100644 --- a/docs/js/test-bundle.min.js +++ b/docs/js/test-bundle.min.js @@ -5,4 +5,4 @@ // Copyright (c) 2023- the Peggy authors // Licensed under the MIT License. -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("chai"),require("whatwg-url")):"function"==typeof define&&define.amd?define(["exports","chai","whatwg-url"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).browser={},e.chai,e.whatwgURL)}(this,(function(exports,require$$0,require$$0$1){var commonjsGlobal="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},GrammarLocation$5=function(){function e(e,t){this.source=e,this.start=t}return e.prototype.toString=function(){return String(this.source)},e.prototype.offset=function(e){return{line:e.line+this.start.line-1,column:1===e.line?e.column+this.start.column-1:e.column,offset:e.offset+this.start.offset}},e.offsetStart=function(e){return e.source&&"function"==typeof e.source.offset?e.source.offset(e.start):e.start},e.offsetEnd=function(e){return e.source&&"function"==typeof e.source.offset?e.source.offset(e.end):e.end},e}(),grammarLocation=GrammarLocation$5,__extends=commonjsGlobal&&commonjsGlobal.__extends||(extendStatics=function(e,t){return extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},extendStatics(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}extendStatics(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),extendStatics,GrammarLocation$4=grammarLocation,setProtoOf=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},GrammarError$5=function(e){function t(r,a,n){var o=e.call(this,r)||this;return setProtoOf(o,t.prototype),o.name="GrammarError",o.location=a,void 0===n&&(n=[]),o.diagnostics=n,o.stage=null,o.problems=[["error",r,a,n]],o}return __extends(t,e),t.prototype.toString=function(){var t=e.prototype.toString.call(this);this.location&&(t+="\n at ",void 0!==this.location.source&&null!==this.location.source&&(t+="".concat(this.location.source,":")),t+="".concat(this.location.start.line,":").concat(this.location.start.column));for(var r=0,a=this.diagnostics;r1&&e.delimiter&&n(e.delimiter)))},semantic_and:a,semantic_not:a,rule_ref:function(t){var r=asts$7.findRule(e,t.name);return r?n(r):void 0},literal:function(e){return""!==e.value},class:r,any:r});return n(t)}},asts_1=asts$7,opcodes={PUSH:0,PUSH_EMPTY_STRING:35,PUSH_UNDEFINED:1,PUSH_NULL:2,PUSH_FAILED:3,PUSH_EMPTY_ARRAY:4,PUSH_CURR_POS:5,POP:6,POP_CURR_POS:7,POP_N:8,NIP:9,APPEND:10,WRAP:11,TEXT:12,PLUCK:36,IF:13,IF_ERROR:14,IF_NOT_ERROR:15,IF_LT:30,IF_GE:31,IF_LT_DYNAMIC:32,IF_GE_DYNAMIC:33,WHILE_NOT_ERROR:16,MATCH_ANY:17,MATCH_STRING:18,MATCH_STRING_IC:19,MATCH_CHAR_CLASS:20,MATCH_REGEXP:20,ACCEPT_N:21,ACCEPT_STRING:22,FAIL:23,LOAD_SAVED_POS:24,UPDATE_SAVED_POS:25,CALL:26,RULE:27,SILENT_FAILS_ON:28,SILENT_FAILS_OFF:29,SOURCE_MAP_PUSH:37,SOURCE_MAP_POP:38,SOURCE_MAP_LABEL_PUSH:39,SOURCE_MAP_LABEL_POP:40},opcodes_1=opcodes,visitor$a=visitor_1,asts$6=asts_1,GrammarError$4=grammarError,ALWAYS_MATCH$1=1,SOMETIMES_MATCH$1=0,NEVER_MATCH$1=-1;function inferenceMatchResult$1(e){function t(e){return e.match=SOMETIMES_MATCH$1}function r(e){return o(e.expression),e.match=ALWAYS_MATCH$1}function a(e){return e.match=o(e.expression)}function n(e,t){for(var r=e.length,a=0,n=0,s=0;s0?NEVER_MATCH$1:SOMETIMES_MATCH$1}var o=visitor$a.build({rule:function(e){var t=void 0,r=0;if(void 0===e.match){e.match=SOMETIMES_MATCH$1;do{if(t=e.match,e.match=o(e.expression),++r>6)throw new GrammarError$4("Infinity cycle detected when trying to evaluate node match result",e.location)}while(t!==e.match)}return e.match},named:a,choice:function(e){return e.match=n(e.alternatives,!0)},action:a,sequence:function(e){return e.match=n(e.elements,!1)},labeled:a,text:a,simple_and:a,simple_not:function(e){return e.match=-o(e.expression)},optional:r,zero_or_more:r,one_or_more:a,repeated:function(e){var t=o(e.expression),r=e.delimiter?o(e.delimiter):NEVER_MATCH$1,a=e.min?e.min:e.max;return"constant"!==a.type||"constant"!==e.max.type?e.match=SOMETIMES_MATCH$1:0===e.max.value||null!==e.max.value&&a.value>e.max.value?e.match=NEVER_MATCH$1:t===NEVER_MATCH$1?e.match=0===a.value?ALWAYS_MATCH$1:NEVER_MATCH$1:t===ALWAYS_MATCH$1?e.delimiter&&a.value>=2?e.match=r:e.match=ALWAYS_MATCH$1:e.delimiter&&a.value>=2?e.match=r===NEVER_MATCH$1?NEVER_MATCH$1:SOMETIMES_MATCH$1:e.match=0===a.value?ALWAYS_MATCH$1:SOMETIMES_MATCH$1},group:a,semantic_and:t,semantic_not:t,rule_ref:function(t){var r=asts$6.findRule(e,t.name);return t.match=o(r)},literal:function(e){var t=0===e.value.length?ALWAYS_MATCH$1:SOMETIMES_MATCH$1;return e.match=t},class:function(e){var t=0===e.parts.length?NEVER_MATCH$1:SOMETIMES_MATCH$1;return e.match=t},any:t});o(e)}inferenceMatchResult$1.ALWAYS_MATCH=ALWAYS_MATCH$1,inferenceMatchResult$1.SOMETIMES_MATCH=SOMETIMES_MATCH$1,inferenceMatchResult$1.NEVER_MATCH=NEVER_MATCH$1;var inferenceMatchResult_1=inferenceMatchResult$1,__spreadArray$5=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var a,n=0,o=t.length;n1?g(SOMETIMES_MATCH,[op$2.IF_ERROR],f([op$2.POP],e(t.slice(1),r)),[]):[])}(e.alternatives,t)},action:function(e,t){var r=l(t.env),a="sequence"!==e.expression.type||0===e.expression.elements.length,n=A(e.expression,{sp:t.sp+(a?1:0),env:r,action:e}),o=0|e.expression.match,s=a&&o!==NEVER_MATCH?u(!1,Object.keys(r),e):null;return a?f([op$2.PUSH_CURR_POS],n,g(o,[op$2.IF_NOT_ERROR],f([op$2.LOAD_SAVED_POS,1],d(s,1,r,t.sp+2)),[]),[op$2.NIP]):n},sequence:function(e,t){return f([op$2.PUSH_CURR_POS],function t(r,a){if(r.length>0){var n=e.elements.length-r.length+1;return f(A(r[0],{sp:a.sp,env:a.env,pluck:a.pluck,action:null}),g(0|r[0].match,[op$2.IF_NOT_ERROR],t(r.slice(1),{sp:a.sp+1,env:a.env,pluck:a.pluck,action:a.action}),f(n>1?[op$2.POP_N,n]:[op$2.POP],[op$2.POP_CURR_POS],[op$2.PUSH_FAILED])))}if(a.pluck.length>0)return f([op$2.PLUCK,e.elements.length+1,a.pluck.length],a.pluck.map((function(e){return a.sp-e})));if(a.action){var o=u(!1,Object.keys(a.env),a.action);return f([op$2.LOAD_SAVED_POS,e.elements.length],d(o,e.elements.length+1,a.env,a.sp))}return f([op$2.WRAP,e.elements.length],[op$2.NIP])}(e.elements,{sp:t.sp+1,env:t.env,pluck:[],action:t.action}))},labeled:function(e,r){var a=r.env,n=e.label,o=r.sp+1;n&&(a=l(r.env),r.env[e.label]=o),e.pick&&r.pluck.push(o);var s=A(e.expression,{sp:r.sp,env:a,action:null});return n&&e.labelLocation&&t&&"source-and-map"===t.output?f([op$2.SOURCE_MAP_LABEL_PUSH,o,c(n),p(e.labelLocation)],s,[op$2.SOURCE_MAP_LABEL_POP,o]):s},text:function(e,t){return f([op$2.PUSH_CURR_POS],A(e.expression,{sp:t.sp+1,env:l(t.env),action:null}),g(0|e.match,[op$2.IF_NOT_ERROR],f([op$2.POP],[op$2.TEXT]),[op$2.NIP]))},simple_and:function(e,t){return m(e.expression,!1,t)},simple_not:function(e,t){return m(e.expression,!0,t)},optional:function(e,t){return f(A(e.expression,{sp:t.sp,env:l(t.env),action:null}),g(-(0|e.expression.match),[op$2.IF_ERROR],f([op$2.POP],[op$2.PUSH_NULL]),[]))},zero_or_more:function(e,t){var r=A(e.expression,{sp:t.sp+1,env:l(t.env),action:null});return f([op$2.PUSH_EMPTY_ARRAY],r,h(r),[op$2.POP])},one_or_more:function(e,t){var r=A(e.expression,{sp:t.sp+1,env:l(t.env),action:null});return f([op$2.PUSH_EMPTY_ARRAY],r,g(0|e.expression.match,[op$2.IF_NOT_ERROR],f(h(r),[op$2.POP]),f([op$2.POP],[op$2.POP],[op$2.PUSH_FAILED])))},repeated:function(e,t){var r=e.min?e.min:e.max,a="constant"!==r.type||r.value>0,n="constant"!==e.max.type&&null!==e.max.value,o=a?2:1,s=e.min?x(e.min,t.env,t.sp,2+("function"===e.max.type?1:0)):{pre:[],post:[],sp:t.sp},c=x(e.max,t.env,s.sp,o),i=A(e.expression,{sp:c.sp+o,env:l(t.env),action:null}),u=null!==e.delimiter?A(e.expression,{sp:c.sp+o+1,env:l(t.env),action:null}):i,p=function(e,t,r,a,n){return e?f([op$2.PUSH_CURR_POS],A(e,{sp:a.sp+n+1,env:l(a.env),action:null}),g(0|e.match,[op$2.IF_NOT_ERROR],f([op$2.POP],r,g(-t,[op$2.IF_ERROR],[op$2.POP,op$2.POP_CURR_POS,op$2.PUSH_FAILED],[op$2.NIP])),[op$2.NIP])):r}(e.delimiter,0|e.expression.match,u,t,o),d=b(p,e.max),m=n?b(i,e.max):i,$=f(a?[op$2.PUSH_CURR_POS]:[],[op$2.PUSH_EMPTY_ARRAY],m,h(d),[op$2.POP]);return f(s.pre,c.pre,a?function(e,t){var r="constant"===t.type?[op$2.IF_LT,t.value]:[op$2.IF_LT_DYNAMIC,t.sp];return f(e,g(SOMETIMES_MATCH,r,[op$2.POP,op$2.POP_CURR_POS,op$2.PUSH_FAILED],[op$2.NIP]))}($,r):$,c.post,s.post)},group:function(e,t){return A(e.expression,{sp:t.sp,env:l(t.env),action:null})},semantic_and:function(e,t){return $(e,!1,t)},semantic_not:function(e,t){return $(e,!0,t)},rule_ref:function(t){return[op$2.RULE,asts$5.indexOfRule(e,t.name)]},literal:function(e){if(e.value.length>0){var t=0|e.match,r=t===SOMETIMES_MATCH||t===ALWAYS_MATCH&&!e.ignoreCase?c(e.ignoreCase?e.value.toLowerCase():e.value):null,a=t!==ALWAYS_MATCH?i({type:"literal",value:e.value,ignoreCase:e.ignoreCase}):null;return g(t,e.ignoreCase?[op$2.MATCH_STRING_IC,r]:[op$2.MATCH_STRING,r],e.ignoreCase?[op$2.ACCEPT_N,e.value.length]:[op$2.ACCEPT_STRING,r],[op$2.FAIL,a])}return[op$2.PUSH_EMPTY_STRING]},class:function(e){var t=0|e.match,r=t===SOMETIMES_MATCH?function(e){var t={value:e.parts,inverted:e.inverted,ignoreCase:e.ignoreCase},r=JSON.stringify(t),n=a.findIndex((function(e){return JSON.stringify(e)===r}));return-1===n?a.push(t)-1:n}(e):null,n=t!==ALWAYS_MATCH?i({type:"class",value:e.parts,inverted:e.inverted,ignoreCase:e.ignoreCase}):null;return g(t,[op$2.MATCH_CHAR_CLASS,r],[op$2.ACCEPT_N,1],[op$2.FAIL,n])},any:function(e){var t=0|e.match,r=t!==ALWAYS_MATCH?i({type:"any"}):null;return g(t,[op$2.MATCH_ANY],[op$2.ACCEPT_N,1],[op$2.FAIL,r])}},t&&"source-and-map"===t.output&&Object.entries(v).forEach((function(e){var t=e[0],r=e[1];v[t]=function(e){for(var t=[],a=1;a>>=VLQ_BASE_SHIFT$1,a>0&&(t|=VLQ_CONTINUATION_BIT$1),r+=base64$5.encode(t)}while(a>0);return r};var util$8={};function getArg$1(e,t,r){if(t in e)return e[t];if(3===arguments.length)return r;throw new Error('"'+t+'" is a required argument.')}util$8.getArg=getArg$1;const supportsNullProto$1=!("__proto__"in Object.create(null));function identity$1(e){return e}function toSetString$1(e){return isProtoString$1(e)?"$"+e:e}function fromSetString$1(e){return isProtoString$1(e)?e.slice(1):e}function isProtoString$1(e){if(!e)return!1;const t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(let r=t-10;r>=0;r--)if(36!==e.charCodeAt(r))return!1;return!0}function strcmp$1(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}function compareByGeneratedPositionsInflated$1(e,t){let r=e.generatedLine-t.generatedLine;return 0!==r?r:(r=e.generatedColumn-t.generatedColumn,0!==r?r:(r=strcmp$1(e.source,t.source),0!==r?r:(r=e.originalLine-t.originalLine,0!==r?r:(r=e.originalColumn-t.originalColumn,0!==r?r:strcmp$1(e.name,t.name)))))}util$8.toSetString=supportsNullProto$1?identity$1:toSetString$1,util$8.fromSetString=supportsNullProto$1?identity$1:fromSetString$1,util$8.compareByGeneratedPositionsInflated=compareByGeneratedPositionsInflated$1;const PROTOCOL$1="http:",PROTOCOL_AND_HOST$1=`${PROTOCOL$1}//host`;function createSafeHandler$1(e){return t=>{const r=getURLType$1(t),a=buildSafeBase$1(t),n=new URL(t,a);e(n);const o=n.toString();return"absolute"===r?o:"scheme-relative"===r?o.slice(PROTOCOL$1.length):"path-absolute"===r?o.slice(PROTOCOL_AND_HOST$1.length):computeRelativeURL$1(a,o)}}function withBase$1(e,t){return new URL(e,t).toString()}function buildUniqueSegment$1(e,t){let r=0;for(;;){const a=e+r++;if(-1===t.indexOf(a))return a}}function buildSafeBase$1(e){const t=e.split("..").length-1,r=buildUniqueSegment$1("p",e);let a=`${PROTOCOL_AND_HOST$1}/`;for(let e=0;e0&&!a[a.length-1]&&a.pop();r.length>0&&a.length>0&&r[0]===a[0];)r.shift(),a.shift();return a.map((()=>"..")).concat(r).join("/")+t.search+t.hash}const ensureDirectory$1=createSafeHandler$1((e=>{e.pathname=e.pathname.replace(/\/?$/,"/")})),normalize$1=createSafeHandler$1((e=>{}));function join$1(e,t){const r=getURLType$1(t),a=getURLType$1(e);if(e=ensureDirectory$1(e),"absolute"===r)return withBase$1(t,void 0);if("absolute"===a)return withBase$1(t,e);if("scheme-relative"===r)return normalize$1(t);if("scheme-relative"===a)return withBase$1(t,withBase$1(e,PROTOCOL_AND_HOST$1)).slice(PROTOCOL$1.length);if("path-absolute"===r)return normalize$1(t);if("path-absolute"===a)return withBase$1(t,withBase$1(e,PROTOCOL_AND_HOST$1)).slice(PROTOCOL_AND_HOST$1.length);const n=buildSafeBase$1(t+e);return computeRelativeURL$1(n,withBase$1(t,withBase$1(e,n)))}function relative$1(e,t){const r=relativeIfPossible$1(e,t);return"string"==typeof r?r:normalize$1(t)}function relativeIfPossible$1(e,t){if(getURLType$1(e)!==getURLType$1(t))return null;const r=buildSafeBase$1(e+t),a=new URL(e,r),n=new URL(t,r);try{new URL("",n.toString())}catch(e){return null}return n.protocol!==a.protocol||n.user!==a.user||n.password!==a.password||n.hostname!==a.hostname||n.port!==a.port?null:computeRelativeURL$1(a,n)}util$8.normalize=normalize$1,util$8.join=join$1,util$8.relative=relative$1;var arraySet$1={};let ArraySet$4=class e{constructor(){this._array=[],this._set=new Map}static fromArray(t,r){const a=new e;for(let e=0,n=t.length;e=0)return t;throw new Error('"'+e+'" is not in the set.')}at(e){if(e>=0&&er||a==r&&o>=n||util$7.compareByGeneratedPositionsInflated(e,t)<=0}let MappingList$3=class{constructor(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}unsortedForEach(e,t){this._array.forEach(e,t)}add(e){generatedPositionAfter$1(this._last,e)?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))}toArray(){return this._sorted||(this._array.sort(util$7.compareByGeneratedPositionsInflated),this._sorted=!0),this._array}};mappingList$1.MappingList=MappingList$3;const base64VLQ$1=base64Vlq$1,util$6=util$8,ArraySet$3=arraySet$1.ArraySet,MappingList$2=mappingList$1.MappingList;let SourceMapGenerator$3=class e{constructor(e){e||(e={}),this._file=util$6.getArg(e,"file",null),this._sourceRoot=util$6.getArg(e,"sourceRoot",null),this._skipValidation=util$6.getArg(e,"skipValidation",!1),this._sources=new ArraySet$3,this._names=new ArraySet$3,this._mappings=new MappingList$2,this._sourcesContents=null}static fromSourceMap(t){const r=t.sourceRoot,a=new e({file:t.file,sourceRoot:r});return t.eachMapping((function(e){const t={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(t.source=e.source,null!=r&&(t.source=util$6.relative(r,t.source)),t.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(t.name=e.name)),a.addMapping(t)})),t.sources.forEach((function(e){let n=e;null!=r&&(n=util$6.relative(r,e)),a._sources.has(n)||a._sources.add(n);const o=t.sourceContentFor(e);null!=o&&a.setSourceContent(e,o)})),a}addMapping(e){const t=util$6.getArg(e,"generated"),r=util$6.getArg(e,"original",null);let a=util$6.getArg(e,"source",null),n=util$6.getArg(e,"name",null);this._skipValidation||this._validateMapping(t,r,a,n),null!=a&&(a=String(a),this._sources.has(a)||this._sources.add(a)),null!=n&&(n=String(n),this._names.has(n)||this._names.add(n)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:r&&r.line,originalColumn:r&&r.column,source:a,name:n})}setSourceContent(e,t){let r=e;null!=this._sourceRoot&&(r=util$6.relative(this._sourceRoot,r)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[util$6.toSetString(r)]=t):this._sourcesContents&&(delete this._sourcesContents[util$6.toSetString(r)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))}applySourceMap(e,t,r){let a=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');a=e.file}const n=this._sourceRoot;null!=n&&(a=util$6.relative(n,a));const o=this._mappings.toArray().length>0?new ArraySet$3:this._sources,s=new ArraySet$3;this._mappings.unsortedForEach((function(t){if(t.source===a&&null!=t.originalLine){const a=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=a.source&&(t.source=a.source,null!=r&&(t.source=util$6.join(r,t.source)),null!=n&&(t.source=util$6.relative(n,t.source)),t.originalLine=a.line,t.originalColumn=a.column,null!=a.name&&(t.name=a.name))}const c=t.source;null==c||o.has(c)||o.add(c);const i=t.name;null==i||s.has(i)||s.add(i)}),this),this._sources=o,this._names=s,e.sources.forEach((function(t){const a=e.sourceContentFor(t);null!=a&&(null!=r&&(t=util$6.join(r,t)),null!=n&&(t=util$6.relative(n,t)),this.setSourceContent(t,a))}),this)}_validateMapping(e,t,r,a){if(t&&"number"!=typeof t.line&&"number"!=typeof t.column)throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0&&!t&&!r&&!a);else if(!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&r))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:r,original:t,name:a}))}_serializeMappings(){let e,t,r,a,n=0,o=1,s=0,c=0,i=0,u=0,p="";const l=this._mappings.toArray();for(let f=0,g=l.length;f0){if(!util$6.compareByGeneratedPositionsInflated(t,l[f-1]))continue;e+=","}e+=base64VLQ$1.encode(t.generatedColumn-n),n=t.generatedColumn,null!=t.source&&(a=this._sources.indexOf(t.source),e+=base64VLQ$1.encode(a-u),u=a,e+=base64VLQ$1.encode(t.originalLine-1-c),c=t.originalLine-1,e+=base64VLQ$1.encode(t.originalColumn-s),s=t.originalColumn,null!=t.name&&(r=this._names.indexOf(t.name),e+=base64VLQ$1.encode(r-i),i=r)),p+=e}return p}_generateSourcesContent(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=util$6.relative(t,e));const r=util$6.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null}),this)}toJSON(){const e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e}toString(){return JSON.stringify(this.toJSON())}};SourceMapGenerator$3.prototype._version=3,sourceMapGenerator$1.SourceMapGenerator=SourceMapGenerator$3;var sourceNode$1={};const SourceMapGenerator$2=sourceMapGenerator$1.SourceMapGenerator,util$5=util$8,REGEX_NEWLINE$1=/(\r?\n)/,NEWLINE_CODE$1=10,isSourceNode$1="$$$isSourceNode$$$";let SourceNode$4=class e{constructor(e,t,r,a,n){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==t?null:t,this.source=null==r?null:r,this.name=null==n?null:n,this[isSourceNode$1]=!0,null!=a&&this.add(a)}static fromStringWithSourceMap(t,r,a){const n=new e,o=t.split(REGEX_NEWLINE$1);let s=0;const c=function(){return e()+(e()||"");function e(){return s=0;t--)this.prepend(e[t]);else{if(!e[isSourceNode$1]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this}walk(e){let t;for(let r=0,a=this.children.length;r0){for(t=[],r=0;r' at an index ").concat(e,".\nBytecode: ").concat(this.bytecode));return this.varName+e},e.sourceNode=function(e,t,r){var a=GrammarLocation$3.offsetStart(e);return new SourceNode$3(a.line,a.column?a.column-1:null,String(e.source),t,r)},e.prototype.push=function(t){++this.sp>this.maxSp&&(this.maxSp=this.sp);var r=this.labels[this.sp],a=[this.name(this.sp)," = ",t,";"];if(r){if(this.sourceMapStack.length){var n=e.sourceNode(r.location,a.splice(0,2),r.label),o=this.sourceMapPopInternal(),s=o.parts,c=o.location,i=c.start.offsett.end.offset&&(r[2]={start:t.end,end:r[2].end,source:r[2].source})}this.sourceMapStack.push([e,e.length,t])},e.prototype.sourceMapPopInternal=function(){var e=this.sourceMapStack.pop(),t=e[0],r=e[1],a=e[2],n=t.splice(r).map((function(e){return e instanceof SourceNode$3?e:e+"\n"}));if(n.length){var o=GrammarLocation$3.offsetStart(a);t.push(new SourceNode$3(o.line,o.column-1,String(a.source),n))}return{parts:t,location:a}},e.prototype.sourceMapPop=function(e){var t=this.sourceMapPopInternal().location;if(this.sourceMapStack.length&&t.end.offset>2],n+=t[(3&e[o])<<4|e[o+1]>>4],n+=t[(15&e[o+1])<<2|e[o+2]>>6],n+=t[63&e[o+2]];return 1===r?(n+=t[e[a]>>2],n+=t[(3&e[a])<<4],n+="=="):2===r&&(n+=t[e[a]>>2],n+=t[(3&e[a])<<4|e[a+1]>>4],n+=t[(15&e[a+1])<<2],n+="="),n}utils$1.hex=hex$1,utils$1.stringEscape=stringEscape$2,utils$1.regexpClassEscape=regexpClassEscape$2,utils$1.base64=base64$4;var __spreadArray$4=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var a,n=0,o=t.length;n0&&(t.forEach((function(e){n.push("var "+e+' = require("'+stringEscape$1(i[e])+'");')})),n.push("")),n.push(e,"","module.exports = "+a()+";"),n},es:function(){var a=Object.keys(i),n=r();return n.push(""),a.length>0&&(a.forEach((function(e){n.push("import "+e+' from "'+stringEscape$1(i[e])+'";')})),n.push("")),n.push(e,"","export {"," peg$SyntaxError as SyntaxError,",t.trace?" peg$DefaultTracer as DefaultTracer,":""," peg$parse as parse","};"),n},amd:function(){var t=Object.keys(i),n="["+t.map((function(e){return i[e]})).map((function(e){return'"'+stringEscape$1(e)+'"'})).join(", ")+"]",o=t.join(", ");return __spreadArray$4(__spreadArray$4([],r(),!0),["define("+n+", function("+o+") {",' "use strict";',"",e,"",u("return "+a()+";"),"});"],!1)},globals:function(){return __spreadArray$4(__spreadArray$4([],r(),!0),["(function(root) {",' "use strict";',"",e,"",u("root."+t.exportVar+" = "+a()+";"),"})(this);"],!1)},umd:function(){var n=Object.keys(i),o=n.map((function(e){return i[e]})),s="["+o.map((function(e){return'"'+stringEscape$1(e)+'"'})).join(", ")+"]",c=o.map((function(e){return'require("'+stringEscape$1(e)+'")'})).join(", "),p=n.join(", "),l=r();return l.push("(function(root, factory) {",' if (typeof define === "function" && define.amd) {'," define("+s+", factory);",' } else if (typeof module === "object" && module.exports) {'," module.exports = factory("+c+");"),null!==t.exportVar&&l.push(" } else {"," root."+t.exportVar+" = factory();"),l.push(" }","})(this, function("+p+") {",' "use strict";',"",e,"",u("return "+a()+";"),"});"),l}}[t.format||"bare"]();return new SourceNode$2(null,null,t.grammarSource,n.map((function(e){return e instanceof SourceNode$2?e:e+"\n"})))}(function(){var i=[];e.topLevelInitializer&&(i.push(m(e.topLevelInitializer)),i.push("")),i.push("function peg$subclass(child, parent) {"," function C() { this.constructor = child; }"," C.prototype = parent.prototype;"," child.prototype = new C();","}","","function peg$SyntaxError(message, expected, found, location) {"," var self = Error.call(this, message);"," // istanbul ignore next Check is a necessary evil to support older environments"," if (Object.setPrototypeOf) {"," Object.setPrototypeOf(self, peg$SyntaxError.prototype);"," }"," self.expected = expected;"," self.found = found;"," self.location = location;",' self.name = "SyntaxError";'," return self;","}","","peg$subclass(peg$SyntaxError, Error);","","function peg$padEnd(str, targetLength, padString) {",' padString = padString || " ";'," if (str.length > targetLength) { return str; }"," targetLength -= str.length;"," padString += padString.repeat(targetLength);"," return str + padString.slice(0, targetLength);","}","","peg$SyntaxError.prototype.format = function(sources) {",' var str = "Error: " + this.message;'," if (this.location) {"," var src = null;"," var k;"," for (k = 0; k < sources.length; k++) {"," if (sources[k].source === this.location.source) {"," src = sources[k].text.split(/\\r\\n|\\n|\\r/g);"," break;"," }"," }"," var s = this.location.start;",' var offset_s = (this.location.source && (typeof this.location.source.offset === "function"))'," ? this.location.source.offset(s)"," : s;",' var loc = this.location.source + ":" + offset_s.line + ":" + offset_s.column;'," if (src) {"," var e = this.location.end;"," var filler = peg$padEnd(\"\", offset_s.line.toString().length, ' ');"," var line = src[s.line - 1];"," var last = s.line === e.line ? e.column : line.length + 1;"," var hatLen = (last - s.column) || 1;",' str += "\\n --\x3e " + loc + "\\n"',' + filler + " |\\n"',' + offset_s.line + " | " + line + "\\n"',' + filler + " | " + peg$padEnd("", s.column - 1, \' \')',' + peg$padEnd("", hatLen, "^");'," } else {",' str += "\\n at " + loc;'," }"," }"," return str;","};","","peg$SyntaxError.buildMessage = function(expected, found) {"," var DESCRIBE_EXPECTATION_FNS = {"," literal: function(expectation) {",' return "\\"" + literalEscape(expectation.text) + "\\"";'," },",""," class: function(expectation) {"," var escapedParts = expectation.parts.map(function(part) {"," return Array.isArray(part)",' ? classEscape(part[0]) + "-" + classEscape(part[1])'," : classEscape(part);"," });","",' return "[" + (expectation.inverted ? "^" : "") + escapedParts.join("") + "]";'," },",""," any: function() {",' return "any character";'," },",""," end: function() {",' return "end of input";'," },",""," other: function(expectation) {"," return expectation.description;"," }"," };",""," function hex(ch) {"," return ch.charCodeAt(0).toString(16).toUpperCase();"," }",""," function literalEscape(s) {"," return s",' .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(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function classEscape(s) {"," return s",' .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(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function describeExpectation(expectation) {"," return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);"," }",""," function describeExpected(expected) {"," var descriptions = expected.map(describeExpectation);"," var i, j;",""," descriptions.sort();",""," if (descriptions.length > 0) {"," for (i = 1, j = 1; i < descriptions.length; i++) {"," if (descriptions[i - 1] !== descriptions[i]) {"," descriptions[j] = descriptions[i];"," j++;"," }"," }"," descriptions.length = j;"," }",""," switch (descriptions.length) {"," case 1:"," return descriptions[0];",""," case 2:",' return descriptions[0] + " or " + descriptions[1];',""," default:",' return descriptions.slice(0, -1).join(", ")',' + ", or "'," + descriptions[descriptions.length - 1];"," }"," }",""," function describeFound(found) {",' return found ? "\\"" + literalEscape(found) + "\\"" : "end of input";'," }","",' return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found.";',"};",""),t.trace&&i.push("function peg$DefaultTracer() {"," this.indentLevel = 0;","}","","peg$DefaultTracer.prototype.trace = function(event) {"," var that = this;",""," function log(event) {"," function repeat(string, n) {",' var result = "", i;',""," for (i = 0; i < n; i++) {"," result += string;"," }",""," return result;"," }",""," function pad(string, length) {",' return string + repeat(" ", length - string.length);'," }","",' if (typeof console === "object") {'," console.log(",' event.location.start.line + ":" + event.location.start.column + "-"',' + event.location.end.line + ":" + event.location.end.column + " "',' + pad(event.type, 10) + " "',' + repeat(" ", that.indentLevel) + event.rule'," );"," }"," }",""," switch (event.type) {",' case "rule.enter":'," log(event);"," this.indentLevel++;"," break;","",' case "rule.match":'," this.indentLevel--;"," log(event);"," break;","",' case "rule.fail":'," this.indentLevel--;"," log(event);"," break;",""," default:",' throw new Error("Invalid event type: " + event.type + ".");'," }","};","");var $="{ "+c.map((function(e){return e+": "+d(e)})).join(", ")+" }",h=d(c[0]);return i.push("function peg$parse(input, options) {"," options = options !== undefined ? options : {};",""," var peg$FAILED = {};"," var peg$source = options.grammarSource;",""," var peg$startRuleFunctions = "+$+";"," var peg$startRuleFunction = "+h+";","",new SourceNode$2(null,null,t.grammarSource,__spreadArray$4([r.map((function(e,t){return" var "+p(t)+' = "'+stringEscape$1(e)+'";'})).concat("",n.map((function(e,t){return" var "+l(t)+" = /^["+((r=e).inverted?"^":"")+r.value.map((function(e){return Array.isArray(e)?regexpClassEscape$1(e[0])+"-"+regexpClassEscape$1(e[1]):regexpClassEscape$1(e)})).join("")+"]/"+(r.ignoreCase?"i":"")+";";var r}))).concat("",o.map((function(e,t){return" var "+f(t)+" = "+function(e){switch(e.type){case"rule":return'peg$otherExpectation("'+stringEscape$1(e.value)+'")';case"literal":return'peg$literalExpectation("'+stringEscape$1(e.value)+'", '+e.ignoreCase+")";case"class":return"peg$classExpectation(["+e.value.map((function(e){return Array.isArray(e)?'["'+stringEscape$1(e[0])+'", "'+stringEscape$1(e[1])+'"]':'"'+stringEscape$1(e)+'"'})).join(", ")+"], "+e.inverted+", "+e.ignoreCase+")";case"any":return"peg$anyExpectation()";default:throw new Error("Unknown expectation type ("+JSON.stringify(e)+")")}}(e)+";"}))).concat("").join("\n")],s.map((function(e,t){return wrapInSourceNode("\n var ".concat(g(t)," = function(").concat(e.params.join(", "),") {"),e.body,e.location,"};")})),!0)),""," var peg$currPos = 0;"," var peg$savedPos = 0;"," var peg$posDetailsCache = [{ line: 1, column: 1 }];"," var peg$maxFailPos = 0;"," var peg$maxFailExpected = [];"," var peg$silentFails = 0;",""),t.cache&&i.push(" var peg$resultsCache = {};",""),t.trace&&i.push(' var peg$tracer = "tracer" in options ? options.tracer : new peg$DefaultTracer();',""),i.push(" var peg$result;","",' if ("startRule" in options) {'," if (!(options.startRule in peg$startRuleFunctions)) {",' throw new Error("Can\'t start parsing from rule \\"" + options.startRule + "\\".");'," }",""," peg$startRuleFunction = peg$startRuleFunctions[options.startRule];"," }",""," function text() {"," return input.substring(peg$savedPos, peg$currPos);"," }",""," function offset() {"," return peg$savedPos;"," }",""," function range() {"," return {"," source: peg$source,"," start: peg$savedPos,"," end: peg$currPos"," };"," }",""," function location() {"," return peg$computeLocation(peg$savedPos, peg$currPos);"," }",""," function expected(description, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildStructuredError("," [peg$otherExpectation(description)],"," input.substring(peg$savedPos, peg$currPos),"," location"," );"," }",""," function error(message, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildSimpleError(message, location);"," }",""," function peg$literalExpectation(text, ignoreCase) {",' return { type: "literal", text: text, ignoreCase: ignoreCase };'," }",""," function peg$classExpectation(parts, inverted, ignoreCase) {",' return { type: "class", parts: parts, inverted: inverted, ignoreCase: ignoreCase };'," }",""," function peg$anyExpectation() {",' return { type: "any" };'," }",""," function peg$endExpectation() {",' return { type: "end" };'," }",""," function peg$otherExpectation(description) {",' return { type: "other", description: description };'," }",""," function peg$computePosDetails(pos) {"," var details = peg$posDetailsCache[pos];"," var p;",""," if (details) {"," return details;"," } else {"," if (pos >= peg$posDetailsCache.length) {"," p = peg$posDetailsCache.length - 1;"," } else {"," p = pos;"," while (!peg$posDetailsCache[--p]) {}"," }",""," details = peg$posDetailsCache[p];"," details = {"," line: details.line,"," column: details.column"," };",""," while (p < pos) {"," if (input.charCodeAt(p) === 10) {"," details.line++;"," details.column = 1;"," } else {"," details.column++;"," }",""," p++;"," }",""," peg$posDetailsCache[pos] = details;",""," return details;"," }"," }",""," function peg$computeLocation(startPos, endPos, offset) {"," var startPosDetails = peg$computePosDetails(startPos);"," var endPosDetails = peg$computePosDetails(endPos);",""," var res = {"," source: peg$source,"," start: {"," offset: startPos,"," line: startPosDetails.line,"," column: startPosDetails.column"," },"," end: {"," offset: endPos,"," line: endPosDetails.line,"," column: endPosDetails.column"," }"," };",' if (offset && peg$source && (typeof peg$source.offset === "function")) {'," res.start = peg$source.offset(res.start);"," res.end = peg$source.offset(res.end);"," }"," return res;"," }",""," function peg$fail(expected) {"," if (peg$currPos < peg$maxFailPos) { return; }",""," if (peg$currPos > peg$maxFailPos) {"," peg$maxFailPos = peg$currPos;"," peg$maxFailExpected = [];"," }",""," peg$maxFailExpected.push(expected);"," }",""," function peg$buildSimpleError(message, location) {"," return new peg$SyntaxError(message, null, null, location);"," }",""," function peg$buildStructuredError(expected, found, location) {"," return new peg$SyntaxError("," peg$SyntaxError.buildMessage(expected, found),"," expected,"," found,"," location"," );"," }",""),e.rules.forEach((function(n){i.push.apply(i,u(function(n){var o=[],s=n.bytecode,c=new Stack$1(n.name,"s","var",s),i=function t(n){var o=0,s=n.length,i=[],m=void 0;function $(e,r,a){var s=r+3,p=n[o+s-2],l=n[o+s-1],f=c.checkedIf(o,(function(){return o+=s+p,(a||t)(n.slice(o-p,o))}),l>0?function(){return o+=l,t(n.slice(o-l,o))}:null),g=f[0],d=f[1];i.push("if ("+e+") {"),i.push.apply(i,u(g)),l>0&&(i.push("} else {"),i.push.apply(i,u(d))),i.push("}")}function h(e,r,a){var s=r+3,u=1===a?"input.charAt(peg$currPos)":"input.substr(peg$currPos, "+a+")",p=null;n[o+s]===op$1.ACCEPT_N&&n[o+s+1]===a&&(i.push(c.push(u)),u=c.pop(),p=function(e){c.sp++;var r=t(e.slice(2));return r.unshift(1===a?"peg$currPos++;":"peg$currPos += "+a+";"),r}),$(e(u,null!==p),r,p)}for(var x=function(){switch(n[o]){case op$1.PUSH_EMPTY_STRING:i.push(c.push("''")),o++;break;case op$1.PUSH_CURR_POS:i.push(c.push("peg$currPos")),o++;break;case op$1.PUSH_UNDEFINED:i.push(c.push("undefined")),o++;break;case op$1.PUSH_NULL:i.push(c.push("null")),o++;break;case op$1.PUSH_FAILED:i.push(c.push("peg$FAILED")),o++;break;case op$1.PUSH_EMPTY_ARRAY:i.push(c.push("[]")),o++;break;case op$1.POP:c.pop(),o++;break;case op$1.POP_CURR_POS:i.push("peg$currPos = "+c.pop()+";"),o++;break;case op$1.POP_N:c.pop(n[o+1]),o+=2;break;case op$1.NIP:m=c.pop(),c.pop(),i.push(c.push(m)),o++;break;case op$1.APPEND:m=c.pop(),i.push(c.top()+".push("+m+");"),o++;break;case op$1.WRAP:i.push(c.push("["+c.pop(n[o+1]).join(", ")+"]")),o+=2;break;case op$1.TEXT:i.push(c.push("input.substring("+c.pop()+", peg$currPos)")),o++;break;case op$1.PLUCK:var s=n[o+3-1],x=3+s;m=n.slice(o+3,o+x),m=1===s?c.index(m[0]):"[ ".concat(m.map((function(e){return c.index(e)})).join(", ")," ]"),c.pop(n[o+1]),i.push(c.push(m)),o+=x;break;case op$1.IF:$(c.top(),0);break;case op$1.IF_ERROR:$(c.top()+" === peg$FAILED",0);break;case op$1.IF_NOT_ERROR:$(c.top()+" !== peg$FAILED",0);break;case op$1.IF_LT:$(c.top()+".length < "+n[o+1],1);break;case op$1.IF_GE:$(c.top()+".length >= "+n[o+1],1);break;case op$1.IF_LT_DYNAMIC:$(c.top()+".length < ("+c.index(n[o+1])+"|0)",1);break;case op$1.IF_GE_DYNAMIC:$(c.top()+".length >= ("+c.index(n[o+1])+"|0)",1);break;case op$1.WHILE_NOT_ERROR:S=c.top()+" !== peg$FAILED",_=n[o+2-1],E=c.checkedLoop(o,(function(){return o+=2+_,t(n.slice(o-_,o))})),i.push("while ("+S+") {"),i.push.apply(i,u(E)),i.push("}");break;case op$1.MATCH_ANY:$("input.length > peg$currPos",0);break;case op$1.MATCH_STRING:var b=n[o+1],v=r[b];h((function(e,t){return v.length>1?"".concat(e," === ").concat(p(b)):(e=t?"".concat(e,".charCodeAt(0)"):"input.charCodeAt(peg$currPos)","".concat(e," === ").concat(v.charCodeAt(0)))}),1,v.length);break;case op$1.MATCH_STRING_IC:var A=n[o+1];h((function(e){return"".concat(e,".toLowerCase() === ").concat(p(A))}),1,r[A].length);break;case op$1.MATCH_CHAR_CLASS:var y=n[o+1];h((function(e){return"".concat(l(y),".test(").concat(e,")")}),1,1);break;case op$1.ACCEPT_N:i.push(c.push(n[o+1]>1?"input.substr(peg$currPos, "+n[o+1]+")":"input.charAt(peg$currPos)")),i.push(n[o+1]>1?"peg$currPos += "+n[o+1]+";":"peg$currPos++;"),o+=2;break;case op$1.ACCEPT_STRING:i.push(c.push(p(n[o+1]))),i.push(r[n[o+1]].length>1?"peg$currPos += "+r[n[o+1]].length+";":"peg$currPos++;"),o+=2;break;case op$1.FAIL:i.push(c.push("peg$FAILED")),i.push("if (peg$silentFails === 0) { peg$fail("+f(n[o+1])+"); }"),o+=2;break;case op$1.LOAD_SAVED_POS:i.push("peg$savedPos = "+c.index(n[o+1])+";"),o+=2;break;case op$1.UPDATE_SAVED_POS:i.push("peg$savedPos = peg$currPos;"),o++;break;case op$1.CALL:m=function(e){var t=n[o+4-1];return g(n[o+1])+"("+n.slice(o+4,o+4+t).map((function(e){return c.index(e)})).join(", ")+")"}(),c.pop(n[o+2]),i.push(c.push(m)),o+=4+n[o+3];break;case op$1.RULE:i.push(c.push(d(e.rules[n[o+1]].name)+"()")),o+=2;break;case op$1.SILENT_FAILS_ON:i.push("peg$silentFails++;"),o++;break;case op$1.SILENT_FAILS_OFF:i.push("peg$silentFails--;"),o++;break;case op$1.SOURCE_MAP_PUSH:c.sourceMapPush(i,a[n[o+1]]),o+=2;break;case op$1.SOURCE_MAP_POP:c.sourceMapPop(),o++;break;case op$1.SOURCE_MAP_LABEL_PUSH:c.labels[n[o+1]]={label:r[n[o+2]],location:a[n[o+3]]},o+=4;break;case op$1.SOURCE_MAP_LABEL_POP:delete c.labels[n[o+1]],o+=2;break;default:throw new Error("Invalid opcode: "+n[o]+".")}var S,_,E};oc?-1:1:0}));for(var t="",r="",a=0;a=s.charCodeAt(0)?(e.splice(a--,1),e[a]=[t,r=c]):(t=s,r=c)}return e}function mergeCharacterClasses$1(e){var t=Object.create(null);e.rules.forEach((function(e){return t[e.name]=e.expression}));var r=Object.create(null),a=[function(e,a){if("class"===e.type&&!e.inverted)return a&&((e=__assign$1({},e)).parts=__spreadArray$3([],e.parts,!0)),e;if("literal"===e.type&&1===e.value.length)return{type:"class",parts:[e.value],inverted:!1,ignoreCase:e.ignoreCase,location:e.location};if("rule_ref"===e.type){var s=t[e.name];if(s){r[e.name]||(r[e.name]=!0,o(s));var c=n(s,!0);return c&&(c.location=e.location),c}}return null},visitor$7.build({choice:function(e){var t=null,r=!1;e.alternatives.forEach((function(a,s){var c;o(a);var i=n(a);i?t&&t.ignoreCase===i.ignoreCase?((c=t.parts).push.apply(c,i.parts),e.alternatives[s-1]=t,e.alternatives[s]=t,t.location={source:t.location.source,start:t.location.start,end:i.location.end},r=!0):t=i:t=null})),r&&(e.alternatives=e.alternatives.filter((function(e,t,r){return!t||e!==r[t-1]})),e.alternatives.forEach((function(t,r){"class"===t.type&&(t.parts=cleanParts(t.parts),1!==t.parts.length||Array.isArray(t.parts[0])||t.inverted||(e.alternatives[r]={type:"literal",value:t.parts[0],ignoreCase:t.ignoreCase,location:t.location}))})),1===e.alternatives.length&&cloneOver(e,e.alternatives[0]))},text:function(e){if(o(e.expression),"class"===e.expression.type||"literal"===e.expression.type){var t=e.location;cloneOver(e,e.expression),e.location=t}}})],n=a[0],o=a[1];e.rules.forEach((function(e){r[e.name]=!0,o(e.expression)}))}var mergeCharacterClasses_1=mergeCharacterClasses$1,visitor$6=visitor_1;function reportDuplicateLabels$1(e,t,r){function a(e){var t={};return Object.keys(e).forEach((function(r){t[r]=e[r]})),t}function n(e,t){o(e.expression,a(t))}var o=visitor$6.build({rule:function(e){o(e.expression,{})},choice:function(e,t){e.alternatives.forEach((function(e){o(e,a(t))}))},action:n,labeled:function(e,t){var a=e.label;a&&Object.prototype.hasOwnProperty.call(t,a)&&r.error('Label "'.concat(e.label,'" is already defined'),e.labelLocation,[{message:"Original label location",location:t[a]}]),o(e.expression,t),t[e.label]=e.labelLocation},text:n,simple_and:n,simple_not:n,optional:n,zero_or_more:n,one_or_more:n,repeated:function(e,t){e.delimiter&&o(e.delimiter,a(t)),o(e.expression,a(t))},group:n});o(e)}var reportDuplicateLabels_1=reportDuplicateLabels$1,visitor$5=visitor_1;function reportDuplicateRules$1(e,t,r){var a={};visitor$5.build({rule:function(e){Object.prototype.hasOwnProperty.call(a,e.name)?r.error('Rule "'.concat(e.name,'" is already defined'),e.nameLocation,[{message:"Original rule location",location:a[e.name]}]):a[e.name]=e.nameLocation}})(e)}var reportDuplicateRules_1=reportDuplicateRules$1,asts$2=asts_1,visitor$4=visitor_1;function reportInfiniteRecursion$1(e,t,r){var a=[],n=[],o=visitor$4.build({rule:function(e){a.push(e.name),o(e.expression),a.pop()},sequence:function(t){t.elements.every((function(t){return o(t),!asts$2.alwaysConsumesOnSuccess(e,t)}))},repeated:function(t){o(t.expression),t.delimiter&&!asts$2.alwaysConsumesOnSuccess(e,t.expression)&&o(t.delimiter)},rule_ref:function(t){n.push(t);var s=asts$2.findRule(e,t.name);if(-1!==a.indexOf(t.name))return a.push(t.name),void r.error("Possible infinite loop when parsing (left recursion: "+a.join(" -> ")+")",s.nameLocation,n.map((function(e,t,r){return{message:t+1!==r.length?"Step ".concat(t+1,': call of the rule "').concat(e.name,'" without input consumption'):"Step ".concat(t+1,": call itself without input consumption - left recursion"),location:e.location}})));s&&o(s),n.pop()}});o(e)}var reportInfiniteRecursion_1=reportInfiniteRecursion$1,asts$1=asts_1,visitor$3=visitor_1;function reportInfiniteRepetition$1(e,t,r){var a=visitor$3.build({zero_or_more:function(t){asts$1.alwaysConsumesOnSuccess(e,t.expression)||r.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",t.location)},one_or_more:function(t){asts$1.alwaysConsumesOnSuccess(e,t.expression)||r.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",t.location)},repeated:function(t){if(t.delimiter&&a(t.delimiter),!(asts$1.alwaysConsumesOnSuccess(e,t.expression)||t.delimiter&&asts$1.alwaysConsumesOnSuccess(e,t.delimiter)))if(null===t.max.value)r.error("Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",t.location);else{var n=t.min?t.min:t.max;r.warning("constant"===n.type&&"constant"===t.max.type?"An expression may not consume any input and may always match ".concat(t.max.value," times"):"An expression may not consume any input and may always match with a maximum repetition count",t.location)}}});a(e)}var reportInfiniteRepetition_1=reportInfiniteRepetition$1,asts=asts_1,visitor$2=visitor_1;function reportUndefinedRules$1(e,t,r){visitor$2.build({rule_ref:function(t){asts.findRule(e,t.name)||r.error('Rule "'.concat(t.name,'" is not defined'),t.location)}})(e)}var reportUndefinedRules_1=reportUndefinedRules$1,visitor$1=visitor_1;function reportIncorrectPlucking$1(e,t,r){var a=visitor$1.build({action:function(e){a(e.expression,e)},labeled:function(e,t){e.pick&&t&&r.error('"@" cannot be used with an action block',e.labelLocation,[{message:"Action block location",location:t.codeLocation}]),a(e.expression)}});a(e)}var reportIncorrectPlucking_1=reportIncorrectPlucking$1,__spreadArray$2=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var a,n=0,o=t.length;n0:e&&"function"==typeof e.offset}var compiler$2={visitor:visitor,passes:{check:[reportUndefinedRules,reportDuplicateRules,reportDuplicateLabels,reportInfiniteRecursion,reportInfiniteRepetition,reportIncorrectPlucking],transform:[removeProxyRules,mergeCharacterClasses,inferenceMatchResult],generate:[generateBytecode,generateJS]},compile:function(ast,passes,options){if(options=void 0!==options?options:{},options=processOptions(options,{allowedStartRules:[ast.rules[0].name],cache:!1,dependencies:{},exportVar:null,format:"bare",output:"parser",trace:!1}),!Array.isArray(options.allowedStartRules))throw new Error("allowedStartRules must be an array");if(0===options.allowedStartRules.length)throw new Error("Must have at least one start rule");var allRules=ast.rules.map((function(e){return e.name}));if(options.allowedStartRules.some((function(e){return"*"===e})))options.allowedStartRules=allRules;else for(var _i=0,_a=options.allowedStartRules;_i<_a.length;_i++){var rule=_a[_i];if(-1===allRules.indexOf(rule))throw new Error('Unknown start rule "'.concat(rule,'"'))}if(("source-and-map"===options.output||"source-with-inline-map"===options.output)&&!isSourceMapCapable(options.grammarSource))throw new Error("Must provide grammarSource (as a string or GrammarLocation) in order to generate source maps");var session=new Session$1(options);switch(Object.keys(passes).forEach((function(e){session.stage=e,session.info("Process stage ".concat(e)),passes[e].forEach((function(t){session.info("Process pass ".concat(e,".").concat(t.name)),t(ast,options,session)})),session.checkErrors()})),options.output){case"parser":return eval(ast.code.toString());case"source":return ast.code.toString();case"source-and-map":return ast.code;case"source-with-inline-map":if("undefined"==typeof TextEncoder)throw new Error("TextEncoder is not supported by this platform");var sourceMap=ast.code.toStringWithSourceMap(),encoder=new TextEncoder,b64=base64$3(encoder.encode(JSON.stringify(sourceMap.map.toJSON())));return sourceMap.code+"//# sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(b64,"\n");case"ast":return ast;default:throw new Error("Invalid output format: "+options.output+".")}}},compiler_1=compiler$2,OPS_TO_PREFIXED_TYPES={$:"text","&":"simple_and","!":"simple_not"},OPS_TO_SUFFIXED_TYPES={"?":"optional","*":"zero_or_more","+":"one_or_more"},OPS_TO_SEMANTIC_PREDICATE_TYPES={"&":"semantic_and","!":"semantic_not"};function peg$subclass(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}function peg$SyntaxError(e,t,r,a){var n=Error.call(this,e);return Object.setPrototypeOf&&Object.setPrototypeOf(n,peg$SyntaxError.prototype),n.expected=t,n.found=r,n.location=a,n.name="SyntaxError",n}function peg$padEnd(e,t,r){return r=r||" ",e.length>t?e:(t-=e.length,e+(r+=r.repeat(t)).slice(0,t))}function peg$parse(e,t){var r,a={},n=(t=void 0!==t?t:{}).grammarSource,o={Grammar:lr},s=lr,c="{",i="}",u="=",p="/",l="@",f=":",g="|",d=",",m="..",$="(",h=")",x="\n",b="\r\n",v="/*",A="*/",y="//",S="\\",_="i",E='"',T="'",C="[",P="^",w="]",R="-",L="0",F="b",O="f",B="n",M="r",D="t",I="v",k="x",j="u",N=".",U=";",q=/^[!$&]/,G=/^[*-+?]/,H=/^[!&]/,z=/^[\t\v-\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]/,W=/^[\n\r\u2028\u2029]/,V=/^[\r\u2028-\u2029]/,Y=/^[A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376-\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E-\u066F\u0671-\u06D3\u06D5\u06E5-\u06E6\u06EE-\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4-\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC-\u09DD\u09DF-\u09E1\u09F0-\u09F1\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33\u0A35-\u0A36\u0A38-\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0-\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B35-\u0B39\u0B3D\u0B5C-\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60-\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0-\u0CE1\u0CF1-\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32-\u0E33\u0E40-\u0E46\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065-\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE-\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5-\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,Q=/^[$0-9_\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7-\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962-\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7-\u09C8\u09CB-\u09CD\u09D7\u09E2-\u09E3\u09E6-\u09EF\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2-\u0AE3\u0AE6-\u0AEF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47-\u0B48\u0B4B-\u0B4D\u0B56-\u0B57\u0B62-\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55-\u0C56\u0C62-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5-\u0CD6\u0CE2-\u0CE3\u0CE6-\u0CEF\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62-\u0D63\u0D66-\u0D6F\u0D82-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2-\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EB9\u0EBB-\u0EBC\u0EC8-\u0ECD\u0ED0-\u0ED9\u0F18-\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F3F\u0F71-\u0F84\u0F86-\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19D9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8-\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u200C-\u200D\u203F-\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099-\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E-\uA69F\uA6F0-\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880-\uA881\uA8B4-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F1\uA900-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C-\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7-\uAAB8\uAABE-\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5-\uAAF6\uABE3-\uABEA\uABEC-\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33-\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F]/,J=/^[\n\r"\\\u2028-\u2029]/,X=/^[\n\r'\\\u2028-\u2029]/,K=/^[\n\r\\-\]\u2028-\u2029]/,Z=/^["'\\]/,ee=/^[0-9ux]/,te=/^[0-9]/,re=/^[0-9a-f]/i,ae=/^[{}]/,ne=or("{",!1),oe=or("}",!1),se=or("=",!1),ce=or("/",!1),ie=or("@",!1),ue=or(":",!1),pe=sr(["!","$","&"],!1,!1),le=sr([["*","+"],"?"],!1,!1),fe=or("|",!1),ge=or(",",!1),de=or("..",!1),me=or("(",!1),$e=or(")",!1),he=sr(["!","&"],!1,!1),xe={type:"any"},be=cr("whitespace"),ve=sr(["\t",["\v","\f"]," "," "," ",[" "," "]," "," "," ","\ufeff"],!1,!1),Ae=sr(["\n","\r","\u2028","\u2029"],!1,!1),ye=cr("end of line"),Se=or("\n",!1),_e=or("\r\n",!1),Ee=sr(["\r",["\u2028","\u2029"]],!1,!1),Te=cr("comment"),Ce=or("/*",!1),Pe=or("*/",!1),we=or("//",!1),Re=cr("identifier"),Le=sr([["A","Z"],"_",["a","z"],"ª","µ","º",["À","Ö"],["Ø","ö"],["ø","ˁ"],["ˆ","ˑ"],["ˠ","ˤ"],"ˬ","ˮ",["Ͱ","ʹ"],["Ͷ","ͷ"],["ͺ","ͽ"],"Ϳ","Ά",["Έ","Ί"],"Ό",["Ύ","Ρ"],["Σ","ϵ"],["Ϸ","ҁ"],["Ҋ","ԯ"],["Ա","Ֆ"],"ՙ",["ա","և"],["א","ת"],["װ","ײ"],["ؠ","ي"],["ٮ","ٯ"],["ٱ","ۓ"],"ە",["ۥ","ۦ"],["ۮ","ۯ"],["ۺ","ۼ"],"ۿ","ܐ",["ܒ","ܯ"],["ݍ","ޥ"],"ޱ",["ߊ","ߪ"],["ߴ","ߵ"],"ߺ",["ࠀ","ࠕ"],"ࠚ","ࠤ","ࠨ",["ࡀ","ࡘ"],["ࢠ","ࢴ"],["ऄ","ह"],"ऽ","ॐ",["क़","ॡ"],["ॱ","ঀ"],["অ","ঌ"],["এ","ঐ"],["ও","ন"],["প","র"],"ল",["শ","হ"],"ঽ","ৎ",["ড়","ঢ়"],["য়","ৡ"],["ৰ","ৱ"],["ਅ","ਊ"],["ਏ","ਐ"],["ਓ","ਨ"],["ਪ","ਰ"],["ਲ","ਲ਼"],["ਵ","ਸ਼"],["ਸ","ਹ"],["ਖ਼","ੜ"],"ਫ਼",["ੲ","ੴ"],["અ","ઍ"],["એ","ઑ"],["ઓ","ન"],["પ","ર"],["લ","ળ"],["વ","હ"],"ઽ","ૐ",["ૠ","ૡ"],"ૹ",["ଅ","ଌ"],["ଏ","ଐ"],["ଓ","ନ"],["ପ","ର"],["ଲ","ଳ"],["ଵ","ହ"],"ଽ",["ଡ଼","ଢ଼"],["ୟ","ୡ"],"ୱ","ஃ",["அ","ஊ"],["எ","ஐ"],["ஒ","க"],["ங","ச"],"ஜ",["ஞ","ட"],["ண","த"],["ந","ப"],["ம","ஹ"],"ௐ",["అ","ఌ"],["ఎ","ఐ"],["ఒ","న"],["ప","హ"],"ఽ",["ౘ","ౚ"],["ౠ","ౡ"],["ಅ","ಌ"],["ಎ","ಐ"],["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"],"ಽ","ೞ",["ೠ","ೡ"],["ೱ","ೲ"],["അ","ഌ"],["എ","ഐ"],["ഒ","ഺ"],"ഽ","ൎ",["ൟ","ൡ"],["ൺ","ൿ"],["අ","ඖ"],["ක","න"],["ඳ","ර"],"ල",["ව","ෆ"],["ก","ะ"],["า","ำ"],["เ","ๆ"],["ກ","ຂ"],"ຄ",["ງ","ຈ"],"ຊ","ຍ",["ດ","ທ"],["ນ","ຟ"],["ມ","ຣ"],"ລ","ວ",["ສ","ຫ"],["ອ","ະ"],["າ","ຳ"],"ຽ",["ເ","ໄ"],"ໆ",["ໜ","ໟ"],"ༀ",["ཀ","ཇ"],["ཉ","ཬ"],["ྈ","ྌ"],["က","ဪ"],"ဿ",["ၐ","ၕ"],["ၚ","ၝ"],"ၡ",["ၥ","ၦ"],["ၮ","ၰ"],["ၵ","ႁ"],"ႎ",["Ⴀ","Ⴥ"],"Ⴧ","Ⴭ",["ა","ჺ"],["ჼ","ቈ"],["ቊ","ቍ"],["ቐ","ቖ"],"ቘ",["ቚ","ቝ"],["በ","ኈ"],["ኊ","ኍ"],["ነ","ኰ"],["ኲ","ኵ"],["ኸ","ኾ"],"ዀ",["ዂ","ዅ"],["ወ","ዖ"],["ዘ","ጐ"],["ጒ","ጕ"],["ጘ","ፚ"],["ᎀ","ᎏ"],["Ꭰ","Ᏽ"],["ᏸ","ᏽ"],["ᐁ","ᙬ"],["ᙯ","ᙿ"],["ᚁ","ᚚ"],["ᚠ","ᛪ"],["ᛮ","ᛸ"],["ᜀ","ᜌ"],["ᜎ","ᜑ"],["ᜠ","ᜱ"],["ᝀ","ᝑ"],["ᝠ","ᝬ"],["ᝮ","ᝰ"],["ក","ឳ"],"ៗ","ៜ",["ᠠ","ᡷ"],["ᢀ","ᢨ"],"ᢪ",["ᢰ","ᣵ"],["ᤀ","ᤞ"],["ᥐ","ᥭ"],["ᥰ","ᥴ"],["ᦀ","ᦫ"],["ᦰ","ᧉ"],["ᨀ","ᨖ"],["ᨠ","ᩔ"],"ᪧ",["ᬅ","ᬳ"],["ᭅ","ᭋ"],["ᮃ","ᮠ"],["ᮮ","ᮯ"],["ᮺ","ᯥ"],["ᰀ","ᰣ"],["ᱍ","ᱏ"],["ᱚ","ᱽ"],["ᳩ","ᳬ"],["ᳮ","ᳱ"],["ᳵ","ᳶ"],["ᴀ","ᶿ"],["Ḁ","ἕ"],["Ἐ","Ἕ"],["ἠ","ὅ"],["Ὀ","Ὅ"],["ὐ","ὗ"],"Ὑ","Ὓ","Ὕ",["Ὗ","ώ"],["ᾀ","ᾴ"],["ᾶ","ᾼ"],"ι",["ῂ","ῄ"],["ῆ","ῌ"],["ῐ","ΐ"],["ῖ","Ί"],["ῠ","Ῥ"],["ῲ","ῴ"],["ῶ","ῼ"],"ⁱ","ⁿ",["ₐ","ₜ"],"ℂ","ℇ",["ℊ","ℓ"],"ℕ",["ℙ","ℝ"],"ℤ","Ω","ℨ",["K","ℭ"],["ℯ","ℹ"],["ℼ","ℿ"],["ⅅ","ⅉ"],"ⅎ",["Ⅰ","ↈ"],["Ⰰ","Ⱞ"],["ⰰ","ⱞ"],["Ⱡ","ⳤ"],["Ⳬ","ⳮ"],["Ⳳ","ⳳ"],["ⴀ","ⴥ"],"ⴧ","ⴭ",["ⴰ","ⵧ"],"ⵯ",["ⶀ","ⶖ"],["ⶠ","ⶦ"],["ⶨ","ⶮ"],["ⶰ","ⶶ"],["ⶸ","ⶾ"],["ⷀ","ⷆ"],["ⷈ","ⷎ"],["ⷐ","ⷖ"],["ⷘ","ⷞ"],"ⸯ",["々","〇"],["〡","〩"],["〱","〵"],["〸","〼"],["ぁ","ゖ"],["ゝ","ゟ"],["ァ","ヺ"],["ー","ヿ"],["ㄅ","ㄭ"],["ㄱ","ㆎ"],["ㆠ","ㆺ"],["ㇰ","ㇿ"],["㐀","䶵"],["一","鿕"],["ꀀ","ꒌ"],["ꓐ","ꓽ"],["ꔀ","ꘌ"],["ꘐ","ꘟ"],["ꘪ","ꘫ"],["Ꙁ","ꙮ"],["ꙿ","ꚝ"],["ꚠ","ꛯ"],["ꜗ","ꜟ"],["Ꜣ","ꞈ"],["Ꞌ","Ɬ"],["Ʞ","ꞷ"],["ꟷ","ꠁ"],["ꠃ","ꠅ"],["ꠇ","ꠊ"],["ꠌ","ꠢ"],["ꡀ","ꡳ"],["ꢂ","ꢳ"],["ꣲ","ꣷ"],"ꣻ","ꣽ",["ꤊ","ꤥ"],["ꤰ","ꥆ"],["ꥠ","ꥼ"],["ꦄ","ꦲ"],"ꧏ",["ꧠ","ꧤ"],["ꧦ","ꧯ"],["ꧺ","ꧾ"],["ꨀ","ꨨ"],["ꩀ","ꩂ"],["ꩄ","ꩋ"],["ꩠ","ꩶ"],"ꩺ",["ꩾ","ꪯ"],"ꪱ",["ꪵ","ꪶ"],["ꪹ","ꪽ"],"ꫀ","ꫂ",["ꫛ","ꫝ"],["ꫠ","ꫪ"],["ꫲ","ꫴ"],["ꬁ","ꬆ"],["ꬉ","ꬎ"],["ꬑ","ꬖ"],["ꬠ","ꬦ"],["ꬨ","ꬮ"],["ꬰ","ꭚ"],["ꭜ","ꭥ"],["ꭰ","ꯢ"],["가","힣"],["ힰ","ퟆ"],["ퟋ","ퟻ"],["豈","舘"],["並","龎"],["ff","st"],["ﬓ","ﬗ"],"יִ",["ײַ","ﬨ"],["שׁ","זּ"],["טּ","לּ"],"מּ",["נּ","סּ"],["ףּ","פּ"],["צּ","ﮱ"],["ﯓ","ﴽ"],["ﵐ","ﶏ"],["ﶒ","ﷇ"],["ﷰ","ﷻ"],["ﹰ","ﹴ"],["ﹶ","ﻼ"],["A","Z"],["a","z"],["ヲ","ᄒ"],["ᅡ","ᅦ"],["ᅧ","ᅬ"],["ᅭ","ᅲ"],["ᅳ","ᅵ"]],!1,!1),Fe=or("\\",!1),Oe=sr(["$",["0","9"],"_",["̀","ͯ"],["҃","҇"],["֑","ֽ"],"ֿ",["ׁ","ׂ"],["ׄ","ׅ"],"ׇ",["ؐ","ؚ"],["ً","٩"],"ٰ",["ۖ","ۜ"],["۟","ۤ"],["ۧ","ۨ"],["۪","ۭ"],["۰","۹"],"ܑ",["ܰ","݊"],["ަ","ް"],["߀","߉"],["߫","߳"],["ࠖ","࠙"],["ࠛ","ࠣ"],["ࠥ","ࠧ"],["ࠩ","࠭"],["࡙","࡛"],["ࣣ","ः"],["ऺ","़"],["ा","ॏ"],["॑","ॗ"],["ॢ","ॣ"],["०","९"],["ঁ","ঃ"],"়",["া","ৄ"],["ে","ৈ"],["ো","্"],"ৗ",["ৢ","ৣ"],["০","৯"],["ਁ","ਃ"],"਼",["ਾ","ੂ"],["ੇ","ੈ"],["ੋ","੍"],"ੑ",["੦","ੱ"],"ੵ",["ઁ","ઃ"],"઼",["ા","ૅ"],["ે","ૉ"],["ો","્"],["ૢ","ૣ"],["૦","૯"],["ଁ","ଃ"],"଼",["ା","ୄ"],["େ","ୈ"],["ୋ","୍"],["ୖ","ୗ"],["ୢ","ୣ"],["୦","୯"],"ஂ",["ா","ூ"],["ெ","ை"],["ொ","்"],"ௗ",["௦","௯"],["ఀ","ః"],["ా","ౄ"],["ె","ై"],["ొ","్"],["ౕ","ౖ"],["ౢ","ౣ"],["౦","౯"],["ಁ","ಃ"],"಼",["ಾ","ೄ"],["ೆ","ೈ"],["ೊ","್"],["ೕ","ೖ"],["ೢ","ೣ"],["೦","೯"],["ഁ","ഃ"],["ാ","ൄ"],["െ","ൈ"],["ൊ","്"],"ൗ",["ൢ","ൣ"],["൦","൯"],["ං","ඃ"],"්",["ා","ු"],"ූ",["ෘ","ෟ"],["෦","෯"],["ෲ","ෳ"],"ั",["ิ","ฺ"],["็","๎"],["๐","๙"],"ັ",["ິ","ູ"],["ົ","ຼ"],["່","ໍ"],["໐","໙"],["༘","༙"],["༠","༩"],"༵","༷","༹",["༾","༿"],["ཱ","྄"],["྆","྇"],["ྍ","ྗ"],["ྙ","ྼ"],"࿆",["ါ","ှ"],["၀","၉"],["ၖ","ၙ"],["ၞ","ၠ"],["ၢ","ၤ"],["ၧ","ၭ"],["ၱ","ၴ"],["ႂ","ႍ"],["ႏ","ႝ"],["፝","፟"],["ᜒ","᜔"],["ᜲ","᜴"],["ᝒ","ᝓ"],["ᝲ","ᝳ"],["឴","៓"],"៝",["០","៩"],["᠋","᠍"],["᠐","᠙"],"ᢩ",["ᤠ","ᤫ"],["ᤰ","᤻"],["᥆","᥏"],["᧐","᧙"],["ᨗ","ᨛ"],["ᩕ","ᩞ"],["᩠","᩼"],["᩿","᪉"],["᪐","᪙"],["᪰","᪽"],["ᬀ","ᬄ"],["᬴","᭄"],["᭐","᭙"],["᭫","᭳"],["ᮀ","ᮂ"],["ᮡ","ᮭ"],["᮰","᮹"],["᯦","᯳"],["ᰤ","᰷"],["᱀","᱉"],["᱐","᱙"],["᳐","᳒"],["᳔","᳨"],"᳭",["ᳲ","᳴"],["᳸","᳹"],["᷀","᷵"],["᷼","᷿"],["‌","‍"],["‿","⁀"],"⁔",["⃐","⃜"],"⃡",["⃥","⃰"],["⳯","⳱"],"⵿",["ⷠ","ⷿ"],["〪","〯"],["゙","゚"],["꘠","꘩"],"꙯",["ꙴ","꙽"],["ꚞ","ꚟ"],["꛰","꛱"],"ꠂ","꠆","ꠋ",["ꠣ","ꠧ"],["ꢀ","ꢁ"],["ꢴ","꣄"],["꣐","꣙"],["꣠","꣱"],["꤀","꤉"],["ꤦ","꤭"],["ꥇ","꥓"],["ꦀ","ꦃ"],["꦳","꧀"],["꧐","꧙"],"ꧥ",["꧰","꧹"],["ꨩ","ꨶ"],"ꩃ",["ꩌ","ꩍ"],["꩐","꩙"],["ꩻ","ꩽ"],"ꪰ",["ꪲ","ꪴ"],["ꪷ","ꪸ"],["ꪾ","꪿"],"꫁",["ꫫ","ꫯ"],["ꫵ","꫶"],["ꯣ","ꯪ"],["꯬","꯭"],["꯰","꯹"],"ﬞ",["︀","️"],["︠","︯"],["︳","︴"],["﹍","﹏"],["0","9"],"_"],!1,!1),Be=cr("literal"),Me=or("i",!1),De=cr("string"),Ie=or('"',!1),ke=or("'",!1),je=sr(["\n","\r",'"',"\\",["\u2028","\u2029"]],!1,!1),Ne=sr(["\n","\r","'","\\",["\u2028","\u2029"]],!1,!1),Ue=cr("character class"),qe=or("[",!1),Ge=or("^",!1),He=or("]",!1),ze=or("-",!1),We=sr(["\n","\r",["\\","]"],["\u2028","\u2029"]],!1,!1),Ve=or("0",!1),Ye=sr(['"',"'","\\"],!1,!1),Qe=or("b",!1),Je=or("f",!1),Xe=or("n",!1),Ke=or("r",!1),Ze=or("t",!1),et=or("v",!1),tt=sr([["0","9"],"u","x"],!1,!1),rt=or("x",!1),at=or("u",!1),nt=sr([["0","9"]],!1,!1),ot=sr([["0","9"],["a","f"]],!1,!0),st=or(".",!1),ct=cr("code block"),it=sr(["{","}"],!1,!1),ut=or(";",!1),pt=function(e,t,r){return{type:"grammar",topLevelInitializer:e,initializer:t,rules:r,location:ar()}},lt=function(e){return{type:"top_level_initializer",code:e[0],codeLocation:e[1],location:ar()}},ft=function(e){return{type:"initializer",code:e[0],codeLocation:e[1],location:ar()}},gt=function(e,t,r){return{type:"rule",name:e[0],nameLocation:e[1],expression:null!==t?{type:"named",name:t,expression:r,location:ar()}:r,location:ar()}},dt=function(e,t){return t.length>0?{type:"choice",alternatives:[e].concat(t),location:ar()}:e},mt=function(e,t){return null!==t?{type:"action",expression:e,code:t[0],codeLocation:t[1],location:ar()}:e},$t=function(e,t){return t.length>0||"labeled"===e.type&&e.pick?{type:"sequence",elements:[e].concat(t),location:ar()}:e},ht=function(e,t,r){return r.type.startsWith("semantic_")&&nr('"@" cannot be used on a semantic predicate',e),{type:"labeled",label:null!==t?t[0]:null,labelLocation:null!==t?t[1]:e,pick:!0,expression:r,location:ar()}},xt=function(e,t){return{type:"labeled",label:e[0],labelLocation:e[1],expression:t,location:ar()}},bt=function(){return ar()},vt=function(e){return Wr.indexOf(e[0])>=0&&nr("Label can't be a reserved word \"".concat(e[0],'"'),e[1]),e},At=function(e,t){return{type:OPS_TO_PREFIXED_TYPES[e],expression:t,location:ar()}},yt=function(e,t){return{type:OPS_TO_SUFFIXED_TYPES[t],expression:e,location:ar()}},St=function(e,t,r){var a=t[0],n=t[1];return"constant"===n.type&&0===n.value&&nr("The maximum count of repetitions of the rule must be > 0",n.location),{type:"repeated",min:a,max:n,expression:e,delimiter:r,location:ar()}},_t=function(e,t){return[null!==e?e:{type:"constant",value:0},null!==t?t:{type:"constant",value:null}]},Et=function(e){return[null,e]},Tt=function(e){return{type:"constant",value:e,location:ar()}},Ct=function(e){return{type:"variable",value:e[0],location:ar()}},Pt=function(e){return{type:"function",value:e[0],codeLocation:e[1],location:ar()}},wt=function(e){return"labeled"===e.type||"sequence"===e.type?{type:"group",expression:e,location:ar()}:e},Rt=function(e){return{type:"rule_ref",name:e[0],location:ar()}},Lt=function(e,t){return{type:OPS_TO_SEMANTIC_PREDICATE_TYPES[e],code:t[0],codeLocation:t[1],location:ar()}},Ft=function(e,t){return[e+t.join(""),ar()]},Ot=function(e,t){return{type:"literal",value:e,ignoreCase:null!==t,location:ar()}},Bt=function(e){return e.join("")},Mt=function(e){return e.join("")},Dt=function(e,t,r){return{type:"class",parts:t.filter((function(e){return""!==e})),inverted:null!==e,ignoreCase:null!==r,location:ar()}},It=function(t,r){return t.charCodeAt(0)>r.charCodeAt(0)&&nr("Invalid character range: "+e.substring(Kt,Xt)+"."),[t,r]},kt=function(){return""},jt=function(){return"\0"},Nt=function(){return"\b"},Ut=function(){return"\f"},qt=function(){return"\n"},Gt=function(){return"\r"},Ht=function(){return"\t"},zt=function(){return"\v"},Wt=function(e){return String.fromCharCode(parseInt(e,16))},Vt=function(e){return String.fromCharCode(parseInt(e,16))},Yt=function(){return{type:"any",location:ar()}},Qt=function(e){return[e,ar()]},Jt=function(e){return parseInt(e,10)},Xt=0,Kt=0,Zt=[{line:1,column:1}],er=0,tr=[],rr=0;if("startRule"in t){if(!(t.startRule in o))throw new Error("Can't start parsing from rule \""+t.startRule+'".');s=o[t.startRule]}function ar(){return ur(Kt,Xt)}function nr(e,t){throw function(e,t){return new peg$SyntaxError(e,null,null,t)}(e,t=void 0!==t?t:ur(Kt,Xt))}function or(e,t){return{type:"literal",text:e,ignoreCase:t}}function sr(e,t,r){return{type:"class",parts:e,inverted:t,ignoreCase:r}}function cr(e){return{type:"other",description:e}}function ir(t){var r,a=Zt[t];if(a)return a;if(t>=Zt.length)r=Zt.length-1;else for(r=t;!Zt[--r];);for(a={line:(a=Zt[r]).line,column:a.column};rer&&(er=Xt,tr=[]),tr.push(e))}function lr(){var t,r,n,o,s,u;if(t=Xt,Hr(),r=Xt,n=function(){var t,r,n,o;return t=Xt,123===e.charCodeAt(Xt)?(r=c,Xt++):(r=a,0===rr&&pr(ne)),r!==a&&(n=qr())!==a?(125===e.charCodeAt(Xt)?(o=i,Xt++):(o=a,0===rr&&pr(oe)),o!==a&&zr()!==a?(Kt=t,t=lt(n)):(Xt=t,t=a)):(Xt=t,t=a),t}(),n!==a?(o=Hr(),r=n):(Xt=r,r=a),r===a&&(r=null),n=Xt,o=function(){var e,t;return e=Xt,(t=qr())!==a&&zr()!==a?(Kt=e,e=ft(t)):(Xt=e,e=a),e}(),o!==a?(s=Hr(),n=o):(Xt=n,n=a),n===a&&(n=null),o=[],s=Xt,(u=fr())!==a?(Hr(),s=u):(Xt=s,s=a),s!==a)for(;s!==a;)o.push(s),s=Xt,(u=fr())!==a?(Hr(),s=u):(Xt=s,s=a);else o=a;return o!==a?(Kt=t,t=pt(r,n,o)):(Xt=t,t=a),t}function fr(){var t,r,n,o,s;return t=Xt,(r=Pr())!==a?(Hr(),n=Xt,(o=Lr())!==a?(Hr(),n=o):(Xt=n,n=a),n===a&&(n=null),61===e.charCodeAt(Xt)?(o=u,Xt++):(o=a,0===rr&&pr(se)),o!==a?(Hr(),(s=gr())!==a&&zr()!==a?(Kt=t,t=gt(r,n,s)):(Xt=t,t=a)):(Xt=t,t=a)):(Xt=t,t=a),t}function gr(){var t,r,n,o,s,c;if(t=Xt,(r=dr())!==a){for(n=[],o=Xt,Hr(),47===e.charCodeAt(Xt)?(s=p,Xt++):(s=a,0===rr&&pr(ce)),s!==a?(Hr(),(c=dr())!==a?o=c:(Xt=o,o=a)):(Xt=o,o=a);o!==a;)n.push(o),o=Xt,Hr(),47===e.charCodeAt(Xt)?(s=p,Xt++):(s=a,0===rr&&pr(ce)),s!==a?(Hr(),(c=dr())!==a?o=c:(Xt=o,o=a)):(Xt=o,o=a);Kt=t,t=dt(r,n)}else Xt=t,t=a;return t}function dr(){var e,t,r,n;return e=Xt,t=function(){var e,t,r,n,o;if(e=Xt,(t=mr())!==a){for(r=[],n=Xt,Hr(),(o=mr())!==a?n=o:(Xt=n,n=a);n!==a;)r.push(n),n=Xt,Hr(),(o=mr())!==a?n=o:(Xt=n,n=a);Kt=e,e=$t(t,r)}else Xt=e,e=a;return e}(),t!==a?(r=Xt,Hr(),(n=qr())!==a?r=n:(Xt=r,r=a),r===a&&(r=null),Kt=e,e=mt(t,r)):(Xt=e,e=a),e}function mr(){var t,r,n,o;return t=Xt,r=function(){var t,r;return t=Xt,64===e.charCodeAt(Xt)?(r=l,Xt++):(r=a,0===rr&&pr(ie)),r!==a&&(Kt=t,r=bt()),t=r}(),r!==a?((n=$r())===a&&(n=null),(o=hr())!==a?(Kt=t,t=ht(r,n,o)):(Xt=t,t=a)):(Xt=t,t=a),t===a&&(t=Xt,(r=$r())!==a?(n=Hr(),(o=hr())!==a?(Kt=t,t=xt(r,o)):(Xt=t,t=a)):(Xt=t,t=a),t===a&&(t=hr())),t}function $r(){var t,r,n;return t=Xt,(r=Pr())!==a?(Hr(),58===e.charCodeAt(Xt)?(n=f,Xt++):(n=a,0===rr&&pr(ue)),n!==a?(Kt=t,t=vt(r)):(Xt=t,t=a)):(Xt=t,t=a),t}function hr(){var t,r,n;return t=Xt,r=function(){var t;return t=e.charAt(Xt),q.test(t)?Xt++:(t=a,0===rr&&pr(pe)),t}(),r!==a?(Hr(),(n=xr())!==a?(Kt=t,t=At(r,n)):(Xt=t,t=a)):(Xt=t,t=a),t===a&&(t=xr()),t}function xr(){var t,r,n;return t=Xt,(r=vr())!==a?(Hr(),n=function(){var t;return t=e.charAt(Xt),G.test(t)?Xt++:(t=a,0===rr&&pr(le)),t}(),n!==a?(Kt=t,t=yt(r,n)):(Xt=t,t=a)):(Xt=t,t=a),t===a&&(t=function(){var t,r,n,o,s,c,i;return t=Xt,(r=vr())!==a?(Hr(),124===e.charCodeAt(Xt)?(n=g,Xt++):(n=a,0===rr&&pr(fe)),n!==a?(Hr(),o=function(){var t,r,n,o;return t=Xt,(r=br())===a&&(r=null),Hr(),e.substr(Xt,2)===m?(n=m,Xt+=2):(n=a,0===rr&&pr(de)),n!==a?(Hr(),(o=br())===a&&(o=null),Kt=t,t=_t(r,o)):(Xt=t,t=a),t===a&&(t=Xt,(r=br())!==a&&(Kt=t,r=Et(r)),t=r),t}(),o!==a?(Hr(),s=Xt,44===e.charCodeAt(Xt)?(c=d,Xt++):(c=a,0===rr&&pr(ge)),c!==a?(Hr(),(i=gr())!==a?(Hr(),s=i):(Xt=s,s=a)):(Xt=s,s=a),s===a&&(s=null),124===e.charCodeAt(Xt)?(c=g,Xt++):(c=a,0===rr&&pr(fe)),c!==a?(Kt=t,t=St(r,o,s)):(Xt=t,t=a)):(Xt=t,t=a)):(Xt=t,t=a)):(Xt=t,t=a),t}(),t===a&&(t=vr())),t}function br(){var t,r;return t=Xt,r=function(){var t,r,n,o;if(t=Xt,r=Xt,n=[],(o=Nr())!==a)for(;o!==a;)n.push(o),o=Nr();else n=a;return(r=n!==a?e.substring(r,Xt):n)!==a&&(Kt=t,r=Jt(r)),t=r}(),r!==a&&(Kt=t,r=Tt(r)),(t=r)===a&&(t=Xt,(r=Pr())!==a&&(Kt=t,r=Ct(r)),(t=r)===a&&(t=Xt,(r=qr())!==a&&(Kt=t,r=Pt(r)),t=r)),t}function vr(){var t,r,n,o;return t=function(){var t,r,n;return rr++,t=Xt,(r=Lr())!==a?(105===e.charCodeAt(Xt)?(n=_,Xt++):(n=a,0===rr&&pr(Me)),n===a&&(n=null),Kt=t,t=Ot(r,n)):(Xt=t,t=a),rr--,t===a&&(r=a,0===rr&&pr(Be)),t}(),t===a&&(t=function(){var t,r,n,o,s,c;if(rr++,t=Xt,91===e.charCodeAt(Xt)?(r=C,Xt++):(r=a,0===rr&&pr(qe)),r!==a){for(94===e.charCodeAt(Xt)?(n=P,Xt++):(n=a,0===rr&&pr(Ge)),n===a&&(n=null),o=[],(s=Br())===a&&(s=Mr());s!==a;)o.push(s),(s=Br())===a&&(s=Mr());93===e.charCodeAt(Xt)?(s=w,Xt++):(s=a,0===rr&&pr(He)),s!==a?(105===e.charCodeAt(Xt)?(c=_,Xt++):(c=a,0===rr&&pr(Me)),c===a&&(c=null),Kt=t,t=Dt(n,o,c)):(Xt=t,t=a)}else Xt=t,t=a;return rr--,t===a&&(r=a,0===rr&&pr(Ue)),t}(),t===a&&(t=function(){var t,r;return t=Xt,46===e.charCodeAt(Xt)?(r=N,Xt++):(r=a,0===rr&&pr(st)),r!==a&&(Kt=t,r=Yt()),t=r}(),t===a&&(t=function(){var t,r,n,o,s,c,i;return t=Xt,(r=Pr())!==a?(n=Xt,rr++,o=Xt,s=Hr(),c=Xt,(i=Lr())!==a?c=i=[i,Hr()]:(Xt=c,c=a),c===a&&(c=null),61===e.charCodeAt(Xt)?(i=u,Xt++):(i=a,0===rr&&pr(se)),i!==a?o=s=[s,c,i]:(Xt=o,o=a),rr--,o===a?n=void 0:(Xt=n,n=a),n!==a?(Kt=t,t=Rt(r)):(Xt=t,t=a)):(Xt=t,t=a),t}(),t===a&&(t=function(){var t,r,n;return t=Xt,r=function(){var t;return t=e.charAt(Xt),H.test(t)?Xt++:(t=a,0===rr&&pr(he)),t}(),r!==a?(Hr(),(n=qr())!==a?(Kt=t,t=Lt(r,n)):(Xt=t,t=a)):(Xt=t,t=a),t}(),t===a&&(t=Xt,40===e.charCodeAt(Xt)?(r=$,Xt++):(r=a,0===rr&&pr(me)),r!==a?(Hr(),(n=gr())!==a?(Hr(),41===e.charCodeAt(Xt)?(o=h,Xt++):(o=a,0===rr&&pr($e)),o!==a?(Kt=t,t=wt(n)):(Xt=t,t=a)):(Xt=t,t=a)):(Xt=t,t=a)))))),t}function Ar(){var t;return e.length>Xt?(t=e.charAt(Xt),Xt++):(t=a,0===rr&&pr(xe)),t}function yr(){var t;return rr++,t=e.charAt(Xt),z.test(t)?Xt++:(t=a,0===rr&&pr(ve)),rr--,t===a&&0===rr&&pr(be),t}function Sr(){var t;return t=e.charAt(Xt),W.test(t)?Xt++:(t=a,0===rr&&pr(Ae)),t}function _r(){var t;return rr++,10===e.charCodeAt(Xt)?(t=x,Xt++):(t=a,0===rr&&pr(Se)),t===a&&(e.substr(Xt,2)===b?(t=b,Xt+=2):(t=a,0===rr&&pr(_e)),t===a&&(t=e.charAt(Xt),V.test(t)?Xt++:(t=a,0===rr&&pr(Ee)))),rr--,t===a&&0===rr&&pr(ye),t}function Er(){var t;return rr++,(t=function(){var t,r,n,o,s,c;if(t=Xt,e.substr(Xt,2)===v?(r=v,Xt+=2):(r=a,0===rr&&pr(Ce)),r!==a){for(n=[],o=Xt,s=Xt,rr++,e.substr(Xt,2)===A?(c=A,Xt+=2):(c=a,0===rr&&pr(Pe)),rr--,c===a?s=void 0:(Xt=s,s=a),s!==a&&(c=Ar())!==a?o=s=[s,c]:(Xt=o,o=a);o!==a;)n.push(o),o=Xt,s=Xt,rr++,e.substr(Xt,2)===A?(c=A,Xt+=2):(c=a,0===rr&&pr(Pe)),rr--,c===a?s=void 0:(Xt=s,s=a),s!==a&&(c=Ar())!==a?o=s=[s,c]:(Xt=o,o=a);e.substr(Xt,2)===A?(o=A,Xt+=2):(o=a,0===rr&&pr(Pe)),o!==a?t=r=[r,n,o]:(Xt=t,t=a)}else Xt=t,t=a;return t}())===a&&(t=Cr()),rr--,t===a&&0===rr&&pr(Te),t}function Tr(){var t,r,n,o,s,c;if(t=Xt,e.substr(Xt,2)===v?(r=v,Xt+=2):(r=a,0===rr&&pr(Ce)),r!==a){for(n=[],o=Xt,s=Xt,rr++,e.substr(Xt,2)===A?(c=A,Xt+=2):(c=a,0===rr&&pr(Pe)),c===a&&(c=Sr()),rr--,c===a?s=void 0:(Xt=s,s=a),s!==a&&(c=Ar())!==a?o=s=[s,c]:(Xt=o,o=a);o!==a;)n.push(o),o=Xt,s=Xt,rr++,e.substr(Xt,2)===A?(c=A,Xt+=2):(c=a,0===rr&&pr(Pe)),c===a&&(c=Sr()),rr--,c===a?s=void 0:(Xt=s,s=a),s!==a&&(c=Ar())!==a?o=s=[s,c]:(Xt=o,o=a);e.substr(Xt,2)===A?(o=A,Xt+=2):(o=a,0===rr&&pr(Pe)),o!==a?t=r=[r,n,o]:(Xt=t,t=a)}else Xt=t,t=a;return t}function Cr(){var t,r,n,o,s,c;if(t=Xt,e.substr(Xt,2)===y?(r=y,Xt+=2):(r=a,0===rr&&pr(we)),r!==a){for(n=[],o=Xt,s=Xt,rr++,c=Sr(),rr--,c===a?s=void 0:(Xt=s,s=a),s!==a&&(c=Ar())!==a?o=s=[s,c]:(Xt=o,o=a);o!==a;)n.push(o),o=Xt,s=Xt,rr++,c=Sr(),rr--,c===a?s=void 0:(Xt=s,s=a),s!==a&&(c=Ar())!==a?o=s=[s,c]:(Xt=o,o=a);t=r=[r,n]}else Xt=t,t=a;return t}function Pr(){var e,t,r,n;if(rr++,e=Xt,(t=wr())!==a){for(r=[],n=Rr();n!==a;)r.push(n),n=Rr();Kt=e,e=Ft(t,r)}else Xt=e,e=a;return rr--,e===a&&(t=a,0===rr&&pr(Re)),e}function wr(){var t,r,n;return t=e.charAt(Xt),Y.test(t)?Xt++:(t=a,0===rr&&pr(Le)),t===a&&(t=Xt,92===e.charCodeAt(Xt)?(r=S,Xt++):(r=a,0===rr&&pr(Fe)),r!==a&&(n=jr())!==a?t=n:(Xt=t,t=a)),t}function Rr(){var t;return(t=wr())===a&&(t=e.charAt(Xt),Q.test(t)?Xt++:(t=a,0===rr&&pr(Oe))),t}function Lr(){var t,r,n,o;if(rr++,t=Xt,34===e.charCodeAt(Xt)?(r=E,Xt++):(r=a,0===rr&&pr(Ie)),r!==a){for(n=[],o=Fr();o!==a;)n.push(o),o=Fr();34===e.charCodeAt(Xt)?(o=E,Xt++):(o=a,0===rr&&pr(Ie)),o!==a?(Kt=t,t=Bt(n)):(Xt=t,t=a)}else Xt=t,t=a;if(t===a)if(t=Xt,39===e.charCodeAt(Xt)?(r=T,Xt++):(r=a,0===rr&&pr(ke)),r!==a){for(n=[],o=Or();o!==a;)n.push(o),o=Or();39===e.charCodeAt(Xt)?(o=T,Xt++):(o=a,0===rr&&pr(ke)),o!==a?(Kt=t,t=Mt(n)):(Xt=t,t=a)}else Xt=t,t=a;return rr--,t===a&&(r=a,0===rr&&pr(De)),t}function Fr(){var t,r,n,o;return t=Xt,r=Xt,n=Xt,rr++,o=e.charAt(Xt),J.test(o)?Xt++:(o=a,0===rr&&pr(je)),rr--,o===a?n=void 0:(Xt=n,n=a),n!==a&&(o=Ar())!==a?r=n=[n,o]:(Xt=r,r=a),(t=r!==a?e.substring(t,Xt):r)===a&&(t=Xt,92===e.charCodeAt(Xt)?(r=S,Xt++):(r=a,0===rr&&pr(Fe)),r!==a&&(n=Ir())!==a?t=n:(Xt=t,t=a),t===a&&(t=Dr())),t}function Or(){var t,r,n,o;return t=Xt,r=Xt,n=Xt,rr++,o=e.charAt(Xt),X.test(o)?Xt++:(o=a,0===rr&&pr(Ne)),rr--,o===a?n=void 0:(Xt=n,n=a),n!==a&&(o=Ar())!==a?r=n=[n,o]:(Xt=r,r=a),(t=r!==a?e.substring(t,Xt):r)===a&&(t=Xt,92===e.charCodeAt(Xt)?(r=S,Xt++):(r=a,0===rr&&pr(Fe)),r!==a&&(n=Ir())!==a?t=n:(Xt=t,t=a),t===a&&(t=Dr())),t}function Br(){var t,r,n,o;return t=Xt,(r=Mr())!==a?(45===e.charCodeAt(Xt)?(n=R,Xt++):(n=a,0===rr&&pr(ze)),n!==a&&(o=Mr())!==a?(Kt=t,t=It(r,o)):(Xt=t,t=a)):(Xt=t,t=a),t}function Mr(){var t,r,n,o;return t=Xt,r=Xt,n=Xt,rr++,o=e.charAt(Xt),K.test(o)?Xt++:(o=a,0===rr&&pr(We)),rr--,o===a?n=void 0:(Xt=n,n=a),n!==a&&(o=Ar())!==a?r=n=[n,o]:(Xt=r,r=a),(t=r!==a?e.substring(t,Xt):r)===a&&(t=Xt,92===e.charCodeAt(Xt)?(r=S,Xt++):(r=a,0===rr&&pr(Fe)),r!==a&&(n=Ir())!==a?t=n:(Xt=t,t=a),t===a&&(t=Dr())),t}function Dr(){var t,r;return t=Xt,92===e.charCodeAt(Xt)?(r=S,Xt++):(r=a,0===rr&&pr(Fe)),r!==a&&_r()!==a?(Kt=t,t=kt()):(Xt=t,t=a),t}function Ir(){var t,r,n,o;return t=function(){var t;return(t=kr())===a&&(t=function(){var t,r,n,o;return t=Xt,r=Xt,n=Xt,rr++,o=function(){var t;return(t=kr())===a&&(t=e.charAt(Xt),ee.test(t)?Xt++:(t=a,0===rr&&pr(tt))),t}(),o===a&&(o=Sr()),rr--,o===a?n=void 0:(Xt=n,n=a),n!==a&&(o=Ar())!==a?r=n=[n,o]:(Xt=r,r=a),t=r!==a?e.substring(t,Xt):r}()),t}(),t===a&&(t=Xt,48===e.charCodeAt(Xt)?(r=L,Xt++):(r=a,0===rr&&pr(Ve)),r!==a?(n=Xt,rr++,o=Nr(),rr--,o===a?n=void 0:(Xt=n,n=a),n!==a?(Kt=t,t=jt()):(Xt=t,t=a)):(Xt=t,t=a),t===a&&(t=function(){var t,r,n,o,s,c;return t=Xt,120===e.charCodeAt(Xt)?(r=k,Xt++):(r=a,0===rr&&pr(rt)),r!==a?(n=Xt,o=Xt,(s=Ur())!==a&&(c=Ur())!==a?o=s=[s,c]:(Xt=o,o=a),(n=o!==a?e.substring(n,Xt):o)!==a?(Kt=t,t=Wt(n)):(Xt=t,t=a)):(Xt=t,t=a),t}(),t===a&&(t=jr()))),t}function kr(){var t,r;return t=e.charAt(Xt),Z.test(t)?Xt++:(t=a,0===rr&&pr(Ye)),t===a&&(t=Xt,98===e.charCodeAt(Xt)?(r=F,Xt++):(r=a,0===rr&&pr(Qe)),r!==a&&(Kt=t,r=Nt()),(t=r)===a&&(t=Xt,102===e.charCodeAt(Xt)?(r=O,Xt++):(r=a,0===rr&&pr(Je)),r!==a&&(Kt=t,r=Ut()),(t=r)===a&&(t=Xt,110===e.charCodeAt(Xt)?(r=B,Xt++):(r=a,0===rr&&pr(Xe)),r!==a&&(Kt=t,r=qt()),(t=r)===a&&(t=Xt,114===e.charCodeAt(Xt)?(r=M,Xt++):(r=a,0===rr&&pr(Ke)),r!==a&&(Kt=t,r=Gt()),(t=r)===a&&(t=Xt,116===e.charCodeAt(Xt)?(r=D,Xt++):(r=a,0===rr&&pr(Ze)),r!==a&&(Kt=t,r=Ht()),(t=r)===a&&(t=Xt,118===e.charCodeAt(Xt)?(r=I,Xt++):(r=a,0===rr&&pr(et)),r!==a&&(Kt=t,r=zt()),t=r)))))),t}function jr(){var t,r,n,o,s,c,i,u;return t=Xt,117===e.charCodeAt(Xt)?(r=j,Xt++):(r=a,0===rr&&pr(at)),r!==a?(n=Xt,o=Xt,(s=Ur())!==a&&(c=Ur())!==a&&(i=Ur())!==a&&(u=Ur())!==a?o=s=[s,c,i,u]:(Xt=o,o=a),(n=o!==a?e.substring(n,Xt):o)!==a?(Kt=t,t=Vt(n)):(Xt=t,t=a)):(Xt=t,t=a),t}function Nr(){var t;return t=e.charAt(Xt),te.test(t)?Xt++:(t=a,0===rr&&pr(nt)),t}function Ur(){var t;return t=e.charAt(Xt),re.test(t)?Xt++:(t=a,0===rr&&pr(ot)),t}function qr(){var t,r,n,o;return rr++,t=Xt,123===e.charCodeAt(Xt)?(r=c,Xt++):(r=a,0===rr&&pr(ne)),r!==a?(n=function(){var e,t;return e=Xt,t=Gr(),Kt=e,e=t=Qt(t)}(),125===e.charCodeAt(Xt)?(o=i,Xt++):(o=a,0===rr&&pr(oe)),o!==a?t=n:(Xt=t,t=a)):(Xt=t,t=a),rr--,t===a&&(r=a,0===rr&&pr(ct)),t}function Gr(){var t,r,n,o,s,u;if(t=Xt,r=[],n=[],o=Xt,s=Xt,rr++,u=e.charAt(Xt),ae.test(u)?Xt++:(u=a,0===rr&&pr(it)),rr--,u===a?s=void 0:(Xt=s,s=a),s!==a&&(u=Ar())!==a?o=s=[s,u]:(Xt=o,o=a),o!==a)for(;o!==a;)n.push(o),o=Xt,s=Xt,rr++,u=e.charAt(Xt),ae.test(u)?Xt++:(u=a,0===rr&&pr(it)),rr--,u===a?s=void 0:(Xt=s,s=a),s!==a&&(u=Ar())!==a?o=s=[s,u]:(Xt=o,o=a);else n=a;for(n===a&&(n=Xt,123===e.charCodeAt(Xt)?(o=c,Xt++):(o=a,0===rr&&pr(ne)),o!==a?(s=Gr(),125===e.charCodeAt(Xt)?(u=i,Xt++):(u=a,0===rr&&pr(oe)),u!==a?n=o=[o,s,u]:(Xt=n,n=a)):(Xt=n,n=a));n!==a;){if(r.push(n),n=[],o=Xt,s=Xt,rr++,u=e.charAt(Xt),ae.test(u)?Xt++:(u=a,0===rr&&pr(it)),rr--,u===a?s=void 0:(Xt=s,s=a),s!==a&&(u=Ar())!==a?o=s=[s,u]:(Xt=o,o=a),o!==a)for(;o!==a;)n.push(o),o=Xt,s=Xt,rr++,u=e.charAt(Xt),ae.test(u)?Xt++:(u=a,0===rr&&pr(it)),rr--,u===a?s=void 0:(Xt=s,s=a),s!==a&&(u=Ar())!==a?o=s=[s,u]:(Xt=o,o=a);else n=a;n===a&&(n=Xt,123===e.charCodeAt(Xt)?(o=c,Xt++):(o=a,0===rr&&pr(ne)),o!==a?(s=Gr(),125===e.charCodeAt(Xt)?(u=i,Xt++):(u=a,0===rr&&pr(oe)),u!==a?n=o=[o,s,u]:(Xt=n,n=a)):(Xt=n,n=a))}return e.substring(t,Xt)}function Hr(){var e,t;for(e=[],(t=yr())===a&&(t=_r())===a&&(t=Er());t!==a;)e.push(t),(t=yr())===a&&(t=_r())===a&&(t=Er());return e}function zr(){var t,r,n,o;if(t=[],r=Xt,n=Hr(),59===e.charCodeAt(Xt)?(o=U,Xt++):(o=a,0===rr&&pr(ut)),o!==a?r=n=[n,o]:(Xt=r,r=a),r!==a)for(;r!==a;)t.push(r),r=Xt,n=Hr(),59===e.charCodeAt(Xt)?(o=U,Xt++):(o=a,0===rr&&pr(ut)),o!==a?r=n=[n,o]:(Xt=r,r=a);else t=a;return t===a&&(t=Xt,r=function(){var e,t;for(e=[],(t=yr())===a&&(t=Tr());t!==a;)e.push(t),(t=yr())===a&&(t=Tr());return e}(),(n=Cr())===a&&(n=null),(o=_r())!==a?t=r=[r,n,o]:(Xt=t,t=a),t===a&&(t=Xt,r=Hr(),n=function(){var t,r;return t=Xt,rr++,e.length>Xt?(r=e.charAt(Xt),Xt++):(r=a,0===rr&&pr(xe)),rr--,r===a?t=void 0:(Xt=t,t=a),t}(),n!==a?t=r=[r,n]:(Xt=t,t=a))),t}var Wr=t.reservedWords||[];if((r=s())!==a&&Xt===e.length)return r;throw r!==a&&Xt0){for(t=1,r=1;t=16"},require$$2={name:name,version:version,description:description,keywords:keywords,homepage:homepage,repository:repository,bugs:bugs,license:license,author:author,main:main,browser:browser,unpkg:unpkg,jsdelivr:jsdelivr,types:types,bin:bin,scripts:scripts,devDependencies:devDependencies,dependencies:dependencies,engines:engines},sourceMap={},sourceMapGenerator={},base64Vlq={},base64$2={};const intToCharMap="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");base64$2.encode=function(e){if(0<=e&&e>>=VLQ_BASE_SHIFT,a>0&&(t|=VLQ_CONTINUATION_BIT),r+=base64$1.encode(t)}while(a>0);return r};var util$4={},urlBrowser=require$$0$1.URL;const URL$1=urlBrowser;function getArg(e,t,r){if(t in e)return e[t];if(3===arguments.length)return r;throw new Error('"'+t+'" is a required argument.')}util$4.getArg=getArg;const supportsNullProto=!("__proto__"in Object.create(null));function identity(e){return e}function toSetString(e){return isProtoString(e)?"$"+e:e}function fromSetString(e){return isProtoString(e)?e.slice(1):e}function isProtoString(e){if(!e)return!1;const t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(let r=t-10;r>=0;r--)if(36!==e.charCodeAt(r))return!1;return!0}function strcmp(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}function compareByGeneratedPositionsInflated(e,t){let r=e.generatedLine-t.generatedLine;return 0!==r?r:(r=e.generatedColumn-t.generatedColumn,0!==r?r:(r=strcmp(e.source,t.source),0!==r?r:(r=e.originalLine-t.originalLine,0!==r?r:(r=e.originalColumn-t.originalColumn,0!==r?r:strcmp(e.name,t.name)))))}function parseSourceMapInput(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))}util$4.toSetString=supportsNullProto?identity:toSetString,util$4.fromSetString=supportsNullProto?identity:fromSetString,util$4.compareByGeneratedPositionsInflated=compareByGeneratedPositionsInflated,util$4.parseSourceMapInput=parseSourceMapInput;const PROTOCOL="http:",PROTOCOL_AND_HOST=`${PROTOCOL}//host`;function createSafeHandler(e){return t=>{const r=getURLType(t),a=buildSafeBase(t),n=new URL$1(t,a);e(n);const o=n.toString();return"absolute"===r?o:"scheme-relative"===r?o.slice(PROTOCOL.length):"path-absolute"===r?o.slice(PROTOCOL_AND_HOST.length):computeRelativeURL(a,o)}}function withBase(e,t){return new URL$1(e,t).toString()}function buildUniqueSegment(e,t){let r=0;for(;;){const a=e+r++;if(-1===t.indexOf(a))return a}}function buildSafeBase(e){const t=e.split("..").length-1,r=buildUniqueSegment("p",e);let a=`${PROTOCOL_AND_HOST}/`;for(let e=0;e0&&!a[a.length-1]&&a.pop();r.length>0&&a.length>0&&r[0]===a[0];)r.shift(),a.shift();return a.map((()=>"..")).concat(r).join("/")+t.search+t.hash}const ensureDirectory=createSafeHandler((e=>{e.pathname=e.pathname.replace(/\/?$/,"/")})),trimFilename=createSafeHandler((e=>{e.href=new URL$1(".",e.toString()).toString()})),normalize=createSafeHandler((e=>{}));function join(e,t){const r=getURLType(t),a=getURLType(e);if(e=ensureDirectory(e),"absolute"===r)return withBase(t,void 0);if("absolute"===a)return withBase(t,e);if("scheme-relative"===r)return normalize(t);if("scheme-relative"===a)return withBase(t,withBase(e,PROTOCOL_AND_HOST)).slice(PROTOCOL.length);if("path-absolute"===r)return normalize(t);if("path-absolute"===a)return withBase(t,withBase(e,PROTOCOL_AND_HOST)).slice(PROTOCOL_AND_HOST.length);const n=buildSafeBase(t+e);return computeRelativeURL(n,withBase(t,withBase(e,n)))}function relative(e,t){const r=relativeIfPossible(e,t);return"string"==typeof r?r:normalize(t)}function relativeIfPossible(e,t){if(getURLType(e)!==getURLType(t))return null;const r=buildSafeBase(e+t),a=new URL$1(e,r),n=new URL$1(t,r);try{new URL$1("",n.toString())}catch(e){return null}return n.protocol!==a.protocol||n.user!==a.user||n.password!==a.password||n.hostname!==a.hostname||n.port!==a.port?null:computeRelativeURL(a,n)}function computeSourceURL(e,t,r){e&&"path-absolute"===getURLType(t)&&(t=t.replace(/^\//,""));let a=normalize(t||"");return e&&(a=join(e,a)),r&&(a=join(trimFilename(r),a)),a}util$4.normalize=normalize,util$4.join=join,util$4.relative=relative,util$4.computeSourceURL=computeSourceURL;var arraySet={};let ArraySet$2=class e{constructor(){this._array=[],this._set=new Map}static fromArray(t,r){const a=new e;for(let e=0,n=t.length;e=0)return t;throw new Error('"'+e+'" is not in the set.')}at(e){if(e>=0&&er||a==r&&o>=n||util$3.compareByGeneratedPositionsInflated(e,t)<=0}let MappingList$1=class{constructor(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}unsortedForEach(e,t){this._array.forEach(e,t)}add(e){generatedPositionAfter(this._last,e)?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))}toArray(){return this._sorted||(this._array.sort(util$3.compareByGeneratedPositionsInflated),this._sorted=!0),this._array}};mappingList.MappingList=MappingList$1;const base64VLQ=base64Vlq,util$2=util$4,ArraySet$1=arraySet.ArraySet,MappingList=mappingList.MappingList;let SourceMapGenerator$1=class e{constructor(e){e||(e={}),this._file=util$2.getArg(e,"file",null),this._sourceRoot=util$2.getArg(e,"sourceRoot",null),this._skipValidation=util$2.getArg(e,"skipValidation",!1),this._sources=new ArraySet$1,this._names=new ArraySet$1,this._mappings=new MappingList,this._sourcesContents=null}static fromSourceMap(t){const r=t.sourceRoot,a=new e({file:t.file,sourceRoot:r});return t.eachMapping((function(e){const t={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(t.source=e.source,null!=r&&(t.source=util$2.relative(r,t.source)),t.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(t.name=e.name)),a.addMapping(t)})),t.sources.forEach((function(e){let n=e;null!==r&&(n=util$2.relative(r,e)),a._sources.has(n)||a._sources.add(n);const o=t.sourceContentFor(e);null!=o&&a.setSourceContent(e,o)})),a}addMapping(e){const t=util$2.getArg(e,"generated"),r=util$2.getArg(e,"original",null);let a=util$2.getArg(e,"source",null),n=util$2.getArg(e,"name",null);this._skipValidation||this._validateMapping(t,r,a,n),null!=a&&(a=String(a),this._sources.has(a)||this._sources.add(a)),null!=n&&(n=String(n),this._names.has(n)||this._names.add(n)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:null!=r&&r.line,originalColumn:null!=r&&r.column,source:a,name:n})}setSourceContent(e,t){let r=e;null!=this._sourceRoot&&(r=util$2.relative(this._sourceRoot,r)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[util$2.toSetString(r)]=t):this._sourcesContents&&(delete this._sourcesContents[util$2.toSetString(r)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))}applySourceMap(e,t,r){let a=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');a=e.file}const n=this._sourceRoot;null!=n&&(a=util$2.relative(n,a));const o=this._mappings.toArray().length>0?new ArraySet$1:this._sources,s=new ArraySet$1;this._mappings.unsortedForEach((function(t){if(t.source===a&&null!=t.originalLine){const a=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=a.source&&(t.source=a.source,null!=r&&(t.source=util$2.join(r,t.source)),null!=n&&(t.source=util$2.relative(n,t.source)),t.originalLine=a.line,t.originalColumn=a.column,null!=a.name&&(t.name=a.name))}const c=t.source;null==c||o.has(c)||o.add(c);const i=t.name;null==i||s.has(i)||s.add(i)}),this),this._sources=o,this._names=s,e.sources.forEach((function(t){const a=e.sourceContentFor(t);null!=a&&(null!=r&&(t=util$2.join(r,t)),null!=n&&(t=util$2.relative(n,t)),this.setSourceContent(t,a))}),this)}_validateMapping(e,t,r,a){if(t&&"number"!=typeof t.line&&"number"!=typeof t.column)throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0&&!t&&!r&&!a);else if(!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&r))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:r,original:t,name:a}))}_serializeMappings(){let e,t,r,a,n=0,o=1,s=0,c=0,i=0,u=0,p="";const l=this._mappings.toArray();for(let f=0,g=l.length;f0){if(!util$2.compareByGeneratedPositionsInflated(t,l[f-1]))continue;e+=","}e+=base64VLQ.encode(t.generatedColumn-n),n=t.generatedColumn,null!=t.source&&(a=this._sources.indexOf(t.source),e+=base64VLQ.encode(a-u),u=a,e+=base64VLQ.encode(t.originalLine-1-c),c=t.originalLine-1,e+=base64VLQ.encode(t.originalColumn-s),s=t.originalColumn,null!=t.name&&(r=this._names.indexOf(t.name),e+=base64VLQ.encode(r-i),i=r)),p+=e}return p}_generateSourcesContent(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=util$2.relative(t,e));const r=util$2.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null}),this)}toJSON(){const e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e}toString(){return JSON.stringify(this.toJSON())}};SourceMapGenerator$1.prototype._version=3,sourceMapGenerator.SourceMapGenerator=SourceMapGenerator$1;var sourceMapConsumer={},binarySearch$1={};!function(e){function t(r,a,n,o,s,c){const i=Math.floor((a-r)/2)+r,u=s(n,o[i],!0);return 0===u?i:u>0?a-i>1?t(i,a,n,o,s,c):c==e.LEAST_UPPER_BOUND?a1?t(r,i,n,o,s,c):c==e.LEAST_UPPER_BOUND?i:r<0?-1:r}e.GREATEST_LOWER_BOUND=1,e.LEAST_UPPER_BOUND=2,e.search=function(r,a,n,o){if(0===a.length)return-1;let s=t(-1,a.length,r,a,n,o||e.GREATEST_LOWER_BOUND);if(s<0)return-1;for(;s-1>=0&&0===n(a[s],a[s-1],!0);)--s;return s}}(binarySearch$1);var readWasmBrowser={exports:{}};let mappingsWasm=null;readWasmBrowser.exports=function(){if("string"==typeof mappingsWasm)return fetch(mappingsWasm).then((e=>e.arrayBuffer()));if(mappingsWasm instanceof ArrayBuffer)return Promise.resolve(mappingsWasm);throw new Error("You must provide the string URL or ArrayBuffer contents of lib/mappings.wasm by calling SourceMapConsumer.initialize({ 'lib/mappings.wasm': ... }) before using SourceMapConsumer")},readWasmBrowser.exports.initialize=e=>{mappingsWasm=e};var readWasmBrowserExports=readWasmBrowser.exports;const readWasm$1=readWasmBrowserExports;function Mapping(){this.generatedLine=0,this.generatedColumn=0,this.lastGeneratedColumn=null,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}let cachedWasm=null;var wasm$1=function(){if(cachedWasm)return cachedWasm;const e=[];return cachedWasm=readWasm$1().then((t=>WebAssembly.instantiate(t,{env:{mapping_callback(t,r,a,n,o,s,c,i,u,p){const l=new Mapping;l.generatedLine=t+1,l.generatedColumn=r,a&&(l.lastGeneratedColumn=n-1),o&&(l.source=s,l.originalLine=c+1,l.originalColumn=i,u&&(l.name=p)),e[e.length-1](l)},start_all_generated_locations_for(){console.time("all_generated_locations_for")},end_all_generated_locations_for(){console.timeEnd("all_generated_locations_for")},start_compute_column_spans(){console.time("compute_column_spans")},end_compute_column_spans(){console.timeEnd("compute_column_spans")},start_generated_location_for(){console.time("generated_location_for")},end_generated_location_for(){console.timeEnd("generated_location_for")},start_original_location_for(){console.time("original_location_for")},end_original_location_for(){console.timeEnd("original_location_for")},start_parse_mappings(){console.time("parse_mappings")},end_parse_mappings(){console.timeEnd("parse_mappings")},start_sort_by_generated_location(){console.time("sort_by_generated_location")},end_sort_by_generated_location(){console.timeEnd("sort_by_generated_location")},start_sort_by_original_location(){console.time("sort_by_original_location")},end_sort_by_original_location(){console.timeEnd("sort_by_original_location")}}}))).then((t=>({exports:t.instance.exports,withMappingCallback:(t,r)=>{e.push(t);try{r()}finally{e.pop()}}}))).then(null,(e=>{throw cachedWasm=null,e})),cachedWasm};const util$1=util$4,binarySearch=binarySearch$1,ArraySet=arraySet.ArraySet,readWasm=readWasmBrowserExports,wasm=wasm$1,INTERNAL=Symbol("smcInternal");let SourceMapConsumer$1=class e{constructor(e,t){return e==INTERNAL?Promise.resolve(this):_factory(e,t)}static initialize(e){readWasm.initialize(e["lib/mappings.wasm"])}static fromSourceMap(e,t){return _factoryBSM(e,t)}static async with(t,r,a){const n=await new e(t,r);try{return await a(n)}finally{n.destroy()}}eachMapping(e,t,r){throw new Error("Subclasses must implement eachMapping")}allGeneratedPositionsFor(e){throw new Error("Subclasses must implement allGeneratedPositionsFor")}destroy(){throw new Error("Subclasses must implement destroy")}};SourceMapConsumer$1.prototype._version=3,SourceMapConsumer$1.GENERATED_ORDER=1,SourceMapConsumer$1.ORIGINAL_ORDER=2,SourceMapConsumer$1.GREATEST_LOWER_BOUND=1,SourceMapConsumer$1.LEAST_UPPER_BOUND=2,sourceMapConsumer.SourceMapConsumer=SourceMapConsumer$1;class BasicSourceMapConsumer extends SourceMapConsumer$1{constructor(e,t){return super(INTERNAL).then((r=>{let a=e;"string"==typeof e&&(a=util$1.parseSourceMapInput(e));const n=util$1.getArg(a,"version"),o=util$1.getArg(a,"sources").map(String),s=util$1.getArg(a,"names",[]),c=util$1.getArg(a,"sourceRoot",null),i=util$1.getArg(a,"sourcesContent",null),u=util$1.getArg(a,"mappings"),p=util$1.getArg(a,"file",null);if(n!=r._version)throw new Error("Unsupported version: "+n);return r._sourceLookupCache=new Map,r._names=ArraySet.fromArray(s.map(String),!0),r._sources=ArraySet.fromArray(o,!0),r._absoluteSources=ArraySet.fromArray(r._sources.toArray().map((function(e){return util$1.computeSourceURL(c,e,t)})),!0),r.sourceRoot=c,r.sourcesContent=i,r._mappings=u,r._sourceMapURL=t,r.file=p,r._computedColumnSpans=!1,r._mappingsPtr=0,r._wasm=null,wasm().then((e=>(r._wasm=e,r)))}))}_findSourceIndex(e){const t=this._sourceLookupCache.get(e);if("number"==typeof t)return t;const r=util$1.computeSourceURL(null,e,this._sourceMapURL);if(this._absoluteSources.has(r)){const t=this._absoluteSources.indexOf(r);return this._sourceLookupCache.set(e,t),t}const a=util$1.computeSourceURL(this.sourceRoot,e,this._sourceMapURL);if(this._absoluteSources.has(a)){const t=this._absoluteSources.indexOf(a);return this._sourceLookupCache.set(e,t),t}return-1}static fromSourceMap(e,t){return new BasicSourceMapConsumer(e.toString())}get sources(){return this._absoluteSources.toArray()}_getMappingsPtr(){return 0===this._mappingsPtr&&this._parseMappings(),this._mappingsPtr}_parseMappings(){const e=this._mappings,t=e.length,r=this._wasm.exports.allocate_mappings(t),a=new Uint8Array(this._wasm.exports.memory.buffer,r,t);for(let r=0;r{null!==t.source&&(t.source=this._absoluteSources.at(t.source),null!==t.name&&(t.name=this._names.at(t.name))),this._computedColumnSpans&&null===t.lastGeneratedColumn&&(t.lastGeneratedColumn=1/0),e.call(a,t)}),(()=>{switch(n){case SourceMapConsumer$1.GENERATED_ORDER:this._wasm.exports.by_generated_location(this._getMappingsPtr());break;case SourceMapConsumer$1.ORIGINAL_ORDER:this._wasm.exports.by_original_location(this._getMappingsPtr());break;default:throw new Error("Unknown order of iteration.")}}))}allGeneratedPositionsFor(e){let t=util$1.getArg(e,"source");const r=util$1.getArg(e,"line"),a=e.column||0;if(t=this._findSourceIndex(t),t<0)return[];if(r<1)throw new Error("Line numbers must be >= 1");if(a<0)throw new Error("Column numbers must be >= 0");const n=[];return this._wasm.withMappingCallback((e=>{let t=e.lastGeneratedColumn;this._computedColumnSpans&&null===t&&(t=1/0),n.push({line:e.generatedLine,column:e.generatedColumn,lastColumn:t})}),(()=>{this._wasm.exports.all_generated_locations_for(this._getMappingsPtr(),t,r-1,"column"in e,a)})),n}destroy(){0!==this._mappingsPtr&&(this._wasm.exports.free_mappings(this._mappingsPtr),this._mappingsPtr=0)}computeColumnSpans(){this._computedColumnSpans||(this._wasm.exports.compute_column_spans(this._getMappingsPtr()),this._computedColumnSpans=!0)}originalPositionFor(e){const t={generatedLine:util$1.getArg(e,"line"),generatedColumn:util$1.getArg(e,"column")};if(t.generatedLine<1)throw new Error("Line numbers must be >= 1");if(t.generatedColumn<0)throw new Error("Column numbers must be >= 0");let r,a=util$1.getArg(e,"bias",SourceMapConsumer$1.GREATEST_LOWER_BOUND);if(null==a&&(a=SourceMapConsumer$1.GREATEST_LOWER_BOUND),this._wasm.withMappingCallback((e=>r=e),(()=>{this._wasm.exports.original_location_for(this._getMappingsPtr(),t.generatedLine-1,t.generatedColumn,a)})),r&&r.generatedLine===t.generatedLine){let e=util$1.getArg(r,"source",null);null!==e&&(e=this._absoluteSources.at(e));let t=util$1.getArg(r,"name",null);return null!==t&&(t=this._names.at(t)),{source:e,line:util$1.getArg(r,"originalLine",null),column:util$1.getArg(r,"originalColumn",null),name:t}}return{source:null,line:null,column:null,name:null}}hasContentsOfAllSources(){return!!this.sourcesContent&&this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some((function(e){return null==e}))}sourceContentFor(e,t){if(!this.sourcesContent)return null;const r=this._findSourceIndex(e);if(r>=0)return this.sourcesContent[r];if(t)return null;throw new Error('"'+e+'" is not in the SourceMap.')}generatedPositionFor(e){let t=util$1.getArg(e,"source");if(t=this._findSourceIndex(t),t<0)return{line:null,column:null,lastColumn:null};const r={source:t,originalLine:util$1.getArg(e,"line"),originalColumn:util$1.getArg(e,"column")};if(r.originalLine<1)throw new Error("Line numbers must be >= 1");if(r.originalColumn<0)throw new Error("Column numbers must be >= 0");let a,n=util$1.getArg(e,"bias",SourceMapConsumer$1.GREATEST_LOWER_BOUND);if(null==n&&(n=SourceMapConsumer$1.GREATEST_LOWER_BOUND),this._wasm.withMappingCallback((e=>a=e),(()=>{this._wasm.exports.generated_location_for(this._getMappingsPtr(),r.source,r.originalLine-1,r.originalColumn,n)})),a&&a.source===r.source){let e=a.lastGeneratedColumn;return this._computedColumnSpans&&null===e&&(e=1/0),{line:util$1.getArg(a,"generatedLine",null),column:util$1.getArg(a,"generatedColumn",null),lastColumn:e}}return{line:null,column:null,lastColumn:null}}}BasicSourceMapConsumer.prototype.consumer=SourceMapConsumer$1,sourceMapConsumer.BasicSourceMapConsumer=BasicSourceMapConsumer;class IndexedSourceMapConsumer extends SourceMapConsumer$1{constructor(e,t){return super(INTERNAL).then((r=>{let a=e;"string"==typeof e&&(a=util$1.parseSourceMapInput(e));const n=util$1.getArg(a,"version"),o=util$1.getArg(a,"sections");if(n!=r._version)throw new Error("Unsupported version: "+n);let s={line:-1,column:0};return Promise.all(o.map((e=>{if(e.url)throw new Error("Support for url field in sections not implemented.");const r=util$1.getArg(e,"offset"),a=util$1.getArg(r,"line"),n=util$1.getArg(r,"column");if(a({generatedOffset:{generatedLine:a+1,generatedColumn:n+1},consumer:e})))}))).then((e=>(r._sections=e,r)))}))}get sources(){const e=[];for(let t=0;t=0?this._sections[t]:null,a=t>=0&&t+1=0?this._sections[t]:null,a=t>=0&&t+1{const t=r.generatedOffset.generatedLine-1,n=r.generatedOffset.generatedColumn-1;return 1===e.line&&(e.column+=n,"number"==typeof e.lastColumn&&(e.lastColumn+=n)),e.lastColumn===1/0&&a&&e.line===a.generatedOffset.generatedLine&&(e.lastColumn=a.generatedOffset.generatedColumn-2),e.line+=t,e})):[]}eachMapping(e,t,r){this._sections.forEach(((a,n)=>{const o=n+1=0;t--)this.prepend(e[t]);else{if(!e[isSourceNode]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this}walk(e){let t;for(let r=0,a=this.children.length;r0){for(t=[],r=0;r start -> leftRecursion -> duplicatedRule)"])}}))}))}));var chai$f=require$$0,parser$2=parser$4,compiler=compiler_1,expect$f=chai$f.expect;describe("Peggy compiler",(function(){it("checks start rules",(function(){var e=parser$2.parse("foo='1'");expect$f(compiler.compile(e,compiler.passes)).to.be.an("object"),expect$f((function(){return compiler.compile(e,compiler.passes,{allowedStartRules:null})})).to.throw("allowedStartRules must be an array"),expect$f((function(){return compiler.compile(e,compiler.passes,{allowedStartRules:[]})})).to.throw("Must have at least one start rule"),expect$f((function(){return compiler.compile(e,compiler.passes,{allowedStartRules:["bar"]})})).to.throw('Unknown start rule "bar"')})),it("checks output type",(function(){var e=parser$2.parse("foo='1'");expect$f(compiler.compile(e,compiler.passes,{output:"source"})).to.be.a("string"),expect$f((function(){return compiler.compile(e,compiler.passes,{output:"INVALID OUTPUT TYPE"})})).to.throw("Invalid output format: INVALID OUTPUT TYPE.")})),it("generates inline sourceMappingURL",(function(){var e=parser$2.parse("foo='1'");if(expect$f(e).to.be.an("object"),"function"==typeof TextEncoder&&(expect$f(compiler.compile(e,compiler.passes,{output:"source-with-inline-map",grammarSource:"src.peggy"})).to.match(/^\/\/# sourceMappingURL=data:application\/json;charset=utf-8;base64,/m),"object"==typeof globalThis)){var t=globalThis.TextEncoder;delete globalThis.TextEncoder,expect$f((function(){return compiler.compile(e,compiler.passes,{output:"source-with-inline-map",grammarSource:"src.peggy"})})).to.throw("TextEncoder is not supported by this platform"),globalThis.TextEncoder=t}})),it("requires grammarSource with source-map",(function(){var e=parser$2.parse("foo='1'");expect$f(e).to.be.an("object"),expect$f((function(){return compiler.compile(e,compiler.passes,{output:"source-and-map"})})).to.throw("Must provide grammarSource (as a string or GrammarLocation) in order to generate source maps"),expect$f((function(){return compiler.compile(e,compiler.passes,{output:"source-and-map",grammarSource:""})})).to.throw("Must provide grammarSource (as a string or GrammarLocation) in order to generate source maps"),"function"==typeof TextEncoder&&expect$f((function(){return compiler.compile(e,compiler.passes,{output:"source-with-inline-map",grammarSource:{toString:function(){return""}}})})).to.throw("Must provide grammarSource (as a string or GrammarLocation) in order to generate source maps")}))}));var __spreadArray$1=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var a,n=0,o=t.length;n start)",location:{source:void 0,start:{offset:0,line:1,column:1},end:{offset:5,line:1,column:6}}})})),it("reports indirect left recursion",(function(){expect$6(pass$2).to.reportError(["start = stop","stop = start"].join("\n"),{message:"Possible infinite loop when parsing (left recursion: start -> stop -> start)",location:{source:void 0,start:{offset:0,line:1,column:1},end:{offset:5,line:1,column:6}}})})),describe("in sequences",(function(){it("reports left recursion if all preceding elements match empty string",(function(){expect$6(pass$2).to.reportError("start = '' '' '' start")})),it("doesn't report left recursion if some preceding element doesn't match empty string",(function(){expect$6(pass$2).to.not.reportError("start = 'a' '' '' start"),expect$6(pass$2).to.not.reportError("start = '' 'a' '' start"),expect$6(pass$2).to.not.reportError("start = '' '' 'a' start")})),it("reports left recursion when rule reference is wrapped in an expression",(function(){expect$6(pass$2).to.reportError("start = '' start?")})),it("computes expressions that always consume input on success correctly",(function(){expect$6(pass$2).to.reportError(["start = a start","a 'a' = ''"].join("\n")),expect$6(pass$2).to.not.reportError(["start = a start","a 'a' = 'a'"].join("\n")),expect$6(pass$2).to.reportError("start = ('' / 'a' / 'b') start"),expect$6(pass$2).to.reportError("start = ('a' / '' / 'b') start"),expect$6(pass$2).to.reportError("start = ('a' / 'b' / '') start"),expect$6(pass$2).to.not.reportError("start = ('a' / 'b' / 'c') start"),expect$6(pass$2).to.reportError("start = ('' { }) start"),expect$6(pass$2).to.not.reportError("start = ('a' { }) start"),expect$6(pass$2).to.reportError("start = ('' '' '') start"),expect$6(pass$2).to.not.reportError("start = ('a' '' '') start"),expect$6(pass$2).to.not.reportError("start = ('' 'a' '') start"),expect$6(pass$2).to.not.reportError("start = ('' '' 'a') start"),expect$6(pass$2).to.reportError("start = a:'' start"),expect$6(pass$2).to.not.reportError("start = a:'a' start"),expect$6(pass$2).to.reportError("start = $'' start"),expect$6(pass$2).to.not.reportError("start = $'a' start"),expect$6(pass$2).to.reportError("start = &'' start"),expect$6(pass$2).to.reportError("start = &'a' start"),expect$6(pass$2).to.reportError("start = !'' start"),expect$6(pass$2).to.reportError("start = !'a' start"),expect$6(pass$2).to.reportError("start = ''? start"),expect$6(pass$2).to.reportError("start = 'a'? start"),expect$6(pass$2).to.reportError("start = ''* start"),expect$6(pass$2).to.reportError("start = 'a'* start"),expect$6(pass$2).to.reportError("start = ''+ start"),expect$6(pass$2).to.not.reportError("start = 'a'+ start"),expect$6(pass$2).to.reportError("start = ''| .. | start"),expect$6(pass$2).to.reportError("start = ''|0.. | start"),expect$6(pass$2).to.reportError("start = ''|1.. | start"),expect$6(pass$2).to.reportError("start = ''|2.. | start"),expect$6(pass$2).to.reportError("start = ''| ..1| start"),expect$6(pass$2).to.reportError("start = ''| ..3| start"),expect$6(pass$2).to.reportError("start = ''|2..3| start"),expect$6(pass$2).to.reportError("start = ''| 42 | start"),expect$6(pass$2).to.reportError("start = 'a'| .. | start"),expect$6(pass$2).to.reportError("start = 'a'|0.. | start"),expect$6(pass$2).to.not.reportError("start = 'a'|1.. | start"),expect$6(pass$2).to.not.reportError("start = 'a'|2.. | start"),expect$6(pass$2).to.reportError("start = 'a'| ..1| start"),expect$6(pass$2).to.reportError("start = 'a'| ..3| start"),expect$6(pass$2).to.not.reportError("start = 'a'|2..3| start"),expect$6(pass$2).to.not.reportError("start = 'a'| 42 | start"),expect$6(pass$2).to.reportError("start = ('') start"),expect$6(pass$2).to.not.reportError("start = ('a') start"),expect$6(pass$2).to.reportError("start = &{ } start"),expect$6(pass$2).to.reportError("start = !{ } start"),expect$6(pass$2).to.reportError(["start = a start","a = ''"].join("\n")),expect$6(pass$2).to.not.reportError(["start = a start","a = 'a'"].join("\n")),expect$6(pass$2).to.reportError("start = '' start"),expect$6(pass$2).to.not.reportError("start = 'a' start"),expect$6(pass$2).to.not.reportError("start = [a-d] start"),expect$6(pass$2).to.not.reportError("start = . start")}))})),describe("in repeated with delimiter",(function(){it("doesn't report left recursion for delimiter if expression not match empty string",(function(){expect$6(pass$2).to.not.reportError("start = 'a'| .. , start|"),expect$6(pass$2).to.not.reportError("start = 'a'|0.. , start|"),expect$6(pass$2).to.not.reportError("start = 'a'|1.. , start|"),expect$6(pass$2).to.not.reportError("start = 'a'|2.. , start|"),expect$6(pass$2).to.not.reportError("start = 'a'| ..3, start|"),expect$6(pass$2).to.not.reportError("start = 'a'|2..3, start|"),expect$6(pass$2).to.not.reportError("start = 'a'| 42 , start|")})),it("reports left recursion for delimiter if expression match empty string",(function(){expect$6(pass$2).to.reportError("start = ''| .. , start|"),expect$6(pass$2).to.reportError("start = ''|0.. , start|"),expect$6(pass$2).to.reportError("start = ''|1.. , start|"),expect$6(pass$2).to.reportError("start = ''|2.. , start|"),expect$6(pass$2).to.reportError("start = ''| ..3, start|"),expect$6(pass$2).to.reportError("start = ''|2..3, start|"),expect$6(pass$2).to.reportError("start = ''| 42 , start|")}))}))}));var chai$5=require$$0,helpers$1=helpers$a,pass$1=reportInfiniteRepetition_1;chai$5.use(helpers$1);var expect$5=chai$5.expect;describe("compiler pass |reportInfiniteRepetition|",(function(){it("reports infinite loops for zero_or_more",(function(){expect$5(pass$1).to.reportError("start = ('')*",{message:"Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:13,line:1,column:14}}})})),it("reports infinite loops for one_or_more",(function(){expect$5(pass$1).to.reportError("start = ('')+",{message:"Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:13,line:1,column:14}}})})),describe("reports infinite loops for repeated",(function(){describe("without delimiter",(function(){it("with constant boundaries",(function(){expect$5(pass$1).to.reportError("start = ('')|..|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:16,line:1,column:17}}}),expect$5(pass$1).to.reportError("start = ('')|0..|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:17,line:1,column:18}}}),expect$5(pass$1).to.reportError("start = ('')|1..|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:17,line:1,column:18}}}),expect$5(pass$1).to.reportError("start = ('')|2..|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:17,line:1,column:18}}}),expect$5(pass$1).to.not.reportError("start = ('')| ..1|"),expect$5(pass$1).to.not.reportError("start = ('')| ..3|"),expect$5(pass$1).to.not.reportError("start = ('')|2..3|"),expect$5(pass$1).to.not.reportError("start = ('')| 42 |")})),it("with variable boundaries",(function(){expect$5(pass$1).to.reportError("start = ('')|len..|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:19,line:1,column:20}}}),expect$5(pass$1).to.not.reportError("start = ('')|..len|"),expect$5(pass$1).to.not.reportError("start = ('')|len1..len2|"),expect$5(pass$1).to.not.reportError("start = ('')|len|")})),it("with function boundaries",(function(){expect$5(pass$1).to.reportError("start = ('')|{}..|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:18,line:1,column:19}}}),expect$5(pass$1).to.not.reportError("start = ('')|..{}|"),expect$5(pass$1).to.not.reportError("start = ('')|{}..{}|"),expect$5(pass$1).to.not.reportError("start = ('')|{}|")}))})),describe("with empty delimiter",(function(){it("with constant boundaries",(function(){expect$5(pass$1).to.reportError("start = ('')| .., ''|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:21,line:1,column:22}}}),expect$5(pass$1).to.reportError("start = ('')|0.., ''|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:21,line:1,column:22}}}),expect$5(pass$1).to.reportError("start = ('')|1.., ''|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:21,line:1,column:22}}}),expect$5(pass$1).to.reportError("start = ('')|2.., ''|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:21,line:1,column:22}}}),expect$5(pass$1).to.not.reportError("start = ('')| ..1, ''|"),expect$5(pass$1).to.not.reportError("start = ('')| ..3, ''|"),expect$5(pass$1).to.not.reportError("start = ('')|2..3, ''|"),expect$5(pass$1).to.not.reportError("start = ('')| 42 , ''|")})),it("with variable boundaries",(function(){expect$5(pass$1).to.reportError("start = ('')|len.., ''|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:23,line:1,column:24}}}),expect$5(pass$1).to.not.reportError("start = ('')|..len, ''|"),expect$5(pass$1).to.not.reportError("start = ('')|len1..len2, ''|"),expect$5(pass$1).to.not.reportError("start = ('')|len, ''|")})),it("with function boundaries",(function(){expect$5(pass$1).to.reportError("start = ('')|{}.., ''|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:22,line:1,column:23}}}),expect$5(pass$1).to.not.reportError("start = ('')|..{}, ''|"),expect$5(pass$1).to.not.reportError("start = ('')|{}..{}, ''|"),expect$5(pass$1).to.not.reportError("start = ('')|{}, ''|")}))})),describe("with non-empty delimiter",(function(){it("with constant boundaries",(function(){expect$5(pass$1).to.not.reportError("start = ('')| .., 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')|0.., 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')|1.., 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')|2.., 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')| ..1, 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')| ..3, 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')|2..3, 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')| 42 , 'a'|")})),it("with variable boundaries",(function(){expect$5(pass$1).to.not.reportError("start = ('')|len.., 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')|..len, 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')|len1..len2, 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')|len, 'a'|")})),it("with function boundaries",(function(){expect$5(pass$1).to.not.reportError("start = ('')|{}.., 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')|..{}, 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')|{}..{}, 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')|{}, 'a'|")}))}))})),it("computes expressions that always consume input on success correctly",(function(){expect$5(pass$1).to.reportError(["start = a*","a 'a' = ''"].join("\n")),expect$5(pass$1).to.not.reportError(["start = a*","a 'a' = 'a'"].join("\n")),expect$5(pass$1).to.reportError("start = ('' / 'a' / 'b')*"),expect$5(pass$1).to.reportError("start = ('a' / '' / 'b')*"),expect$5(pass$1).to.reportError("start = ('a' / 'b' / '')*"),expect$5(pass$1).to.not.reportError("start = ('a' / 'b' / 'c')*"),expect$5(pass$1).to.reportError("start = ('' { })*"),expect$5(pass$1).to.not.reportError("start = ('a' { })*"),expect$5(pass$1).to.reportError("start = ('' '' '')*"),expect$5(pass$1).to.not.reportError("start = ('a' '' '')*"),expect$5(pass$1).to.not.reportError("start = ('' 'a' '')*"),expect$5(pass$1).to.not.reportError("start = ('' '' 'a')*"),expect$5(pass$1).to.reportError("start = (a:'')*"),expect$5(pass$1).to.not.reportError("start = (a:'a')*"),expect$5(pass$1).to.reportError("start = ($'')*"),expect$5(pass$1).to.not.reportError("start = ($'a')*"),expect$5(pass$1).to.reportError("start = (&'')*"),expect$5(pass$1).to.reportError("start = (&'a')*"),expect$5(pass$1).to.reportError("start = (!'')*"),expect$5(pass$1).to.reportError("start = (!'a')*"),expect$5(pass$1).to.reportError("start = (''?)*"),expect$5(pass$1).to.reportError("start = ('a'?)*"),expect$5(pass$1).to.reportError("start = (''*)*"),expect$5(pass$1).to.reportError("start = ('a'*)*"),expect$5(pass$1).to.reportError("start = (''+)*"),expect$5(pass$1).to.not.reportError("start = ('a'+)*"),expect$5(pass$1).to.reportError("start = ('')*"),expect$5(pass$1).to.not.reportError("start = ('a')*"),expect$5(pass$1).to.reportError("start = (&{ })*"),expect$5(pass$1).to.reportError("start = (!{ })*"),expect$5(pass$1).to.reportError("start = 'a'|.., ('')*|"),expect$5(pass$1).to.not.reportError("start = 'a'|.., ('b')*|"),expect$5(pass$1).to.reportError(["start = a*","a = ''"].join("\n")),expect$5(pass$1).to.not.reportError(["start = a*","a = 'a'"].join("\n")),expect$5(pass$1).to.reportError("start = ''*"),expect$5(pass$1).to.not.reportError("start = 'a'*"),expect$5(pass$1).to.not.reportError("start = [a-d]*"),expect$5(pass$1).to.not.reportError("start = .*")}))}));var chai$4=require$$0,helpers=helpers$a,pass=reportUndefinedRules_1;chai$4.use(helpers);var expect$4=chai$4.expect;describe("compiler pass |reportUndefinedRules|",(function(){it("reports undefined rules",(function(){expect$4(pass).to.reportError("start = undefined",{message:'Rule "undefined" is not defined',location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:17,line:1,column:18}}})}))}));var chai$3=require$$0,Stack=stack,expect$3=chai$3.expect;describe("utility class Stack",(function(){describe("for an empty stack",(function(){var e=void 0;beforeEach((function(){e=new Stack("rule","v","let",[42])})),describe("throws an error when attempting",(function(){it("`pop`",(function(){expect$3((function(){return e.pop()})).to.throw(RangeError,"Rule 'rule': The variable stack underflow: attempt to use a variable 'v' at an index -1.\nBytecode: 42")})),it("`top`",(function(){expect$3((function(){return e.top()})).to.throw(RangeError,"Rule 'rule': The variable stack underflow: attempt to use a variable 'v' at an index -1.\nBytecode: 42")})),it("`result`",(function(){expect$3((function(){return e.result()})).to.throw(RangeError,"Rule 'rule': The variable stack is empty, can't get the result")})),it("`index`",(function(){expect$3((function(){return e.index(-2)})).to.throw(RangeError,"Rule 'rule': The variable stack overflow: attempt to get a variable at a negative index -2.\nBytecode: 42"),expect$3((function(){return e.index(0)})).to.throw(RangeError,"Rule 'rule': The variable stack underflow: attempt to use a variable 'v' at an index -1.\nBytecode: 42"),expect$3((function(){return e.index(2)})).to.throw(RangeError,"Rule 'rule': The variable stack underflow: attempt to use a variable 'v' at an index -3.\nBytecode: 42")}))})),it("`defines` returns an empty string",(function(){expect$3(e.defines()).to.equal("")}))})),it("throws an error when attempting `pop` more than `push`",(function(){var e=new Stack("rule","v","let",[42]);e.push("1"),expect$3((function(){return e.pop(3)})).to.throw(RangeError,"Rule 'rule': The variable stack underflow: attempt to use a variable 'v' at an index -2.\nBytecode: 42")})),it("returns a variable with an index 0 for `result`",(function(){var e=new Stack("rule","v","let",[]);e.push("1"),expect$3(e.result()).to.equal("v0")})),it("`defines` returns a define expression for all used variables",(function(){var e=new Stack("rule","v","let",[]);e.push("1"),e.push("2"),e.pop(),e.push("3"),expect$3(e.defines()).to.equal("let v0, v1;")})),describe("`checkedIf` method",(function(){var e=void 0;beforeEach((function(){(e=new Stack("rule","v","let",[42])).push("1")})),describe("does not throws an error",(function(){it("without the else brach",(function(){expect$3((function(){return e.checkedIf(0,(function(){}))})).to.not.throw(),expect$3((function(){return e.checkedIf(0,(function(){return e.pop()}))})).to.not.throw(),expect$3((function(){return e.checkedIf(0,(function(){return e.push("2")}))})).to.not.throw()})),describe("when the stack pointer",(function(){it("was not moving in both the arms",(function(){function t(){}function r(){e.push("1"),e.pop()}function a(){e.push("1"),e.push("2"),e.pop(2)}function n(){e.push("1"),e.pop(),e.push("2"),e.pop()}expect$3((function(){return e.checkedIf(0,t,t)})).to.not.throw(),expect$3((function(){return e.checkedIf(0,r,r)})).to.not.throw(),expect$3((function(){return e.checkedIf(0,a,a)})).to.not.throw(),expect$3((function(){return e.checkedIf(0,n,n)})).to.not.throw()})),it("increases on the same value in both the arms",(function(){expect$3((function(){return e.checkedIf(0,(function(){return e.push("1")}),(function(){return e.push("2")}))})).to.not.throw()})),it("decreases on the same value in both the arms",(function(){e.push("2"),expect$3((function(){return e.checkedIf(0,(function(){return e.pop(2)}),(function(){e.pop(),e.pop()}))})).to.not.throw()}))}))})),describe("throws an error when the stack pointer",(function(){it("was not moving in `if` and decreases in `then`",(function(){expect$3((function(){e.checkedIf(0,(function(){}),(function(){return e.pop()}))})).to.throw(Error,"Rule 'rule', position 0: Branches of a condition can't move the stack pointer differently (before: 0, after then: 0, after else: -1). Bytecode: 42")})),it("decreases in `if` and was not moving in `then`",(function(){expect$3((function(){e.checkedIf(0,(function(){return e.pop()}),(function(){}))})).to.throw(Error,"Rule 'rule', position 0: Branches of a condition can't move the stack pointer differently (before: 0, after then: -1, after else: 0). Bytecode: 42")})),it("was not moving in `if` and increases in `then`",(function(){expect$3((function(){e.checkedIf(0,(function(){}),(function(){return e.push("2")}))})).to.throw(Error,"Rule 'rule', position 0: Branches of a condition can't move the stack pointer differently (before: 0, after then: 0, after else: 1). Bytecode: 42")})),it("increases in `if` and was not moving in `then`",(function(){expect$3((function(){e.checkedIf(0,(function(){return e.push("2")}),(function(){}))})).to.throw(Error,"Rule 'rule', position 0: Branches of a condition can't move the stack pointer differently (before: 0, after then: 1, after else: 0). Bytecode: 42")})),it("decreases in `if` and increases in `then`",(function(){expect$3((function(){e.checkedIf(0,(function(){return e.pop()}),(function(){return e.push("2")}))})).to.throw(Error,"Rule 'rule', position 0: Branches of a condition can't move the stack pointer differently (before: 0, after then: -1, after else: 1). Bytecode: 42")})),it("increases in `if` and decreases in `then`",(function(){expect$3((function(){e.checkedIf(0,(function(){return e.push("2")}),(function(){return e.pop()}))})).to.throw(Error,"Rule 'rule', position 0: Branches of a condition can't move the stack pointer differently (before: 0, after then: 1, after else: -1). Bytecode: 42")}))}))})),describe("`checkedLoop` method",(function(){var e=void 0;beforeEach((function(){(e=new Stack("rule","v","let",[42])).push("1")})),it("does not throws an error when the stack pointer was not moving",(function(){function t(){}function r(){e.push("1"),e.pop()}function a(){e.push("1"),e.push("2"),e.pop(2)}function n(){e.push("1"),e.pop(),e.push("2"),e.pop()}expect$3((function(){return e.checkedLoop(0,t)})).to.not.throw(),expect$3((function(){return e.checkedLoop(0,r)})).to.not.throw(),expect$3((function(){return e.checkedLoop(0,a)})).to.not.throw(),expect$3((function(){return e.checkedLoop(0,n)})).to.not.throw()})),it("throws an error when the stack pointer increases",(function(){expect$3((function(){return e.checkedLoop(0,(function(){return e.push("1")}))})).to.throw(Error,"Rule 'rule', position 0: Body of a loop can't move the stack pointer (before: 0, after: 1). Bytecode: 42")})),it("throws an error when the stack pointer decreases",(function(){expect$3((function(){return e.checkedLoop(0,(function(){return e.pop()}))})).to.throw(Error,"Rule 'rule', position 0: Body of a loop can't move the stack pointer (before: 0, after: -1). Bytecode: 42")}))}))}));var chai$2=require$$0,_a$1=utils$1,hex=_a$1.hex,stringEscape=_a$1.stringEscape,regexpClassEscape=_a$1.regexpClassEscape,base64=_a$1.base64,expect$2=chai$2.expect;describe("utility functions",(function(){it("hex",(function(){expect$2(hex("0")).to.equal("30"),expect$2(hex("\0")).to.equal("0"),expect$2(hex("\n")).to.equal("A"),expect$2(hex("\ufeff")).to.equal("FEFF")})),it("stringEscape",(function(){expect$2(stringEscape("abc")).to.equal("abc"),expect$2(stringEscape('\\"\0\b\t\n\v\f\r')).to.equal('\\\\\\"\\0\\b\\t\\n\\v\\f\\r'),expect$2(stringEscape("")).to.equal("\\x01\\x0F"),expect$2(stringEscape("")).to.equal("\\x10\\x1F\\x7F"),expect$2(stringEscape("Ā࿿")).to.equal("\\u0100\\u0FFF"),expect$2(stringEscape("က￿")).to.equal("\\u1000\\uFFFF")})),it("regexpClassEscape",(function(){expect$2(regexpClassEscape("\\\0\b\t\n\v\f\r")).to.equal("\\\\\\0\\b\\t\\n\\v\\f\\r"),expect$2(regexpClassEscape("/]^-")).to.equal("\\/\\]\\^\\-"),expect$2(regexpClassEscape("")).to.equal("\\x01\\x0F"),expect$2(regexpClassEscape("")).to.equal("\\x10\\x1F\\x7F"),expect$2(regexpClassEscape("Ā࿿")).to.equal("\\u0100\\u0FFF"),expect$2(regexpClassEscape("က￿")).to.equal("\\u1000\\uFFFF")})),it("base64",(function(){expect$2(base64(new Uint8Array([]))).to.equal(""),expect$2(base64(new Uint8Array([97]))).to.equal("YQ=="),expect$2(base64(new Uint8Array([97,98]))).to.equal("YWI="),expect$2(base64(new Uint8Array([97,98,99]))).to.equal("YWJj"),expect$2(base64(new Uint8Array([97,98,99,100]))).to.equal("YWJjZA=="),expect$2(base64(new Uint8Array([97,98,99,100,101]))).to.equal("YWJjZGU="),expect$2(base64(new Uint8Array([97,98,99,100,101,102]))).to.equal("YWJjZGVm")}))}));var chai$1=require$$0,_a=peg_1,GrammarError=_a.GrammarError,GrammarLocation=_a.GrammarLocation,expect$1=chai$1.expect,location={source:void 0,start:{offset:0,line:1,column:1},end:{offset:4,line:1,column:5}};describe("Grammar Errors",(function(){it("might not have a location",(function(){var e=new GrammarError("message");expect$1(e.location).to.equal(void 0),expect$1(e.toString()).to.equal("GrammarError: message")})),it("might have locations",(function(){location.source=void 0;var e=new GrammarError("message",location);expect$1(e.location).to.eql(location),expect$1(e.toString()).to.equal("GrammarError: message\n at 1:1"),e=new GrammarError("message",null,[{message:"Subinfo",location:location}]),expect$1(e.location).to.equal(null),expect$1(e.toString()).to.equal("GrammarError: message\n from 1:1: Subinfo"),location.source="foo.peggy",e=new GrammarError("message",location,[{message:"Subinfo",location:location}]),expect$1(e.toString()).to.equal("GrammarError: message\n at foo.peggy:1:1\n from foo.peggy:1:1: Subinfo")})),describe("formats",(function(){var e={source:"foo.peggy",text:"some error\nthat"},t={source:"foo.peggy",start:{offset:5,line:1,column:6},end:{offset:11,line:2,column:1}},r=[{message:"Subinfo",location:t}];describe("single problem",(function(){describe("with main location",(function(){location.source="foo.peggy";var t=new GrammarError("message",location,r);it("with zero-length error at the end",(function(){var t=new GrammarError("message",{source:"foo.peggy",start:{offset:4,line:1,column:5},end:{offset:4,line:1,column:5}});expect$1(t.format([e])).to.equal("error: message\n --\x3e foo.peggy:1:5\n |\n1 | some error\n | ^")})),it("with source",(function(){expect$1(t.format([e])).to.equal("error: message\n --\x3e foo.peggy:1:1\n |\n1 | some error\n | ^^^^\nnote: Subinfo\n --\x3e foo.peggy:1:6\n |\n1 | some error\n | ^^^^^")})),it("without source",(function(){expect$1(t.format([])).to.equal("error: message\n at foo.peggy:1:1\n at foo.peggy:1:6: Subinfo")}))})),describe("without main location",(function(){var t=new GrammarError("message",null,r);it("with source",(function(){expect$1(t.format([e])).to.equal("error: message\nnote: Subinfo\n --\x3e foo.peggy:1:6\n |\n1 | some error\n | ^^^^^")})),it("without source",(function(){expect$1(t.format([])).to.equal("error: message\n at foo.peggy:1:6: Subinfo")}))}))})),describe("several problems",(function(){describe("with main location",(function(){location.source="foo.peggy";var a=new GrammarError("message",location,r);a.problems.push(["warning","Warning message",t,[{message:"Warning Subinfo",location:t}]]),a.problems.push(["info","Info message",null,[]]),it("null source text",(function(){expect$1(a.format([{source:null,text:null}])).to.equal("error: message\n at foo.peggy:1:1\n at foo.peggy:1:6: Subinfo\n\nwarning: Warning message\n at foo.peggy:1:6\n at foo.peggy:1:6: Warning Subinfo"),expect$1(a.format([{source:null,text:void 0}])).to.equal("error: message\n at foo.peggy:1:1\n at foo.peggy:1:6: Subinfo\n\nwarning: Warning message\n at foo.peggy:1:6\n at foo.peggy:1:6: Warning Subinfo")})),it("with source",(function(){expect$1(a.format([e])).to.equal("error: message\n --\x3e foo.peggy:1:1\n |\n1 | some error\n | ^^^^\nnote: Subinfo\n --\x3e foo.peggy:1:6\n |\n1 | some error\n | ^^^^^\n\nwarning: Warning message\n --\x3e foo.peggy:1:6\n |\n1 | some error\n | ^^^^^\nnote: Warning Subinfo\n --\x3e foo.peggy:1:6\n |\n1 | some error\n | ^^^^^")})),it("with GrammarLocation",(function(){var r=new GrammarLocation("foo.peggy",{offset:12,line:15,column:8});expect$1(String(r)).to.equal("foo.peggy"),location.source=r,t.source=r,a.diagnostics.push({message:"Column not offset",location:{source:r,start:{offset:11,line:2,column:1},end:{offset:15,line:2,column:5}}}),expect$1(a.format([{source:r,text:e.text}])).to.equal("error: message\n --\x3e foo.peggy:15:8\n |\n15 | some error\n | ^^^^\nnote: Subinfo\n --\x3e foo.peggy:15:13\n |\n15 | some error\n | ^^^^^\nnote: Column not offset\n --\x3e foo.peggy:16:1\n |\n16 | that\n | ^^^^\n\nwarning: Warning message\n --\x3e foo.peggy:15:13\n |\n15 | some error\n | ^^^^^\nnote: Warning Subinfo\n --\x3e foo.peggy:15:13\n |\n15 | some error\n | ^^^^^"),location.source="foo.peggy",t.source="foo.peggy",a.diagnostics.pop()})),it("without source",(function(){expect$1(a.format([])).to.equal("error: message\n at foo.peggy:1:1\n at foo.peggy:1:6: Subinfo\n\nwarning: Warning message\n at foo.peggy:1:6\n at foo.peggy:1:6: Warning Subinfo")}))})),describe("without main location",(function(){var a=new GrammarError("message",null,r);a.problems.push(["warning","Warning message",null,[{message:"Warning Subinfo",location:t}]]),a.problems.push(["info","Info message",null,[]]),it("with source",(function(){expect$1(a.format([e])).to.equal("error: message\nnote: Subinfo\n --\x3e foo.peggy:1:6\n |\n1 | some error\n | ^^^^^\n\nwarning: Warning message\nnote: Warning Subinfo\n --\x3e foo.peggy:1:6\n |\n1 | some error\n | ^^^^^")})),it("without source",(function(){expect$1(a.format([])).to.equal("error: message\n at foo.peggy:1:6: Subinfo\n\nwarning: Warning message\n at foo.peggy:1:6: Warning Subinfo")}))}))}))}))}));var __spreadArray=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var a,n=0,o=t.length;n1&&e.delimiter&&n(e.delimiter)))},semantic_and:a,semantic_not:a,rule_ref:function(t){var r=asts$7.findRule(e,t.name);return r?n(r):void 0},literal:function(e){return""!==e.value},class:r,any:r});return n(t)}},asts_1=asts$7,opcodes={PUSH:0,PUSH_EMPTY_STRING:35,PUSH_UNDEFINED:1,PUSH_NULL:2,PUSH_FAILED:3,PUSH_EMPTY_ARRAY:4,PUSH_CURR_POS:5,POP:6,POP_CURR_POS:7,POP_N:8,NIP:9,APPEND:10,WRAP:11,TEXT:12,PLUCK:36,IF:13,IF_ERROR:14,IF_NOT_ERROR:15,IF_LT:30,IF_GE:31,IF_LT_DYNAMIC:32,IF_GE_DYNAMIC:33,WHILE_NOT_ERROR:16,MATCH_ANY:17,MATCH_STRING:18,MATCH_STRING_IC:19,MATCH_CHAR_CLASS:20,MATCH_REGEXP:20,ACCEPT_N:21,ACCEPT_STRING:22,FAIL:23,LOAD_SAVED_POS:24,UPDATE_SAVED_POS:25,CALL:26,RULE:27,SILENT_FAILS_ON:28,SILENT_FAILS_OFF:29,SOURCE_MAP_PUSH:37,SOURCE_MAP_POP:38,SOURCE_MAP_LABEL_PUSH:39,SOURCE_MAP_LABEL_POP:40},opcodes_1=opcodes,visitor$a=visitor_1,asts$6=asts_1,GrammarError$4=grammarError,ALWAYS_MATCH$1=1,SOMETIMES_MATCH$1=0,NEVER_MATCH$1=-1;function inferenceMatchResult$1(e){function t(e){return e.match=SOMETIMES_MATCH$1}function r(e){return o(e.expression),e.match=ALWAYS_MATCH$1}function a(e){return e.match=o(e.expression)}function n(e,t){for(var r=e.length,a=0,n=0,s=0;s0?NEVER_MATCH$1:SOMETIMES_MATCH$1}var o=visitor$a.build({rule:function(e){var t=void 0,r=0;if(void 0===e.match){e.match=SOMETIMES_MATCH$1;do{if(t=e.match,e.match=o(e.expression),++r>6)throw new GrammarError$4("Infinity cycle detected when trying to evaluate node match result",e.location)}while(t!==e.match)}return e.match},named:a,choice:function(e){return e.match=n(e.alternatives,!0)},action:a,sequence:function(e){return e.match=n(e.elements,!1)},labeled:a,text:a,simple_and:a,simple_not:function(e){return e.match=-o(e.expression)},optional:r,zero_or_more:r,one_or_more:a,repeated:function(e){var t=o(e.expression),r=e.delimiter?o(e.delimiter):NEVER_MATCH$1,a=e.min?e.min:e.max;return"constant"!==a.type||"constant"!==e.max.type?e.match=SOMETIMES_MATCH$1:0===e.max.value||null!==e.max.value&&a.value>e.max.value?e.match=NEVER_MATCH$1:t===NEVER_MATCH$1?e.match=0===a.value?ALWAYS_MATCH$1:NEVER_MATCH$1:t===ALWAYS_MATCH$1?e.delimiter&&a.value>=2?e.match=r:e.match=ALWAYS_MATCH$1:e.delimiter&&a.value>=2?e.match=r===NEVER_MATCH$1?NEVER_MATCH$1:SOMETIMES_MATCH$1:e.match=0===a.value?ALWAYS_MATCH$1:SOMETIMES_MATCH$1},group:a,semantic_and:t,semantic_not:t,rule_ref:function(t){var r=asts$6.findRule(e,t.name);return t.match=o(r)},literal:function(e){var t=0===e.value.length?ALWAYS_MATCH$1:SOMETIMES_MATCH$1;return e.match=t},class:function(e){var t=0===e.parts.length?NEVER_MATCH$1:SOMETIMES_MATCH$1;return e.match=t},any:t});o(e)}inferenceMatchResult$1.ALWAYS_MATCH=ALWAYS_MATCH$1,inferenceMatchResult$1.SOMETIMES_MATCH=SOMETIMES_MATCH$1,inferenceMatchResult$1.NEVER_MATCH=NEVER_MATCH$1;var inferenceMatchResult_1=inferenceMatchResult$1,__spreadArray$5=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var a,n=0,o=t.length;n1?g(SOMETIMES_MATCH,[op$2.IF_ERROR],f([op$2.POP],e(t.slice(1),r)),[]):[])}(e.alternatives,t)},action:function(e,t){var r=l(t.env),a="sequence"!==e.expression.type||0===e.expression.elements.length,n=A(e.expression,{sp:t.sp+(a?1:0),env:r,action:e}),o=0|e.expression.match,s=a&&o!==NEVER_MATCH?u(!1,Object.keys(r),e):null;return a?f([op$2.PUSH_CURR_POS],n,g(o,[op$2.IF_NOT_ERROR],f([op$2.LOAD_SAVED_POS,1],d(s,1,r,t.sp+2)),[]),[op$2.NIP]):n},sequence:function(e,t){return f([op$2.PUSH_CURR_POS],function t(r,a){if(r.length>0){var n=e.elements.length-r.length+1;return f(A(r[0],{sp:a.sp,env:a.env,pluck:a.pluck,action:null}),g(0|r[0].match,[op$2.IF_NOT_ERROR],t(r.slice(1),{sp:a.sp+1,env:a.env,pluck:a.pluck,action:a.action}),f(n>1?[op$2.POP_N,n]:[op$2.POP],[op$2.POP_CURR_POS],[op$2.PUSH_FAILED])))}if(a.pluck.length>0)return f([op$2.PLUCK,e.elements.length+1,a.pluck.length],a.pluck.map((function(e){return a.sp-e})));if(a.action){var o=u(!1,Object.keys(a.env),a.action);return f([op$2.LOAD_SAVED_POS,e.elements.length],d(o,e.elements.length+1,a.env,a.sp))}return f([op$2.WRAP,e.elements.length],[op$2.NIP])}(e.elements,{sp:t.sp+1,env:t.env,pluck:[],action:t.action}))},labeled:function(e,r){var a=r.env,n=e.label,o=r.sp+1;n&&(a=l(r.env),r.env[e.label]=o),e.pick&&r.pluck.push(o);var s=A(e.expression,{sp:r.sp,env:a,action:null});return n&&e.labelLocation&&t&&"source-and-map"===t.output?f([op$2.SOURCE_MAP_LABEL_PUSH,o,c(n),p(e.labelLocation)],s,[op$2.SOURCE_MAP_LABEL_POP,o]):s},text:function(e,t){return f([op$2.PUSH_CURR_POS],A(e.expression,{sp:t.sp+1,env:l(t.env),action:null}),g(0|e.match,[op$2.IF_NOT_ERROR],f([op$2.POP],[op$2.TEXT]),[op$2.NIP]))},simple_and:function(e,t){return m(e.expression,!1,t)},simple_not:function(e,t){return m(e.expression,!0,t)},optional:function(e,t){return f(A(e.expression,{sp:t.sp,env:l(t.env),action:null}),g(-(0|e.expression.match),[op$2.IF_ERROR],f([op$2.POP],[op$2.PUSH_NULL]),[]))},zero_or_more:function(e,t){var r=A(e.expression,{sp:t.sp+1,env:l(t.env),action:null});return f([op$2.PUSH_EMPTY_ARRAY],r,h(r),[op$2.POP])},one_or_more:function(e,t){var r=A(e.expression,{sp:t.sp+1,env:l(t.env),action:null});return f([op$2.PUSH_EMPTY_ARRAY],r,g(0|e.expression.match,[op$2.IF_NOT_ERROR],f(h(r),[op$2.POP]),f([op$2.POP],[op$2.POP],[op$2.PUSH_FAILED])))},repeated:function(e,t){var r=e.min?e.min:e.max,a="constant"!==r.type||r.value>0,n="constant"!==e.max.type&&null!==e.max.value,o=a?2:1,s=e.min?x(e.min,t.env,t.sp,2+("function"===e.max.type?1:0)):{pre:[],post:[],sp:t.sp},c=x(e.max,t.env,s.sp,o),i=A(e.expression,{sp:c.sp+o,env:l(t.env),action:null}),u=null!==e.delimiter?A(e.expression,{sp:c.sp+o+1,env:l(t.env),action:null}):i,p=function(e,t,r,a,n){return e?f([op$2.PUSH_CURR_POS],A(e,{sp:a.sp+n+1,env:l(a.env),action:null}),g(0|e.match,[op$2.IF_NOT_ERROR],f([op$2.POP],r,g(-t,[op$2.IF_ERROR],[op$2.POP,op$2.POP_CURR_POS,op$2.PUSH_FAILED],[op$2.NIP])),[op$2.NIP])):r}(e.delimiter,0|e.expression.match,u,t,o),d=b(p,e.max),m=n?b(i,e.max):i,$=f(a?[op$2.PUSH_CURR_POS]:[],[op$2.PUSH_EMPTY_ARRAY],m,h(d),[op$2.POP]);return f(s.pre,c.pre,a?function(e,t){var r="constant"===t.type?[op$2.IF_LT,t.value]:[op$2.IF_LT_DYNAMIC,t.sp];return f(e,g(SOMETIMES_MATCH,r,[op$2.POP,op$2.POP_CURR_POS,op$2.PUSH_FAILED],[op$2.NIP]))}($,r):$,c.post,s.post)},group:function(e,t){return A(e.expression,{sp:t.sp,env:l(t.env),action:null})},semantic_and:function(e,t){return $(e,!1,t)},semantic_not:function(e,t){return $(e,!0,t)},rule_ref:function(t){return[op$2.RULE,asts$5.indexOfRule(e,t.name)]},literal:function(e){if(e.value.length>0){var t=0|e.match,r=t===SOMETIMES_MATCH||t===ALWAYS_MATCH&&!e.ignoreCase?c(e.ignoreCase?e.value.toLowerCase():e.value):null,a=t!==ALWAYS_MATCH?i({type:"literal",value:e.value,ignoreCase:e.ignoreCase}):null;return g(t,e.ignoreCase?[op$2.MATCH_STRING_IC,r]:[op$2.MATCH_STRING,r],e.ignoreCase?[op$2.ACCEPT_N,e.value.length]:[op$2.ACCEPT_STRING,r],[op$2.FAIL,a])}return[op$2.PUSH_EMPTY_STRING]},class:function(e){var t=0|e.match,r=t===SOMETIMES_MATCH?function(e){var t={value:e.parts,inverted:e.inverted,ignoreCase:e.ignoreCase},r=JSON.stringify(t),n=a.findIndex((function(e){return JSON.stringify(e)===r}));return-1===n?a.push(t)-1:n}(e):null,n=t!==ALWAYS_MATCH?i({type:"class",value:e.parts,inverted:e.inverted,ignoreCase:e.ignoreCase}):null;return g(t,[op$2.MATCH_CHAR_CLASS,r],[op$2.ACCEPT_N,1],[op$2.FAIL,n])},any:function(e){var t=0|e.match,r=t!==ALWAYS_MATCH?i({type:"any"}):null;return g(t,[op$2.MATCH_ANY],[op$2.ACCEPT_N,1],[op$2.FAIL,r])}},t&&"source-and-map"===t.output&&Object.entries(v).forEach((function(e){var t=e[0],r=e[1];v[t]=function(e){for(var t=[],a=1;a>>=VLQ_BASE_SHIFT$1,a>0&&(t|=VLQ_CONTINUATION_BIT$1),r+=base64$5.encode(t)}while(a>0);return r};var util$8={};function getArg$1(e,t,r){if(t in e)return e[t];if(3===arguments.length)return r;throw new Error('"'+t+'" is a required argument.')}util$8.getArg=getArg$1;const supportsNullProto$1=!("__proto__"in Object.create(null));function identity$1(e){return e}function toSetString$1(e){return isProtoString$1(e)?"$"+e:e}function fromSetString$1(e){return isProtoString$1(e)?e.slice(1):e}function isProtoString$1(e){if(!e)return!1;const t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(let r=t-10;r>=0;r--)if(36!==e.charCodeAt(r))return!1;return!0}function strcmp$1(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}function compareByGeneratedPositionsInflated$1(e,t){let r=e.generatedLine-t.generatedLine;return 0!==r?r:(r=e.generatedColumn-t.generatedColumn,0!==r?r:(r=strcmp$1(e.source,t.source),0!==r?r:(r=e.originalLine-t.originalLine,0!==r?r:(r=e.originalColumn-t.originalColumn,0!==r?r:strcmp$1(e.name,t.name)))))}util$8.toSetString=supportsNullProto$1?identity$1:toSetString$1,util$8.fromSetString=supportsNullProto$1?identity$1:fromSetString$1,util$8.compareByGeneratedPositionsInflated=compareByGeneratedPositionsInflated$1;const PROTOCOL$1="http:",PROTOCOL_AND_HOST$1=`${PROTOCOL$1}//host`;function createSafeHandler$1(e){return t=>{const r=getURLType$1(t),a=buildSafeBase$1(t),n=new URL(t,a);e(n);const o=n.toString();return"absolute"===r?o:"scheme-relative"===r?o.slice(PROTOCOL$1.length):"path-absolute"===r?o.slice(PROTOCOL_AND_HOST$1.length):computeRelativeURL$1(a,o)}}function withBase$1(e,t){return new URL(e,t).toString()}function buildUniqueSegment$1(e,t){let r=0;for(;;){const a=e+r++;if(-1===t.indexOf(a))return a}}function buildSafeBase$1(e){const t=e.split("..").length-1,r=buildUniqueSegment$1("p",e);let a=`${PROTOCOL_AND_HOST$1}/`;for(let e=0;e0&&!a[a.length-1]&&a.pop();r.length>0&&a.length>0&&r[0]===a[0];)r.shift(),a.shift();return a.map((()=>"..")).concat(r).join("/")+t.search+t.hash}const ensureDirectory$1=createSafeHandler$1((e=>{e.pathname=e.pathname.replace(/\/?$/,"/")})),normalize$1=createSafeHandler$1((e=>{}));function join$1(e,t){const r=getURLType$1(t),a=getURLType$1(e);if(e=ensureDirectory$1(e),"absolute"===r)return withBase$1(t,void 0);if("absolute"===a)return withBase$1(t,e);if("scheme-relative"===r)return normalize$1(t);if("scheme-relative"===a)return withBase$1(t,withBase$1(e,PROTOCOL_AND_HOST$1)).slice(PROTOCOL$1.length);if("path-absolute"===r)return normalize$1(t);if("path-absolute"===a)return withBase$1(t,withBase$1(e,PROTOCOL_AND_HOST$1)).slice(PROTOCOL_AND_HOST$1.length);const n=buildSafeBase$1(t+e);return computeRelativeURL$1(n,withBase$1(t,withBase$1(e,n)))}function relative$1(e,t){const r=relativeIfPossible$1(e,t);return"string"==typeof r?r:normalize$1(t)}function relativeIfPossible$1(e,t){if(getURLType$1(e)!==getURLType$1(t))return null;const r=buildSafeBase$1(e+t),a=new URL(e,r),n=new URL(t,r);try{new URL("",n.toString())}catch(e){return null}return n.protocol!==a.protocol||n.user!==a.user||n.password!==a.password||n.hostname!==a.hostname||n.port!==a.port?null:computeRelativeURL$1(a,n)}util$8.normalize=normalize$1,util$8.join=join$1,util$8.relative=relative$1;var arraySet$1={};let ArraySet$4=class e{constructor(){this._array=[],this._set=new Map}static fromArray(t,r){const a=new e;for(let e=0,n=t.length;e=0)return t;throw new Error('"'+e+'" is not in the set.')}at(e){if(e>=0&&er||a==r&&o>=n||util$7.compareByGeneratedPositionsInflated(e,t)<=0}let MappingList$3=class{constructor(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}unsortedForEach(e,t){this._array.forEach(e,t)}add(e){generatedPositionAfter$1(this._last,e)?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))}toArray(){return this._sorted||(this._array.sort(util$7.compareByGeneratedPositionsInflated),this._sorted=!0),this._array}};mappingList$1.MappingList=MappingList$3;const base64VLQ$1=base64Vlq$1,util$6=util$8,ArraySet$3=arraySet$1.ArraySet,MappingList$2=mappingList$1.MappingList;let SourceMapGenerator$3=class e{constructor(e){e||(e={}),this._file=util$6.getArg(e,"file",null),this._sourceRoot=util$6.getArg(e,"sourceRoot",null),this._skipValidation=util$6.getArg(e,"skipValidation",!1),this._sources=new ArraySet$3,this._names=new ArraySet$3,this._mappings=new MappingList$2,this._sourcesContents=null}static fromSourceMap(t){const r=t.sourceRoot,a=new e({file:t.file,sourceRoot:r});return t.eachMapping((function(e){const t={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(t.source=e.source,null!=r&&(t.source=util$6.relative(r,t.source)),t.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(t.name=e.name)),a.addMapping(t)})),t.sources.forEach((function(e){let n=e;null!=r&&(n=util$6.relative(r,e)),a._sources.has(n)||a._sources.add(n);const o=t.sourceContentFor(e);null!=o&&a.setSourceContent(e,o)})),a}addMapping(e){const t=util$6.getArg(e,"generated"),r=util$6.getArg(e,"original",null);let a=util$6.getArg(e,"source",null),n=util$6.getArg(e,"name",null);this._skipValidation||this._validateMapping(t,r,a,n),null!=a&&(a=String(a),this._sources.has(a)||this._sources.add(a)),null!=n&&(n=String(n),this._names.has(n)||this._names.add(n)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:r&&r.line,originalColumn:r&&r.column,source:a,name:n})}setSourceContent(e,t){let r=e;null!=this._sourceRoot&&(r=util$6.relative(this._sourceRoot,r)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[util$6.toSetString(r)]=t):this._sourcesContents&&(delete this._sourcesContents[util$6.toSetString(r)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))}applySourceMap(e,t,r){let a=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');a=e.file}const n=this._sourceRoot;null!=n&&(a=util$6.relative(n,a));const o=this._mappings.toArray().length>0?new ArraySet$3:this._sources,s=new ArraySet$3;this._mappings.unsortedForEach((function(t){if(t.source===a&&null!=t.originalLine){const a=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=a.source&&(t.source=a.source,null!=r&&(t.source=util$6.join(r,t.source)),null!=n&&(t.source=util$6.relative(n,t.source)),t.originalLine=a.line,t.originalColumn=a.column,null!=a.name&&(t.name=a.name))}const c=t.source;null==c||o.has(c)||o.add(c);const i=t.name;null==i||s.has(i)||s.add(i)}),this),this._sources=o,this._names=s,e.sources.forEach((function(t){const a=e.sourceContentFor(t);null!=a&&(null!=r&&(t=util$6.join(r,t)),null!=n&&(t=util$6.relative(n,t)),this.setSourceContent(t,a))}),this)}_validateMapping(e,t,r,a){if(t&&"number"!=typeof t.line&&"number"!=typeof t.column)throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0&&!t&&!r&&!a);else if(!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&r))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:r,original:t,name:a}))}_serializeMappings(){let e,t,r,a,n=0,o=1,s=0,c=0,i=0,u=0,p="";const l=this._mappings.toArray();for(let f=0,g=l.length;f0){if(!util$6.compareByGeneratedPositionsInflated(t,l[f-1]))continue;e+=","}e+=base64VLQ$1.encode(t.generatedColumn-n),n=t.generatedColumn,null!=t.source&&(a=this._sources.indexOf(t.source),e+=base64VLQ$1.encode(a-u),u=a,e+=base64VLQ$1.encode(t.originalLine-1-c),c=t.originalLine-1,e+=base64VLQ$1.encode(t.originalColumn-s),s=t.originalColumn,null!=t.name&&(r=this._names.indexOf(t.name),e+=base64VLQ$1.encode(r-i),i=r)),p+=e}return p}_generateSourcesContent(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=util$6.relative(t,e));const r=util$6.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null}),this)}toJSON(){const e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e}toString(){return JSON.stringify(this.toJSON())}};SourceMapGenerator$3.prototype._version=3,sourceMapGenerator$1.SourceMapGenerator=SourceMapGenerator$3;var sourceNode$1={};const SourceMapGenerator$2=sourceMapGenerator$1.SourceMapGenerator,util$5=util$8,REGEX_NEWLINE$1=/(\r?\n)/,NEWLINE_CODE$1=10,isSourceNode$1="$$$isSourceNode$$$";let SourceNode$4=class e{constructor(e,t,r,a,n){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==t?null:t,this.source=null==r?null:r,this.name=null==n?null:n,this[isSourceNode$1]=!0,null!=a&&this.add(a)}static fromStringWithSourceMap(t,r,a){const n=new e,o=t.split(REGEX_NEWLINE$1);let s=0;const c=function(){return e()+(e()||"");function e(){return s=0;t--)this.prepend(e[t]);else{if(!e[isSourceNode$1]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this}walk(e){let t;for(let r=0,a=this.children.length;r0){for(t=[],r=0;r' at an index ").concat(e,".\nBytecode: ").concat(this.bytecode));return this.varName+e},e.sourceNode=function(e,t,r){var a=GrammarLocation$3.offsetStart(e);return new SourceNode$3(a.line,a.column?a.column-1:null,String(e.source),t,r)},e.prototype.push=function(t){++this.sp>this.maxSp&&(this.maxSp=this.sp);var r=this.labels[this.sp],a=[this.name(this.sp)," = ",t,";"];if(r){if(this.sourceMapStack.length){var n=e.sourceNode(r.location,a.splice(0,2),r.label),o=this.sourceMapPopInternal(),s=o.parts,c=o.location,i=c.start.offsett.end.offset&&(r[2]={start:t.end,end:r[2].end,source:r[2].source})}this.sourceMapStack.push([e,e.length,t])},e.prototype.sourceMapPopInternal=function(){var e=this.sourceMapStack.pop();if(!e)throw new RangeError("Rule '".concat(this.ruleName,"': Attempting to pop an empty source map stack.\nBytecode: ").concat(this.bytecode));var t=e[0],r=e[1],a=e[2],n=t.splice(r).map((function(e){return e instanceof SourceNode$3?e:e+"\n"}));if(n.length){var o=GrammarLocation$3.offsetStart(a);t.push(new SourceNode$3(o.line,o.column-1,String(a.source),n))}return{parts:t,location:a}},e.prototype.sourceMapPop=function(e){var t=this.sourceMapPopInternal().location;if(this.sourceMapStack.length&&t.end.offset>2],n+=t[(3&e[o])<<4|e[o+1]>>4],n+=t[(15&e[o+1])<<2|e[o+2]>>6],n+=t[63&e[o+2]];return 1===r?(n+=t[e[a]>>2],n+=t[(3&e[a])<<4],n+="=="):2===r&&(n+=t[e[a]>>2],n+=t[(3&e[a])<<4|e[a+1]>>4],n+=t[(15&e[a+1])<<2],n+="="),n}utils$1.hex=hex$1,utils$1.stringEscape=stringEscape$2,utils$1.regexpClassEscape=regexpClassEscape$2,utils$1.base64=base64$4;var __spreadArray$4=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var a,n=0,o=t.length;n0&&(t.forEach((function(e){n.push("var "+e+' = require("'+stringEscape$1(i[e])+'");')})),n.push("")),n.push(e,"","module.exports = "+a()+";"),n},es:function(){var a=Object.keys(i),n=r();return n.push(""),a.length>0&&(a.forEach((function(e){n.push("import "+e+' from "'+stringEscape$1(i[e])+'";')})),n.push("")),n.push(e,"","export {"," peg$SyntaxError as SyntaxError,",t.trace?" peg$DefaultTracer as DefaultTracer,":""," peg$parse as parse","};"),n},amd:function(){var t=Object.keys(i),n="["+t.map((function(e){return i[e]})).map((function(e){return'"'+stringEscape$1(e)+'"'})).join(", ")+"]",o=t.join(", ");return __spreadArray$4(__spreadArray$4([],r(),!0),["define("+n+", function("+o+") {",' "use strict";',"",e,"",u("return "+a()+";"),"});"],!1)},globals:function(){return __spreadArray$4(__spreadArray$4([],r(),!0),["(function(root) {",' "use strict";',"",e,"",u("root."+t.exportVar+" = "+a()+";"),"})(this);"],!1)},umd:function(){var n=Object.keys(i),o=n.map((function(e){return i[e]})),s="["+o.map((function(e){return'"'+stringEscape$1(e)+'"'})).join(", ")+"]",c=o.map((function(e){return'require("'+stringEscape$1(e)+'")'})).join(", "),p=n.join(", "),l=r();return l.push("(function(root, factory) {",' if (typeof define === "function" && define.amd) {'," define("+s+", factory);",' } else if (typeof module === "object" && module.exports) {'," module.exports = factory("+c+");"),null!==t.exportVar&&l.push(" } else {"," root."+t.exportVar+" = factory();"),l.push(" }","})(this, function("+p+") {",' "use strict";',"",e,"",u("return "+a()+";"),"});"),l}}[t.format||"bare"]();return new SourceNode$2(null,null,t.grammarSource,n.map((function(e){return e instanceof SourceNode$2?e:e+"\n"})))}(function(){var i=[];e.topLevelInitializer&&(i.push(m(e.topLevelInitializer)),i.push("")),i.push("function peg$subclass(child, parent) {"," function C() { this.constructor = child; }"," C.prototype = parent.prototype;"," child.prototype = new C();","}","","function peg$SyntaxError(message, expected, found, location) {"," var self = Error.call(this, message);"," // istanbul ignore next Check is a necessary evil to support older environments"," if (Object.setPrototypeOf) {"," Object.setPrototypeOf(self, peg$SyntaxError.prototype);"," }"," self.expected = expected;"," self.found = found;"," self.location = location;",' self.name = "SyntaxError";'," return self;","}","","peg$subclass(peg$SyntaxError, Error);","","function peg$padEnd(str, targetLength, padString) {",' padString = padString || " ";'," if (str.length > targetLength) { return str; }"," targetLength -= str.length;"," padString += padString.repeat(targetLength);"," return str + padString.slice(0, targetLength);","}","","peg$SyntaxError.prototype.format = function(sources) {",' var str = "Error: " + this.message;'," if (this.location) {"," var src = null;"," var k;"," for (k = 0; k < sources.length; k++) {"," if (sources[k].source === this.location.source) {"," src = sources[k].text.split(/\\r\\n|\\n|\\r/g);"," break;"," }"," }"," var s = this.location.start;",' var offset_s = (this.location.source && (typeof this.location.source.offset === "function"))'," ? this.location.source.offset(s)"," : s;",' var loc = this.location.source + ":" + offset_s.line + ":" + offset_s.column;'," if (src) {"," var e = this.location.end;"," var filler = peg$padEnd(\"\", offset_s.line.toString().length, ' ');"," var line = src[s.line - 1];"," var last = s.line === e.line ? e.column : line.length + 1;"," var hatLen = (last - s.column) || 1;",' str += "\\n --\x3e " + loc + "\\n"',' + filler + " |\\n"',' + offset_s.line + " | " + line + "\\n"',' + filler + " | " + peg$padEnd("", s.column - 1, \' \')',' + peg$padEnd("", hatLen, "^");'," } else {",' str += "\\n at " + loc;'," }"," }"," return str;","};","","peg$SyntaxError.buildMessage = function(expected, found) {"," var DESCRIBE_EXPECTATION_FNS = {"," literal: function(expectation) {",' return "\\"" + literalEscape(expectation.text) + "\\"";'," },",""," class: function(expectation) {"," var escapedParts = expectation.parts.map(function(part) {"," return Array.isArray(part)",' ? classEscape(part[0]) + "-" + classEscape(part[1])'," : classEscape(part);"," });","",' return "[" + (expectation.inverted ? "^" : "") + escapedParts.join("") + "]";'," },",""," any: function() {",' return "any character";'," },",""," end: function() {",' return "end of input";'," },",""," other: function(expectation) {"," return expectation.description;"," }"," };",""," function hex(ch) {"," return ch.charCodeAt(0).toString(16).toUpperCase();"," }",""," function literalEscape(s) {"," return s",' .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(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function classEscape(s) {"," return s",' .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(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function describeExpectation(expectation) {"," return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);"," }",""," function describeExpected(expected) {"," var descriptions = expected.map(describeExpectation);"," var i, j;",""," descriptions.sort();",""," if (descriptions.length > 0) {"," for (i = 1, j = 1; i < descriptions.length; i++) {"," if (descriptions[i - 1] !== descriptions[i]) {"," descriptions[j] = descriptions[i];"," j++;"," }"," }"," descriptions.length = j;"," }",""," switch (descriptions.length) {"," case 1:"," return descriptions[0];",""," case 2:",' return descriptions[0] + " or " + descriptions[1];',""," default:",' return descriptions.slice(0, -1).join(", ")',' + ", or "'," + descriptions[descriptions.length - 1];"," }"," }",""," function describeFound(found) {",' return found ? "\\"" + literalEscape(found) + "\\"" : "end of input";'," }","",' return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found.";',"};",""),t.trace&&i.push("function peg$DefaultTracer() {"," this.indentLevel = 0;","}","","peg$DefaultTracer.prototype.trace = function(event) {"," var that = this;",""," function log(event) {"," function repeat(string, n) {",' var result = "", i;',""," for (i = 0; i < n; i++) {"," result += string;"," }",""," return result;"," }",""," function pad(string, length) {",' return string + repeat(" ", length - string.length);'," }","",' if (typeof console === "object") {'," console.log(",' event.location.start.line + ":" + event.location.start.column + "-"',' + event.location.end.line + ":" + event.location.end.column + " "',' + pad(event.type, 10) + " "',' + repeat(" ", that.indentLevel) + event.rule'," );"," }"," }",""," switch (event.type) {",' case "rule.enter":'," log(event);"," this.indentLevel++;"," break;","",' case "rule.match":'," this.indentLevel--;"," log(event);"," break;","",' case "rule.fail":'," this.indentLevel--;"," log(event);"," break;",""," default:",' throw new Error("Invalid event type: " + event.type + ".");'," }","};","");var $="{ "+c.map((function(e){return e+": "+d(e)})).join(", ")+" }",h=d(c[0]);return i.push("function peg$parse(input, options) {"," options = options !== undefined ? options : {};",""," var peg$FAILED = {};"," var peg$source = options.grammarSource;",""," var peg$startRuleFunctions = "+$+";"," var peg$startRuleFunction = "+h+";","",new SourceNode$2(null,null,t.grammarSource,__spreadArray$4([r.map((function(e,t){return" var "+p(t)+' = "'+stringEscape$1(e)+'";'})).concat("",n.map((function(e,t){return" var "+l(t)+" = /^["+((r=e).inverted?"^":"")+r.value.map((function(e){return Array.isArray(e)?regexpClassEscape$1(e[0])+"-"+regexpClassEscape$1(e[1]):regexpClassEscape$1(e)})).join("")+"]/"+(r.ignoreCase?"i":"")+";";var r}))).concat("",o.map((function(e,t){return" var "+f(t)+" = "+function(e){switch(e.type){case"rule":return'peg$otherExpectation("'+stringEscape$1(e.value)+'")';case"literal":return'peg$literalExpectation("'+stringEscape$1(e.value)+'", '+e.ignoreCase+")";case"class":return"peg$classExpectation(["+e.value.map((function(e){return Array.isArray(e)?'["'+stringEscape$1(e[0])+'", "'+stringEscape$1(e[1])+'"]':'"'+stringEscape$1(e)+'"'})).join(", ")+"], "+e.inverted+", "+e.ignoreCase+")";case"any":return"peg$anyExpectation()";default:throw new Error("Unknown expectation type ("+JSON.stringify(e)+")")}}(e)+";"}))).concat("").join("\n")],s.map((function(e,t){return wrapInSourceNode("\n var ".concat(g(t)," = function(").concat(e.params.join(", "),") {"),e.body,e.location,"};")})),!0)),""," var peg$currPos = 0;"," var peg$savedPos = 0;"," var peg$posDetailsCache = [{ line: 1, column: 1 }];"," var peg$maxFailPos = 0;"," var peg$maxFailExpected = [];"," var peg$silentFails = 0;",""),t.cache&&i.push(" var peg$resultsCache = {};",""),t.trace&&i.push(' var peg$tracer = "tracer" in options ? options.tracer : new peg$DefaultTracer();',""),i.push(" var peg$result;","",' if ("startRule" in options) {'," if (!(options.startRule in peg$startRuleFunctions)) {",' throw new Error("Can\'t start parsing from rule \\"" + options.startRule + "\\".");'," }",""," peg$startRuleFunction = peg$startRuleFunctions[options.startRule];"," }",""," function text() {"," return input.substring(peg$savedPos, peg$currPos);"," }",""," function offset() {"," return peg$savedPos;"," }",""," function range() {"," return {"," source: peg$source,"," start: peg$savedPos,"," end: peg$currPos"," };"," }",""," function location() {"," return peg$computeLocation(peg$savedPos, peg$currPos);"," }",""," function expected(description, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildStructuredError("," [peg$otherExpectation(description)],"," input.substring(peg$savedPos, peg$currPos),"," location"," );"," }",""," function error(message, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildSimpleError(message, location);"," }",""," function peg$literalExpectation(text, ignoreCase) {",' return { type: "literal", text: text, ignoreCase: ignoreCase };'," }",""," function peg$classExpectation(parts, inverted, ignoreCase) {",' return { type: "class", parts: parts, inverted: inverted, ignoreCase: ignoreCase };'," }",""," function peg$anyExpectation() {",' return { type: "any" };'," }",""," function peg$endExpectation() {",' return { type: "end" };'," }",""," function peg$otherExpectation(description) {",' return { type: "other", description: description };'," }",""," function peg$computePosDetails(pos) {"," var details = peg$posDetailsCache[pos];"," var p;",""," if (details) {"," return details;"," } else {"," if (pos >= peg$posDetailsCache.length) {"," p = peg$posDetailsCache.length - 1;"," } else {"," p = pos;"," while (!peg$posDetailsCache[--p]) {}"," }",""," details = peg$posDetailsCache[p];"," details = {"," line: details.line,"," column: details.column"," };",""," while (p < pos) {"," if (input.charCodeAt(p) === 10) {"," details.line++;"," details.column = 1;"," } else {"," details.column++;"," }",""," p++;"," }",""," peg$posDetailsCache[pos] = details;",""," return details;"," }"," }",""," function peg$computeLocation(startPos, endPos, offset) {"," var startPosDetails = peg$computePosDetails(startPos);"," var endPosDetails = peg$computePosDetails(endPos);",""," var res = {"," source: peg$source,"," start: {"," offset: startPos,"," line: startPosDetails.line,"," column: startPosDetails.column"," },"," end: {"," offset: endPos,"," line: endPosDetails.line,"," column: endPosDetails.column"," }"," };",' if (offset && peg$source && (typeof peg$source.offset === "function")) {'," res.start = peg$source.offset(res.start);"," res.end = peg$source.offset(res.end);"," }"," return res;"," }",""," function peg$fail(expected) {"," if (peg$currPos < peg$maxFailPos) { return; }",""," if (peg$currPos > peg$maxFailPos) {"," peg$maxFailPos = peg$currPos;"," peg$maxFailExpected = [];"," }",""," peg$maxFailExpected.push(expected);"," }",""," function peg$buildSimpleError(message, location) {"," return new peg$SyntaxError(message, null, null, location);"," }",""," function peg$buildStructuredError(expected, found, location) {"," return new peg$SyntaxError("," peg$SyntaxError.buildMessage(expected, found),"," expected,"," found,"," location"," );"," }",""),e.rules.forEach((function(n){i.push.apply(i,u(function(n){var o=[],s=n.bytecode,c=new Stack$1(n.name,"s","var",s),i=function t(n){var o=0,s=n.length,i=[],m=void 0;function $(e,r,a){var s=r+3,p=n[o+s-2],l=n[o+s-1],f=c.checkedIf(o,(function(){return o+=s+p,(a||t)(n.slice(o-p,o))}),l>0?function(){return o+=l,t(n.slice(o-l,o))}:null),g=f[0],d=f[1];i.push("if ("+e+") {"),i.push.apply(i,u(g)),l>0&&(i.push("} else {"),i.push.apply(i,u(d))),i.push("}")}function h(e,r,a){var s=r+3,u=1===a?"input.charAt(peg$currPos)":"input.substr(peg$currPos, "+a+")",p=null;n[o+s]===op$1.ACCEPT_N&&n[o+s+1]===a&&(i.push(c.push(u)),u=c.pop(),p=function(e){c.sp++;var r=t(e.slice(2));return r.unshift(1===a?"peg$currPos++;":"peg$currPos += "+a+";"),r}),$(e(u,null!==p),r,p)}for(var x=function(){switch(n[o]){case op$1.PUSH_EMPTY_STRING:i.push(c.push("''")),o++;break;case op$1.PUSH_CURR_POS:i.push(c.push("peg$currPos")),o++;break;case op$1.PUSH_UNDEFINED:i.push(c.push("undefined")),o++;break;case op$1.PUSH_NULL:i.push(c.push("null")),o++;break;case op$1.PUSH_FAILED:i.push(c.push("peg$FAILED")),o++;break;case op$1.PUSH_EMPTY_ARRAY:i.push(c.push("[]")),o++;break;case op$1.POP:c.pop(),o++;break;case op$1.POP_CURR_POS:i.push("peg$currPos = "+c.pop()+";"),o++;break;case op$1.POP_N:c.pop(n[o+1]),o+=2;break;case op$1.NIP:m=c.pop(),c.pop(),i.push(c.push(m)),o++;break;case op$1.APPEND:m=c.pop(),i.push(c.top()+".push("+m+");"),o++;break;case op$1.WRAP:i.push(c.push("["+c.pop(n[o+1]).join(", ")+"]")),o+=2;break;case op$1.TEXT:i.push(c.push("input.substring("+c.pop()+", peg$currPos)")),o++;break;case op$1.PLUCK:var s=n[o+3-1],x=3+s;m=n.slice(o+3,o+x),m=1===s?c.index(m[0]):"[ ".concat(m.map((function(e){return c.index(e)})).join(", ")," ]"),c.pop(n[o+1]),i.push(c.push(m)),o+=x;break;case op$1.IF:$(c.top(),0);break;case op$1.IF_ERROR:$(c.top()+" === peg$FAILED",0);break;case op$1.IF_NOT_ERROR:$(c.top()+" !== peg$FAILED",0);break;case op$1.IF_LT:$(c.top()+".length < "+n[o+1],1);break;case op$1.IF_GE:$(c.top()+".length >= "+n[o+1],1);break;case op$1.IF_LT_DYNAMIC:$(c.top()+".length < ("+c.index(n[o+1])+"|0)",1);break;case op$1.IF_GE_DYNAMIC:$(c.top()+".length >= ("+c.index(n[o+1])+"|0)",1);break;case op$1.WHILE_NOT_ERROR:S=c.top()+" !== peg$FAILED",_=n[o+2-1],E=c.checkedLoop(o,(function(){return o+=2+_,t(n.slice(o-_,o))})),i.push("while ("+S+") {"),i.push.apply(i,u(E)),i.push("}");break;case op$1.MATCH_ANY:$("input.length > peg$currPos",0);break;case op$1.MATCH_STRING:var b=n[o+1],v=r[b];h((function(e,t){return v.length>1?"".concat(e," === ").concat(p(b)):(e=t?"".concat(e,".charCodeAt(0)"):"input.charCodeAt(peg$currPos)","".concat(e," === ").concat(v.charCodeAt(0)))}),1,v.length);break;case op$1.MATCH_STRING_IC:var A=n[o+1];h((function(e){return"".concat(e,".toLowerCase() === ").concat(p(A))}),1,r[A].length);break;case op$1.MATCH_CHAR_CLASS:var y=n[o+1];h((function(e){return"".concat(l(y),".test(").concat(e,")")}),1,1);break;case op$1.ACCEPT_N:i.push(c.push(n[o+1]>1?"input.substr(peg$currPos, "+n[o+1]+")":"input.charAt(peg$currPos)")),i.push(n[o+1]>1?"peg$currPos += "+n[o+1]+";":"peg$currPos++;"),o+=2;break;case op$1.ACCEPT_STRING:i.push(c.push(p(n[o+1]))),i.push(r[n[o+1]].length>1?"peg$currPos += "+r[n[o+1]].length+";":"peg$currPos++;"),o+=2;break;case op$1.FAIL:i.push(c.push("peg$FAILED")),i.push("if (peg$silentFails === 0) { peg$fail("+f(n[o+1])+"); }"),o+=2;break;case op$1.LOAD_SAVED_POS:i.push("peg$savedPos = "+c.index(n[o+1])+";"),o+=2;break;case op$1.UPDATE_SAVED_POS:i.push("peg$savedPos = peg$currPos;"),o++;break;case op$1.CALL:m=function(e){var t=n[o+4-1];return g(n[o+1])+"("+n.slice(o+4,o+4+t).map((function(e){return c.index(e)})).join(", ")+")"}(),c.pop(n[o+2]),i.push(c.push(m)),o+=4+n[o+3];break;case op$1.RULE:i.push(c.push(d(e.rules[n[o+1]].name)+"()")),o+=2;break;case op$1.SILENT_FAILS_ON:i.push("peg$silentFails++;"),o++;break;case op$1.SILENT_FAILS_OFF:i.push("peg$silentFails--;"),o++;break;case op$1.SOURCE_MAP_PUSH:c.sourceMapPush(i,a[n[o+1]]),o+=2;break;case op$1.SOURCE_MAP_POP:c.sourceMapPop(),o++;break;case op$1.SOURCE_MAP_LABEL_PUSH:c.labels[n[o+1]]={label:r[n[o+2]],location:a[n[o+3]]},o+=4;break;case op$1.SOURCE_MAP_LABEL_POP:delete c.labels[n[o+1]],o+=2;break;default:throw new Error("Invalid opcode: "+n[o]+".")}var S,_,E};oc?-1:1:0}));for(var t="",r="",a=0;a=s.charCodeAt(0)?(e.splice(a--,1),e[a]=[t,r=c]):(t=s,r=c)}return e}function mergeCharacterClasses$1(e){var t=Object.create(null);e.rules.forEach((function(e){return t[e.name]=e.expression}));var r=Object.create(null),a=[function(e,a){if("class"===e.type&&!e.inverted)return a&&((e=__assign$1({},e)).parts=__spreadArray$3([],e.parts,!0)),e;if("literal"===e.type&&1===e.value.length)return{type:"class",parts:[e.value],inverted:!1,ignoreCase:e.ignoreCase,location:e.location};if("rule_ref"===e.type){var s=t[e.name];if(s){r[e.name]||(r[e.name]=!0,o(s));var c=n(s,!0);return c&&(c.location=e.location),c}}return null},visitor$7.build({choice:function(e){var t=null,r=!1;e.alternatives.forEach((function(a,s){var c;o(a);var i=n(a);i?t&&t.ignoreCase===i.ignoreCase?((c=t.parts).push.apply(c,i.parts),e.alternatives[s-1]=t,e.alternatives[s]=t,t.location={source:t.location.source,start:t.location.start,end:i.location.end},r=!0):t=i:t=null})),r&&(e.alternatives=e.alternatives.filter((function(e,t,r){return!t||e!==r[t-1]})),e.alternatives.forEach((function(t,r){"class"===t.type&&(t.parts=cleanParts(t.parts),1!==t.parts.length||Array.isArray(t.parts[0])||t.inverted||(e.alternatives[r]={type:"literal",value:t.parts[0],ignoreCase:t.ignoreCase,location:t.location}))})),1===e.alternatives.length&&cloneOver(e,e.alternatives[0]))},text:function(e){if(o(e.expression),"class"===e.expression.type||"literal"===e.expression.type){var t=e.location;cloneOver(e,e.expression),e.location=t}}})],n=a[0],o=a[1];e.rules.forEach((function(e){r[e.name]=!0,o(e.expression)}))}var mergeCharacterClasses_1=mergeCharacterClasses$1,visitor$6=visitor_1;function reportDuplicateLabels$1(e,t,r){function a(e){var t={};return Object.keys(e).forEach((function(r){t[r]=e[r]})),t}function n(e,t){o(e.expression,a(t))}var o=visitor$6.build({rule:function(e){o(e.expression,{})},choice:function(e,t){e.alternatives.forEach((function(e){o(e,a(t))}))},action:n,labeled:function(e,t){var a=e.label;a&&Object.prototype.hasOwnProperty.call(t,a)&&r.error('Label "'.concat(e.label,'" is already defined'),e.labelLocation,[{message:"Original label location",location:t[a]}]),o(e.expression,t),t[e.label]=e.labelLocation},text:n,simple_and:n,simple_not:n,optional:n,zero_or_more:n,one_or_more:n,repeated:function(e,t){e.delimiter&&o(e.delimiter,a(t)),o(e.expression,a(t))},group:n});o(e)}var reportDuplicateLabels_1=reportDuplicateLabels$1,visitor$5=visitor_1;function reportDuplicateRules$1(e,t,r){var a={};visitor$5.build({rule:function(e){Object.prototype.hasOwnProperty.call(a,e.name)?r.error('Rule "'.concat(e.name,'" is already defined'),e.nameLocation,[{message:"Original rule location",location:a[e.name]}]):a[e.name]=e.nameLocation}})(e)}var reportDuplicateRules_1=reportDuplicateRules$1,asts$2=asts_1,visitor$4=visitor_1;function reportInfiniteRecursion$1(e,t,r){var a=[],n=[],o=visitor$4.build({rule:function(e){a.push(e.name),o(e.expression),a.pop()},sequence:function(t){t.elements.every((function(t){return o(t),!asts$2.alwaysConsumesOnSuccess(e,t)}))},repeated:function(t){o(t.expression),t.delimiter&&!asts$2.alwaysConsumesOnSuccess(e,t.expression)&&o(t.delimiter)},rule_ref:function(t){n.push(t);var s=asts$2.findRule(e,t.name);if(-1!==a.indexOf(t.name))return a.push(t.name),void r.error("Possible infinite loop when parsing (left recursion: "+a.join(" -> ")+")",s.nameLocation,n.map((function(e,t,r){return{message:t+1!==r.length?"Step ".concat(t+1,': call of the rule "').concat(e.name,'" without input consumption'):"Step ".concat(t+1,": call itself without input consumption - left recursion"),location:e.location}})));s&&o(s),n.pop()}});o(e)}var reportInfiniteRecursion_1=reportInfiniteRecursion$1,asts$1=asts_1,visitor$3=visitor_1;function reportInfiniteRepetition$1(e,t,r){var a=visitor$3.build({zero_or_more:function(t){asts$1.alwaysConsumesOnSuccess(e,t.expression)||r.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",t.location)},one_or_more:function(t){asts$1.alwaysConsumesOnSuccess(e,t.expression)||r.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",t.location)},repeated:function(t){if(t.delimiter&&a(t.delimiter),!(asts$1.alwaysConsumesOnSuccess(e,t.expression)||t.delimiter&&asts$1.alwaysConsumesOnSuccess(e,t.delimiter)))if(null===t.max.value)r.error("Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",t.location);else{var n=t.min?t.min:t.max;r.warning("constant"===n.type&&"constant"===t.max.type?"An expression may not consume any input and may always match ".concat(t.max.value," times"):"An expression may not consume any input and may always match with a maximum repetition count",t.location)}}});a(e)}var reportInfiniteRepetition_1=reportInfiniteRepetition$1,asts=asts_1,visitor$2=visitor_1;function reportUndefinedRules$1(e,t,r){visitor$2.build({rule_ref:function(t){asts.findRule(e,t.name)||r.error('Rule "'.concat(t.name,'" is not defined'),t.location)}})(e)}var reportUndefinedRules_1=reportUndefinedRules$1,visitor$1=visitor_1;function reportIncorrectPlucking$1(e,t,r){var a=visitor$1.build({action:function(e){a(e.expression,e)},labeled:function(e,t){e.pick&&t&&r.error('"@" cannot be used with an action block',e.labelLocation,[{message:"Action block location",location:t.codeLocation}]),a(e.expression)}});a(e)}var reportIncorrectPlucking_1=reportIncorrectPlucking$1,__spreadArray$2=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var a,n=0,o=t.length;n0:e&&"function"==typeof e.offset}var compiler$2={visitor:visitor,passes:{check:[reportUndefinedRules,reportDuplicateRules,reportDuplicateLabels,reportInfiniteRecursion,reportInfiniteRepetition,reportIncorrectPlucking],transform:[removeProxyRules,mergeCharacterClasses,inferenceMatchResult],generate:[generateBytecode,generateJS]},compile:function(ast,passes,options){if(options=void 0!==options?options:{},options=processOptions(options,{allowedStartRules:[ast.rules[0].name],cache:!1,dependencies:{},exportVar:null,format:"bare",output:"parser",trace:!1}),!Array.isArray(options.allowedStartRules))throw new Error("allowedStartRules must be an array");if(0===options.allowedStartRules.length)throw new Error("Must have at least one start rule");var allRules=ast.rules.map((function(e){return e.name}));if(options.allowedStartRules.some((function(e){return"*"===e})))options.allowedStartRules=allRules;else for(var _i=0,_a=options.allowedStartRules;_i<_a.length;_i++){var rule=_a[_i];if(-1===allRules.indexOf(rule))throw new Error('Unknown start rule "'.concat(rule,'"'))}if(("source-and-map"===options.output||"source-with-inline-map"===options.output)&&!isSourceMapCapable(options.grammarSource))throw new Error("Must provide grammarSource (as a string or GrammarLocation) in order to generate source maps");var session=new Session$1(options);switch(Object.keys(passes).forEach((function(e){session.stage=e,session.info("Process stage ".concat(e)),passes[e].forEach((function(t){session.info("Process pass ".concat(e,".").concat(t.name)),t(ast,options,session)})),session.checkErrors()})),options.output){case"parser":return eval(ast.code.toString());case"source":return ast.code.toString();case"source-and-map":return ast.code;case"source-with-inline-map":if("undefined"==typeof TextEncoder)throw new Error("TextEncoder is not supported by this platform");var sourceMap=ast.code.toStringWithSourceMap(),encoder=new TextEncoder,b64=base64$3(encoder.encode(JSON.stringify(sourceMap.map.toJSON())));return sourceMap.code+"//# sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(b64,"\n");case"ast":return ast;default:throw new Error("Invalid output format: "+options.output+".")}}},compiler_1=compiler$2,OPS_TO_PREFIXED_TYPES={$:"text","&":"simple_and","!":"simple_not"},OPS_TO_SUFFIXED_TYPES={"?":"optional","*":"zero_or_more","+":"one_or_more"},OPS_TO_SEMANTIC_PREDICATE_TYPES={"&":"semantic_and","!":"semantic_not"};function peg$subclass(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}function peg$SyntaxError(e,t,r,a){var n=Error.call(this,e);return Object.setPrototypeOf&&Object.setPrototypeOf(n,peg$SyntaxError.prototype),n.expected=t,n.found=r,n.location=a,n.name="SyntaxError",n}function peg$padEnd(e,t,r){return r=r||" ",e.length>t?e:(t-=e.length,e+(r+=r.repeat(t)).slice(0,t))}function peg$parse(e,t){var r,a={},n=(t=void 0!==t?t:{}).grammarSource,o={Grammar:lr},s=lr,c="{",i="}",u="=",p="/",l="@",f=":",g="|",d=",",m="..",$="(",h=")",x="\n",b="\r\n",v="/*",A="*/",y="//",S="\\",_="i",E='"',T="'",C="[",P="^",w="]",R="-",L="0",F="b",O="f",B="n",M="r",D="t",I="v",k="x",j="u",N=".",U=";",q=/^[!$&]/,G=/^[*-+?]/,H=/^[!&]/,z=/^[\t\v-\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]/,W=/^[\n\r\u2028\u2029]/,V=/^[\r\u2028-\u2029]/,Y=/^[A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376-\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E-\u066F\u0671-\u06D3\u06D5\u06E5-\u06E6\u06EE-\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4-\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC-\u09DD\u09DF-\u09E1\u09F0-\u09F1\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33\u0A35-\u0A36\u0A38-\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0-\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B35-\u0B39\u0B3D\u0B5C-\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60-\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0-\u0CE1\u0CF1-\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32-\u0E33\u0E40-\u0E46\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065-\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE-\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5-\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,Q=/^[$0-9_\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7-\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962-\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7-\u09C8\u09CB-\u09CD\u09D7\u09E2-\u09E3\u09E6-\u09EF\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2-\u0AE3\u0AE6-\u0AEF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47-\u0B48\u0B4B-\u0B4D\u0B56-\u0B57\u0B62-\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55-\u0C56\u0C62-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5-\u0CD6\u0CE2-\u0CE3\u0CE6-\u0CEF\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62-\u0D63\u0D66-\u0D6F\u0D82-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2-\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EB9\u0EBB-\u0EBC\u0EC8-\u0ECD\u0ED0-\u0ED9\u0F18-\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F3F\u0F71-\u0F84\u0F86-\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19D9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8-\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u200C-\u200D\u203F-\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099-\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E-\uA69F\uA6F0-\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880-\uA881\uA8B4-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F1\uA900-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C-\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7-\uAAB8\uAABE-\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5-\uAAF6\uABE3-\uABEA\uABEC-\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33-\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F]/,J=/^[\n\r"\\\u2028-\u2029]/,X=/^[\n\r'\\\u2028-\u2029]/,K=/^[\n\r\\-\]\u2028-\u2029]/,Z=/^["'\\]/,ee=/^[0-9ux]/,te=/^[0-9]/,re=/^[0-9a-f]/i,ae=/^[{}]/,ne=or("{",!1),oe=or("}",!1),se=or("=",!1),ce=or("/",!1),ie=or("@",!1),ue=or(":",!1),pe=sr(["!","$","&"],!1,!1),le=sr([["*","+"],"?"],!1,!1),fe=or("|",!1),ge=or(",",!1),de=or("..",!1),me=or("(",!1),$e=or(")",!1),he=sr(["!","&"],!1,!1),xe={type:"any"},be=cr("whitespace"),ve=sr(["\t",["\v","\f"]," "," "," ",[" "," "]," "," "," ","\ufeff"],!1,!1),Ae=sr(["\n","\r","\u2028","\u2029"],!1,!1),ye=cr("end of line"),Se=or("\n",!1),_e=or("\r\n",!1),Ee=sr(["\r",["\u2028","\u2029"]],!1,!1),Te=cr("comment"),Ce=or("/*",!1),Pe=or("*/",!1),we=or("//",!1),Re=cr("identifier"),Le=sr([["A","Z"],"_",["a","z"],"ª","µ","º",["À","Ö"],["Ø","ö"],["ø","ˁ"],["ˆ","ˑ"],["ˠ","ˤ"],"ˬ","ˮ",["Ͱ","ʹ"],["Ͷ","ͷ"],["ͺ","ͽ"],"Ϳ","Ά",["Έ","Ί"],"Ό",["Ύ","Ρ"],["Σ","ϵ"],["Ϸ","ҁ"],["Ҋ","ԯ"],["Ա","Ֆ"],"ՙ",["ա","և"],["א","ת"],["װ","ײ"],["ؠ","ي"],["ٮ","ٯ"],["ٱ","ۓ"],"ە",["ۥ","ۦ"],["ۮ","ۯ"],["ۺ","ۼ"],"ۿ","ܐ",["ܒ","ܯ"],["ݍ","ޥ"],"ޱ",["ߊ","ߪ"],["ߴ","ߵ"],"ߺ",["ࠀ","ࠕ"],"ࠚ","ࠤ","ࠨ",["ࡀ","ࡘ"],["ࢠ","ࢴ"],["ऄ","ह"],"ऽ","ॐ",["क़","ॡ"],["ॱ","ঀ"],["অ","ঌ"],["এ","ঐ"],["ও","ন"],["প","র"],"ল",["শ","হ"],"ঽ","ৎ",["ড়","ঢ়"],["য়","ৡ"],["ৰ","ৱ"],["ਅ","ਊ"],["ਏ","ਐ"],["ਓ","ਨ"],["ਪ","ਰ"],["ਲ","ਲ਼"],["ਵ","ਸ਼"],["ਸ","ਹ"],["ਖ਼","ੜ"],"ਫ਼",["ੲ","ੴ"],["અ","ઍ"],["એ","ઑ"],["ઓ","ન"],["પ","ર"],["લ","ળ"],["વ","હ"],"ઽ","ૐ",["ૠ","ૡ"],"ૹ",["ଅ","ଌ"],["ଏ","ଐ"],["ଓ","ନ"],["ପ","ର"],["ଲ","ଳ"],["ଵ","ହ"],"ଽ",["ଡ଼","ଢ଼"],["ୟ","ୡ"],"ୱ","ஃ",["அ","ஊ"],["எ","ஐ"],["ஒ","க"],["ங","ச"],"ஜ",["ஞ","ட"],["ண","த"],["ந","ப"],["ம","ஹ"],"ௐ",["అ","ఌ"],["ఎ","ఐ"],["ఒ","న"],["ప","హ"],"ఽ",["ౘ","ౚ"],["ౠ","ౡ"],["ಅ","ಌ"],["ಎ","ಐ"],["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"],"ಽ","ೞ",["ೠ","ೡ"],["ೱ","ೲ"],["അ","ഌ"],["എ","ഐ"],["ഒ","ഺ"],"ഽ","ൎ",["ൟ","ൡ"],["ൺ","ൿ"],["අ","ඖ"],["ක","න"],["ඳ","ර"],"ල",["ව","ෆ"],["ก","ะ"],["า","ำ"],["เ","ๆ"],["ກ","ຂ"],"ຄ",["ງ","ຈ"],"ຊ","ຍ",["ດ","ທ"],["ນ","ຟ"],["ມ","ຣ"],"ລ","ວ",["ສ","ຫ"],["ອ","ະ"],["າ","ຳ"],"ຽ",["ເ","ໄ"],"ໆ",["ໜ","ໟ"],"ༀ",["ཀ","ཇ"],["ཉ","ཬ"],["ྈ","ྌ"],["က","ဪ"],"ဿ",["ၐ","ၕ"],["ၚ","ၝ"],"ၡ",["ၥ","ၦ"],["ၮ","ၰ"],["ၵ","ႁ"],"ႎ",["Ⴀ","Ⴥ"],"Ⴧ","Ⴭ",["ა","ჺ"],["ჼ","ቈ"],["ቊ","ቍ"],["ቐ","ቖ"],"ቘ",["ቚ","ቝ"],["በ","ኈ"],["ኊ","ኍ"],["ነ","ኰ"],["ኲ","ኵ"],["ኸ","ኾ"],"ዀ",["ዂ","ዅ"],["ወ","ዖ"],["ዘ","ጐ"],["ጒ","ጕ"],["ጘ","ፚ"],["ᎀ","ᎏ"],["Ꭰ","Ᏽ"],["ᏸ","ᏽ"],["ᐁ","ᙬ"],["ᙯ","ᙿ"],["ᚁ","ᚚ"],["ᚠ","ᛪ"],["ᛮ","ᛸ"],["ᜀ","ᜌ"],["ᜎ","ᜑ"],["ᜠ","ᜱ"],["ᝀ","ᝑ"],["ᝠ","ᝬ"],["ᝮ","ᝰ"],["ក","ឳ"],"ៗ","ៜ",["ᠠ","ᡷ"],["ᢀ","ᢨ"],"ᢪ",["ᢰ","ᣵ"],["ᤀ","ᤞ"],["ᥐ","ᥭ"],["ᥰ","ᥴ"],["ᦀ","ᦫ"],["ᦰ","ᧉ"],["ᨀ","ᨖ"],["ᨠ","ᩔ"],"ᪧ",["ᬅ","ᬳ"],["ᭅ","ᭋ"],["ᮃ","ᮠ"],["ᮮ","ᮯ"],["ᮺ","ᯥ"],["ᰀ","ᰣ"],["ᱍ","ᱏ"],["ᱚ","ᱽ"],["ᳩ","ᳬ"],["ᳮ","ᳱ"],["ᳵ","ᳶ"],["ᴀ","ᶿ"],["Ḁ","ἕ"],["Ἐ","Ἕ"],["ἠ","ὅ"],["Ὀ","Ὅ"],["ὐ","ὗ"],"Ὑ","Ὓ","Ὕ",["Ὗ","ώ"],["ᾀ","ᾴ"],["ᾶ","ᾼ"],"ι",["ῂ","ῄ"],["ῆ","ῌ"],["ῐ","ΐ"],["ῖ","Ί"],["ῠ","Ῥ"],["ῲ","ῴ"],["ῶ","ῼ"],"ⁱ","ⁿ",["ₐ","ₜ"],"ℂ","ℇ",["ℊ","ℓ"],"ℕ",["ℙ","ℝ"],"ℤ","Ω","ℨ",["K","ℭ"],["ℯ","ℹ"],["ℼ","ℿ"],["ⅅ","ⅉ"],"ⅎ",["Ⅰ","ↈ"],["Ⰰ","Ⱞ"],["ⰰ","ⱞ"],["Ⱡ","ⳤ"],["Ⳬ","ⳮ"],["Ⳳ","ⳳ"],["ⴀ","ⴥ"],"ⴧ","ⴭ",["ⴰ","ⵧ"],"ⵯ",["ⶀ","ⶖ"],["ⶠ","ⶦ"],["ⶨ","ⶮ"],["ⶰ","ⶶ"],["ⶸ","ⶾ"],["ⷀ","ⷆ"],["ⷈ","ⷎ"],["ⷐ","ⷖ"],["ⷘ","ⷞ"],"ⸯ",["々","〇"],["〡","〩"],["〱","〵"],["〸","〼"],["ぁ","ゖ"],["ゝ","ゟ"],["ァ","ヺ"],["ー","ヿ"],["ㄅ","ㄭ"],["ㄱ","ㆎ"],["ㆠ","ㆺ"],["ㇰ","ㇿ"],["㐀","䶵"],["一","鿕"],["ꀀ","ꒌ"],["ꓐ","ꓽ"],["ꔀ","ꘌ"],["ꘐ","ꘟ"],["ꘪ","ꘫ"],["Ꙁ","ꙮ"],["ꙿ","ꚝ"],["ꚠ","ꛯ"],["ꜗ","ꜟ"],["Ꜣ","ꞈ"],["Ꞌ","Ɬ"],["Ʞ","ꞷ"],["ꟷ","ꠁ"],["ꠃ","ꠅ"],["ꠇ","ꠊ"],["ꠌ","ꠢ"],["ꡀ","ꡳ"],["ꢂ","ꢳ"],["ꣲ","ꣷ"],"ꣻ","ꣽ",["ꤊ","ꤥ"],["ꤰ","ꥆ"],["ꥠ","ꥼ"],["ꦄ","ꦲ"],"ꧏ",["ꧠ","ꧤ"],["ꧦ","ꧯ"],["ꧺ","ꧾ"],["ꨀ","ꨨ"],["ꩀ","ꩂ"],["ꩄ","ꩋ"],["ꩠ","ꩶ"],"ꩺ",["ꩾ","ꪯ"],"ꪱ",["ꪵ","ꪶ"],["ꪹ","ꪽ"],"ꫀ","ꫂ",["ꫛ","ꫝ"],["ꫠ","ꫪ"],["ꫲ","ꫴ"],["ꬁ","ꬆ"],["ꬉ","ꬎ"],["ꬑ","ꬖ"],["ꬠ","ꬦ"],["ꬨ","ꬮ"],["ꬰ","ꭚ"],["ꭜ","ꭥ"],["ꭰ","ꯢ"],["가","힣"],["ힰ","ퟆ"],["ퟋ","ퟻ"],["豈","舘"],["並","龎"],["ff","st"],["ﬓ","ﬗ"],"יִ",["ײַ","ﬨ"],["שׁ","זּ"],["טּ","לּ"],"מּ",["נּ","סּ"],["ףּ","פּ"],["צּ","ﮱ"],["ﯓ","ﴽ"],["ﵐ","ﶏ"],["ﶒ","ﷇ"],["ﷰ","ﷻ"],["ﹰ","ﹴ"],["ﹶ","ﻼ"],["A","Z"],["a","z"],["ヲ","ᄒ"],["ᅡ","ᅦ"],["ᅧ","ᅬ"],["ᅭ","ᅲ"],["ᅳ","ᅵ"]],!1,!1),Fe=or("\\",!1),Oe=sr(["$",["0","9"],"_",["̀","ͯ"],["҃","҇"],["֑","ֽ"],"ֿ",["ׁ","ׂ"],["ׄ","ׅ"],"ׇ",["ؐ","ؚ"],["ً","٩"],"ٰ",["ۖ","ۜ"],["۟","ۤ"],["ۧ","ۨ"],["۪","ۭ"],["۰","۹"],"ܑ",["ܰ","݊"],["ަ","ް"],["߀","߉"],["߫","߳"],["ࠖ","࠙"],["ࠛ","ࠣ"],["ࠥ","ࠧ"],["ࠩ","࠭"],["࡙","࡛"],["ࣣ","ः"],["ऺ","़"],["ा","ॏ"],["॑","ॗ"],["ॢ","ॣ"],["०","९"],["ঁ","ঃ"],"়",["া","ৄ"],["ে","ৈ"],["ো","্"],"ৗ",["ৢ","ৣ"],["০","৯"],["ਁ","ਃ"],"਼",["ਾ","ੂ"],["ੇ","ੈ"],["ੋ","੍"],"ੑ",["੦","ੱ"],"ੵ",["ઁ","ઃ"],"઼",["ા","ૅ"],["ે","ૉ"],["ો","્"],["ૢ","ૣ"],["૦","૯"],["ଁ","ଃ"],"଼",["ା","ୄ"],["େ","ୈ"],["ୋ","୍"],["ୖ","ୗ"],["ୢ","ୣ"],["୦","୯"],"ஂ",["ா","ூ"],["ெ","ை"],["ொ","்"],"ௗ",["௦","௯"],["ఀ","ః"],["ా","ౄ"],["ె","ై"],["ొ","్"],["ౕ","ౖ"],["ౢ","ౣ"],["౦","౯"],["ಁ","ಃ"],"಼",["ಾ","ೄ"],["ೆ","ೈ"],["ೊ","್"],["ೕ","ೖ"],["ೢ","ೣ"],["೦","೯"],["ഁ","ഃ"],["ാ","ൄ"],["െ","ൈ"],["ൊ","്"],"ൗ",["ൢ","ൣ"],["൦","൯"],["ං","ඃ"],"්",["ා","ු"],"ූ",["ෘ","ෟ"],["෦","෯"],["ෲ","ෳ"],"ั",["ิ","ฺ"],["็","๎"],["๐","๙"],"ັ",["ິ","ູ"],["ົ","ຼ"],["່","ໍ"],["໐","໙"],["༘","༙"],["༠","༩"],"༵","༷","༹",["༾","༿"],["ཱ","྄"],["྆","྇"],["ྍ","ྗ"],["ྙ","ྼ"],"࿆",["ါ","ှ"],["၀","၉"],["ၖ","ၙ"],["ၞ","ၠ"],["ၢ","ၤ"],["ၧ","ၭ"],["ၱ","ၴ"],["ႂ","ႍ"],["ႏ","ႝ"],["፝","፟"],["ᜒ","᜔"],["ᜲ","᜴"],["ᝒ","ᝓ"],["ᝲ","ᝳ"],["឴","៓"],"៝",["០","៩"],["᠋","᠍"],["᠐","᠙"],"ᢩ",["ᤠ","ᤫ"],["ᤰ","᤻"],["᥆","᥏"],["᧐","᧙"],["ᨗ","ᨛ"],["ᩕ","ᩞ"],["᩠","᩼"],["᩿","᪉"],["᪐","᪙"],["᪰","᪽"],["ᬀ","ᬄ"],["᬴","᭄"],["᭐","᭙"],["᭫","᭳"],["ᮀ","ᮂ"],["ᮡ","ᮭ"],["᮰","᮹"],["᯦","᯳"],["ᰤ","᰷"],["᱀","᱉"],["᱐","᱙"],["᳐","᳒"],["᳔","᳨"],"᳭",["ᳲ","᳴"],["᳸","᳹"],["᷀","᷵"],["᷼","᷿"],["‌","‍"],["‿","⁀"],"⁔",["⃐","⃜"],"⃡",["⃥","⃰"],["⳯","⳱"],"⵿",["ⷠ","ⷿ"],["〪","〯"],["゙","゚"],["꘠","꘩"],"꙯",["ꙴ","꙽"],["ꚞ","ꚟ"],["꛰","꛱"],"ꠂ","꠆","ꠋ",["ꠣ","ꠧ"],["ꢀ","ꢁ"],["ꢴ","꣄"],["꣐","꣙"],["꣠","꣱"],["꤀","꤉"],["ꤦ","꤭"],["ꥇ","꥓"],["ꦀ","ꦃ"],["꦳","꧀"],["꧐","꧙"],"ꧥ",["꧰","꧹"],["ꨩ","ꨶ"],"ꩃ",["ꩌ","ꩍ"],["꩐","꩙"],["ꩻ","ꩽ"],"ꪰ",["ꪲ","ꪴ"],["ꪷ","ꪸ"],["ꪾ","꪿"],"꫁",["ꫫ","ꫯ"],["ꫵ","꫶"],["ꯣ","ꯪ"],["꯬","꯭"],["꯰","꯹"],"ﬞ",["︀","️"],["︠","︯"],["︳","︴"],["﹍","﹏"],["0","9"],"_"],!1,!1),Be=cr("literal"),Me=or("i",!1),De=cr("string"),Ie=or('"',!1),ke=or("'",!1),je=sr(["\n","\r",'"',"\\",["\u2028","\u2029"]],!1,!1),Ne=sr(["\n","\r","'","\\",["\u2028","\u2029"]],!1,!1),Ue=cr("character class"),qe=or("[",!1),Ge=or("^",!1),He=or("]",!1),ze=or("-",!1),We=sr(["\n","\r",["\\","]"],["\u2028","\u2029"]],!1,!1),Ve=or("0",!1),Ye=sr(['"',"'","\\"],!1,!1),Qe=or("b",!1),Je=or("f",!1),Xe=or("n",!1),Ke=or("r",!1),Ze=or("t",!1),et=or("v",!1),tt=sr([["0","9"],"u","x"],!1,!1),rt=or("x",!1),at=or("u",!1),nt=sr([["0","9"]],!1,!1),ot=sr([["0","9"],["a","f"]],!1,!0),st=or(".",!1),ct=cr("code block"),it=sr(["{","}"],!1,!1),ut=or(";",!1),pt=function(e,t,r){return{type:"grammar",topLevelInitializer:e,initializer:t,rules:r,location:ar()}},lt=function(e){return{type:"top_level_initializer",code:e[0],codeLocation:e[1],location:ar()}},ft=function(e){return{type:"initializer",code:e[0],codeLocation:e[1],location:ar()}},gt=function(e,t,r){return{type:"rule",name:e[0],nameLocation:e[1],expression:null!==t?{type:"named",name:t,expression:r,location:ar()}:r,location:ar()}},dt=function(e,t){return t.length>0?{type:"choice",alternatives:[e].concat(t),location:ar()}:e},mt=function(e,t){return null!==t?{type:"action",expression:e,code:t[0],codeLocation:t[1],location:ar()}:e},$t=function(e,t){return t.length>0||"labeled"===e.type&&e.pick?{type:"sequence",elements:[e].concat(t),location:ar()}:e},ht=function(e,t,r){return r.type.startsWith("semantic_")&&nr('"@" cannot be used on a semantic predicate',e),{type:"labeled",label:null!==t?t[0]:null,labelLocation:null!==t?t[1]:e,pick:!0,expression:r,location:ar()}},xt=function(e,t){return{type:"labeled",label:e[0],labelLocation:e[1],expression:t,location:ar()}},bt=function(){return ar()},vt=function(e){return Wr.indexOf(e[0])>=0&&nr("Label can't be a reserved word \"".concat(e[0],'"'),e[1]),e},At=function(e,t){return{type:OPS_TO_PREFIXED_TYPES[e],expression:t,location:ar()}},yt=function(e,t){return{type:OPS_TO_SUFFIXED_TYPES[t],expression:e,location:ar()}},St=function(e,t,r){var a=t[0],n=t[1];return"constant"===n.type&&0===n.value&&nr("The maximum count of repetitions of the rule must be > 0",n.location),{type:"repeated",min:a,max:n,expression:e,delimiter:r,location:ar()}},_t=function(e,t){return[null!==e?e:{type:"constant",value:0},null!==t?t:{type:"constant",value:null}]},Et=function(e){return[null,e]},Tt=function(e){return{type:"constant",value:e,location:ar()}},Ct=function(e){return{type:"variable",value:e[0],location:ar()}},Pt=function(e){return{type:"function",value:e[0],codeLocation:e[1],location:ar()}},wt=function(e){return"labeled"===e.type||"sequence"===e.type?{type:"group",expression:e,location:ar()}:e},Rt=function(e){return{type:"rule_ref",name:e[0],location:ar()}},Lt=function(e,t){return{type:OPS_TO_SEMANTIC_PREDICATE_TYPES[e],code:t[0],codeLocation:t[1],location:ar()}},Ft=function(e,t){return[e+t.join(""),ar()]},Ot=function(e,t){return{type:"literal",value:e,ignoreCase:null!==t,location:ar()}},Bt=function(e){return e.join("")},Mt=function(e){return e.join("")},Dt=function(e,t,r){return{type:"class",parts:t.filter((function(e){return""!==e})),inverted:null!==e,ignoreCase:null!==r,location:ar()}},It=function(t,r){return t.charCodeAt(0)>r.charCodeAt(0)&&nr("Invalid character range: "+e.substring(Kt,Xt)+"."),[t,r]},kt=function(){return""},jt=function(){return"\0"},Nt=function(){return"\b"},Ut=function(){return"\f"},qt=function(){return"\n"},Gt=function(){return"\r"},Ht=function(){return"\t"},zt=function(){return"\v"},Wt=function(e){return String.fromCharCode(parseInt(e,16))},Vt=function(e){return String.fromCharCode(parseInt(e,16))},Yt=function(){return{type:"any",location:ar()}},Qt=function(e){return[e,ar()]},Jt=function(e){return parseInt(e,10)},Xt=0,Kt=0,Zt=[{line:1,column:1}],er=0,tr=[],rr=0;if("startRule"in t){if(!(t.startRule in o))throw new Error("Can't start parsing from rule \""+t.startRule+'".');s=o[t.startRule]}function ar(){return ur(Kt,Xt)}function nr(e,t){throw function(e,t){return new peg$SyntaxError(e,null,null,t)}(e,t=void 0!==t?t:ur(Kt,Xt))}function or(e,t){return{type:"literal",text:e,ignoreCase:t}}function sr(e,t,r){return{type:"class",parts:e,inverted:t,ignoreCase:r}}function cr(e){return{type:"other",description:e}}function ir(t){var r,a=Zt[t];if(a)return a;if(t>=Zt.length)r=Zt.length-1;else for(r=t;!Zt[--r];);for(a={line:(a=Zt[r]).line,column:a.column};rer&&(er=Xt,tr=[]),tr.push(e))}function lr(){var t,r,n,o,s,u;if(t=Xt,Hr(),r=Xt,n=function(){var t,r,n,o;return t=Xt,123===e.charCodeAt(Xt)?(r=c,Xt++):(r=a,0===rr&&pr(ne)),r!==a&&(n=qr())!==a?(125===e.charCodeAt(Xt)?(o=i,Xt++):(o=a,0===rr&&pr(oe)),o!==a&&zr()!==a?(Kt=t,t=lt(n)):(Xt=t,t=a)):(Xt=t,t=a),t}(),n!==a?(o=Hr(),r=n):(Xt=r,r=a),r===a&&(r=null),n=Xt,o=function(){var e,t;return e=Xt,(t=qr())!==a&&zr()!==a?(Kt=e,e=ft(t)):(Xt=e,e=a),e}(),o!==a?(s=Hr(),n=o):(Xt=n,n=a),n===a&&(n=null),o=[],s=Xt,(u=fr())!==a?(Hr(),s=u):(Xt=s,s=a),s!==a)for(;s!==a;)o.push(s),s=Xt,(u=fr())!==a?(Hr(),s=u):(Xt=s,s=a);else o=a;return o!==a?(Kt=t,t=pt(r,n,o)):(Xt=t,t=a),t}function fr(){var t,r,n,o,s;return t=Xt,(r=Pr())!==a?(Hr(),n=Xt,(o=Lr())!==a?(Hr(),n=o):(Xt=n,n=a),n===a&&(n=null),61===e.charCodeAt(Xt)?(o=u,Xt++):(o=a,0===rr&&pr(se)),o!==a?(Hr(),(s=gr())!==a&&zr()!==a?(Kt=t,t=gt(r,n,s)):(Xt=t,t=a)):(Xt=t,t=a)):(Xt=t,t=a),t}function gr(){var t,r,n,o,s,c;if(t=Xt,(r=dr())!==a){for(n=[],o=Xt,Hr(),47===e.charCodeAt(Xt)?(s=p,Xt++):(s=a,0===rr&&pr(ce)),s!==a?(Hr(),(c=dr())!==a?o=c:(Xt=o,o=a)):(Xt=o,o=a);o!==a;)n.push(o),o=Xt,Hr(),47===e.charCodeAt(Xt)?(s=p,Xt++):(s=a,0===rr&&pr(ce)),s!==a?(Hr(),(c=dr())!==a?o=c:(Xt=o,o=a)):(Xt=o,o=a);Kt=t,t=dt(r,n)}else Xt=t,t=a;return t}function dr(){var e,t,r,n;return e=Xt,t=function(){var e,t,r,n,o;if(e=Xt,(t=mr())!==a){for(r=[],n=Xt,Hr(),(o=mr())!==a?n=o:(Xt=n,n=a);n!==a;)r.push(n),n=Xt,Hr(),(o=mr())!==a?n=o:(Xt=n,n=a);Kt=e,e=$t(t,r)}else Xt=e,e=a;return e}(),t!==a?(r=Xt,Hr(),(n=qr())!==a?r=n:(Xt=r,r=a),r===a&&(r=null),Kt=e,e=mt(t,r)):(Xt=e,e=a),e}function mr(){var t,r,n,o;return t=Xt,r=function(){var t,r;return t=Xt,64===e.charCodeAt(Xt)?(r=l,Xt++):(r=a,0===rr&&pr(ie)),r!==a&&(Kt=t,r=bt()),t=r}(),r!==a?((n=$r())===a&&(n=null),(o=hr())!==a?(Kt=t,t=ht(r,n,o)):(Xt=t,t=a)):(Xt=t,t=a),t===a&&(t=Xt,(r=$r())!==a?(n=Hr(),(o=hr())!==a?(Kt=t,t=xt(r,o)):(Xt=t,t=a)):(Xt=t,t=a),t===a&&(t=hr())),t}function $r(){var t,r,n;return t=Xt,(r=Pr())!==a?(Hr(),58===e.charCodeAt(Xt)?(n=f,Xt++):(n=a,0===rr&&pr(ue)),n!==a?(Kt=t,t=vt(r)):(Xt=t,t=a)):(Xt=t,t=a),t}function hr(){var t,r,n;return t=Xt,r=function(){var t;return t=e.charAt(Xt),q.test(t)?Xt++:(t=a,0===rr&&pr(pe)),t}(),r!==a?(Hr(),(n=xr())!==a?(Kt=t,t=At(r,n)):(Xt=t,t=a)):(Xt=t,t=a),t===a&&(t=xr()),t}function xr(){var t,r,n;return t=Xt,(r=vr())!==a?(Hr(),n=function(){var t;return t=e.charAt(Xt),G.test(t)?Xt++:(t=a,0===rr&&pr(le)),t}(),n!==a?(Kt=t,t=yt(r,n)):(Xt=t,t=a)):(Xt=t,t=a),t===a&&(t=function(){var t,r,n,o,s,c,i;return t=Xt,(r=vr())!==a?(Hr(),124===e.charCodeAt(Xt)?(n=g,Xt++):(n=a,0===rr&&pr(fe)),n!==a?(Hr(),o=function(){var t,r,n,o;return t=Xt,(r=br())===a&&(r=null),Hr(),e.substr(Xt,2)===m?(n=m,Xt+=2):(n=a,0===rr&&pr(de)),n!==a?(Hr(),(o=br())===a&&(o=null),Kt=t,t=_t(r,o)):(Xt=t,t=a),t===a&&(t=Xt,(r=br())!==a&&(Kt=t,r=Et(r)),t=r),t}(),o!==a?(Hr(),s=Xt,44===e.charCodeAt(Xt)?(c=d,Xt++):(c=a,0===rr&&pr(ge)),c!==a?(Hr(),(i=gr())!==a?(Hr(),s=i):(Xt=s,s=a)):(Xt=s,s=a),s===a&&(s=null),124===e.charCodeAt(Xt)?(c=g,Xt++):(c=a,0===rr&&pr(fe)),c!==a?(Kt=t,t=St(r,o,s)):(Xt=t,t=a)):(Xt=t,t=a)):(Xt=t,t=a)):(Xt=t,t=a),t}(),t===a&&(t=vr())),t}function br(){var t,r;return t=Xt,r=function(){var t,r,n,o;if(t=Xt,r=Xt,n=[],(o=Nr())!==a)for(;o!==a;)n.push(o),o=Nr();else n=a;return(r=n!==a?e.substring(r,Xt):n)!==a&&(Kt=t,r=Jt(r)),t=r}(),r!==a&&(Kt=t,r=Tt(r)),(t=r)===a&&(t=Xt,(r=Pr())!==a&&(Kt=t,r=Ct(r)),(t=r)===a&&(t=Xt,(r=qr())!==a&&(Kt=t,r=Pt(r)),t=r)),t}function vr(){var t,r,n,o;return t=function(){var t,r,n;return rr++,t=Xt,(r=Lr())!==a?(105===e.charCodeAt(Xt)?(n=_,Xt++):(n=a,0===rr&&pr(Me)),n===a&&(n=null),Kt=t,t=Ot(r,n)):(Xt=t,t=a),rr--,t===a&&(r=a,0===rr&&pr(Be)),t}(),t===a&&(t=function(){var t,r,n,o,s,c;if(rr++,t=Xt,91===e.charCodeAt(Xt)?(r=C,Xt++):(r=a,0===rr&&pr(qe)),r!==a){for(94===e.charCodeAt(Xt)?(n=P,Xt++):(n=a,0===rr&&pr(Ge)),n===a&&(n=null),o=[],(s=Br())===a&&(s=Mr());s!==a;)o.push(s),(s=Br())===a&&(s=Mr());93===e.charCodeAt(Xt)?(s=w,Xt++):(s=a,0===rr&&pr(He)),s!==a?(105===e.charCodeAt(Xt)?(c=_,Xt++):(c=a,0===rr&&pr(Me)),c===a&&(c=null),Kt=t,t=Dt(n,o,c)):(Xt=t,t=a)}else Xt=t,t=a;return rr--,t===a&&(r=a,0===rr&&pr(Ue)),t}(),t===a&&(t=function(){var t,r;return t=Xt,46===e.charCodeAt(Xt)?(r=N,Xt++):(r=a,0===rr&&pr(st)),r!==a&&(Kt=t,r=Yt()),t=r}(),t===a&&(t=function(){var t,r,n,o,s,c,i;return t=Xt,(r=Pr())!==a?(n=Xt,rr++,o=Xt,s=Hr(),c=Xt,(i=Lr())!==a?c=i=[i,Hr()]:(Xt=c,c=a),c===a&&(c=null),61===e.charCodeAt(Xt)?(i=u,Xt++):(i=a,0===rr&&pr(se)),i!==a?o=s=[s,c,i]:(Xt=o,o=a),rr--,o===a?n=void 0:(Xt=n,n=a),n!==a?(Kt=t,t=Rt(r)):(Xt=t,t=a)):(Xt=t,t=a),t}(),t===a&&(t=function(){var t,r,n;return t=Xt,r=function(){var t;return t=e.charAt(Xt),H.test(t)?Xt++:(t=a,0===rr&&pr(he)),t}(),r!==a?(Hr(),(n=qr())!==a?(Kt=t,t=Lt(r,n)):(Xt=t,t=a)):(Xt=t,t=a),t}(),t===a&&(t=Xt,40===e.charCodeAt(Xt)?(r=$,Xt++):(r=a,0===rr&&pr(me)),r!==a?(Hr(),(n=gr())!==a?(Hr(),41===e.charCodeAt(Xt)?(o=h,Xt++):(o=a,0===rr&&pr($e)),o!==a?(Kt=t,t=wt(n)):(Xt=t,t=a)):(Xt=t,t=a)):(Xt=t,t=a)))))),t}function Ar(){var t;return e.length>Xt?(t=e.charAt(Xt),Xt++):(t=a,0===rr&&pr(xe)),t}function yr(){var t;return rr++,t=e.charAt(Xt),z.test(t)?Xt++:(t=a,0===rr&&pr(ve)),rr--,t===a&&0===rr&&pr(be),t}function Sr(){var t;return t=e.charAt(Xt),W.test(t)?Xt++:(t=a,0===rr&&pr(Ae)),t}function _r(){var t;return rr++,10===e.charCodeAt(Xt)?(t=x,Xt++):(t=a,0===rr&&pr(Se)),t===a&&(e.substr(Xt,2)===b?(t=b,Xt+=2):(t=a,0===rr&&pr(_e)),t===a&&(t=e.charAt(Xt),V.test(t)?Xt++:(t=a,0===rr&&pr(Ee)))),rr--,t===a&&0===rr&&pr(ye),t}function Er(){var t;return rr++,(t=function(){var t,r,n,o,s,c;if(t=Xt,e.substr(Xt,2)===v?(r=v,Xt+=2):(r=a,0===rr&&pr(Ce)),r!==a){for(n=[],o=Xt,s=Xt,rr++,e.substr(Xt,2)===A?(c=A,Xt+=2):(c=a,0===rr&&pr(Pe)),rr--,c===a?s=void 0:(Xt=s,s=a),s!==a&&(c=Ar())!==a?o=s=[s,c]:(Xt=o,o=a);o!==a;)n.push(o),o=Xt,s=Xt,rr++,e.substr(Xt,2)===A?(c=A,Xt+=2):(c=a,0===rr&&pr(Pe)),rr--,c===a?s=void 0:(Xt=s,s=a),s!==a&&(c=Ar())!==a?o=s=[s,c]:(Xt=o,o=a);e.substr(Xt,2)===A?(o=A,Xt+=2):(o=a,0===rr&&pr(Pe)),o!==a?t=r=[r,n,o]:(Xt=t,t=a)}else Xt=t,t=a;return t}())===a&&(t=Cr()),rr--,t===a&&0===rr&&pr(Te),t}function Tr(){var t,r,n,o,s,c;if(t=Xt,e.substr(Xt,2)===v?(r=v,Xt+=2):(r=a,0===rr&&pr(Ce)),r!==a){for(n=[],o=Xt,s=Xt,rr++,e.substr(Xt,2)===A?(c=A,Xt+=2):(c=a,0===rr&&pr(Pe)),c===a&&(c=Sr()),rr--,c===a?s=void 0:(Xt=s,s=a),s!==a&&(c=Ar())!==a?o=s=[s,c]:(Xt=o,o=a);o!==a;)n.push(o),o=Xt,s=Xt,rr++,e.substr(Xt,2)===A?(c=A,Xt+=2):(c=a,0===rr&&pr(Pe)),c===a&&(c=Sr()),rr--,c===a?s=void 0:(Xt=s,s=a),s!==a&&(c=Ar())!==a?o=s=[s,c]:(Xt=o,o=a);e.substr(Xt,2)===A?(o=A,Xt+=2):(o=a,0===rr&&pr(Pe)),o!==a?t=r=[r,n,o]:(Xt=t,t=a)}else Xt=t,t=a;return t}function Cr(){var t,r,n,o,s,c;if(t=Xt,e.substr(Xt,2)===y?(r=y,Xt+=2):(r=a,0===rr&&pr(we)),r!==a){for(n=[],o=Xt,s=Xt,rr++,c=Sr(),rr--,c===a?s=void 0:(Xt=s,s=a),s!==a&&(c=Ar())!==a?o=s=[s,c]:(Xt=o,o=a);o!==a;)n.push(o),o=Xt,s=Xt,rr++,c=Sr(),rr--,c===a?s=void 0:(Xt=s,s=a),s!==a&&(c=Ar())!==a?o=s=[s,c]:(Xt=o,o=a);t=r=[r,n]}else Xt=t,t=a;return t}function Pr(){var e,t,r,n;if(rr++,e=Xt,(t=wr())!==a){for(r=[],n=Rr();n!==a;)r.push(n),n=Rr();Kt=e,e=Ft(t,r)}else Xt=e,e=a;return rr--,e===a&&(t=a,0===rr&&pr(Re)),e}function wr(){var t,r,n;return t=e.charAt(Xt),Y.test(t)?Xt++:(t=a,0===rr&&pr(Le)),t===a&&(t=Xt,92===e.charCodeAt(Xt)?(r=S,Xt++):(r=a,0===rr&&pr(Fe)),r!==a&&(n=jr())!==a?t=n:(Xt=t,t=a)),t}function Rr(){var t;return(t=wr())===a&&(t=e.charAt(Xt),Q.test(t)?Xt++:(t=a,0===rr&&pr(Oe))),t}function Lr(){var t,r,n,o;if(rr++,t=Xt,34===e.charCodeAt(Xt)?(r=E,Xt++):(r=a,0===rr&&pr(Ie)),r!==a){for(n=[],o=Fr();o!==a;)n.push(o),o=Fr();34===e.charCodeAt(Xt)?(o=E,Xt++):(o=a,0===rr&&pr(Ie)),o!==a?(Kt=t,t=Bt(n)):(Xt=t,t=a)}else Xt=t,t=a;if(t===a)if(t=Xt,39===e.charCodeAt(Xt)?(r=T,Xt++):(r=a,0===rr&&pr(ke)),r!==a){for(n=[],o=Or();o!==a;)n.push(o),o=Or();39===e.charCodeAt(Xt)?(o=T,Xt++):(o=a,0===rr&&pr(ke)),o!==a?(Kt=t,t=Mt(n)):(Xt=t,t=a)}else Xt=t,t=a;return rr--,t===a&&(r=a,0===rr&&pr(De)),t}function Fr(){var t,r,n,o;return t=Xt,r=Xt,n=Xt,rr++,o=e.charAt(Xt),J.test(o)?Xt++:(o=a,0===rr&&pr(je)),rr--,o===a?n=void 0:(Xt=n,n=a),n!==a&&(o=Ar())!==a?r=n=[n,o]:(Xt=r,r=a),(t=r!==a?e.substring(t,Xt):r)===a&&(t=Xt,92===e.charCodeAt(Xt)?(r=S,Xt++):(r=a,0===rr&&pr(Fe)),r!==a&&(n=Ir())!==a?t=n:(Xt=t,t=a),t===a&&(t=Dr())),t}function Or(){var t,r,n,o;return t=Xt,r=Xt,n=Xt,rr++,o=e.charAt(Xt),X.test(o)?Xt++:(o=a,0===rr&&pr(Ne)),rr--,o===a?n=void 0:(Xt=n,n=a),n!==a&&(o=Ar())!==a?r=n=[n,o]:(Xt=r,r=a),(t=r!==a?e.substring(t,Xt):r)===a&&(t=Xt,92===e.charCodeAt(Xt)?(r=S,Xt++):(r=a,0===rr&&pr(Fe)),r!==a&&(n=Ir())!==a?t=n:(Xt=t,t=a),t===a&&(t=Dr())),t}function Br(){var t,r,n,o;return t=Xt,(r=Mr())!==a?(45===e.charCodeAt(Xt)?(n=R,Xt++):(n=a,0===rr&&pr(ze)),n!==a&&(o=Mr())!==a?(Kt=t,t=It(r,o)):(Xt=t,t=a)):(Xt=t,t=a),t}function Mr(){var t,r,n,o;return t=Xt,r=Xt,n=Xt,rr++,o=e.charAt(Xt),K.test(o)?Xt++:(o=a,0===rr&&pr(We)),rr--,o===a?n=void 0:(Xt=n,n=a),n!==a&&(o=Ar())!==a?r=n=[n,o]:(Xt=r,r=a),(t=r!==a?e.substring(t,Xt):r)===a&&(t=Xt,92===e.charCodeAt(Xt)?(r=S,Xt++):(r=a,0===rr&&pr(Fe)),r!==a&&(n=Ir())!==a?t=n:(Xt=t,t=a),t===a&&(t=Dr())),t}function Dr(){var t,r;return t=Xt,92===e.charCodeAt(Xt)?(r=S,Xt++):(r=a,0===rr&&pr(Fe)),r!==a&&_r()!==a?(Kt=t,t=kt()):(Xt=t,t=a),t}function Ir(){var t,r,n,o;return t=function(){var t;return(t=kr())===a&&(t=function(){var t,r,n,o;return t=Xt,r=Xt,n=Xt,rr++,o=function(){var t;return(t=kr())===a&&(t=e.charAt(Xt),ee.test(t)?Xt++:(t=a,0===rr&&pr(tt))),t}(),o===a&&(o=Sr()),rr--,o===a?n=void 0:(Xt=n,n=a),n!==a&&(o=Ar())!==a?r=n=[n,o]:(Xt=r,r=a),t=r!==a?e.substring(t,Xt):r}()),t}(),t===a&&(t=Xt,48===e.charCodeAt(Xt)?(r=L,Xt++):(r=a,0===rr&&pr(Ve)),r!==a?(n=Xt,rr++,o=Nr(),rr--,o===a?n=void 0:(Xt=n,n=a),n!==a?(Kt=t,t=jt()):(Xt=t,t=a)):(Xt=t,t=a),t===a&&(t=function(){var t,r,n,o,s,c;return t=Xt,120===e.charCodeAt(Xt)?(r=k,Xt++):(r=a,0===rr&&pr(rt)),r!==a?(n=Xt,o=Xt,(s=Ur())!==a&&(c=Ur())!==a?o=s=[s,c]:(Xt=o,o=a),(n=o!==a?e.substring(n,Xt):o)!==a?(Kt=t,t=Wt(n)):(Xt=t,t=a)):(Xt=t,t=a),t}(),t===a&&(t=jr()))),t}function kr(){var t,r;return t=e.charAt(Xt),Z.test(t)?Xt++:(t=a,0===rr&&pr(Ye)),t===a&&(t=Xt,98===e.charCodeAt(Xt)?(r=F,Xt++):(r=a,0===rr&&pr(Qe)),r!==a&&(Kt=t,r=Nt()),(t=r)===a&&(t=Xt,102===e.charCodeAt(Xt)?(r=O,Xt++):(r=a,0===rr&&pr(Je)),r!==a&&(Kt=t,r=Ut()),(t=r)===a&&(t=Xt,110===e.charCodeAt(Xt)?(r=B,Xt++):(r=a,0===rr&&pr(Xe)),r!==a&&(Kt=t,r=qt()),(t=r)===a&&(t=Xt,114===e.charCodeAt(Xt)?(r=M,Xt++):(r=a,0===rr&&pr(Ke)),r!==a&&(Kt=t,r=Gt()),(t=r)===a&&(t=Xt,116===e.charCodeAt(Xt)?(r=D,Xt++):(r=a,0===rr&&pr(Ze)),r!==a&&(Kt=t,r=Ht()),(t=r)===a&&(t=Xt,118===e.charCodeAt(Xt)?(r=I,Xt++):(r=a,0===rr&&pr(et)),r!==a&&(Kt=t,r=zt()),t=r)))))),t}function jr(){var t,r,n,o,s,c,i,u;return t=Xt,117===e.charCodeAt(Xt)?(r=j,Xt++):(r=a,0===rr&&pr(at)),r!==a?(n=Xt,o=Xt,(s=Ur())!==a&&(c=Ur())!==a&&(i=Ur())!==a&&(u=Ur())!==a?o=s=[s,c,i,u]:(Xt=o,o=a),(n=o!==a?e.substring(n,Xt):o)!==a?(Kt=t,t=Vt(n)):(Xt=t,t=a)):(Xt=t,t=a),t}function Nr(){var t;return t=e.charAt(Xt),te.test(t)?Xt++:(t=a,0===rr&&pr(nt)),t}function Ur(){var t;return t=e.charAt(Xt),re.test(t)?Xt++:(t=a,0===rr&&pr(ot)),t}function qr(){var t,r,n,o;return rr++,t=Xt,123===e.charCodeAt(Xt)?(r=c,Xt++):(r=a,0===rr&&pr(ne)),r!==a?(n=function(){var e,t;return e=Xt,t=Gr(),Kt=e,e=t=Qt(t)}(),125===e.charCodeAt(Xt)?(o=i,Xt++):(o=a,0===rr&&pr(oe)),o!==a?t=n:(Xt=t,t=a)):(Xt=t,t=a),rr--,t===a&&(r=a,0===rr&&pr(ct)),t}function Gr(){var t,r,n,o,s,u;if(t=Xt,r=[],n=[],o=Xt,s=Xt,rr++,u=e.charAt(Xt),ae.test(u)?Xt++:(u=a,0===rr&&pr(it)),rr--,u===a?s=void 0:(Xt=s,s=a),s!==a&&(u=Ar())!==a?o=s=[s,u]:(Xt=o,o=a),o!==a)for(;o!==a;)n.push(o),o=Xt,s=Xt,rr++,u=e.charAt(Xt),ae.test(u)?Xt++:(u=a,0===rr&&pr(it)),rr--,u===a?s=void 0:(Xt=s,s=a),s!==a&&(u=Ar())!==a?o=s=[s,u]:(Xt=o,o=a);else n=a;for(n===a&&(n=Xt,123===e.charCodeAt(Xt)?(o=c,Xt++):(o=a,0===rr&&pr(ne)),o!==a?(s=Gr(),125===e.charCodeAt(Xt)?(u=i,Xt++):(u=a,0===rr&&pr(oe)),u!==a?n=o=[o,s,u]:(Xt=n,n=a)):(Xt=n,n=a));n!==a;){if(r.push(n),n=[],o=Xt,s=Xt,rr++,u=e.charAt(Xt),ae.test(u)?Xt++:(u=a,0===rr&&pr(it)),rr--,u===a?s=void 0:(Xt=s,s=a),s!==a&&(u=Ar())!==a?o=s=[s,u]:(Xt=o,o=a),o!==a)for(;o!==a;)n.push(o),o=Xt,s=Xt,rr++,u=e.charAt(Xt),ae.test(u)?Xt++:(u=a,0===rr&&pr(it)),rr--,u===a?s=void 0:(Xt=s,s=a),s!==a&&(u=Ar())!==a?o=s=[s,u]:(Xt=o,o=a);else n=a;n===a&&(n=Xt,123===e.charCodeAt(Xt)?(o=c,Xt++):(o=a,0===rr&&pr(ne)),o!==a?(s=Gr(),125===e.charCodeAt(Xt)?(u=i,Xt++):(u=a,0===rr&&pr(oe)),u!==a?n=o=[o,s,u]:(Xt=n,n=a)):(Xt=n,n=a))}return e.substring(t,Xt)}function Hr(){var e,t;for(e=[],(t=yr())===a&&(t=_r())===a&&(t=Er());t!==a;)e.push(t),(t=yr())===a&&(t=_r())===a&&(t=Er());return e}function zr(){var t,r,n,o;if(t=[],r=Xt,n=Hr(),59===e.charCodeAt(Xt)?(o=U,Xt++):(o=a,0===rr&&pr(ut)),o!==a?r=n=[n,o]:(Xt=r,r=a),r!==a)for(;r!==a;)t.push(r),r=Xt,n=Hr(),59===e.charCodeAt(Xt)?(o=U,Xt++):(o=a,0===rr&&pr(ut)),o!==a?r=n=[n,o]:(Xt=r,r=a);else t=a;return t===a&&(t=Xt,r=function(){var e,t;for(e=[],(t=yr())===a&&(t=Tr());t!==a;)e.push(t),(t=yr())===a&&(t=Tr());return e}(),(n=Cr())===a&&(n=null),(o=_r())!==a?t=r=[r,n,o]:(Xt=t,t=a),t===a&&(t=Xt,r=Hr(),n=function(){var t,r;return t=Xt,rr++,e.length>Xt?(r=e.charAt(Xt),Xt++):(r=a,0===rr&&pr(xe)),rr--,r===a?t=void 0:(Xt=t,t=a),t}(),n!==a?t=r=[r,n]:(Xt=t,t=a))),t}var Wr=t.reservedWords||[];if((r=s())!==a&&Xt===e.length)return r;throw r!==a&&Xt0){for(t=1,r=1;t=16"},require$$2={name:name,version:version,description:description,keywords:keywords,homepage:homepage,repository:repository,bugs:bugs,license:license,author:author,main:main,browser:browser,unpkg:unpkg,jsdelivr:jsdelivr,types:types,bin:bin,scripts:scripts,devDependencies:devDependencies,dependencies:dependencies,engines:engines},sourceMap={},sourceMapGenerator={},base64Vlq={},base64$2={};const intToCharMap="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");base64$2.encode=function(e){if(0<=e&&e>>=VLQ_BASE_SHIFT,a>0&&(t|=VLQ_CONTINUATION_BIT),r+=base64$1.encode(t)}while(a>0);return r};var util$4={},urlBrowser=require$$0$1.URL;const URL$1=urlBrowser;function getArg(e,t,r){if(t in e)return e[t];if(3===arguments.length)return r;throw new Error('"'+t+'" is a required argument.')}util$4.getArg=getArg;const supportsNullProto=!("__proto__"in Object.create(null));function identity(e){return e}function toSetString(e){return isProtoString(e)?"$"+e:e}function fromSetString(e){return isProtoString(e)?e.slice(1):e}function isProtoString(e){if(!e)return!1;const t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(let r=t-10;r>=0;r--)if(36!==e.charCodeAt(r))return!1;return!0}function strcmp(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}function compareByGeneratedPositionsInflated(e,t){let r=e.generatedLine-t.generatedLine;return 0!==r?r:(r=e.generatedColumn-t.generatedColumn,0!==r?r:(r=strcmp(e.source,t.source),0!==r?r:(r=e.originalLine-t.originalLine,0!==r?r:(r=e.originalColumn-t.originalColumn,0!==r?r:strcmp(e.name,t.name)))))}function parseSourceMapInput(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))}util$4.toSetString=supportsNullProto?identity:toSetString,util$4.fromSetString=supportsNullProto?identity:fromSetString,util$4.compareByGeneratedPositionsInflated=compareByGeneratedPositionsInflated,util$4.parseSourceMapInput=parseSourceMapInput;const PROTOCOL="http:",PROTOCOL_AND_HOST=`${PROTOCOL}//host`;function createSafeHandler(e){return t=>{const r=getURLType(t),a=buildSafeBase(t),n=new URL$1(t,a);e(n);const o=n.toString();return"absolute"===r?o:"scheme-relative"===r?o.slice(PROTOCOL.length):"path-absolute"===r?o.slice(PROTOCOL_AND_HOST.length):computeRelativeURL(a,o)}}function withBase(e,t){return new URL$1(e,t).toString()}function buildUniqueSegment(e,t){let r=0;for(;;){const a=e+r++;if(-1===t.indexOf(a))return a}}function buildSafeBase(e){const t=e.split("..").length-1,r=buildUniqueSegment("p",e);let a=`${PROTOCOL_AND_HOST}/`;for(let e=0;e0&&!a[a.length-1]&&a.pop();r.length>0&&a.length>0&&r[0]===a[0];)r.shift(),a.shift();return a.map((()=>"..")).concat(r).join("/")+t.search+t.hash}const ensureDirectory=createSafeHandler((e=>{e.pathname=e.pathname.replace(/\/?$/,"/")})),trimFilename=createSafeHandler((e=>{e.href=new URL$1(".",e.toString()).toString()})),normalize=createSafeHandler((e=>{}));function join(e,t){const r=getURLType(t),a=getURLType(e);if(e=ensureDirectory(e),"absolute"===r)return withBase(t,void 0);if("absolute"===a)return withBase(t,e);if("scheme-relative"===r)return normalize(t);if("scheme-relative"===a)return withBase(t,withBase(e,PROTOCOL_AND_HOST)).slice(PROTOCOL.length);if("path-absolute"===r)return normalize(t);if("path-absolute"===a)return withBase(t,withBase(e,PROTOCOL_AND_HOST)).slice(PROTOCOL_AND_HOST.length);const n=buildSafeBase(t+e);return computeRelativeURL(n,withBase(t,withBase(e,n)))}function relative(e,t){const r=relativeIfPossible(e,t);return"string"==typeof r?r:normalize(t)}function relativeIfPossible(e,t){if(getURLType(e)!==getURLType(t))return null;const r=buildSafeBase(e+t),a=new URL$1(e,r),n=new URL$1(t,r);try{new URL$1("",n.toString())}catch(e){return null}return n.protocol!==a.protocol||n.user!==a.user||n.password!==a.password||n.hostname!==a.hostname||n.port!==a.port?null:computeRelativeURL(a,n)}function computeSourceURL(e,t,r){e&&"path-absolute"===getURLType(t)&&(t=t.replace(/^\//,""));let a=normalize(t||"");return e&&(a=join(e,a)),r&&(a=join(trimFilename(r),a)),a}util$4.normalize=normalize,util$4.join=join,util$4.relative=relative,util$4.computeSourceURL=computeSourceURL;var arraySet={};let ArraySet$2=class e{constructor(){this._array=[],this._set=new Map}static fromArray(t,r){const a=new e;for(let e=0,n=t.length;e=0)return t;throw new Error('"'+e+'" is not in the set.')}at(e){if(e>=0&&er||a==r&&o>=n||util$3.compareByGeneratedPositionsInflated(e,t)<=0}let MappingList$1=class{constructor(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}unsortedForEach(e,t){this._array.forEach(e,t)}add(e){generatedPositionAfter(this._last,e)?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))}toArray(){return this._sorted||(this._array.sort(util$3.compareByGeneratedPositionsInflated),this._sorted=!0),this._array}};mappingList.MappingList=MappingList$1;const base64VLQ=base64Vlq,util$2=util$4,ArraySet$1=arraySet.ArraySet,MappingList=mappingList.MappingList;let SourceMapGenerator$1=class e{constructor(e){e||(e={}),this._file=util$2.getArg(e,"file",null),this._sourceRoot=util$2.getArg(e,"sourceRoot",null),this._skipValidation=util$2.getArg(e,"skipValidation",!1),this._sources=new ArraySet$1,this._names=new ArraySet$1,this._mappings=new MappingList,this._sourcesContents=null}static fromSourceMap(t){const r=t.sourceRoot,a=new e({file:t.file,sourceRoot:r});return t.eachMapping((function(e){const t={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(t.source=e.source,null!=r&&(t.source=util$2.relative(r,t.source)),t.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(t.name=e.name)),a.addMapping(t)})),t.sources.forEach((function(e){let n=e;null!==r&&(n=util$2.relative(r,e)),a._sources.has(n)||a._sources.add(n);const o=t.sourceContentFor(e);null!=o&&a.setSourceContent(e,o)})),a}addMapping(e){const t=util$2.getArg(e,"generated"),r=util$2.getArg(e,"original",null);let a=util$2.getArg(e,"source",null),n=util$2.getArg(e,"name",null);this._skipValidation||this._validateMapping(t,r,a,n),null!=a&&(a=String(a),this._sources.has(a)||this._sources.add(a)),null!=n&&(n=String(n),this._names.has(n)||this._names.add(n)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:null!=r&&r.line,originalColumn:null!=r&&r.column,source:a,name:n})}setSourceContent(e,t){let r=e;null!=this._sourceRoot&&(r=util$2.relative(this._sourceRoot,r)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[util$2.toSetString(r)]=t):this._sourcesContents&&(delete this._sourcesContents[util$2.toSetString(r)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))}applySourceMap(e,t,r){let a=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');a=e.file}const n=this._sourceRoot;null!=n&&(a=util$2.relative(n,a));const o=this._mappings.toArray().length>0?new ArraySet$1:this._sources,s=new ArraySet$1;this._mappings.unsortedForEach((function(t){if(t.source===a&&null!=t.originalLine){const a=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=a.source&&(t.source=a.source,null!=r&&(t.source=util$2.join(r,t.source)),null!=n&&(t.source=util$2.relative(n,t.source)),t.originalLine=a.line,t.originalColumn=a.column,null!=a.name&&(t.name=a.name))}const c=t.source;null==c||o.has(c)||o.add(c);const i=t.name;null==i||s.has(i)||s.add(i)}),this),this._sources=o,this._names=s,e.sources.forEach((function(t){const a=e.sourceContentFor(t);null!=a&&(null!=r&&(t=util$2.join(r,t)),null!=n&&(t=util$2.relative(n,t)),this.setSourceContent(t,a))}),this)}_validateMapping(e,t,r,a){if(t&&"number"!=typeof t.line&&"number"!=typeof t.column)throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0&&!t&&!r&&!a);else if(!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&r))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:r,original:t,name:a}))}_serializeMappings(){let e,t,r,a,n=0,o=1,s=0,c=0,i=0,u=0,p="";const l=this._mappings.toArray();for(let f=0,g=l.length;f0){if(!util$2.compareByGeneratedPositionsInflated(t,l[f-1]))continue;e+=","}e+=base64VLQ.encode(t.generatedColumn-n),n=t.generatedColumn,null!=t.source&&(a=this._sources.indexOf(t.source),e+=base64VLQ.encode(a-u),u=a,e+=base64VLQ.encode(t.originalLine-1-c),c=t.originalLine-1,e+=base64VLQ.encode(t.originalColumn-s),s=t.originalColumn,null!=t.name&&(r=this._names.indexOf(t.name),e+=base64VLQ.encode(r-i),i=r)),p+=e}return p}_generateSourcesContent(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=util$2.relative(t,e));const r=util$2.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null}),this)}toJSON(){const e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e}toString(){return JSON.stringify(this.toJSON())}};SourceMapGenerator$1.prototype._version=3,sourceMapGenerator.SourceMapGenerator=SourceMapGenerator$1;var sourceMapConsumer={},binarySearch$1={};!function(e){function t(r,a,n,o,s,c){const i=Math.floor((a-r)/2)+r,u=s(n,o[i],!0);return 0===u?i:u>0?a-i>1?t(i,a,n,o,s,c):c==e.LEAST_UPPER_BOUND?a1?t(r,i,n,o,s,c):c==e.LEAST_UPPER_BOUND?i:r<0?-1:r}e.GREATEST_LOWER_BOUND=1,e.LEAST_UPPER_BOUND=2,e.search=function(r,a,n,o){if(0===a.length)return-1;let s=t(-1,a.length,r,a,n,o||e.GREATEST_LOWER_BOUND);if(s<0)return-1;for(;s-1>=0&&0===n(a[s],a[s-1],!0);)--s;return s}}(binarySearch$1);var readWasmBrowser={exports:{}};let mappingsWasm=null;readWasmBrowser.exports=function(){if("string"==typeof mappingsWasm)return fetch(mappingsWasm).then((e=>e.arrayBuffer()));if(mappingsWasm instanceof ArrayBuffer)return Promise.resolve(mappingsWasm);throw new Error("You must provide the string URL or ArrayBuffer contents of lib/mappings.wasm by calling SourceMapConsumer.initialize({ 'lib/mappings.wasm': ... }) before using SourceMapConsumer")},readWasmBrowser.exports.initialize=e=>{mappingsWasm=e};var readWasmBrowserExports=readWasmBrowser.exports;const readWasm$1=readWasmBrowserExports;function Mapping(){this.generatedLine=0,this.generatedColumn=0,this.lastGeneratedColumn=null,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}let cachedWasm=null;var wasm$1=function(){if(cachedWasm)return cachedWasm;const e=[];return cachedWasm=readWasm$1().then((t=>WebAssembly.instantiate(t,{env:{mapping_callback(t,r,a,n,o,s,c,i,u,p){const l=new Mapping;l.generatedLine=t+1,l.generatedColumn=r,a&&(l.lastGeneratedColumn=n-1),o&&(l.source=s,l.originalLine=c+1,l.originalColumn=i,u&&(l.name=p)),e[e.length-1](l)},start_all_generated_locations_for(){console.time("all_generated_locations_for")},end_all_generated_locations_for(){console.timeEnd("all_generated_locations_for")},start_compute_column_spans(){console.time("compute_column_spans")},end_compute_column_spans(){console.timeEnd("compute_column_spans")},start_generated_location_for(){console.time("generated_location_for")},end_generated_location_for(){console.timeEnd("generated_location_for")},start_original_location_for(){console.time("original_location_for")},end_original_location_for(){console.timeEnd("original_location_for")},start_parse_mappings(){console.time("parse_mappings")},end_parse_mappings(){console.timeEnd("parse_mappings")},start_sort_by_generated_location(){console.time("sort_by_generated_location")},end_sort_by_generated_location(){console.timeEnd("sort_by_generated_location")},start_sort_by_original_location(){console.time("sort_by_original_location")},end_sort_by_original_location(){console.timeEnd("sort_by_original_location")}}}))).then((t=>({exports:t.instance.exports,withMappingCallback:(t,r)=>{e.push(t);try{r()}finally{e.pop()}}}))).then(null,(e=>{throw cachedWasm=null,e})),cachedWasm};const util$1=util$4,binarySearch=binarySearch$1,ArraySet=arraySet.ArraySet,readWasm=readWasmBrowserExports,wasm=wasm$1,INTERNAL=Symbol("smcInternal");let SourceMapConsumer$1=class e{constructor(e,t){return e==INTERNAL?Promise.resolve(this):_factory(e,t)}static initialize(e){readWasm.initialize(e["lib/mappings.wasm"])}static fromSourceMap(e,t){return _factoryBSM(e,t)}static async with(t,r,a){const n=await new e(t,r);try{return await a(n)}finally{n.destroy()}}eachMapping(e,t,r){throw new Error("Subclasses must implement eachMapping")}allGeneratedPositionsFor(e){throw new Error("Subclasses must implement allGeneratedPositionsFor")}destroy(){throw new Error("Subclasses must implement destroy")}};SourceMapConsumer$1.prototype._version=3,SourceMapConsumer$1.GENERATED_ORDER=1,SourceMapConsumer$1.ORIGINAL_ORDER=2,SourceMapConsumer$1.GREATEST_LOWER_BOUND=1,SourceMapConsumer$1.LEAST_UPPER_BOUND=2,sourceMapConsumer.SourceMapConsumer=SourceMapConsumer$1;class BasicSourceMapConsumer extends SourceMapConsumer$1{constructor(e,t){return super(INTERNAL).then((r=>{let a=e;"string"==typeof e&&(a=util$1.parseSourceMapInput(e));const n=util$1.getArg(a,"version"),o=util$1.getArg(a,"sources").map(String),s=util$1.getArg(a,"names",[]),c=util$1.getArg(a,"sourceRoot",null),i=util$1.getArg(a,"sourcesContent",null),u=util$1.getArg(a,"mappings"),p=util$1.getArg(a,"file",null);if(n!=r._version)throw new Error("Unsupported version: "+n);return r._sourceLookupCache=new Map,r._names=ArraySet.fromArray(s.map(String),!0),r._sources=ArraySet.fromArray(o,!0),r._absoluteSources=ArraySet.fromArray(r._sources.toArray().map((function(e){return util$1.computeSourceURL(c,e,t)})),!0),r.sourceRoot=c,r.sourcesContent=i,r._mappings=u,r._sourceMapURL=t,r.file=p,r._computedColumnSpans=!1,r._mappingsPtr=0,r._wasm=null,wasm().then((e=>(r._wasm=e,r)))}))}_findSourceIndex(e){const t=this._sourceLookupCache.get(e);if("number"==typeof t)return t;const r=util$1.computeSourceURL(null,e,this._sourceMapURL);if(this._absoluteSources.has(r)){const t=this._absoluteSources.indexOf(r);return this._sourceLookupCache.set(e,t),t}const a=util$1.computeSourceURL(this.sourceRoot,e,this._sourceMapURL);if(this._absoluteSources.has(a)){const t=this._absoluteSources.indexOf(a);return this._sourceLookupCache.set(e,t),t}return-1}static fromSourceMap(e,t){return new BasicSourceMapConsumer(e.toString())}get sources(){return this._absoluteSources.toArray()}_getMappingsPtr(){return 0===this._mappingsPtr&&this._parseMappings(),this._mappingsPtr}_parseMappings(){const e=this._mappings,t=e.length,r=this._wasm.exports.allocate_mappings(t),a=new Uint8Array(this._wasm.exports.memory.buffer,r,t);for(let r=0;r{null!==t.source&&(t.source=this._absoluteSources.at(t.source),null!==t.name&&(t.name=this._names.at(t.name))),this._computedColumnSpans&&null===t.lastGeneratedColumn&&(t.lastGeneratedColumn=1/0),e.call(a,t)}),(()=>{switch(n){case SourceMapConsumer$1.GENERATED_ORDER:this._wasm.exports.by_generated_location(this._getMappingsPtr());break;case SourceMapConsumer$1.ORIGINAL_ORDER:this._wasm.exports.by_original_location(this._getMappingsPtr());break;default:throw new Error("Unknown order of iteration.")}}))}allGeneratedPositionsFor(e){let t=util$1.getArg(e,"source");const r=util$1.getArg(e,"line"),a=e.column||0;if(t=this._findSourceIndex(t),t<0)return[];if(r<1)throw new Error("Line numbers must be >= 1");if(a<0)throw new Error("Column numbers must be >= 0");const n=[];return this._wasm.withMappingCallback((e=>{let t=e.lastGeneratedColumn;this._computedColumnSpans&&null===t&&(t=1/0),n.push({line:e.generatedLine,column:e.generatedColumn,lastColumn:t})}),(()=>{this._wasm.exports.all_generated_locations_for(this._getMappingsPtr(),t,r-1,"column"in e,a)})),n}destroy(){0!==this._mappingsPtr&&(this._wasm.exports.free_mappings(this._mappingsPtr),this._mappingsPtr=0)}computeColumnSpans(){this._computedColumnSpans||(this._wasm.exports.compute_column_spans(this._getMappingsPtr()),this._computedColumnSpans=!0)}originalPositionFor(e){const t={generatedLine:util$1.getArg(e,"line"),generatedColumn:util$1.getArg(e,"column")};if(t.generatedLine<1)throw new Error("Line numbers must be >= 1");if(t.generatedColumn<0)throw new Error("Column numbers must be >= 0");let r,a=util$1.getArg(e,"bias",SourceMapConsumer$1.GREATEST_LOWER_BOUND);if(null==a&&(a=SourceMapConsumer$1.GREATEST_LOWER_BOUND),this._wasm.withMappingCallback((e=>r=e),(()=>{this._wasm.exports.original_location_for(this._getMappingsPtr(),t.generatedLine-1,t.generatedColumn,a)})),r&&r.generatedLine===t.generatedLine){let e=util$1.getArg(r,"source",null);null!==e&&(e=this._absoluteSources.at(e));let t=util$1.getArg(r,"name",null);return null!==t&&(t=this._names.at(t)),{source:e,line:util$1.getArg(r,"originalLine",null),column:util$1.getArg(r,"originalColumn",null),name:t}}return{source:null,line:null,column:null,name:null}}hasContentsOfAllSources(){return!!this.sourcesContent&&this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some((function(e){return null==e}))}sourceContentFor(e,t){if(!this.sourcesContent)return null;const r=this._findSourceIndex(e);if(r>=0)return this.sourcesContent[r];if(t)return null;throw new Error('"'+e+'" is not in the SourceMap.')}generatedPositionFor(e){let t=util$1.getArg(e,"source");if(t=this._findSourceIndex(t),t<0)return{line:null,column:null,lastColumn:null};const r={source:t,originalLine:util$1.getArg(e,"line"),originalColumn:util$1.getArg(e,"column")};if(r.originalLine<1)throw new Error("Line numbers must be >= 1");if(r.originalColumn<0)throw new Error("Column numbers must be >= 0");let a,n=util$1.getArg(e,"bias",SourceMapConsumer$1.GREATEST_LOWER_BOUND);if(null==n&&(n=SourceMapConsumer$1.GREATEST_LOWER_BOUND),this._wasm.withMappingCallback((e=>a=e),(()=>{this._wasm.exports.generated_location_for(this._getMappingsPtr(),r.source,r.originalLine-1,r.originalColumn,n)})),a&&a.source===r.source){let e=a.lastGeneratedColumn;return this._computedColumnSpans&&null===e&&(e=1/0),{line:util$1.getArg(a,"generatedLine",null),column:util$1.getArg(a,"generatedColumn",null),lastColumn:e}}return{line:null,column:null,lastColumn:null}}}BasicSourceMapConsumer.prototype.consumer=SourceMapConsumer$1,sourceMapConsumer.BasicSourceMapConsumer=BasicSourceMapConsumer;class IndexedSourceMapConsumer extends SourceMapConsumer$1{constructor(e,t){return super(INTERNAL).then((r=>{let a=e;"string"==typeof e&&(a=util$1.parseSourceMapInput(e));const n=util$1.getArg(a,"version"),o=util$1.getArg(a,"sections");if(n!=r._version)throw new Error("Unsupported version: "+n);let s={line:-1,column:0};return Promise.all(o.map((e=>{if(e.url)throw new Error("Support for url field in sections not implemented.");const r=util$1.getArg(e,"offset"),a=util$1.getArg(r,"line"),n=util$1.getArg(r,"column");if(a({generatedOffset:{generatedLine:a+1,generatedColumn:n+1},consumer:e})))}))).then((e=>(r._sections=e,r)))}))}get sources(){const e=[];for(let t=0;t=0?this._sections[t]:null,a=t>=0&&t+1=0?this._sections[t]:null,a=t>=0&&t+1{const t=r.generatedOffset.generatedLine-1,n=r.generatedOffset.generatedColumn-1;return 1===e.line&&(e.column+=n,"number"==typeof e.lastColumn&&(e.lastColumn+=n)),e.lastColumn===1/0&&a&&e.line===a.generatedOffset.generatedLine&&(e.lastColumn=a.generatedOffset.generatedColumn-2),e.line+=t,e})):[]}eachMapping(e,t,r){this._sections.forEach(((a,n)=>{const o=n+1=0;t--)this.prepend(e[t]);else{if(!e[isSourceNode]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this}walk(e){let t;for(let r=0,a=this.children.length;r0){for(t=[],r=0;r start -> leftRecursion -> duplicatedRule)"])}}))}))}));var chai$f=require$$0,parser$2=parser$4,compiler=compiler_1,expect$f=chai$f.expect;describe("Peggy compiler",(function(){it("checks start rules",(function(){var e=parser$2.parse("foo='1'");expect$f(compiler.compile(e,compiler.passes)).to.be.an("object"),expect$f((function(){return compiler.compile(e,compiler.passes,{allowedStartRules:null})})).to.throw("allowedStartRules must be an array"),expect$f((function(){return compiler.compile(e,compiler.passes,{allowedStartRules:[]})})).to.throw("Must have at least one start rule"),expect$f((function(){return compiler.compile(e,compiler.passes,{allowedStartRules:["bar"]})})).to.throw('Unknown start rule "bar"')})),it("checks output type",(function(){var e=parser$2.parse("foo='1'");expect$f(compiler.compile(e,compiler.passes,{output:"source"})).to.be.a("string"),expect$f((function(){return compiler.compile(e,compiler.passes,{output:"INVALID OUTPUT TYPE"})})).to.throw("Invalid output format: INVALID OUTPUT TYPE.")})),it("generates inline sourceMappingURL",(function(){var e=parser$2.parse("foo='1'");if(expect$f(e).to.be.an("object"),"function"==typeof TextEncoder&&(expect$f(compiler.compile(e,compiler.passes,{output:"source-with-inline-map",grammarSource:"src.peggy"})).to.match(/^\/\/# sourceMappingURL=data:application\/json;charset=utf-8;base64,/m),"object"==typeof globalThis)){var t=globalThis.TextEncoder;delete globalThis.TextEncoder,expect$f((function(){return compiler.compile(e,compiler.passes,{output:"source-with-inline-map",grammarSource:"src.peggy"})})).to.throw("TextEncoder is not supported by this platform"),globalThis.TextEncoder=t}})),it("requires grammarSource with source-map",(function(){var e=parser$2.parse("foo='1'");expect$f(e).to.be.an("object"),expect$f((function(){return compiler.compile(e,compiler.passes,{output:"source-and-map"})})).to.throw("Must provide grammarSource (as a string or GrammarLocation) in order to generate source maps"),expect$f((function(){return compiler.compile(e,compiler.passes,{output:"source-and-map",grammarSource:""})})).to.throw("Must provide grammarSource (as a string or GrammarLocation) in order to generate source maps"),"function"==typeof TextEncoder&&expect$f((function(){return compiler.compile(e,compiler.passes,{output:"source-with-inline-map",grammarSource:{toString:function(){return""}}})})).to.throw("Must provide grammarSource (as a string or GrammarLocation) in order to generate source maps")}))}));var __spreadArray$1=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var a,n=0,o=t.length;n start)",location:{source:void 0,start:{offset:0,line:1,column:1},end:{offset:5,line:1,column:6}}})})),it("reports indirect left recursion",(function(){expect$6(pass$2).to.reportError(["start = stop","stop = start"].join("\n"),{message:"Possible infinite loop when parsing (left recursion: start -> stop -> start)",location:{source:void 0,start:{offset:0,line:1,column:1},end:{offset:5,line:1,column:6}}})})),describe("in sequences",(function(){it("reports left recursion if all preceding elements match empty string",(function(){expect$6(pass$2).to.reportError("start = '' '' '' start")})),it("doesn't report left recursion if some preceding element doesn't match empty string",(function(){expect$6(pass$2).to.not.reportError("start = 'a' '' '' start"),expect$6(pass$2).to.not.reportError("start = '' 'a' '' start"),expect$6(pass$2).to.not.reportError("start = '' '' 'a' start")})),it("reports left recursion when rule reference is wrapped in an expression",(function(){expect$6(pass$2).to.reportError("start = '' start?")})),it("computes expressions that always consume input on success correctly",(function(){expect$6(pass$2).to.reportError(["start = a start","a 'a' = ''"].join("\n")),expect$6(pass$2).to.not.reportError(["start = a start","a 'a' = 'a'"].join("\n")),expect$6(pass$2).to.reportError("start = ('' / 'a' / 'b') start"),expect$6(pass$2).to.reportError("start = ('a' / '' / 'b') start"),expect$6(pass$2).to.reportError("start = ('a' / 'b' / '') start"),expect$6(pass$2).to.not.reportError("start = ('a' / 'b' / 'c') start"),expect$6(pass$2).to.reportError("start = ('' { }) start"),expect$6(pass$2).to.not.reportError("start = ('a' { }) start"),expect$6(pass$2).to.reportError("start = ('' '' '') start"),expect$6(pass$2).to.not.reportError("start = ('a' '' '') start"),expect$6(pass$2).to.not.reportError("start = ('' 'a' '') start"),expect$6(pass$2).to.not.reportError("start = ('' '' 'a') start"),expect$6(pass$2).to.reportError("start = a:'' start"),expect$6(pass$2).to.not.reportError("start = a:'a' start"),expect$6(pass$2).to.reportError("start = $'' start"),expect$6(pass$2).to.not.reportError("start = $'a' start"),expect$6(pass$2).to.reportError("start = &'' start"),expect$6(pass$2).to.reportError("start = &'a' start"),expect$6(pass$2).to.reportError("start = !'' start"),expect$6(pass$2).to.reportError("start = !'a' start"),expect$6(pass$2).to.reportError("start = ''? start"),expect$6(pass$2).to.reportError("start = 'a'? start"),expect$6(pass$2).to.reportError("start = ''* start"),expect$6(pass$2).to.reportError("start = 'a'* start"),expect$6(pass$2).to.reportError("start = ''+ start"),expect$6(pass$2).to.not.reportError("start = 'a'+ start"),expect$6(pass$2).to.reportError("start = ''| .. | start"),expect$6(pass$2).to.reportError("start = ''|0.. | start"),expect$6(pass$2).to.reportError("start = ''|1.. | start"),expect$6(pass$2).to.reportError("start = ''|2.. | start"),expect$6(pass$2).to.reportError("start = ''| ..1| start"),expect$6(pass$2).to.reportError("start = ''| ..3| start"),expect$6(pass$2).to.reportError("start = ''|2..3| start"),expect$6(pass$2).to.reportError("start = ''| 42 | start"),expect$6(pass$2).to.reportError("start = 'a'| .. | start"),expect$6(pass$2).to.reportError("start = 'a'|0.. | start"),expect$6(pass$2).to.not.reportError("start = 'a'|1.. | start"),expect$6(pass$2).to.not.reportError("start = 'a'|2.. | start"),expect$6(pass$2).to.reportError("start = 'a'| ..1| start"),expect$6(pass$2).to.reportError("start = 'a'| ..3| start"),expect$6(pass$2).to.not.reportError("start = 'a'|2..3| start"),expect$6(pass$2).to.not.reportError("start = 'a'| 42 | start"),expect$6(pass$2).to.reportError("start = ('') start"),expect$6(pass$2).to.not.reportError("start = ('a') start"),expect$6(pass$2).to.reportError("start = &{ } start"),expect$6(pass$2).to.reportError("start = !{ } start"),expect$6(pass$2).to.reportError(["start = a start","a = ''"].join("\n")),expect$6(pass$2).to.not.reportError(["start = a start","a = 'a'"].join("\n")),expect$6(pass$2).to.reportError("start = '' start"),expect$6(pass$2).to.not.reportError("start = 'a' start"),expect$6(pass$2).to.not.reportError("start = [a-d] start"),expect$6(pass$2).to.not.reportError("start = . start")}))})),describe("in repeated with delimiter",(function(){it("doesn't report left recursion for delimiter if expression not match empty string",(function(){expect$6(pass$2).to.not.reportError("start = 'a'| .. , start|"),expect$6(pass$2).to.not.reportError("start = 'a'|0.. , start|"),expect$6(pass$2).to.not.reportError("start = 'a'|1.. , start|"),expect$6(pass$2).to.not.reportError("start = 'a'|2.. , start|"),expect$6(pass$2).to.not.reportError("start = 'a'| ..3, start|"),expect$6(pass$2).to.not.reportError("start = 'a'|2..3, start|"),expect$6(pass$2).to.not.reportError("start = 'a'| 42 , start|")})),it("reports left recursion for delimiter if expression match empty string",(function(){expect$6(pass$2).to.reportError("start = ''| .. , start|"),expect$6(pass$2).to.reportError("start = ''|0.. , start|"),expect$6(pass$2).to.reportError("start = ''|1.. , start|"),expect$6(pass$2).to.reportError("start = ''|2.. , start|"),expect$6(pass$2).to.reportError("start = ''| ..3, start|"),expect$6(pass$2).to.reportError("start = ''|2..3, start|"),expect$6(pass$2).to.reportError("start = ''| 42 , start|")}))}))}));var chai$5=require$$0,helpers$1=helpers$a,pass$1=reportInfiniteRepetition_1;chai$5.use(helpers$1);var expect$5=chai$5.expect;describe("compiler pass |reportInfiniteRepetition|",(function(){it("reports infinite loops for zero_or_more",(function(){expect$5(pass$1).to.reportError("start = ('')*",{message:"Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:13,line:1,column:14}}})})),it("reports infinite loops for one_or_more",(function(){expect$5(pass$1).to.reportError("start = ('')+",{message:"Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:13,line:1,column:14}}})})),describe("reports infinite loops for repeated",(function(){describe("without delimiter",(function(){it("with constant boundaries",(function(){expect$5(pass$1).to.reportError("start = ('')|..|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:16,line:1,column:17}}}),expect$5(pass$1).to.reportError("start = ('')|0..|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:17,line:1,column:18}}}),expect$5(pass$1).to.reportError("start = ('')|1..|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:17,line:1,column:18}}}),expect$5(pass$1).to.reportError("start = ('')|2..|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:17,line:1,column:18}}}),expect$5(pass$1).to.not.reportError("start = ('')| ..1|"),expect$5(pass$1).to.not.reportError("start = ('')| ..3|"),expect$5(pass$1).to.not.reportError("start = ('')|2..3|"),expect$5(pass$1).to.not.reportError("start = ('')| 42 |")})),it("with variable boundaries",(function(){expect$5(pass$1).to.reportError("start = ('')|len..|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:19,line:1,column:20}}}),expect$5(pass$1).to.not.reportError("start = ('')|..len|"),expect$5(pass$1).to.not.reportError("start = ('')|len1..len2|"),expect$5(pass$1).to.not.reportError("start = ('')|len|")})),it("with function boundaries",(function(){expect$5(pass$1).to.reportError("start = ('')|{}..|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:18,line:1,column:19}}}),expect$5(pass$1).to.not.reportError("start = ('')|..{}|"),expect$5(pass$1).to.not.reportError("start = ('')|{}..{}|"),expect$5(pass$1).to.not.reportError("start = ('')|{}|")}))})),describe("with empty delimiter",(function(){it("with constant boundaries",(function(){expect$5(pass$1).to.reportError("start = ('')| .., ''|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:21,line:1,column:22}}}),expect$5(pass$1).to.reportError("start = ('')|0.., ''|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:21,line:1,column:22}}}),expect$5(pass$1).to.reportError("start = ('')|1.., ''|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:21,line:1,column:22}}}),expect$5(pass$1).to.reportError("start = ('')|2.., ''|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:21,line:1,column:22}}}),expect$5(pass$1).to.not.reportError("start = ('')| ..1, ''|"),expect$5(pass$1).to.not.reportError("start = ('')| ..3, ''|"),expect$5(pass$1).to.not.reportError("start = ('')|2..3, ''|"),expect$5(pass$1).to.not.reportError("start = ('')| 42 , ''|")})),it("with variable boundaries",(function(){expect$5(pass$1).to.reportError("start = ('')|len.., ''|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:23,line:1,column:24}}}),expect$5(pass$1).to.not.reportError("start = ('')|..len, ''|"),expect$5(pass$1).to.not.reportError("start = ('')|len1..len2, ''|"),expect$5(pass$1).to.not.reportError("start = ('')|len, ''|")})),it("with function boundaries",(function(){expect$5(pass$1).to.reportError("start = ('')|{}.., ''|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:22,line:1,column:23}}}),expect$5(pass$1).to.not.reportError("start = ('')|..{}, ''|"),expect$5(pass$1).to.not.reportError("start = ('')|{}..{}, ''|"),expect$5(pass$1).to.not.reportError("start = ('')|{}, ''|")}))})),describe("with non-empty delimiter",(function(){it("with constant boundaries",(function(){expect$5(pass$1).to.not.reportError("start = ('')| .., 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')|0.., 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')|1.., 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')|2.., 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')| ..1, 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')| ..3, 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')|2..3, 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')| 42 , 'a'|")})),it("with variable boundaries",(function(){expect$5(pass$1).to.not.reportError("start = ('')|len.., 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')|..len, 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')|len1..len2, 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')|len, 'a'|")})),it("with function boundaries",(function(){expect$5(pass$1).to.not.reportError("start = ('')|{}.., 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')|..{}, 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')|{}..{}, 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')|{}, 'a'|")}))}))})),it("computes expressions that always consume input on success correctly",(function(){expect$5(pass$1).to.reportError(["start = a*","a 'a' = ''"].join("\n")),expect$5(pass$1).to.not.reportError(["start = a*","a 'a' = 'a'"].join("\n")),expect$5(pass$1).to.reportError("start = ('' / 'a' / 'b')*"),expect$5(pass$1).to.reportError("start = ('a' / '' / 'b')*"),expect$5(pass$1).to.reportError("start = ('a' / 'b' / '')*"),expect$5(pass$1).to.not.reportError("start = ('a' / 'b' / 'c')*"),expect$5(pass$1).to.reportError("start = ('' { })*"),expect$5(pass$1).to.not.reportError("start = ('a' { })*"),expect$5(pass$1).to.reportError("start = ('' '' '')*"),expect$5(pass$1).to.not.reportError("start = ('a' '' '')*"),expect$5(pass$1).to.not.reportError("start = ('' 'a' '')*"),expect$5(pass$1).to.not.reportError("start = ('' '' 'a')*"),expect$5(pass$1).to.reportError("start = (a:'')*"),expect$5(pass$1).to.not.reportError("start = (a:'a')*"),expect$5(pass$1).to.reportError("start = ($'')*"),expect$5(pass$1).to.not.reportError("start = ($'a')*"),expect$5(pass$1).to.reportError("start = (&'')*"),expect$5(pass$1).to.reportError("start = (&'a')*"),expect$5(pass$1).to.reportError("start = (!'')*"),expect$5(pass$1).to.reportError("start = (!'a')*"),expect$5(pass$1).to.reportError("start = (''?)*"),expect$5(pass$1).to.reportError("start = ('a'?)*"),expect$5(pass$1).to.reportError("start = (''*)*"),expect$5(pass$1).to.reportError("start = ('a'*)*"),expect$5(pass$1).to.reportError("start = (''+)*"),expect$5(pass$1).to.not.reportError("start = ('a'+)*"),expect$5(pass$1).to.reportError("start = ('')*"),expect$5(pass$1).to.not.reportError("start = ('a')*"),expect$5(pass$1).to.reportError("start = (&{ })*"),expect$5(pass$1).to.reportError("start = (!{ })*"),expect$5(pass$1).to.reportError("start = 'a'|.., ('')*|"),expect$5(pass$1).to.not.reportError("start = 'a'|.., ('b')*|"),expect$5(pass$1).to.reportError(["start = a*","a = ''"].join("\n")),expect$5(pass$1).to.not.reportError(["start = a*","a = 'a'"].join("\n")),expect$5(pass$1).to.reportError("start = ''*"),expect$5(pass$1).to.not.reportError("start = 'a'*"),expect$5(pass$1).to.not.reportError("start = [a-d]*"),expect$5(pass$1).to.not.reportError("start = .*")}))}));var chai$4=require$$0,helpers=helpers$a,pass=reportUndefinedRules_1;chai$4.use(helpers);var expect$4=chai$4.expect;describe("compiler pass |reportUndefinedRules|",(function(){it("reports undefined rules",(function(){expect$4(pass).to.reportError("start = undefined",{message:'Rule "undefined" is not defined',location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:17,line:1,column:18}}})}))}));var chai$3=require$$0,Stack=stack,expect$3=chai$3.expect;describe("utility class Stack",(function(){describe("for an empty stack",(function(){var e=void 0;beforeEach((function(){e=new Stack("rule","v","let",[42])})),describe("throws an error when attempting",(function(){it("`pop`",(function(){expect$3((function(){return e.pop()})).to.throw(RangeError,"Rule 'rule': The variable stack underflow: attempt to use a variable 'v' at an index -1.\nBytecode: 42")})),it("`top`",(function(){expect$3((function(){return e.top()})).to.throw(RangeError,"Rule 'rule': The variable stack underflow: attempt to use a variable 'v' at an index -1.\nBytecode: 42")})),it("`result`",(function(){expect$3((function(){return e.result()})).to.throw(RangeError,"Rule 'rule': The variable stack is empty, can't get the result")})),it("`index`",(function(){expect$3((function(){return e.index(-2)})).to.throw(RangeError,"Rule 'rule': The variable stack overflow: attempt to get a variable at a negative index -2.\nBytecode: 42"),expect$3((function(){return e.index(0)})).to.throw(RangeError,"Rule 'rule': The variable stack underflow: attempt to use a variable 'v' at an index -1.\nBytecode: 42"),expect$3((function(){return e.index(2)})).to.throw(RangeError,"Rule 'rule': The variable stack underflow: attempt to use a variable 'v' at an index -3.\nBytecode: 42")})),it("`sourceMapPop`",(function(){expect$3((function(){return e.sourceMapPop()})).to.throw(RangeError,"Rule 'rule': Attempting to pop an empty source map stack.\nBytecode: 42")}))})),it("`defines` returns an empty string",(function(){expect$3(e.defines()).to.equal("")}))})),it("throws an error when attempting `pop` more than `push`",(function(){var e=new Stack("rule","v","let",[42]);e.push("1"),expect$3((function(){return e.pop(3)})).to.throw(RangeError,"Rule 'rule': The variable stack underflow: attempt to use a variable 'v' at an index -2.\nBytecode: 42")})),it("returns a variable with an index 0 for `result`",(function(){var e=new Stack("rule","v","let",[]);e.push("1"),expect$3(e.result()).to.equal("v0")})),it("`defines` returns a define expression for all used variables",(function(){var e=new Stack("rule","v","let",[]);e.push("1"),e.push("2"),e.pop(),e.push("3"),expect$3(e.defines()).to.equal("let v0, v1;")})),describe("`checkedIf` method",(function(){var e=void 0;beforeEach((function(){(e=new Stack("rule","v","let",[42])).push("1")})),describe("does not throws an error",(function(){it("without the else brach",(function(){expect$3((function(){return e.checkedIf(0,(function(){}))})).to.not.throw(),expect$3((function(){return e.checkedIf(0,(function(){return e.pop()}))})).to.not.throw(),expect$3((function(){return e.checkedIf(0,(function(){return e.push("2")}))})).to.not.throw()})),describe("when the stack pointer",(function(){it("was not moving in both the arms",(function(){function t(){}function r(){e.push("1"),e.pop()}function a(){e.push("1"),e.push("2"),e.pop(2)}function n(){e.push("1"),e.pop(),e.push("2"),e.pop()}expect$3((function(){return e.checkedIf(0,t,t)})).to.not.throw(),expect$3((function(){return e.checkedIf(0,r,r)})).to.not.throw(),expect$3((function(){return e.checkedIf(0,a,a)})).to.not.throw(),expect$3((function(){return e.checkedIf(0,n,n)})).to.not.throw()})),it("increases on the same value in both the arms",(function(){expect$3((function(){return e.checkedIf(0,(function(){return e.push("1")}),(function(){return e.push("2")}))})).to.not.throw()})),it("decreases on the same value in both the arms",(function(){e.push("2"),expect$3((function(){return e.checkedIf(0,(function(){return e.pop(2)}),(function(){e.pop(),e.pop()}))})).to.not.throw()}))}))})),describe("throws an error when the stack pointer",(function(){it("was not moving in `if` and decreases in `then`",(function(){expect$3((function(){e.checkedIf(0,(function(){}),(function(){return e.pop()}))})).to.throw(Error,"Rule 'rule', position 0: Branches of a condition can't move the stack pointer differently (before: 0, after then: 0, after else: -1). Bytecode: 42")})),it("decreases in `if` and was not moving in `then`",(function(){expect$3((function(){e.checkedIf(0,(function(){return e.pop()}),(function(){}))})).to.throw(Error,"Rule 'rule', position 0: Branches of a condition can't move the stack pointer differently (before: 0, after then: -1, after else: 0). Bytecode: 42")})),it("was not moving in `if` and increases in `then`",(function(){expect$3((function(){e.checkedIf(0,(function(){}),(function(){return e.push("2")}))})).to.throw(Error,"Rule 'rule', position 0: Branches of a condition can't move the stack pointer differently (before: 0, after then: 0, after else: 1). Bytecode: 42")})),it("increases in `if` and was not moving in `then`",(function(){expect$3((function(){e.checkedIf(0,(function(){return e.push("2")}),(function(){}))})).to.throw(Error,"Rule 'rule', position 0: Branches of a condition can't move the stack pointer differently (before: 0, after then: 1, after else: 0). Bytecode: 42")})),it("decreases in `if` and increases in `then`",(function(){expect$3((function(){e.checkedIf(0,(function(){return e.pop()}),(function(){return e.push("2")}))})).to.throw(Error,"Rule 'rule', position 0: Branches of a condition can't move the stack pointer differently (before: 0, after then: -1, after else: 1). Bytecode: 42")})),it("increases in `if` and decreases in `then`",(function(){expect$3((function(){e.checkedIf(0,(function(){return e.push("2")}),(function(){return e.pop()}))})).to.throw(Error,"Rule 'rule', position 0: Branches of a condition can't move the stack pointer differently (before: 0, after then: 1, after else: -1). Bytecode: 42")}))}))})),describe("`checkedLoop` method",(function(){var e=void 0;beforeEach((function(){(e=new Stack("rule","v","let",[42])).push("1")})),it("does not throws an error when the stack pointer was not moving",(function(){function t(){}function r(){e.push("1"),e.pop()}function a(){e.push("1"),e.push("2"),e.pop(2)}function n(){e.push("1"),e.pop(),e.push("2"),e.pop()}expect$3((function(){return e.checkedLoop(0,t)})).to.not.throw(),expect$3((function(){return e.checkedLoop(0,r)})).to.not.throw(),expect$3((function(){return e.checkedLoop(0,a)})).to.not.throw(),expect$3((function(){return e.checkedLoop(0,n)})).to.not.throw()})),it("throws an error when the stack pointer increases",(function(){expect$3((function(){return e.checkedLoop(0,(function(){return e.push("1")}))})).to.throw(Error,"Rule 'rule', position 0: Body of a loop can't move the stack pointer (before: 0, after: 1). Bytecode: 42")})),it("throws an error when the stack pointer decreases",(function(){expect$3((function(){return e.checkedLoop(0,(function(){return e.pop()}))})).to.throw(Error,"Rule 'rule', position 0: Body of a loop can't move the stack pointer (before: 0, after: -1). Bytecode: 42")}))})),describe("SourceNode handling",(function(){it("sourceNode handles unknown column",(function(){expect$3(Stack.sourceNode({source:"",start:{line:1,column:0,offset:0},end:{line:1,column:0,offset:0}},["foo"],"test").column).to.equal(null)}))}))}));var chai$2=require$$0,_a$1=utils$1,hex=_a$1.hex,stringEscape=_a$1.stringEscape,regexpClassEscape=_a$1.regexpClassEscape,base64=_a$1.base64,expect$2=chai$2.expect;describe("utility functions",(function(){it("hex",(function(){expect$2(hex("0")).to.equal("30"),expect$2(hex("\0")).to.equal("0"),expect$2(hex("\n")).to.equal("A"),expect$2(hex("\ufeff")).to.equal("FEFF")})),it("stringEscape",(function(){expect$2(stringEscape("abc")).to.equal("abc"),expect$2(stringEscape('\\"\0\b\t\n\v\f\r')).to.equal('\\\\\\"\\0\\b\\t\\n\\v\\f\\r'),expect$2(stringEscape("")).to.equal("\\x01\\x0F"),expect$2(stringEscape("")).to.equal("\\x10\\x1F\\x7F"),expect$2(stringEscape("Ā࿿")).to.equal("\\u0100\\u0FFF"),expect$2(stringEscape("က￿")).to.equal("\\u1000\\uFFFF")})),it("regexpClassEscape",(function(){expect$2(regexpClassEscape("\\\0\b\t\n\v\f\r")).to.equal("\\\\\\0\\b\\t\\n\\v\\f\\r"),expect$2(regexpClassEscape("/]^-")).to.equal("\\/\\]\\^\\-"),expect$2(regexpClassEscape("")).to.equal("\\x01\\x0F"),expect$2(regexpClassEscape("")).to.equal("\\x10\\x1F\\x7F"),expect$2(regexpClassEscape("Ā࿿")).to.equal("\\u0100\\u0FFF"),expect$2(regexpClassEscape("က￿")).to.equal("\\u1000\\uFFFF")})),it("base64",(function(){expect$2(base64(new Uint8Array([]))).to.equal(""),expect$2(base64(new Uint8Array([97]))).to.equal("YQ=="),expect$2(base64(new Uint8Array([97,98]))).to.equal("YWI="),expect$2(base64(new Uint8Array([97,98,99]))).to.equal("YWJj"),expect$2(base64(new Uint8Array([97,98,99,100]))).to.equal("YWJjZA=="),expect$2(base64(new Uint8Array([97,98,99,100,101]))).to.equal("YWJjZGU="),expect$2(base64(new Uint8Array([97,98,99,100,101,102]))).to.equal("YWJjZGVm")}))}));var chai$1=require$$0,_a=peg_1,GrammarError=_a.GrammarError,GrammarLocation=_a.GrammarLocation,expect$1=chai$1.expect,location={source:void 0,start:{offset:0,line:1,column:1},end:{offset:4,line:1,column:5}};describe("Grammar Errors",(function(){it("might not have a location",(function(){var e=new GrammarError("message");expect$1(e.location).to.equal(void 0),expect$1(e.toString()).to.equal("GrammarError: message")})),it("might have locations",(function(){location.source=void 0;var e=new GrammarError("message",location);expect$1(e.location).to.eql(location),expect$1(e.toString()).to.equal("GrammarError: message\n at 1:1"),e=new GrammarError("message",null,[{message:"Subinfo",location:location}]),expect$1(e.location).to.equal(null),expect$1(e.toString()).to.equal("GrammarError: message\n from 1:1: Subinfo"),location.source="foo.peggy",e=new GrammarError("message",location,[{message:"Subinfo",location:location}]),expect$1(e.toString()).to.equal("GrammarError: message\n at foo.peggy:1:1\n from foo.peggy:1:1: Subinfo")})),describe("formats",(function(){var e={source:"foo.peggy",text:"some error\nthat"},t={source:"foo.peggy",start:{offset:5,line:1,column:6},end:{offset:11,line:2,column:1}},r=[{message:"Subinfo",location:t}];describe("single problem",(function(){describe("with main location",(function(){location.source="foo.peggy";var t=new GrammarError("message",location,r);it("with zero-length error at the end",(function(){var t=new GrammarError("message",{source:"foo.peggy",start:{offset:4,line:1,column:5},end:{offset:4,line:1,column:5}});expect$1(t.format([e])).to.equal("error: message\n --\x3e foo.peggy:1:5\n |\n1 | some error\n | ^")})),it("with source",(function(){expect$1(t.format([e])).to.equal("error: message\n --\x3e foo.peggy:1:1\n |\n1 | some error\n | ^^^^\nnote: Subinfo\n --\x3e foo.peggy:1:6\n |\n1 | some error\n | ^^^^^")})),it("without source",(function(){expect$1(t.format([])).to.equal("error: message\n at foo.peggy:1:1\n at foo.peggy:1:6: Subinfo")}))})),describe("without main location",(function(){var t=new GrammarError("message",null,r);it("with source",(function(){expect$1(t.format([e])).to.equal("error: message\nnote: Subinfo\n --\x3e foo.peggy:1:6\n |\n1 | some error\n | ^^^^^")})),it("without source",(function(){expect$1(t.format([])).to.equal("error: message\n at foo.peggy:1:6: Subinfo")}))}))})),describe("several problems",(function(){describe("with main location",(function(){location.source="foo.peggy";var a=new GrammarError("message",location,r);a.problems.push(["warning","Warning message",t,[{message:"Warning Subinfo",location:t}]]),a.problems.push(["info","Info message",null,[]]),it("null source text",(function(){expect$1(a.format([{source:null,text:null}])).to.equal("error: message\n at foo.peggy:1:1\n at foo.peggy:1:6: Subinfo\n\nwarning: Warning message\n at foo.peggy:1:6\n at foo.peggy:1:6: Warning Subinfo"),expect$1(a.format([{source:null,text:void 0}])).to.equal("error: message\n at foo.peggy:1:1\n at foo.peggy:1:6: Subinfo\n\nwarning: Warning message\n at foo.peggy:1:6\n at foo.peggy:1:6: Warning Subinfo")})),it("with source",(function(){expect$1(a.format([e])).to.equal("error: message\n --\x3e foo.peggy:1:1\n |\n1 | some error\n | ^^^^\nnote: Subinfo\n --\x3e foo.peggy:1:6\n |\n1 | some error\n | ^^^^^\n\nwarning: Warning message\n --\x3e foo.peggy:1:6\n |\n1 | some error\n | ^^^^^\nnote: Warning Subinfo\n --\x3e foo.peggy:1:6\n |\n1 | some error\n | ^^^^^")})),it("with GrammarLocation",(function(){var r=new GrammarLocation("foo.peggy",{offset:12,line:15,column:8});expect$1(String(r)).to.equal("foo.peggy"),location.source=r,t.source=r,a.diagnostics.push({message:"Column not offset",location:{source:r,start:{offset:11,line:2,column:1},end:{offset:15,line:2,column:5}}}),expect$1(a.format([{source:r,text:e.text}])).to.equal("error: message\n --\x3e foo.peggy:15:8\n |\n15 | some error\n | ^^^^\nnote: Subinfo\n --\x3e foo.peggy:15:13\n |\n15 | some error\n | ^^^^^\nnote: Column not offset\n --\x3e foo.peggy:16:1\n |\n16 | that\n | ^^^^\n\nwarning: Warning message\n --\x3e foo.peggy:15:13\n |\n15 | some error\n | ^^^^^\nnote: Warning Subinfo\n --\x3e foo.peggy:15:13\n |\n15 | some error\n | ^^^^^"),location.source="foo.peggy",t.source="foo.peggy",a.diagnostics.pop()})),it("without source",(function(){expect$1(a.format([])).to.equal("error: message\n at foo.peggy:1:1\n at foo.peggy:1:6: Subinfo\n\nwarning: Warning message\n at foo.peggy:1:6\n at foo.peggy:1:6: Warning Subinfo")}))})),describe("without main location",(function(){var a=new GrammarError("message",null,r);a.problems.push(["warning","Warning message",null,[{message:"Warning Subinfo",location:t}]]),a.problems.push(["info","Info message",null,[]]),it("with source",(function(){expect$1(a.format([e])).to.equal("error: message\nnote: Subinfo\n --\x3e foo.peggy:1:6\n |\n1 | some error\n | ^^^^^\n\nwarning: Warning message\nnote: Warning Subinfo\n --\x3e foo.peggy:1:6\n |\n1 | some error\n | ^^^^^")})),it("without source",(function(){expect$1(a.format([])).to.equal("error: message\n at foo.peggy:1:6: Subinfo\n\nwarning: Warning message\n at foo.peggy:1:6: Warning Subinfo")}))}))}))}))}));var __spreadArray=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var a,n=0,o=t.length;n1&&e.delimiter&&o(e.delimiter)))},semantic_and:n,semantic_not:n,rule_ref:function(t){var r=asts$7.findRule(e,t.name);return r?o(r):void 0},literal:function(e){return""!==e.value},class:r,any:r});return o(t)}},asts_1=asts$7,opcodes={PUSH:0,PUSH_EMPTY_STRING:35,PUSH_UNDEFINED:1,PUSH_NULL:2,PUSH_FAILED:3,PUSH_EMPTY_ARRAY:4,PUSH_CURR_POS:5,POP:6,POP_CURR_POS:7,POP_N:8,NIP:9,APPEND:10,WRAP:11,TEXT:12,PLUCK:36,IF:13,IF_ERROR:14,IF_NOT_ERROR:15,IF_LT:30,IF_GE:31,IF_LT_DYNAMIC:32,IF_GE_DYNAMIC:33,WHILE_NOT_ERROR:16,MATCH_ANY:17,MATCH_STRING:18,MATCH_STRING_IC:19,MATCH_CHAR_CLASS:20,MATCH_REGEXP:20,ACCEPT_N:21,ACCEPT_STRING:22,FAIL:23,LOAD_SAVED_POS:24,UPDATE_SAVED_POS:25,CALL:26,RULE:27,SILENT_FAILS_ON:28,SILENT_FAILS_OFF:29,SOURCE_MAP_PUSH:37,SOURCE_MAP_POP:38,SOURCE_MAP_LABEL_PUSH:39,SOURCE_MAP_LABEL_POP:40},opcodes_1=opcodes,visitor$a=visitor_1,asts$6=asts_1,GrammarError$2=grammarError,ALWAYS_MATCH$1=1,SOMETIMES_MATCH$1=0,NEVER_MATCH$1=-1;function inferenceMatchResult$1(e){function t(e){return e.match=SOMETIMES_MATCH$1}function r(e){return u(e.expression),e.match=ALWAYS_MATCH$1}function n(e){return e.match=u(e.expression)}function o(e,t){for(var r=e.length,n=0,o=0,a=0;a0?NEVER_MATCH$1:SOMETIMES_MATCH$1}var u=visitor$a.build({rule:function(e){var t=void 0,r=0;if(void 0===e.match){e.match=SOMETIMES_MATCH$1;do{if(t=e.match,e.match=u(e.expression),++r>6)throw new GrammarError$2("Infinity cycle detected when trying to evaluate node match result",e.location)}while(t!==e.match)}return e.match},named:n,choice:function(e){return e.match=o(e.alternatives,!0)},action:n,sequence:function(e){return e.match=o(e.elements,!1)},labeled:n,text:n,simple_and:n,simple_not:function(e){return e.match=-u(e.expression)},optional:r,zero_or_more:r,one_or_more:n,repeated:function(e){var t=u(e.expression),r=e.delimiter?u(e.delimiter):NEVER_MATCH$1,n=e.min?e.min:e.max;return"constant"!==n.type||"constant"!==e.max.type?e.match=SOMETIMES_MATCH$1:0===e.max.value||null!==e.max.value&&n.value>e.max.value?e.match=NEVER_MATCH$1:t===NEVER_MATCH$1?e.match=0===n.value?ALWAYS_MATCH$1:NEVER_MATCH$1:t===ALWAYS_MATCH$1?e.delimiter&&n.value>=2?e.match=r:e.match=ALWAYS_MATCH$1:e.delimiter&&n.value>=2?e.match=r===NEVER_MATCH$1?NEVER_MATCH$1:SOMETIMES_MATCH$1:e.match=0===n.value?ALWAYS_MATCH$1:SOMETIMES_MATCH$1},group:n,semantic_and:t,semantic_not:t,rule_ref:function(t){var r=asts$6.findRule(e,t.name);return t.match=u(r)},literal:function(e){var t=0===e.value.length?ALWAYS_MATCH$1:SOMETIMES_MATCH$1;return e.match=t},class:function(e){var t=0===e.parts.length?NEVER_MATCH$1:SOMETIMES_MATCH$1;return e.match=t},any:t});u(e)}inferenceMatchResult$1.ALWAYS_MATCH=ALWAYS_MATCH$1,inferenceMatchResult$1.SOMETIMES_MATCH=SOMETIMES_MATCH$1,inferenceMatchResult$1.NEVER_MATCH=NEVER_MATCH$1;var inferenceMatchResult_1=inferenceMatchResult$1,__spreadArray$3=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var n,o=0,u=t.length;o1?h(SOMETIMES_MATCH,[op$1.IF_ERROR],f([op$1.POP],e(t.slice(1),r)),[]):[])}(e.alternatives,t)},action:function(e,t){var r=p(t.env),n="sequence"!==e.expression.type||0===e.expression.elements.length,o=C(e.expression,{sp:t.sp+(n?1:0),env:r,action:e}),u=0|e.expression.match,a=n&&u!==NEVER_MATCH?c(!1,Object.keys(r),e):null;return n?f([op$1.PUSH_CURR_POS],o,h(u,[op$1.IF_NOT_ERROR],f([op$1.LOAD_SAVED_POS,1],d(a,1,r,t.sp+2)),[]),[op$1.NIP]):o},sequence:function(e,t){return f([op$1.PUSH_CURR_POS],function t(r,n){if(r.length>0){var o=e.elements.length-r.length+1;return f(C(r[0],{sp:n.sp,env:n.env,pluck:n.pluck,action:null}),h(0|r[0].match,[op$1.IF_NOT_ERROR],t(r.slice(1),{sp:n.sp+1,env:n.env,pluck:n.pluck,action:n.action}),f(o>1?[op$1.POP_N,o]:[op$1.POP],[op$1.POP_CURR_POS],[op$1.PUSH_FAILED])))}if(n.pluck.length>0)return f([op$1.PLUCK,e.elements.length+1,n.pluck.length],n.pluck.map((function(e){return n.sp-e})));if(n.action){var u=c(!1,Object.keys(n.env),n.action);return f([op$1.LOAD_SAVED_POS,e.elements.length],d(u,e.elements.length+1,n.env,n.sp))}return f([op$1.WRAP,e.elements.length],[op$1.NIP])}(e.elements,{sp:t.sp+1,env:t.env,pluck:[],action:t.action}))},labeled:function(e,r){var n=r.env,o=e.label,u=r.sp+1;o&&(n=p(r.env),r.env[e.label]=u),e.pick&&r.pluck.push(u);var a=C(e.expression,{sp:r.sp,env:n,action:null});return o&&e.labelLocation&&t&&"source-and-map"===t.output?f([op$1.SOURCE_MAP_LABEL_PUSH,u,i(o),l(e.labelLocation)],a,[op$1.SOURCE_MAP_LABEL_POP,u]):a},text:function(e,t){return f([op$1.PUSH_CURR_POS],C(e.expression,{sp:t.sp+1,env:p(t.env),action:null}),h(0|e.match,[op$1.IF_NOT_ERROR],f([op$1.POP],[op$1.TEXT]),[op$1.NIP]))},simple_and:function(e,t){return g(e.expression,!1,t)},simple_not:function(e,t){return g(e.expression,!0,t)},optional:function(e,t){return f(C(e.expression,{sp:t.sp,env:p(t.env),action:null}),h(-(0|e.expression.match),[op$1.IF_ERROR],f([op$1.POP],[op$1.PUSH_NULL]),[]))},zero_or_more:function(e,t){var r=C(e.expression,{sp:t.sp+1,env:p(t.env),action:null});return f([op$1.PUSH_EMPTY_ARRAY],r,m(r),[op$1.POP])},one_or_more:function(e,t){var r=C(e.expression,{sp:t.sp+1,env:p(t.env),action:null});return f([op$1.PUSH_EMPTY_ARRAY],r,h(0|e.expression.match,[op$1.IF_NOT_ERROR],f(m(r),[op$1.POP]),f([op$1.POP],[op$1.POP],[op$1.PUSH_FAILED])))},repeated:function(e,t){var r=e.min?e.min:e.max,n="constant"!==r.type||r.value>0,o="constant"!==e.max.type&&null!==e.max.value,u=n?2:1,a=e.min?E(e.min,t.env,t.sp,2+("function"===e.max.type?1:0)):{pre:[],post:[],sp:t.sp},i=E(e.max,t.env,a.sp,u),s=C(e.expression,{sp:i.sp+u,env:p(t.env),action:null}),c=null!==e.delimiter?C(e.expression,{sp:i.sp+u+1,env:p(t.env),action:null}):s,l=function(e,t,r,n,o){return e?f([op$1.PUSH_CURR_POS],C(e,{sp:n.sp+o+1,env:p(n.env),action:null}),h(0|e.match,[op$1.IF_NOT_ERROR],f([op$1.POP],r,h(-t,[op$1.IF_ERROR],[op$1.POP,op$1.POP_CURR_POS,op$1.PUSH_FAILED],[op$1.NIP])),[op$1.NIP])):r}(e.delimiter,0|e.expression.match,c,t,u),d=_(l,e.max),g=o?_(s,e.max):s,A=f(n?[op$1.PUSH_CURR_POS]:[],[op$1.PUSH_EMPTY_ARRAY],g,m(d),[op$1.POP]);return f(a.pre,i.pre,n?function(e,t){var r="constant"===t.type?[op$1.IF_LT,t.value]:[op$1.IF_LT_DYNAMIC,t.sp];return f(e,h(SOMETIMES_MATCH,r,[op$1.POP,op$1.POP_CURR_POS,op$1.PUSH_FAILED],[op$1.NIP]))}(A,r):A,i.post,a.post)},group:function(e,t){return C(e.expression,{sp:t.sp,env:p(t.env),action:null})},semantic_and:function(e,t){return A(e,!1,t)},semantic_not:function(e,t){return A(e,!0,t)},rule_ref:function(t){return[op$1.RULE,asts$5.indexOfRule(e,t.name)]},literal:function(e){if(e.value.length>0){var t=0|e.match,r=t===SOMETIMES_MATCH||t===ALWAYS_MATCH&&!e.ignoreCase?i(e.ignoreCase?e.value.toLowerCase():e.value):null,n=t!==ALWAYS_MATCH?s({type:"literal",value:e.value,ignoreCase:e.ignoreCase}):null;return h(t,e.ignoreCase?[op$1.MATCH_STRING_IC,r]:[op$1.MATCH_STRING,r],e.ignoreCase?[op$1.ACCEPT_N,e.value.length]:[op$1.ACCEPT_STRING,r],[op$1.FAIL,n])}return[op$1.PUSH_EMPTY_STRING]},class:function(e){var t=0|e.match,r=t===SOMETIMES_MATCH?function(e){var t={value:e.parts,inverted:e.inverted,ignoreCase:e.ignoreCase},r=JSON.stringify(t),o=n.findIndex((function(e){return JSON.stringify(e)===r}));return-1===o?n.push(t)-1:o}(e):null,o=t!==ALWAYS_MATCH?s({type:"class",value:e.parts,inverted:e.inverted,ignoreCase:e.ignoreCase}):null;return h(t,[op$1.MATCH_CHAR_CLASS,r],[op$1.ACCEPT_N,1],[op$1.FAIL,o])},any:function(e){var t=0|e.match,r=t!==ALWAYS_MATCH?s({type:"any"}):null;return h(t,[op$1.MATCH_ANY],[op$1.ACCEPT_N,1],[op$1.FAIL,r])}},t&&"source-and-map"===t.output&&Object.entries(v).forEach((function(e){var t=e[0],r=e[1];v[t]=function(e){for(var t=[],n=1;n>>=VLQ_BASE_SHIFT,n>0&&(t|=VLQ_CONTINUATION_BIT),r+=base64$2.encode(t)}while(n>0);return r};var util$3={};function getArg(e,t,r){if(t in e)return e[t];if(3===arguments.length)return r;throw new Error('"'+t+'" is a required argument.')}util$3.getArg=getArg;const supportsNullProto=!("__proto__"in Object.create(null));function identity(e){return e}function toSetString(e){return isProtoString(e)?"$"+e:e}function fromSetString(e){return isProtoString(e)?e.slice(1):e}function isProtoString(e){if(!e)return!1;const t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(let r=t-10;r>=0;r--)if(36!==e.charCodeAt(r))return!1;return!0}function strcmp(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}function compareByGeneratedPositionsInflated(e,t){let r=e.generatedLine-t.generatedLine;return 0!==r?r:(r=e.generatedColumn-t.generatedColumn,0!==r?r:(r=strcmp(e.source,t.source),0!==r?r:(r=e.originalLine-t.originalLine,0!==r?r:(r=e.originalColumn-t.originalColumn,0!==r?r:strcmp(e.name,t.name)))))}util$3.toSetString=supportsNullProto?identity:toSetString,util$3.fromSetString=supportsNullProto?identity:fromSetString,util$3.compareByGeneratedPositionsInflated=compareByGeneratedPositionsInflated;const PROTOCOL="http:",PROTOCOL_AND_HOST=`${PROTOCOL}//host`;function createSafeHandler(e){return t=>{const r=getURLType(t),n=buildSafeBase(t),o=new URL(t,n);e(o);const u=o.toString();return"absolute"===r?u:"scheme-relative"===r?u.slice(PROTOCOL.length):"path-absolute"===r?u.slice(PROTOCOL_AND_HOST.length):computeRelativeURL(n,u)}}function withBase(e,t){return new URL(e,t).toString()}function buildUniqueSegment(e,t){let r=0;for(;;){const n=e+r++;if(-1===t.indexOf(n))return n}}function buildSafeBase(e){const t=e.split("..").length-1,r=buildUniqueSegment("p",e);let n=`${PROTOCOL_AND_HOST}/`;for(let e=0;e0&&!n[n.length-1]&&n.pop();r.length>0&&n.length>0&&r[0]===n[0];)r.shift(),n.shift();return n.map((()=>"..")).concat(r).join("/")+t.search+t.hash}const ensureDirectory=createSafeHandler((e=>{e.pathname=e.pathname.replace(/\/?$/,"/")})),normalize=createSafeHandler((e=>{}));function join(e,t){const r=getURLType(t),n=getURLType(e);if(e=ensureDirectory(e),"absolute"===r)return withBase(t,void 0);if("absolute"===n)return withBase(t,e);if("scheme-relative"===r)return normalize(t);if("scheme-relative"===n)return withBase(t,withBase(e,PROTOCOL_AND_HOST)).slice(PROTOCOL.length);if("path-absolute"===r)return normalize(t);if("path-absolute"===n)return withBase(t,withBase(e,PROTOCOL_AND_HOST)).slice(PROTOCOL_AND_HOST.length);const o=buildSafeBase(t+e);return computeRelativeURL(o,withBase(t,withBase(e,o)))}function relative(e,t){const r=relativeIfPossible(e,t);return"string"==typeof r?r:normalize(t)}function relativeIfPossible(e,t){if(getURLType(e)!==getURLType(t))return null;const r=buildSafeBase(e+t),n=new URL(e,r),o=new URL(t,r);try{new URL("",o.toString())}catch(e){return null}return o.protocol!==n.protocol||o.user!==n.user||o.password!==n.password||o.hostname!==n.hostname||o.port!==n.port?null:computeRelativeURL(n,o)}util$3.normalize=normalize,util$3.join=join,util$3.relative=relative;var arraySet={};let ArraySet$1=class e{constructor(){this._array=[],this._set=new Map}static fromArray(t,r){const n=new e;for(let e=0,o=t.length;e=0)return t;throw new Error('"'+e+'" is not in the set.')}at(e){if(e>=0&&er||n==r&&u>=o||util$2.compareByGeneratedPositionsInflated(e,t)<=0}let MappingList$1=class{constructor(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}unsortedForEach(e,t){this._array.forEach(e,t)}add(e){generatedPositionAfter(this._last,e)?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))}toArray(){return this._sorted||(this._array.sort(util$2.compareByGeneratedPositionsInflated),this._sorted=!0),this._array}};mappingList.MappingList=MappingList$1;const base64VLQ=base64Vlq,util$1=util$3,ArraySet=arraySet.ArraySet,MappingList=mappingList.MappingList;let SourceMapGenerator$1=class e{constructor(e){e||(e={}),this._file=util$1.getArg(e,"file",null),this._sourceRoot=util$1.getArg(e,"sourceRoot",null),this._skipValidation=util$1.getArg(e,"skipValidation",!1),this._sources=new ArraySet,this._names=new ArraySet,this._mappings=new MappingList,this._sourcesContents=null}static fromSourceMap(t){const r=t.sourceRoot,n=new e({file:t.file,sourceRoot:r});return t.eachMapping((function(e){const t={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(t.source=e.source,null!=r&&(t.source=util$1.relative(r,t.source)),t.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(t.name=e.name)),n.addMapping(t)})),t.sources.forEach((function(e){let o=e;null!=r&&(o=util$1.relative(r,e)),n._sources.has(o)||n._sources.add(o);const u=t.sourceContentFor(e);null!=u&&n.setSourceContent(e,u)})),n}addMapping(e){const t=util$1.getArg(e,"generated"),r=util$1.getArg(e,"original",null);let n=util$1.getArg(e,"source",null),o=util$1.getArg(e,"name",null);this._skipValidation||this._validateMapping(t,r,n,o),null!=n&&(n=String(n),this._sources.has(n)||this._sources.add(n)),null!=o&&(o=String(o),this._names.has(o)||this._names.add(o)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:r&&r.line,originalColumn:r&&r.column,source:n,name:o})}setSourceContent(e,t){let r=e;null!=this._sourceRoot&&(r=util$1.relative(this._sourceRoot,r)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[util$1.toSetString(r)]=t):this._sourcesContents&&(delete this._sourcesContents[util$1.toSetString(r)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))}applySourceMap(e,t,r){let n=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');n=e.file}const o=this._sourceRoot;null!=o&&(n=util$1.relative(o,n));const u=this._mappings.toArray().length>0?new ArraySet:this._sources,a=new ArraySet;this._mappings.unsortedForEach((function(t){if(t.source===n&&null!=t.originalLine){const n=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=n.source&&(t.source=n.source,null!=r&&(t.source=util$1.join(r,t.source)),null!=o&&(t.source=util$1.relative(o,t.source)),t.originalLine=n.line,t.originalColumn=n.column,null!=n.name&&(t.name=n.name))}const i=t.source;null==i||u.has(i)||u.add(i);const s=t.name;null==s||a.has(s)||a.add(s)}),this),this._sources=u,this._names=a,e.sources.forEach((function(t){const n=e.sourceContentFor(t);null!=n&&(null!=r&&(t=util$1.join(r,t)),null!=o&&(t=util$1.relative(o,t)),this.setSourceContent(t,n))}),this)}_validateMapping(e,t,r,n){if(t&&"number"!=typeof t.line&&"number"!=typeof t.column)throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0&&!t&&!r&&!n);else if(!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&r))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:r,original:t,name:n}))}_serializeMappings(){let e,t,r,n,o=0,u=1,a=0,i=0,s=0,c=0,l="";const p=this._mappings.toArray();for(let f=0,h=p.length;f0){if(!util$1.compareByGeneratedPositionsInflated(t,p[f-1]))continue;e+=","}e+=base64VLQ.encode(t.generatedColumn-o),o=t.generatedColumn,null!=t.source&&(n=this._sources.indexOf(t.source),e+=base64VLQ.encode(n-c),c=n,e+=base64VLQ.encode(t.originalLine-1-i),i=t.originalLine-1,e+=base64VLQ.encode(t.originalColumn-a),a=t.originalColumn,null!=t.name&&(r=this._names.indexOf(t.name),e+=base64VLQ.encode(r-s),s=r)),l+=e}return l}_generateSourcesContent(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=util$1.relative(t,e));const r=util$1.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null}),this)}toJSON(){const e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e}toString(){return JSON.stringify(this.toJSON())}};SourceMapGenerator$1.prototype._version=3,sourceMapGenerator.SourceMapGenerator=SourceMapGenerator$1;var sourceNode={};const SourceMapGenerator=sourceMapGenerator.SourceMapGenerator,util=util$3,REGEX_NEWLINE=/(\r?\n)/,NEWLINE_CODE=10,isSourceNode="$$$isSourceNode$$$";let SourceNode$2=class e{constructor(e,t,r,n,o){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==t?null:t,this.source=null==r?null:r,this.name=null==o?null:o,this[isSourceNode]=!0,null!=n&&this.add(n)}static fromStringWithSourceMap(t,r,n){const o=new e,u=t.split(REGEX_NEWLINE);let a=0;const i=function(){return e()+(e()||"");function e(){return a=0;t--)this.prepend(e[t]);else{if(!e[isSourceNode]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this}walk(e){let t;for(let r=0,n=this.children.length;r0){for(t=[],r=0;r' at an index ").concat(e,".\nBytecode: ").concat(this.bytecode));return this.varName+e},e.sourceNode=function(e,t,r){var n=GrammarLocation$2.offsetStart(e);return new SourceNode$1(n.line,n.column?n.column-1:null,String(e.source),t,r)},e.prototype.push=function(t){++this.sp>this.maxSp&&(this.maxSp=this.sp);var r=this.labels[this.sp],n=[this.name(this.sp)," = ",t,";"];if(r){if(this.sourceMapStack.length){var o=e.sourceNode(r.location,n.splice(0,2),r.label),u=this.sourceMapPopInternal(),a=u.parts,i=u.location,s=i.start.offsett.end.offset&&(r[2]={start:t.end,end:r[2].end,source:r[2].source})}this.sourceMapStack.push([e,e.length,t])},e.prototype.sourceMapPopInternal=function(){var e=this.sourceMapStack.pop(),t=e[0],r=e[1],n=e[2],o=t.splice(r).map((function(e){return e instanceof SourceNode$1?e:e+"\n"}));if(o.length){var u=GrammarLocation$2.offsetStart(n);t.push(new SourceNode$1(u.line,u.column-1,String(n.source),o))}return{parts:t,location:n}},e.prototype.sourceMapPop=function(e){var t=this.sourceMapPopInternal().location;if(this.sourceMapStack.length&&t.end.offset>2],o+=t[(3&e[u])<<4|e[u+1]>>4],o+=t[(15&e[u+1])<<2|e[u+2]>>6],o+=t[63&e[u+2]];return 1===r?(o+=t[e[n]>>2],o+=t[(3&e[n])<<4],o+="=="):2===r&&(o+=t[e[n]>>2],o+=t[(3&e[n])<<4|e[n+1]>>4],o+=t[(15&e[n+1])<<2],o+="="),o}utils.hex=hex,utils.stringEscape=stringEscape$1,utils.regexpClassEscape=regexpClassEscape$1,utils.base64=base64$1;var __spreadArray$2=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var n,o=0,u=t.length;o0&&(t.forEach((function(e){o.push("var "+e+' = require("'+stringEscape(s[e])+'");')})),o.push("")),o.push(e,"","module.exports = "+n()+";"),o},es:function(){var n=Object.keys(s),o=r();return o.push(""),n.length>0&&(n.forEach((function(e){o.push("import "+e+' from "'+stringEscape(s[e])+'";')})),o.push("")),o.push(e,"","export {"," peg$SyntaxError as SyntaxError,",t.trace?" peg$DefaultTracer as DefaultTracer,":""," peg$parse as parse","};"),o},amd:function(){var t=Object.keys(s),o="["+t.map((function(e){return s[e]})).map((function(e){return'"'+stringEscape(e)+'"'})).join(", ")+"]",u=t.join(", ");return __spreadArray$2(__spreadArray$2([],r(),!0),["define("+o+", function("+u+") {",' "use strict";',"",e,"",c("return "+n()+";"),"});"],!1)},globals:function(){return __spreadArray$2(__spreadArray$2([],r(),!0),["(function(root) {",' "use strict";',"",e,"",c("root."+t.exportVar+" = "+n()+";"),"})(this);"],!1)},umd:function(){var o=Object.keys(s),u=o.map((function(e){return s[e]})),a="["+u.map((function(e){return'"'+stringEscape(e)+'"'})).join(", ")+"]",i=u.map((function(e){return'require("'+stringEscape(e)+'")'})).join(", "),l=o.join(", "),p=r();return p.push("(function(root, factory) {",' if (typeof define === "function" && define.amd) {'," define("+a+", factory);",' } else if (typeof module === "object" && module.exports) {'," module.exports = factory("+i+");"),null!==t.exportVar&&p.push(" } else {"," root."+t.exportVar+" = factory();"),p.push(" }","})(this, function("+l+") {",' "use strict";',"",e,"",c("return "+n()+";"),"});"),p}}[t.format||"bare"]();return new SourceNode(null,null,t.grammarSource,o.map((function(e){return e instanceof SourceNode?e:e+"\n"})))}(function(){var s=[];e.topLevelInitializer&&(s.push(g(e.topLevelInitializer)),s.push("")),s.push("function peg$subclass(child, parent) {"," function C() { this.constructor = child; }"," C.prototype = parent.prototype;"," child.prototype = new C();","}","","function peg$SyntaxError(message, expected, found, location) {"," var self = Error.call(this, message);"," // istanbul ignore next Check is a necessary evil to support older environments"," if (Object.setPrototypeOf) {"," Object.setPrototypeOf(self, peg$SyntaxError.prototype);"," }"," self.expected = expected;"," self.found = found;"," self.location = location;",' self.name = "SyntaxError";'," return self;","}","","peg$subclass(peg$SyntaxError, Error);","","function peg$padEnd(str, targetLength, padString) {",' padString = padString || " ";'," if (str.length > targetLength) { return str; }"," targetLength -= str.length;"," padString += padString.repeat(targetLength);"," return str + padString.slice(0, targetLength);","}","","peg$SyntaxError.prototype.format = function(sources) {",' var str = "Error: " + this.message;'," if (this.location) {"," var src = null;"," var k;"," for (k = 0; k < sources.length; k++) {"," if (sources[k].source === this.location.source) {"," src = sources[k].text.split(/\\r\\n|\\n|\\r/g);"," break;"," }"," }"," var s = this.location.start;",' var offset_s = (this.location.source && (typeof this.location.source.offset === "function"))'," ? this.location.source.offset(s)"," : s;",' var loc = this.location.source + ":" + offset_s.line + ":" + offset_s.column;'," if (src) {"," var e = this.location.end;"," var filler = peg$padEnd(\"\", offset_s.line.toString().length, ' ');"," var line = src[s.line - 1];"," var last = s.line === e.line ? e.column : line.length + 1;"," var hatLen = (last - s.column) || 1;",' str += "\\n --\x3e " + loc + "\\n"',' + filler + " |\\n"',' + offset_s.line + " | " + line + "\\n"',' + filler + " | " + peg$padEnd("", s.column - 1, \' \')',' + peg$padEnd("", hatLen, "^");'," } else {",' str += "\\n at " + loc;'," }"," }"," return str;","};","","peg$SyntaxError.buildMessage = function(expected, found) {"," var DESCRIBE_EXPECTATION_FNS = {"," literal: function(expectation) {",' return "\\"" + literalEscape(expectation.text) + "\\"";'," },",""," class: function(expectation) {"," var escapedParts = expectation.parts.map(function(part) {"," return Array.isArray(part)",' ? classEscape(part[0]) + "-" + classEscape(part[1])'," : classEscape(part);"," });","",' return "[" + (expectation.inverted ? "^" : "") + escapedParts.join("") + "]";'," },",""," any: function() {",' return "any character";'," },",""," end: function() {",' return "end of input";'," },",""," other: function(expectation) {"," return expectation.description;"," }"," };",""," function hex(ch) {"," return ch.charCodeAt(0).toString(16).toUpperCase();"," }",""," function literalEscape(s) {"," return s",' .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(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function classEscape(s) {"," return s",' .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(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function describeExpectation(expectation) {"," return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);"," }",""," function describeExpected(expected) {"," var descriptions = expected.map(describeExpectation);"," var i, j;",""," descriptions.sort();",""," if (descriptions.length > 0) {"," for (i = 1, j = 1; i < descriptions.length; i++) {"," if (descriptions[i - 1] !== descriptions[i]) {"," descriptions[j] = descriptions[i];"," j++;"," }"," }"," descriptions.length = j;"," }",""," switch (descriptions.length) {"," case 1:"," return descriptions[0];",""," case 2:",' return descriptions[0] + " or " + descriptions[1];',""," default:",' return descriptions.slice(0, -1).join(", ")',' + ", or "'," + descriptions[descriptions.length - 1];"," }"," }",""," function describeFound(found) {",' return found ? "\\"" + literalEscape(found) + "\\"" : "end of input";'," }","",' return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found.";',"};",""),t.trace&&s.push("function peg$DefaultTracer() {"," this.indentLevel = 0;","}","","peg$DefaultTracer.prototype.trace = function(event) {"," var that = this;",""," function log(event) {"," function repeat(string, n) {",' var result = "", i;',""," for (i = 0; i < n; i++) {"," result += string;"," }",""," return result;"," }",""," function pad(string, length) {",' return string + repeat(" ", length - string.length);'," }","",' if (typeof console === "object") {'," console.log(",' event.location.start.line + ":" + event.location.start.column + "-"',' + event.location.end.line + ":" + event.location.end.column + " "',' + pad(event.type, 10) + " "',' + repeat(" ", that.indentLevel) + event.rule'," );"," }"," }",""," switch (event.type) {",' case "rule.enter":'," log(event);"," this.indentLevel++;"," break;","",' case "rule.match":'," this.indentLevel--;"," log(event);"," break;","",' case "rule.fail":'," this.indentLevel--;"," log(event);"," break;",""," default:",' throw new Error("Invalid event type: " + event.type + ".");'," }","};","");var A="{ "+i.map((function(e){return e+": "+d(e)})).join(", ")+" }",m=d(i[0]);return s.push("function peg$parse(input, options) {"," options = options !== undefined ? options : {};",""," var peg$FAILED = {};"," var peg$source = options.grammarSource;",""," var peg$startRuleFunctions = "+A+";"," var peg$startRuleFunction = "+m+";","",new SourceNode(null,null,t.grammarSource,__spreadArray$2([r.map((function(e,t){return" var "+l(t)+' = "'+stringEscape(e)+'";'})).concat("",o.map((function(e,t){return" var "+p(t)+" = /^["+((r=e).inverted?"^":"")+r.value.map((function(e){return Array.isArray(e)?regexpClassEscape(e[0])+"-"+regexpClassEscape(e[1]):regexpClassEscape(e)})).join("")+"]/"+(r.ignoreCase?"i":"")+";";var r}))).concat("",u.map((function(e,t){return" var "+f(t)+" = "+function(e){switch(e.type){case"rule":return'peg$otherExpectation("'+stringEscape(e.value)+'")';case"literal":return'peg$literalExpectation("'+stringEscape(e.value)+'", '+e.ignoreCase+")";case"class":return"peg$classExpectation(["+e.value.map((function(e){return Array.isArray(e)?'["'+stringEscape(e[0])+'", "'+stringEscape(e[1])+'"]':'"'+stringEscape(e)+'"'})).join(", ")+"], "+e.inverted+", "+e.ignoreCase+")";case"any":return"peg$anyExpectation()";default:throw new Error("Unknown expectation type ("+JSON.stringify(e)+")")}}(e)+";"}))).concat("").join("\n")],a.map((function(e,t){return wrapInSourceNode("\n var ".concat(h(t)," = function(").concat(e.params.join(", "),") {"),e.body,e.location,"};")})),!0)),""," var peg$currPos = 0;"," var peg$savedPos = 0;"," var peg$posDetailsCache = [{ line: 1, column: 1 }];"," var peg$maxFailPos = 0;"," var peg$maxFailExpected = [];"," var peg$silentFails = 0;",""),t.cache&&s.push(" var peg$resultsCache = {};",""),t.trace&&s.push(' var peg$tracer = "tracer" in options ? options.tracer : new peg$DefaultTracer();',""),s.push(" var peg$result;","",' if ("startRule" in options) {'," if (!(options.startRule in peg$startRuleFunctions)) {",' throw new Error("Can\'t start parsing from rule \\"" + options.startRule + "\\".");'," }",""," peg$startRuleFunction = peg$startRuleFunctions[options.startRule];"," }",""," function text() {"," return input.substring(peg$savedPos, peg$currPos);"," }",""," function offset() {"," return peg$savedPos;"," }",""," function range() {"," return {"," source: peg$source,"," start: peg$savedPos,"," end: peg$currPos"," };"," }",""," function location() {"," return peg$computeLocation(peg$savedPos, peg$currPos);"," }",""," function expected(description, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildStructuredError("," [peg$otherExpectation(description)],"," input.substring(peg$savedPos, peg$currPos),"," location"," );"," }",""," function error(message, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildSimpleError(message, location);"," }",""," function peg$literalExpectation(text, ignoreCase) {",' return { type: "literal", text: text, ignoreCase: ignoreCase };'," }",""," function peg$classExpectation(parts, inverted, ignoreCase) {",' return { type: "class", parts: parts, inverted: inverted, ignoreCase: ignoreCase };'," }",""," function peg$anyExpectation() {",' return { type: "any" };'," }",""," function peg$endExpectation() {",' return { type: "end" };'," }",""," function peg$otherExpectation(description) {",' return { type: "other", description: description };'," }",""," function peg$computePosDetails(pos) {"," var details = peg$posDetailsCache[pos];"," var p;",""," if (details) {"," return details;"," } else {"," if (pos >= peg$posDetailsCache.length) {"," p = peg$posDetailsCache.length - 1;"," } else {"," p = pos;"," while (!peg$posDetailsCache[--p]) {}"," }",""," details = peg$posDetailsCache[p];"," details = {"," line: details.line,"," column: details.column"," };",""," while (p < pos) {"," if (input.charCodeAt(p) === 10) {"," details.line++;"," details.column = 1;"," } else {"," details.column++;"," }",""," p++;"," }",""," peg$posDetailsCache[pos] = details;",""," return details;"," }"," }",""," function peg$computeLocation(startPos, endPos, offset) {"," var startPosDetails = peg$computePosDetails(startPos);"," var endPosDetails = peg$computePosDetails(endPos);",""," var res = {"," source: peg$source,"," start: {"," offset: startPos,"," line: startPosDetails.line,"," column: startPosDetails.column"," },"," end: {"," offset: endPos,"," line: endPosDetails.line,"," column: endPosDetails.column"," }"," };",' if (offset && peg$source && (typeof peg$source.offset === "function")) {'," res.start = peg$source.offset(res.start);"," res.end = peg$source.offset(res.end);"," }"," return res;"," }",""," function peg$fail(expected) {"," if (peg$currPos < peg$maxFailPos) { return; }",""," if (peg$currPos > peg$maxFailPos) {"," peg$maxFailPos = peg$currPos;"," peg$maxFailExpected = [];"," }",""," peg$maxFailExpected.push(expected);"," }",""," function peg$buildSimpleError(message, location) {"," return new peg$SyntaxError(message, null, null, location);"," }",""," function peg$buildStructuredError(expected, found, location) {"," return new peg$SyntaxError("," peg$SyntaxError.buildMessage(expected, found),"," expected,"," found,"," location"," );"," }",""),e.rules.forEach((function(o){s.push.apply(s,c(function(o){var u=[],a=o.bytecode,i=new Stack(o.name,"s","var",a),s=function t(o){var u=0,a=o.length,s=[],g=void 0;function A(e,r,n){var a=r+3,l=o[u+a-2],p=o[u+a-1],f=i.checkedIf(u,(function(){return u+=a+l,(n||t)(o.slice(u-l,u))}),p>0?function(){return u+=p,t(o.slice(u-p,u))}:null),h=f[0],d=f[1];s.push("if ("+e+") {"),s.push.apply(s,c(h)),p>0&&(s.push("} else {"),s.push.apply(s,c(d))),s.push("}")}function m(e,r,n){var a=r+3,c=1===n?"input.charAt(peg$currPos)":"input.substr(peg$currPos, "+n+")",l=null;o[u+a]===op.ACCEPT_N&&o[u+a+1]===n&&(s.push(i.push(c)),c=i.pop(),l=function(e){i.sp++;var r=t(e.slice(2));return r.unshift(1===n?"peg$currPos++;":"peg$currPos += "+n+";"),r}),A(e(c,null!==l),r,l)}for(var E=function(){switch(o[u]){case op.PUSH_EMPTY_STRING:s.push(i.push("''")),u++;break;case op.PUSH_CURR_POS:s.push(i.push("peg$currPos")),u++;break;case op.PUSH_UNDEFINED:s.push(i.push("undefined")),u++;break;case op.PUSH_NULL:s.push(i.push("null")),u++;break;case op.PUSH_FAILED:s.push(i.push("peg$FAILED")),u++;break;case op.PUSH_EMPTY_ARRAY:s.push(i.push("[]")),u++;break;case op.POP:i.pop(),u++;break;case op.POP_CURR_POS:s.push("peg$currPos = "+i.pop()+";"),u++;break;case op.POP_N:i.pop(o[u+1]),u+=2;break;case op.NIP:g=i.pop(),i.pop(),s.push(i.push(g)),u++;break;case op.APPEND:g=i.pop(),s.push(i.top()+".push("+g+");"),u++;break;case op.WRAP:s.push(i.push("["+i.pop(o[u+1]).join(", ")+"]")),u+=2;break;case op.TEXT:s.push(i.push("input.substring("+i.pop()+", peg$currPos)")),u++;break;case op.PLUCK:var a=o[u+3-1],E=3+a;g=o.slice(u+3,u+E),g=1===a?i.index(g[0]):"[ ".concat(g.map((function(e){return i.index(e)})).join(", ")," ]"),i.pop(o[u+1]),s.push(i.push(g)),u+=E;break;case op.IF:A(i.top(),0);break;case op.IF_ERROR:A(i.top()+" === peg$FAILED",0);break;case op.IF_NOT_ERROR:A(i.top()+" !== peg$FAILED",0);break;case op.IF_LT:A(i.top()+".length < "+o[u+1],1);break;case op.IF_GE:A(i.top()+".length >= "+o[u+1],1);break;case op.IF_LT_DYNAMIC:A(i.top()+".length < ("+i.index(o[u+1])+"|0)",1);break;case op.IF_GE_DYNAMIC:A(i.top()+".length >= ("+i.index(o[u+1])+"|0)",1);break;case op.WHILE_NOT_ERROR:S=i.top()+" !== peg$FAILED",y=o[u+2-1],F=i.checkedLoop(u,(function(){return u+=2+y,t(o.slice(u-y,u))})),s.push("while ("+S+") {"),s.push.apply(s,c(F)),s.push("}");break;case op.MATCH_ANY:A("input.length > peg$currPos",0);break;case op.MATCH_STRING:var _=o[u+1],v=r[_];m((function(e,t){return v.length>1?"".concat(e," === ").concat(l(_)):(e=t?"".concat(e,".charCodeAt(0)"):"input.charCodeAt(peg$currPos)","".concat(e," === ").concat(v.charCodeAt(0)))}),1,v.length);break;case op.MATCH_STRING_IC:var C=o[u+1];m((function(e){return"".concat(e,".toLowerCase() === ").concat(l(C))}),1,r[C].length);break;case op.MATCH_CHAR_CLASS:var $=o[u+1];m((function(e){return"".concat(p($),".test(").concat(e,")")}),1,1);break;case op.ACCEPT_N:s.push(i.push(o[u+1]>1?"input.substr(peg$currPos, "+o[u+1]+")":"input.charAt(peg$currPos)")),s.push(o[u+1]>1?"peg$currPos += "+o[u+1]+";":"peg$currPos++;"),u+=2;break;case op.ACCEPT_STRING:s.push(i.push(l(o[u+1]))),s.push(r[o[u+1]].length>1?"peg$currPos += "+r[o[u+1]].length+";":"peg$currPos++;"),u+=2;break;case op.FAIL:s.push(i.push("peg$FAILED")),s.push("if (peg$silentFails === 0) { peg$fail("+f(o[u+1])+"); }"),u+=2;break;case op.LOAD_SAVED_POS:s.push("peg$savedPos = "+i.index(o[u+1])+";"),u+=2;break;case op.UPDATE_SAVED_POS:s.push("peg$savedPos = peg$currPos;"),u++;break;case op.CALL:g=function(e){var t=o[u+4-1];return h(o[u+1])+"("+o.slice(u+4,u+4+t).map((function(e){return i.index(e)})).join(", ")+")"}(),i.pop(o[u+2]),s.push(i.push(g)),u+=4+o[u+3];break;case op.RULE:s.push(i.push(d(e.rules[o[u+1]].name)+"()")),u+=2;break;case op.SILENT_FAILS_ON:s.push("peg$silentFails++;"),u++;break;case op.SILENT_FAILS_OFF:s.push("peg$silentFails--;"),u++;break;case op.SOURCE_MAP_PUSH:i.sourceMapPush(s,n[o[u+1]]),u+=2;break;case op.SOURCE_MAP_POP:i.sourceMapPop(),u++;break;case op.SOURCE_MAP_LABEL_PUSH:i.labels[o[u+1]]={label:r[o[u+2]],location:n[o[u+3]]},u+=4;break;case op.SOURCE_MAP_LABEL_POP:delete i.labels[o[u+1]],u+=2;break;default:throw new Error("Invalid opcode: "+o[u]+".")}var S,y,F};ui?-1:1:0}));for(var t="",r="",n=0;n=a.charCodeAt(0)?(e.splice(n--,1),e[n]=[t,r=i]):(t=a,r=i)}return e}function mergeCharacterClasses$1(e){var t=Object.create(null);e.rules.forEach((function(e){return t[e.name]=e.expression}));var r=Object.create(null),n=[function(e,n){if("class"===e.type&&!e.inverted)return n&&((e=__assign({},e)).parts=__spreadArray$1([],e.parts,!0)),e;if("literal"===e.type&&1===e.value.length)return{type:"class",parts:[e.value],inverted:!1,ignoreCase:e.ignoreCase,location:e.location};if("rule_ref"===e.type){var a=t[e.name];if(a){r[e.name]||(r[e.name]=!0,u(a));var i=o(a,!0);return i&&(i.location=e.location),i}}return null},visitor$7.build({choice:function(e){var t=null,r=!1;e.alternatives.forEach((function(n,a){var i;u(n);var s=o(n);s?t&&t.ignoreCase===s.ignoreCase?((i=t.parts).push.apply(i,s.parts),e.alternatives[a-1]=t,e.alternatives[a]=t,t.location={source:t.location.source,start:t.location.start,end:s.location.end},r=!0):t=s:t=null})),r&&(e.alternatives=e.alternatives.filter((function(e,t,r){return!t||e!==r[t-1]})),e.alternatives.forEach((function(t,r){"class"===t.type&&(t.parts=cleanParts(t.parts),1!==t.parts.length||Array.isArray(t.parts[0])||t.inverted||(e.alternatives[r]={type:"literal",value:t.parts[0],ignoreCase:t.ignoreCase,location:t.location}))})),1===e.alternatives.length&&cloneOver(e,e.alternatives[0]))},text:function(e){if(u(e.expression),"class"===e.expression.type||"literal"===e.expression.type){var t=e.location;cloneOver(e,e.expression),e.location=t}}})],o=n[0],u=n[1];e.rules.forEach((function(e){r[e.name]=!0,u(e.expression)}))}var mergeCharacterClasses_1=mergeCharacterClasses$1,visitor$6=visitor_1;function reportDuplicateLabels$1(e,t,r){function n(e){var t={};return Object.keys(e).forEach((function(r){t[r]=e[r]})),t}function o(e,t){u(e.expression,n(t))}var u=visitor$6.build({rule:function(e){u(e.expression,{})},choice:function(e,t){e.alternatives.forEach((function(e){u(e,n(t))}))},action:o,labeled:function(e,t){var n=e.label;n&&Object.prototype.hasOwnProperty.call(t,n)&&r.error('Label "'.concat(e.label,'" is already defined'),e.labelLocation,[{message:"Original label location",location:t[n]}]),u(e.expression,t),t[e.label]=e.labelLocation},text:o,simple_and:o,simple_not:o,optional:o,zero_or_more:o,one_or_more:o,repeated:function(e,t){e.delimiter&&u(e.delimiter,n(t)),u(e.expression,n(t))},group:o});u(e)}var reportDuplicateLabels_1=reportDuplicateLabels$1,visitor$5=visitor_1;function reportDuplicateRules$1(e,t,r){var n={};visitor$5.build({rule:function(e){Object.prototype.hasOwnProperty.call(n,e.name)?r.error('Rule "'.concat(e.name,'" is already defined'),e.nameLocation,[{message:"Original rule location",location:n[e.name]}]):n[e.name]=e.nameLocation}})(e)}var reportDuplicateRules_1=reportDuplicateRules$1,asts$2=asts_1,visitor$4=visitor_1;function reportInfiniteRecursion$1(e,t,r){var n=[],o=[],u=visitor$4.build({rule:function(e){n.push(e.name),u(e.expression),n.pop()},sequence:function(t){t.elements.every((function(t){return u(t),!asts$2.alwaysConsumesOnSuccess(e,t)}))},repeated:function(t){u(t.expression),t.delimiter&&!asts$2.alwaysConsumesOnSuccess(e,t.expression)&&u(t.delimiter)},rule_ref:function(t){o.push(t);var a=asts$2.findRule(e,t.name);if(-1!==n.indexOf(t.name))return n.push(t.name),void r.error("Possible infinite loop when parsing (left recursion: "+n.join(" -> ")+")",a.nameLocation,o.map((function(e,t,r){return{message:t+1!==r.length?"Step ".concat(t+1,': call of the rule "').concat(e.name,'" without input consumption'):"Step ".concat(t+1,": call itself without input consumption - left recursion"),location:e.location}})));a&&u(a),o.pop()}});u(e)}var reportInfiniteRecursion_1=reportInfiniteRecursion$1,asts$1=asts_1,visitor$3=visitor_1;function reportInfiniteRepetition$1(e,t,r){var n=visitor$3.build({zero_or_more:function(t){asts$1.alwaysConsumesOnSuccess(e,t.expression)||r.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",t.location)},one_or_more:function(t){asts$1.alwaysConsumesOnSuccess(e,t.expression)||r.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",t.location)},repeated:function(t){if(t.delimiter&&n(t.delimiter),!(asts$1.alwaysConsumesOnSuccess(e,t.expression)||t.delimiter&&asts$1.alwaysConsumesOnSuccess(e,t.delimiter)))if(null===t.max.value)r.error("Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",t.location);else{var o=t.min?t.min:t.max;r.warning("constant"===o.type&&"constant"===t.max.type?"An expression may not consume any input and may always match ".concat(t.max.value," times"):"An expression may not consume any input and may always match with a maximum repetition count",t.location)}}});n(e)}var reportInfiniteRepetition_1=reportInfiniteRepetition$1,asts=asts_1,visitor$2=visitor_1;function reportUndefinedRules$1(e,t,r){visitor$2.build({rule_ref:function(t){asts.findRule(e,t.name)||r.error('Rule "'.concat(t.name,'" is not defined'),t.location)}})(e)}var reportUndefinedRules_1=reportUndefinedRules$1,visitor$1=visitor_1;function reportIncorrectPlucking$1(e,t,r){var n=visitor$1.build({action:function(e){n(e.expression,e)},labeled:function(e,t){e.pick&&t&&r.error('"@" cannot be used with an action block',e.labelLocation,[{message:"Action block location",location:t.codeLocation}]),n(e.expression)}});n(e)}var reportIncorrectPlucking_1=reportIncorrectPlucking$1,__spreadArray=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var n,o=0,u=t.length;o0:e&&"function"==typeof e.offset}var compiler$1={visitor:visitor,passes:{check:[reportUndefinedRules,reportDuplicateRules,reportDuplicateLabels,reportInfiniteRecursion,reportInfiniteRepetition,reportIncorrectPlucking],transform:[removeProxyRules,mergeCharacterClasses,inferenceMatchResult],generate:[generateBytecode,generateJS]},compile:function(ast,passes,options){if(options=void 0!==options?options:{},options=processOptions(options,{allowedStartRules:[ast.rules[0].name],cache:!1,dependencies:{},exportVar:null,format:"bare",output:"parser",trace:!1}),!Array.isArray(options.allowedStartRules))throw new Error("allowedStartRules must be an array");if(0===options.allowedStartRules.length)throw new Error("Must have at least one start rule");var allRules=ast.rules.map((function(e){return e.name}));if(options.allowedStartRules.some((function(e){return"*"===e})))options.allowedStartRules=allRules;else for(var _i=0,_a=options.allowedStartRules;_i<_a.length;_i++){var rule=_a[_i];if(-1===allRules.indexOf(rule))throw new Error('Unknown start rule "'.concat(rule,'"'))}if(("source-and-map"===options.output||"source-with-inline-map"===options.output)&&!isSourceMapCapable(options.grammarSource))throw new Error("Must provide grammarSource (as a string or GrammarLocation) in order to generate source maps");var session=new Session(options);switch(Object.keys(passes).forEach((function(e){session.stage=e,session.info("Process stage ".concat(e)),passes[e].forEach((function(t){session.info("Process pass ".concat(e,".").concat(t.name)),t(ast,options,session)})),session.checkErrors()})),options.output){case"parser":return eval(ast.code.toString());case"source":return ast.code.toString();case"source-and-map":return ast.code;case"source-with-inline-map":if("undefined"==typeof TextEncoder)throw new Error("TextEncoder is not supported by this platform");var sourceMap=ast.code.toStringWithSourceMap(),encoder=new TextEncoder,b64=base64(encoder.encode(JSON.stringify(sourceMap.map.toJSON())));return sourceMap.code+"//# sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(b64,"\n");case"ast":return ast;default:throw new Error("Invalid output format: "+options.output+".")}}},compiler_1=compiler$1,OPS_TO_PREFIXED_TYPES={$:"text","&":"simple_and","!":"simple_not"},OPS_TO_SUFFIXED_TYPES={"?":"optional","*":"zero_or_more","+":"one_or_more"},OPS_TO_SEMANTIC_PREDICATE_TYPES={"&":"semantic_and","!":"semantic_not"};function peg$subclass(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}function peg$SyntaxError(e,t,r,n){var o=Error.call(this,e);return Object.setPrototypeOf&&Object.setPrototypeOf(o,peg$SyntaxError.prototype),o.expected=t,o.found=r,o.location=n,o.name="SyntaxError",o}function peg$padEnd(e,t,r){return r=r||" ",e.length>t?e:(t-=e.length,e+(r+=r.repeat(t)).slice(0,t))}function peg$parse(e,t){var r,n={},o=(t=void 0!==t?t:{}).grammarSource,u={Grammar:pr},a=pr,i="{",s="}",c="=",l="/",p="@",f=":",h="|",d=",",g="..",A="(",m=")",E="\n",_="\r\n",v="/*",C="*/",$="//",S="\\",y="i",F='"',P="'",x="[",D="^",b="]",B="-",R="0",O="b",L="f",M="n",T="r",w="t",I="v",N="x",k="u",H=".",U=";",j=/^[!$&]/,G=/^[*-+?]/,V=/^[!&]/,Y=/^[\t\v-\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]/,W=/^[\n\r\u2028\u2029]/,z=/^[\r\u2028-\u2029]/,J=/^[A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376-\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E-\u066F\u0671-\u06D3\u06D5\u06E5-\u06E6\u06EE-\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4-\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC-\u09DD\u09DF-\u09E1\u09F0-\u09F1\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33\u0A35-\u0A36\u0A38-\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0-\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B35-\u0B39\u0B3D\u0B5C-\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60-\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0-\u0CE1\u0CF1-\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32-\u0E33\u0E40-\u0E46\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065-\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE-\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5-\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,Q=/^[$0-9_\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7-\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962-\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7-\u09C8\u09CB-\u09CD\u09D7\u09E2-\u09E3\u09E6-\u09EF\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2-\u0AE3\u0AE6-\u0AEF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47-\u0B48\u0B4B-\u0B4D\u0B56-\u0B57\u0B62-\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55-\u0C56\u0C62-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5-\u0CD6\u0CE2-\u0CE3\u0CE6-\u0CEF\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62-\u0D63\u0D66-\u0D6F\u0D82-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2-\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EB9\u0EBB-\u0EBC\u0EC8-\u0ECD\u0ED0-\u0ED9\u0F18-\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F3F\u0F71-\u0F84\u0F86-\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19D9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8-\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u200C-\u200D\u203F-\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099-\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E-\uA69F\uA6F0-\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880-\uA881\uA8B4-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F1\uA900-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C-\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7-\uAAB8\uAABE-\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5-\uAAF6\uABE3-\uABEA\uABEC-\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33-\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F]/,q=/^[\n\r"\\\u2028-\u2029]/,X=/^[\n\r'\\\u2028-\u2029]/,K=/^[\n\r\\-\]\u2028-\u2029]/,Z=/^["'\\]/,ee=/^[0-9ux]/,te=/^[0-9]/,re=/^[0-9a-f]/i,ne=/^[{}]/,oe=ur("{",!1),ue=ur("}",!1),ae=ur("=",!1),ie=ur("/",!1),se=ur("@",!1),ce=ur(":",!1),le=ar(["!","$","&"],!1,!1),pe=ar([["*","+"],"?"],!1,!1),fe=ur("|",!1),he=ur(",",!1),de=ur("..",!1),ge=ur("(",!1),Ae=ur(")",!1),me=ar(["!","&"],!1,!1),Ee={type:"any"},_e=ir("whitespace"),ve=ar(["\t",["\v","\f"]," "," "," ",[" "," "]," "," "," ","\ufeff"],!1,!1),Ce=ar(["\n","\r","\u2028","\u2029"],!1,!1),$e=ir("end of line"),Se=ur("\n",!1),ye=ur("\r\n",!1),Fe=ar(["\r",["\u2028","\u2029"]],!1,!1),Pe=ir("comment"),xe=ur("/*",!1),De=ur("*/",!1),be=ur("//",!1),Be=ir("identifier"),Re=ar([["A","Z"],"_",["a","z"],"ª","µ","º",["À","Ö"],["Ø","ö"],["ø","ˁ"],["ˆ","ˑ"],["ˠ","ˤ"],"ˬ","ˮ",["Ͱ","ʹ"],["Ͷ","ͷ"],["ͺ","ͽ"],"Ϳ","Ά",["Έ","Ί"],"Ό",["Ύ","Ρ"],["Σ","ϵ"],["Ϸ","ҁ"],["Ҋ","ԯ"],["Ա","Ֆ"],"ՙ",["ա","և"],["א","ת"],["װ","ײ"],["ؠ","ي"],["ٮ","ٯ"],["ٱ","ۓ"],"ە",["ۥ","ۦ"],["ۮ","ۯ"],["ۺ","ۼ"],"ۿ","ܐ",["ܒ","ܯ"],["ݍ","ޥ"],"ޱ",["ߊ","ߪ"],["ߴ","ߵ"],"ߺ",["ࠀ","ࠕ"],"ࠚ","ࠤ","ࠨ",["ࡀ","ࡘ"],["ࢠ","ࢴ"],["ऄ","ह"],"ऽ","ॐ",["क़","ॡ"],["ॱ","ঀ"],["অ","ঌ"],["এ","ঐ"],["ও","ন"],["প","র"],"ল",["শ","হ"],"ঽ","ৎ",["ড়","ঢ়"],["য়","ৡ"],["ৰ","ৱ"],["ਅ","ਊ"],["ਏ","ਐ"],["ਓ","ਨ"],["ਪ","ਰ"],["ਲ","ਲ਼"],["ਵ","ਸ਼"],["ਸ","ਹ"],["ਖ਼","ੜ"],"ਫ਼",["ੲ","ੴ"],["અ","ઍ"],["એ","ઑ"],["ઓ","ન"],["પ","ર"],["લ","ળ"],["વ","હ"],"ઽ","ૐ",["ૠ","ૡ"],"ૹ",["ଅ","ଌ"],["ଏ","ଐ"],["ଓ","ନ"],["ପ","ର"],["ଲ","ଳ"],["ଵ","ହ"],"ଽ",["ଡ଼","ଢ଼"],["ୟ","ୡ"],"ୱ","ஃ",["அ","ஊ"],["எ","ஐ"],["ஒ","க"],["ங","ச"],"ஜ",["ஞ","ட"],["ண","த"],["ந","ப"],["ம","ஹ"],"ௐ",["అ","ఌ"],["ఎ","ఐ"],["ఒ","న"],["ప","హ"],"ఽ",["ౘ","ౚ"],["ౠ","ౡ"],["ಅ","ಌ"],["ಎ","ಐ"],["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"],"ಽ","ೞ",["ೠ","ೡ"],["ೱ","ೲ"],["അ","ഌ"],["എ","ഐ"],["ഒ","ഺ"],"ഽ","ൎ",["ൟ","ൡ"],["ൺ","ൿ"],["අ","ඖ"],["ක","න"],["ඳ","ර"],"ල",["ව","ෆ"],["ก","ะ"],["า","ำ"],["เ","ๆ"],["ກ","ຂ"],"ຄ",["ງ","ຈ"],"ຊ","ຍ",["ດ","ທ"],["ນ","ຟ"],["ມ","ຣ"],"ລ","ວ",["ສ","ຫ"],["ອ","ະ"],["າ","ຳ"],"ຽ",["ເ","ໄ"],"ໆ",["ໜ","ໟ"],"ༀ",["ཀ","ཇ"],["ཉ","ཬ"],["ྈ","ྌ"],["က","ဪ"],"ဿ",["ၐ","ၕ"],["ၚ","ၝ"],"ၡ",["ၥ","ၦ"],["ၮ","ၰ"],["ၵ","ႁ"],"ႎ",["Ⴀ","Ⴥ"],"Ⴧ","Ⴭ",["ა","ჺ"],["ჼ","ቈ"],["ቊ","ቍ"],["ቐ","ቖ"],"ቘ",["ቚ","ቝ"],["በ","ኈ"],["ኊ","ኍ"],["ነ","ኰ"],["ኲ","ኵ"],["ኸ","ኾ"],"ዀ",["ዂ","ዅ"],["ወ","ዖ"],["ዘ","ጐ"],["ጒ","ጕ"],["ጘ","ፚ"],["ᎀ","ᎏ"],["Ꭰ","Ᏽ"],["ᏸ","ᏽ"],["ᐁ","ᙬ"],["ᙯ","ᙿ"],["ᚁ","ᚚ"],["ᚠ","ᛪ"],["ᛮ","ᛸ"],["ᜀ","ᜌ"],["ᜎ","ᜑ"],["ᜠ","ᜱ"],["ᝀ","ᝑ"],["ᝠ","ᝬ"],["ᝮ","ᝰ"],["ក","ឳ"],"ៗ","ៜ",["ᠠ","ᡷ"],["ᢀ","ᢨ"],"ᢪ",["ᢰ","ᣵ"],["ᤀ","ᤞ"],["ᥐ","ᥭ"],["ᥰ","ᥴ"],["ᦀ","ᦫ"],["ᦰ","ᧉ"],["ᨀ","ᨖ"],["ᨠ","ᩔ"],"ᪧ",["ᬅ","ᬳ"],["ᭅ","ᭋ"],["ᮃ","ᮠ"],["ᮮ","ᮯ"],["ᮺ","ᯥ"],["ᰀ","ᰣ"],["ᱍ","ᱏ"],["ᱚ","ᱽ"],["ᳩ","ᳬ"],["ᳮ","ᳱ"],["ᳵ","ᳶ"],["ᴀ","ᶿ"],["Ḁ","ἕ"],["Ἐ","Ἕ"],["ἠ","ὅ"],["Ὀ","Ὅ"],["ὐ","ὗ"],"Ὑ","Ὓ","Ὕ",["Ὗ","ώ"],["ᾀ","ᾴ"],["ᾶ","ᾼ"],"ι",["ῂ","ῄ"],["ῆ","ῌ"],["ῐ","ΐ"],["ῖ","Ί"],["ῠ","Ῥ"],["ῲ","ῴ"],["ῶ","ῼ"],"ⁱ","ⁿ",["ₐ","ₜ"],"ℂ","ℇ",["ℊ","ℓ"],"ℕ",["ℙ","ℝ"],"ℤ","Ω","ℨ",["K","ℭ"],["ℯ","ℹ"],["ℼ","ℿ"],["ⅅ","ⅉ"],"ⅎ",["Ⅰ","ↈ"],["Ⰰ","Ⱞ"],["ⰰ","ⱞ"],["Ⱡ","ⳤ"],["Ⳬ","ⳮ"],["Ⳳ","ⳳ"],["ⴀ","ⴥ"],"ⴧ","ⴭ",["ⴰ","ⵧ"],"ⵯ",["ⶀ","ⶖ"],["ⶠ","ⶦ"],["ⶨ","ⶮ"],["ⶰ","ⶶ"],["ⶸ","ⶾ"],["ⷀ","ⷆ"],["ⷈ","ⷎ"],["ⷐ","ⷖ"],["ⷘ","ⷞ"],"ⸯ",["々","〇"],["〡","〩"],["〱","〵"],["〸","〼"],["ぁ","ゖ"],["ゝ","ゟ"],["ァ","ヺ"],["ー","ヿ"],["ㄅ","ㄭ"],["ㄱ","ㆎ"],["ㆠ","ㆺ"],["ㇰ","ㇿ"],["㐀","䶵"],["一","鿕"],["ꀀ","ꒌ"],["ꓐ","ꓽ"],["ꔀ","ꘌ"],["ꘐ","ꘟ"],["ꘪ","ꘫ"],["Ꙁ","ꙮ"],["ꙿ","ꚝ"],["ꚠ","ꛯ"],["ꜗ","ꜟ"],["Ꜣ","ꞈ"],["Ꞌ","Ɬ"],["Ʞ","ꞷ"],["ꟷ","ꠁ"],["ꠃ","ꠅ"],["ꠇ","ꠊ"],["ꠌ","ꠢ"],["ꡀ","ꡳ"],["ꢂ","ꢳ"],["ꣲ","ꣷ"],"ꣻ","ꣽ",["ꤊ","ꤥ"],["ꤰ","ꥆ"],["ꥠ","ꥼ"],["ꦄ","ꦲ"],"ꧏ",["ꧠ","ꧤ"],["ꧦ","ꧯ"],["ꧺ","ꧾ"],["ꨀ","ꨨ"],["ꩀ","ꩂ"],["ꩄ","ꩋ"],["ꩠ","ꩶ"],"ꩺ",["ꩾ","ꪯ"],"ꪱ",["ꪵ","ꪶ"],["ꪹ","ꪽ"],"ꫀ","ꫂ",["ꫛ","ꫝ"],["ꫠ","ꫪ"],["ꫲ","ꫴ"],["ꬁ","ꬆ"],["ꬉ","ꬎ"],["ꬑ","ꬖ"],["ꬠ","ꬦ"],["ꬨ","ꬮ"],["ꬰ","ꭚ"],["ꭜ","ꭥ"],["ꭰ","ꯢ"],["가","힣"],["ힰ","ퟆ"],["ퟋ","ퟻ"],["豈","舘"],["並","龎"],["ff","st"],["ﬓ","ﬗ"],"יִ",["ײַ","ﬨ"],["שׁ","זּ"],["טּ","לּ"],"מּ",["נּ","סּ"],["ףּ","פּ"],["צּ","ﮱ"],["ﯓ","ﴽ"],["ﵐ","ﶏ"],["ﶒ","ﷇ"],["ﷰ","ﷻ"],["ﹰ","ﹴ"],["ﹶ","ﻼ"],["A","Z"],["a","z"],["ヲ","ᄒ"],["ᅡ","ᅦ"],["ᅧ","ᅬ"],["ᅭ","ᅲ"],["ᅳ","ᅵ"]],!1,!1),Oe=ur("\\",!1),Le=ar(["$",["0","9"],"_",["̀","ͯ"],["҃","҇"],["֑","ֽ"],"ֿ",["ׁ","ׂ"],["ׄ","ׅ"],"ׇ",["ؐ","ؚ"],["ً","٩"],"ٰ",["ۖ","ۜ"],["۟","ۤ"],["ۧ","ۨ"],["۪","ۭ"],["۰","۹"],"ܑ",["ܰ","݊"],["ަ","ް"],["߀","߉"],["߫","߳"],["ࠖ","࠙"],["ࠛ","ࠣ"],["ࠥ","ࠧ"],["ࠩ","࠭"],["࡙","࡛"],["ࣣ","ः"],["ऺ","़"],["ा","ॏ"],["॑","ॗ"],["ॢ","ॣ"],["०","९"],["ঁ","ঃ"],"়",["া","ৄ"],["ে","ৈ"],["ো","্"],"ৗ",["ৢ","ৣ"],["০","৯"],["ਁ","ਃ"],"਼",["ਾ","ੂ"],["ੇ","ੈ"],["ੋ","੍"],"ੑ",["੦","ੱ"],"ੵ",["ઁ","ઃ"],"઼",["ા","ૅ"],["ે","ૉ"],["ો","્"],["ૢ","ૣ"],["૦","૯"],["ଁ","ଃ"],"଼",["ା","ୄ"],["େ","ୈ"],["ୋ","୍"],["ୖ","ୗ"],["ୢ","ୣ"],["୦","୯"],"ஂ",["ா","ூ"],["ெ","ை"],["ொ","்"],"ௗ",["௦","௯"],["ఀ","ః"],["ా","ౄ"],["ె","ై"],["ొ","్"],["ౕ","ౖ"],["ౢ","ౣ"],["౦","౯"],["ಁ","ಃ"],"಼",["ಾ","ೄ"],["ೆ","ೈ"],["ೊ","್"],["ೕ","ೖ"],["ೢ","ೣ"],["೦","೯"],["ഁ","ഃ"],["ാ","ൄ"],["െ","ൈ"],["ൊ","്"],"ൗ",["ൢ","ൣ"],["൦","൯"],["ං","ඃ"],"්",["ා","ු"],"ූ",["ෘ","ෟ"],["෦","෯"],["ෲ","ෳ"],"ั",["ิ","ฺ"],["็","๎"],["๐","๙"],"ັ",["ິ","ູ"],["ົ","ຼ"],["່","ໍ"],["໐","໙"],["༘","༙"],["༠","༩"],"༵","༷","༹",["༾","༿"],["ཱ","྄"],["྆","྇"],["ྍ","ྗ"],["ྙ","ྼ"],"࿆",["ါ","ှ"],["၀","၉"],["ၖ","ၙ"],["ၞ","ၠ"],["ၢ","ၤ"],["ၧ","ၭ"],["ၱ","ၴ"],["ႂ","ႍ"],["ႏ","ႝ"],["፝","፟"],["ᜒ","᜔"],["ᜲ","᜴"],["ᝒ","ᝓ"],["ᝲ","ᝳ"],["឴","៓"],"៝",["០","៩"],["᠋","᠍"],["᠐","᠙"],"ᢩ",["ᤠ","ᤫ"],["ᤰ","᤻"],["᥆","᥏"],["᧐","᧙"],["ᨗ","ᨛ"],["ᩕ","ᩞ"],["᩠","᩼"],["᩿","᪉"],["᪐","᪙"],["᪰","᪽"],["ᬀ","ᬄ"],["᬴","᭄"],["᭐","᭙"],["᭫","᭳"],["ᮀ","ᮂ"],["ᮡ","ᮭ"],["᮰","᮹"],["᯦","᯳"],["ᰤ","᰷"],["᱀","᱉"],["᱐","᱙"],["᳐","᳒"],["᳔","᳨"],"᳭",["ᳲ","᳴"],["᳸","᳹"],["᷀","᷵"],["᷼","᷿"],["‌","‍"],["‿","⁀"],"⁔",["⃐","⃜"],"⃡",["⃥","⃰"],["⳯","⳱"],"⵿",["ⷠ","ⷿ"],["〪","〯"],["゙","゚"],["꘠","꘩"],"꙯",["ꙴ","꙽"],["ꚞ","ꚟ"],["꛰","꛱"],"ꠂ","꠆","ꠋ",["ꠣ","ꠧ"],["ꢀ","ꢁ"],["ꢴ","꣄"],["꣐","꣙"],["꣠","꣱"],["꤀","꤉"],["ꤦ","꤭"],["ꥇ","꥓"],["ꦀ","ꦃ"],["꦳","꧀"],["꧐","꧙"],"ꧥ",["꧰","꧹"],["ꨩ","ꨶ"],"ꩃ",["ꩌ","ꩍ"],["꩐","꩙"],["ꩻ","ꩽ"],"ꪰ",["ꪲ","ꪴ"],["ꪷ","ꪸ"],["ꪾ","꪿"],"꫁",["ꫫ","ꫯ"],["ꫵ","꫶"],["ꯣ","ꯪ"],["꯬","꯭"],["꯰","꯹"],"ﬞ",["︀","️"],["︠","︯"],["︳","︴"],["﹍","﹏"],["0","9"],"_"],!1,!1),Me=ir("literal"),Te=ur("i",!1),we=ir("string"),Ie=ur('"',!1),Ne=ur("'",!1),ke=ar(["\n","\r",'"',"\\",["\u2028","\u2029"]],!1,!1),He=ar(["\n","\r","'","\\",["\u2028","\u2029"]],!1,!1),Ue=ir("character class"),je=ur("[",!1),Ge=ur("^",!1),Ve=ur("]",!1),Ye=ur("-",!1),We=ar(["\n","\r",["\\","]"],["\u2028","\u2029"]],!1,!1),ze=ur("0",!1),Je=ar(['"',"'","\\"],!1,!1),Qe=ur("b",!1),qe=ur("f",!1),Xe=ur("n",!1),Ke=ur("r",!1),Ze=ur("t",!1),et=ur("v",!1),tt=ar([["0","9"],"u","x"],!1,!1),rt=ur("x",!1),nt=ur("u",!1),ot=ar([["0","9"]],!1,!1),ut=ar([["0","9"],["a","f"]],!1,!0),at=ur(".",!1),it=ir("code block"),st=ar(["{","}"],!1,!1),ct=ur(";",!1),lt=function(e,t,r){return{type:"grammar",topLevelInitializer:e,initializer:t,rules:r,location:nr()}},pt=function(e){return{type:"top_level_initializer",code:e[0],codeLocation:e[1],location:nr()}},ft=function(e){return{type:"initializer",code:e[0],codeLocation:e[1],location:nr()}},ht=function(e,t,r){return{type:"rule",name:e[0],nameLocation:e[1],expression:null!==t?{type:"named",name:t,expression:r,location:nr()}:r,location:nr()}},dt=function(e,t){return t.length>0?{type:"choice",alternatives:[e].concat(t),location:nr()}:e},gt=function(e,t){return null!==t?{type:"action",expression:e,code:t[0],codeLocation:t[1],location:nr()}:e},At=function(e,t){return t.length>0||"labeled"===e.type&&e.pick?{type:"sequence",elements:[e].concat(t),location:nr()}:e},mt=function(e,t,r){return r.type.startsWith("semantic_")&&or('"@" cannot be used on a semantic predicate',e),{type:"labeled",label:null!==t?t[0]:null,labelLocation:null!==t?t[1]:e,pick:!0,expression:r,location:nr()}},Et=function(e,t){return{type:"labeled",label:e[0],labelLocation:e[1],expression:t,location:nr()}},_t=function(){return nr()},vt=function(e){return Wr.indexOf(e[0])>=0&&or("Label can't be a reserved word \"".concat(e[0],'"'),e[1]),e},Ct=function(e,t){return{type:OPS_TO_PREFIXED_TYPES[e],expression:t,location:nr()}},$t=function(e,t){return{type:OPS_TO_SUFFIXED_TYPES[t],expression:e,location:nr()}},St=function(e,t,r){var n=t[0],o=t[1];return"constant"===o.type&&0===o.value&&or("The maximum count of repetitions of the rule must be > 0",o.location),{type:"repeated",min:n,max:o,expression:e,delimiter:r,location:nr()}},yt=function(e,t){return[null!==e?e:{type:"constant",value:0},null!==t?t:{type:"constant",value:null}]},Ft=function(e){return[null,e]},Pt=function(e){return{type:"constant",value:e,location:nr()}},xt=function(e){return{type:"variable",value:e[0],location:nr()}},Dt=function(e){return{type:"function",value:e[0],codeLocation:e[1],location:nr()}},bt=function(e){return"labeled"===e.type||"sequence"===e.type?{type:"group",expression:e,location:nr()}:e},Bt=function(e){return{type:"rule_ref",name:e[0],location:nr()}},Rt=function(e,t){return{type:OPS_TO_SEMANTIC_PREDICATE_TYPES[e],code:t[0],codeLocation:t[1],location:nr()}},Ot=function(e,t){return[e+t.join(""),nr()]},Lt=function(e,t){return{type:"literal",value:e,ignoreCase:null!==t,location:nr()}},Mt=function(e){return e.join("")},Tt=function(e){return e.join("")},wt=function(e,t,r){return{type:"class",parts:t.filter((function(e){return""!==e})),inverted:null!==e,ignoreCase:null!==r,location:nr()}},It=function(t,r){return t.charCodeAt(0)>r.charCodeAt(0)&&or("Invalid character range: "+e.substring(Kt,Xt)+"."),[t,r]},Nt=function(){return""},kt=function(){return"\0"},Ht=function(){return"\b"},Ut=function(){return"\f"},jt=function(){return"\n"},Gt=function(){return"\r"},Vt=function(){return"\t"},Yt=function(){return"\v"},Wt=function(e){return String.fromCharCode(parseInt(e,16))},zt=function(e){return String.fromCharCode(parseInt(e,16))},Jt=function(){return{type:"any",location:nr()}},Qt=function(e){return[e,nr()]},qt=function(e){return parseInt(e,10)},Xt=0,Kt=0,Zt=[{line:1,column:1}],er=0,tr=[],rr=0;if("startRule"in t){if(!(t.startRule in u))throw new Error("Can't start parsing from rule \""+t.startRule+'".');a=u[t.startRule]}function nr(){return cr(Kt,Xt)}function or(e,t){throw function(e,t){return new peg$SyntaxError(e,null,null,t)}(e,t=void 0!==t?t:cr(Kt,Xt))}function ur(e,t){return{type:"literal",text:e,ignoreCase:t}}function ar(e,t,r){return{type:"class",parts:e,inverted:t,ignoreCase:r}}function ir(e){return{type:"other",description:e}}function sr(t){var r,n=Zt[t];if(n)return n;if(t>=Zt.length)r=Zt.length-1;else for(r=t;!Zt[--r];);for(n={line:(n=Zt[r]).line,column:n.column};rer&&(er=Xt,tr=[]),tr.push(e))}function pr(){var t,r,o,u,a,c;if(t=Xt,Vr(),r=Xt,o=function(){var t,r,o,u;return t=Xt,123===e.charCodeAt(Xt)?(r=i,Xt++):(r=n,0===rr&&lr(oe)),r!==n&&(o=jr())!==n?(125===e.charCodeAt(Xt)?(u=s,Xt++):(u=n,0===rr&&lr(ue)),u!==n&&Yr()!==n?(Kt=t,t=pt(o)):(Xt=t,t=n)):(Xt=t,t=n),t}(),o!==n?(u=Vr(),r=o):(Xt=r,r=n),r===n&&(r=null),o=Xt,u=function(){var e,t;return e=Xt,(t=jr())!==n&&Yr()!==n?(Kt=e,e=ft(t)):(Xt=e,e=n),e}(),u!==n?(a=Vr(),o=u):(Xt=o,o=n),o===n&&(o=null),u=[],a=Xt,(c=fr())!==n?(Vr(),a=c):(Xt=a,a=n),a!==n)for(;a!==n;)u.push(a),a=Xt,(c=fr())!==n?(Vr(),a=c):(Xt=a,a=n);else u=n;return u!==n?(Kt=t,t=lt(r,o,u)):(Xt=t,t=n),t}function fr(){var t,r,o,u,a;return t=Xt,(r=Dr())!==n?(Vr(),o=Xt,(u=Rr())!==n?(Vr(),o=u):(Xt=o,o=n),o===n&&(o=null),61===e.charCodeAt(Xt)?(u=c,Xt++):(u=n,0===rr&&lr(ae)),u!==n?(Vr(),(a=hr())!==n&&Yr()!==n?(Kt=t,t=ht(r,o,a)):(Xt=t,t=n)):(Xt=t,t=n)):(Xt=t,t=n),t}function hr(){var t,r,o,u,a,i;if(t=Xt,(r=dr())!==n){for(o=[],u=Xt,Vr(),47===e.charCodeAt(Xt)?(a=l,Xt++):(a=n,0===rr&&lr(ie)),a!==n?(Vr(),(i=dr())!==n?u=i:(Xt=u,u=n)):(Xt=u,u=n);u!==n;)o.push(u),u=Xt,Vr(),47===e.charCodeAt(Xt)?(a=l,Xt++):(a=n,0===rr&&lr(ie)),a!==n?(Vr(),(i=dr())!==n?u=i:(Xt=u,u=n)):(Xt=u,u=n);Kt=t,t=dt(r,o)}else Xt=t,t=n;return t}function dr(){var e,t,r,o;return e=Xt,t=function(){var e,t,r,o,u;if(e=Xt,(t=gr())!==n){for(r=[],o=Xt,Vr(),(u=gr())!==n?o=u:(Xt=o,o=n);o!==n;)r.push(o),o=Xt,Vr(),(u=gr())!==n?o=u:(Xt=o,o=n);Kt=e,e=At(t,r)}else Xt=e,e=n;return e}(),t!==n?(r=Xt,Vr(),(o=jr())!==n?r=o:(Xt=r,r=n),r===n&&(r=null),Kt=e,e=gt(t,r)):(Xt=e,e=n),e}function gr(){var t,r,o,u;return t=Xt,r=function(){var t,r;return t=Xt,64===e.charCodeAt(Xt)?(r=p,Xt++):(r=n,0===rr&&lr(se)),r!==n&&(Kt=t,r=_t()),t=r}(),r!==n?((o=Ar())===n&&(o=null),(u=mr())!==n?(Kt=t,t=mt(r,o,u)):(Xt=t,t=n)):(Xt=t,t=n),t===n&&(t=Xt,(r=Ar())!==n?(o=Vr(),(u=mr())!==n?(Kt=t,t=Et(r,u)):(Xt=t,t=n)):(Xt=t,t=n),t===n&&(t=mr())),t}function Ar(){var t,r,o;return t=Xt,(r=Dr())!==n?(Vr(),58===e.charCodeAt(Xt)?(o=f,Xt++):(o=n,0===rr&&lr(ce)),o!==n?(Kt=t,t=vt(r)):(Xt=t,t=n)):(Xt=t,t=n),t}function mr(){var t,r,o;return t=Xt,r=function(){var t;return t=e.charAt(Xt),j.test(t)?Xt++:(t=n,0===rr&&lr(le)),t}(),r!==n?(Vr(),(o=Er())!==n?(Kt=t,t=Ct(r,o)):(Xt=t,t=n)):(Xt=t,t=n),t===n&&(t=Er()),t}function Er(){var t,r,o;return t=Xt,(r=vr())!==n?(Vr(),o=function(){var t;return t=e.charAt(Xt),G.test(t)?Xt++:(t=n,0===rr&&lr(pe)),t}(),o!==n?(Kt=t,t=$t(r,o)):(Xt=t,t=n)):(Xt=t,t=n),t===n&&(t=function(){var t,r,o,u,a,i,s;return t=Xt,(r=vr())!==n?(Vr(),124===e.charCodeAt(Xt)?(o=h,Xt++):(o=n,0===rr&&lr(fe)),o!==n?(Vr(),u=function(){var t,r,o,u;return t=Xt,(r=_r())===n&&(r=null),Vr(),e.substr(Xt,2)===g?(o=g,Xt+=2):(o=n,0===rr&&lr(de)),o!==n?(Vr(),(u=_r())===n&&(u=null),Kt=t,t=yt(r,u)):(Xt=t,t=n),t===n&&(t=Xt,(r=_r())!==n&&(Kt=t,r=Ft(r)),t=r),t}(),u!==n?(Vr(),a=Xt,44===e.charCodeAt(Xt)?(i=d,Xt++):(i=n,0===rr&&lr(he)),i!==n?(Vr(),(s=hr())!==n?(Vr(),a=s):(Xt=a,a=n)):(Xt=a,a=n),a===n&&(a=null),124===e.charCodeAt(Xt)?(i=h,Xt++):(i=n,0===rr&&lr(fe)),i!==n?(Kt=t,t=St(r,u,a)):(Xt=t,t=n)):(Xt=t,t=n)):(Xt=t,t=n)):(Xt=t,t=n),t}(),t===n&&(t=vr())),t}function _r(){var t,r;return t=Xt,r=function(){var t,r,o,u;if(t=Xt,r=Xt,o=[],(u=Hr())!==n)for(;u!==n;)o.push(u),u=Hr();else o=n;return(r=o!==n?e.substring(r,Xt):o)!==n&&(Kt=t,r=qt(r)),t=r}(),r!==n&&(Kt=t,r=Pt(r)),(t=r)===n&&(t=Xt,(r=Dr())!==n&&(Kt=t,r=xt(r)),(t=r)===n&&(t=Xt,(r=jr())!==n&&(Kt=t,r=Dt(r)),t=r)),t}function vr(){var t,r,o,u;return t=function(){var t,r,o;return rr++,t=Xt,(r=Rr())!==n?(105===e.charCodeAt(Xt)?(o=y,Xt++):(o=n,0===rr&&lr(Te)),o===n&&(o=null),Kt=t,t=Lt(r,o)):(Xt=t,t=n),rr--,t===n&&(r=n,0===rr&&lr(Me)),t}(),t===n&&(t=function(){var t,r,o,u,a,i;if(rr++,t=Xt,91===e.charCodeAt(Xt)?(r=x,Xt++):(r=n,0===rr&&lr(je)),r!==n){for(94===e.charCodeAt(Xt)?(o=D,Xt++):(o=n,0===rr&&lr(Ge)),o===n&&(o=null),u=[],(a=Mr())===n&&(a=Tr());a!==n;)u.push(a),(a=Mr())===n&&(a=Tr());93===e.charCodeAt(Xt)?(a=b,Xt++):(a=n,0===rr&&lr(Ve)),a!==n?(105===e.charCodeAt(Xt)?(i=y,Xt++):(i=n,0===rr&&lr(Te)),i===n&&(i=null),Kt=t,t=wt(o,u,i)):(Xt=t,t=n)}else Xt=t,t=n;return rr--,t===n&&(r=n,0===rr&&lr(Ue)),t}(),t===n&&(t=function(){var t,r;return t=Xt,46===e.charCodeAt(Xt)?(r=H,Xt++):(r=n,0===rr&&lr(at)),r!==n&&(Kt=t,r=Jt()),t=r}(),t===n&&(t=function(){var t,r,o,u,a,i,s;return t=Xt,(r=Dr())!==n?(o=Xt,rr++,u=Xt,a=Vr(),i=Xt,(s=Rr())!==n?i=s=[s,Vr()]:(Xt=i,i=n),i===n&&(i=null),61===e.charCodeAt(Xt)?(s=c,Xt++):(s=n,0===rr&&lr(ae)),s!==n?u=a=[a,i,s]:(Xt=u,u=n),rr--,u===n?o=void 0:(Xt=o,o=n),o!==n?(Kt=t,t=Bt(r)):(Xt=t,t=n)):(Xt=t,t=n),t}(),t===n&&(t=function(){var t,r,o;return t=Xt,r=function(){var t;return t=e.charAt(Xt),V.test(t)?Xt++:(t=n,0===rr&&lr(me)),t}(),r!==n?(Vr(),(o=jr())!==n?(Kt=t,t=Rt(r,o)):(Xt=t,t=n)):(Xt=t,t=n),t}(),t===n&&(t=Xt,40===e.charCodeAt(Xt)?(r=A,Xt++):(r=n,0===rr&&lr(ge)),r!==n?(Vr(),(o=hr())!==n?(Vr(),41===e.charCodeAt(Xt)?(u=m,Xt++):(u=n,0===rr&&lr(Ae)),u!==n?(Kt=t,t=bt(o)):(Xt=t,t=n)):(Xt=t,t=n)):(Xt=t,t=n)))))),t}function Cr(){var t;return e.length>Xt?(t=e.charAt(Xt),Xt++):(t=n,0===rr&&lr(Ee)),t}function $r(){var t;return rr++,t=e.charAt(Xt),Y.test(t)?Xt++:(t=n,0===rr&&lr(ve)),rr--,t===n&&0===rr&&lr(_e),t}function Sr(){var t;return t=e.charAt(Xt),W.test(t)?Xt++:(t=n,0===rr&&lr(Ce)),t}function yr(){var t;return rr++,10===e.charCodeAt(Xt)?(t=E,Xt++):(t=n,0===rr&&lr(Se)),t===n&&(e.substr(Xt,2)===_?(t=_,Xt+=2):(t=n,0===rr&&lr(ye)),t===n&&(t=e.charAt(Xt),z.test(t)?Xt++:(t=n,0===rr&&lr(Fe)))),rr--,t===n&&0===rr&&lr($e),t}function Fr(){var t;return rr++,(t=function(){var t,r,o,u,a,i;if(t=Xt,e.substr(Xt,2)===v?(r=v,Xt+=2):(r=n,0===rr&&lr(xe)),r!==n){for(o=[],u=Xt,a=Xt,rr++,e.substr(Xt,2)===C?(i=C,Xt+=2):(i=n,0===rr&&lr(De)),rr--,i===n?a=void 0:(Xt=a,a=n),a!==n&&(i=Cr())!==n?u=a=[a,i]:(Xt=u,u=n);u!==n;)o.push(u),u=Xt,a=Xt,rr++,e.substr(Xt,2)===C?(i=C,Xt+=2):(i=n,0===rr&&lr(De)),rr--,i===n?a=void 0:(Xt=a,a=n),a!==n&&(i=Cr())!==n?u=a=[a,i]:(Xt=u,u=n);e.substr(Xt,2)===C?(u=C,Xt+=2):(u=n,0===rr&&lr(De)),u!==n?t=r=[r,o,u]:(Xt=t,t=n)}else Xt=t,t=n;return t}())===n&&(t=xr()),rr--,t===n&&0===rr&&lr(Pe),t}function Pr(){var t,r,o,u,a,i;if(t=Xt,e.substr(Xt,2)===v?(r=v,Xt+=2):(r=n,0===rr&&lr(xe)),r!==n){for(o=[],u=Xt,a=Xt,rr++,e.substr(Xt,2)===C?(i=C,Xt+=2):(i=n,0===rr&&lr(De)),i===n&&(i=Sr()),rr--,i===n?a=void 0:(Xt=a,a=n),a!==n&&(i=Cr())!==n?u=a=[a,i]:(Xt=u,u=n);u!==n;)o.push(u),u=Xt,a=Xt,rr++,e.substr(Xt,2)===C?(i=C,Xt+=2):(i=n,0===rr&&lr(De)),i===n&&(i=Sr()),rr--,i===n?a=void 0:(Xt=a,a=n),a!==n&&(i=Cr())!==n?u=a=[a,i]:(Xt=u,u=n);e.substr(Xt,2)===C?(u=C,Xt+=2):(u=n,0===rr&&lr(De)),u!==n?t=r=[r,o,u]:(Xt=t,t=n)}else Xt=t,t=n;return t}function xr(){var t,r,o,u,a,i;if(t=Xt,e.substr(Xt,2)===$?(r=$,Xt+=2):(r=n,0===rr&&lr(be)),r!==n){for(o=[],u=Xt,a=Xt,rr++,i=Sr(),rr--,i===n?a=void 0:(Xt=a,a=n),a!==n&&(i=Cr())!==n?u=a=[a,i]:(Xt=u,u=n);u!==n;)o.push(u),u=Xt,a=Xt,rr++,i=Sr(),rr--,i===n?a=void 0:(Xt=a,a=n),a!==n&&(i=Cr())!==n?u=a=[a,i]:(Xt=u,u=n);t=r=[r,o]}else Xt=t,t=n;return t}function Dr(){var e,t,r,o;if(rr++,e=Xt,(t=br())!==n){for(r=[],o=Br();o!==n;)r.push(o),o=Br();Kt=e,e=Ot(t,r)}else Xt=e,e=n;return rr--,e===n&&(t=n,0===rr&&lr(Be)),e}function br(){var t,r,o;return t=e.charAt(Xt),J.test(t)?Xt++:(t=n,0===rr&&lr(Re)),t===n&&(t=Xt,92===e.charCodeAt(Xt)?(r=S,Xt++):(r=n,0===rr&&lr(Oe)),r!==n&&(o=kr())!==n?t=o:(Xt=t,t=n)),t}function Br(){var t;return(t=br())===n&&(t=e.charAt(Xt),Q.test(t)?Xt++:(t=n,0===rr&&lr(Le))),t}function Rr(){var t,r,o,u;if(rr++,t=Xt,34===e.charCodeAt(Xt)?(r=F,Xt++):(r=n,0===rr&&lr(Ie)),r!==n){for(o=[],u=Or();u!==n;)o.push(u),u=Or();34===e.charCodeAt(Xt)?(u=F,Xt++):(u=n,0===rr&&lr(Ie)),u!==n?(Kt=t,t=Mt(o)):(Xt=t,t=n)}else Xt=t,t=n;if(t===n)if(t=Xt,39===e.charCodeAt(Xt)?(r=P,Xt++):(r=n,0===rr&&lr(Ne)),r!==n){for(o=[],u=Lr();u!==n;)o.push(u),u=Lr();39===e.charCodeAt(Xt)?(u=P,Xt++):(u=n,0===rr&&lr(Ne)),u!==n?(Kt=t,t=Tt(o)):(Xt=t,t=n)}else Xt=t,t=n;return rr--,t===n&&(r=n,0===rr&&lr(we)),t}function Or(){var t,r,o,u;return t=Xt,r=Xt,o=Xt,rr++,u=e.charAt(Xt),q.test(u)?Xt++:(u=n,0===rr&&lr(ke)),rr--,u===n?o=void 0:(Xt=o,o=n),o!==n&&(u=Cr())!==n?r=o=[o,u]:(Xt=r,r=n),(t=r!==n?e.substring(t,Xt):r)===n&&(t=Xt,92===e.charCodeAt(Xt)?(r=S,Xt++):(r=n,0===rr&&lr(Oe)),r!==n&&(o=Ir())!==n?t=o:(Xt=t,t=n),t===n&&(t=wr())),t}function Lr(){var t,r,o,u;return t=Xt,r=Xt,o=Xt,rr++,u=e.charAt(Xt),X.test(u)?Xt++:(u=n,0===rr&&lr(He)),rr--,u===n?o=void 0:(Xt=o,o=n),o!==n&&(u=Cr())!==n?r=o=[o,u]:(Xt=r,r=n),(t=r!==n?e.substring(t,Xt):r)===n&&(t=Xt,92===e.charCodeAt(Xt)?(r=S,Xt++):(r=n,0===rr&&lr(Oe)),r!==n&&(o=Ir())!==n?t=o:(Xt=t,t=n),t===n&&(t=wr())),t}function Mr(){var t,r,o,u;return t=Xt,(r=Tr())!==n?(45===e.charCodeAt(Xt)?(o=B,Xt++):(o=n,0===rr&&lr(Ye)),o!==n&&(u=Tr())!==n?(Kt=t,t=It(r,u)):(Xt=t,t=n)):(Xt=t,t=n),t}function Tr(){var t,r,o,u;return t=Xt,r=Xt,o=Xt,rr++,u=e.charAt(Xt),K.test(u)?Xt++:(u=n,0===rr&&lr(We)),rr--,u===n?o=void 0:(Xt=o,o=n),o!==n&&(u=Cr())!==n?r=o=[o,u]:(Xt=r,r=n),(t=r!==n?e.substring(t,Xt):r)===n&&(t=Xt,92===e.charCodeAt(Xt)?(r=S,Xt++):(r=n,0===rr&&lr(Oe)),r!==n&&(o=Ir())!==n?t=o:(Xt=t,t=n),t===n&&(t=wr())),t}function wr(){var t,r;return t=Xt,92===e.charCodeAt(Xt)?(r=S,Xt++):(r=n,0===rr&&lr(Oe)),r!==n&&yr()!==n?(Kt=t,t=Nt()):(Xt=t,t=n),t}function Ir(){var t,r,o,u;return t=function(){var t;return(t=Nr())===n&&(t=function(){var t,r,o,u;return t=Xt,r=Xt,o=Xt,rr++,u=function(){var t;return(t=Nr())===n&&(t=e.charAt(Xt),ee.test(t)?Xt++:(t=n,0===rr&&lr(tt))),t}(),u===n&&(u=Sr()),rr--,u===n?o=void 0:(Xt=o,o=n),o!==n&&(u=Cr())!==n?r=o=[o,u]:(Xt=r,r=n),t=r!==n?e.substring(t,Xt):r}()),t}(),t===n&&(t=Xt,48===e.charCodeAt(Xt)?(r=R,Xt++):(r=n,0===rr&&lr(ze)),r!==n?(o=Xt,rr++,u=Hr(),rr--,u===n?o=void 0:(Xt=o,o=n),o!==n?(Kt=t,t=kt()):(Xt=t,t=n)):(Xt=t,t=n),t===n&&(t=function(){var t,r,o,u,a,i;return t=Xt,120===e.charCodeAt(Xt)?(r=N,Xt++):(r=n,0===rr&&lr(rt)),r!==n?(o=Xt,u=Xt,(a=Ur())!==n&&(i=Ur())!==n?u=a=[a,i]:(Xt=u,u=n),(o=u!==n?e.substring(o,Xt):u)!==n?(Kt=t,t=Wt(o)):(Xt=t,t=n)):(Xt=t,t=n),t}(),t===n&&(t=kr()))),t}function Nr(){var t,r;return t=e.charAt(Xt),Z.test(t)?Xt++:(t=n,0===rr&&lr(Je)),t===n&&(t=Xt,98===e.charCodeAt(Xt)?(r=O,Xt++):(r=n,0===rr&&lr(Qe)),r!==n&&(Kt=t,r=Ht()),(t=r)===n&&(t=Xt,102===e.charCodeAt(Xt)?(r=L,Xt++):(r=n,0===rr&&lr(qe)),r!==n&&(Kt=t,r=Ut()),(t=r)===n&&(t=Xt,110===e.charCodeAt(Xt)?(r=M,Xt++):(r=n,0===rr&&lr(Xe)),r!==n&&(Kt=t,r=jt()),(t=r)===n&&(t=Xt,114===e.charCodeAt(Xt)?(r=T,Xt++):(r=n,0===rr&&lr(Ke)),r!==n&&(Kt=t,r=Gt()),(t=r)===n&&(t=Xt,116===e.charCodeAt(Xt)?(r=w,Xt++):(r=n,0===rr&&lr(Ze)),r!==n&&(Kt=t,r=Vt()),(t=r)===n&&(t=Xt,118===e.charCodeAt(Xt)?(r=I,Xt++):(r=n,0===rr&&lr(et)),r!==n&&(Kt=t,r=Yt()),t=r)))))),t}function kr(){var t,r,o,u,a,i,s,c;return t=Xt,117===e.charCodeAt(Xt)?(r=k,Xt++):(r=n,0===rr&&lr(nt)),r!==n?(o=Xt,u=Xt,(a=Ur())!==n&&(i=Ur())!==n&&(s=Ur())!==n&&(c=Ur())!==n?u=a=[a,i,s,c]:(Xt=u,u=n),(o=u!==n?e.substring(o,Xt):u)!==n?(Kt=t,t=zt(o)):(Xt=t,t=n)):(Xt=t,t=n),t}function Hr(){var t;return t=e.charAt(Xt),te.test(t)?Xt++:(t=n,0===rr&&lr(ot)),t}function Ur(){var t;return t=e.charAt(Xt),re.test(t)?Xt++:(t=n,0===rr&&lr(ut)),t}function jr(){var t,r,o,u;return rr++,t=Xt,123===e.charCodeAt(Xt)?(r=i,Xt++):(r=n,0===rr&&lr(oe)),r!==n?(o=function(){var e,t;return e=Xt,t=Gr(),Kt=e,e=t=Qt(t)}(),125===e.charCodeAt(Xt)?(u=s,Xt++):(u=n,0===rr&&lr(ue)),u!==n?t=o:(Xt=t,t=n)):(Xt=t,t=n),rr--,t===n&&(r=n,0===rr&&lr(it)),t}function Gr(){var t,r,o,u,a,c;if(t=Xt,r=[],o=[],u=Xt,a=Xt,rr++,c=e.charAt(Xt),ne.test(c)?Xt++:(c=n,0===rr&&lr(st)),rr--,c===n?a=void 0:(Xt=a,a=n),a!==n&&(c=Cr())!==n?u=a=[a,c]:(Xt=u,u=n),u!==n)for(;u!==n;)o.push(u),u=Xt,a=Xt,rr++,c=e.charAt(Xt),ne.test(c)?Xt++:(c=n,0===rr&&lr(st)),rr--,c===n?a=void 0:(Xt=a,a=n),a!==n&&(c=Cr())!==n?u=a=[a,c]:(Xt=u,u=n);else o=n;for(o===n&&(o=Xt,123===e.charCodeAt(Xt)?(u=i,Xt++):(u=n,0===rr&&lr(oe)),u!==n?(a=Gr(),125===e.charCodeAt(Xt)?(c=s,Xt++):(c=n,0===rr&&lr(ue)),c!==n?o=u=[u,a,c]:(Xt=o,o=n)):(Xt=o,o=n));o!==n;){if(r.push(o),o=[],u=Xt,a=Xt,rr++,c=e.charAt(Xt),ne.test(c)?Xt++:(c=n,0===rr&&lr(st)),rr--,c===n?a=void 0:(Xt=a,a=n),a!==n&&(c=Cr())!==n?u=a=[a,c]:(Xt=u,u=n),u!==n)for(;u!==n;)o.push(u),u=Xt,a=Xt,rr++,c=e.charAt(Xt),ne.test(c)?Xt++:(c=n,0===rr&&lr(st)),rr--,c===n?a=void 0:(Xt=a,a=n),a!==n&&(c=Cr())!==n?u=a=[a,c]:(Xt=u,u=n);else o=n;o===n&&(o=Xt,123===e.charCodeAt(Xt)?(u=i,Xt++):(u=n,0===rr&&lr(oe)),u!==n?(a=Gr(),125===e.charCodeAt(Xt)?(c=s,Xt++):(c=n,0===rr&&lr(ue)),c!==n?o=u=[u,a,c]:(Xt=o,o=n)):(Xt=o,o=n))}return e.substring(t,Xt)}function Vr(){var e,t;for(e=[],(t=$r())===n&&(t=yr())===n&&(t=Fr());t!==n;)e.push(t),(t=$r())===n&&(t=yr())===n&&(t=Fr());return e}function Yr(){var t,r,o,u;if(t=[],r=Xt,o=Vr(),59===e.charCodeAt(Xt)?(u=U,Xt++):(u=n,0===rr&&lr(ct)),u!==n?r=o=[o,u]:(Xt=r,r=n),r!==n)for(;r!==n;)t.push(r),r=Xt,o=Vr(),59===e.charCodeAt(Xt)?(u=U,Xt++):(u=n,0===rr&&lr(ct)),u!==n?r=o=[o,u]:(Xt=r,r=n);else t=n;return t===n&&(t=Xt,r=function(){var e,t;for(e=[],(t=$r())===n&&(t=Pr());t!==n;)e.push(t),(t=$r())===n&&(t=Pr());return e}(),(o=xr())===n&&(o=null),(u=yr())!==n?t=r=[r,o,u]:(Xt=t,t=n),t===n&&(t=Xt,r=Vr(),o=function(){var t,r;return t=Xt,rr++,e.length>Xt?(r=e.charAt(Xt),Xt++):(r=n,0===rr&&lr(Ee)),rr--,r===n?t=void 0:(Xt=t,t=n),t}(),o!==n?t=r=[r,o]:(Xt=t,t=n))),t}var Wr=t.reservedWords||[];if((r=a())!==n&&Xt===e.length)return r;throw r!==n&&Xt0){for(t=1,r=1;t1&&e.delimiter&&o(e.delimiter)))},semantic_and:n,semantic_not:n,rule_ref:function(t){var r=asts$7.findRule(e,t.name);return r?o(r):void 0},literal:function(e){return""!==e.value},class:r,any:r});return o(t)}},asts_1=asts$7,opcodes={PUSH:0,PUSH_EMPTY_STRING:35,PUSH_UNDEFINED:1,PUSH_NULL:2,PUSH_FAILED:3,PUSH_EMPTY_ARRAY:4,PUSH_CURR_POS:5,POP:6,POP_CURR_POS:7,POP_N:8,NIP:9,APPEND:10,WRAP:11,TEXT:12,PLUCK:36,IF:13,IF_ERROR:14,IF_NOT_ERROR:15,IF_LT:30,IF_GE:31,IF_LT_DYNAMIC:32,IF_GE_DYNAMIC:33,WHILE_NOT_ERROR:16,MATCH_ANY:17,MATCH_STRING:18,MATCH_STRING_IC:19,MATCH_CHAR_CLASS:20,MATCH_REGEXP:20,ACCEPT_N:21,ACCEPT_STRING:22,FAIL:23,LOAD_SAVED_POS:24,UPDATE_SAVED_POS:25,CALL:26,RULE:27,SILENT_FAILS_ON:28,SILENT_FAILS_OFF:29,SOURCE_MAP_PUSH:37,SOURCE_MAP_POP:38,SOURCE_MAP_LABEL_PUSH:39,SOURCE_MAP_LABEL_POP:40},opcodes_1=opcodes,visitor$a=visitor_1,asts$6=asts_1,GrammarError$2=grammarError,ALWAYS_MATCH$1=1,SOMETIMES_MATCH$1=0,NEVER_MATCH$1=-1;function inferenceMatchResult$1(e){function t(e){return e.match=SOMETIMES_MATCH$1}function r(e){return u(e.expression),e.match=ALWAYS_MATCH$1}function n(e){return e.match=u(e.expression)}function o(e,t){for(var r=e.length,n=0,o=0,a=0;a0?NEVER_MATCH$1:SOMETIMES_MATCH$1}var u=visitor$a.build({rule:function(e){var t=void 0,r=0;if(void 0===e.match){e.match=SOMETIMES_MATCH$1;do{if(t=e.match,e.match=u(e.expression),++r>6)throw new GrammarError$2("Infinity cycle detected when trying to evaluate node match result",e.location)}while(t!==e.match)}return e.match},named:n,choice:function(e){return e.match=o(e.alternatives,!0)},action:n,sequence:function(e){return e.match=o(e.elements,!1)},labeled:n,text:n,simple_and:n,simple_not:function(e){return e.match=-u(e.expression)},optional:r,zero_or_more:r,one_or_more:n,repeated:function(e){var t=u(e.expression),r=e.delimiter?u(e.delimiter):NEVER_MATCH$1,n=e.min?e.min:e.max;return"constant"!==n.type||"constant"!==e.max.type?e.match=SOMETIMES_MATCH$1:0===e.max.value||null!==e.max.value&&n.value>e.max.value?e.match=NEVER_MATCH$1:t===NEVER_MATCH$1?e.match=0===n.value?ALWAYS_MATCH$1:NEVER_MATCH$1:t===ALWAYS_MATCH$1?e.delimiter&&n.value>=2?e.match=r:e.match=ALWAYS_MATCH$1:e.delimiter&&n.value>=2?e.match=r===NEVER_MATCH$1?NEVER_MATCH$1:SOMETIMES_MATCH$1:e.match=0===n.value?ALWAYS_MATCH$1:SOMETIMES_MATCH$1},group:n,semantic_and:t,semantic_not:t,rule_ref:function(t){var r=asts$6.findRule(e,t.name);return t.match=u(r)},literal:function(e){var t=0===e.value.length?ALWAYS_MATCH$1:SOMETIMES_MATCH$1;return e.match=t},class:function(e){var t=0===e.parts.length?NEVER_MATCH$1:SOMETIMES_MATCH$1;return e.match=t},any:t});u(e)}inferenceMatchResult$1.ALWAYS_MATCH=ALWAYS_MATCH$1,inferenceMatchResult$1.SOMETIMES_MATCH=SOMETIMES_MATCH$1,inferenceMatchResult$1.NEVER_MATCH=NEVER_MATCH$1;var inferenceMatchResult_1=inferenceMatchResult$1,__spreadArray$3=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var n,o=0,u=t.length;o1?h(SOMETIMES_MATCH,[op$1.IF_ERROR],f([op$1.POP],e(t.slice(1),r)),[]):[])}(e.alternatives,t)},action:function(e,t){var r=p(t.env),n="sequence"!==e.expression.type||0===e.expression.elements.length,o=C(e.expression,{sp:t.sp+(n?1:0),env:r,action:e}),u=0|e.expression.match,a=n&&u!==NEVER_MATCH?c(!1,Object.keys(r),e):null;return n?f([op$1.PUSH_CURR_POS],o,h(u,[op$1.IF_NOT_ERROR],f([op$1.LOAD_SAVED_POS,1],d(a,1,r,t.sp+2)),[]),[op$1.NIP]):o},sequence:function(e,t){return f([op$1.PUSH_CURR_POS],function t(r,n){if(r.length>0){var o=e.elements.length-r.length+1;return f(C(r[0],{sp:n.sp,env:n.env,pluck:n.pluck,action:null}),h(0|r[0].match,[op$1.IF_NOT_ERROR],t(r.slice(1),{sp:n.sp+1,env:n.env,pluck:n.pluck,action:n.action}),f(o>1?[op$1.POP_N,o]:[op$1.POP],[op$1.POP_CURR_POS],[op$1.PUSH_FAILED])))}if(n.pluck.length>0)return f([op$1.PLUCK,e.elements.length+1,n.pluck.length],n.pluck.map((function(e){return n.sp-e})));if(n.action){var u=c(!1,Object.keys(n.env),n.action);return f([op$1.LOAD_SAVED_POS,e.elements.length],d(u,e.elements.length+1,n.env,n.sp))}return f([op$1.WRAP,e.elements.length],[op$1.NIP])}(e.elements,{sp:t.sp+1,env:t.env,pluck:[],action:t.action}))},labeled:function(e,r){var n=r.env,o=e.label,u=r.sp+1;o&&(n=p(r.env),r.env[e.label]=u),e.pick&&r.pluck.push(u);var a=C(e.expression,{sp:r.sp,env:n,action:null});return o&&e.labelLocation&&t&&"source-and-map"===t.output?f([op$1.SOURCE_MAP_LABEL_PUSH,u,i(o),l(e.labelLocation)],a,[op$1.SOURCE_MAP_LABEL_POP,u]):a},text:function(e,t){return f([op$1.PUSH_CURR_POS],C(e.expression,{sp:t.sp+1,env:p(t.env),action:null}),h(0|e.match,[op$1.IF_NOT_ERROR],f([op$1.POP],[op$1.TEXT]),[op$1.NIP]))},simple_and:function(e,t){return g(e.expression,!1,t)},simple_not:function(e,t){return g(e.expression,!0,t)},optional:function(e,t){return f(C(e.expression,{sp:t.sp,env:p(t.env),action:null}),h(-(0|e.expression.match),[op$1.IF_ERROR],f([op$1.POP],[op$1.PUSH_NULL]),[]))},zero_or_more:function(e,t){var r=C(e.expression,{sp:t.sp+1,env:p(t.env),action:null});return f([op$1.PUSH_EMPTY_ARRAY],r,m(r),[op$1.POP])},one_or_more:function(e,t){var r=C(e.expression,{sp:t.sp+1,env:p(t.env),action:null});return f([op$1.PUSH_EMPTY_ARRAY],r,h(0|e.expression.match,[op$1.IF_NOT_ERROR],f(m(r),[op$1.POP]),f([op$1.POP],[op$1.POP],[op$1.PUSH_FAILED])))},repeated:function(e,t){var r=e.min?e.min:e.max,n="constant"!==r.type||r.value>0,o="constant"!==e.max.type&&null!==e.max.value,u=n?2:1,a=e.min?E(e.min,t.env,t.sp,2+("function"===e.max.type?1:0)):{pre:[],post:[],sp:t.sp},i=E(e.max,t.env,a.sp,u),s=C(e.expression,{sp:i.sp+u,env:p(t.env),action:null}),c=null!==e.delimiter?C(e.expression,{sp:i.sp+u+1,env:p(t.env),action:null}):s,l=function(e,t,r,n,o){return e?f([op$1.PUSH_CURR_POS],C(e,{sp:n.sp+o+1,env:p(n.env),action:null}),h(0|e.match,[op$1.IF_NOT_ERROR],f([op$1.POP],r,h(-t,[op$1.IF_ERROR],[op$1.POP,op$1.POP_CURR_POS,op$1.PUSH_FAILED],[op$1.NIP])),[op$1.NIP])):r}(e.delimiter,0|e.expression.match,c,t,u),d=_(l,e.max),g=o?_(s,e.max):s,A=f(n?[op$1.PUSH_CURR_POS]:[],[op$1.PUSH_EMPTY_ARRAY],g,m(d),[op$1.POP]);return f(a.pre,i.pre,n?function(e,t){var r="constant"===t.type?[op$1.IF_LT,t.value]:[op$1.IF_LT_DYNAMIC,t.sp];return f(e,h(SOMETIMES_MATCH,r,[op$1.POP,op$1.POP_CURR_POS,op$1.PUSH_FAILED],[op$1.NIP]))}(A,r):A,i.post,a.post)},group:function(e,t){return C(e.expression,{sp:t.sp,env:p(t.env),action:null})},semantic_and:function(e,t){return A(e,!1,t)},semantic_not:function(e,t){return A(e,!0,t)},rule_ref:function(t){return[op$1.RULE,asts$5.indexOfRule(e,t.name)]},literal:function(e){if(e.value.length>0){var t=0|e.match,r=t===SOMETIMES_MATCH||t===ALWAYS_MATCH&&!e.ignoreCase?i(e.ignoreCase?e.value.toLowerCase():e.value):null,n=t!==ALWAYS_MATCH?s({type:"literal",value:e.value,ignoreCase:e.ignoreCase}):null;return h(t,e.ignoreCase?[op$1.MATCH_STRING_IC,r]:[op$1.MATCH_STRING,r],e.ignoreCase?[op$1.ACCEPT_N,e.value.length]:[op$1.ACCEPT_STRING,r],[op$1.FAIL,n])}return[op$1.PUSH_EMPTY_STRING]},class:function(e){var t=0|e.match,r=t===SOMETIMES_MATCH?function(e){var t={value:e.parts,inverted:e.inverted,ignoreCase:e.ignoreCase},r=JSON.stringify(t),o=n.findIndex((function(e){return JSON.stringify(e)===r}));return-1===o?n.push(t)-1:o}(e):null,o=t!==ALWAYS_MATCH?s({type:"class",value:e.parts,inverted:e.inverted,ignoreCase:e.ignoreCase}):null;return h(t,[op$1.MATCH_CHAR_CLASS,r],[op$1.ACCEPT_N,1],[op$1.FAIL,o])},any:function(e){var t=0|e.match,r=t!==ALWAYS_MATCH?s({type:"any"}):null;return h(t,[op$1.MATCH_ANY],[op$1.ACCEPT_N,1],[op$1.FAIL,r])}},t&&"source-and-map"===t.output&&Object.entries(v).forEach((function(e){var t=e[0],r=e[1];v[t]=function(e){for(var t=[],n=1;n>>=VLQ_BASE_SHIFT,n>0&&(t|=VLQ_CONTINUATION_BIT),r+=base64$2.encode(t)}while(n>0);return r};var util$3={};function getArg(e,t,r){if(t in e)return e[t];if(3===arguments.length)return r;throw new Error('"'+t+'" is a required argument.')}util$3.getArg=getArg;const supportsNullProto=!("__proto__"in Object.create(null));function identity(e){return e}function toSetString(e){return isProtoString(e)?"$"+e:e}function fromSetString(e){return isProtoString(e)?e.slice(1):e}function isProtoString(e){if(!e)return!1;const t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(let r=t-10;r>=0;r--)if(36!==e.charCodeAt(r))return!1;return!0}function strcmp(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}function compareByGeneratedPositionsInflated(e,t){let r=e.generatedLine-t.generatedLine;return 0!==r?r:(r=e.generatedColumn-t.generatedColumn,0!==r?r:(r=strcmp(e.source,t.source),0!==r?r:(r=e.originalLine-t.originalLine,0!==r?r:(r=e.originalColumn-t.originalColumn,0!==r?r:strcmp(e.name,t.name)))))}util$3.toSetString=supportsNullProto?identity:toSetString,util$3.fromSetString=supportsNullProto?identity:fromSetString,util$3.compareByGeneratedPositionsInflated=compareByGeneratedPositionsInflated;const PROTOCOL="http:",PROTOCOL_AND_HOST=`${PROTOCOL}//host`;function createSafeHandler(e){return t=>{const r=getURLType(t),n=buildSafeBase(t),o=new URL(t,n);e(o);const u=o.toString();return"absolute"===r?u:"scheme-relative"===r?u.slice(PROTOCOL.length):"path-absolute"===r?u.slice(PROTOCOL_AND_HOST.length):computeRelativeURL(n,u)}}function withBase(e,t){return new URL(e,t).toString()}function buildUniqueSegment(e,t){let r=0;for(;;){const n=e+r++;if(-1===t.indexOf(n))return n}}function buildSafeBase(e){const t=e.split("..").length-1,r=buildUniqueSegment("p",e);let n=`${PROTOCOL_AND_HOST}/`;for(let e=0;e0&&!n[n.length-1]&&n.pop();r.length>0&&n.length>0&&r[0]===n[0];)r.shift(),n.shift();return n.map((()=>"..")).concat(r).join("/")+t.search+t.hash}const ensureDirectory=createSafeHandler((e=>{e.pathname=e.pathname.replace(/\/?$/,"/")})),normalize=createSafeHandler((e=>{}));function join(e,t){const r=getURLType(t),n=getURLType(e);if(e=ensureDirectory(e),"absolute"===r)return withBase(t,void 0);if("absolute"===n)return withBase(t,e);if("scheme-relative"===r)return normalize(t);if("scheme-relative"===n)return withBase(t,withBase(e,PROTOCOL_AND_HOST)).slice(PROTOCOL.length);if("path-absolute"===r)return normalize(t);if("path-absolute"===n)return withBase(t,withBase(e,PROTOCOL_AND_HOST)).slice(PROTOCOL_AND_HOST.length);const o=buildSafeBase(t+e);return computeRelativeURL(o,withBase(t,withBase(e,o)))}function relative(e,t){const r=relativeIfPossible(e,t);return"string"==typeof r?r:normalize(t)}function relativeIfPossible(e,t){if(getURLType(e)!==getURLType(t))return null;const r=buildSafeBase(e+t),n=new URL(e,r),o=new URL(t,r);try{new URL("",o.toString())}catch(e){return null}return o.protocol!==n.protocol||o.user!==n.user||o.password!==n.password||o.hostname!==n.hostname||o.port!==n.port?null:computeRelativeURL(n,o)}util$3.normalize=normalize,util$3.join=join,util$3.relative=relative;var arraySet={};let ArraySet$1=class e{constructor(){this._array=[],this._set=new Map}static fromArray(t,r){const n=new e;for(let e=0,o=t.length;e=0)return t;throw new Error('"'+e+'" is not in the set.')}at(e){if(e>=0&&er||n==r&&u>=o||util$2.compareByGeneratedPositionsInflated(e,t)<=0}let MappingList$1=class{constructor(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}unsortedForEach(e,t){this._array.forEach(e,t)}add(e){generatedPositionAfter(this._last,e)?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))}toArray(){return this._sorted||(this._array.sort(util$2.compareByGeneratedPositionsInflated),this._sorted=!0),this._array}};mappingList.MappingList=MappingList$1;const base64VLQ=base64Vlq,util$1=util$3,ArraySet=arraySet.ArraySet,MappingList=mappingList.MappingList;let SourceMapGenerator$1=class e{constructor(e){e||(e={}),this._file=util$1.getArg(e,"file",null),this._sourceRoot=util$1.getArg(e,"sourceRoot",null),this._skipValidation=util$1.getArg(e,"skipValidation",!1),this._sources=new ArraySet,this._names=new ArraySet,this._mappings=new MappingList,this._sourcesContents=null}static fromSourceMap(t){const r=t.sourceRoot,n=new e({file:t.file,sourceRoot:r});return t.eachMapping((function(e){const t={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(t.source=e.source,null!=r&&(t.source=util$1.relative(r,t.source)),t.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(t.name=e.name)),n.addMapping(t)})),t.sources.forEach((function(e){let o=e;null!=r&&(o=util$1.relative(r,e)),n._sources.has(o)||n._sources.add(o);const u=t.sourceContentFor(e);null!=u&&n.setSourceContent(e,u)})),n}addMapping(e){const t=util$1.getArg(e,"generated"),r=util$1.getArg(e,"original",null);let n=util$1.getArg(e,"source",null),o=util$1.getArg(e,"name",null);this._skipValidation||this._validateMapping(t,r,n,o),null!=n&&(n=String(n),this._sources.has(n)||this._sources.add(n)),null!=o&&(o=String(o),this._names.has(o)||this._names.add(o)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:r&&r.line,originalColumn:r&&r.column,source:n,name:o})}setSourceContent(e,t){let r=e;null!=this._sourceRoot&&(r=util$1.relative(this._sourceRoot,r)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[util$1.toSetString(r)]=t):this._sourcesContents&&(delete this._sourcesContents[util$1.toSetString(r)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))}applySourceMap(e,t,r){let n=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');n=e.file}const o=this._sourceRoot;null!=o&&(n=util$1.relative(o,n));const u=this._mappings.toArray().length>0?new ArraySet:this._sources,a=new ArraySet;this._mappings.unsortedForEach((function(t){if(t.source===n&&null!=t.originalLine){const n=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=n.source&&(t.source=n.source,null!=r&&(t.source=util$1.join(r,t.source)),null!=o&&(t.source=util$1.relative(o,t.source)),t.originalLine=n.line,t.originalColumn=n.column,null!=n.name&&(t.name=n.name))}const i=t.source;null==i||u.has(i)||u.add(i);const s=t.name;null==s||a.has(s)||a.add(s)}),this),this._sources=u,this._names=a,e.sources.forEach((function(t){const n=e.sourceContentFor(t);null!=n&&(null!=r&&(t=util$1.join(r,t)),null!=o&&(t=util$1.relative(o,t)),this.setSourceContent(t,n))}),this)}_validateMapping(e,t,r,n){if(t&&"number"!=typeof t.line&&"number"!=typeof t.column)throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0&&!t&&!r&&!n);else if(!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&r))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:r,original:t,name:n}))}_serializeMappings(){let e,t,r,n,o=0,u=1,a=0,i=0,s=0,c=0,l="";const p=this._mappings.toArray();for(let f=0,h=p.length;f0){if(!util$1.compareByGeneratedPositionsInflated(t,p[f-1]))continue;e+=","}e+=base64VLQ.encode(t.generatedColumn-o),o=t.generatedColumn,null!=t.source&&(n=this._sources.indexOf(t.source),e+=base64VLQ.encode(n-c),c=n,e+=base64VLQ.encode(t.originalLine-1-i),i=t.originalLine-1,e+=base64VLQ.encode(t.originalColumn-a),a=t.originalColumn,null!=t.name&&(r=this._names.indexOf(t.name),e+=base64VLQ.encode(r-s),s=r)),l+=e}return l}_generateSourcesContent(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=util$1.relative(t,e));const r=util$1.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null}),this)}toJSON(){const e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e}toString(){return JSON.stringify(this.toJSON())}};SourceMapGenerator$1.prototype._version=3,sourceMapGenerator.SourceMapGenerator=SourceMapGenerator$1;var sourceNode={};const SourceMapGenerator=sourceMapGenerator.SourceMapGenerator,util=util$3,REGEX_NEWLINE=/(\r?\n)/,NEWLINE_CODE=10,isSourceNode="$$$isSourceNode$$$";let SourceNode$2=class e{constructor(e,t,r,n,o){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==t?null:t,this.source=null==r?null:r,this.name=null==o?null:o,this[isSourceNode]=!0,null!=n&&this.add(n)}static fromStringWithSourceMap(t,r,n){const o=new e,u=t.split(REGEX_NEWLINE);let a=0;const i=function(){return e()+(e()||"");function e(){return a=0;t--)this.prepend(e[t]);else{if(!e[isSourceNode]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this}walk(e){let t;for(let r=0,n=this.children.length;r0){for(t=[],r=0;r' at an index ").concat(e,".\nBytecode: ").concat(this.bytecode));return this.varName+e},e.sourceNode=function(e,t,r){var n=GrammarLocation$2.offsetStart(e);return new SourceNode$1(n.line,n.column?n.column-1:null,String(e.source),t,r)},e.prototype.push=function(t){++this.sp>this.maxSp&&(this.maxSp=this.sp);var r=this.labels[this.sp],n=[this.name(this.sp)," = ",t,";"];if(r){if(this.sourceMapStack.length){var o=e.sourceNode(r.location,n.splice(0,2),r.label),u=this.sourceMapPopInternal(),a=u.parts,i=u.location,s=i.start.offsett.end.offset&&(r[2]={start:t.end,end:r[2].end,source:r[2].source})}this.sourceMapStack.push([e,e.length,t])},e.prototype.sourceMapPopInternal=function(){var e=this.sourceMapStack.pop();if(!e)throw new RangeError("Rule '".concat(this.ruleName,"': Attempting to pop an empty source map stack.\nBytecode: ").concat(this.bytecode));var t=e[0],r=e[1],n=e[2],o=t.splice(r).map((function(e){return e instanceof SourceNode$1?e:e+"\n"}));if(o.length){var u=GrammarLocation$2.offsetStart(n);t.push(new SourceNode$1(u.line,u.column-1,String(n.source),o))}return{parts:t,location:n}},e.prototype.sourceMapPop=function(e){var t=this.sourceMapPopInternal().location;if(this.sourceMapStack.length&&t.end.offset>2],o+=t[(3&e[u])<<4|e[u+1]>>4],o+=t[(15&e[u+1])<<2|e[u+2]>>6],o+=t[63&e[u+2]];return 1===r?(o+=t[e[n]>>2],o+=t[(3&e[n])<<4],o+="=="):2===r&&(o+=t[e[n]>>2],o+=t[(3&e[n])<<4|e[n+1]>>4],o+=t[(15&e[n+1])<<2],o+="="),o}utils.hex=hex,utils.stringEscape=stringEscape$1,utils.regexpClassEscape=regexpClassEscape$1,utils.base64=base64$1;var __spreadArray$2=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var n,o=0,u=t.length;o0&&(t.forEach((function(e){o.push("var "+e+' = require("'+stringEscape(s[e])+'");')})),o.push("")),o.push(e,"","module.exports = "+n()+";"),o},es:function(){var n=Object.keys(s),o=r();return o.push(""),n.length>0&&(n.forEach((function(e){o.push("import "+e+' from "'+stringEscape(s[e])+'";')})),o.push("")),o.push(e,"","export {"," peg$SyntaxError as SyntaxError,",t.trace?" peg$DefaultTracer as DefaultTracer,":""," peg$parse as parse","};"),o},amd:function(){var t=Object.keys(s),o="["+t.map((function(e){return s[e]})).map((function(e){return'"'+stringEscape(e)+'"'})).join(", ")+"]",u=t.join(", ");return __spreadArray$2(__spreadArray$2([],r(),!0),["define("+o+", function("+u+") {",' "use strict";',"",e,"",c("return "+n()+";"),"});"],!1)},globals:function(){return __spreadArray$2(__spreadArray$2([],r(),!0),["(function(root) {",' "use strict";',"",e,"",c("root."+t.exportVar+" = "+n()+";"),"})(this);"],!1)},umd:function(){var o=Object.keys(s),u=o.map((function(e){return s[e]})),a="["+u.map((function(e){return'"'+stringEscape(e)+'"'})).join(", ")+"]",i=u.map((function(e){return'require("'+stringEscape(e)+'")'})).join(", "),l=o.join(", "),p=r();return p.push("(function(root, factory) {",' if (typeof define === "function" && define.amd) {'," define("+a+", factory);",' } else if (typeof module === "object" && module.exports) {'," module.exports = factory("+i+");"),null!==t.exportVar&&p.push(" } else {"," root."+t.exportVar+" = factory();"),p.push(" }","})(this, function("+l+") {",' "use strict";',"",e,"",c("return "+n()+";"),"});"),p}}[t.format||"bare"]();return new SourceNode(null,null,t.grammarSource,o.map((function(e){return e instanceof SourceNode?e:e+"\n"})))}(function(){var s=[];e.topLevelInitializer&&(s.push(g(e.topLevelInitializer)),s.push("")),s.push("function peg$subclass(child, parent) {"," function C() { this.constructor = child; }"," C.prototype = parent.prototype;"," child.prototype = new C();","}","","function peg$SyntaxError(message, expected, found, location) {"," var self = Error.call(this, message);"," // istanbul ignore next Check is a necessary evil to support older environments"," if (Object.setPrototypeOf) {"," Object.setPrototypeOf(self, peg$SyntaxError.prototype);"," }"," self.expected = expected;"," self.found = found;"," self.location = location;",' self.name = "SyntaxError";'," return self;","}","","peg$subclass(peg$SyntaxError, Error);","","function peg$padEnd(str, targetLength, padString) {",' padString = padString || " ";'," if (str.length > targetLength) { return str; }"," targetLength -= str.length;"," padString += padString.repeat(targetLength);"," return str + padString.slice(0, targetLength);","}","","peg$SyntaxError.prototype.format = function(sources) {",' var str = "Error: " + this.message;'," if (this.location) {"," var src = null;"," var k;"," for (k = 0; k < sources.length; k++) {"," if (sources[k].source === this.location.source) {"," src = sources[k].text.split(/\\r\\n|\\n|\\r/g);"," break;"," }"," }"," var s = this.location.start;",' var offset_s = (this.location.source && (typeof this.location.source.offset === "function"))'," ? this.location.source.offset(s)"," : s;",' var loc = this.location.source + ":" + offset_s.line + ":" + offset_s.column;'," if (src) {"," var e = this.location.end;"," var filler = peg$padEnd(\"\", offset_s.line.toString().length, ' ');"," var line = src[s.line - 1];"," var last = s.line === e.line ? e.column : line.length + 1;"," var hatLen = (last - s.column) || 1;",' str += "\\n --\x3e " + loc + "\\n"',' + filler + " |\\n"',' + offset_s.line + " | " + line + "\\n"',' + filler + " | " + peg$padEnd("", s.column - 1, \' \')',' + peg$padEnd("", hatLen, "^");'," } else {",' str += "\\n at " + loc;'," }"," }"," return str;","};","","peg$SyntaxError.buildMessage = function(expected, found) {"," var DESCRIBE_EXPECTATION_FNS = {"," literal: function(expectation) {",' return "\\"" + literalEscape(expectation.text) + "\\"";'," },",""," class: function(expectation) {"," var escapedParts = expectation.parts.map(function(part) {"," return Array.isArray(part)",' ? classEscape(part[0]) + "-" + classEscape(part[1])'," : classEscape(part);"," });","",' return "[" + (expectation.inverted ? "^" : "") + escapedParts.join("") + "]";'," },",""," any: function() {",' return "any character";'," },",""," end: function() {",' return "end of input";'," },",""," other: function(expectation) {"," return expectation.description;"," }"," };",""," function hex(ch) {"," return ch.charCodeAt(0).toString(16).toUpperCase();"," }",""," function literalEscape(s) {"," return s",' .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(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function classEscape(s) {"," return s",' .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(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function describeExpectation(expectation) {"," return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);"," }",""," function describeExpected(expected) {"," var descriptions = expected.map(describeExpectation);"," var i, j;",""," descriptions.sort();",""," if (descriptions.length > 0) {"," for (i = 1, j = 1; i < descriptions.length; i++) {"," if (descriptions[i - 1] !== descriptions[i]) {"," descriptions[j] = descriptions[i];"," j++;"," }"," }"," descriptions.length = j;"," }",""," switch (descriptions.length) {"," case 1:"," return descriptions[0];",""," case 2:",' return descriptions[0] + " or " + descriptions[1];',""," default:",' return descriptions.slice(0, -1).join(", ")',' + ", or "'," + descriptions[descriptions.length - 1];"," }"," }",""," function describeFound(found) {",' return found ? "\\"" + literalEscape(found) + "\\"" : "end of input";'," }","",' return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found.";',"};",""),t.trace&&s.push("function peg$DefaultTracer() {"," this.indentLevel = 0;","}","","peg$DefaultTracer.prototype.trace = function(event) {"," var that = this;",""," function log(event) {"," function repeat(string, n) {",' var result = "", i;',""," for (i = 0; i < n; i++) {"," result += string;"," }",""," return result;"," }",""," function pad(string, length) {",' return string + repeat(" ", length - string.length);'," }","",' if (typeof console === "object") {'," console.log(",' event.location.start.line + ":" + event.location.start.column + "-"',' + event.location.end.line + ":" + event.location.end.column + " "',' + pad(event.type, 10) + " "',' + repeat(" ", that.indentLevel) + event.rule'," );"," }"," }",""," switch (event.type) {",' case "rule.enter":'," log(event);"," this.indentLevel++;"," break;","",' case "rule.match":'," this.indentLevel--;"," log(event);"," break;","",' case "rule.fail":'," this.indentLevel--;"," log(event);"," break;",""," default:",' throw new Error("Invalid event type: " + event.type + ".");'," }","};","");var A="{ "+i.map((function(e){return e+": "+d(e)})).join(", ")+" }",m=d(i[0]);return s.push("function peg$parse(input, options) {"," options = options !== undefined ? options : {};",""," var peg$FAILED = {};"," var peg$source = options.grammarSource;",""," var peg$startRuleFunctions = "+A+";"," var peg$startRuleFunction = "+m+";","",new SourceNode(null,null,t.grammarSource,__spreadArray$2([r.map((function(e,t){return" var "+l(t)+' = "'+stringEscape(e)+'";'})).concat("",o.map((function(e,t){return" var "+p(t)+" = /^["+((r=e).inverted?"^":"")+r.value.map((function(e){return Array.isArray(e)?regexpClassEscape(e[0])+"-"+regexpClassEscape(e[1]):regexpClassEscape(e)})).join("")+"]/"+(r.ignoreCase?"i":"")+";";var r}))).concat("",u.map((function(e,t){return" var "+f(t)+" = "+function(e){switch(e.type){case"rule":return'peg$otherExpectation("'+stringEscape(e.value)+'")';case"literal":return'peg$literalExpectation("'+stringEscape(e.value)+'", '+e.ignoreCase+")";case"class":return"peg$classExpectation(["+e.value.map((function(e){return Array.isArray(e)?'["'+stringEscape(e[0])+'", "'+stringEscape(e[1])+'"]':'"'+stringEscape(e)+'"'})).join(", ")+"], "+e.inverted+", "+e.ignoreCase+")";case"any":return"peg$anyExpectation()";default:throw new Error("Unknown expectation type ("+JSON.stringify(e)+")")}}(e)+";"}))).concat("").join("\n")],a.map((function(e,t){return wrapInSourceNode("\n var ".concat(h(t)," = function(").concat(e.params.join(", "),") {"),e.body,e.location,"};")})),!0)),""," var peg$currPos = 0;"," var peg$savedPos = 0;"," var peg$posDetailsCache = [{ line: 1, column: 1 }];"," var peg$maxFailPos = 0;"," var peg$maxFailExpected = [];"," var peg$silentFails = 0;",""),t.cache&&s.push(" var peg$resultsCache = {};",""),t.trace&&s.push(' var peg$tracer = "tracer" in options ? options.tracer : new peg$DefaultTracer();',""),s.push(" var peg$result;","",' if ("startRule" in options) {'," if (!(options.startRule in peg$startRuleFunctions)) {",' throw new Error("Can\'t start parsing from rule \\"" + options.startRule + "\\".");'," }",""," peg$startRuleFunction = peg$startRuleFunctions[options.startRule];"," }",""," function text() {"," return input.substring(peg$savedPos, peg$currPos);"," }",""," function offset() {"," return peg$savedPos;"," }",""," function range() {"," return {"," source: peg$source,"," start: peg$savedPos,"," end: peg$currPos"," };"," }",""," function location() {"," return peg$computeLocation(peg$savedPos, peg$currPos);"," }",""," function expected(description, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildStructuredError("," [peg$otherExpectation(description)],"," input.substring(peg$savedPos, peg$currPos),"," location"," );"," }",""," function error(message, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildSimpleError(message, location);"," }",""," function peg$literalExpectation(text, ignoreCase) {",' return { type: "literal", text: text, ignoreCase: ignoreCase };'," }",""," function peg$classExpectation(parts, inverted, ignoreCase) {",' return { type: "class", parts: parts, inverted: inverted, ignoreCase: ignoreCase };'," }",""," function peg$anyExpectation() {",' return { type: "any" };'," }",""," function peg$endExpectation() {",' return { type: "end" };'," }",""," function peg$otherExpectation(description) {",' return { type: "other", description: description };'," }",""," function peg$computePosDetails(pos) {"," var details = peg$posDetailsCache[pos];"," var p;",""," if (details) {"," return details;"," } else {"," if (pos >= peg$posDetailsCache.length) {"," p = peg$posDetailsCache.length - 1;"," } else {"," p = pos;"," while (!peg$posDetailsCache[--p]) {}"," }",""," details = peg$posDetailsCache[p];"," details = {"," line: details.line,"," column: details.column"," };",""," while (p < pos) {"," if (input.charCodeAt(p) === 10) {"," details.line++;"," details.column = 1;"," } else {"," details.column++;"," }",""," p++;"," }",""," peg$posDetailsCache[pos] = details;",""," return details;"," }"," }",""," function peg$computeLocation(startPos, endPos, offset) {"," var startPosDetails = peg$computePosDetails(startPos);"," var endPosDetails = peg$computePosDetails(endPos);",""," var res = {"," source: peg$source,"," start: {"," offset: startPos,"," line: startPosDetails.line,"," column: startPosDetails.column"," },"," end: {"," offset: endPos,"," line: endPosDetails.line,"," column: endPosDetails.column"," }"," };",' if (offset && peg$source && (typeof peg$source.offset === "function")) {'," res.start = peg$source.offset(res.start);"," res.end = peg$source.offset(res.end);"," }"," return res;"," }",""," function peg$fail(expected) {"," if (peg$currPos < peg$maxFailPos) { return; }",""," if (peg$currPos > peg$maxFailPos) {"," peg$maxFailPos = peg$currPos;"," peg$maxFailExpected = [];"," }",""," peg$maxFailExpected.push(expected);"," }",""," function peg$buildSimpleError(message, location) {"," return new peg$SyntaxError(message, null, null, location);"," }",""," function peg$buildStructuredError(expected, found, location) {"," return new peg$SyntaxError("," peg$SyntaxError.buildMessage(expected, found),"," expected,"," found,"," location"," );"," }",""),e.rules.forEach((function(o){s.push.apply(s,c(function(o){var u=[],a=o.bytecode,i=new Stack(o.name,"s","var",a),s=function t(o){var u=0,a=o.length,s=[],g=void 0;function A(e,r,n){var a=r+3,l=o[u+a-2],p=o[u+a-1],f=i.checkedIf(u,(function(){return u+=a+l,(n||t)(o.slice(u-l,u))}),p>0?function(){return u+=p,t(o.slice(u-p,u))}:null),h=f[0],d=f[1];s.push("if ("+e+") {"),s.push.apply(s,c(h)),p>0&&(s.push("} else {"),s.push.apply(s,c(d))),s.push("}")}function m(e,r,n){var a=r+3,c=1===n?"input.charAt(peg$currPos)":"input.substr(peg$currPos, "+n+")",l=null;o[u+a]===op.ACCEPT_N&&o[u+a+1]===n&&(s.push(i.push(c)),c=i.pop(),l=function(e){i.sp++;var r=t(e.slice(2));return r.unshift(1===n?"peg$currPos++;":"peg$currPos += "+n+";"),r}),A(e(c,null!==l),r,l)}for(var E=function(){switch(o[u]){case op.PUSH_EMPTY_STRING:s.push(i.push("''")),u++;break;case op.PUSH_CURR_POS:s.push(i.push("peg$currPos")),u++;break;case op.PUSH_UNDEFINED:s.push(i.push("undefined")),u++;break;case op.PUSH_NULL:s.push(i.push("null")),u++;break;case op.PUSH_FAILED:s.push(i.push("peg$FAILED")),u++;break;case op.PUSH_EMPTY_ARRAY:s.push(i.push("[]")),u++;break;case op.POP:i.pop(),u++;break;case op.POP_CURR_POS:s.push("peg$currPos = "+i.pop()+";"),u++;break;case op.POP_N:i.pop(o[u+1]),u+=2;break;case op.NIP:g=i.pop(),i.pop(),s.push(i.push(g)),u++;break;case op.APPEND:g=i.pop(),s.push(i.top()+".push("+g+");"),u++;break;case op.WRAP:s.push(i.push("["+i.pop(o[u+1]).join(", ")+"]")),u+=2;break;case op.TEXT:s.push(i.push("input.substring("+i.pop()+", peg$currPos)")),u++;break;case op.PLUCK:var a=o[u+3-1],E=3+a;g=o.slice(u+3,u+E),g=1===a?i.index(g[0]):"[ ".concat(g.map((function(e){return i.index(e)})).join(", ")," ]"),i.pop(o[u+1]),s.push(i.push(g)),u+=E;break;case op.IF:A(i.top(),0);break;case op.IF_ERROR:A(i.top()+" === peg$FAILED",0);break;case op.IF_NOT_ERROR:A(i.top()+" !== peg$FAILED",0);break;case op.IF_LT:A(i.top()+".length < "+o[u+1],1);break;case op.IF_GE:A(i.top()+".length >= "+o[u+1],1);break;case op.IF_LT_DYNAMIC:A(i.top()+".length < ("+i.index(o[u+1])+"|0)",1);break;case op.IF_GE_DYNAMIC:A(i.top()+".length >= ("+i.index(o[u+1])+"|0)",1);break;case op.WHILE_NOT_ERROR:S=i.top()+" !== peg$FAILED",y=o[u+2-1],F=i.checkedLoop(u,(function(){return u+=2+y,t(o.slice(u-y,u))})),s.push("while ("+S+") {"),s.push.apply(s,c(F)),s.push("}");break;case op.MATCH_ANY:A("input.length > peg$currPos",0);break;case op.MATCH_STRING:var _=o[u+1],v=r[_];m((function(e,t){return v.length>1?"".concat(e," === ").concat(l(_)):(e=t?"".concat(e,".charCodeAt(0)"):"input.charCodeAt(peg$currPos)","".concat(e," === ").concat(v.charCodeAt(0)))}),1,v.length);break;case op.MATCH_STRING_IC:var C=o[u+1];m((function(e){return"".concat(e,".toLowerCase() === ").concat(l(C))}),1,r[C].length);break;case op.MATCH_CHAR_CLASS:var $=o[u+1];m((function(e){return"".concat(p($),".test(").concat(e,")")}),1,1);break;case op.ACCEPT_N:s.push(i.push(o[u+1]>1?"input.substr(peg$currPos, "+o[u+1]+")":"input.charAt(peg$currPos)")),s.push(o[u+1]>1?"peg$currPos += "+o[u+1]+";":"peg$currPos++;"),u+=2;break;case op.ACCEPT_STRING:s.push(i.push(l(o[u+1]))),s.push(r[o[u+1]].length>1?"peg$currPos += "+r[o[u+1]].length+";":"peg$currPos++;"),u+=2;break;case op.FAIL:s.push(i.push("peg$FAILED")),s.push("if (peg$silentFails === 0) { peg$fail("+f(o[u+1])+"); }"),u+=2;break;case op.LOAD_SAVED_POS:s.push("peg$savedPos = "+i.index(o[u+1])+";"),u+=2;break;case op.UPDATE_SAVED_POS:s.push("peg$savedPos = peg$currPos;"),u++;break;case op.CALL:g=function(e){var t=o[u+4-1];return h(o[u+1])+"("+o.slice(u+4,u+4+t).map((function(e){return i.index(e)})).join(", ")+")"}(),i.pop(o[u+2]),s.push(i.push(g)),u+=4+o[u+3];break;case op.RULE:s.push(i.push(d(e.rules[o[u+1]].name)+"()")),u+=2;break;case op.SILENT_FAILS_ON:s.push("peg$silentFails++;"),u++;break;case op.SILENT_FAILS_OFF:s.push("peg$silentFails--;"),u++;break;case op.SOURCE_MAP_PUSH:i.sourceMapPush(s,n[o[u+1]]),u+=2;break;case op.SOURCE_MAP_POP:i.sourceMapPop(),u++;break;case op.SOURCE_MAP_LABEL_PUSH:i.labels[o[u+1]]={label:r[o[u+2]],location:n[o[u+3]]},u+=4;break;case op.SOURCE_MAP_LABEL_POP:delete i.labels[o[u+1]],u+=2;break;default:throw new Error("Invalid opcode: "+o[u]+".")}var S,y,F};ui?-1:1:0}));for(var t="",r="",n=0;n=a.charCodeAt(0)?(e.splice(n--,1),e[n]=[t,r=i]):(t=a,r=i)}return e}function mergeCharacterClasses$1(e){var t=Object.create(null);e.rules.forEach((function(e){return t[e.name]=e.expression}));var r=Object.create(null),n=[function(e,n){if("class"===e.type&&!e.inverted)return n&&((e=__assign({},e)).parts=__spreadArray$1([],e.parts,!0)),e;if("literal"===e.type&&1===e.value.length)return{type:"class",parts:[e.value],inverted:!1,ignoreCase:e.ignoreCase,location:e.location};if("rule_ref"===e.type){var a=t[e.name];if(a){r[e.name]||(r[e.name]=!0,u(a));var i=o(a,!0);return i&&(i.location=e.location),i}}return null},visitor$7.build({choice:function(e){var t=null,r=!1;e.alternatives.forEach((function(n,a){var i;u(n);var s=o(n);s?t&&t.ignoreCase===s.ignoreCase?((i=t.parts).push.apply(i,s.parts),e.alternatives[a-1]=t,e.alternatives[a]=t,t.location={source:t.location.source,start:t.location.start,end:s.location.end},r=!0):t=s:t=null})),r&&(e.alternatives=e.alternatives.filter((function(e,t,r){return!t||e!==r[t-1]})),e.alternatives.forEach((function(t,r){"class"===t.type&&(t.parts=cleanParts(t.parts),1!==t.parts.length||Array.isArray(t.parts[0])||t.inverted||(e.alternatives[r]={type:"literal",value:t.parts[0],ignoreCase:t.ignoreCase,location:t.location}))})),1===e.alternatives.length&&cloneOver(e,e.alternatives[0]))},text:function(e){if(u(e.expression),"class"===e.expression.type||"literal"===e.expression.type){var t=e.location;cloneOver(e,e.expression),e.location=t}}})],o=n[0],u=n[1];e.rules.forEach((function(e){r[e.name]=!0,u(e.expression)}))}var mergeCharacterClasses_1=mergeCharacterClasses$1,visitor$6=visitor_1;function reportDuplicateLabels$1(e,t,r){function n(e){var t={};return Object.keys(e).forEach((function(r){t[r]=e[r]})),t}function o(e,t){u(e.expression,n(t))}var u=visitor$6.build({rule:function(e){u(e.expression,{})},choice:function(e,t){e.alternatives.forEach((function(e){u(e,n(t))}))},action:o,labeled:function(e,t){var n=e.label;n&&Object.prototype.hasOwnProperty.call(t,n)&&r.error('Label "'.concat(e.label,'" is already defined'),e.labelLocation,[{message:"Original label location",location:t[n]}]),u(e.expression,t),t[e.label]=e.labelLocation},text:o,simple_and:o,simple_not:o,optional:o,zero_or_more:o,one_or_more:o,repeated:function(e,t){e.delimiter&&u(e.delimiter,n(t)),u(e.expression,n(t))},group:o});u(e)}var reportDuplicateLabels_1=reportDuplicateLabels$1,visitor$5=visitor_1;function reportDuplicateRules$1(e,t,r){var n={};visitor$5.build({rule:function(e){Object.prototype.hasOwnProperty.call(n,e.name)?r.error('Rule "'.concat(e.name,'" is already defined'),e.nameLocation,[{message:"Original rule location",location:n[e.name]}]):n[e.name]=e.nameLocation}})(e)}var reportDuplicateRules_1=reportDuplicateRules$1,asts$2=asts_1,visitor$4=visitor_1;function reportInfiniteRecursion$1(e,t,r){var n=[],o=[],u=visitor$4.build({rule:function(e){n.push(e.name),u(e.expression),n.pop()},sequence:function(t){t.elements.every((function(t){return u(t),!asts$2.alwaysConsumesOnSuccess(e,t)}))},repeated:function(t){u(t.expression),t.delimiter&&!asts$2.alwaysConsumesOnSuccess(e,t.expression)&&u(t.delimiter)},rule_ref:function(t){o.push(t);var a=asts$2.findRule(e,t.name);if(-1!==n.indexOf(t.name))return n.push(t.name),void r.error("Possible infinite loop when parsing (left recursion: "+n.join(" -> ")+")",a.nameLocation,o.map((function(e,t,r){return{message:t+1!==r.length?"Step ".concat(t+1,': call of the rule "').concat(e.name,'" without input consumption'):"Step ".concat(t+1,": call itself without input consumption - left recursion"),location:e.location}})));a&&u(a),o.pop()}});u(e)}var reportInfiniteRecursion_1=reportInfiniteRecursion$1,asts$1=asts_1,visitor$3=visitor_1;function reportInfiniteRepetition$1(e,t,r){var n=visitor$3.build({zero_or_more:function(t){asts$1.alwaysConsumesOnSuccess(e,t.expression)||r.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",t.location)},one_or_more:function(t){asts$1.alwaysConsumesOnSuccess(e,t.expression)||r.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",t.location)},repeated:function(t){if(t.delimiter&&n(t.delimiter),!(asts$1.alwaysConsumesOnSuccess(e,t.expression)||t.delimiter&&asts$1.alwaysConsumesOnSuccess(e,t.delimiter)))if(null===t.max.value)r.error("Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",t.location);else{var o=t.min?t.min:t.max;r.warning("constant"===o.type&&"constant"===t.max.type?"An expression may not consume any input and may always match ".concat(t.max.value," times"):"An expression may not consume any input and may always match with a maximum repetition count",t.location)}}});n(e)}var reportInfiniteRepetition_1=reportInfiniteRepetition$1,asts=asts_1,visitor$2=visitor_1;function reportUndefinedRules$1(e,t,r){visitor$2.build({rule_ref:function(t){asts.findRule(e,t.name)||r.error('Rule "'.concat(t.name,'" is not defined'),t.location)}})(e)}var reportUndefinedRules_1=reportUndefinedRules$1,visitor$1=visitor_1;function reportIncorrectPlucking$1(e,t,r){var n=visitor$1.build({action:function(e){n(e.expression,e)},labeled:function(e,t){e.pick&&t&&r.error('"@" cannot be used with an action block',e.labelLocation,[{message:"Action block location",location:t.codeLocation}]),n(e.expression)}});n(e)}var reportIncorrectPlucking_1=reportIncorrectPlucking$1,__spreadArray=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var n,o=0,u=t.length;o0:e&&"function"==typeof e.offset}var compiler$1={visitor:visitor,passes:{check:[reportUndefinedRules,reportDuplicateRules,reportDuplicateLabels,reportInfiniteRecursion,reportInfiniteRepetition,reportIncorrectPlucking],transform:[removeProxyRules,mergeCharacterClasses,inferenceMatchResult],generate:[generateBytecode,generateJS]},compile:function(ast,passes,options){if(options=void 0!==options?options:{},options=processOptions(options,{allowedStartRules:[ast.rules[0].name],cache:!1,dependencies:{},exportVar:null,format:"bare",output:"parser",trace:!1}),!Array.isArray(options.allowedStartRules))throw new Error("allowedStartRules must be an array");if(0===options.allowedStartRules.length)throw new Error("Must have at least one start rule");var allRules=ast.rules.map((function(e){return e.name}));if(options.allowedStartRules.some((function(e){return"*"===e})))options.allowedStartRules=allRules;else for(var _i=0,_a=options.allowedStartRules;_i<_a.length;_i++){var rule=_a[_i];if(-1===allRules.indexOf(rule))throw new Error('Unknown start rule "'.concat(rule,'"'))}if(("source-and-map"===options.output||"source-with-inline-map"===options.output)&&!isSourceMapCapable(options.grammarSource))throw new Error("Must provide grammarSource (as a string or GrammarLocation) in order to generate source maps");var session=new Session(options);switch(Object.keys(passes).forEach((function(e){session.stage=e,session.info("Process stage ".concat(e)),passes[e].forEach((function(t){session.info("Process pass ".concat(e,".").concat(t.name)),t(ast,options,session)})),session.checkErrors()})),options.output){case"parser":return eval(ast.code.toString());case"source":return ast.code.toString();case"source-and-map":return ast.code;case"source-with-inline-map":if("undefined"==typeof TextEncoder)throw new Error("TextEncoder is not supported by this platform");var sourceMap=ast.code.toStringWithSourceMap(),encoder=new TextEncoder,b64=base64(encoder.encode(JSON.stringify(sourceMap.map.toJSON())));return sourceMap.code+"//# sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(b64,"\n");case"ast":return ast;default:throw new Error("Invalid output format: "+options.output+".")}}},compiler_1=compiler$1,OPS_TO_PREFIXED_TYPES={$:"text","&":"simple_and","!":"simple_not"},OPS_TO_SUFFIXED_TYPES={"?":"optional","*":"zero_or_more","+":"one_or_more"},OPS_TO_SEMANTIC_PREDICATE_TYPES={"&":"semantic_and","!":"semantic_not"};function peg$subclass(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}function peg$SyntaxError(e,t,r,n){var o=Error.call(this,e);return Object.setPrototypeOf&&Object.setPrototypeOf(o,peg$SyntaxError.prototype),o.expected=t,o.found=r,o.location=n,o.name="SyntaxError",o}function peg$padEnd(e,t,r){return r=r||" ",e.length>t?e:(t-=e.length,e+(r+=r.repeat(t)).slice(0,t))}function peg$parse(e,t){var r,n={},o=(t=void 0!==t?t:{}).grammarSource,u={Grammar:pr},a=pr,i="{",s="}",c="=",l="/",p="@",f=":",h="|",d=",",g="..",A="(",m=")",E="\n",_="\r\n",v="/*",C="*/",$="//",S="\\",y="i",F='"',P="'",x="[",D="^",b="]",B="-",R="0",O="b",L="f",M="n",T="r",w="t",I="v",N="x",k="u",H=".",U=";",j=/^[!$&]/,G=/^[*-+?]/,V=/^[!&]/,Y=/^[\t\v-\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]/,W=/^[\n\r\u2028\u2029]/,z=/^[\r\u2028-\u2029]/,J=/^[A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376-\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E-\u066F\u0671-\u06D3\u06D5\u06E5-\u06E6\u06EE-\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4-\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC-\u09DD\u09DF-\u09E1\u09F0-\u09F1\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33\u0A35-\u0A36\u0A38-\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0-\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B35-\u0B39\u0B3D\u0B5C-\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60-\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0-\u0CE1\u0CF1-\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32-\u0E33\u0E40-\u0E46\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065-\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE-\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5-\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,Q=/^[$0-9_\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7-\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962-\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7-\u09C8\u09CB-\u09CD\u09D7\u09E2-\u09E3\u09E6-\u09EF\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2-\u0AE3\u0AE6-\u0AEF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47-\u0B48\u0B4B-\u0B4D\u0B56-\u0B57\u0B62-\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55-\u0C56\u0C62-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5-\u0CD6\u0CE2-\u0CE3\u0CE6-\u0CEF\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62-\u0D63\u0D66-\u0D6F\u0D82-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2-\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EB9\u0EBB-\u0EBC\u0EC8-\u0ECD\u0ED0-\u0ED9\u0F18-\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F3F\u0F71-\u0F84\u0F86-\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19D9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8-\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u200C-\u200D\u203F-\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099-\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E-\uA69F\uA6F0-\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880-\uA881\uA8B4-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F1\uA900-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C-\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7-\uAAB8\uAABE-\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5-\uAAF6\uABE3-\uABEA\uABEC-\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33-\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F]/,q=/^[\n\r"\\\u2028-\u2029]/,X=/^[\n\r'\\\u2028-\u2029]/,K=/^[\n\r\\-\]\u2028-\u2029]/,Z=/^["'\\]/,ee=/^[0-9ux]/,te=/^[0-9]/,re=/^[0-9a-f]/i,ne=/^[{}]/,oe=ur("{",!1),ue=ur("}",!1),ae=ur("=",!1),ie=ur("/",!1),se=ur("@",!1),ce=ur(":",!1),le=ar(["!","$","&"],!1,!1),pe=ar([["*","+"],"?"],!1,!1),fe=ur("|",!1),he=ur(",",!1),de=ur("..",!1),ge=ur("(",!1),Ae=ur(")",!1),me=ar(["!","&"],!1,!1),Ee={type:"any"},_e=ir("whitespace"),ve=ar(["\t",["\v","\f"]," "," "," ",[" "," "]," "," "," ","\ufeff"],!1,!1),Ce=ar(["\n","\r","\u2028","\u2029"],!1,!1),$e=ir("end of line"),Se=ur("\n",!1),ye=ur("\r\n",!1),Fe=ar(["\r",["\u2028","\u2029"]],!1,!1),Pe=ir("comment"),xe=ur("/*",!1),De=ur("*/",!1),be=ur("//",!1),Be=ir("identifier"),Re=ar([["A","Z"],"_",["a","z"],"ª","µ","º",["À","Ö"],["Ø","ö"],["ø","ˁ"],["ˆ","ˑ"],["ˠ","ˤ"],"ˬ","ˮ",["Ͱ","ʹ"],["Ͷ","ͷ"],["ͺ","ͽ"],"Ϳ","Ά",["Έ","Ί"],"Ό",["Ύ","Ρ"],["Σ","ϵ"],["Ϸ","ҁ"],["Ҋ","ԯ"],["Ա","Ֆ"],"ՙ",["ա","և"],["א","ת"],["װ","ײ"],["ؠ","ي"],["ٮ","ٯ"],["ٱ","ۓ"],"ە",["ۥ","ۦ"],["ۮ","ۯ"],["ۺ","ۼ"],"ۿ","ܐ",["ܒ","ܯ"],["ݍ","ޥ"],"ޱ",["ߊ","ߪ"],["ߴ","ߵ"],"ߺ",["ࠀ","ࠕ"],"ࠚ","ࠤ","ࠨ",["ࡀ","ࡘ"],["ࢠ","ࢴ"],["ऄ","ह"],"ऽ","ॐ",["क़","ॡ"],["ॱ","ঀ"],["অ","ঌ"],["এ","ঐ"],["ও","ন"],["প","র"],"ল",["শ","হ"],"ঽ","ৎ",["ড়","ঢ়"],["য়","ৡ"],["ৰ","ৱ"],["ਅ","ਊ"],["ਏ","ਐ"],["ਓ","ਨ"],["ਪ","ਰ"],["ਲ","ਲ਼"],["ਵ","ਸ਼"],["ਸ","ਹ"],["ਖ਼","ੜ"],"ਫ਼",["ੲ","ੴ"],["અ","ઍ"],["એ","ઑ"],["ઓ","ન"],["પ","ર"],["લ","ળ"],["વ","હ"],"ઽ","ૐ",["ૠ","ૡ"],"ૹ",["ଅ","ଌ"],["ଏ","ଐ"],["ଓ","ନ"],["ପ","ର"],["ଲ","ଳ"],["ଵ","ହ"],"ଽ",["ଡ଼","ଢ଼"],["ୟ","ୡ"],"ୱ","ஃ",["அ","ஊ"],["எ","ஐ"],["ஒ","க"],["ங","ச"],"ஜ",["ஞ","ட"],["ண","த"],["ந","ப"],["ம","ஹ"],"ௐ",["అ","ఌ"],["ఎ","ఐ"],["ఒ","న"],["ప","హ"],"ఽ",["ౘ","ౚ"],["ౠ","ౡ"],["ಅ","ಌ"],["ಎ","ಐ"],["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"],"ಽ","ೞ",["ೠ","ೡ"],["ೱ","ೲ"],["അ","ഌ"],["എ","ഐ"],["ഒ","ഺ"],"ഽ","ൎ",["ൟ","ൡ"],["ൺ","ൿ"],["අ","ඖ"],["ක","න"],["ඳ","ර"],"ල",["ව","ෆ"],["ก","ะ"],["า","ำ"],["เ","ๆ"],["ກ","ຂ"],"ຄ",["ງ","ຈ"],"ຊ","ຍ",["ດ","ທ"],["ນ","ຟ"],["ມ","ຣ"],"ລ","ວ",["ສ","ຫ"],["ອ","ະ"],["າ","ຳ"],"ຽ",["ເ","ໄ"],"ໆ",["ໜ","ໟ"],"ༀ",["ཀ","ཇ"],["ཉ","ཬ"],["ྈ","ྌ"],["က","ဪ"],"ဿ",["ၐ","ၕ"],["ၚ","ၝ"],"ၡ",["ၥ","ၦ"],["ၮ","ၰ"],["ၵ","ႁ"],"ႎ",["Ⴀ","Ⴥ"],"Ⴧ","Ⴭ",["ა","ჺ"],["ჼ","ቈ"],["ቊ","ቍ"],["ቐ","ቖ"],"ቘ",["ቚ","ቝ"],["በ","ኈ"],["ኊ","ኍ"],["ነ","ኰ"],["ኲ","ኵ"],["ኸ","ኾ"],"ዀ",["ዂ","ዅ"],["ወ","ዖ"],["ዘ","ጐ"],["ጒ","ጕ"],["ጘ","ፚ"],["ᎀ","ᎏ"],["Ꭰ","Ᏽ"],["ᏸ","ᏽ"],["ᐁ","ᙬ"],["ᙯ","ᙿ"],["ᚁ","ᚚ"],["ᚠ","ᛪ"],["ᛮ","ᛸ"],["ᜀ","ᜌ"],["ᜎ","ᜑ"],["ᜠ","ᜱ"],["ᝀ","ᝑ"],["ᝠ","ᝬ"],["ᝮ","ᝰ"],["ក","ឳ"],"ៗ","ៜ",["ᠠ","ᡷ"],["ᢀ","ᢨ"],"ᢪ",["ᢰ","ᣵ"],["ᤀ","ᤞ"],["ᥐ","ᥭ"],["ᥰ","ᥴ"],["ᦀ","ᦫ"],["ᦰ","ᧉ"],["ᨀ","ᨖ"],["ᨠ","ᩔ"],"ᪧ",["ᬅ","ᬳ"],["ᭅ","ᭋ"],["ᮃ","ᮠ"],["ᮮ","ᮯ"],["ᮺ","ᯥ"],["ᰀ","ᰣ"],["ᱍ","ᱏ"],["ᱚ","ᱽ"],["ᳩ","ᳬ"],["ᳮ","ᳱ"],["ᳵ","ᳶ"],["ᴀ","ᶿ"],["Ḁ","ἕ"],["Ἐ","Ἕ"],["ἠ","ὅ"],["Ὀ","Ὅ"],["ὐ","ὗ"],"Ὑ","Ὓ","Ὕ",["Ὗ","ώ"],["ᾀ","ᾴ"],["ᾶ","ᾼ"],"ι",["ῂ","ῄ"],["ῆ","ῌ"],["ῐ","ΐ"],["ῖ","Ί"],["ῠ","Ῥ"],["ῲ","ῴ"],["ῶ","ῼ"],"ⁱ","ⁿ",["ₐ","ₜ"],"ℂ","ℇ",["ℊ","ℓ"],"ℕ",["ℙ","ℝ"],"ℤ","Ω","ℨ",["K","ℭ"],["ℯ","ℹ"],["ℼ","ℿ"],["ⅅ","ⅉ"],"ⅎ",["Ⅰ","ↈ"],["Ⰰ","Ⱞ"],["ⰰ","ⱞ"],["Ⱡ","ⳤ"],["Ⳬ","ⳮ"],["Ⳳ","ⳳ"],["ⴀ","ⴥ"],"ⴧ","ⴭ",["ⴰ","ⵧ"],"ⵯ",["ⶀ","ⶖ"],["ⶠ","ⶦ"],["ⶨ","ⶮ"],["ⶰ","ⶶ"],["ⶸ","ⶾ"],["ⷀ","ⷆ"],["ⷈ","ⷎ"],["ⷐ","ⷖ"],["ⷘ","ⷞ"],"ⸯ",["々","〇"],["〡","〩"],["〱","〵"],["〸","〼"],["ぁ","ゖ"],["ゝ","ゟ"],["ァ","ヺ"],["ー","ヿ"],["ㄅ","ㄭ"],["ㄱ","ㆎ"],["ㆠ","ㆺ"],["ㇰ","ㇿ"],["㐀","䶵"],["一","鿕"],["ꀀ","ꒌ"],["ꓐ","ꓽ"],["ꔀ","ꘌ"],["ꘐ","ꘟ"],["ꘪ","ꘫ"],["Ꙁ","ꙮ"],["ꙿ","ꚝ"],["ꚠ","ꛯ"],["ꜗ","ꜟ"],["Ꜣ","ꞈ"],["Ꞌ","Ɬ"],["Ʞ","ꞷ"],["ꟷ","ꠁ"],["ꠃ","ꠅ"],["ꠇ","ꠊ"],["ꠌ","ꠢ"],["ꡀ","ꡳ"],["ꢂ","ꢳ"],["ꣲ","ꣷ"],"ꣻ","ꣽ",["ꤊ","ꤥ"],["ꤰ","ꥆ"],["ꥠ","ꥼ"],["ꦄ","ꦲ"],"ꧏ",["ꧠ","ꧤ"],["ꧦ","ꧯ"],["ꧺ","ꧾ"],["ꨀ","ꨨ"],["ꩀ","ꩂ"],["ꩄ","ꩋ"],["ꩠ","ꩶ"],"ꩺ",["ꩾ","ꪯ"],"ꪱ",["ꪵ","ꪶ"],["ꪹ","ꪽ"],"ꫀ","ꫂ",["ꫛ","ꫝ"],["ꫠ","ꫪ"],["ꫲ","ꫴ"],["ꬁ","ꬆ"],["ꬉ","ꬎ"],["ꬑ","ꬖ"],["ꬠ","ꬦ"],["ꬨ","ꬮ"],["ꬰ","ꭚ"],["ꭜ","ꭥ"],["ꭰ","ꯢ"],["가","힣"],["ힰ","ퟆ"],["ퟋ","ퟻ"],["豈","舘"],["並","龎"],["ff","st"],["ﬓ","ﬗ"],"יִ",["ײַ","ﬨ"],["שׁ","זּ"],["טּ","לּ"],"מּ",["נּ","סּ"],["ףּ","פּ"],["צּ","ﮱ"],["ﯓ","ﴽ"],["ﵐ","ﶏ"],["ﶒ","ﷇ"],["ﷰ","ﷻ"],["ﹰ","ﹴ"],["ﹶ","ﻼ"],["A","Z"],["a","z"],["ヲ","ᄒ"],["ᅡ","ᅦ"],["ᅧ","ᅬ"],["ᅭ","ᅲ"],["ᅳ","ᅵ"]],!1,!1),Oe=ur("\\",!1),Le=ar(["$",["0","9"],"_",["̀","ͯ"],["҃","҇"],["֑","ֽ"],"ֿ",["ׁ","ׂ"],["ׄ","ׅ"],"ׇ",["ؐ","ؚ"],["ً","٩"],"ٰ",["ۖ","ۜ"],["۟","ۤ"],["ۧ","ۨ"],["۪","ۭ"],["۰","۹"],"ܑ",["ܰ","݊"],["ަ","ް"],["߀","߉"],["߫","߳"],["ࠖ","࠙"],["ࠛ","ࠣ"],["ࠥ","ࠧ"],["ࠩ","࠭"],["࡙","࡛"],["ࣣ","ः"],["ऺ","़"],["ा","ॏ"],["॑","ॗ"],["ॢ","ॣ"],["०","९"],["ঁ","ঃ"],"়",["া","ৄ"],["ে","ৈ"],["ো","্"],"ৗ",["ৢ","ৣ"],["০","৯"],["ਁ","ਃ"],"਼",["ਾ","ੂ"],["ੇ","ੈ"],["ੋ","੍"],"ੑ",["੦","ੱ"],"ੵ",["ઁ","ઃ"],"઼",["ા","ૅ"],["ે","ૉ"],["ો","્"],["ૢ","ૣ"],["૦","૯"],["ଁ","ଃ"],"଼",["ା","ୄ"],["େ","ୈ"],["ୋ","୍"],["ୖ","ୗ"],["ୢ","ୣ"],["୦","୯"],"ஂ",["ா","ூ"],["ெ","ை"],["ொ","்"],"ௗ",["௦","௯"],["ఀ","ః"],["ా","ౄ"],["ె","ై"],["ొ","్"],["ౕ","ౖ"],["ౢ","ౣ"],["౦","౯"],["ಁ","ಃ"],"಼",["ಾ","ೄ"],["ೆ","ೈ"],["ೊ","್"],["ೕ","ೖ"],["ೢ","ೣ"],["೦","೯"],["ഁ","ഃ"],["ാ","ൄ"],["െ","ൈ"],["ൊ","്"],"ൗ",["ൢ","ൣ"],["൦","൯"],["ං","ඃ"],"්",["ා","ු"],"ූ",["ෘ","ෟ"],["෦","෯"],["ෲ","ෳ"],"ั",["ิ","ฺ"],["็","๎"],["๐","๙"],"ັ",["ິ","ູ"],["ົ","ຼ"],["່","ໍ"],["໐","໙"],["༘","༙"],["༠","༩"],"༵","༷","༹",["༾","༿"],["ཱ","྄"],["྆","྇"],["ྍ","ྗ"],["ྙ","ྼ"],"࿆",["ါ","ှ"],["၀","၉"],["ၖ","ၙ"],["ၞ","ၠ"],["ၢ","ၤ"],["ၧ","ၭ"],["ၱ","ၴ"],["ႂ","ႍ"],["ႏ","ႝ"],["፝","፟"],["ᜒ","᜔"],["ᜲ","᜴"],["ᝒ","ᝓ"],["ᝲ","ᝳ"],["឴","៓"],"៝",["០","៩"],["᠋","᠍"],["᠐","᠙"],"ᢩ",["ᤠ","ᤫ"],["ᤰ","᤻"],["᥆","᥏"],["᧐","᧙"],["ᨗ","ᨛ"],["ᩕ","ᩞ"],["᩠","᩼"],["᩿","᪉"],["᪐","᪙"],["᪰","᪽"],["ᬀ","ᬄ"],["᬴","᭄"],["᭐","᭙"],["᭫","᭳"],["ᮀ","ᮂ"],["ᮡ","ᮭ"],["᮰","᮹"],["᯦","᯳"],["ᰤ","᰷"],["᱀","᱉"],["᱐","᱙"],["᳐","᳒"],["᳔","᳨"],"᳭",["ᳲ","᳴"],["᳸","᳹"],["᷀","᷵"],["᷼","᷿"],["‌","‍"],["‿","⁀"],"⁔",["⃐","⃜"],"⃡",["⃥","⃰"],["⳯","⳱"],"⵿",["ⷠ","ⷿ"],["〪","〯"],["゙","゚"],["꘠","꘩"],"꙯",["ꙴ","꙽"],["ꚞ","ꚟ"],["꛰","꛱"],"ꠂ","꠆","ꠋ",["ꠣ","ꠧ"],["ꢀ","ꢁ"],["ꢴ","꣄"],["꣐","꣙"],["꣠","꣱"],["꤀","꤉"],["ꤦ","꤭"],["ꥇ","꥓"],["ꦀ","ꦃ"],["꦳","꧀"],["꧐","꧙"],"ꧥ",["꧰","꧹"],["ꨩ","ꨶ"],"ꩃ",["ꩌ","ꩍ"],["꩐","꩙"],["ꩻ","ꩽ"],"ꪰ",["ꪲ","ꪴ"],["ꪷ","ꪸ"],["ꪾ","꪿"],"꫁",["ꫫ","ꫯ"],["ꫵ","꫶"],["ꯣ","ꯪ"],["꯬","꯭"],["꯰","꯹"],"ﬞ",["︀","️"],["︠","︯"],["︳","︴"],["﹍","﹏"],["0","9"],"_"],!1,!1),Me=ir("literal"),Te=ur("i",!1),we=ir("string"),Ie=ur('"',!1),Ne=ur("'",!1),ke=ar(["\n","\r",'"',"\\",["\u2028","\u2029"]],!1,!1),He=ar(["\n","\r","'","\\",["\u2028","\u2029"]],!1,!1),Ue=ir("character class"),je=ur("[",!1),Ge=ur("^",!1),Ve=ur("]",!1),Ye=ur("-",!1),We=ar(["\n","\r",["\\","]"],["\u2028","\u2029"]],!1,!1),ze=ur("0",!1),Je=ar(['"',"'","\\"],!1,!1),Qe=ur("b",!1),qe=ur("f",!1),Xe=ur("n",!1),Ke=ur("r",!1),Ze=ur("t",!1),et=ur("v",!1),tt=ar([["0","9"],"u","x"],!1,!1),rt=ur("x",!1),nt=ur("u",!1),ot=ar([["0","9"]],!1,!1),ut=ar([["0","9"],["a","f"]],!1,!0),at=ur(".",!1),it=ir("code block"),st=ar(["{","}"],!1,!1),ct=ur(";",!1),lt=function(e,t,r){return{type:"grammar",topLevelInitializer:e,initializer:t,rules:r,location:nr()}},pt=function(e){return{type:"top_level_initializer",code:e[0],codeLocation:e[1],location:nr()}},ft=function(e){return{type:"initializer",code:e[0],codeLocation:e[1],location:nr()}},ht=function(e,t,r){return{type:"rule",name:e[0],nameLocation:e[1],expression:null!==t?{type:"named",name:t,expression:r,location:nr()}:r,location:nr()}},dt=function(e,t){return t.length>0?{type:"choice",alternatives:[e].concat(t),location:nr()}:e},gt=function(e,t){return null!==t?{type:"action",expression:e,code:t[0],codeLocation:t[1],location:nr()}:e},At=function(e,t){return t.length>0||"labeled"===e.type&&e.pick?{type:"sequence",elements:[e].concat(t),location:nr()}:e},mt=function(e,t,r){return r.type.startsWith("semantic_")&&or('"@" cannot be used on a semantic predicate',e),{type:"labeled",label:null!==t?t[0]:null,labelLocation:null!==t?t[1]:e,pick:!0,expression:r,location:nr()}},Et=function(e,t){return{type:"labeled",label:e[0],labelLocation:e[1],expression:t,location:nr()}},_t=function(){return nr()},vt=function(e){return Wr.indexOf(e[0])>=0&&or("Label can't be a reserved word \"".concat(e[0],'"'),e[1]),e},Ct=function(e,t){return{type:OPS_TO_PREFIXED_TYPES[e],expression:t,location:nr()}},$t=function(e,t){return{type:OPS_TO_SUFFIXED_TYPES[t],expression:e,location:nr()}},St=function(e,t,r){var n=t[0],o=t[1];return"constant"===o.type&&0===o.value&&or("The maximum count of repetitions of the rule must be > 0",o.location),{type:"repeated",min:n,max:o,expression:e,delimiter:r,location:nr()}},yt=function(e,t){return[null!==e?e:{type:"constant",value:0},null!==t?t:{type:"constant",value:null}]},Ft=function(e){return[null,e]},Pt=function(e){return{type:"constant",value:e,location:nr()}},xt=function(e){return{type:"variable",value:e[0],location:nr()}},Dt=function(e){return{type:"function",value:e[0],codeLocation:e[1],location:nr()}},bt=function(e){return"labeled"===e.type||"sequence"===e.type?{type:"group",expression:e,location:nr()}:e},Bt=function(e){return{type:"rule_ref",name:e[0],location:nr()}},Rt=function(e,t){return{type:OPS_TO_SEMANTIC_PREDICATE_TYPES[e],code:t[0],codeLocation:t[1],location:nr()}},Ot=function(e,t){return[e+t.join(""),nr()]},Lt=function(e,t){return{type:"literal",value:e,ignoreCase:null!==t,location:nr()}},Mt=function(e){return e.join("")},Tt=function(e){return e.join("")},wt=function(e,t,r){return{type:"class",parts:t.filter((function(e){return""!==e})),inverted:null!==e,ignoreCase:null!==r,location:nr()}},It=function(t,r){return t.charCodeAt(0)>r.charCodeAt(0)&&or("Invalid character range: "+e.substring(Kt,Xt)+"."),[t,r]},Nt=function(){return""},kt=function(){return"\0"},Ht=function(){return"\b"},Ut=function(){return"\f"},jt=function(){return"\n"},Gt=function(){return"\r"},Vt=function(){return"\t"},Yt=function(){return"\v"},Wt=function(e){return String.fromCharCode(parseInt(e,16))},zt=function(e){return String.fromCharCode(parseInt(e,16))},Jt=function(){return{type:"any",location:nr()}},Qt=function(e){return[e,nr()]},qt=function(e){return parseInt(e,10)},Xt=0,Kt=0,Zt=[{line:1,column:1}],er=0,tr=[],rr=0;if("startRule"in t){if(!(t.startRule in u))throw new Error("Can't start parsing from rule \""+t.startRule+'".');a=u[t.startRule]}function nr(){return cr(Kt,Xt)}function or(e,t){throw function(e,t){return new peg$SyntaxError(e,null,null,t)}(e,t=void 0!==t?t:cr(Kt,Xt))}function ur(e,t){return{type:"literal",text:e,ignoreCase:t}}function ar(e,t,r){return{type:"class",parts:e,inverted:t,ignoreCase:r}}function ir(e){return{type:"other",description:e}}function sr(t){var r,n=Zt[t];if(n)return n;if(t>=Zt.length)r=Zt.length-1;else for(r=t;!Zt[--r];);for(n={line:(n=Zt[r]).line,column:n.column};rer&&(er=Xt,tr=[]),tr.push(e))}function pr(){var t,r,o,u,a,c;if(t=Xt,Vr(),r=Xt,o=function(){var t,r,o,u;return t=Xt,123===e.charCodeAt(Xt)?(r=i,Xt++):(r=n,0===rr&&lr(oe)),r!==n&&(o=jr())!==n?(125===e.charCodeAt(Xt)?(u=s,Xt++):(u=n,0===rr&&lr(ue)),u!==n&&Yr()!==n?(Kt=t,t=pt(o)):(Xt=t,t=n)):(Xt=t,t=n),t}(),o!==n?(u=Vr(),r=o):(Xt=r,r=n),r===n&&(r=null),o=Xt,u=function(){var e,t;return e=Xt,(t=jr())!==n&&Yr()!==n?(Kt=e,e=ft(t)):(Xt=e,e=n),e}(),u!==n?(a=Vr(),o=u):(Xt=o,o=n),o===n&&(o=null),u=[],a=Xt,(c=fr())!==n?(Vr(),a=c):(Xt=a,a=n),a!==n)for(;a!==n;)u.push(a),a=Xt,(c=fr())!==n?(Vr(),a=c):(Xt=a,a=n);else u=n;return u!==n?(Kt=t,t=lt(r,o,u)):(Xt=t,t=n),t}function fr(){var t,r,o,u,a;return t=Xt,(r=Dr())!==n?(Vr(),o=Xt,(u=Rr())!==n?(Vr(),o=u):(Xt=o,o=n),o===n&&(o=null),61===e.charCodeAt(Xt)?(u=c,Xt++):(u=n,0===rr&&lr(ae)),u!==n?(Vr(),(a=hr())!==n&&Yr()!==n?(Kt=t,t=ht(r,o,a)):(Xt=t,t=n)):(Xt=t,t=n)):(Xt=t,t=n),t}function hr(){var t,r,o,u,a,i;if(t=Xt,(r=dr())!==n){for(o=[],u=Xt,Vr(),47===e.charCodeAt(Xt)?(a=l,Xt++):(a=n,0===rr&&lr(ie)),a!==n?(Vr(),(i=dr())!==n?u=i:(Xt=u,u=n)):(Xt=u,u=n);u!==n;)o.push(u),u=Xt,Vr(),47===e.charCodeAt(Xt)?(a=l,Xt++):(a=n,0===rr&&lr(ie)),a!==n?(Vr(),(i=dr())!==n?u=i:(Xt=u,u=n)):(Xt=u,u=n);Kt=t,t=dt(r,o)}else Xt=t,t=n;return t}function dr(){var e,t,r,o;return e=Xt,t=function(){var e,t,r,o,u;if(e=Xt,(t=gr())!==n){for(r=[],o=Xt,Vr(),(u=gr())!==n?o=u:(Xt=o,o=n);o!==n;)r.push(o),o=Xt,Vr(),(u=gr())!==n?o=u:(Xt=o,o=n);Kt=e,e=At(t,r)}else Xt=e,e=n;return e}(),t!==n?(r=Xt,Vr(),(o=jr())!==n?r=o:(Xt=r,r=n),r===n&&(r=null),Kt=e,e=gt(t,r)):(Xt=e,e=n),e}function gr(){var t,r,o,u;return t=Xt,r=function(){var t,r;return t=Xt,64===e.charCodeAt(Xt)?(r=p,Xt++):(r=n,0===rr&&lr(se)),r!==n&&(Kt=t,r=_t()),t=r}(),r!==n?((o=Ar())===n&&(o=null),(u=mr())!==n?(Kt=t,t=mt(r,o,u)):(Xt=t,t=n)):(Xt=t,t=n),t===n&&(t=Xt,(r=Ar())!==n?(o=Vr(),(u=mr())!==n?(Kt=t,t=Et(r,u)):(Xt=t,t=n)):(Xt=t,t=n),t===n&&(t=mr())),t}function Ar(){var t,r,o;return t=Xt,(r=Dr())!==n?(Vr(),58===e.charCodeAt(Xt)?(o=f,Xt++):(o=n,0===rr&&lr(ce)),o!==n?(Kt=t,t=vt(r)):(Xt=t,t=n)):(Xt=t,t=n),t}function mr(){var t,r,o;return t=Xt,r=function(){var t;return t=e.charAt(Xt),j.test(t)?Xt++:(t=n,0===rr&&lr(le)),t}(),r!==n?(Vr(),(o=Er())!==n?(Kt=t,t=Ct(r,o)):(Xt=t,t=n)):(Xt=t,t=n),t===n&&(t=Er()),t}function Er(){var t,r,o;return t=Xt,(r=vr())!==n?(Vr(),o=function(){var t;return t=e.charAt(Xt),G.test(t)?Xt++:(t=n,0===rr&&lr(pe)),t}(),o!==n?(Kt=t,t=$t(r,o)):(Xt=t,t=n)):(Xt=t,t=n),t===n&&(t=function(){var t,r,o,u,a,i,s;return t=Xt,(r=vr())!==n?(Vr(),124===e.charCodeAt(Xt)?(o=h,Xt++):(o=n,0===rr&&lr(fe)),o!==n?(Vr(),u=function(){var t,r,o,u;return t=Xt,(r=_r())===n&&(r=null),Vr(),e.substr(Xt,2)===g?(o=g,Xt+=2):(o=n,0===rr&&lr(de)),o!==n?(Vr(),(u=_r())===n&&(u=null),Kt=t,t=yt(r,u)):(Xt=t,t=n),t===n&&(t=Xt,(r=_r())!==n&&(Kt=t,r=Ft(r)),t=r),t}(),u!==n?(Vr(),a=Xt,44===e.charCodeAt(Xt)?(i=d,Xt++):(i=n,0===rr&&lr(he)),i!==n?(Vr(),(s=hr())!==n?(Vr(),a=s):(Xt=a,a=n)):(Xt=a,a=n),a===n&&(a=null),124===e.charCodeAt(Xt)?(i=h,Xt++):(i=n,0===rr&&lr(fe)),i!==n?(Kt=t,t=St(r,u,a)):(Xt=t,t=n)):(Xt=t,t=n)):(Xt=t,t=n)):(Xt=t,t=n),t}(),t===n&&(t=vr())),t}function _r(){var t,r;return t=Xt,r=function(){var t,r,o,u;if(t=Xt,r=Xt,o=[],(u=Hr())!==n)for(;u!==n;)o.push(u),u=Hr();else o=n;return(r=o!==n?e.substring(r,Xt):o)!==n&&(Kt=t,r=qt(r)),t=r}(),r!==n&&(Kt=t,r=Pt(r)),(t=r)===n&&(t=Xt,(r=Dr())!==n&&(Kt=t,r=xt(r)),(t=r)===n&&(t=Xt,(r=jr())!==n&&(Kt=t,r=Dt(r)),t=r)),t}function vr(){var t,r,o,u;return t=function(){var t,r,o;return rr++,t=Xt,(r=Rr())!==n?(105===e.charCodeAt(Xt)?(o=y,Xt++):(o=n,0===rr&&lr(Te)),o===n&&(o=null),Kt=t,t=Lt(r,o)):(Xt=t,t=n),rr--,t===n&&(r=n,0===rr&&lr(Me)),t}(),t===n&&(t=function(){var t,r,o,u,a,i;if(rr++,t=Xt,91===e.charCodeAt(Xt)?(r=x,Xt++):(r=n,0===rr&&lr(je)),r!==n){for(94===e.charCodeAt(Xt)?(o=D,Xt++):(o=n,0===rr&&lr(Ge)),o===n&&(o=null),u=[],(a=Mr())===n&&(a=Tr());a!==n;)u.push(a),(a=Mr())===n&&(a=Tr());93===e.charCodeAt(Xt)?(a=b,Xt++):(a=n,0===rr&&lr(Ve)),a!==n?(105===e.charCodeAt(Xt)?(i=y,Xt++):(i=n,0===rr&&lr(Te)),i===n&&(i=null),Kt=t,t=wt(o,u,i)):(Xt=t,t=n)}else Xt=t,t=n;return rr--,t===n&&(r=n,0===rr&&lr(Ue)),t}(),t===n&&(t=function(){var t,r;return t=Xt,46===e.charCodeAt(Xt)?(r=H,Xt++):(r=n,0===rr&&lr(at)),r!==n&&(Kt=t,r=Jt()),t=r}(),t===n&&(t=function(){var t,r,o,u,a,i,s;return t=Xt,(r=Dr())!==n?(o=Xt,rr++,u=Xt,a=Vr(),i=Xt,(s=Rr())!==n?i=s=[s,Vr()]:(Xt=i,i=n),i===n&&(i=null),61===e.charCodeAt(Xt)?(s=c,Xt++):(s=n,0===rr&&lr(ae)),s!==n?u=a=[a,i,s]:(Xt=u,u=n),rr--,u===n?o=void 0:(Xt=o,o=n),o!==n?(Kt=t,t=Bt(r)):(Xt=t,t=n)):(Xt=t,t=n),t}(),t===n&&(t=function(){var t,r,o;return t=Xt,r=function(){var t;return t=e.charAt(Xt),V.test(t)?Xt++:(t=n,0===rr&&lr(me)),t}(),r!==n?(Vr(),(o=jr())!==n?(Kt=t,t=Rt(r,o)):(Xt=t,t=n)):(Xt=t,t=n),t}(),t===n&&(t=Xt,40===e.charCodeAt(Xt)?(r=A,Xt++):(r=n,0===rr&&lr(ge)),r!==n?(Vr(),(o=hr())!==n?(Vr(),41===e.charCodeAt(Xt)?(u=m,Xt++):(u=n,0===rr&&lr(Ae)),u!==n?(Kt=t,t=bt(o)):(Xt=t,t=n)):(Xt=t,t=n)):(Xt=t,t=n)))))),t}function Cr(){var t;return e.length>Xt?(t=e.charAt(Xt),Xt++):(t=n,0===rr&&lr(Ee)),t}function $r(){var t;return rr++,t=e.charAt(Xt),Y.test(t)?Xt++:(t=n,0===rr&&lr(ve)),rr--,t===n&&0===rr&&lr(_e),t}function Sr(){var t;return t=e.charAt(Xt),W.test(t)?Xt++:(t=n,0===rr&&lr(Ce)),t}function yr(){var t;return rr++,10===e.charCodeAt(Xt)?(t=E,Xt++):(t=n,0===rr&&lr(Se)),t===n&&(e.substr(Xt,2)===_?(t=_,Xt+=2):(t=n,0===rr&&lr(ye)),t===n&&(t=e.charAt(Xt),z.test(t)?Xt++:(t=n,0===rr&&lr(Fe)))),rr--,t===n&&0===rr&&lr($e),t}function Fr(){var t;return rr++,(t=function(){var t,r,o,u,a,i;if(t=Xt,e.substr(Xt,2)===v?(r=v,Xt+=2):(r=n,0===rr&&lr(xe)),r!==n){for(o=[],u=Xt,a=Xt,rr++,e.substr(Xt,2)===C?(i=C,Xt+=2):(i=n,0===rr&&lr(De)),rr--,i===n?a=void 0:(Xt=a,a=n),a!==n&&(i=Cr())!==n?u=a=[a,i]:(Xt=u,u=n);u!==n;)o.push(u),u=Xt,a=Xt,rr++,e.substr(Xt,2)===C?(i=C,Xt+=2):(i=n,0===rr&&lr(De)),rr--,i===n?a=void 0:(Xt=a,a=n),a!==n&&(i=Cr())!==n?u=a=[a,i]:(Xt=u,u=n);e.substr(Xt,2)===C?(u=C,Xt+=2):(u=n,0===rr&&lr(De)),u!==n?t=r=[r,o,u]:(Xt=t,t=n)}else Xt=t,t=n;return t}())===n&&(t=xr()),rr--,t===n&&0===rr&&lr(Pe),t}function Pr(){var t,r,o,u,a,i;if(t=Xt,e.substr(Xt,2)===v?(r=v,Xt+=2):(r=n,0===rr&&lr(xe)),r!==n){for(o=[],u=Xt,a=Xt,rr++,e.substr(Xt,2)===C?(i=C,Xt+=2):(i=n,0===rr&&lr(De)),i===n&&(i=Sr()),rr--,i===n?a=void 0:(Xt=a,a=n),a!==n&&(i=Cr())!==n?u=a=[a,i]:(Xt=u,u=n);u!==n;)o.push(u),u=Xt,a=Xt,rr++,e.substr(Xt,2)===C?(i=C,Xt+=2):(i=n,0===rr&&lr(De)),i===n&&(i=Sr()),rr--,i===n?a=void 0:(Xt=a,a=n),a!==n&&(i=Cr())!==n?u=a=[a,i]:(Xt=u,u=n);e.substr(Xt,2)===C?(u=C,Xt+=2):(u=n,0===rr&&lr(De)),u!==n?t=r=[r,o,u]:(Xt=t,t=n)}else Xt=t,t=n;return t}function xr(){var t,r,o,u,a,i;if(t=Xt,e.substr(Xt,2)===$?(r=$,Xt+=2):(r=n,0===rr&&lr(be)),r!==n){for(o=[],u=Xt,a=Xt,rr++,i=Sr(),rr--,i===n?a=void 0:(Xt=a,a=n),a!==n&&(i=Cr())!==n?u=a=[a,i]:(Xt=u,u=n);u!==n;)o.push(u),u=Xt,a=Xt,rr++,i=Sr(),rr--,i===n?a=void 0:(Xt=a,a=n),a!==n&&(i=Cr())!==n?u=a=[a,i]:(Xt=u,u=n);t=r=[r,o]}else Xt=t,t=n;return t}function Dr(){var e,t,r,o;if(rr++,e=Xt,(t=br())!==n){for(r=[],o=Br();o!==n;)r.push(o),o=Br();Kt=e,e=Ot(t,r)}else Xt=e,e=n;return rr--,e===n&&(t=n,0===rr&&lr(Be)),e}function br(){var t,r,o;return t=e.charAt(Xt),J.test(t)?Xt++:(t=n,0===rr&&lr(Re)),t===n&&(t=Xt,92===e.charCodeAt(Xt)?(r=S,Xt++):(r=n,0===rr&&lr(Oe)),r!==n&&(o=kr())!==n?t=o:(Xt=t,t=n)),t}function Br(){var t;return(t=br())===n&&(t=e.charAt(Xt),Q.test(t)?Xt++:(t=n,0===rr&&lr(Le))),t}function Rr(){var t,r,o,u;if(rr++,t=Xt,34===e.charCodeAt(Xt)?(r=F,Xt++):(r=n,0===rr&&lr(Ie)),r!==n){for(o=[],u=Or();u!==n;)o.push(u),u=Or();34===e.charCodeAt(Xt)?(u=F,Xt++):(u=n,0===rr&&lr(Ie)),u!==n?(Kt=t,t=Mt(o)):(Xt=t,t=n)}else Xt=t,t=n;if(t===n)if(t=Xt,39===e.charCodeAt(Xt)?(r=P,Xt++):(r=n,0===rr&&lr(Ne)),r!==n){for(o=[],u=Lr();u!==n;)o.push(u),u=Lr();39===e.charCodeAt(Xt)?(u=P,Xt++):(u=n,0===rr&&lr(Ne)),u!==n?(Kt=t,t=Tt(o)):(Xt=t,t=n)}else Xt=t,t=n;return rr--,t===n&&(r=n,0===rr&&lr(we)),t}function Or(){var t,r,o,u;return t=Xt,r=Xt,o=Xt,rr++,u=e.charAt(Xt),q.test(u)?Xt++:(u=n,0===rr&&lr(ke)),rr--,u===n?o=void 0:(Xt=o,o=n),o!==n&&(u=Cr())!==n?r=o=[o,u]:(Xt=r,r=n),(t=r!==n?e.substring(t,Xt):r)===n&&(t=Xt,92===e.charCodeAt(Xt)?(r=S,Xt++):(r=n,0===rr&&lr(Oe)),r!==n&&(o=Ir())!==n?t=o:(Xt=t,t=n),t===n&&(t=wr())),t}function Lr(){var t,r,o,u;return t=Xt,r=Xt,o=Xt,rr++,u=e.charAt(Xt),X.test(u)?Xt++:(u=n,0===rr&&lr(He)),rr--,u===n?o=void 0:(Xt=o,o=n),o!==n&&(u=Cr())!==n?r=o=[o,u]:(Xt=r,r=n),(t=r!==n?e.substring(t,Xt):r)===n&&(t=Xt,92===e.charCodeAt(Xt)?(r=S,Xt++):(r=n,0===rr&&lr(Oe)),r!==n&&(o=Ir())!==n?t=o:(Xt=t,t=n),t===n&&(t=wr())),t}function Mr(){var t,r,o,u;return t=Xt,(r=Tr())!==n?(45===e.charCodeAt(Xt)?(o=B,Xt++):(o=n,0===rr&&lr(Ye)),o!==n&&(u=Tr())!==n?(Kt=t,t=It(r,u)):(Xt=t,t=n)):(Xt=t,t=n),t}function Tr(){var t,r,o,u;return t=Xt,r=Xt,o=Xt,rr++,u=e.charAt(Xt),K.test(u)?Xt++:(u=n,0===rr&&lr(We)),rr--,u===n?o=void 0:(Xt=o,o=n),o!==n&&(u=Cr())!==n?r=o=[o,u]:(Xt=r,r=n),(t=r!==n?e.substring(t,Xt):r)===n&&(t=Xt,92===e.charCodeAt(Xt)?(r=S,Xt++):(r=n,0===rr&&lr(Oe)),r!==n&&(o=Ir())!==n?t=o:(Xt=t,t=n),t===n&&(t=wr())),t}function wr(){var t,r;return t=Xt,92===e.charCodeAt(Xt)?(r=S,Xt++):(r=n,0===rr&&lr(Oe)),r!==n&&yr()!==n?(Kt=t,t=Nt()):(Xt=t,t=n),t}function Ir(){var t,r,o,u;return t=function(){var t;return(t=Nr())===n&&(t=function(){var t,r,o,u;return t=Xt,r=Xt,o=Xt,rr++,u=function(){var t;return(t=Nr())===n&&(t=e.charAt(Xt),ee.test(t)?Xt++:(t=n,0===rr&&lr(tt))),t}(),u===n&&(u=Sr()),rr--,u===n?o=void 0:(Xt=o,o=n),o!==n&&(u=Cr())!==n?r=o=[o,u]:(Xt=r,r=n),t=r!==n?e.substring(t,Xt):r}()),t}(),t===n&&(t=Xt,48===e.charCodeAt(Xt)?(r=R,Xt++):(r=n,0===rr&&lr(ze)),r!==n?(o=Xt,rr++,u=Hr(),rr--,u===n?o=void 0:(Xt=o,o=n),o!==n?(Kt=t,t=kt()):(Xt=t,t=n)):(Xt=t,t=n),t===n&&(t=function(){var t,r,o,u,a,i;return t=Xt,120===e.charCodeAt(Xt)?(r=N,Xt++):(r=n,0===rr&&lr(rt)),r!==n?(o=Xt,u=Xt,(a=Ur())!==n&&(i=Ur())!==n?u=a=[a,i]:(Xt=u,u=n),(o=u!==n?e.substring(o,Xt):u)!==n?(Kt=t,t=Wt(o)):(Xt=t,t=n)):(Xt=t,t=n),t}(),t===n&&(t=kr()))),t}function Nr(){var t,r;return t=e.charAt(Xt),Z.test(t)?Xt++:(t=n,0===rr&&lr(Je)),t===n&&(t=Xt,98===e.charCodeAt(Xt)?(r=O,Xt++):(r=n,0===rr&&lr(Qe)),r!==n&&(Kt=t,r=Ht()),(t=r)===n&&(t=Xt,102===e.charCodeAt(Xt)?(r=L,Xt++):(r=n,0===rr&&lr(qe)),r!==n&&(Kt=t,r=Ut()),(t=r)===n&&(t=Xt,110===e.charCodeAt(Xt)?(r=M,Xt++):(r=n,0===rr&&lr(Xe)),r!==n&&(Kt=t,r=jt()),(t=r)===n&&(t=Xt,114===e.charCodeAt(Xt)?(r=T,Xt++):(r=n,0===rr&&lr(Ke)),r!==n&&(Kt=t,r=Gt()),(t=r)===n&&(t=Xt,116===e.charCodeAt(Xt)?(r=w,Xt++):(r=n,0===rr&&lr(Ze)),r!==n&&(Kt=t,r=Vt()),(t=r)===n&&(t=Xt,118===e.charCodeAt(Xt)?(r=I,Xt++):(r=n,0===rr&&lr(et)),r!==n&&(Kt=t,r=Yt()),t=r)))))),t}function kr(){var t,r,o,u,a,i,s,c;return t=Xt,117===e.charCodeAt(Xt)?(r=k,Xt++):(r=n,0===rr&&lr(nt)),r!==n?(o=Xt,u=Xt,(a=Ur())!==n&&(i=Ur())!==n&&(s=Ur())!==n&&(c=Ur())!==n?u=a=[a,i,s,c]:(Xt=u,u=n),(o=u!==n?e.substring(o,Xt):u)!==n?(Kt=t,t=zt(o)):(Xt=t,t=n)):(Xt=t,t=n),t}function Hr(){var t;return t=e.charAt(Xt),te.test(t)?Xt++:(t=n,0===rr&&lr(ot)),t}function Ur(){var t;return t=e.charAt(Xt),re.test(t)?Xt++:(t=n,0===rr&&lr(ut)),t}function jr(){var t,r,o,u;return rr++,t=Xt,123===e.charCodeAt(Xt)?(r=i,Xt++):(r=n,0===rr&&lr(oe)),r!==n?(o=function(){var e,t;return e=Xt,t=Gr(),Kt=e,e=t=Qt(t)}(),125===e.charCodeAt(Xt)?(u=s,Xt++):(u=n,0===rr&&lr(ue)),u!==n?t=o:(Xt=t,t=n)):(Xt=t,t=n),rr--,t===n&&(r=n,0===rr&&lr(it)),t}function Gr(){var t,r,o,u,a,c;if(t=Xt,r=[],o=[],u=Xt,a=Xt,rr++,c=e.charAt(Xt),ne.test(c)?Xt++:(c=n,0===rr&&lr(st)),rr--,c===n?a=void 0:(Xt=a,a=n),a!==n&&(c=Cr())!==n?u=a=[a,c]:(Xt=u,u=n),u!==n)for(;u!==n;)o.push(u),u=Xt,a=Xt,rr++,c=e.charAt(Xt),ne.test(c)?Xt++:(c=n,0===rr&&lr(st)),rr--,c===n?a=void 0:(Xt=a,a=n),a!==n&&(c=Cr())!==n?u=a=[a,c]:(Xt=u,u=n);else o=n;for(o===n&&(o=Xt,123===e.charCodeAt(Xt)?(u=i,Xt++):(u=n,0===rr&&lr(oe)),u!==n?(a=Gr(),125===e.charCodeAt(Xt)?(c=s,Xt++):(c=n,0===rr&&lr(ue)),c!==n?o=u=[u,a,c]:(Xt=o,o=n)):(Xt=o,o=n));o!==n;){if(r.push(o),o=[],u=Xt,a=Xt,rr++,c=e.charAt(Xt),ne.test(c)?Xt++:(c=n,0===rr&&lr(st)),rr--,c===n?a=void 0:(Xt=a,a=n),a!==n&&(c=Cr())!==n?u=a=[a,c]:(Xt=u,u=n),u!==n)for(;u!==n;)o.push(u),u=Xt,a=Xt,rr++,c=e.charAt(Xt),ne.test(c)?Xt++:(c=n,0===rr&&lr(st)),rr--,c===n?a=void 0:(Xt=a,a=n),a!==n&&(c=Cr())!==n?u=a=[a,c]:(Xt=u,u=n);else o=n;o===n&&(o=Xt,123===e.charCodeAt(Xt)?(u=i,Xt++):(u=n,0===rr&&lr(oe)),u!==n?(a=Gr(),125===e.charCodeAt(Xt)?(c=s,Xt++):(c=n,0===rr&&lr(ue)),c!==n?o=u=[u,a,c]:(Xt=o,o=n)):(Xt=o,o=n))}return e.substring(t,Xt)}function Vr(){var e,t;for(e=[],(t=$r())===n&&(t=yr())===n&&(t=Fr());t!==n;)e.push(t),(t=$r())===n&&(t=yr())===n&&(t=Fr());return e}function Yr(){var t,r,o,u;if(t=[],r=Xt,o=Vr(),59===e.charCodeAt(Xt)?(u=U,Xt++):(u=n,0===rr&&lr(ct)),u!==n?r=o=[o,u]:(Xt=r,r=n),r!==n)for(;r!==n;)t.push(r),r=Xt,o=Vr(),59===e.charCodeAt(Xt)?(u=U,Xt++):(u=n,0===rr&&lr(ct)),u!==n?r=o=[o,u]:(Xt=r,r=n);else t=n;return t===n&&(t=Xt,r=function(){var e,t;for(e=[],(t=$r())===n&&(t=Pr());t!==n;)e.push(t),(t=$r())===n&&(t=Pr());return e}(),(o=xr())===n&&(o=null),(u=yr())!==n?t=r=[r,o,u]:(Xt=t,t=n),t===n&&(t=Xt,r=Vr(),o=function(){var t,r;return t=Xt,rr++,e.length>Xt?(r=e.charAt(Xt),Xt++):(r=n,0===rr&&lr(Ee)),rr--,r===n?t=void 0:(Xt=t,t=n),t}(),o!==n?t=r=[r,o]:(Xt=t,t=n))),t}var Wr=t.reservedWords||[];if((r=a())!==n&&Xt===e.length)return r;throw r!==n&&Xt0){for(t=1,r=1;t} */ this.labels = {}; - /* Stack of in-flight source mappings */ + /** + * Stack of in-flight source mappings + * @type {[SourceArray, number, PEG.LocationRange][]} + */ this.sourceMapStack = []; } @@ -49,6 +57,13 @@ class Stack { return this.varName + i; } + /** + * + * @param {PEG.LocationRange} location + * @param {SourceArray} chunks + * @param {string} [name] + * @returns + */ static sourceNode(location, chunks, name) { const start = GrammarLocation.offsetStart(location); return new SourceNode( @@ -150,7 +165,7 @@ class Stack { /** * Returns name of the variable at index `i`. * - * @param {number} [i] Index of the variable from top of the stack + * @param {number} i Index of the variable from top of the stack * @return {string} Generated name * * @throws {RangeError} If `i < 0` or more than the stack size @@ -258,6 +273,11 @@ class Stack { return result; } + /** + * + * @param {SourceArray} parts + * @param {PEG.LocationRange} location + */ sourceMapPush(parts, location) { if (this.sourceMapStack.length) { const top = this.sourceMapStack[this.sourceMapStack.length - 1]; @@ -281,12 +301,21 @@ class Stack { ]); } + /** + * @returns {{parts:SourceArray,location:PEG.LocationRange}} + */ sourceMapPopInternal() { + const elt = this.sourceMapStack.pop(); + if (!elt) { + throw new RangeError( + `Rule '${this.ruleName}': Attempting to pop an empty source map stack.\nBytecode: ${this.bytecode}` + ); + } const [ parts, index, location, - ] = this.sourceMapStack.pop(); + ] = elt; const chunks = parts.splice(index).map( chunk => (chunk instanceof SourceNode ? chunk @@ -305,6 +334,10 @@ class Stack { return { parts, location }; } + /** + * @param {number} [offset] + * @returns {[SourceArray, number, PEG.LocationRange]|undefined} + */ sourceMapPop(offset) { const { location } = this.sourceMapPopInternal(); if (this.sourceMapStack.length @@ -325,6 +358,7 @@ class Stack { newLoc, ]); } + return undefined; } } diff --git a/test/unit/compiler/stack.spec.js b/test/unit/compiler/stack.spec.js index d5a5d474..1e3863c4 100644 --- a/test/unit/compiler/stack.spec.js +++ b/test/unit/compiler/stack.spec.js @@ -47,6 +47,13 @@ describe("utility class Stack", () => { "Rule 'rule': The variable stack underflow: attempt to use a variable 'v' at an index -3.\nBytecode: 42" ); }); + + it("`sourceMapPop`", () => { + expect(() => stack.sourceMapPop()).to.throw( + RangeError, + "Rule 'rule': Attempting to pop an empty source map stack.\nBytecode: 42" + ); + }); }); it("`defines` returns an empty string", () => { @@ -268,4 +275,14 @@ describe("utility class Stack", () => { ); }); }); + + describe("SourceNode handling", () => { + it("sourceNode handles unknown column", () => { + expect(Stack.sourceNode({ + source: "", + start: { line:1, column:0, offset:0 }, + end: { line:1, column:0, offset:0 }, + }, ["foo"], "test").column).to.equal(null); + }); + }); });