From 965d772ab6b9561c2b30c091517a228ad2a4d218 Mon Sep 17 00:00:00 2001 From: markw65 Date: Mon, 28 Aug 2023 10:58:04 -0700 Subject: [PATCH] Build Artifacts --- docs/js/benchmark-bundle.min.js | 2 +- docs/js/test-bundle.min.js | 2 +- docs/vendor/peggy/peggy.min.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/js/benchmark-bundle.min.js b/docs/js/benchmark-bundle.min.js index 41127137..eccac915 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,u){"object"==typeof exports&&"undefined"!=typeof module?module.exports=u():"function"==typeof define&&define.amd?define(u):(e="undefined"!=typeof globalThis?globalThis:e||self).browser=u()}(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,u){this.source=e,this.start=u}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,u){return extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,u){e.__proto__=u}||function(e,u){for(var t in u)Object.prototype.hasOwnProperty.call(u,t)&&(e[t]=u[t])},extendStatics(e,u)},function(e,u){if("function"!=typeof u&&null!==u)throw new TypeError("Class extends value "+String(u)+" is not a constructor or null");function t(){this.constructor=e}extendStatics(e,u),e.prototype=null===u?Object.create(u):(t.prototype=u.prototype,new t)}),extendStatics,GrammarLocation$3=grammarLocation,setProtoOf=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,u){e.__proto__=u}||function(e,u){for(var t in u)Object.prototype.hasOwnProperty.call(u,t)&&(e[t]=u[t])},GrammarError$3=function(e){function u(t,n,r){var o=e.call(this,t)||this;return setProtoOf(o,u.prototype),o.name="GrammarError",o.location=n,void 0===r&&(r=[]),o.diagnostics=r,o.stage=null,o.problems=[["error",t,n,r]],o}return __extends(u,e),u.prototype.toString=function(){var u=e.prototype.toString.call(this);this.location&&(u+="\n at ",void 0!==this.location.source&&null!==this.location.source&&(u+="".concat(this.location.source,":")),u+="".concat(this.location.start.line,":").concat(this.location.start.column));for(var t=0,n=this.diagnostics;t1&&e.delimiter&&r(e.delimiter)))},semantic_and:n,semantic_not:n,rule_ref:function(u){var t=asts$7.findRule(e,u.name);return t?r(t):void 0},literal:function(e){return""!==e.value},class:t,any:t});return r(u)}},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$9=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 u(e){return e.match=SOMETIMES_MATCH$1}function t(e){return o(e.expression),e.match=ALWAYS_MATCH$1}function n(e){return e.match=o(e.expression)}function r(e,u){for(var t=e.length,n=0,r=0,a=0;a0?NEVER_MATCH$1:SOMETIMES_MATCH$1}var o=visitor$9.build({rule:function(e){var u=void 0,t=0;if(void 0===e.match){e.match=SOMETIMES_MATCH$1;do{if(u=e.match,e.match=o(e.expression),++t>6)throw new GrammarError$2("Infinity cycle detected when trying to evaluate node match result",e.location)}while(u!==e.match)}return e.match},named:n,choice:function(e){return e.match=r(e.alternatives,!0)},action:n,sequence:function(e){return e.match=r(e.elements,!1)},labeled:n,text:n,simple_and:n,simple_not:function(e){return e.match=-o(e.expression)},optional:t,zero_or_more:t,one_or_more:n,repeated:function(e){var u=o(e.expression),t=e.delimiter?o(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:u===NEVER_MATCH$1?e.match=0===n.value?ALWAYS_MATCH$1:NEVER_MATCH$1:u===ALWAYS_MATCH$1?e.delimiter&&n.value>=2?e.match=t:e.match=ALWAYS_MATCH$1:e.delimiter&&n.value>=2?e.match=t===NEVER_MATCH$1?NEVER_MATCH$1:SOMETIMES_MATCH$1:e.match=0===n.value?ALWAYS_MATCH$1:SOMETIMES_MATCH$1},group:n,semantic_and:u,semantic_not:u,rule_ref:function(u){var t=asts$6.findRule(e,u.name);return u.match=o(t)},literal:function(e){var u=0===e.value.length?ALWAYS_MATCH$1:SOMETIMES_MATCH$1;return e.match=u},class:function(e){var u=0===e.parts.length?NEVER_MATCH$1:SOMETIMES_MATCH$1;return e.match=u},any:u});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$2=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,u,t){if(t||2===arguments.length)for(var n,r=0,o=u.length;r1?f(SOMETIMES_MATCH,[op$1.IF_ERROR],A([op$1.POP],e(u.slice(1),t)),[]):[])}(e.alternatives,u)},action:function(e,u){var t=p(u.env),n="sequence"!==e.expression.type||0===e.expression.elements.length,r=_(e.expression,{sp:u.sp+(n?1:0),env:t,action:e}),o=0|e.expression.match,a=n&&o!==NEVER_MATCH?c(!1,Object.keys(t),e):null;return n?A([op$1.PUSH_CURR_POS],r,f(o,[op$1.IF_NOT_ERROR],A([op$1.LOAD_SAVED_POS,1],E(a,1,t,u.sp+2)),[]),[op$1.NIP]):r},sequence:function(e,u){return A([op$1.PUSH_CURR_POS],function u(t,n){if(t.length>0){var r=e.elements.length-t.length+1;return A(_(t[0],{sp:n.sp,env:n.env,pluck:n.pluck,action:null}),f(0|t[0].match,[op$1.IF_NOT_ERROR],u(t.slice(1),{sp:n.sp+1,env:n.env,pluck:n.pluck,action:n.action}),A(r>1?[op$1.POP_N,r]:[op$1.POP],[op$1.POP_CURR_POS],[op$1.PUSH_FAILED])))}if(n.pluck.length>0)return A([op$1.PLUCK,e.elements.length+1,n.pluck.length],n.pluck.map((function(e){return n.sp-e})));if(n.action){var o=c(!1,Object.keys(n.env),n.action);return A([op$1.LOAD_SAVED_POS,e.elements.length],E(o,e.elements.length+1,n.env,n.sp))}return A([op$1.WRAP,e.elements.length],[op$1.NIP])}(e.elements,{sp:u.sp+1,env:u.env,pluck:[],action:u.action}))},labeled:function(e,t){var n=t.env,r=e.label,o=t.sp+1;r&&(n=p(t.env),t.env[e.label]=o),e.pick&&t.pluck.push(o);var a=_(e.expression,{sp:t.sp,env:n,action:null});return r&&e.labelLocation&&u&&"source-and-map"===u.output?A([op$1.SOURCE_MAP_LABEL_PUSH,o,i(r),l(e.labelLocation)],a,[op$1.SOURCE_MAP_LABEL_POP,o]):a},text:function(e,u){return A([op$1.PUSH_CURR_POS],_(e.expression,{sp:u.sp+1,env:p(u.env),action:null}),f(0|e.match,[op$1.IF_NOT_ERROR],A([op$1.POP],[op$1.TEXT]),[op$1.NIP]))},simple_and:function(e,u){return h(e.expression,!1,u)},simple_not:function(e,u){return h(e.expression,!0,u)},optional:function(e,u){return A(_(e.expression,{sp:u.sp,env:p(u.env),action:null}),f(-(0|e.expression.match),[op$1.IF_ERROR],A([op$1.POP],[op$1.PUSH_NULL]),[]))},zero_or_more:function(e,u){var t=_(e.expression,{sp:u.sp+1,env:p(u.env),action:null});return A([op$1.PUSH_EMPTY_ARRAY],t,C(t),[op$1.POP])},one_or_more:function(e,u){var t=_(e.expression,{sp:u.sp+1,env:p(u.env),action:null});return A([op$1.PUSH_EMPTY_ARRAY],t,f(0|e.expression.match,[op$1.IF_NOT_ERROR],A(C(t),[op$1.POP]),A([op$1.POP],[op$1.POP],[op$1.PUSH_FAILED])))},repeated:function(e,u){var t=e.min?e.min:e.max,n="constant"!==t.type||t.value>0,r="constant"!==e.max.type&&null!==e.max.value,o=n?2:1,a=e.min?g(e.min,u.env,u.sp,2+("function"===e.max.type?1:0)):{pre:[],post:[],sp:u.sp},i=g(e.max,u.env,a.sp,o),s=_(e.expression,{sp:i.sp+o,env:p(u.env),action:null}),c=null!==e.delimiter?_(e.expression,{sp:i.sp+o+1,env:p(u.env),action:null}):s,l=function(e,u,t,n,r){return e?A([op$1.PUSH_CURR_POS],_(e,{sp:n.sp+r+1,env:p(n.env),action:null}),f(0|e.match,[op$1.IF_NOT_ERROR],A([op$1.POP],t,f(-u,[op$1.IF_ERROR],[op$1.POP,op$1.POP_CURR_POS,op$1.PUSH_FAILED],[op$1.NIP])),[op$1.NIP])):t}(e.delimiter,0|e.expression.match,c,u,o),E=m(l,e.max),h=r?m(s,e.max):s,d=A(n?[op$1.PUSH_CURR_POS]:[],[op$1.PUSH_EMPTY_ARRAY],h,C(E),[op$1.POP]);return A(a.pre,i.pre,n?function(e,u){var t="constant"===u.type?[op$1.IF_LT,u.value]:[op$1.IF_LT_DYNAMIC,u.sp];return A(e,f(SOMETIMES_MATCH,t,[op$1.POP,op$1.POP_CURR_POS,op$1.PUSH_FAILED],[op$1.NIP]))}(d,t):d,i.post,a.post)},group:function(e,u){return _(e.expression,{sp:u.sp,env:p(u.env),action:null})},semantic_and:function(e,u){return d(e,!1,u)},semantic_not:function(e,u){return d(e,!0,u)},rule_ref:function(u){return[op$1.RULE,asts$5.indexOfRule(e,u.name)]},literal:function(e){if(e.value.length>0){var u=0|e.match,t=u===SOMETIMES_MATCH||u===ALWAYS_MATCH&&!e.ignoreCase?i(e.ignoreCase?e.value.toLowerCase():e.value):null,n=u!==ALWAYS_MATCH?s({type:"literal",value:e.value,ignoreCase:e.ignoreCase}):null;return f(u,e.ignoreCase?[op$1.MATCH_STRING_IC,t]:[op$1.MATCH_STRING,t],e.ignoreCase?[op$1.ACCEPT_N,e.value.length]:[op$1.ACCEPT_STRING,t],[op$1.FAIL,n])}return[op$1.PUSH_EMPTY_STRING]},class:function(e){var u=0|e.match,t=u===SOMETIMES_MATCH?function(e){var u={value:e.parts,inverted:e.inverted,ignoreCase:e.ignoreCase},t=JSON.stringify(u),r=n.findIndex((function(e){return JSON.stringify(e)===t}));return-1===r?n.push(u)-1:r}(e):null,r=u!==ALWAYS_MATCH?s({type:"class",value:e.parts,inverted:e.inverted,ignoreCase:e.ignoreCase}):null;return f(u,[op$1.MATCH_CHAR_CLASS,t],[op$1.ACCEPT_N,1],[op$1.FAIL,r])},any:function(e){var u=0|e.match,t=u!==ALWAYS_MATCH?s({type:"any"}):null;return f(u,[op$1.MATCH_ANY],[op$1.ACCEPT_N,1],[op$1.FAIL,t])}},u&&"source-and-map"===u.output&&Object.entries(F).forEach((function(e){var u=e[0],t=e[1];F[u]=function(e){for(var u=[],n=1;n>>=VLQ_BASE_SHIFT,n>0&&(u|=VLQ_CONTINUATION_BIT),t+=base64$2.encode(u)}while(n>0);return t};var util$3={};function getArg(e,u,t){if(u in e)return e[u];if(3===arguments.length)return t;throw new Error('"'+u+'" 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 u=e.length;if(u<9)return!1;if(95!==e.charCodeAt(u-1)||95!==e.charCodeAt(u-2)||111!==e.charCodeAt(u-3)||116!==e.charCodeAt(u-4)||111!==e.charCodeAt(u-5)||114!==e.charCodeAt(u-6)||112!==e.charCodeAt(u-7)||95!==e.charCodeAt(u-8)||95!==e.charCodeAt(u-9))return!1;for(let t=u-10;t>=0;t--)if(36!==e.charCodeAt(t))return!1;return!0}function strcmp(e,u){return e===u?0:null===e?1:null===u?-1:e>u?1:-1}function compareByGeneratedPositionsInflated(e,u){let t=e.generatedLine-u.generatedLine;return 0!==t?t:(t=e.generatedColumn-u.generatedColumn,0!==t?t:(t=strcmp(e.source,u.source),0!==t?t:(t=e.originalLine-u.originalLine,0!==t?t:(t=e.originalColumn-u.originalColumn,0!==t?t:strcmp(e.name,u.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 u=>{const t=getURLType(u),n=buildSafeBase(u),r=new URL(u,n);e(r);const o=r.toString();return"absolute"===t?o:"scheme-relative"===t?o.slice(PROTOCOL.length):"path-absolute"===t?o.slice(PROTOCOL_AND_HOST.length):computeRelativeURL(n,o)}}function withBase(e,u){return new URL(e,u).toString()}function buildUniqueSegment(e,u){let t=0;for(;;){const n=e+t++;if(-1===u.indexOf(n))return n}}function buildSafeBase(e){const u=e.split("..").length-1,t=buildUniqueSegment("p",e);let n=`${PROTOCOL_AND_HOST}/`;for(let e=0;e0&&!n[n.length-1]&&n.pop();t.length>0&&n.length>0&&t[0]===n[0];)t.shift(),n.shift();return n.map((()=>"..")).concat(t).join("/")+u.search+u.hash}const ensureDirectory=createSafeHandler((e=>{e.pathname=e.pathname.replace(/\/?$/,"/")})),normalize=createSafeHandler((e=>{}));function join(e,u){const t=getURLType(u),n=getURLType(e);if(e=ensureDirectory(e),"absolute"===t)return withBase(u,void 0);if("absolute"===n)return withBase(u,e);if("scheme-relative"===t)return normalize(u);if("scheme-relative"===n)return withBase(u,withBase(e,PROTOCOL_AND_HOST)).slice(PROTOCOL.length);if("path-absolute"===t)return normalize(u);if("path-absolute"===n)return withBase(u,withBase(e,PROTOCOL_AND_HOST)).slice(PROTOCOL_AND_HOST.length);const r=buildSafeBase(u+e);return computeRelativeURL(r,withBase(u,withBase(e,r)))}function relative(e,u){const t=relativeIfPossible(e,u);return"string"==typeof t?t:normalize(u)}function relativeIfPossible(e,u){if(getURLType(e)!==getURLType(u))return null;const t=buildSafeBase(e+u),n=new URL(e,t),r=new URL(u,t);try{new URL("",r.toString())}catch(e){return null}return r.protocol!==n.protocol||r.user!==n.user||r.password!==n.password||r.hostname!==n.hostname||r.port!==n.port?null:computeRelativeURL(n,r)}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(u,t){const n=new e;for(let e=0,r=u.length;e=0)return u;throw new Error('"'+e+'" is not in the set.')}at(e){if(e>=0&&et||n==t&&o>=r||util$2.compareByGeneratedPositionsInflated(e,u)<=0}let MappingList$1=class{constructor(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}unsortedForEach(e,u){this._array.forEach(e,u)}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(u){const t=u.sourceRoot,n=new e({file:u.file,sourceRoot:t});return u.eachMapping((function(e){const u={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(u.source=e.source,null!=t&&(u.source=util$1.relative(t,u.source)),u.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(u.name=e.name)),n.addMapping(u)})),u.sources.forEach((function(e){let r=e;null!=t&&(r=util$1.relative(t,e)),n._sources.has(r)||n._sources.add(r);const o=u.sourceContentFor(e);null!=o&&n.setSourceContent(e,o)})),n}addMapping(e){const u=util$1.getArg(e,"generated"),t=util$1.getArg(e,"original",null);let n=util$1.getArg(e,"source",null),r=util$1.getArg(e,"name",null);this._skipValidation||this._validateMapping(u,t,n,r),null!=n&&(n=String(n),this._sources.has(n)||this._sources.add(n)),null!=r&&(r=String(r),this._names.has(r)||this._names.add(r)),this._mappings.add({generatedLine:u.line,generatedColumn:u.column,originalLine:t&&t.line,originalColumn:t&&t.column,source:n,name:r})}setSourceContent(e,u){let t=e;null!=this._sourceRoot&&(t=util$1.relative(this._sourceRoot,t)),null!=u?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[util$1.toSetString(t)]=u):this._sourcesContents&&(delete this._sourcesContents[util$1.toSetString(t)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))}applySourceMap(e,u,t){let n=u;if(null==u){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 r=this._sourceRoot;null!=r&&(n=util$1.relative(r,n));const o=this._mappings.toArray().length>0?new ArraySet:this._sources,a=new ArraySet;this._mappings.unsortedForEach((function(u){if(u.source===n&&null!=u.originalLine){const n=e.originalPositionFor({line:u.originalLine,column:u.originalColumn});null!=n.source&&(u.source=n.source,null!=t&&(u.source=util$1.join(t,u.source)),null!=r&&(u.source=util$1.relative(r,u.source)),u.originalLine=n.line,u.originalColumn=n.column,null!=n.name&&(u.name=n.name))}const i=u.source;null==i||o.has(i)||o.add(i);const s=u.name;null==s||a.has(s)||a.add(s)}),this),this._sources=o,this._names=a,e.sources.forEach((function(u){const n=e.sourceContentFor(u);null!=n&&(null!=t&&(u=util$1.join(t,u)),null!=r&&(u=util$1.relative(r,u)),this.setSourceContent(u,n))}),this)}_validateMapping(e,u,t,n){if(u&&"number"!=typeof u.line&&"number"!=typeof u.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&&!u&&!t&&!n);else if(!(e&&"line"in e&&"column"in e&&u&&"line"in u&&"column"in u&&e.line>0&&e.column>=0&&u.line>0&&u.column>=0&&t))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:t,original:u,name:n}))}_serializeMappings(){let e,u,t,n,r=0,o=1,a=0,i=0,s=0,c=0,l="";const p=this._mappings.toArray();for(let A=0,f=p.length;A0){if(!util$1.compareByGeneratedPositionsInflated(u,p[A-1]))continue;e+=","}e+=base64VLQ.encode(u.generatedColumn-r),r=u.generatedColumn,null!=u.source&&(n=this._sources.indexOf(u.source),e+=base64VLQ.encode(n-c),c=n,e+=base64VLQ.encode(u.originalLine-1-i),i=u.originalLine-1,e+=base64VLQ.encode(u.originalColumn-a),a=u.originalColumn,null!=u.name&&(t=this._names.indexOf(u.name),e+=base64VLQ.encode(t-s),s=t)),l+=e}return l}_generateSourcesContent(e,u){return e.map((function(e){if(!this._sourcesContents)return null;null!=u&&(e=util$1.relative(u,e));const t=util$1.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,t)?this._sourcesContents[t]: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,u,t,n,r){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==u?null:u,this.source=null==t?null:t,this.name=null==r?null:r,this[isSourceNode]=!0,null!=n&&this.add(n)}static fromStringWithSourceMap(u,t,n){const r=new e,o=u.split(REGEX_NEWLINE);let a=0;const i=function(){return e()+(e()||"");function e(){return a=0;u--)this.prepend(e[u]);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 u;for(let t=0,n=this.children.length;t0){for(u=[],t=0;t' at an index ").concat(e,".\nBytecode: ").concat(this.bytecode));return this.varName+e},e.sourceNode=function(e,u,t){var n=GrammarLocation$2.offsetStart(e);return new SourceNode$1(n.line,n.column?n.column-1:null,String(e.source),u,t)},e.prototype.push=function(u){++this.sp>this.maxSp&&(this.maxSp=this.sp);var t=this.labels[this.sp],n=[this.name(this.sp)," = ",u,";"];if(t){if(this.sourceMapStack.length){var r=e.sourceNode(t.location,n.splice(0,2),t.label),o=this.sourceMapPopInternal(),a=o.parts,i=o.location,s=i.start.offsetu.end.offset&&(t[2]={start:u.end,end:t[2].end,source:t[2].source})}this.sourceMapStack.push([e,e.length,u])},e.prototype.sourceMapPopInternal=function(){var e=this.sourceMapStack.pop(),u=e[0],t=e[1],n=e[2],r=u.splice(t).map((function(e){return e instanceof SourceNode$1?e:e+"\n"}));if(r.length){var o=GrammarLocation$2.offsetStart(n);u.push(new SourceNode$1(o.line,o.column-1,String(n.source),r))}return{parts:u,location:n}},e.prototype.sourceMapPop=function(e){var u=this.sourceMapPopInternal().location;if(this.sourceMapStack.length&&u.end.offset>2],r+=u[(3&e[o])<<4|e[o+1]>>4],r+=u[(15&e[o+1])<<2|e[o+2]>>6],r+=u[63&e[o+2]];return 1===t?(r+=u[e[n]>>2],r+=u[(3&e[n])<<4],r+="=="):2===t&&(r+=u[e[n]>>2],r+=u[(3&e[n])<<4|e[n+1]>>4],r+=u[(15&e[n+1])<<2],r+="="),r}utils.hex=hex,utils.stringEscape=stringEscape$1,utils.regexpClassEscape=regexpClassEscape$1,utils.base64=base64$1;var __spreadArray$1=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,u,t){if(t||2===arguments.length)for(var n,r=0,o=u.length;r0&&(t.forEach((function(e){o.push("var "+e+' = require("'+stringEscape(u.dependencies[e])+'");')})),o.push("")),o.push(e,"","module.exports = "+r()+";"),o},es:function(){var t=Object.keys(u.dependencies),r=n();return r.push(""),t.length>0&&(t.forEach((function(e){r.push("import "+e+' from "'+stringEscape(u.dependencies[e])+'";')})),r.push("")),r.push(e,"","export {"," peg$SyntaxError as SyntaxError,",u.trace?" peg$DefaultTracer as DefaultTracer,":""," peg$parse as parse","};"),r},amd:function(){var o=Object.keys(u.dependencies),a="["+o.map((function(e){return u.dependencies[e]})).map((function(e){return'"'+stringEscape(e)+'"'})).join(", ")+"]",i=o.join(", ");return __spreadArray$1(__spreadArray$1([],n(),!0),["define("+a+", function("+i+") {",' "use strict";',"",e,"",t("return "+r()+";"),"});"],!1)},globals:function(){return __spreadArray$1(__spreadArray$1([],n(),!0),["(function(root) {",' "use strict";',"",e,"",t("root."+u.exportVar+" = "+r()+";"),"})(this);"],!1)},umd:function(){var o=Object.keys(u.dependencies),a=o.map((function(e){return u.dependencies[e]})),i="["+a.map((function(e){return'"'+stringEscape(e)+'"'})).join(", ")+"]",s=a.map((function(e){return'require("'+stringEscape(e)+'")'})).join(", "),c=o.join(", "),l=n();return l.push("(function(root, factory) {",' if (typeof define === "function" && define.amd) {'," define("+i+", factory);",' } else if (typeof module === "object" && module.exports) {'," module.exports = factory("+s+");"),null!==u.exportVar&&l.push(" } else {"," root."+u.exportVar+" = factory();"),l.push(" }","})(this, function("+c+") {",' "use strict";',"",e,"",t("return "+r()+";"),"});"),l}}[u.format]();return new SourceNode(null,null,u.grammarSource,o.map((function(e){return e instanceof SourceNode?e:e+"\n"})))}(function(){var c=[];e.topLevelInitializer&&(c.push(s(e.topLevelInitializer)),c.push("")),c.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.";',"};",""),u.trace&&c.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 l="{ "+u.allowedStartRules.map((function(e){return e+": "+i(e)})).join(", ")+" }",p=i(u.allowedStartRules[0]);return c.push("function peg$parse(input, options) {"," options = options !== undefined ? options : {};",""," var peg$FAILED = {};"," var peg$source = options.grammarSource;",""," var peg$startRuleFunctions = "+l+";"," var peg$startRuleFunction = "+p+";","",new SourceNode(null,null,u.grammarSource,[e.literals.map((function(e,u){return" var "+n(u)+' = "'+stringEscape(e)+'";'})).concat("",e.classes.map((function(e,u){return" var "+r(u)+" = /^["+((t=e).inverted?"^":"")+t.value.map((function(e){return Array.isArray(e)?regexpClassEscape(e[0])+"-"+regexpClassEscape(e[1]):regexpClassEscape(e)})).join("")+"]/"+(t.ignoreCase?"i":"")+";";var t}))).concat("",e.expectations.map((function(e,u){return" var "+o(u)+" = "+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"),e.functions.map((function(e,u){return wrapInSourceNode("\n var ".concat(a(u)," = function(").concat(e.params.join(", "),") {"),e.body,e.location,"};")}))]),""," 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;",""),u.cache&&c.push(" var peg$resultsCache = {};",""),u.trace&&c.push(' var peg$tracer = "tracer" in options ? options.tracer : new peg$DefaultTracer();',""),c.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 {"," p = pos - 1;"," while (!peg$posDetailsCache[p]) {"," 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(s){c.push.apply(c,t(function(s){var c=[],l=new Stack(s.name,"s","var",s.bytecode),p=function u(c){var p=0,A=c.length,f=[],E=void 0;function h(e,n){var r=n+3,o=c[p+r-2],a=c[p+r-1],i=void 0,s=void 0;l.checkedIf(p,(function(){p+=r,i=u(c.slice(p,p+o)),p+=o}),a>0?function(){s=u(c.slice(p,p+a)),p+=a}:null),f.push("if ("+e+") {"),f.push.apply(f,t(i)),a>0&&(f.push("} else {"),f.push.apply(f,t(s))),f.push("}")}function d(e){var n=c[p+2-1],r=void 0;l.checkedLoop(p,(function(){p+=2,r=u(c.slice(p,p+n)),p+=n})),f.push("while ("+e+") {"),f.push.apply(f,t(r)),f.push("}")}function C(e){var u=c[p+e-1];return a(c[p+1])+"("+c.slice(p+e,p+e+u).map((function(e){return l.index(e)})).join(", ")+")"}for(;p= "+c[p+1],1);break;case op.IF_LT_DYNAMIC:h(l.top()+".length < ("+l.index(c[p+1])+"|0)",1);break;case op.IF_GE_DYNAMIC:h(l.top()+".length >= ("+l.index(c[p+1])+"|0)",1);break;case op.WHILE_NOT_ERROR:d(l.top()+" !== peg$FAILED");break;case op.MATCH_ANY:h("input.length > peg$currPos",0);break;case op.MATCH_STRING:h(e.literals[c[p+1]].length>1?"input.substr(peg$currPos, "+e.literals[c[p+1]].length+") === "+n(c[p+1]):"input.charCodeAt(peg$currPos) === "+e.literals[c[p+1]].charCodeAt(0),1);break;case op.MATCH_STRING_IC:h("input.substr(peg$currPos, "+e.literals[c[p+1]].length+").toLowerCase() === "+n(c[p+1]),1);break;case op.MATCH_CHAR_CLASS:h(r(c[p+1])+".test(input.charAt(peg$currPos))",1);break;case op.ACCEPT_N:f.push(l.push(c[p+1]>1?"input.substr(peg$currPos, "+c[p+1]+")":"input.charAt(peg$currPos)")),f.push(c[p+1]>1?"peg$currPos += "+c[p+1]+";":"peg$currPos++;"),p+=2;break;case op.ACCEPT_STRING:f.push(l.push(n(c[p+1]))),f.push(e.literals[c[p+1]].length>1?"peg$currPos += "+e.literals[c[p+1]].length+";":"peg$currPos++;"),p+=2;break;case op.FAIL:f.push(l.push("peg$FAILED")),f.push("if (peg$silentFails === 0) { peg$fail("+o(c[p+1])+"); }"),p+=2;break;case op.LOAD_SAVED_POS:f.push("peg$savedPos = "+l.index(c[p+1])+";"),p+=2;break;case op.UPDATE_SAVED_POS:f.push("peg$savedPos = peg$currPos;"),p++;break;case op.CALL:E=C(4),l.pop(c[p+2]),f.push(l.push(E)),p+=4+c[p+3];break;case op.RULE:f.push(l.push(i(e.rules[c[p+1]].name)+"()")),p+=2;break;case op.SILENT_FAILS_ON:f.push("peg$silentFails++;"),p++;break;case op.SILENT_FAILS_OFF:f.push("peg$silentFails--;"),p++;break;case op.SOURCE_MAP_PUSH:l.sourceMapPush(f,e.locations[c[p+1]]),p+=2;break;case op.SOURCE_MAP_POP:l.sourceMapPop(),p++;break;case op.SOURCE_MAP_LABEL_PUSH:l.labels[c[p+1]]={label:e.literals[c[p+2]],location:e.locations[c[p+3]]},p+=4;break;case op.SOURCE_MAP_LABEL_POP:delete l.labels[c[p+1]],p+=2;break;default:throw new Error("Invalid opcode: "+c[p]+".",{rule:s.name,bytecode:c})}return f}(s.bytecode);return c.push(wrapInSourceNode("function ",i(s.name),s.nameLocation,"() {\n",s.name)),u.trace&&c.push(" var startPos = peg$currPos;"),c.push(t(l.defines())),c.push.apply(c,t(function(t,n){var r=[];return r.push(""),u.trace&&r.push("peg$tracer.trace({",' type: "rule.enter",'," rule: "+t+","," location: peg$computeLocation(startPos, startPos, true)","});",""),u.cache&&(r.push("var key = peg$currPos * "+e.rules.length+" + "+n+";","var cached = peg$resultsCache[key];","","if (cached) {"," peg$currPos = cached.nextPos;",""),u.trace&&r.push("if (cached.result !== peg$FAILED) {"," peg$tracer.trace({",' type: "rule.match",'," rule: "+t+","," result: cached.result,"," location: peg$computeLocation(startPos, peg$currPos, true)"," });","} else {"," peg$tracer.trace({",' type: "rule.fail",'," rule: "+t+","," location: peg$computeLocation(startPos, startPos, true)"," });","}",""),r.push(" return cached.result;","}","")),r}('"'+stringEscape(s.name)+'"',asts$4.indexOfRule(e,s.name)))),c.push.apply(c,t(p)),c.push.apply(c,t(function(e,t){var n=[];return u.cache&&n.push("","peg$resultsCache[key] = { nextPos: peg$currPos, result: "+t+" };"),u.trace&&n.push("","if ("+t+" !== peg$FAILED) {"," peg$tracer.trace({",' type: "rule.match",'," rule: "+e+","," result: "+t+","," location: peg$computeLocation(startPos, peg$currPos, true)"," });","} else {"," peg$tracer.trace({",' type: "rule.fail",'," rule: "+e+","," location: peg$computeLocation(startPos, startPos, true)"," });","}"),n.push("","return "+t+";"),n}('"'+stringEscape(s.name)+'"',l.result()))),c.push("}"),c}(s))),c.push("")})),e.initializer&&(c.push(s(e.initializer)),c.push("")),c.push(" peg$result = peg$startRuleFunction();",""," if (peg$result !== peg$FAILED && peg$currPos === input.length) {"," return peg$result;"," } else {"," if (peg$result !== peg$FAILED && peg$currPos < input.length) {"," peg$fail(peg$endExpectation());"," }",""," throw peg$buildStructuredError("," peg$maxFailExpected,"," peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,"," peg$maxFailPos < input.length"," ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)"," : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)"," );"," }","}"),new SourceNode(null,null,u.grammarSource,c.map((function(e){return e instanceof SourceNode?e:e+"\n"})))}())}var generateJs=generateJS$1,asts$3=asts_1,visitor$7=visitor_1;function removeProxyRules$1(e,u,t){var n=[];e.rules.forEach((function(r,o){var a;"rule"===(a=r).type&&"rule_ref"===a.expression.type&&(function(e,u,n){visitor$7.build({rule_ref:function(r){r.name===u&&(r.name=n,t.info('Proxy rule "'.concat(u,'" replaced by the rule "').concat(n,'"'),r.location,[{message:"This rule will be used",location:asts$3.findRule(e,n).nameLocation}]))}})(e)}(e,r.name,r.expression.name),-1===u.allowedStartRules.indexOf(r.name)&&n.push(o))})),n.reverse(),n.forEach((function(u){e.rules.splice(u,1)}))}var removeProxyRules_1=removeProxyRules$1,visitor$6=visitor_1;function reportDuplicateLabels$1(e,u,t){function n(e){var u={};return Object.keys(e).forEach((function(t){u[t]=e[t]})),u}function r(e,u){o(e.expression,n(u))}var o=visitor$6.build({rule:function(e){o(e.expression,{})},choice:function(e,u){e.alternatives.forEach((function(e){o(e,n(u))}))},action:r,labeled:function(e,u){var n=e.label;n&&Object.prototype.hasOwnProperty.call(u,n)&&t.error('Label "'.concat(e.label,'" is already defined'),e.labelLocation,[{message:"Original label location",location:u[n]}]),o(e.expression,u),u[e.label]=e.labelLocation},text:r,simple_and:r,simple_not:r,optional:r,zero_or_more:r,one_or_more:r,repeated:function(e,u){e.delimiter&&o(e.delimiter,n(u)),o(e.expression,n(u))},group:r});o(e)}var reportDuplicateLabels_1=reportDuplicateLabels$1,visitor$5=visitor_1;function reportDuplicateRules$1(e,u,t){var n={};visitor$5.build({rule:function(e){Object.prototype.hasOwnProperty.call(n,e.name)?t.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,u,t){var n=[],r=[],o=visitor$4.build({rule:function(e){n.push(e.name),o(e.expression),n.pop()},sequence:function(u){u.elements.every((function(u){return o(u),!asts$2.alwaysConsumesOnSuccess(e,u)}))},repeated:function(u){o(u.expression),u.delimiter&&!asts$2.alwaysConsumesOnSuccess(e,u.expression)&&o(u.delimiter)},rule_ref:function(u){r.push(u);var a=asts$2.findRule(e,u.name);if(-1!==n.indexOf(u.name))return n.push(u.name),void t.error("Possible infinite loop when parsing (left recursion: "+n.join(" -> ")+")",a.nameLocation,r.map((function(e,u,t){return{message:u+1!==t.length?"Step ".concat(u+1,': call of the rule "').concat(e.name,'" without input consumption'):"Step ".concat(u+1,": call itself without input consumption - left recursion"),location:e.location}})));a&&o(a),r.pop()}});o(e)}var reportInfiniteRecursion_1=reportInfiniteRecursion$1,asts$1=asts_1,visitor$3=visitor_1;function reportInfiniteRepetition$1(e,u,t){var n=visitor$3.build({zero_or_more:function(u){asts$1.alwaysConsumesOnSuccess(e,u.expression)||t.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",u.location)},one_or_more:function(u){asts$1.alwaysConsumesOnSuccess(e,u.expression)||t.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",u.location)},repeated:function(u){if(u.delimiter&&n(u.delimiter),!(asts$1.alwaysConsumesOnSuccess(e,u.expression)||u.delimiter&&asts$1.alwaysConsumesOnSuccess(e,u.delimiter)))if(null===u.max.value)t.error("Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",u.location);else{var r=u.min?u.min:u.max;t.warning("constant"===r.type&&"constant"===u.max.type?"An expression may not consume any input and may always match ".concat(u.max.value," times"):"An expression may not consume any input and may always match with a maximum repetition count",u.location)}}});n(e)}var reportInfiniteRepetition_1=reportInfiniteRepetition$1,asts=asts_1,visitor$2=visitor_1;function reportUndefinedRules$1(e,u,t){visitor$2.build({rule_ref:function(u){asts.findRule(e,u.name)||t.error('Rule "'.concat(u.name,'" is not defined'),u.location)}})(e)}var reportUndefinedRules_1=reportUndefinedRules$1,visitor$1=visitor_1;function reportIncorrectPlucking$1(e,u,t){var n=visitor$1.build({action:function(e){n(e.expression,e)},labeled:function(e,u){e.pick&&u&&t.error('"@" cannot be used with an action block',e.labelLocation,[{message:"Action block location",location:u.codeLocation}]),n(e.expression)}});n(e)}var reportIncorrectPlucking_1=reportIncorrectPlucking$1,__spreadArray=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,u,t){if(t||2===arguments.length)for(var n,r=0,o=u.length;r0:e&&"function"==typeof e.offset}var compiler$1={visitor:visitor,passes:{check:[reportUndefinedRules,reportDuplicateRules,reportDuplicateLabels,reportInfiniteRecursion,reportInfiniteRepetition,reportIncorrectPlucking],transform:[removeProxyRules,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(u){session.info("Process pass ".concat(e,".").concat(u.name)),u(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,u){function t(){this.constructor=e}t.prototype=u.prototype,e.prototype=new t}function peg$SyntaxError(e,u,t,n){var r=Error.call(this,e);return Object.setPrototypeOf&&Object.setPrototypeOf(r,peg$SyntaxError.prototype),r.expected=u,r.found=t,r.location=n,r.name="SyntaxError",r}function peg$padEnd(e,u,t){return t=t||" ",e.length>u?e:(u-=e.length,e+(t+=t.repeat(u)).slice(0,u))}function peg$parse(e,u){var t,n={},r=(u=void 0!==u?u:{}).grammarSource,o={Grammar:Yt},a=Yt,i="{",s="}",c="=",l="/",p="@",A=":",f="$",E="&",h="!",d="?",C="*",g="+",m="|",F=",",_="..",v="(",B=")",D="\t",$="\v",S="\f",y=" ",x=" ",b="\ufeff",P="\n",R="\r\n",O="\r",L="\u2028",T="\u2029",M="/*",I="*/",w="//",N="_",k="\\",H="‌",U="‍",j="i",G='"',V="'",Y="[",z="^",W="]",J="-",Q="0",q="b",X="f",K="n",Z="r",ee="t",ue="v",te="x",ne="u",re=".",oe=";",ae=/^[\n\r\u2028\u2029]/,ie=/^[0-9]/,se=/^[0-9a-f]/i,ce=/^[{}]/,le=/^[a-z\xB5\xDF-\xF6\xF8-\xFF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137-\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148-\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E-\u0180\u0183\u0185\u0188\u018C-\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA-\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9-\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC-\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF-\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F-\u0240\u0242\u0247\u0249\u024B\u024D\u024F-\u0293\u0295-\u02AF\u0371\u0373\u0377\u037B-\u037D\u0390\u03AC-\u03CE\u03D0-\u03D1\u03D5-\u03D7\u03D9\u03DB\u03DD\u03DF\u03E1\u03E3\u03E5\u03E7\u03E9\u03EB\u03ED\u03EF-\u03F3\u03F5\u03F8\u03FB-\u03FC\u0430-\u045F\u0461\u0463\u0465\u0467\u0469\u046B\u046D\u046F\u0471\u0473\u0475\u0477\u0479\u047B\u047D\u047F\u0481\u048B\u048D\u048F\u0491\u0493\u0495\u0497\u0499\u049B\u049D\u049F\u04A1\u04A3\u04A5\u04A7\u04A9\u04AB\u04AD\u04AF\u04B1\u04B3\u04B5\u04B7\u04B9\u04BB\u04BD\u04BF\u04C2\u04C4\u04C6\u04C8\u04CA\u04CC\u04CE-\u04CF\u04D1\u04D3\u04D5\u04D7\u04D9\u04DB\u04DD\u04DF\u04E1\u04E3\u04E5\u04E7\u04E9\u04EB\u04ED\u04EF\u04F1\u04F3\u04F5\u04F7\u04F9\u04FB\u04FD\u04FF\u0501\u0503\u0505\u0507\u0509\u050B\u050D\u050F\u0511\u0513\u0515\u0517\u0519\u051B\u051D\u051F\u0521\u0523\u0525\u0527\u0529\u052B\u052D\u052F\u0561-\u0587\u13F8-\u13FD\u1D00-\u1D2B\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFF-\u1F07\u1F10-\u1F15\u1F20-\u1F27\u1F30-\u1F37\u1F40-\u1F45\u1F50-\u1F57\u1F60-\u1F67\u1F70-\u1F7D\u1F80-\u1F87\u1F90-\u1F97\u1FA0-\u1FA7\u1FB0-\u1FB4\u1FB6-\u1FB7\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FC7\u1FD0-\u1FD3\u1FD6-\u1FD7\u1FE0-\u1FE7\u1FF2-\u1FF4\u1FF6-\u1FF7\u210A\u210E-\u210F\u2113\u212F\u2134\u2139\u213C-\u213D\u2146-\u2149\u214E\u2184\u2C30-\u2C5E\u2C61\u2C65-\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73-\u2C74\u2C76-\u2C7B\u2C81\u2C83\u2C85\u2C87\u2C89\u2C8B\u2C8D\u2C8F\u2C91\u2C93\u2C95\u2C97\u2C99\u2C9B\u2C9D\u2C9F\u2CA1\u2CA3\u2CA5\u2CA7\u2CA9\u2CAB\u2CAD\u2CAF\u2CB1\u2CB3\u2CB5\u2CB7\u2CB9\u2CBB\u2CBD\u2CBF\u2CC1\u2CC3\u2CC5\u2CC7\u2CC9\u2CCB\u2CCD\u2CCF\u2CD1\u2CD3\u2CD5\u2CD7\u2CD9\u2CDB\u2CDD\u2CDF\u2CE1\u2CE3-\u2CE4\u2CEC\u2CEE\u2CF3\u2D00-\u2D25\u2D27\u2D2D\uA641\uA643\uA645\uA647\uA649\uA64B\uA64D\uA64F\uA651\uA653\uA655\uA657\uA659\uA65B\uA65D\uA65F\uA661\uA663\uA665\uA667\uA669\uA66B\uA66D\uA681\uA683\uA685\uA687\uA689\uA68B\uA68D\uA68F\uA691\uA693\uA695\uA697\uA699\uA69B\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7B5\uA7B7\uA7FA\uAB30-\uAB5A\uAB60-\uAB65\uAB70-\uABBF\uFB00-\uFB06\uFB13-\uFB17\uFF41-\uFF5A]/,pe=/^[\u02B0-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0374\u037A\u0559\u0640\u06E5-\u06E6\u07F4-\u07F5\u07FA\u081A\u0824\u0828\u0971\u0E46\u0EC6\u10FC\u17D7\u1843\u1AA7\u1C78-\u1C7D\u1D2C-\u1D6A\u1D78\u1D9B-\u1DBF\u2071\u207F\u2090-\u209C\u2C7C-\u2C7D\u2D6F\u2E2F\u3005\u3031-\u3035\u303B\u309D-\u309E\u30FC-\u30FE\uA015\uA4F8-\uA4FD\uA60C\uA67F\uA69C-\uA69D\uA717-\uA71F\uA770\uA788\uA7F8-\uA7F9\uA9CF\uA9E6\uAA70\uAADD\uAAF3-\uAAF4\uAB5C-\uAB5F\uFF70\uFF9E-\uFF9F]/,Ae=/^[\xAA\xBA\u01BB\u01C0-\u01C3\u0294\u05D0-\u05EA\u05F0-\u05F2\u0620-\u063F\u0641-\u064A\u066E-\u066F\u0671-\u06D3\u06D5\u06EE-\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u0800-\u0815\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0972-\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-\u0E45\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065-\u1066\u106E-\u1070\u1075-\u1081\u108E\u10D0-\u10FA\u10FD-\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\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17DC\u1820-\u1842\u1844-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE-\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C77\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5-\u1CF6\u2135-\u2138\u2D30-\u2D67\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3006\u303C\u3041-\u3096\u309F\u30A1-\u30FA\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA014\uA016-\uA48C\uA4D0-\uA4F7\uA500-\uA60B\uA610-\uA61F\uA62A-\uA62B\uA66E\uA6A0-\uA6E5\uA78F\uA7F7\uA7FB-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9E0-\uA9E4\uA9E7-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA6F\uAA71-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADC\uAAE0-\uAAEA\uAAF2\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\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\uFF66-\uFF6F\uFF71-\uFF9D\uFFA0-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,fe=/^[\u01C5\u01C8\u01CB\u01F2\u1F88-\u1F8F\u1F98-\u1F9F\u1FA8-\u1FAF\u1FBC\u1FCC\u1FFC]/,Ee=/^[A-Z\xC0-\xD6\xD8-\xDE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178-\u0179\u017B\u017D\u0181-\u0182\u0184\u0186-\u0187\u0189-\u018B\u018E-\u0191\u0193-\u0194\u0196-\u0198\u019C-\u019D\u019F-\u01A0\u01A2\u01A4\u01A6-\u01A7\u01A9\u01AC\u01AE-\u01AF\u01B1-\u01B3\u01B5\u01B7-\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A-\u023B\u023D-\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E-\u038F\u0391-\u03A1\u03A3-\u03AB\u03CF\u03D2-\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9-\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0-\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u10A0-\u10C5\u10C7\u10CD\u13A0-\u13F5\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1FB8-\u1FBB\u1FC8-\u1FCB\u1FD8-\u1FDB\u1FE8-\u1FEC\u1FF8-\u1FFB\u2102\u2107\u210B-\u210D\u2110-\u2112\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u2130-\u2133\u213E-\u213F\u2145\u2183\u2C00-\u2C2E\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D-\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AD\uA7B0-\uA7B4\uA7B6\uFF21-\uFF3A]/,he=/^[\u0903\u093B\u093E-\u0940\u0949-\u094C\u094E-\u094F\u0982-\u0983\u09BE-\u09C0\u09C7-\u09C8\u09CB-\u09CC\u09D7\u0A03\u0A3E-\u0A40\u0A83\u0ABE-\u0AC0\u0AC9\u0ACB-\u0ACC\u0B02-\u0B03\u0B3E\u0B40\u0B47-\u0B48\u0B4B-\u0B4C\u0B57\u0BBE-\u0BBF\u0BC1-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0BD7\u0C01-\u0C03\u0C41-\u0C44\u0C82-\u0C83\u0CBE\u0CC0-\u0CC4\u0CC7-\u0CC8\u0CCA-\u0CCB\u0CD5-\u0CD6\u0D02-\u0D03\u0D3E-\u0D40\u0D46-\u0D48\u0D4A-\u0D4C\u0D57\u0D82-\u0D83\u0DCF-\u0DD1\u0DD8-\u0DDF\u0DF2-\u0DF3\u0F3E-\u0F3F\u0F7F\u102B-\u102C\u1031\u1038\u103B-\u103C\u1056-\u1057\u1062-\u1064\u1067-\u106D\u1083-\u1084\u1087-\u108C\u108F\u109A-\u109C\u17B6\u17BE-\u17C5\u17C7-\u17C8\u1923-\u1926\u1929-\u192B\u1930-\u1931\u1933-\u1938\u1A19-\u1A1A\u1A55\u1A57\u1A61\u1A63-\u1A64\u1A6D-\u1A72\u1B04\u1B35\u1B3B\u1B3D-\u1B41\u1B43-\u1B44\u1B82\u1BA1\u1BA6-\u1BA7\u1BAA\u1BE7\u1BEA-\u1BEC\u1BEE\u1BF2-\u1BF3\u1C24-\u1C2B\u1C34-\u1C35\u1CE1\u1CF2-\u1CF3\u302E-\u302F\uA823-\uA824\uA827\uA880-\uA881\uA8B4-\uA8C3\uA952-\uA953\uA983\uA9B4-\uA9B5\uA9BA-\uA9BB\uA9BD-\uA9C0\uAA2F-\uAA30\uAA33-\uAA34\uAA4D\uAA7B\uAA7D\uAAEB\uAAEE-\uAAEF\uAAF5\uABE3-\uABE4\uABE6-\uABE7\uABE9-\uABEA\uABEC]/,de=/^[\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7-\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962-\u0963\u0981\u09BC\u09C1-\u09C4\u09CD\u09E2-\u09E3\u0A01-\u0A02\u0A3C\u0A41-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D\u0A51\u0A70-\u0A71\u0A75\u0A81-\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7-\u0AC8\u0ACD\u0AE2-\u0AE3\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D\u0B56\u0B62-\u0B63\u0B82\u0BC0\u0BCD\u0C00\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55-\u0C56\u0C62-\u0C63\u0C81\u0CBC\u0CBF\u0CC6\u0CCC-\u0CCD\u0CE2-\u0CE3\u0D01\u0D41-\u0D44\u0D4D\u0D62-\u0D63\u0DCA\u0DD2-\u0DD4\u0DD6\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB-\u0EBC\u0EC8-\u0ECD\u0F18-\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86-\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039-\u103A\u103D-\u103E\u1058-\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085-\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17B4-\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u1922\u1927-\u1928\u1932\u1939-\u193B\u1A17-\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ABD\u1B00-\u1B03\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80-\u1B81\u1BA2-\u1BA5\u1BA8-\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8-\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8-\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302D\u3099-\u309A\uA66F\uA674-\uA67D\uA69E-\uA69F\uA6F0-\uA6F1\uA802\uA806\uA80B\uA825-\uA826\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9E5\uAA29-\uAA2E\uAA31-\uAA32\uAA35-\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7-\uAAB8\uAABE-\uAABF\uAAC1\uAAEC-\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/,Ce=/^[0-9\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19]/,ge=/^[\u16EE-\u16F0\u2160-\u2182\u2185-\u2188\u3007\u3021-\u3029\u3038-\u303A\uA6E6-\uA6EF]/,me=/^[_\u203F-\u2040\u2054\uFE33-\uFE34\uFE4D-\uFE4F\uFF3F]/,Fe=/^[ \xA0\u1680\u2000-\u200A\u202F\u205F\u3000]/,_e=kt("{",!1),ve=kt("}",!1),Be=kt("=",!1),De=kt("/",!1),$e=kt("@",!1),Se=kt(":",!1),ye=kt("$",!1),xe=kt("&",!1),be=kt("!",!1),Pe=kt("?",!1),Re=kt("*",!1),Oe=kt("+",!1),Le=kt("|",!1),Te=kt(",",!1),Me=kt("..",!1),Ie=kt("(",!1),we=kt(")",!1),Ne={type:"any"},ke=Ut("whitespace"),He=kt("\t",!1),Ue=kt("\v",!1),je=kt("\f",!1),Ge=kt(" ",!1),Ve=kt(" ",!1),Ye=kt("\ufeff",!1),ze=Ht(["\n","\r","\u2028","\u2029"],!1,!1),We=Ut("end of line"),Je=kt("\n",!1),Qe=kt("\r\n",!1),qe=kt("\r",!1),Xe=kt("\u2028",!1),Ke=kt("\u2029",!1),Ze=Ut("comment"),eu=kt("/*",!1),uu=kt("*/",!1),tu=kt("//",!1),nu=Ut("identifier"),ru=kt("_",!1),ou=kt("\\",!1),au=kt("‌",!1),iu=kt("‍",!1),su=Ut("literal"),cu=kt("i",!1),lu=Ut("string"),pu=kt('"',!1),Au=kt("'",!1),fu=Ut("character class"),Eu=kt("[",!1),hu=kt("^",!1),du=kt("]",!1),Cu=kt("-",!1),gu=kt("0",!1),mu=kt("b",!1),Fu=kt("f",!1),_u=kt("n",!1),vu=kt("r",!1),Bu=kt("t",!1),Du=kt("v",!1),$u=kt("x",!1),Su=kt("u",!1),yu=Ht([["0","9"]],!1,!1),xu=Ht([["0","9"],["a","f"]],!1,!0),bu=kt(".",!1),Pu=Ut("code block"),Ru=Ht(["{","}"],!1,!1),Ou=Ht([["a","z"],"µ",["ß","ö"],["ø","ÿ"],"ā","ă","ą","ć","ĉ","ċ","č","ď","đ","ē","ĕ","ė","ę","ě","ĝ","ğ","ġ","ģ","ĥ","ħ","ĩ","ī","ĭ","į","ı","ij","ĵ",["ķ","ĸ"],"ĺ","ļ","ľ","ŀ","ł","ń","ņ",["ň","ʼn"],"ŋ","ō","ŏ","ő","œ","ŕ","ŗ","ř","ś","ŝ","ş","š","ţ","ť","ŧ","ũ","ū","ŭ","ů","ű","ų","ŵ","ŷ","ź","ż",["ž","ƀ"],"ƃ","ƅ","ƈ",["ƌ","ƍ"],"ƒ","ƕ",["ƙ","ƛ"],"ƞ","ơ","ƣ","ƥ","ƨ",["ƪ","ƫ"],"ƭ","ư","ƴ","ƶ",["ƹ","ƺ"],["ƽ","ƿ"],"dž","lj","nj","ǎ","ǐ","ǒ","ǔ","ǖ","ǘ","ǚ",["ǜ","ǝ"],"ǟ","ǡ","ǣ","ǥ","ǧ","ǩ","ǫ","ǭ",["ǯ","ǰ"],"dz","ǵ","ǹ","ǻ","ǽ","ǿ","ȁ","ȃ","ȅ","ȇ","ȉ","ȋ","ȍ","ȏ","ȑ","ȓ","ȕ","ȗ","ș","ț","ȝ","ȟ","ȡ","ȣ","ȥ","ȧ","ȩ","ȫ","ȭ","ȯ","ȱ",["ȳ","ȹ"],"ȼ",["ȿ","ɀ"],"ɂ","ɇ","ɉ","ɋ","ɍ",["ɏ","ʓ"],["ʕ","ʯ"],"ͱ","ͳ","ͷ",["ͻ","ͽ"],"ΐ",["ά","ώ"],["ϐ","ϑ"],["ϕ","ϗ"],"ϙ","ϛ","ϝ","ϟ","ϡ","ϣ","ϥ","ϧ","ϩ","ϫ","ϭ",["ϯ","ϳ"],"ϵ","ϸ",["ϻ","ϼ"],["а","џ"],"ѡ","ѣ","ѥ","ѧ","ѩ","ѫ","ѭ","ѯ","ѱ","ѳ","ѵ","ѷ","ѹ","ѻ","ѽ","ѿ","ҁ","ҋ","ҍ","ҏ","ґ","ғ","ҕ","җ","ҙ","қ","ҝ","ҟ","ҡ","ң","ҥ","ҧ","ҩ","ҫ","ҭ","ү","ұ","ҳ","ҵ","ҷ","ҹ","һ","ҽ","ҿ","ӂ","ӄ","ӆ","ӈ","ӊ","ӌ",["ӎ","ӏ"],"ӑ","ӓ","ӕ","ӗ","ә","ӛ","ӝ","ӟ","ӡ","ӣ","ӥ","ӧ","ө","ӫ","ӭ","ӯ","ӱ","ӳ","ӵ","ӷ","ӹ","ӻ","ӽ","ӿ","ԁ","ԃ","ԅ","ԇ","ԉ","ԋ","ԍ","ԏ","ԑ","ԓ","ԕ","ԗ","ԙ","ԛ","ԝ","ԟ","ԡ","ԣ","ԥ","ԧ","ԩ","ԫ","ԭ","ԯ",["ա","և"],["ᏸ","ᏽ"],["ᴀ","ᴫ"],["ᵫ","ᵷ"],["ᵹ","ᶚ"],"ḁ","ḃ","ḅ","ḇ","ḉ","ḋ","ḍ","ḏ","ḑ","ḓ","ḕ","ḗ","ḙ","ḛ","ḝ","ḟ","ḡ","ḣ","ḥ","ḧ","ḩ","ḫ","ḭ","ḯ","ḱ","ḳ","ḵ","ḷ","ḹ","ḻ","ḽ","ḿ","ṁ","ṃ","ṅ","ṇ","ṉ","ṋ","ṍ","ṏ","ṑ","ṓ","ṕ","ṗ","ṙ","ṛ","ṝ","ṟ","ṡ","ṣ","ṥ","ṧ","ṩ","ṫ","ṭ","ṯ","ṱ","ṳ","ṵ","ṷ","ṹ","ṻ","ṽ","ṿ","ẁ","ẃ","ẅ","ẇ","ẉ","ẋ","ẍ","ẏ","ẑ","ẓ",["ẕ","ẝ"],"ẟ","ạ","ả","ấ","ầ","ẩ","ẫ","ậ","ắ","ằ","ẳ","ẵ","ặ","ẹ","ẻ","ẽ","ế","ề","ể","ễ","ệ","ỉ","ị","ọ","ỏ","ố","ồ","ổ","ỗ","ộ","ớ","ờ","ở","ỡ","ợ","ụ","ủ","ứ","ừ","ử","ữ","ự","ỳ","ỵ","ỷ","ỹ","ỻ","ỽ",["ỿ","ἇ"],["ἐ","ἕ"],["ἠ","ἧ"],["ἰ","ἷ"],["ὀ","ὅ"],["ὐ","ὗ"],["ὠ","ὧ"],["ὰ","ώ"],["ᾀ","ᾇ"],["ᾐ","ᾗ"],["ᾠ","ᾧ"],["ᾰ","ᾴ"],["ᾶ","ᾷ"],"ι",["ῂ","ῄ"],["ῆ","ῇ"],["ῐ","ΐ"],["ῖ","ῗ"],["ῠ","ῧ"],["ῲ","ῴ"],["ῶ","ῷ"],"ℊ",["ℎ","ℏ"],"ℓ","ℯ","ℴ","ℹ",["ℼ","ℽ"],["ⅆ","ⅉ"],"ⅎ","ↄ",["ⰰ","ⱞ"],"ⱡ",["ⱥ","ⱦ"],"ⱨ","ⱪ","ⱬ","ⱱ",["ⱳ","ⱴ"],["ⱶ","ⱻ"],"ⲁ","ⲃ","ⲅ","ⲇ","ⲉ","ⲋ","ⲍ","ⲏ","ⲑ","ⲓ","ⲕ","ⲗ","ⲙ","ⲛ","ⲝ","ⲟ","ⲡ","ⲣ","ⲥ","ⲧ","ⲩ","ⲫ","ⲭ","ⲯ","ⲱ","ⲳ","ⲵ","ⲷ","ⲹ","ⲻ","ⲽ","ⲿ","ⳁ","ⳃ","ⳅ","ⳇ","ⳉ","ⳋ","ⳍ","ⳏ","ⳑ","ⳓ","ⳕ","ⳗ","ⳙ","ⳛ","ⳝ","ⳟ","ⳡ",["ⳣ","ⳤ"],"ⳬ","ⳮ","ⳳ",["ⴀ","ⴥ"],"ⴧ","ⴭ","ꙁ","ꙃ","ꙅ","ꙇ","ꙉ","ꙋ","ꙍ","ꙏ","ꙑ","ꙓ","ꙕ","ꙗ","ꙙ","ꙛ","ꙝ","ꙟ","ꙡ","ꙣ","ꙥ","ꙧ","ꙩ","ꙫ","ꙭ","ꚁ","ꚃ","ꚅ","ꚇ","ꚉ","ꚋ","ꚍ","ꚏ","ꚑ","ꚓ","ꚕ","ꚗ","ꚙ","ꚛ","ꜣ","ꜥ","ꜧ","ꜩ","ꜫ","ꜭ",["ꜯ","ꜱ"],"ꜳ","ꜵ","ꜷ","ꜹ","ꜻ","ꜽ","ꜿ","ꝁ","ꝃ","ꝅ","ꝇ","ꝉ","ꝋ","ꝍ","ꝏ","ꝑ","ꝓ","ꝕ","ꝗ","ꝙ","ꝛ","ꝝ","ꝟ","ꝡ","ꝣ","ꝥ","ꝧ","ꝩ","ꝫ","ꝭ","ꝯ",["ꝱ","ꝸ"],"ꝺ","ꝼ","ꝿ","ꞁ","ꞃ","ꞅ","ꞇ","ꞌ","ꞎ","ꞑ",["ꞓ","ꞕ"],"ꞗ","ꞙ","ꞛ","ꞝ","ꞟ","ꞡ","ꞣ","ꞥ","ꞧ","ꞩ","ꞵ","ꞷ","ꟺ",["ꬰ","ꭚ"],["ꭠ","ꭥ"],["ꭰ","ꮿ"],["ff","st"],["ﬓ","ﬗ"],["a","z"]],!1,!1),Lu=Ht([["ʰ","ˁ"],["ˆ","ˑ"],["ˠ","ˤ"],"ˬ","ˮ","ʹ","ͺ","ՙ","ـ",["ۥ","ۦ"],["ߴ","ߵ"],"ߺ","ࠚ","ࠤ","ࠨ","ॱ","ๆ","ໆ","ჼ","ៗ","ᡃ","ᪧ",["ᱸ","ᱽ"],["ᴬ","ᵪ"],"ᵸ",["ᶛ","ᶿ"],"ⁱ","ⁿ",["ₐ","ₜ"],["ⱼ","ⱽ"],"ⵯ","ⸯ","々",["〱","〵"],"〻",["ゝ","ゞ"],["ー","ヾ"],"ꀕ",["ꓸ","ꓽ"],"ꘌ","ꙿ",["ꚜ","ꚝ"],["ꜗ","ꜟ"],"ꝰ","ꞈ",["ꟸ","ꟹ"],"ꧏ","ꧦ","ꩰ","ꫝ",["ꫳ","ꫴ"],["ꭜ","ꭟ"],"ー",["゙","゚"]],!1,!1),Tu=Ht(["ª","º","ƻ",["ǀ","ǃ"],"ʔ",["א","ת"],["װ","ײ"],["ؠ","ؿ"],["ف","ي"],["ٮ","ٯ"],["ٱ","ۓ"],"ە",["ۮ","ۯ"],["ۺ","ۼ"],"ۿ","ܐ",["ܒ","ܯ"],["ݍ","ޥ"],"ޱ",["ߊ","ߪ"],["ࠀ","ࠕ"],["ࡀ","ࡘ"],["ࢠ","ࢴ"],["ऄ","ह"],"ऽ","ॐ",["क़","ॡ"],["ॲ","ঀ"],["অ","ঌ"],["এ","ঐ"],["ও","ন"],["প","র"],"ল",["শ","হ"],"ঽ","ৎ",["ড়","ঢ়"],["য়","ৡ"],["ৰ","ৱ"],["ਅ","ਊ"],["ਏ","ਐ"],["ਓ","ਨ"],["ਪ","ਰ"],["ਲ","ਲ਼"],["ਵ","ਸ਼"],["ਸ","ਹ"],["ਖ਼","ੜ"],"ਫ਼",["ੲ","ੴ"],["અ","ઍ"],["એ","ઑ"],["ઓ","ન"],["પ","ર"],["લ","ળ"],["વ","હ"],"ઽ","ૐ",["ૠ","ૡ"],"ૹ",["ଅ","ଌ"],["ଏ","ଐ"],["ଓ","ନ"],["ପ","ର"],["ଲ","ଳ"],["ଵ","ହ"],"ଽ",["ଡ଼","ଢ଼"],["ୟ","ୡ"],"ୱ","ஃ",["அ","ஊ"],["எ","ஐ"],["ஒ","க"],["ங","ச"],"ஜ",["ஞ","ட"],["ண","த"],["ந","ப"],["ம","ஹ"],"ௐ",["అ","ఌ"],["ఎ","ఐ"],["ఒ","న"],["ప","హ"],"ఽ",["ౘ","ౚ"],["ౠ","ౡ"],["ಅ","ಌ"],["ಎ","ಐ"],["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"],"ಽ","ೞ",["ೠ","ೡ"],["ೱ","ೲ"],["അ","ഌ"],["എ","ഐ"],["ഒ","ഺ"],"ഽ","ൎ",["ൟ","ൡ"],["ൺ","ൿ"],["අ","ඖ"],["ක","න"],["ඳ","ර"],"ල",["ව","ෆ"],["ก","ะ"],["า","ำ"],["เ","ๅ"],["ກ","ຂ"],"ຄ",["ງ","ຈ"],"ຊ","ຍ",["ດ","ທ"],["ນ","ຟ"],["ມ","ຣ"],"ລ","ວ",["ສ","ຫ"],["ອ","ະ"],["າ","ຳ"],"ຽ",["ເ","ໄ"],["ໜ","ໟ"],"ༀ",["ཀ","ཇ"],["ཉ","ཬ"],["ྈ","ྌ"],["က","ဪ"],"ဿ",["ၐ","ၕ"],["ၚ","ၝ"],"ၡ",["ၥ","ၦ"],["ၮ","ၰ"],["ၵ","ႁ"],"ႎ",["ა","ჺ"],["ჽ","ቈ"],["ቊ","ቍ"],["ቐ","ቖ"],"ቘ",["ቚ","ቝ"],["በ","ኈ"],["ኊ","ኍ"],["ነ","ኰ"],["ኲ","ኵ"],["ኸ","ኾ"],"ዀ",["ዂ","ዅ"],["ወ","ዖ"],["ዘ","ጐ"],["ጒ","ጕ"],["ጘ","ፚ"],["ᎀ","ᎏ"],["ᐁ","ᙬ"],["ᙯ","ᙿ"],["ᚁ","ᚚ"],["ᚠ","ᛪ"],["ᛱ","ᛸ"],["ᜀ","ᜌ"],["ᜎ","ᜑ"],["ᜠ","ᜱ"],["ᝀ","ᝑ"],["ᝠ","ᝬ"],["ᝮ","ᝰ"],["ក","ឳ"],"ៜ",["ᠠ","ᡂ"],["ᡄ","ᡷ"],["ᢀ","ᢨ"],"ᢪ",["ᢰ","ᣵ"],["ᤀ","ᤞ"],["ᥐ","ᥭ"],["ᥰ","ᥴ"],["ᦀ","ᦫ"],["ᦰ","ᧉ"],["ᨀ","ᨖ"],["ᨠ","ᩔ"],["ᬅ","ᬳ"],["ᭅ","ᭋ"],["ᮃ","ᮠ"],["ᮮ","ᮯ"],["ᮺ","ᯥ"],["ᰀ","ᰣ"],["ᱍ","ᱏ"],["ᱚ","ᱷ"],["ᳩ","ᳬ"],["ᳮ","ᳱ"],["ᳵ","ᳶ"],["ℵ","ℸ"],["ⴰ","ⵧ"],["ⶀ","ⶖ"],["ⶠ","ⶦ"],["ⶨ","ⶮ"],["ⶰ","ⶶ"],["ⶸ","ⶾ"],["ⷀ","ⷆ"],["ⷈ","ⷎ"],["ⷐ","ⷖ"],["ⷘ","ⷞ"],"〆","〼",["ぁ","ゖ"],"ゟ",["ァ","ヺ"],"ヿ",["ㄅ","ㄭ"],["ㄱ","ㆎ"],["ㆠ","ㆺ"],["ㇰ","ㇿ"],["㐀","䶵"],["一","鿕"],["ꀀ","ꀔ"],["ꀖ","ꒌ"],["ꓐ","ꓷ"],["ꔀ","ꘋ"],["ꘐ","ꘟ"],["ꘪ","ꘫ"],"ꙮ",["ꚠ","ꛥ"],"ꞏ","ꟷ",["ꟻ","ꠁ"],["ꠃ","ꠅ"],["ꠇ","ꠊ"],["ꠌ","ꠢ"],["ꡀ","ꡳ"],["ꢂ","ꢳ"],["ꣲ","ꣷ"],"ꣻ","ꣽ",["ꤊ","ꤥ"],["ꤰ","ꥆ"],["ꥠ","ꥼ"],["ꦄ","ꦲ"],["ꧠ","ꧤ"],["ꧧ","ꧯ"],["ꧺ","ꧾ"],["ꨀ","ꨨ"],["ꩀ","ꩂ"],["ꩄ","ꩋ"],["ꩠ","ꩯ"],["ꩱ","ꩶ"],"ꩺ",["ꩾ","ꪯ"],"ꪱ",["ꪵ","ꪶ"],["ꪹ","ꪽ"],"ꫀ","ꫂ",["ꫛ","ꫜ"],["ꫠ","ꫪ"],"ꫲ",["ꬁ","ꬆ"],["ꬉ","ꬎ"],["ꬑ","ꬖ"],["ꬠ","ꬦ"],["ꬨ","ꬮ"],["ꯀ","ꯢ"],["가","힣"],["ힰ","ퟆ"],["ퟋ","ퟻ"],["豈","舘"],["並","龎"],"יִ",["ײַ","ﬨ"],["שׁ","זּ"],["טּ","לּ"],"מּ",["נּ","סּ"],["ףּ","פּ"],["צּ","ﮱ"],["ﯓ","ﴽ"],["ﵐ","ﶏ"],["ﶒ","ﷇ"],["ﷰ","ﷻ"],["ﹰ","ﹴ"],["ﹶ","ﻼ"],["ヲ","ッ"],["ア","ン"],["ᅠ","ᄒ"],["ᅡ","ᅦ"],["ᅧ","ᅬ"],["ᅭ","ᅲ"],["ᅳ","ᅵ"]],!1,!1),Mu=Ht(["Dž","Lj","Nj","Dz",["ᾈ","ᾏ"],["ᾘ","ᾟ"],["ᾨ","ᾯ"],"ᾼ","ῌ","ῼ"],!1,!1),Iu=Ht([["A","Z"],["À","Ö"],["Ø","Þ"],"Ā","Ă","Ą","Ć","Ĉ","Ċ","Č","Ď","Đ","Ē","Ĕ","Ė","Ę","Ě","Ĝ","Ğ","Ġ","Ģ","Ĥ","Ħ","Ĩ","Ī","Ĭ","Į","İ","IJ","Ĵ","Ķ","Ĺ","Ļ","Ľ","Ŀ","Ł","Ń","Ņ","Ň","Ŋ","Ō","Ŏ","Ő","Œ","Ŕ","Ŗ","Ř","Ś","Ŝ","Ş","Š","Ţ","Ť","Ŧ","Ũ","Ū","Ŭ","Ů","Ű","Ų","Ŵ","Ŷ",["Ÿ","Ź"],"Ż","Ž",["Ɓ","Ƃ"],"Ƅ",["Ɔ","Ƈ"],["Ɖ","Ƌ"],["Ǝ","Ƒ"],["Ɠ","Ɣ"],["Ɩ","Ƙ"],["Ɯ","Ɲ"],["Ɵ","Ơ"],"Ƣ","Ƥ",["Ʀ","Ƨ"],"Ʃ","Ƭ",["Ʈ","Ư"],["Ʊ","Ƴ"],"Ƶ",["Ʒ","Ƹ"],"Ƽ","DŽ","LJ","NJ","Ǎ","Ǐ","Ǒ","Ǔ","Ǖ","Ǘ","Ǚ","Ǜ","Ǟ","Ǡ","Ǣ","Ǥ","Ǧ","Ǩ","Ǫ","Ǭ","Ǯ","DZ","Ǵ",["Ƕ","Ǹ"],"Ǻ","Ǽ","Ǿ","Ȁ","Ȃ","Ȅ","Ȇ","Ȉ","Ȋ","Ȍ","Ȏ","Ȑ","Ȓ","Ȕ","Ȗ","Ș","Ț","Ȝ","Ȟ","Ƞ","Ȣ","Ȥ","Ȧ","Ȩ","Ȫ","Ȭ","Ȯ","Ȱ","Ȳ",["Ⱥ","Ȼ"],["Ƚ","Ⱦ"],"Ɂ",["Ƀ","Ɇ"],"Ɉ","Ɋ","Ɍ","Ɏ","Ͱ","Ͳ","Ͷ","Ϳ","Ά",["Έ","Ί"],"Ό",["Ύ","Ώ"],["Α","Ρ"],["Σ","Ϋ"],"Ϗ",["ϒ","ϔ"],"Ϙ","Ϛ","Ϝ","Ϟ","Ϡ","Ϣ","Ϥ","Ϧ","Ϩ","Ϫ","Ϭ","Ϯ","ϴ","Ϸ",["Ϲ","Ϻ"],["Ͻ","Я"],"Ѡ","Ѣ","Ѥ","Ѧ","Ѩ","Ѫ","Ѭ","Ѯ","Ѱ","Ѳ","Ѵ","Ѷ","Ѹ","Ѻ","Ѽ","Ѿ","Ҁ","Ҋ","Ҍ","Ҏ","Ґ","Ғ","Ҕ","Җ","Ҙ","Қ","Ҝ","Ҟ","Ҡ","Ң","Ҥ","Ҧ","Ҩ","Ҫ","Ҭ","Ү","Ұ","Ҳ","Ҵ","Ҷ","Ҹ","Һ","Ҽ","Ҿ",["Ӏ","Ӂ"],"Ӄ","Ӆ","Ӈ","Ӊ","Ӌ","Ӎ","Ӑ","Ӓ","Ӕ","Ӗ","Ә","Ӛ","Ӝ","Ӟ","Ӡ","Ӣ","Ӥ","Ӧ","Ө","Ӫ","Ӭ","Ӯ","Ӱ","Ӳ","Ӵ","Ӷ","Ӹ","Ӻ","Ӽ","Ӿ","Ԁ","Ԃ","Ԅ","Ԇ","Ԉ","Ԋ","Ԍ","Ԏ","Ԑ","Ԓ","Ԕ","Ԗ","Ԙ","Ԛ","Ԝ","Ԟ","Ԡ","Ԣ","Ԥ","Ԧ","Ԩ","Ԫ","Ԭ","Ԯ",["Ա","Ֆ"],["Ⴀ","Ⴥ"],"Ⴧ","Ⴭ",["Ꭰ","Ᏽ"],"Ḁ","Ḃ","Ḅ","Ḇ","Ḉ","Ḋ","Ḍ","Ḏ","Ḑ","Ḓ","Ḕ","Ḗ","Ḙ","Ḛ","Ḝ","Ḟ","Ḡ","Ḣ","Ḥ","Ḧ","Ḩ","Ḫ","Ḭ","Ḯ","Ḱ","Ḳ","Ḵ","Ḷ","Ḹ","Ḻ","Ḽ","Ḿ","Ṁ","Ṃ","Ṅ","Ṇ","Ṉ","Ṋ","Ṍ","Ṏ","Ṑ","Ṓ","Ṕ","Ṗ","Ṙ","Ṛ","Ṝ","Ṟ","Ṡ","Ṣ","Ṥ","Ṧ","Ṩ","Ṫ","Ṭ","Ṯ","Ṱ","Ṳ","Ṵ","Ṷ","Ṹ","Ṻ","Ṽ","Ṿ","Ẁ","Ẃ","Ẅ","Ẇ","Ẉ","Ẋ","Ẍ","Ẏ","Ẑ","Ẓ","Ẕ","ẞ","Ạ","Ả","Ấ","Ầ","Ẩ","Ẫ","Ậ","Ắ","Ằ","Ẳ","Ẵ","Ặ","Ẹ","Ẻ","Ẽ","Ế","Ề","Ể","Ễ","Ệ","Ỉ","Ị","Ọ","Ỏ","Ố","Ồ","Ổ","Ỗ","Ộ","Ớ","Ờ","Ở","Ỡ","Ợ","Ụ","Ủ","Ứ","Ừ","Ử","Ữ","Ự","Ỳ","Ỵ","Ỷ","Ỹ","Ỻ","Ỽ","Ỿ",["Ἀ","Ἇ"],["Ἐ","Ἕ"],["Ἠ","Ἧ"],["Ἰ","Ἷ"],["Ὀ","Ὅ"],"Ὑ","Ὓ","Ὕ","Ὗ",["Ὠ","Ὧ"],["Ᾰ","Ά"],["Ὲ","Ή"],["Ῐ","Ί"],["Ῠ","Ῥ"],["Ὸ","Ώ"],"ℂ","ℇ",["ℋ","ℍ"],["ℐ","ℒ"],"ℕ",["ℙ","ℝ"],"ℤ","Ω","ℨ",["K","ℭ"],["ℰ","ℳ"],["ℾ","ℿ"],"ⅅ","Ↄ",["Ⰰ","Ⱞ"],"Ⱡ",["Ɫ","Ɽ"],"Ⱨ","Ⱪ","Ⱬ",["Ɑ","Ɒ"],"Ⱳ","Ⱶ",["Ȿ","Ⲁ"],"Ⲃ","Ⲅ","Ⲇ","Ⲉ","Ⲋ","Ⲍ","Ⲏ","Ⲑ","Ⲓ","Ⲕ","Ⲗ","Ⲙ","Ⲛ","Ⲝ","Ⲟ","Ⲡ","Ⲣ","Ⲥ","Ⲧ","Ⲩ","Ⲫ","Ⲭ","Ⲯ","Ⲱ","Ⲳ","Ⲵ","Ⲷ","Ⲹ","Ⲻ","Ⲽ","Ⲿ","Ⳁ","Ⳃ","Ⳅ","Ⳇ","Ⳉ","Ⳋ","Ⳍ","Ⳏ","Ⳑ","Ⳓ","Ⳕ","Ⳗ","Ⳙ","Ⳛ","Ⳝ","Ⳟ","Ⳡ","Ⳣ","Ⳬ","Ⳮ","Ⳳ","Ꙁ","Ꙃ","Ꙅ","Ꙇ","Ꙉ","Ꙋ","Ꙍ","Ꙏ","Ꙑ","Ꙓ","Ꙕ","Ꙗ","Ꙙ","Ꙛ","Ꙝ","Ꙟ","Ꙡ","Ꙣ","Ꙥ","Ꙧ","Ꙩ","Ꙫ","Ꙭ","Ꚁ","Ꚃ","Ꚅ","Ꚇ","Ꚉ","Ꚋ","Ꚍ","Ꚏ","Ꚑ","Ꚓ","Ꚕ","Ꚗ","Ꚙ","Ꚛ","Ꜣ","Ꜥ","Ꜧ","Ꜩ","Ꜫ","Ꜭ","Ꜯ","Ꜳ","Ꜵ","Ꜷ","Ꜹ","Ꜻ","Ꜽ","Ꜿ","Ꝁ","Ꝃ","Ꝅ","Ꝇ","Ꝉ","Ꝋ","Ꝍ","Ꝏ","Ꝑ","Ꝓ","Ꝕ","Ꝗ","Ꝙ","Ꝛ","Ꝝ","Ꝟ","Ꝡ","Ꝣ","Ꝥ","Ꝧ","Ꝩ","Ꝫ","Ꝭ","Ꝯ","Ꝺ","Ꝼ",["Ᵹ","Ꝿ"],"Ꞁ","Ꞃ","Ꞅ","Ꞇ","Ꞌ","Ɥ","Ꞑ","Ꞓ","Ꞗ","Ꞙ","Ꞛ","Ꞝ","Ꞟ","Ꞡ","Ꞣ","Ꞥ","Ꞧ","Ꞩ",["Ɦ","Ɬ"],["Ʞ","Ꞵ"],"Ꞷ",["A","Z"]],!1,!1),wu=Ht(["ः","ऻ",["ा","ी"],["ॉ","ौ"],["ॎ","ॏ"],["ং","ঃ"],["া","ী"],["ে","ৈ"],["ো","ৌ"],"ৗ","ਃ",["ਾ","ੀ"],"ઃ",["ા","ી"],"ૉ",["ો","ૌ"],["ଂ","ଃ"],"ା","ୀ",["େ","ୈ"],["ୋ","ୌ"],"ୗ",["ா","ி"],["ு","ூ"],["ெ","ை"],["ொ","ௌ"],"ௗ",["ఁ","ః"],["ు","ౄ"],["ಂ","ಃ"],"ಾ",["ೀ","ೄ"],["ೇ","ೈ"],["ೊ","ೋ"],["ೕ","ೖ"],["ം","ഃ"],["ാ","ീ"],["െ","ൈ"],["ൊ","ൌ"],"ൗ",["ං","ඃ"],["ා","ෑ"],["ෘ","ෟ"],["ෲ","ෳ"],["༾","༿"],"ཿ",["ါ","ာ"],"ေ","း",["ျ","ြ"],["ၖ","ၗ"],["ၢ","ၤ"],["ၧ","ၭ"],["ႃ","ႄ"],["ႇ","ႌ"],"ႏ",["ႚ","ႜ"],"ា",["ើ","ៅ"],["ះ","ៈ"],["ᤣ","ᤦ"],["ᤩ","ᤫ"],["ᤰ","ᤱ"],["ᤳ","ᤸ"],["ᨙ","ᨚ"],"ᩕ","ᩗ","ᩡ",["ᩣ","ᩤ"],["ᩭ","ᩲ"],"ᬄ","ᬵ","ᬻ",["ᬽ","ᭁ"],["ᭃ","᭄"],"ᮂ","ᮡ",["ᮦ","ᮧ"],"᮪","ᯧ",["ᯪ","ᯬ"],"ᯮ",["᯲","᯳"],["ᰤ","ᰫ"],["ᰴ","ᰵ"],"᳡",["ᳲ","ᳳ"],["〮","〯"],["ꠣ","ꠤ"],"ꠧ",["ꢀ","ꢁ"],["ꢴ","ꣃ"],["ꥒ","꥓"],"ꦃ",["ꦴ","ꦵ"],["ꦺ","ꦻ"],["ꦽ","꧀"],["ꨯ","ꨰ"],["ꨳ","ꨴ"],"ꩍ","ꩻ","ꩽ","ꫫ",["ꫮ","ꫯ"],"ꫵ",["ꯣ","ꯤ"],["ꯦ","ꯧ"],["ꯩ","ꯪ"],"꯬"],!1,!1),Nu=Ht([["̀","ͯ"],["҃","҇"],["֑","ֽ"],"ֿ",["ׁ","ׂ"],["ׄ","ׅ"],"ׇ",["ؐ","ؚ"],["ً","ٟ"],"ٰ",["ۖ","ۜ"],["۟","ۤ"],["ۧ","ۨ"],["۪","ۭ"],"ܑ",["ܰ","݊"],["ަ","ް"],["߫","߳"],["ࠖ","࠙"],["ࠛ","ࠣ"],["ࠥ","ࠧ"],["ࠩ","࠭"],["࡙","࡛"],["ࣣ","ं"],"ऺ","़",["ु","ै"],"्",["॑","ॗ"],["ॢ","ॣ"],"ঁ","়",["ু","ৄ"],"্",["ৢ","ৣ"],["ਁ","ਂ"],"਼",["ੁ","ੂ"],["ੇ","ੈ"],["ੋ","੍"],"ੑ",["ੰ","ੱ"],"ੵ",["ઁ","ં"],"઼",["ુ","ૅ"],["ે","ૈ"],"્",["ૢ","ૣ"],"ଁ","଼","ି",["ୁ","ୄ"],"୍","ୖ",["ୢ","ୣ"],"ஂ","ீ","்","ఀ",["ా","ీ"],["ె","ై"],["ొ","్"],["ౕ","ౖ"],["ౢ","ౣ"],"ಁ","಼","ಿ","ೆ",["ೌ","್"],["ೢ","ೣ"],"ഁ",["ു","ൄ"],"്",["ൢ","ൣ"],"්",["ි","ු"],"ූ","ั",["ิ","ฺ"],["็","๎"],"ັ",["ິ","ູ"],["ົ","ຼ"],["່","ໍ"],["༘","༙"],"༵","༷","༹",["ཱ","ཾ"],["ྀ","྄"],["྆","྇"],["ྍ","ྗ"],["ྙ","ྼ"],"࿆",["ိ","ူ"],["ဲ","့"],["္","်"],["ွ","ှ"],["ၘ","ၙ"],["ၞ","ၠ"],["ၱ","ၴ"],"ႂ",["ႅ","ႆ"],"ႍ","ႝ",["፝","፟"],["ᜒ","᜔"],["ᜲ","᜴"],["ᝒ","ᝓ"],["ᝲ","ᝳ"],["឴","឵"],["ិ","ួ"],"ំ",["៉","៓"],"៝",["᠋","᠍"],"ᢩ",["ᤠ","ᤢ"],["ᤧ","ᤨ"],"ᤲ",["᤹","᤻"],["ᨗ","ᨘ"],"ᨛ","ᩖ",["ᩘ","ᩞ"],"᩠","ᩢ",["ᩥ","ᩬ"],["ᩳ","᩼"],"᩿",["᪰","᪽"],["ᬀ","ᬃ"],"᬴",["ᬶ","ᬺ"],"ᬼ","ᭂ",["᭫","᭳"],["ᮀ","ᮁ"],["ᮢ","ᮥ"],["ᮨ","ᮩ"],["᮫","ᮭ"],"᯦",["ᯨ","ᯩ"],"ᯭ",["ᯯ","ᯱ"],["ᰬ","ᰳ"],["ᰶ","᰷"],["᳐","᳒"],["᳔","᳠"],["᳢","᳨"],"᳭","᳴",["᳸","᳹"],["᷀","᷵"],["᷼","᷿"],["⃐","⃜"],"⃡",["⃥","⃰"],["⳯","⳱"],"⵿",["ⷠ","ⷿ"],["〪","〭"],["゙","゚"],"꙯",["ꙴ","꙽"],["ꚞ","ꚟ"],["꛰","꛱"],"ꠂ","꠆","ꠋ",["ꠥ","ꠦ"],"꣄",["꣠","꣱"],["ꤦ","꤭"],["ꥇ","ꥑ"],["ꦀ","ꦂ"],"꦳",["ꦶ","ꦹ"],"ꦼ","ꧥ",["ꨩ","ꨮ"],["ꨱ","ꨲ"],["ꨵ","ꨶ"],"ꩃ","ꩌ","ꩼ","ꪰ",["ꪲ","ꪴ"],["ꪷ","ꪸ"],["ꪾ","꪿"],"꫁",["ꫬ","ꫭ"],"꫶","ꯥ","ꯨ","꯭","ﬞ",["︀","️"],["︠","︯"]],!1,!1),ku=Ht([["0","9"],["٠","٩"],["۰","۹"],["߀","߉"],["०","९"],["০","৯"],["੦","੯"],["૦","૯"],["୦","୯"],["௦","௯"],["౦","౯"],["೦","೯"],["൦","൯"],["෦","෯"],["๐","๙"],["໐","໙"],["༠","༩"],["၀","၉"],["႐","႙"],["០","៩"],["᠐","᠙"],["᥆","᥏"],["᧐","᧙"],["᪀","᪉"],["᪐","᪙"],["᭐","᭙"],["᮰","᮹"],["᱀","᱉"],["᱐","᱙"],["꘠","꘩"],["꣐","꣙"],["꤀","꤉"],["꧐","꧙"],["꧰","꧹"],["꩐","꩙"],["꯰","꯹"],["0","9"]],!1,!1),Hu=Ht([["ᛮ","ᛰ"],["Ⅰ","ↂ"],["ↅ","ↈ"],"〇",["〡","〩"],["〸","〺"],["ꛦ","ꛯ"]],!1,!1),Uu=Ht(["_",["‿","⁀"],"⁔",["︳","︴"],["﹍","﹏"],"_"],!1,!1),ju=Ht([" "," "," ",[" "," "]," "," "," "],!1,!1),Gu=kt(";",!1),Vu=function(e,u,t){return{type:"grammar",topLevelInitializer:e,initializer:u,rules:t,location:wt()}},Yu=function(e){return{type:"top_level_initializer",code:e[0],codeLocation:e[1],location:wt()}},zu=function(e){return{type:"initializer",code:e[0],codeLocation:e[1],location:wt()}},Wu=function(e,u,t){return{type:"rule",name:e[0],nameLocation:e[1],expression:null!==u?{type:"named",name:u,expression:t,location:wt()}:t,location:wt()}},Ju=function(e,u){return u.length>0?{type:"choice",alternatives:[e].concat(u),location:wt()}:e},Qu=function(e,u){return null!==u?{type:"action",expression:e,code:u[0],codeLocation:u[1],location:wt()}:e},qu=function(e,u){return u.length>0||"labeled"===e.type&&e.pick?{type:"sequence",elements:[e].concat(u),location:wt()}:e},Xu=function(e,u,t){return t.type.startsWith("semantic_")&&Nt('"@" cannot be used on a semantic predicate',e),{type:"labeled",label:null!==u?u[0]:null,labelLocation:null!==u?u[1]:e,pick:!0,expression:t,location:wt()}},Ku=function(e,u){return{type:"labeled",label:e[0],labelLocation:e[1],expression:u,location:wt()}},Zu=function(){return wt()},et=function(e){return yn.indexOf(e[0])>=0&&Nt("Label can't be a reserved word \"".concat(e[0],'"'),e[1]),e},ut=function(e,u){return{type:OPS_TO_PREFIXED_TYPES[e],expression:u,location:wt()}},tt=function(e,u){return{type:OPS_TO_SUFFIXED_TYPES[u],expression:e,location:wt()}},nt=function(e,u,t){var n=u[0],r=u[1];return"constant"===r.type&&0===r.value&&Nt("The maximum count of repetitions of the rule must be > 0",r.location),{type:"repeated",min:n,max:r,expression:e,delimiter:t,location:wt()}},rt=function(e,u){return[null!==e?e:{type:"constant",value:0},null!==u?u:{type:"constant",value:null}]},ot=function(e){return[null,e]},at=function(e){return{type:"constant",value:e,location:wt()}},it=function(e){return{type:"variable",value:e[0],location:wt()}},st=function(e){return{type:"function",value:e[0],codeLocation:e[1],location:wt()}},ct=function(e){return"labeled"===e.type||"sequence"===e.type?{type:"group",expression:e,location:wt()}:e},lt=function(e){return{type:"rule_ref",name:e[0],location:wt()}},pt=function(e,u){return{type:OPS_TO_SEMANTIC_PREDICATE_TYPES[e],code:u[0],codeLocation:u[1],location:wt()}},At=function(e,u){return[e+u.join(""),wt()]},ft=function(e,u){return{type:"literal",value:e,ignoreCase:null!==u,location:wt()}},Et=function(e){return e.join("")},ht=function(e){return e.join("")},dt=function(e,u,t){return{type:"class",parts:u.filter((function(e){return""!==e})),inverted:null!==e,ignoreCase:null!==t,location:wt()}},Ct=function(u,t){return u.charCodeAt(0)>t.charCodeAt(0)&&Nt("Invalid character range: "+e.substring(Ot,Rt)+"."),[u,t]},gt=function(){return""},mt=function(){return"\0"},Ft=function(){return"\b"},_t=function(){return"\f"},vt=function(){return"\n"},Bt=function(){return"\r"},Dt=function(){return"\t"},$t=function(){return"\v"},St=function(e){return String.fromCharCode(parseInt(e,16))},yt=function(e){return String.fromCharCode(parseInt(e,16))},xt=function(){return{type:"any",location:wt()}},bt=function(e){return[e,wt()]},Pt=function(e){return parseInt(e,10)},Rt=0,Ot=0,Lt=[{line:1,column:1}],Tt=0,Mt=[],It=0;if("startRule"in u){if(!(u.startRule in o))throw new Error("Can't start parsing from rule \""+u.startRule+'".');a=o[u.startRule]}function wt(){return Gt(Ot,Rt)}function Nt(e,u){throw function(e,u){return new peg$SyntaxError(e,null,null,u)}(e,u=void 0!==u?u:Gt(Ot,Rt))}function kt(e,u){return{type:"literal",text:e,ignoreCase:u}}function Ht(e,u,t){return{type:"class",parts:e,inverted:u,ignoreCase:t}}function Ut(e){return{type:"other",description:e}}function jt(u){var t,n=Lt[u];if(n)return n;for(t=u-1;!Lt[t];)t--;for(n={line:(n=Lt[t]).line,column:n.column};tTt&&(Tt=Rt,Mt=[]),Mt.push(e))}function Yt(){var u,t,r,o,a,c;if(u=Rt,$n(),t=Rt,r=function(){var u,t,r,o;return u=Rt,123===e.charCodeAt(Rt)?(t=i,Rt++):(t=n,0===It&&Vt(_e)),t!==n&&(r=Bn())!==n?(125===e.charCodeAt(Rt)?(o=s,Rt++):(o=n,0===It&&Vt(ve)),o!==n&&Sn()!==n?(Ot=u,u=Yu(r)):(Rt=u,u=n)):(Rt=u,u=n),u}(),r!==n?(o=$n(),t=r):(Rt=t,t=n),t===n&&(t=null),r=Rt,o=function(){var e,u;return e=Rt,(u=Bn())!==n&&Sn()!==n?(Ot=e,e=zu(u)):(Rt=e,e=n),e}(),o!==n?(a=$n(),r=o):(Rt=r,r=n),r===n&&(r=null),o=[],a=Rt,(c=zt())!==n?($n(),a=c):(Rt=a,a=n),a!==n)for(;a!==n;)o.push(a),a=Rt,(c=zt())!==n?($n(),a=c):(Rt=a,a=n);else o=n;return o!==n?(Ot=u,u=Vu(t,r,o)):(Rt=u,u=n),u}function zt(){var u,t,r,o,a;return u=Rt,(t=cn())!==n?($n(),r=Rt,(o=An())!==n?($n(),r=o):(Rt=r,r=n),r===n&&(r=null),61===e.charCodeAt(Rt)?(o=c,Rt++):(o=n,0===It&&Vt(Be)),o!==n?($n(),(a=Wt())!==n&&Sn()!==n?(Ot=u,u=Wu(t,r,a)):(Rt=u,u=n)):(Rt=u,u=n)):(Rt=u,u=n),u}function Wt(){var u,t,r,o,a,i;if(u=Rt,(t=Jt())!==n){for(r=[],o=Rt,$n(),47===e.charCodeAt(Rt)?(a=l,Rt++):(a=n,0===It&&Vt(De)),a!==n?($n(),(i=Jt())!==n?o=i:(Rt=o,o=n)):(Rt=o,o=n);o!==n;)r.push(o),o=Rt,$n(),47===e.charCodeAt(Rt)?(a=l,Rt++):(a=n,0===It&&Vt(De)),a!==n?($n(),(i=Jt())!==n?o=i:(Rt=o,o=n)):(Rt=o,o=n);Ot=u,u=Ju(t,r)}else Rt=u,u=n;return u}function Jt(){var e,u,t,r;return e=Rt,u=function(){var e,u,t,r,o;if(e=Rt,(u=Qt())!==n){for(t=[],r=Rt,$n(),(o=Qt())!==n?r=o:(Rt=r,r=n);r!==n;)t.push(r),r=Rt,$n(),(o=Qt())!==n?r=o:(Rt=r,r=n);Ot=e,e=qu(u,t)}else Rt=e,e=n;return e}(),u!==n?(t=Rt,$n(),(r=Bn())!==n?t=r:(Rt=t,t=n),t===n&&(t=null),Ot=e,e=Qu(u,t)):(Rt=e,e=n),e}function Qt(){var u,t,r,o;return u=Rt,t=function(){var u,t;return u=Rt,64===e.charCodeAt(Rt)?(t=p,Rt++):(t=n,0===It&&Vt($e)),t!==n&&(Ot=u,t=Zu()),u=t}(),t!==n?((r=qt())===n&&(r=null),(o=Xt())!==n?(Ot=u,u=Xu(t,r,o)):(Rt=u,u=n)):(Rt=u,u=n),u===n&&(u=Rt,(t=qt())!==n?(r=$n(),(o=Xt())!==n?(Ot=u,u=Ku(t,o)):(Rt=u,u=n)):(Rt=u,u=n),u===n&&(u=Xt())),u}function qt(){var u,t,r;return u=Rt,(t=cn())!==n?($n(),58===e.charCodeAt(Rt)?(r=A,Rt++):(r=n,0===It&&Vt(Se)),r!==n?(Ot=u,u=et(t)):(Rt=u,u=n)):(Rt=u,u=n),u}function Xt(){var u,t,r;return u=Rt,t=function(){var u;return 36===e.charCodeAt(Rt)?(u=f,Rt++):(u=n,0===It&&Vt(ye)),u===n&&(38===e.charCodeAt(Rt)?(u=E,Rt++):(u=n,0===It&&Vt(xe)),u===n&&(33===e.charCodeAt(Rt)?(u=h,Rt++):(u=n,0===It&&Vt(be)))),u}(),t!==n?($n(),(r=Kt())!==n?(Ot=u,u=ut(t,r)):(Rt=u,u=n)):(Rt=u,u=n),u===n&&(u=Kt()),u}function Kt(){var u,t,r;return u=Rt,(t=en())!==n?($n(),r=function(){var u;return 63===e.charCodeAt(Rt)?(u=d,Rt++):(u=n,0===It&&Vt(Pe)),u===n&&(42===e.charCodeAt(Rt)?(u=C,Rt++):(u=n,0===It&&Vt(Re)),u===n&&(43===e.charCodeAt(Rt)?(u=g,Rt++):(u=n,0===It&&Vt(Oe)))),u}(),r!==n?(Ot=u,u=tt(t,r)):(Rt=u,u=n)):(Rt=u,u=n),u===n&&(u=function(){var u,t,r,o,a,i,s;return u=Rt,(t=en())!==n?($n(),124===e.charCodeAt(Rt)?(r=m,Rt++):(r=n,0===It&&Vt(Le)),r!==n?($n(),o=function(){var u,t,r,o;return u=Rt,(t=Zt())===n&&(t=null),$n(),e.substr(Rt,2)===_?(r=_,Rt+=2):(r=n,0===It&&Vt(Me)),r!==n?($n(),(o=Zt())===n&&(o=null),Ot=u,u=rt(t,o)):(Rt=u,u=n),u===n&&(u=Rt,(t=Zt())!==n&&(Ot=u,t=ot(t)),u=t),u}(),o!==n?($n(),a=Rt,44===e.charCodeAt(Rt)?(i=F,Rt++):(i=n,0===It&&Vt(Te)),i!==n?($n(),(s=Wt())!==n?($n(),a=s):(Rt=a,a=n)):(Rt=a,a=n),a===n&&(a=null),124===e.charCodeAt(Rt)?(i=m,Rt++):(i=n,0===It&&Vt(Le)),i!==n?(Ot=u,u=nt(t,o,a)):(Rt=u,u=n)):(Rt=u,u=n)):(Rt=u,u=n)):(Rt=u,u=n),u}(),u===n&&(u=en())),u}function Zt(){var u,t;return u=Rt,t=function(){var u,t,r,o;if(u=Rt,t=Rt,r=[],(o=_n())!==n)for(;o!==n;)r.push(o),o=_n();else r=n;return(t=r!==n?e.substring(t,Rt):r)!==n&&(Ot=u,t=Pt(t)),u=t}(),t!==n&&(Ot=u,t=at(t)),(u=t)===n&&(u=Rt,(t=cn())!==n&&(Ot=u,t=it(t)),(u=t)===n&&(u=Rt,(t=Bn())!==n&&(Ot=u,t=st(t)),u=t)),u}function en(){var u,t,r,o;return u=function(){var u,t,r;return It++,u=Rt,(t=An())!==n?(105===e.charCodeAt(Rt)?(r=j,Rt++):(r=n,0===It&&Vt(cu)),r===n&&(r=null),Ot=u,u=ft(t,r)):(Rt=u,u=n),It--,u===n&&(t=n,0===It&&Vt(su)),u}(),u===n&&(u=function(){var u,t,r,o,a,i;if(It++,u=Rt,91===e.charCodeAt(Rt)?(t=Y,Rt++):(t=n,0===It&&Vt(Eu)),t!==n){for(94===e.charCodeAt(Rt)?(r=z,Rt++):(r=n,0===It&&Vt(hu)),r===n&&(r=null),o=[],(a=hn())===n&&(a=dn());a!==n;)o.push(a),(a=hn())===n&&(a=dn());93===e.charCodeAt(Rt)?(a=W,Rt++):(a=n,0===It&&Vt(du)),a!==n?(105===e.charCodeAt(Rt)?(i=j,Rt++):(i=n,0===It&&Vt(cu)),i===n&&(i=null),Ot=u,u=dt(r,o,i)):(Rt=u,u=n)}else Rt=u,u=n;return It--,u===n&&(t=n,0===It&&Vt(fu)),u}(),u===n&&(u=function(){var u,t;return u=Rt,46===e.charCodeAt(Rt)?(t=re,Rt++):(t=n,0===It&&Vt(bu)),t!==n&&(Ot=u,t=xt()),u=t}(),u===n&&(u=function(){var u,t,r,o,a,i,s;return u=Rt,(t=cn())!==n?(r=Rt,It++,o=Rt,a=$n(),i=Rt,(s=An())!==n?i=s=[s,$n()]:(Rt=i,i=n),i===n&&(i=null),61===e.charCodeAt(Rt)?(s=c,Rt++):(s=n,0===It&&Vt(Be)),s!==n?o=a=[a,i,s]:(Rt=o,o=n),It--,o===n?r=void 0:(Rt=r,r=n),r!==n?(Ot=u,u=lt(t)):(Rt=u,u=n)):(Rt=u,u=n),u}(),u===n&&(u=function(){var u,t,r;return u=Rt,t=function(){var u;return 38===e.charCodeAt(Rt)?(u=E,Rt++):(u=n,0===It&&Vt(xe)),u===n&&(33===e.charCodeAt(Rt)?(u=h,Rt++):(u=n,0===It&&Vt(be))),u}(),t!==n?($n(),(r=Bn())!==n?(Ot=u,u=pt(t,r)):(Rt=u,u=n)):(Rt=u,u=n),u}(),u===n&&(u=Rt,40===e.charCodeAt(Rt)?(t=v,Rt++):(t=n,0===It&&Vt(Ie)),t!==n?($n(),(r=Wt())!==n?($n(),41===e.charCodeAt(Rt)?(o=B,Rt++):(o=n,0===It&&Vt(we)),o!==n?(Ot=u,u=ct(r)):(Rt=u,u=n)):(Rt=u,u=n)):(Rt=u,u=n)))))),u}function un(){var u;return e.length>Rt?(u=e.charAt(Rt),Rt++):(u=n,0===It&&Vt(Ne)),u}function tn(){var u;return It++,9===e.charCodeAt(Rt)?(u=D,Rt++):(u=n,0===It&&Vt(He)),u===n&&(11===e.charCodeAt(Rt)?(u=$,Rt++):(u=n,0===It&&Vt(Ue)),u===n&&(12===e.charCodeAt(Rt)?(u=S,Rt++):(u=n,0===It&&Vt(je)),u===n&&(32===e.charCodeAt(Rt)?(u=y,Rt++):(u=n,0===It&&Vt(Ge)),u===n&&(160===e.charCodeAt(Rt)?(u=x,Rt++):(u=n,0===It&&Vt(Ve)),u===n&&(65279===e.charCodeAt(Rt)?(u=b,Rt++):(u=n,0===It&&Vt(Ye)),u===n&&(u=function(){var u;return Fe.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=n,0===It&&Vt(ju)),u}())))))),It--,u===n&&0===It&&Vt(ke),u}function nn(){var u;return ae.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=n,0===It&&Vt(ze)),u}function rn(){var u;return It++,10===e.charCodeAt(Rt)?(u=P,Rt++):(u=n,0===It&&Vt(Je)),u===n&&(e.substr(Rt,2)===R?(u=R,Rt+=2):(u=n,0===It&&Vt(Qe)),u===n&&(13===e.charCodeAt(Rt)?(u=O,Rt++):(u=n,0===It&&Vt(qe)),u===n&&(8232===e.charCodeAt(Rt)?(u=L,Rt++):(u=n,0===It&&Vt(Xe)),u===n&&(8233===e.charCodeAt(Rt)?(u=T,Rt++):(u=n,0===It&&Vt(Ke)))))),It--,u===n&&0===It&&Vt(We),u}function on(){var u;return It++,(u=function(){var u,t,r,o,a,i;if(u=Rt,e.substr(Rt,2)===M?(t=M,Rt+=2):(t=n,0===It&&Vt(eu)),t!==n){for(r=[],o=Rt,a=Rt,It++,e.substr(Rt,2)===I?(i=I,Rt+=2):(i=n,0===It&&Vt(uu)),It--,i===n?a=void 0:(Rt=a,a=n),a!==n&&(i=un())!==n?o=a=[a,i]:(Rt=o,o=n);o!==n;)r.push(o),o=Rt,a=Rt,It++,e.substr(Rt,2)===I?(i=I,Rt+=2):(i=n,0===It&&Vt(uu)),It--,i===n?a=void 0:(Rt=a,a=n),a!==n&&(i=un())!==n?o=a=[a,i]:(Rt=o,o=n);e.substr(Rt,2)===I?(o=I,Rt+=2):(o=n,0===It&&Vt(uu)),o!==n?u=t=[t,r,o]:(Rt=u,u=n)}else Rt=u,u=n;return u}())===n&&(u=sn()),It--,u===n&&0===It&&Vt(Ze),u}function an(){var u,t,r,o,a,i;if(u=Rt,e.substr(Rt,2)===M?(t=M,Rt+=2):(t=n,0===It&&Vt(eu)),t!==n){for(r=[],o=Rt,a=Rt,It++,e.substr(Rt,2)===I?(i=I,Rt+=2):(i=n,0===It&&Vt(uu)),i===n&&(i=nn()),It--,i===n?a=void 0:(Rt=a,a=n),a!==n&&(i=un())!==n?o=a=[a,i]:(Rt=o,o=n);o!==n;)r.push(o),o=Rt,a=Rt,It++,e.substr(Rt,2)===I?(i=I,Rt+=2):(i=n,0===It&&Vt(uu)),i===n&&(i=nn()),It--,i===n?a=void 0:(Rt=a,a=n),a!==n&&(i=un())!==n?o=a=[a,i]:(Rt=o,o=n);e.substr(Rt,2)===I?(o=I,Rt+=2):(o=n,0===It&&Vt(uu)),o!==n?u=t=[t,r,o]:(Rt=u,u=n)}else Rt=u,u=n;return u}function sn(){var u,t,r,o,a,i;if(u=Rt,e.substr(Rt,2)===w?(t=w,Rt+=2):(t=n,0===It&&Vt(tu)),t!==n){for(r=[],o=Rt,a=Rt,It++,i=nn(),It--,i===n?a=void 0:(Rt=a,a=n),a!==n&&(i=un())!==n?o=a=[a,i]:(Rt=o,o=n);o!==n;)r.push(o),o=Rt,a=Rt,It++,i=nn(),It--,i===n?a=void 0:(Rt=a,a=n),a!==n&&(i=un())!==n?o=a=[a,i]:(Rt=o,o=n);u=t=[t,r]}else Rt=u,u=n;return u}function cn(){var e,u,t,r;if(It++,e=Rt,(u=ln())!==n){for(t=[],r=pn();r!==n;)t.push(r),r=pn();Ot=e,e=At(u,t)}else Rt=e,e=n;return It--,e===n&&(u=n,0===It&&Vt(nu)),e}function ln(){var u,t,r;return(u=function(){var u;return(u=function(){var u;return Ee.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=n,0===It&&Vt(Iu)),u}())===n&&(u=function(){var u;return le.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=n,0===It&&Vt(Ou)),u}())===n&&(u=function(){var u;return fe.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=n,0===It&&Vt(Mu)),u}())===n&&(u=function(){var u;return pe.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=n,0===It&&Vt(Lu)),u}())===n&&(u=function(){var u;return Ae.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=n,0===It&&Vt(Tu)),u}())===n&&(u=function(){var u;return ge.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=n,0===It&&Vt(Hu)),u}()),u}())===n&&(95===e.charCodeAt(Rt)?(u=N,Rt++):(u=n,0===It&&Vt(ru)),u===n&&(u=Rt,92===e.charCodeAt(Rt)?(t=k,Rt++):(t=n,0===It&&Vt(ou)),t!==n&&(r=Fn())!==n?u=r:(Rt=u,u=n))),u}function pn(){var u;return(u=ln())===n&&(36===e.charCodeAt(Rt)?(u=f,Rt++):(u=n,0===It&&Vt(ye)),u===n&&(u=function(){var u;return(u=function(){var u;return de.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=n,0===It&&Vt(Nu)),u}())===n&&(u=function(){var u;return he.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=n,0===It&&Vt(wu)),u}()),u}())===n&&(u=function(){var u;return Ce.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=n,0===It&&Vt(ku)),u}())===n&&(u=function(){var u;return me.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=n,0===It&&Vt(Uu)),u}())===n&&(8204===e.charCodeAt(Rt)?(u=H,Rt++):(u=n,0===It&&Vt(au)),u===n&&(8205===e.charCodeAt(Rt)?(u=U,Rt++):(u=n,0===It&&Vt(iu))))),u}function An(){var u,t,r,o;if(It++,u=Rt,34===e.charCodeAt(Rt)?(t=G,Rt++):(t=n,0===It&&Vt(pu)),t!==n){for(r=[],o=fn();o!==n;)r.push(o),o=fn();34===e.charCodeAt(Rt)?(o=G,Rt++):(o=n,0===It&&Vt(pu)),o!==n?(Ot=u,u=Et(r)):(Rt=u,u=n)}else Rt=u,u=n;if(u===n)if(u=Rt,39===e.charCodeAt(Rt)?(t=V,Rt++):(t=n,0===It&&Vt(Au)),t!==n){for(r=[],o=En();o!==n;)r.push(o),o=En();39===e.charCodeAt(Rt)?(o=V,Rt++):(o=n,0===It&&Vt(Au)),o!==n?(Ot=u,u=ht(r)):(Rt=u,u=n)}else Rt=u,u=n;return It--,u===n&&(t=n,0===It&&Vt(lu)),u}function fn(){var u,t,r,o;return u=Rt,t=Rt,r=Rt,It++,34===e.charCodeAt(Rt)?(o=G,Rt++):(o=n,0===It&&Vt(pu)),o===n&&(92===e.charCodeAt(Rt)?(o=k,Rt++):(o=n,0===It&&Vt(ou)),o===n&&(o=nn())),It--,o===n?r=void 0:(Rt=r,r=n),r!==n&&(o=un())!==n?t=r=[r,o]:(Rt=t,t=n),(u=t!==n?e.substring(u,Rt):t)===n&&(u=Rt,92===e.charCodeAt(Rt)?(t=k,Rt++):(t=n,0===It&&Vt(ou)),t!==n&&(r=gn())!==n?u=r:(Rt=u,u=n),u===n&&(u=Cn())),u}function En(){var u,t,r,o;return u=Rt,t=Rt,r=Rt,It++,39===e.charCodeAt(Rt)?(o=V,Rt++):(o=n,0===It&&Vt(Au)),o===n&&(92===e.charCodeAt(Rt)?(o=k,Rt++):(o=n,0===It&&Vt(ou)),o===n&&(o=nn())),It--,o===n?r=void 0:(Rt=r,r=n),r!==n&&(o=un())!==n?t=r=[r,o]:(Rt=t,t=n),(u=t!==n?e.substring(u,Rt):t)===n&&(u=Rt,92===e.charCodeAt(Rt)?(t=k,Rt++):(t=n,0===It&&Vt(ou)),t!==n&&(r=gn())!==n?u=r:(Rt=u,u=n),u===n&&(u=Cn())),u}function hn(){var u,t,r,o;return u=Rt,(t=dn())!==n?(45===e.charCodeAt(Rt)?(r=J,Rt++):(r=n,0===It&&Vt(Cu)),r!==n&&(o=dn())!==n?(Ot=u,u=Ct(t,o)):(Rt=u,u=n)):(Rt=u,u=n),u}function dn(){var u,t,r,o;return u=Rt,t=Rt,r=Rt,It++,93===e.charCodeAt(Rt)?(o=W,Rt++):(o=n,0===It&&Vt(du)),o===n&&(92===e.charCodeAt(Rt)?(o=k,Rt++):(o=n,0===It&&Vt(ou)),o===n&&(o=nn())),It--,o===n?r=void 0:(Rt=r,r=n),r!==n&&(o=un())!==n?t=r=[r,o]:(Rt=t,t=n),(u=t!==n?e.substring(u,Rt):t)===n&&(u=Rt,92===e.charCodeAt(Rt)?(t=k,Rt++):(t=n,0===It&&Vt(ou)),t!==n&&(r=gn())!==n?u=r:(Rt=u,u=n),u===n&&(u=Cn())),u}function Cn(){var u,t;return u=Rt,92===e.charCodeAt(Rt)?(t=k,Rt++):(t=n,0===It&&Vt(ou)),t!==n&&rn()!==n?(Ot=u,u=gt()):(Rt=u,u=n),u}function gn(){var u,t,r,o;return u=function(){var u;return(u=mn())===n&&(u=function(){var u,t,r,o;return u=Rt,t=Rt,r=Rt,It++,o=function(){var u;return(u=mn())===n&&(u=_n())===n&&(120===e.charCodeAt(Rt)?(u=te,Rt++):(u=n,0===It&&Vt($u)),u===n&&(117===e.charCodeAt(Rt)?(u=ne,Rt++):(u=n,0===It&&Vt(Su)))),u}(),o===n&&(o=nn()),It--,o===n?r=void 0:(Rt=r,r=n),r!==n&&(o=un())!==n?t=r=[r,o]:(Rt=t,t=n),u=t!==n?e.substring(u,Rt):t}()),u}(),u===n&&(u=Rt,48===e.charCodeAt(Rt)?(t=Q,Rt++):(t=n,0===It&&Vt(gu)),t!==n?(r=Rt,It++,o=_n(),It--,o===n?r=void 0:(Rt=r,r=n),r!==n?(Ot=u,u=mt()):(Rt=u,u=n)):(Rt=u,u=n),u===n&&(u=function(){var u,t,r,o,a,i;return u=Rt,120===e.charCodeAt(Rt)?(t=te,Rt++):(t=n,0===It&&Vt($u)),t!==n?(r=Rt,o=Rt,(a=vn())!==n&&(i=vn())!==n?o=a=[a,i]:(Rt=o,o=n),(r=o!==n?e.substring(r,Rt):o)!==n?(Ot=u,u=St(r)):(Rt=u,u=n)):(Rt=u,u=n),u}(),u===n&&(u=Fn()))),u}function mn(){var u,t;return 39===e.charCodeAt(Rt)?(u=V,Rt++):(u=n,0===It&&Vt(Au)),u===n&&(34===e.charCodeAt(Rt)?(u=G,Rt++):(u=n,0===It&&Vt(pu)),u===n&&(92===e.charCodeAt(Rt)?(u=k,Rt++):(u=n,0===It&&Vt(ou)),u===n&&(u=Rt,98===e.charCodeAt(Rt)?(t=q,Rt++):(t=n,0===It&&Vt(mu)),t!==n&&(Ot=u,t=Ft()),(u=t)===n&&(u=Rt,102===e.charCodeAt(Rt)?(t=X,Rt++):(t=n,0===It&&Vt(Fu)),t!==n&&(Ot=u,t=_t()),(u=t)===n&&(u=Rt,110===e.charCodeAt(Rt)?(t=K,Rt++):(t=n,0===It&&Vt(_u)),t!==n&&(Ot=u,t=vt()),(u=t)===n&&(u=Rt,114===e.charCodeAt(Rt)?(t=Z,Rt++):(t=n,0===It&&Vt(vu)),t!==n&&(Ot=u,t=Bt()),(u=t)===n&&(u=Rt,116===e.charCodeAt(Rt)?(t=ee,Rt++):(t=n,0===It&&Vt(Bu)),t!==n&&(Ot=u,t=Dt()),(u=t)===n&&(u=Rt,118===e.charCodeAt(Rt)?(t=ue,Rt++):(t=n,0===It&&Vt(Du)),t!==n&&(Ot=u,t=$t()),u=t)))))))),u}function Fn(){var u,t,r,o,a,i,s,c;return u=Rt,117===e.charCodeAt(Rt)?(t=ne,Rt++):(t=n,0===It&&Vt(Su)),t!==n?(r=Rt,o=Rt,(a=vn())!==n&&(i=vn())!==n&&(s=vn())!==n&&(c=vn())!==n?o=a=[a,i,s,c]:(Rt=o,o=n),(r=o!==n?e.substring(r,Rt):o)!==n?(Ot=u,u=yt(r)):(Rt=u,u=n)):(Rt=u,u=n),u}function _n(){var u;return ie.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=n,0===It&&Vt(yu)),u}function vn(){var u;return se.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=n,0===It&&Vt(xu)),u}function Bn(){var u,t,r,o;return It++,u=Rt,123===e.charCodeAt(Rt)?(t=i,Rt++):(t=n,0===It&&Vt(_e)),t!==n?(r=function(){var e,u;return e=Rt,u=Dn(),Ot=e,e=u=bt(u)}(),125===e.charCodeAt(Rt)?(o=s,Rt++):(o=n,0===It&&Vt(ve)),o!==n?u=r:(Rt=u,u=n)):(Rt=u,u=n),It--,u===n&&(t=n,0===It&&Vt(Pu)),u}function Dn(){var u,t,r,o,a,c;if(u=Rt,t=[],r=[],o=Rt,a=Rt,It++,ce.test(e.charAt(Rt))?(c=e.charAt(Rt),Rt++):(c=n,0===It&&Vt(Ru)),It--,c===n?a=void 0:(Rt=a,a=n),a!==n&&(c=un())!==n?o=a=[a,c]:(Rt=o,o=n),o!==n)for(;o!==n;)r.push(o),o=Rt,a=Rt,It++,ce.test(e.charAt(Rt))?(c=e.charAt(Rt),Rt++):(c=n,0===It&&Vt(Ru)),It--,c===n?a=void 0:(Rt=a,a=n),a!==n&&(c=un())!==n?o=a=[a,c]:(Rt=o,o=n);else r=n;for(r===n&&(r=Rt,123===e.charCodeAt(Rt)?(o=i,Rt++):(o=n,0===It&&Vt(_e)),o!==n?(a=Dn(),125===e.charCodeAt(Rt)?(c=s,Rt++):(c=n,0===It&&Vt(ve)),c!==n?r=o=[o,a,c]:(Rt=r,r=n)):(Rt=r,r=n));r!==n;){if(t.push(r),r=[],o=Rt,a=Rt,It++,ce.test(e.charAt(Rt))?(c=e.charAt(Rt),Rt++):(c=n,0===It&&Vt(Ru)),It--,c===n?a=void 0:(Rt=a,a=n),a!==n&&(c=un())!==n?o=a=[a,c]:(Rt=o,o=n),o!==n)for(;o!==n;)r.push(o),o=Rt,a=Rt,It++,ce.test(e.charAt(Rt))?(c=e.charAt(Rt),Rt++):(c=n,0===It&&Vt(Ru)),It--,c===n?a=void 0:(Rt=a,a=n),a!==n&&(c=un())!==n?o=a=[a,c]:(Rt=o,o=n);else r=n;r===n&&(r=Rt,123===e.charCodeAt(Rt)?(o=i,Rt++):(o=n,0===It&&Vt(_e)),o!==n?(a=Dn(),125===e.charCodeAt(Rt)?(c=s,Rt++):(c=n,0===It&&Vt(ve)),c!==n?r=o=[o,a,c]:(Rt=r,r=n)):(Rt=r,r=n))}return e.substring(u,Rt)}function $n(){var e,u;for(e=[],(u=tn())===n&&(u=rn())===n&&(u=on());u!==n;)e.push(u),(u=tn())===n&&(u=rn())===n&&(u=on());return e}function Sn(){var u,t,r,o;if(u=[],t=Rt,r=$n(),59===e.charCodeAt(Rt)?(o=oe,Rt++):(o=n,0===It&&Vt(Gu)),o!==n?t=r=[r,o]:(Rt=t,t=n),t!==n)for(;t!==n;)u.push(t),t=Rt,r=$n(),59===e.charCodeAt(Rt)?(o=oe,Rt++):(o=n,0===It&&Vt(Gu)),o!==n?t=r=[r,o]:(Rt=t,t=n);else u=n;return u===n&&(u=Rt,t=function(){var e,u;for(e=[],(u=tn())===n&&(u=an());u!==n;)e.push(u),(u=tn())===n&&(u=an());return e}(),(r=sn())===n&&(r=null),(o=rn())!==n?u=t=[t,r,o]:(Rt=u,u=n),u===n&&(u=Rt,t=$n(),r=function(){var u,t;return u=Rt,It++,e.length>Rt?(t=e.charAt(Rt),Rt++):(t=n,0===It&&Vt(Ne)),It--,t===n?u=void 0:(Rt=u,u=n),u}(),r!==n?u=t=[t,r]:(Rt=u,u=n))),u}var yn=u.reservedWords||[];if((t=a())!==n&&Rt===e.length)return t;throw t!==n&&Rt0){for(u=1,t=1;u0&&(this.functions.shift()(),setTimeout((function(){r.run()}),0))}},o={};r.add((function(){n.start(),o.totalInputSize=0,o.totalParseTime=0})),e.forEach((function(e){r.add(function(e){return function(){n.benchmarkStart(e),o.parser=peg.generate(n.readFile("../examples/"+e.id+".pegjs"),t),o.benchmarkInputSize=0,o.benchmarkParseTime=0}}(e)),e.tests.forEach((function(t){r.add(function(e,t){return function(){n.testStart(e,t);for(var r=n.readFile(e.id+"/"+t.file),a=0,i=0;i\n \n ").concat(null!==n?"":"","\n ").concat(t,"\n ").concat(null!==n?"":"","\n \n \n \n ").concat((r/1024).toFixed(2),"\n \n  kB\n \n \n \n ").concat(o.toFixed(2),"\n \n  ms\n \n \n \n ").concat((r/1024/(o/1e3)).toFixed(2),"\n \n  kB/s\n \n \n "))}var t=parseInt($("#run-count").val(),10),n={cache:$("#cache").is(":checked")};isNaN(t)||t<=0?alert("Number of runs must be a positive integer."):Runner.run(benchmarks,t,n,{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,t,n,r){u("individual",t.title,"https://github.com/peggyjs/peggy/blob/".concat(BRANCH,"/benchmark/").concat(e.id,"/").concat(t.file),n,r)},benchmarkStart:function(u){e.append("\n \n \n ").concat(u.title,' \n \n "\n '))},benchmarkFinish:function(e,t,n){u("benchmark-total",e.title+" total",null,t,n)},start:function(){$("#run-count, #cache, #run").attr("disabled","disabled"),e.show(),$("#results-table tr").slice(1).remove()},finish:function(e,t){u("total","Total",null,e,t),$.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$2=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$1=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,n){if(n||2===arguments.length)for(var r,o=0,u=t.length;o0&&(n.forEach((function(e){u.push("var "+e+' = require("'+stringEscape(t.dependencies[e])+'");')})),u.push("")),u.push(e,"","module.exports = "+o()+";"),u},es:function(){var n=Object.keys(t.dependencies),o=r();return o.push(""),n.length>0&&(n.forEach((function(e){o.push("import "+e+' from "'+stringEscape(t.dependencies[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 u=Object.keys(t.dependencies),a="["+u.map((function(e){return t.dependencies[e]})).map((function(e){return'"'+stringEscape(e)+'"'})).join(", ")+"]",i=u.join(", ");return __spreadArray$1(__spreadArray$1([],r(),!0),["define("+a+", function("+i+") {",' "use strict";',"",e,"",n("return "+o()+";"),"});"],!1)},globals:function(){return __spreadArray$1(__spreadArray$1([],r(),!0),["(function(root) {",' "use strict";',"",e,"",n("root."+t.exportVar+" = "+o()+";"),"})(this);"],!1)},umd:function(){var u=Object.keys(t.dependencies),a=u.map((function(e){return t.dependencies[e]})),i="["+a.map((function(e){return'"'+stringEscape(e)+'"'})).join(", ")+"]",s=a.map((function(e){return'require("'+stringEscape(e)+'")'})).join(", "),c=u.join(", "),l=r();return l.push("(function(root, factory) {",' if (typeof define === "function" && define.amd) {'," define("+i+", factory);",' } else if (typeof module === "object" && module.exports) {'," module.exports = factory("+s+");"),null!==t.exportVar&&l.push(" } else {"," root."+t.exportVar+" = factory();"),l.push(" }","})(this, function("+c+") {",' "use strict";',"",e,"",n("return "+o()+";"),"});"),l}}[t.format]();return new SourceNode(null,null,t.grammarSource,u.map((function(e){return e instanceof SourceNode?e:e+"\n"})))}(function(){var c=[];e.topLevelInitializer&&(c.push(s(e.topLevelInitializer)),c.push("")),c.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&&c.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 l="{ "+t.allowedStartRules.map((function(e){return e+": "+i(e)})).join(", ")+" }",p=i(t.allowedStartRules[0]);return c.push("function peg$parse(input, options) {"," options = options !== undefined ? options : {};",""," var peg$FAILED = {};"," var peg$source = options.grammarSource;",""," var peg$startRuleFunctions = "+l+";"," var peg$startRuleFunction = "+p+";","",new SourceNode(null,null,t.grammarSource,[e.literals.map((function(e,t){return" var "+r(t)+' = "'+stringEscape(e)+'";'})).concat("",e.classes.map((function(e,t){return" var "+o(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("",e.expectations.map((function(e,t){return" var "+u(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"),e.functions.map((function(e,t){return wrapInSourceNode("\n var ".concat(a(t)," = function(").concat(e.params.join(", "),") {"),e.body,e.location,"};")}))]),""," 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&&c.push(" var peg$resultsCache = {};",""),t.trace&&c.push(' var peg$tracer = "tracer" in options ? options.tracer : new peg$DefaultTracer();',""),c.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 {"," p = pos - 1;"," while (!peg$posDetailsCache[p]) {"," 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(s){c.push.apply(c,n(function(s){var c=[],l=new Stack(s.name,"s","var",s.bytecode),p=function t(c){var p=0,f=c.length,h=[],d=void 0;function g(e,r){var o=r+3,u=c[p+o-2],a=c[p+o-1],i=void 0,s=void 0;l.checkedIf(p,(function(){p+=o,i=t(c.slice(p,p+u)),p+=u}),a>0?function(){s=t(c.slice(p,p+a)),p+=a}:null),h.push("if ("+e+") {"),h.push.apply(h,n(i)),a>0&&(h.push("} else {"),h.push.apply(h,n(s))),h.push("}")}function A(e){var r=c[p+2-1],o=void 0;l.checkedLoop(p,(function(){p+=2,o=t(c.slice(p,p+r)),p+=r})),h.push("while ("+e+") {"),h.push.apply(h,n(o)),h.push("}")}function m(e){var t=c[p+e-1];return a(c[p+1])+"("+c.slice(p+e,p+e+t).map((function(e){return l.index(e)})).join(", ")+")"}for(;p= "+c[p+1],1);break;case op.IF_LT_DYNAMIC:g(l.top()+".length < ("+l.index(c[p+1])+"|0)",1);break;case op.IF_GE_DYNAMIC:g(l.top()+".length >= ("+l.index(c[p+1])+"|0)",1);break;case op.WHILE_NOT_ERROR:A(l.top()+" !== peg$FAILED");break;case op.MATCH_ANY:g("input.length > peg$currPos",0);break;case op.MATCH_STRING:g(e.literals[c[p+1]].length>1?"input.substr(peg$currPos, "+e.literals[c[p+1]].length+") === "+r(c[p+1]):"input.charCodeAt(peg$currPos) === "+e.literals[c[p+1]].charCodeAt(0),1);break;case op.MATCH_STRING_IC:g("input.substr(peg$currPos, "+e.literals[c[p+1]].length+").toLowerCase() === "+r(c[p+1]),1);break;case op.MATCH_CHAR_CLASS:g(o(c[p+1])+".test(input.charAt(peg$currPos))",1);break;case op.ACCEPT_N:h.push(l.push(c[p+1]>1?"input.substr(peg$currPos, "+c[p+1]+")":"input.charAt(peg$currPos)")),h.push(c[p+1]>1?"peg$currPos += "+c[p+1]+";":"peg$currPos++;"),p+=2;break;case op.ACCEPT_STRING:h.push(l.push(r(c[p+1]))),h.push(e.literals[c[p+1]].length>1?"peg$currPos += "+e.literals[c[p+1]].length+";":"peg$currPos++;"),p+=2;break;case op.FAIL:h.push(l.push("peg$FAILED")),h.push("if (peg$silentFails === 0) { peg$fail("+u(c[p+1])+"); }"),p+=2;break;case op.LOAD_SAVED_POS:h.push("peg$savedPos = "+l.index(c[p+1])+";"),p+=2;break;case op.UPDATE_SAVED_POS:h.push("peg$savedPos = peg$currPos;"),p++;break;case op.CALL:d=m(4),l.pop(c[p+2]),h.push(l.push(d)),p+=4+c[p+3];break;case op.RULE:h.push(l.push(i(e.rules[c[p+1]].name)+"()")),p+=2;break;case op.SILENT_FAILS_ON:h.push("peg$silentFails++;"),p++;break;case op.SILENT_FAILS_OFF:h.push("peg$silentFails--;"),p++;break;case op.SOURCE_MAP_PUSH:l.sourceMapPush(h,e.locations[c[p+1]]),p+=2;break;case op.SOURCE_MAP_POP:l.sourceMapPop(),p++;break;case op.SOURCE_MAP_LABEL_PUSH:l.labels[c[p+1]]={label:e.literals[c[p+2]],location:e.locations[c[p+3]]},p+=4;break;case op.SOURCE_MAP_LABEL_POP:delete l.labels[c[p+1]],p+=2;break;default:throw new Error("Invalid opcode: "+c[p]+".",{rule:s.name,bytecode:c})}return h}(s.bytecode);return c.push(wrapInSourceNode("function ",i(s.name),s.nameLocation,"() {\n",s.name)),t.trace&&c.push(" var startPos = peg$currPos;"),c.push(n(l.defines())),c.push.apply(c,n(function(n,r){var o=[];return o.push(""),t.trace&&o.push("peg$tracer.trace({",' type: "rule.enter",'," rule: "+n+","," location: peg$computeLocation(startPos, startPos, true)","});",""),t.cache&&(o.push("var key = peg$currPos * "+e.rules.length+" + "+r+";","var cached = peg$resultsCache[key];","","if (cached) {"," peg$currPos = cached.nextPos;",""),t.trace&&o.push("if (cached.result !== peg$FAILED) {"," peg$tracer.trace({",' type: "rule.match",'," rule: "+n+","," result: cached.result,"," location: peg$computeLocation(startPos, peg$currPos, true)"," });","} else {"," peg$tracer.trace({",' type: "rule.fail",'," rule: "+n+","," location: peg$computeLocation(startPos, startPos, true)"," });","}",""),o.push(" return cached.result;","}","")),o}('"'+stringEscape(s.name)+'"',asts$4.indexOfRule(e,s.name)))),c.push.apply(c,n(p)),c.push.apply(c,n(function(e,n){var r=[];return t.cache&&r.push("","peg$resultsCache[key] = { nextPos: peg$currPos, result: "+n+" };"),t.trace&&r.push("","if ("+n+" !== peg$FAILED) {"," peg$tracer.trace({",' type: "rule.match",'," rule: "+e+","," result: "+n+","," location: peg$computeLocation(startPos, peg$currPos, true)"," });","} else {"," peg$tracer.trace({",' type: "rule.fail",'," rule: "+e+","," location: peg$computeLocation(startPos, startPos, true)"," });","}"),r.push("","return "+n+";"),r}('"'+stringEscape(s.name)+'"',l.result()))),c.push("}"),c}(s))),c.push("")})),e.initializer&&(c.push(s(e.initializer)),c.push("")),c.push(" peg$result = peg$startRuleFunction();",""," if (peg$result !== peg$FAILED && peg$currPos === input.length) {"," return peg$result;"," } else {"," if (peg$result !== peg$FAILED && peg$currPos < input.length) {"," peg$fail(peg$endExpectation());"," }",""," throw peg$buildStructuredError("," peg$maxFailExpected,"," peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,"," peg$maxFailPos < input.length"," ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)"," : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)"," );"," }","}"),new SourceNode(null,null,t.grammarSource,c.map((function(e){return e instanceof SourceNode?e:e+"\n"})))}())}var generateJs=generateJS$1,asts$3=asts_1,visitor$8=visitor_1;function removeProxyRules$1(e,t,n){var r=[];e.rules.forEach((function(o,u){var a;"rule"===(a=o).type&&"rule_ref"===a.expression.type&&(function(e,t,r){visitor$8.build({rule_ref:function(o){o.name===t&&(o.name=r,n.info('Proxy rule "'.concat(t,'" replaced by the rule "').concat(r,'"'),o.location,[{message:"This rule will be used",location:asts$3.findRule(e,r).nameLocation}]))}})(e)}(e,o.name,o.expression.name),-1===t.allowedStartRules.indexOf(o.name)&&r.push(u))})),r.reverse(),r.forEach((function(t){e.rules.splice(t,1)}))}var removeProxyRules_1=removeProxyRules$1,visitor$7=visitor_1;function cloneOver(e,t){Object.keys(e).forEach((function(t){return delete e[t]})),Object.keys(t).forEach((function(n){e[n]=t[n]}))}function cleanParts(e){e.sort((function(e,t){var n=Array.isArray(e)?e:[e,e],r=n[0],o=n[1],u=Array.isArray(t)?t:[t,t],a=u[0],i=u[1];return r!==a?ri?-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?{type:e.type,parts:e.parts.slice(),inverted:e.inverted,ignoreCase:e.ignoreCase,location:e.location}: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]=null,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){return null!==e})),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='"',x="'",b="[",P="^",D="]",B="-",R="0",O="b",L="f",T="n",M="r",I="t",w="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),xe=sn("comment"),be=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),Ie=sn("string"),we=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]},xt=function(e){return{type:"constant",value:e,location:rn()}},bt=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("")},It=function(e,t,n){return{type:"class",parts:t.filter((function(e){return""!==e})),inverted:null!==e,ignoreCase:null!==n,location:rn()}},wt=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;for(n=t-1;!Zt[n];)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 j.test(e.charAt(Xt))?(t=e.charAt(Xt),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 G.test(e.charAt(Xt))?(t=e.charAt(Xt),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=xt(n)),(t=n)===r&&(t=Xt,(n=Dn())!==r&&(Kt=t,n=bt(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=b,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=In());a!==r;)u.push(a),(a=Mn())===r&&(a=In());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=It(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 V.test(e.charAt(Xt))?(t=e.charAt(Xt),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++,Y.test(e.charAt(Xt))?(t=e.charAt(Xt),Xt++):(t=r,0===nn&&pn(ve)),nn--,t===r&&0===nn&&pn(_e),t}function yn(){var t;return z.test(e.charAt(Xt))?(t=e.charAt(Xt),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&&(W.test(e.charAt(Xt))?(t=e.charAt(Xt),Xt++):(t=r,0===nn&&pn(Fe)))),nn--,t===r&&0===nn&&pn($e),t}function xn(){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(be)),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(xe),t}function bn(){var t,n,o,u,a,i;if(t=Xt,e.substr(Xt,2)===v?(n=v,Xt+=2):(n=r,0===nn&&pn(be)),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 J.test(e.charAt(Xt))?(t=e.charAt(Xt),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&&(Q.test(e.charAt(Xt))?(t=e.charAt(Xt),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(we)),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(we)),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=x,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=x,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(Ie)),t}function Ln(){var t,n,o,u;return t=Xt,n=Xt,o=Xt,nn++,q.test(e.charAt(Xt))?(u=e.charAt(Xt),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=wn())),t}function Tn(){var t,n,o,u;return t=Xt,n=Xt,o=Xt,nn++,X.test(e.charAt(Xt))?(u=e.charAt(Xt),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=wn())),t}function Mn(){var t,n,o,u;return t=Xt,(n=In())!==r?(45===e.charCodeAt(Xt)?(o=B,Xt++):(o=r,0===nn&&pn(Ye)),o!==r&&(u=In())!==r?(Kt=t,t=wt(n,u)):(Xt=t,t=r)):(Xt=t,t=r),t}function In(){var t,n,o,u;return t=Xt,n=Xt,o=Xt,nn++,K.test(e.charAt(Xt))?(u=e.charAt(Xt),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=wn())),t}function wn(){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&&(ee.test(e.charAt(Xt))?(t=e.charAt(Xt),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 Z.test(e.charAt(Xt))?(t=e.charAt(Xt),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=I,Xt++):(n=r,0===nn&&pn(Ze)),n!==r&&(Kt=t,n=Vt()),(t=n)===r&&(t=Xt,118===e.charCodeAt(Xt)?(n=w,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 te.test(e.charAt(Xt))?(t=e.charAt(Xt),Xt++):(t=r,0===nn&&pn(ot)),t}function jn(){var t;return ne.test(e.charAt(Xt))?(t=e.charAt(Xt),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++,re.test(e.charAt(Xt))?(c=e.charAt(Xt),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++,re.test(e.charAt(Xt))?(c=e.charAt(Xt),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++,re.test(e.charAt(Xt))?(c=e.charAt(Xt),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++,re.test(e.charAt(Xt))?(c=e.charAt(Xt),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=xn());t!==r;)e.push(t),(t=Sn())===r&&(t=Fn())===r&&(t=xn());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=bn());t!==r;)e.push(t),(t=Sn())===r&&(t=bn());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 b8f79684..6be87810 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:{},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:zr},s=zr,c="{",i="}",u="=",p="/",l="@",f=":",d="$",$="&",m="!",g="?",h="*",x="+",b="|",A=",",v="..",E="(",y=")",C="\t",S="\v",_="\f",T=" ",P=" ",w="\ufeff",F="\n",B="\r\n",R="\r",D="\u2028",L="\u2029",O="/*",M="*/",I="//",k="_",N="\\",j="‌",U="‍",q="i",G='"',H="'",z="[",W="^",V="]",Y="-",Q="0",J="b",X="f",K="n",Z="r",ee="t",te="v",re="x",ae="u",ne=".",oe=";",se=/^[\n\r\u2028\u2029]/,ce=/^[0-9]/,ie=/^[0-9a-f]/i,ue=/^[{}]/,pe=/^[a-z\xB5\xDF-\xF6\xF8-\xFF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137-\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148-\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E-\u0180\u0183\u0185\u0188\u018C-\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA-\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9-\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC-\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF-\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F-\u0240\u0242\u0247\u0249\u024B\u024D\u024F-\u0293\u0295-\u02AF\u0371\u0373\u0377\u037B-\u037D\u0390\u03AC-\u03CE\u03D0-\u03D1\u03D5-\u03D7\u03D9\u03DB\u03DD\u03DF\u03E1\u03E3\u03E5\u03E7\u03E9\u03EB\u03ED\u03EF-\u03F3\u03F5\u03F8\u03FB-\u03FC\u0430-\u045F\u0461\u0463\u0465\u0467\u0469\u046B\u046D\u046F\u0471\u0473\u0475\u0477\u0479\u047B\u047D\u047F\u0481\u048B\u048D\u048F\u0491\u0493\u0495\u0497\u0499\u049B\u049D\u049F\u04A1\u04A3\u04A5\u04A7\u04A9\u04AB\u04AD\u04AF\u04B1\u04B3\u04B5\u04B7\u04B9\u04BB\u04BD\u04BF\u04C2\u04C4\u04C6\u04C8\u04CA\u04CC\u04CE-\u04CF\u04D1\u04D3\u04D5\u04D7\u04D9\u04DB\u04DD\u04DF\u04E1\u04E3\u04E5\u04E7\u04E9\u04EB\u04ED\u04EF\u04F1\u04F3\u04F5\u04F7\u04F9\u04FB\u04FD\u04FF\u0501\u0503\u0505\u0507\u0509\u050B\u050D\u050F\u0511\u0513\u0515\u0517\u0519\u051B\u051D\u051F\u0521\u0523\u0525\u0527\u0529\u052B\u052D\u052F\u0561-\u0587\u13F8-\u13FD\u1D00-\u1D2B\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFF-\u1F07\u1F10-\u1F15\u1F20-\u1F27\u1F30-\u1F37\u1F40-\u1F45\u1F50-\u1F57\u1F60-\u1F67\u1F70-\u1F7D\u1F80-\u1F87\u1F90-\u1F97\u1FA0-\u1FA7\u1FB0-\u1FB4\u1FB6-\u1FB7\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FC7\u1FD0-\u1FD3\u1FD6-\u1FD7\u1FE0-\u1FE7\u1FF2-\u1FF4\u1FF6-\u1FF7\u210A\u210E-\u210F\u2113\u212F\u2134\u2139\u213C-\u213D\u2146-\u2149\u214E\u2184\u2C30-\u2C5E\u2C61\u2C65-\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73-\u2C74\u2C76-\u2C7B\u2C81\u2C83\u2C85\u2C87\u2C89\u2C8B\u2C8D\u2C8F\u2C91\u2C93\u2C95\u2C97\u2C99\u2C9B\u2C9D\u2C9F\u2CA1\u2CA3\u2CA5\u2CA7\u2CA9\u2CAB\u2CAD\u2CAF\u2CB1\u2CB3\u2CB5\u2CB7\u2CB9\u2CBB\u2CBD\u2CBF\u2CC1\u2CC3\u2CC5\u2CC7\u2CC9\u2CCB\u2CCD\u2CCF\u2CD1\u2CD3\u2CD5\u2CD7\u2CD9\u2CDB\u2CDD\u2CDF\u2CE1\u2CE3-\u2CE4\u2CEC\u2CEE\u2CF3\u2D00-\u2D25\u2D27\u2D2D\uA641\uA643\uA645\uA647\uA649\uA64B\uA64D\uA64F\uA651\uA653\uA655\uA657\uA659\uA65B\uA65D\uA65F\uA661\uA663\uA665\uA667\uA669\uA66B\uA66D\uA681\uA683\uA685\uA687\uA689\uA68B\uA68D\uA68F\uA691\uA693\uA695\uA697\uA699\uA69B\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7B5\uA7B7\uA7FA\uAB30-\uAB5A\uAB60-\uAB65\uAB70-\uABBF\uFB00-\uFB06\uFB13-\uFB17\uFF41-\uFF5A]/,le=/^[\u02B0-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0374\u037A\u0559\u0640\u06E5-\u06E6\u07F4-\u07F5\u07FA\u081A\u0824\u0828\u0971\u0E46\u0EC6\u10FC\u17D7\u1843\u1AA7\u1C78-\u1C7D\u1D2C-\u1D6A\u1D78\u1D9B-\u1DBF\u2071\u207F\u2090-\u209C\u2C7C-\u2C7D\u2D6F\u2E2F\u3005\u3031-\u3035\u303B\u309D-\u309E\u30FC-\u30FE\uA015\uA4F8-\uA4FD\uA60C\uA67F\uA69C-\uA69D\uA717-\uA71F\uA770\uA788\uA7F8-\uA7F9\uA9CF\uA9E6\uAA70\uAADD\uAAF3-\uAAF4\uAB5C-\uAB5F\uFF70\uFF9E-\uFF9F]/,fe=/^[\xAA\xBA\u01BB\u01C0-\u01C3\u0294\u05D0-\u05EA\u05F0-\u05F2\u0620-\u063F\u0641-\u064A\u066E-\u066F\u0671-\u06D3\u06D5\u06EE-\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u0800-\u0815\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0972-\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-\u0E45\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065-\u1066\u106E-\u1070\u1075-\u1081\u108E\u10D0-\u10FA\u10FD-\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\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17DC\u1820-\u1842\u1844-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE-\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C77\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5-\u1CF6\u2135-\u2138\u2D30-\u2D67\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3006\u303C\u3041-\u3096\u309F\u30A1-\u30FA\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA014\uA016-\uA48C\uA4D0-\uA4F7\uA500-\uA60B\uA610-\uA61F\uA62A-\uA62B\uA66E\uA6A0-\uA6E5\uA78F\uA7F7\uA7FB-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9E0-\uA9E4\uA9E7-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA6F\uAA71-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADC\uAAE0-\uAAEA\uAAF2\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\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\uFF66-\uFF6F\uFF71-\uFF9D\uFFA0-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,de=/^[\u01C5\u01C8\u01CB\u01F2\u1F88-\u1F8F\u1F98-\u1F9F\u1FA8-\u1FAF\u1FBC\u1FCC\u1FFC]/,$e=/^[A-Z\xC0-\xD6\xD8-\xDE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178-\u0179\u017B\u017D\u0181-\u0182\u0184\u0186-\u0187\u0189-\u018B\u018E-\u0191\u0193-\u0194\u0196-\u0198\u019C-\u019D\u019F-\u01A0\u01A2\u01A4\u01A6-\u01A7\u01A9\u01AC\u01AE-\u01AF\u01B1-\u01B3\u01B5\u01B7-\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A-\u023B\u023D-\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E-\u038F\u0391-\u03A1\u03A3-\u03AB\u03CF\u03D2-\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9-\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0-\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u10A0-\u10C5\u10C7\u10CD\u13A0-\u13F5\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1FB8-\u1FBB\u1FC8-\u1FCB\u1FD8-\u1FDB\u1FE8-\u1FEC\u1FF8-\u1FFB\u2102\u2107\u210B-\u210D\u2110-\u2112\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u2130-\u2133\u213E-\u213F\u2145\u2183\u2C00-\u2C2E\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D-\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AD\uA7B0-\uA7B4\uA7B6\uFF21-\uFF3A]/,me=/^[\u0903\u093B\u093E-\u0940\u0949-\u094C\u094E-\u094F\u0982-\u0983\u09BE-\u09C0\u09C7-\u09C8\u09CB-\u09CC\u09D7\u0A03\u0A3E-\u0A40\u0A83\u0ABE-\u0AC0\u0AC9\u0ACB-\u0ACC\u0B02-\u0B03\u0B3E\u0B40\u0B47-\u0B48\u0B4B-\u0B4C\u0B57\u0BBE-\u0BBF\u0BC1-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0BD7\u0C01-\u0C03\u0C41-\u0C44\u0C82-\u0C83\u0CBE\u0CC0-\u0CC4\u0CC7-\u0CC8\u0CCA-\u0CCB\u0CD5-\u0CD6\u0D02-\u0D03\u0D3E-\u0D40\u0D46-\u0D48\u0D4A-\u0D4C\u0D57\u0D82-\u0D83\u0DCF-\u0DD1\u0DD8-\u0DDF\u0DF2-\u0DF3\u0F3E-\u0F3F\u0F7F\u102B-\u102C\u1031\u1038\u103B-\u103C\u1056-\u1057\u1062-\u1064\u1067-\u106D\u1083-\u1084\u1087-\u108C\u108F\u109A-\u109C\u17B6\u17BE-\u17C5\u17C7-\u17C8\u1923-\u1926\u1929-\u192B\u1930-\u1931\u1933-\u1938\u1A19-\u1A1A\u1A55\u1A57\u1A61\u1A63-\u1A64\u1A6D-\u1A72\u1B04\u1B35\u1B3B\u1B3D-\u1B41\u1B43-\u1B44\u1B82\u1BA1\u1BA6-\u1BA7\u1BAA\u1BE7\u1BEA-\u1BEC\u1BEE\u1BF2-\u1BF3\u1C24-\u1C2B\u1C34-\u1C35\u1CE1\u1CF2-\u1CF3\u302E-\u302F\uA823-\uA824\uA827\uA880-\uA881\uA8B4-\uA8C3\uA952-\uA953\uA983\uA9B4-\uA9B5\uA9BA-\uA9BB\uA9BD-\uA9C0\uAA2F-\uAA30\uAA33-\uAA34\uAA4D\uAA7B\uAA7D\uAAEB\uAAEE-\uAAEF\uAAF5\uABE3-\uABE4\uABE6-\uABE7\uABE9-\uABEA\uABEC]/,ge=/^[\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7-\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962-\u0963\u0981\u09BC\u09C1-\u09C4\u09CD\u09E2-\u09E3\u0A01-\u0A02\u0A3C\u0A41-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D\u0A51\u0A70-\u0A71\u0A75\u0A81-\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7-\u0AC8\u0ACD\u0AE2-\u0AE3\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D\u0B56\u0B62-\u0B63\u0B82\u0BC0\u0BCD\u0C00\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55-\u0C56\u0C62-\u0C63\u0C81\u0CBC\u0CBF\u0CC6\u0CCC-\u0CCD\u0CE2-\u0CE3\u0D01\u0D41-\u0D44\u0D4D\u0D62-\u0D63\u0DCA\u0DD2-\u0DD4\u0DD6\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB-\u0EBC\u0EC8-\u0ECD\u0F18-\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86-\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039-\u103A\u103D-\u103E\u1058-\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085-\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17B4-\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u1922\u1927-\u1928\u1932\u1939-\u193B\u1A17-\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ABD\u1B00-\u1B03\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80-\u1B81\u1BA2-\u1BA5\u1BA8-\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8-\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8-\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302D\u3099-\u309A\uA66F\uA674-\uA67D\uA69E-\uA69F\uA6F0-\uA6F1\uA802\uA806\uA80B\uA825-\uA826\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9E5\uAA29-\uAA2E\uAA31-\uAA32\uAA35-\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7-\uAAB8\uAABE-\uAABF\uAAC1\uAAEC-\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/,he=/^[0-9\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19]/,xe=/^[\u16EE-\u16F0\u2160-\u2182\u2185-\u2188\u3007\u3021-\u3029\u3038-\u303A\uA6E6-\uA6EF]/,be=/^[_\u203F-\u2040\u2054\uFE33-\uFE34\uFE4D-\uFE4F\uFF3F]/,Ae=/^[ \xA0\u1680\u2000-\u200A\u202F\u205F\u3000]/,ve=Nr("{",!1),Ee=Nr("}",!1),ye=Nr("=",!1),Ce=Nr("/",!1),Se=Nr("@",!1),_e=Nr(":",!1),Te=Nr("$",!1),Pe=Nr("&",!1),we=Nr("!",!1),Fe=Nr("?",!1),Be=Nr("*",!1),Re=Nr("+",!1),De=Nr("|",!1),Le=Nr(",",!1),Oe=Nr("..",!1),Me=Nr("(",!1),Ie=Nr(")",!1),ke={type:"any"},Ne=Ur("whitespace"),je=Nr("\t",!1),Ue=Nr("\v",!1),qe=Nr("\f",!1),Ge=Nr(" ",!1),He=Nr(" ",!1),ze=Nr("\ufeff",!1),We=jr(["\n","\r","\u2028","\u2029"],!1,!1),Ve=Ur("end of line"),Ye=Nr("\n",!1),Qe=Nr("\r\n",!1),Je=Nr("\r",!1),Xe=Nr("\u2028",!1),Ke=Nr("\u2029",!1),Ze=Ur("comment"),et=Nr("/*",!1),tt=Nr("*/",!1),rt=Nr("//",!1),at=Ur("identifier"),nt=Nr("_",!1),ot=Nr("\\",!1),st=Nr("‌",!1),ct=Nr("‍",!1),it=Ur("literal"),ut=Nr("i",!1),pt=Ur("string"),lt=Nr('"',!1),ft=Nr("'",!1),dt=Ur("character class"),$t=Nr("[",!1),mt=Nr("^",!1),gt=Nr("]",!1),ht=Nr("-",!1),xt=Nr("0",!1),bt=Nr("b",!1),At=Nr("f",!1),vt=Nr("n",!1),Et=Nr("r",!1),yt=Nr("t",!1),Ct=Nr("v",!1),St=Nr("x",!1),_t=Nr("u",!1),Tt=jr([["0","9"]],!1,!1),Pt=jr([["0","9"],["a","f"]],!1,!0),wt=Nr(".",!1),Ft=Ur("code block"),Bt=jr(["{","}"],!1,!1),Rt=jr([["a","z"],"µ",["ß","ö"],["ø","ÿ"],"ā","ă","ą","ć","ĉ","ċ","č","ď","đ","ē","ĕ","ė","ę","ě","ĝ","ğ","ġ","ģ","ĥ","ħ","ĩ","ī","ĭ","į","ı","ij","ĵ",["ķ","ĸ"],"ĺ","ļ","ľ","ŀ","ł","ń","ņ",["ň","ʼn"],"ŋ","ō","ŏ","ő","œ","ŕ","ŗ","ř","ś","ŝ","ş","š","ţ","ť","ŧ","ũ","ū","ŭ","ů","ű","ų","ŵ","ŷ","ź","ż",["ž","ƀ"],"ƃ","ƅ","ƈ",["ƌ","ƍ"],"ƒ","ƕ",["ƙ","ƛ"],"ƞ","ơ","ƣ","ƥ","ƨ",["ƪ","ƫ"],"ƭ","ư","ƴ","ƶ",["ƹ","ƺ"],["ƽ","ƿ"],"dž","lj","nj","ǎ","ǐ","ǒ","ǔ","ǖ","ǘ","ǚ",["ǜ","ǝ"],"ǟ","ǡ","ǣ","ǥ","ǧ","ǩ","ǫ","ǭ",["ǯ","ǰ"],"dz","ǵ","ǹ","ǻ","ǽ","ǿ","ȁ","ȃ","ȅ","ȇ","ȉ","ȋ","ȍ","ȏ","ȑ","ȓ","ȕ","ȗ","ș","ț","ȝ","ȟ","ȡ","ȣ","ȥ","ȧ","ȩ","ȫ","ȭ","ȯ","ȱ",["ȳ","ȹ"],"ȼ",["ȿ","ɀ"],"ɂ","ɇ","ɉ","ɋ","ɍ",["ɏ","ʓ"],["ʕ","ʯ"],"ͱ","ͳ","ͷ",["ͻ","ͽ"],"ΐ",["ά","ώ"],["ϐ","ϑ"],["ϕ","ϗ"],"ϙ","ϛ","ϝ","ϟ","ϡ","ϣ","ϥ","ϧ","ϩ","ϫ","ϭ",["ϯ","ϳ"],"ϵ","ϸ",["ϻ","ϼ"],["а","џ"],"ѡ","ѣ","ѥ","ѧ","ѩ","ѫ","ѭ","ѯ","ѱ","ѳ","ѵ","ѷ","ѹ","ѻ","ѽ","ѿ","ҁ","ҋ","ҍ","ҏ","ґ","ғ","ҕ","җ","ҙ","қ","ҝ","ҟ","ҡ","ң","ҥ","ҧ","ҩ","ҫ","ҭ","ү","ұ","ҳ","ҵ","ҷ","ҹ","һ","ҽ","ҿ","ӂ","ӄ","ӆ","ӈ","ӊ","ӌ",["ӎ","ӏ"],"ӑ","ӓ","ӕ","ӗ","ә","ӛ","ӝ","ӟ","ӡ","ӣ","ӥ","ӧ","ө","ӫ","ӭ","ӯ","ӱ","ӳ","ӵ","ӷ","ӹ","ӻ","ӽ","ӿ","ԁ","ԃ","ԅ","ԇ","ԉ","ԋ","ԍ","ԏ","ԑ","ԓ","ԕ","ԗ","ԙ","ԛ","ԝ","ԟ","ԡ","ԣ","ԥ","ԧ","ԩ","ԫ","ԭ","ԯ",["ա","և"],["ᏸ","ᏽ"],["ᴀ","ᴫ"],["ᵫ","ᵷ"],["ᵹ","ᶚ"],"ḁ","ḃ","ḅ","ḇ","ḉ","ḋ","ḍ","ḏ","ḑ","ḓ","ḕ","ḗ","ḙ","ḛ","ḝ","ḟ","ḡ","ḣ","ḥ","ḧ","ḩ","ḫ","ḭ","ḯ","ḱ","ḳ","ḵ","ḷ","ḹ","ḻ","ḽ","ḿ","ṁ","ṃ","ṅ","ṇ","ṉ","ṋ","ṍ","ṏ","ṑ","ṓ","ṕ","ṗ","ṙ","ṛ","ṝ","ṟ","ṡ","ṣ","ṥ","ṧ","ṩ","ṫ","ṭ","ṯ","ṱ","ṳ","ṵ","ṷ","ṹ","ṻ","ṽ","ṿ","ẁ","ẃ","ẅ","ẇ","ẉ","ẋ","ẍ","ẏ","ẑ","ẓ",["ẕ","ẝ"],"ẟ","ạ","ả","ấ","ầ","ẩ","ẫ","ậ","ắ","ằ","ẳ","ẵ","ặ","ẹ","ẻ","ẽ","ế","ề","ể","ễ","ệ","ỉ","ị","ọ","ỏ","ố","ồ","ổ","ỗ","ộ","ớ","ờ","ở","ỡ","ợ","ụ","ủ","ứ","ừ","ử","ữ","ự","ỳ","ỵ","ỷ","ỹ","ỻ","ỽ",["ỿ","ἇ"],["ἐ","ἕ"],["ἠ","ἧ"],["ἰ","ἷ"],["ὀ","ὅ"],["ὐ","ὗ"],["ὠ","ὧ"],["ὰ","ώ"],["ᾀ","ᾇ"],["ᾐ","ᾗ"],["ᾠ","ᾧ"],["ᾰ","ᾴ"],["ᾶ","ᾷ"],"ι",["ῂ","ῄ"],["ῆ","ῇ"],["ῐ","ΐ"],["ῖ","ῗ"],["ῠ","ῧ"],["ῲ","ῴ"],["ῶ","ῷ"],"ℊ",["ℎ","ℏ"],"ℓ","ℯ","ℴ","ℹ",["ℼ","ℽ"],["ⅆ","ⅉ"],"ⅎ","ↄ",["ⰰ","ⱞ"],"ⱡ",["ⱥ","ⱦ"],"ⱨ","ⱪ","ⱬ","ⱱ",["ⱳ","ⱴ"],["ⱶ","ⱻ"],"ⲁ","ⲃ","ⲅ","ⲇ","ⲉ","ⲋ","ⲍ","ⲏ","ⲑ","ⲓ","ⲕ","ⲗ","ⲙ","ⲛ","ⲝ","ⲟ","ⲡ","ⲣ","ⲥ","ⲧ","ⲩ","ⲫ","ⲭ","ⲯ","ⲱ","ⲳ","ⲵ","ⲷ","ⲹ","ⲻ","ⲽ","ⲿ","ⳁ","ⳃ","ⳅ","ⳇ","ⳉ","ⳋ","ⳍ","ⳏ","ⳑ","ⳓ","ⳕ","ⳗ","ⳙ","ⳛ","ⳝ","ⳟ","ⳡ",["ⳣ","ⳤ"],"ⳬ","ⳮ","ⳳ",["ⴀ","ⴥ"],"ⴧ","ⴭ","ꙁ","ꙃ","ꙅ","ꙇ","ꙉ","ꙋ","ꙍ","ꙏ","ꙑ","ꙓ","ꙕ","ꙗ","ꙙ","ꙛ","ꙝ","ꙟ","ꙡ","ꙣ","ꙥ","ꙧ","ꙩ","ꙫ","ꙭ","ꚁ","ꚃ","ꚅ","ꚇ","ꚉ","ꚋ","ꚍ","ꚏ","ꚑ","ꚓ","ꚕ","ꚗ","ꚙ","ꚛ","ꜣ","ꜥ","ꜧ","ꜩ","ꜫ","ꜭ",["ꜯ","ꜱ"],"ꜳ","ꜵ","ꜷ","ꜹ","ꜻ","ꜽ","ꜿ","ꝁ","ꝃ","ꝅ","ꝇ","ꝉ","ꝋ","ꝍ","ꝏ","ꝑ","ꝓ","ꝕ","ꝗ","ꝙ","ꝛ","ꝝ","ꝟ","ꝡ","ꝣ","ꝥ","ꝧ","ꝩ","ꝫ","ꝭ","ꝯ",["ꝱ","ꝸ"],"ꝺ","ꝼ","ꝿ","ꞁ","ꞃ","ꞅ","ꞇ","ꞌ","ꞎ","ꞑ",["ꞓ","ꞕ"],"ꞗ","ꞙ","ꞛ","ꞝ","ꞟ","ꞡ","ꞣ","ꞥ","ꞧ","ꞩ","ꞵ","ꞷ","ꟺ",["ꬰ","ꭚ"],["ꭠ","ꭥ"],["ꭰ","ꮿ"],["ff","st"],["ﬓ","ﬗ"],["a","z"]],!1,!1),Dt=jr([["ʰ","ˁ"],["ˆ","ˑ"],["ˠ","ˤ"],"ˬ","ˮ","ʹ","ͺ","ՙ","ـ",["ۥ","ۦ"],["ߴ","ߵ"],"ߺ","ࠚ","ࠤ","ࠨ","ॱ","ๆ","ໆ","ჼ","ៗ","ᡃ","ᪧ",["ᱸ","ᱽ"],["ᴬ","ᵪ"],"ᵸ",["ᶛ","ᶿ"],"ⁱ","ⁿ",["ₐ","ₜ"],["ⱼ","ⱽ"],"ⵯ","ⸯ","々",["〱","〵"],"〻",["ゝ","ゞ"],["ー","ヾ"],"ꀕ",["ꓸ","ꓽ"],"ꘌ","ꙿ",["ꚜ","ꚝ"],["ꜗ","ꜟ"],"ꝰ","ꞈ",["ꟸ","ꟹ"],"ꧏ","ꧦ","ꩰ","ꫝ",["ꫳ","ꫴ"],["ꭜ","ꭟ"],"ー",["゙","゚"]],!1,!1),Lt=jr(["ª","º","ƻ",["ǀ","ǃ"],"ʔ",["א","ת"],["װ","ײ"],["ؠ","ؿ"],["ف","ي"],["ٮ","ٯ"],["ٱ","ۓ"],"ە",["ۮ","ۯ"],["ۺ","ۼ"],"ۿ","ܐ",["ܒ","ܯ"],["ݍ","ޥ"],"ޱ",["ߊ","ߪ"],["ࠀ","ࠕ"],["ࡀ","ࡘ"],["ࢠ","ࢴ"],["ऄ","ह"],"ऽ","ॐ",["क़","ॡ"],["ॲ","ঀ"],["অ","ঌ"],["এ","ঐ"],["ও","ন"],["প","র"],"ল",["শ","হ"],"ঽ","ৎ",["ড়","ঢ়"],["য়","ৡ"],["ৰ","ৱ"],["ਅ","ਊ"],["ਏ","ਐ"],["ਓ","ਨ"],["ਪ","ਰ"],["ਲ","ਲ਼"],["ਵ","ਸ਼"],["ਸ","ਹ"],["ਖ਼","ੜ"],"ਫ਼",["ੲ","ੴ"],["અ","ઍ"],["એ","ઑ"],["ઓ","ન"],["પ","ર"],["લ","ળ"],["વ","હ"],"ઽ","ૐ",["ૠ","ૡ"],"ૹ",["ଅ","ଌ"],["ଏ","ଐ"],["ଓ","ନ"],["ପ","ର"],["ଲ","ଳ"],["ଵ","ହ"],"ଽ",["ଡ଼","ଢ଼"],["ୟ","ୡ"],"ୱ","ஃ",["அ","ஊ"],["எ","ஐ"],["ஒ","க"],["ங","ச"],"ஜ",["ஞ","ட"],["ண","த"],["ந","ப"],["ம","ஹ"],"ௐ",["అ","ఌ"],["ఎ","ఐ"],["ఒ","న"],["ప","హ"],"ఽ",["ౘ","ౚ"],["ౠ","ౡ"],["ಅ","ಌ"],["ಎ","ಐ"],["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"],"ಽ","ೞ",["ೠ","ೡ"],["ೱ","ೲ"],["അ","ഌ"],["എ","ഐ"],["ഒ","ഺ"],"ഽ","ൎ",["ൟ","ൡ"],["ൺ","ൿ"],["අ","ඖ"],["ක","න"],["ඳ","ර"],"ල",["ව","ෆ"],["ก","ะ"],["า","ำ"],["เ","ๅ"],["ກ","ຂ"],"ຄ",["ງ","ຈ"],"ຊ","ຍ",["ດ","ທ"],["ນ","ຟ"],["ມ","ຣ"],"ລ","ວ",["ສ","ຫ"],["ອ","ະ"],["າ","ຳ"],"ຽ",["ເ","ໄ"],["ໜ","ໟ"],"ༀ",["ཀ","ཇ"],["ཉ","ཬ"],["ྈ","ྌ"],["က","ဪ"],"ဿ",["ၐ","ၕ"],["ၚ","ၝ"],"ၡ",["ၥ","ၦ"],["ၮ","ၰ"],["ၵ","ႁ"],"ႎ",["ა","ჺ"],["ჽ","ቈ"],["ቊ","ቍ"],["ቐ","ቖ"],"ቘ",["ቚ","ቝ"],["በ","ኈ"],["ኊ","ኍ"],["ነ","ኰ"],["ኲ","ኵ"],["ኸ","ኾ"],"ዀ",["ዂ","ዅ"],["ወ","ዖ"],["ዘ","ጐ"],["ጒ","ጕ"],["ጘ","ፚ"],["ᎀ","ᎏ"],["ᐁ","ᙬ"],["ᙯ","ᙿ"],["ᚁ","ᚚ"],["ᚠ","ᛪ"],["ᛱ","ᛸ"],["ᜀ","ᜌ"],["ᜎ","ᜑ"],["ᜠ","ᜱ"],["ᝀ","ᝑ"],["ᝠ","ᝬ"],["ᝮ","ᝰ"],["ក","ឳ"],"ៜ",["ᠠ","ᡂ"],["ᡄ","ᡷ"],["ᢀ","ᢨ"],"ᢪ",["ᢰ","ᣵ"],["ᤀ","ᤞ"],["ᥐ","ᥭ"],["ᥰ","ᥴ"],["ᦀ","ᦫ"],["ᦰ","ᧉ"],["ᨀ","ᨖ"],["ᨠ","ᩔ"],["ᬅ","ᬳ"],["ᭅ","ᭋ"],["ᮃ","ᮠ"],["ᮮ","ᮯ"],["ᮺ","ᯥ"],["ᰀ","ᰣ"],["ᱍ","ᱏ"],["ᱚ","ᱷ"],["ᳩ","ᳬ"],["ᳮ","ᳱ"],["ᳵ","ᳶ"],["ℵ","ℸ"],["ⴰ","ⵧ"],["ⶀ","ⶖ"],["ⶠ","ⶦ"],["ⶨ","ⶮ"],["ⶰ","ⶶ"],["ⶸ","ⶾ"],["ⷀ","ⷆ"],["ⷈ","ⷎ"],["ⷐ","ⷖ"],["ⷘ","ⷞ"],"〆","〼",["ぁ","ゖ"],"ゟ",["ァ","ヺ"],"ヿ",["ㄅ","ㄭ"],["ㄱ","ㆎ"],["ㆠ","ㆺ"],["ㇰ","ㇿ"],["㐀","䶵"],["一","鿕"],["ꀀ","ꀔ"],["ꀖ","ꒌ"],["ꓐ","ꓷ"],["ꔀ","ꘋ"],["ꘐ","ꘟ"],["ꘪ","ꘫ"],"ꙮ",["ꚠ","ꛥ"],"ꞏ","ꟷ",["ꟻ","ꠁ"],["ꠃ","ꠅ"],["ꠇ","ꠊ"],["ꠌ","ꠢ"],["ꡀ","ꡳ"],["ꢂ","ꢳ"],["ꣲ","ꣷ"],"ꣻ","ꣽ",["ꤊ","ꤥ"],["ꤰ","ꥆ"],["ꥠ","ꥼ"],["ꦄ","ꦲ"],["ꧠ","ꧤ"],["ꧧ","ꧯ"],["ꧺ","ꧾ"],["ꨀ","ꨨ"],["ꩀ","ꩂ"],["ꩄ","ꩋ"],["ꩠ","ꩯ"],["ꩱ","ꩶ"],"ꩺ",["ꩾ","ꪯ"],"ꪱ",["ꪵ","ꪶ"],["ꪹ","ꪽ"],"ꫀ","ꫂ",["ꫛ","ꫜ"],["ꫠ","ꫪ"],"ꫲ",["ꬁ","ꬆ"],["ꬉ","ꬎ"],["ꬑ","ꬖ"],["ꬠ","ꬦ"],["ꬨ","ꬮ"],["ꯀ","ꯢ"],["가","힣"],["ힰ","ퟆ"],["ퟋ","ퟻ"],["豈","舘"],["並","龎"],"יִ",["ײַ","ﬨ"],["שׁ","זּ"],["טּ","לּ"],"מּ",["נּ","סּ"],["ףּ","פּ"],["צּ","ﮱ"],["ﯓ","ﴽ"],["ﵐ","ﶏ"],["ﶒ","ﷇ"],["ﷰ","ﷻ"],["ﹰ","ﹴ"],["ﹶ","ﻼ"],["ヲ","ッ"],["ア","ン"],["ᅠ","ᄒ"],["ᅡ","ᅦ"],["ᅧ","ᅬ"],["ᅭ","ᅲ"],["ᅳ","ᅵ"]],!1,!1),Ot=jr(["Dž","Lj","Nj","Dz",["ᾈ","ᾏ"],["ᾘ","ᾟ"],["ᾨ","ᾯ"],"ᾼ","ῌ","ῼ"],!1,!1),Mt=jr([["A","Z"],["À","Ö"],["Ø","Þ"],"Ā","Ă","Ą","Ć","Ĉ","Ċ","Č","Ď","Đ","Ē","Ĕ","Ė","Ę","Ě","Ĝ","Ğ","Ġ","Ģ","Ĥ","Ħ","Ĩ","Ī","Ĭ","Į","İ","IJ","Ĵ","Ķ","Ĺ","Ļ","Ľ","Ŀ","Ł","Ń","Ņ","Ň","Ŋ","Ō","Ŏ","Ő","Œ","Ŕ","Ŗ","Ř","Ś","Ŝ","Ş","Š","Ţ","Ť","Ŧ","Ũ","Ū","Ŭ","Ů","Ű","Ų","Ŵ","Ŷ",["Ÿ","Ź"],"Ż","Ž",["Ɓ","Ƃ"],"Ƅ",["Ɔ","Ƈ"],["Ɖ","Ƌ"],["Ǝ","Ƒ"],["Ɠ","Ɣ"],["Ɩ","Ƙ"],["Ɯ","Ɲ"],["Ɵ","Ơ"],"Ƣ","Ƥ",["Ʀ","Ƨ"],"Ʃ","Ƭ",["Ʈ","Ư"],["Ʊ","Ƴ"],"Ƶ",["Ʒ","Ƹ"],"Ƽ","DŽ","LJ","NJ","Ǎ","Ǐ","Ǒ","Ǔ","Ǖ","Ǘ","Ǚ","Ǜ","Ǟ","Ǡ","Ǣ","Ǥ","Ǧ","Ǩ","Ǫ","Ǭ","Ǯ","DZ","Ǵ",["Ƕ","Ǹ"],"Ǻ","Ǽ","Ǿ","Ȁ","Ȃ","Ȅ","Ȇ","Ȉ","Ȋ","Ȍ","Ȏ","Ȑ","Ȓ","Ȕ","Ȗ","Ș","Ț","Ȝ","Ȟ","Ƞ","Ȣ","Ȥ","Ȧ","Ȩ","Ȫ","Ȭ","Ȯ","Ȱ","Ȳ",["Ⱥ","Ȼ"],["Ƚ","Ⱦ"],"Ɂ",["Ƀ","Ɇ"],"Ɉ","Ɋ","Ɍ","Ɏ","Ͱ","Ͳ","Ͷ","Ϳ","Ά",["Έ","Ί"],"Ό",["Ύ","Ώ"],["Α","Ρ"],["Σ","Ϋ"],"Ϗ",["ϒ","ϔ"],"Ϙ","Ϛ","Ϝ","Ϟ","Ϡ","Ϣ","Ϥ","Ϧ","Ϩ","Ϫ","Ϭ","Ϯ","ϴ","Ϸ",["Ϲ","Ϻ"],["Ͻ","Я"],"Ѡ","Ѣ","Ѥ","Ѧ","Ѩ","Ѫ","Ѭ","Ѯ","Ѱ","Ѳ","Ѵ","Ѷ","Ѹ","Ѻ","Ѽ","Ѿ","Ҁ","Ҋ","Ҍ","Ҏ","Ґ","Ғ","Ҕ","Җ","Ҙ","Қ","Ҝ","Ҟ","Ҡ","Ң","Ҥ","Ҧ","Ҩ","Ҫ","Ҭ","Ү","Ұ","Ҳ","Ҵ","Ҷ","Ҹ","Һ","Ҽ","Ҿ",["Ӏ","Ӂ"],"Ӄ","Ӆ","Ӈ","Ӊ","Ӌ","Ӎ","Ӑ","Ӓ","Ӕ","Ӗ","Ә","Ӛ","Ӝ","Ӟ","Ӡ","Ӣ","Ӥ","Ӧ","Ө","Ӫ","Ӭ","Ӯ","Ӱ","Ӳ","Ӵ","Ӷ","Ӹ","Ӻ","Ӽ","Ӿ","Ԁ","Ԃ","Ԅ","Ԇ","Ԉ","Ԋ","Ԍ","Ԏ","Ԑ","Ԓ","Ԕ","Ԗ","Ԙ","Ԛ","Ԝ","Ԟ","Ԡ","Ԣ","Ԥ","Ԧ","Ԩ","Ԫ","Ԭ","Ԯ",["Ա","Ֆ"],["Ⴀ","Ⴥ"],"Ⴧ","Ⴭ",["Ꭰ","Ᏽ"],"Ḁ","Ḃ","Ḅ","Ḇ","Ḉ","Ḋ","Ḍ","Ḏ","Ḑ","Ḓ","Ḕ","Ḗ","Ḙ","Ḛ","Ḝ","Ḟ","Ḡ","Ḣ","Ḥ","Ḧ","Ḩ","Ḫ","Ḭ","Ḯ","Ḱ","Ḳ","Ḵ","Ḷ","Ḹ","Ḻ","Ḽ","Ḿ","Ṁ","Ṃ","Ṅ","Ṇ","Ṉ","Ṋ","Ṍ","Ṏ","Ṑ","Ṓ","Ṕ","Ṗ","Ṙ","Ṛ","Ṝ","Ṟ","Ṡ","Ṣ","Ṥ","Ṧ","Ṩ","Ṫ","Ṭ","Ṯ","Ṱ","Ṳ","Ṵ","Ṷ","Ṹ","Ṻ","Ṽ","Ṿ","Ẁ","Ẃ","Ẅ","Ẇ","Ẉ","Ẋ","Ẍ","Ẏ","Ẑ","Ẓ","Ẕ","ẞ","Ạ","Ả","Ấ","Ầ","Ẩ","Ẫ","Ậ","Ắ","Ằ","Ẳ","Ẵ","Ặ","Ẹ","Ẻ","Ẽ","Ế","Ề","Ể","Ễ","Ệ","Ỉ","Ị","Ọ","Ỏ","Ố","Ồ","Ổ","Ỗ","Ộ","Ớ","Ờ","Ở","Ỡ","Ợ","Ụ","Ủ","Ứ","Ừ","Ử","Ữ","Ự","Ỳ","Ỵ","Ỷ","Ỹ","Ỻ","Ỽ","Ỿ",["Ἀ","Ἇ"],["Ἐ","Ἕ"],["Ἠ","Ἧ"],["Ἰ","Ἷ"],["Ὀ","Ὅ"],"Ὑ","Ὓ","Ὕ","Ὗ",["Ὠ","Ὧ"],["Ᾰ","Ά"],["Ὲ","Ή"],["Ῐ","Ί"],["Ῠ","Ῥ"],["Ὸ","Ώ"],"ℂ","ℇ",["ℋ","ℍ"],["ℐ","ℒ"],"ℕ",["ℙ","ℝ"],"ℤ","Ω","ℨ",["K","ℭ"],["ℰ","ℳ"],["ℾ","ℿ"],"ⅅ","Ↄ",["Ⰰ","Ⱞ"],"Ⱡ",["Ɫ","Ɽ"],"Ⱨ","Ⱪ","Ⱬ",["Ɑ","Ɒ"],"Ⱳ","Ⱶ",["Ȿ","Ⲁ"],"Ⲃ","Ⲅ","Ⲇ","Ⲉ","Ⲋ","Ⲍ","Ⲏ","Ⲑ","Ⲓ","Ⲕ","Ⲗ","Ⲙ","Ⲛ","Ⲝ","Ⲟ","Ⲡ","Ⲣ","Ⲥ","Ⲧ","Ⲩ","Ⲫ","Ⲭ","Ⲯ","Ⲱ","Ⲳ","Ⲵ","Ⲷ","Ⲹ","Ⲻ","Ⲽ","Ⲿ","Ⳁ","Ⳃ","Ⳅ","Ⳇ","Ⳉ","Ⳋ","Ⳍ","Ⳏ","Ⳑ","Ⳓ","Ⳕ","Ⳗ","Ⳙ","Ⳛ","Ⳝ","Ⳟ","Ⳡ","Ⳣ","Ⳬ","Ⳮ","Ⳳ","Ꙁ","Ꙃ","Ꙅ","Ꙇ","Ꙉ","Ꙋ","Ꙍ","Ꙏ","Ꙑ","Ꙓ","Ꙕ","Ꙗ","Ꙙ","Ꙛ","Ꙝ","Ꙟ","Ꙡ","Ꙣ","Ꙥ","Ꙧ","Ꙩ","Ꙫ","Ꙭ","Ꚁ","Ꚃ","Ꚅ","Ꚇ","Ꚉ","Ꚋ","Ꚍ","Ꚏ","Ꚑ","Ꚓ","Ꚕ","Ꚗ","Ꚙ","Ꚛ","Ꜣ","Ꜥ","Ꜧ","Ꜩ","Ꜫ","Ꜭ","Ꜯ","Ꜳ","Ꜵ","Ꜷ","Ꜹ","Ꜻ","Ꜽ","Ꜿ","Ꝁ","Ꝃ","Ꝅ","Ꝇ","Ꝉ","Ꝋ","Ꝍ","Ꝏ","Ꝑ","Ꝓ","Ꝕ","Ꝗ","Ꝙ","Ꝛ","Ꝝ","Ꝟ","Ꝡ","Ꝣ","Ꝥ","Ꝧ","Ꝩ","Ꝫ","Ꝭ","Ꝯ","Ꝺ","Ꝼ",["Ᵹ","Ꝿ"],"Ꞁ","Ꞃ","Ꞅ","Ꞇ","Ꞌ","Ɥ","Ꞑ","Ꞓ","Ꞗ","Ꞙ","Ꞛ","Ꞝ","Ꞟ","Ꞡ","Ꞣ","Ꞥ","Ꞧ","Ꞩ",["Ɦ","Ɬ"],["Ʞ","Ꞵ"],"Ꞷ",["A","Z"]],!1,!1),It=jr(["ः","ऻ",["ा","ी"],["ॉ","ौ"],["ॎ","ॏ"],["ং","ঃ"],["া","ী"],["ে","ৈ"],["ো","ৌ"],"ৗ","ਃ",["ਾ","ੀ"],"ઃ",["ા","ી"],"ૉ",["ો","ૌ"],["ଂ","ଃ"],"ା","ୀ",["େ","ୈ"],["ୋ","ୌ"],"ୗ",["ா","ி"],["ு","ூ"],["ெ","ை"],["ொ","ௌ"],"ௗ",["ఁ","ః"],["ు","ౄ"],["ಂ","ಃ"],"ಾ",["ೀ","ೄ"],["ೇ","ೈ"],["ೊ","ೋ"],["ೕ","ೖ"],["ം","ഃ"],["ാ","ീ"],["െ","ൈ"],["ൊ","ൌ"],"ൗ",["ං","ඃ"],["ා","ෑ"],["ෘ","ෟ"],["ෲ","ෳ"],["༾","༿"],"ཿ",["ါ","ာ"],"ေ","း",["ျ","ြ"],["ၖ","ၗ"],["ၢ","ၤ"],["ၧ","ၭ"],["ႃ","ႄ"],["ႇ","ႌ"],"ႏ",["ႚ","ႜ"],"ា",["ើ","ៅ"],["ះ","ៈ"],["ᤣ","ᤦ"],["ᤩ","ᤫ"],["ᤰ","ᤱ"],["ᤳ","ᤸ"],["ᨙ","ᨚ"],"ᩕ","ᩗ","ᩡ",["ᩣ","ᩤ"],["ᩭ","ᩲ"],"ᬄ","ᬵ","ᬻ",["ᬽ","ᭁ"],["ᭃ","᭄"],"ᮂ","ᮡ",["ᮦ","ᮧ"],"᮪","ᯧ",["ᯪ","ᯬ"],"ᯮ",["᯲","᯳"],["ᰤ","ᰫ"],["ᰴ","ᰵ"],"᳡",["ᳲ","ᳳ"],["〮","〯"],["ꠣ","ꠤ"],"ꠧ",["ꢀ","ꢁ"],["ꢴ","ꣃ"],["ꥒ","꥓"],"ꦃ",["ꦴ","ꦵ"],["ꦺ","ꦻ"],["ꦽ","꧀"],["ꨯ","ꨰ"],["ꨳ","ꨴ"],"ꩍ","ꩻ","ꩽ","ꫫ",["ꫮ","ꫯ"],"ꫵ",["ꯣ","ꯤ"],["ꯦ","ꯧ"],["ꯩ","ꯪ"],"꯬"],!1,!1),kt=jr([["̀","ͯ"],["҃","҇"],["֑","ֽ"],"ֿ",["ׁ","ׂ"],["ׄ","ׅ"],"ׇ",["ؐ","ؚ"],["ً","ٟ"],"ٰ",["ۖ","ۜ"],["۟","ۤ"],["ۧ","ۨ"],["۪","ۭ"],"ܑ",["ܰ","݊"],["ަ","ް"],["߫","߳"],["ࠖ","࠙"],["ࠛ","ࠣ"],["ࠥ","ࠧ"],["ࠩ","࠭"],["࡙","࡛"],["ࣣ","ं"],"ऺ","़",["ु","ै"],"्",["॑","ॗ"],["ॢ","ॣ"],"ঁ","়",["ু","ৄ"],"্",["ৢ","ৣ"],["ਁ","ਂ"],"਼",["ੁ","ੂ"],["ੇ","ੈ"],["ੋ","੍"],"ੑ",["ੰ","ੱ"],"ੵ",["ઁ","ં"],"઼",["ુ","ૅ"],["ે","ૈ"],"્",["ૢ","ૣ"],"ଁ","଼","ି",["ୁ","ୄ"],"୍","ୖ",["ୢ","ୣ"],"ஂ","ீ","்","ఀ",["ా","ీ"],["ె","ై"],["ొ","్"],["ౕ","ౖ"],["ౢ","ౣ"],"ಁ","಼","ಿ","ೆ",["ೌ","್"],["ೢ","ೣ"],"ഁ",["ു","ൄ"],"്",["ൢ","ൣ"],"්",["ි","ු"],"ූ","ั",["ิ","ฺ"],["็","๎"],"ັ",["ິ","ູ"],["ົ","ຼ"],["່","ໍ"],["༘","༙"],"༵","༷","༹",["ཱ","ཾ"],["ྀ","྄"],["྆","྇"],["ྍ","ྗ"],["ྙ","ྼ"],"࿆",["ိ","ူ"],["ဲ","့"],["္","်"],["ွ","ှ"],["ၘ","ၙ"],["ၞ","ၠ"],["ၱ","ၴ"],"ႂ",["ႅ","ႆ"],"ႍ","ႝ",["፝","፟"],["ᜒ","᜔"],["ᜲ","᜴"],["ᝒ","ᝓ"],["ᝲ","ᝳ"],["឴","឵"],["ិ","ួ"],"ំ",["៉","៓"],"៝",["᠋","᠍"],"ᢩ",["ᤠ","ᤢ"],["ᤧ","ᤨ"],"ᤲ",["᤹","᤻"],["ᨗ","ᨘ"],"ᨛ","ᩖ",["ᩘ","ᩞ"],"᩠","ᩢ",["ᩥ","ᩬ"],["ᩳ","᩼"],"᩿",["᪰","᪽"],["ᬀ","ᬃ"],"᬴",["ᬶ","ᬺ"],"ᬼ","ᭂ",["᭫","᭳"],["ᮀ","ᮁ"],["ᮢ","ᮥ"],["ᮨ","ᮩ"],["᮫","ᮭ"],"᯦",["ᯨ","ᯩ"],"ᯭ",["ᯯ","ᯱ"],["ᰬ","ᰳ"],["ᰶ","᰷"],["᳐","᳒"],["᳔","᳠"],["᳢","᳨"],"᳭","᳴",["᳸","᳹"],["᷀","᷵"],["᷼","᷿"],["⃐","⃜"],"⃡",["⃥","⃰"],["⳯","⳱"],"⵿",["ⷠ","ⷿ"],["〪","〭"],["゙","゚"],"꙯",["ꙴ","꙽"],["ꚞ","ꚟ"],["꛰","꛱"],"ꠂ","꠆","ꠋ",["ꠥ","ꠦ"],"꣄",["꣠","꣱"],["ꤦ","꤭"],["ꥇ","ꥑ"],["ꦀ","ꦂ"],"꦳",["ꦶ","ꦹ"],"ꦼ","ꧥ",["ꨩ","ꨮ"],["ꨱ","ꨲ"],["ꨵ","ꨶ"],"ꩃ","ꩌ","ꩼ","ꪰ",["ꪲ","ꪴ"],["ꪷ","ꪸ"],["ꪾ","꪿"],"꫁",["ꫬ","ꫭ"],"꫶","ꯥ","ꯨ","꯭","ﬞ",["︀","️"],["︠","︯"]],!1,!1),Nt=jr([["0","9"],["٠","٩"],["۰","۹"],["߀","߉"],["०","९"],["০","৯"],["੦","੯"],["૦","૯"],["୦","୯"],["௦","௯"],["౦","౯"],["೦","೯"],["൦","൯"],["෦","෯"],["๐","๙"],["໐","໙"],["༠","༩"],["၀","၉"],["႐","႙"],["០","៩"],["᠐","᠙"],["᥆","᥏"],["᧐","᧙"],["᪀","᪉"],["᪐","᪙"],["᭐","᭙"],["᮰","᮹"],["᱀","᱉"],["᱐","᱙"],["꘠","꘩"],["꣐","꣙"],["꤀","꤉"],["꧐","꧙"],["꧰","꧹"],["꩐","꩙"],["꯰","꯹"],["0","9"]],!1,!1),jt=jr([["ᛮ","ᛰ"],["Ⅰ","ↂ"],["ↅ","ↈ"],"〇",["〡","〩"],["〸","〺"],["ꛦ","ꛯ"]],!1,!1),Ut=jr(["_",["‿","⁀"],"⁔",["︳","︴"],["﹍","﹏"],"_"],!1,!1),qt=jr([" "," "," ",[" "," "]," "," "," "],!1,!1),Gt=Nr(";",!1),Ht=function(e,t,r){return{type:"grammar",topLevelInitializer:e,initializer:t,rules:r,location:Ir()}},zt=function(e){return{type:"top_level_initializer",code:e[0],codeLocation:e[1],location:Ir()}},Wt=function(e){return{type:"initializer",code:e[0],codeLocation:e[1],location:Ir()}},Vt=function(e,t,r){return{type:"rule",name:e[0],nameLocation:e[1],expression:null!==t?{type:"named",name:t,expression:r,location:Ir()}:r,location:Ir()}},Yt=function(e,t){return t.length>0?{type:"choice",alternatives:[e].concat(t),location:Ir()}:e},Qt=function(e,t){return null!==t?{type:"action",expression:e,code:t[0],codeLocation:t[1],location:Ir()}:e},Jt=function(e,t){return t.length>0||"labeled"===e.type&&e.pick?{type:"sequence",elements:[e].concat(t),location:Ir()}:e},Xt=function(e,t,r){return r.type.startsWith("semantic_")&&kr('"@" 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:Ir()}},Kt=function(e,t){return{type:"labeled",label:e[0],labelLocation:e[1],expression:t,location:Ir()}},Zt=function(){return Ir()},er=function(e){return _a.indexOf(e[0])>=0&&kr("Label can't be a reserved word \"".concat(e[0],'"'),e[1]),e},tr=function(e,t){return{type:OPS_TO_PREFIXED_TYPES[e],expression:t,location:Ir()}},rr=function(e,t){return{type:OPS_TO_SUFFIXED_TYPES[t],expression:e,location:Ir()}},ar=function(e,t,r){var a=t[0],n=t[1];return"constant"===n.type&&0===n.value&&kr("The maximum count of repetitions of the rule must be > 0",n.location),{type:"repeated",min:a,max:n,expression:e,delimiter:r,location:Ir()}},nr=function(e,t){return[null!==e?e:{type:"constant",value:0},null!==t?t:{type:"constant",value:null}]},or=function(e){return[null,e]},sr=function(e){return{type:"constant",value:e,location:Ir()}},cr=function(e){return{type:"variable",value:e[0],location:Ir()}},ir=function(e){return{type:"function",value:e[0],codeLocation:e[1],location:Ir()}},ur=function(e){return"labeled"===e.type||"sequence"===e.type?{type:"group",expression:e,location:Ir()}:e},pr=function(e){return{type:"rule_ref",name:e[0],location:Ir()}},lr=function(e,t){return{type:OPS_TO_SEMANTIC_PREDICATE_TYPES[e],code:t[0],codeLocation:t[1],location:Ir()}},fr=function(e,t){return[e+t.join(""),Ir()]},dr=function(e,t){return{type:"literal",value:e,ignoreCase:null!==t,location:Ir()}},$r=function(e){return e.join("")},mr=function(e){return e.join("")},gr=function(e,t,r){return{type:"class",parts:t.filter((function(e){return""!==e})),inverted:null!==e,ignoreCase:null!==r,location:Ir()}},hr=function(t,r){return t.charCodeAt(0)>r.charCodeAt(0)&&kr("Invalid character range: "+e.substring(Rr,Br)+"."),[t,r]},xr=function(){return""},br=function(){return"\0"},Ar=function(){return"\b"},vr=function(){return"\f"},Er=function(){return"\n"},yr=function(){return"\r"},Cr=function(){return"\t"},Sr=function(){return"\v"},_r=function(e){return String.fromCharCode(parseInt(e,16))},Tr=function(e){return String.fromCharCode(parseInt(e,16))},Pr=function(){return{type:"any",location:Ir()}},wr=function(e){return[e,Ir()]},Fr=function(e){return parseInt(e,10)},Br=0,Rr=0,Dr=[{line:1,column:1}],Lr=0,Or=[],Mr=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 Ir(){return Gr(Rr,Br)}function kr(e,t){throw function(e,t){return new peg$SyntaxError(e,null,null,t)}(e,t=void 0!==t?t:Gr(Rr,Br))}function Nr(e,t){return{type:"literal",text:e,ignoreCase:t}}function jr(e,t,r){return{type:"class",parts:e,inverted:t,ignoreCase:r}}function Ur(e){return{type:"other",description:e}}function qr(t){var r,a=Dr[t];if(a)return a;for(r=t-1;!Dr[r];)r--;for(a={line:(a=Dr[r]).line,column:a.column};rLr&&(Lr=Br,Or=[]),Or.push(e))}function zr(){var t,r,n,o,s,u;if(t=Br,Ca(),r=Br,n=function(){var t,r,n,o;return t=Br,123===e.charCodeAt(Br)?(r=c,Br++):(r=a,0===Mr&&Hr(ve)),r!==a&&(n=Ea())!==a?(125===e.charCodeAt(Br)?(o=i,Br++):(o=a,0===Mr&&Hr(Ee)),o!==a&&Sa()!==a?(Rr=t,t=zt(n)):(Br=t,t=a)):(Br=t,t=a),t}(),n!==a?(o=Ca(),r=n):(Br=r,r=a),r===a&&(r=null),n=Br,o=function(){var e,t;return e=Br,(t=Ea())!==a&&Sa()!==a?(Rr=e,e=Wt(t)):(Br=e,e=a),e}(),o!==a?(s=Ca(),n=o):(Br=n,n=a),n===a&&(n=null),o=[],s=Br,(u=Wr())!==a?(Ca(),s=u):(Br=s,s=a),s!==a)for(;s!==a;)o.push(s),s=Br,(u=Wr())!==a?(Ca(),s=u):(Br=s,s=a);else o=a;return o!==a?(Rr=t,t=Ht(r,n,o)):(Br=t,t=a),t}function Wr(){var t,r,n,o,s;return t=Br,(r=ia())!==a?(Ca(),n=Br,(o=la())!==a?(Ca(),n=o):(Br=n,n=a),n===a&&(n=null),61===e.charCodeAt(Br)?(o=u,Br++):(o=a,0===Mr&&Hr(ye)),o!==a?(Ca(),(s=Vr())!==a&&Sa()!==a?(Rr=t,t=Vt(r,n,s)):(Br=t,t=a)):(Br=t,t=a)):(Br=t,t=a),t}function Vr(){var t,r,n,o,s,c;if(t=Br,(r=Yr())!==a){for(n=[],o=Br,Ca(),47===e.charCodeAt(Br)?(s=p,Br++):(s=a,0===Mr&&Hr(Ce)),s!==a?(Ca(),(c=Yr())!==a?o=c:(Br=o,o=a)):(Br=o,o=a);o!==a;)n.push(o),o=Br,Ca(),47===e.charCodeAt(Br)?(s=p,Br++):(s=a,0===Mr&&Hr(Ce)),s!==a?(Ca(),(c=Yr())!==a?o=c:(Br=o,o=a)):(Br=o,o=a);Rr=t,t=Yt(r,n)}else Br=t,t=a;return t}function Yr(){var e,t,r,n;return e=Br,t=function(){var e,t,r,n,o;if(e=Br,(t=Qr())!==a){for(r=[],n=Br,Ca(),(o=Qr())!==a?n=o:(Br=n,n=a);n!==a;)r.push(n),n=Br,Ca(),(o=Qr())!==a?n=o:(Br=n,n=a);Rr=e,e=Jt(t,r)}else Br=e,e=a;return e}(),t!==a?(r=Br,Ca(),(n=Ea())!==a?r=n:(Br=r,r=a),r===a&&(r=null),Rr=e,e=Qt(t,r)):(Br=e,e=a),e}function Qr(){var t,r,n,o;return t=Br,r=function(){var t,r;return t=Br,64===e.charCodeAt(Br)?(r=l,Br++):(r=a,0===Mr&&Hr(Se)),r!==a&&(Rr=t,r=Zt()),t=r}(),r!==a?((n=Jr())===a&&(n=null),(o=Xr())!==a?(Rr=t,t=Xt(r,n,o)):(Br=t,t=a)):(Br=t,t=a),t===a&&(t=Br,(r=Jr())!==a?(n=Ca(),(o=Xr())!==a?(Rr=t,t=Kt(r,o)):(Br=t,t=a)):(Br=t,t=a),t===a&&(t=Xr())),t}function Jr(){var t,r,n;return t=Br,(r=ia())!==a?(Ca(),58===e.charCodeAt(Br)?(n=f,Br++):(n=a,0===Mr&&Hr(_e)),n!==a?(Rr=t,t=er(r)):(Br=t,t=a)):(Br=t,t=a),t}function Xr(){var t,r,n;return t=Br,r=function(){var t;return 36===e.charCodeAt(Br)?(t=d,Br++):(t=a,0===Mr&&Hr(Te)),t===a&&(38===e.charCodeAt(Br)?(t=$,Br++):(t=a,0===Mr&&Hr(Pe)),t===a&&(33===e.charCodeAt(Br)?(t=m,Br++):(t=a,0===Mr&&Hr(we)))),t}(),r!==a?(Ca(),(n=Kr())!==a?(Rr=t,t=tr(r,n)):(Br=t,t=a)):(Br=t,t=a),t===a&&(t=Kr()),t}function Kr(){var t,r,n;return t=Br,(r=ea())!==a?(Ca(),n=function(){var t;return 63===e.charCodeAt(Br)?(t=g,Br++):(t=a,0===Mr&&Hr(Fe)),t===a&&(42===e.charCodeAt(Br)?(t=h,Br++):(t=a,0===Mr&&Hr(Be)),t===a&&(43===e.charCodeAt(Br)?(t=x,Br++):(t=a,0===Mr&&Hr(Re)))),t}(),n!==a?(Rr=t,t=rr(r,n)):(Br=t,t=a)):(Br=t,t=a),t===a&&(t=function(){var t,r,n,o,s,c,i;return t=Br,(r=ea())!==a?(Ca(),124===e.charCodeAt(Br)?(n=b,Br++):(n=a,0===Mr&&Hr(De)),n!==a?(Ca(),o=function(){var t,r,n,o;return t=Br,(r=Zr())===a&&(r=null),Ca(),e.substr(Br,2)===v?(n=v,Br+=2):(n=a,0===Mr&&Hr(Oe)),n!==a?(Ca(),(o=Zr())===a&&(o=null),Rr=t,t=nr(r,o)):(Br=t,t=a),t===a&&(t=Br,(r=Zr())!==a&&(Rr=t,r=or(r)),t=r),t}(),o!==a?(Ca(),s=Br,44===e.charCodeAt(Br)?(c=A,Br++):(c=a,0===Mr&&Hr(Le)),c!==a?(Ca(),(i=Vr())!==a?(Ca(),s=i):(Br=s,s=a)):(Br=s,s=a),s===a&&(s=null),124===e.charCodeAt(Br)?(c=b,Br++):(c=a,0===Mr&&Hr(De)),c!==a?(Rr=t,t=ar(r,o,s)):(Br=t,t=a)):(Br=t,t=a)):(Br=t,t=a)):(Br=t,t=a),t}(),t===a&&(t=ea())),t}function Zr(){var t,r;return t=Br,r=function(){var t,r,n,o;if(t=Br,r=Br,n=[],(o=Aa())!==a)for(;o!==a;)n.push(o),o=Aa();else n=a;return(r=n!==a?e.substring(r,Br):n)!==a&&(Rr=t,r=Fr(r)),t=r}(),r!==a&&(Rr=t,r=sr(r)),(t=r)===a&&(t=Br,(r=ia())!==a&&(Rr=t,r=cr(r)),(t=r)===a&&(t=Br,(r=Ea())!==a&&(Rr=t,r=ir(r)),t=r)),t}function ea(){var t,r,n,o;return t=function(){var t,r,n;return Mr++,t=Br,(r=la())!==a?(105===e.charCodeAt(Br)?(n=q,Br++):(n=a,0===Mr&&Hr(ut)),n===a&&(n=null),Rr=t,t=dr(r,n)):(Br=t,t=a),Mr--,t===a&&(r=a,0===Mr&&Hr(it)),t}(),t===a&&(t=function(){var t,r,n,o,s,c;if(Mr++,t=Br,91===e.charCodeAt(Br)?(r=z,Br++):(r=a,0===Mr&&Hr($t)),r!==a){for(94===e.charCodeAt(Br)?(n=W,Br++):(n=a,0===Mr&&Hr(mt)),n===a&&(n=null),o=[],(s=$a())===a&&(s=ma());s!==a;)o.push(s),(s=$a())===a&&(s=ma());93===e.charCodeAt(Br)?(s=V,Br++):(s=a,0===Mr&&Hr(gt)),s!==a?(105===e.charCodeAt(Br)?(c=q,Br++):(c=a,0===Mr&&Hr(ut)),c===a&&(c=null),Rr=t,t=gr(n,o,c)):(Br=t,t=a)}else Br=t,t=a;return Mr--,t===a&&(r=a,0===Mr&&Hr(dt)),t}(),t===a&&(t=function(){var t,r;return t=Br,46===e.charCodeAt(Br)?(r=ne,Br++):(r=a,0===Mr&&Hr(wt)),r!==a&&(Rr=t,r=Pr()),t=r}(),t===a&&(t=function(){var t,r,n,o,s,c,i;return t=Br,(r=ia())!==a?(n=Br,Mr++,o=Br,s=Ca(),c=Br,(i=la())!==a?c=i=[i,Ca()]:(Br=c,c=a),c===a&&(c=null),61===e.charCodeAt(Br)?(i=u,Br++):(i=a,0===Mr&&Hr(ye)),i!==a?o=s=[s,c,i]:(Br=o,o=a),Mr--,o===a?n=void 0:(Br=n,n=a),n!==a?(Rr=t,t=pr(r)):(Br=t,t=a)):(Br=t,t=a),t}(),t===a&&(t=function(){var t,r,n;return t=Br,r=function(){var t;return 38===e.charCodeAt(Br)?(t=$,Br++):(t=a,0===Mr&&Hr(Pe)),t===a&&(33===e.charCodeAt(Br)?(t=m,Br++):(t=a,0===Mr&&Hr(we))),t}(),r!==a?(Ca(),(n=Ea())!==a?(Rr=t,t=lr(r,n)):(Br=t,t=a)):(Br=t,t=a),t}(),t===a&&(t=Br,40===e.charCodeAt(Br)?(r=E,Br++):(r=a,0===Mr&&Hr(Me)),r!==a?(Ca(),(n=Vr())!==a?(Ca(),41===e.charCodeAt(Br)?(o=y,Br++):(o=a,0===Mr&&Hr(Ie)),o!==a?(Rr=t,t=ur(n)):(Br=t,t=a)):(Br=t,t=a)):(Br=t,t=a)))))),t}function ta(){var t;return e.length>Br?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(ke)),t}function ra(){var t;return Mr++,9===e.charCodeAt(Br)?(t=C,Br++):(t=a,0===Mr&&Hr(je)),t===a&&(11===e.charCodeAt(Br)?(t=S,Br++):(t=a,0===Mr&&Hr(Ue)),t===a&&(12===e.charCodeAt(Br)?(t=_,Br++):(t=a,0===Mr&&Hr(qe)),t===a&&(32===e.charCodeAt(Br)?(t=T,Br++):(t=a,0===Mr&&Hr(Ge)),t===a&&(160===e.charCodeAt(Br)?(t=P,Br++):(t=a,0===Mr&&Hr(He)),t===a&&(65279===e.charCodeAt(Br)?(t=w,Br++):(t=a,0===Mr&&Hr(ze)),t===a&&(t=function(){var t;return Ae.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(qt)),t}())))))),Mr--,t===a&&0===Mr&&Hr(Ne),t}function aa(){var t;return se.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(We)),t}function na(){var t;return Mr++,10===e.charCodeAt(Br)?(t=F,Br++):(t=a,0===Mr&&Hr(Ye)),t===a&&(e.substr(Br,2)===B?(t=B,Br+=2):(t=a,0===Mr&&Hr(Qe)),t===a&&(13===e.charCodeAt(Br)?(t=R,Br++):(t=a,0===Mr&&Hr(Je)),t===a&&(8232===e.charCodeAt(Br)?(t=D,Br++):(t=a,0===Mr&&Hr(Xe)),t===a&&(8233===e.charCodeAt(Br)?(t=L,Br++):(t=a,0===Mr&&Hr(Ke)))))),Mr--,t===a&&0===Mr&&Hr(Ve),t}function oa(){var t;return Mr++,(t=function(){var t,r,n,o,s,c;if(t=Br,e.substr(Br,2)===O?(r=O,Br+=2):(r=a,0===Mr&&Hr(et)),r!==a){for(n=[],o=Br,s=Br,Mr++,e.substr(Br,2)===M?(c=M,Br+=2):(c=a,0===Mr&&Hr(tt)),Mr--,c===a?s=void 0:(Br=s,s=a),s!==a&&(c=ta())!==a?o=s=[s,c]:(Br=o,o=a);o!==a;)n.push(o),o=Br,s=Br,Mr++,e.substr(Br,2)===M?(c=M,Br+=2):(c=a,0===Mr&&Hr(tt)),Mr--,c===a?s=void 0:(Br=s,s=a),s!==a&&(c=ta())!==a?o=s=[s,c]:(Br=o,o=a);e.substr(Br,2)===M?(o=M,Br+=2):(o=a,0===Mr&&Hr(tt)),o!==a?t=r=[r,n,o]:(Br=t,t=a)}else Br=t,t=a;return t}())===a&&(t=ca()),Mr--,t===a&&0===Mr&&Hr(Ze),t}function sa(){var t,r,n,o,s,c;if(t=Br,e.substr(Br,2)===O?(r=O,Br+=2):(r=a,0===Mr&&Hr(et)),r!==a){for(n=[],o=Br,s=Br,Mr++,e.substr(Br,2)===M?(c=M,Br+=2):(c=a,0===Mr&&Hr(tt)),c===a&&(c=aa()),Mr--,c===a?s=void 0:(Br=s,s=a),s!==a&&(c=ta())!==a?o=s=[s,c]:(Br=o,o=a);o!==a;)n.push(o),o=Br,s=Br,Mr++,e.substr(Br,2)===M?(c=M,Br+=2):(c=a,0===Mr&&Hr(tt)),c===a&&(c=aa()),Mr--,c===a?s=void 0:(Br=s,s=a),s!==a&&(c=ta())!==a?o=s=[s,c]:(Br=o,o=a);e.substr(Br,2)===M?(o=M,Br+=2):(o=a,0===Mr&&Hr(tt)),o!==a?t=r=[r,n,o]:(Br=t,t=a)}else Br=t,t=a;return t}function ca(){var t,r,n,o,s,c;if(t=Br,e.substr(Br,2)===I?(r=I,Br+=2):(r=a,0===Mr&&Hr(rt)),r!==a){for(n=[],o=Br,s=Br,Mr++,c=aa(),Mr--,c===a?s=void 0:(Br=s,s=a),s!==a&&(c=ta())!==a?o=s=[s,c]:(Br=o,o=a);o!==a;)n.push(o),o=Br,s=Br,Mr++,c=aa(),Mr--,c===a?s=void 0:(Br=s,s=a),s!==a&&(c=ta())!==a?o=s=[s,c]:(Br=o,o=a);t=r=[r,n]}else Br=t,t=a;return t}function ia(){var e,t,r,n;if(Mr++,e=Br,(t=ua())!==a){for(r=[],n=pa();n!==a;)r.push(n),n=pa();Rr=e,e=fr(t,r)}else Br=e,e=a;return Mr--,e===a&&(t=a,0===Mr&&Hr(at)),e}function ua(){var t,r,n;return(t=function(){var t;return(t=function(){var t;return $e.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(Mt)),t}())===a&&(t=function(){var t;return pe.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(Rt)),t}())===a&&(t=function(){var t;return de.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(Ot)),t}())===a&&(t=function(){var t;return le.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(Dt)),t}())===a&&(t=function(){var t;return fe.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(Lt)),t}())===a&&(t=function(){var t;return xe.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(jt)),t}()),t}())===a&&(95===e.charCodeAt(Br)?(t=k,Br++):(t=a,0===Mr&&Hr(nt)),t===a&&(t=Br,92===e.charCodeAt(Br)?(r=N,Br++):(r=a,0===Mr&&Hr(ot)),r!==a&&(n=ba())!==a?t=n:(Br=t,t=a))),t}function pa(){var t;return(t=ua())===a&&(36===e.charCodeAt(Br)?(t=d,Br++):(t=a,0===Mr&&Hr(Te)),t===a&&(t=function(){var t;return(t=function(){var t;return ge.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(kt)),t}())===a&&(t=function(){var t;return me.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(It)),t}()),t}())===a&&(t=function(){var t;return he.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(Nt)),t}())===a&&(t=function(){var t;return be.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(Ut)),t}())===a&&(8204===e.charCodeAt(Br)?(t=j,Br++):(t=a,0===Mr&&Hr(st)),t===a&&(8205===e.charCodeAt(Br)?(t=U,Br++):(t=a,0===Mr&&Hr(ct))))),t}function la(){var t,r,n,o;if(Mr++,t=Br,34===e.charCodeAt(Br)?(r=G,Br++):(r=a,0===Mr&&Hr(lt)),r!==a){for(n=[],o=fa();o!==a;)n.push(o),o=fa();34===e.charCodeAt(Br)?(o=G,Br++):(o=a,0===Mr&&Hr(lt)),o!==a?(Rr=t,t=$r(n)):(Br=t,t=a)}else Br=t,t=a;if(t===a)if(t=Br,39===e.charCodeAt(Br)?(r=H,Br++):(r=a,0===Mr&&Hr(ft)),r!==a){for(n=[],o=da();o!==a;)n.push(o),o=da();39===e.charCodeAt(Br)?(o=H,Br++):(o=a,0===Mr&&Hr(ft)),o!==a?(Rr=t,t=mr(n)):(Br=t,t=a)}else Br=t,t=a;return Mr--,t===a&&(r=a,0===Mr&&Hr(pt)),t}function fa(){var t,r,n,o;return t=Br,r=Br,n=Br,Mr++,34===e.charCodeAt(Br)?(o=G,Br++):(o=a,0===Mr&&Hr(lt)),o===a&&(92===e.charCodeAt(Br)?(o=N,Br++):(o=a,0===Mr&&Hr(ot)),o===a&&(o=aa())),Mr--,o===a?n=void 0:(Br=n,n=a),n!==a&&(o=ta())!==a?r=n=[n,o]:(Br=r,r=a),(t=r!==a?e.substring(t,Br):r)===a&&(t=Br,92===e.charCodeAt(Br)?(r=N,Br++):(r=a,0===Mr&&Hr(ot)),r!==a&&(n=ha())!==a?t=n:(Br=t,t=a),t===a&&(t=ga())),t}function da(){var t,r,n,o;return t=Br,r=Br,n=Br,Mr++,39===e.charCodeAt(Br)?(o=H,Br++):(o=a,0===Mr&&Hr(ft)),o===a&&(92===e.charCodeAt(Br)?(o=N,Br++):(o=a,0===Mr&&Hr(ot)),o===a&&(o=aa())),Mr--,o===a?n=void 0:(Br=n,n=a),n!==a&&(o=ta())!==a?r=n=[n,o]:(Br=r,r=a),(t=r!==a?e.substring(t,Br):r)===a&&(t=Br,92===e.charCodeAt(Br)?(r=N,Br++):(r=a,0===Mr&&Hr(ot)),r!==a&&(n=ha())!==a?t=n:(Br=t,t=a),t===a&&(t=ga())),t}function $a(){var t,r,n,o;return t=Br,(r=ma())!==a?(45===e.charCodeAt(Br)?(n=Y,Br++):(n=a,0===Mr&&Hr(ht)),n!==a&&(o=ma())!==a?(Rr=t,t=hr(r,o)):(Br=t,t=a)):(Br=t,t=a),t}function ma(){var t,r,n,o;return t=Br,r=Br,n=Br,Mr++,93===e.charCodeAt(Br)?(o=V,Br++):(o=a,0===Mr&&Hr(gt)),o===a&&(92===e.charCodeAt(Br)?(o=N,Br++):(o=a,0===Mr&&Hr(ot)),o===a&&(o=aa())),Mr--,o===a?n=void 0:(Br=n,n=a),n!==a&&(o=ta())!==a?r=n=[n,o]:(Br=r,r=a),(t=r!==a?e.substring(t,Br):r)===a&&(t=Br,92===e.charCodeAt(Br)?(r=N,Br++):(r=a,0===Mr&&Hr(ot)),r!==a&&(n=ha())!==a?t=n:(Br=t,t=a),t===a&&(t=ga())),t}function ga(){var t,r;return t=Br,92===e.charCodeAt(Br)?(r=N,Br++):(r=a,0===Mr&&Hr(ot)),r!==a&&na()!==a?(Rr=t,t=xr()):(Br=t,t=a),t}function ha(){var t,r,n,o;return t=function(){var t;return(t=xa())===a&&(t=function(){var t,r,n,o;return t=Br,r=Br,n=Br,Mr++,o=function(){var t;return(t=xa())===a&&(t=Aa())===a&&(120===e.charCodeAt(Br)?(t=re,Br++):(t=a,0===Mr&&Hr(St)),t===a&&(117===e.charCodeAt(Br)?(t=ae,Br++):(t=a,0===Mr&&Hr(_t)))),t}(),o===a&&(o=aa()),Mr--,o===a?n=void 0:(Br=n,n=a),n!==a&&(o=ta())!==a?r=n=[n,o]:(Br=r,r=a),t=r!==a?e.substring(t,Br):r}()),t}(),t===a&&(t=Br,48===e.charCodeAt(Br)?(r=Q,Br++):(r=a,0===Mr&&Hr(xt)),r!==a?(n=Br,Mr++,o=Aa(),Mr--,o===a?n=void 0:(Br=n,n=a),n!==a?(Rr=t,t=br()):(Br=t,t=a)):(Br=t,t=a),t===a&&(t=function(){var t,r,n,o,s,c;return t=Br,120===e.charCodeAt(Br)?(r=re,Br++):(r=a,0===Mr&&Hr(St)),r!==a?(n=Br,o=Br,(s=va())!==a&&(c=va())!==a?o=s=[s,c]:(Br=o,o=a),(n=o!==a?e.substring(n,Br):o)!==a?(Rr=t,t=_r(n)):(Br=t,t=a)):(Br=t,t=a),t}(),t===a&&(t=ba()))),t}function xa(){var t,r;return 39===e.charCodeAt(Br)?(t=H,Br++):(t=a,0===Mr&&Hr(ft)),t===a&&(34===e.charCodeAt(Br)?(t=G,Br++):(t=a,0===Mr&&Hr(lt)),t===a&&(92===e.charCodeAt(Br)?(t=N,Br++):(t=a,0===Mr&&Hr(ot)),t===a&&(t=Br,98===e.charCodeAt(Br)?(r=J,Br++):(r=a,0===Mr&&Hr(bt)),r!==a&&(Rr=t,r=Ar()),(t=r)===a&&(t=Br,102===e.charCodeAt(Br)?(r=X,Br++):(r=a,0===Mr&&Hr(At)),r!==a&&(Rr=t,r=vr()),(t=r)===a&&(t=Br,110===e.charCodeAt(Br)?(r=K,Br++):(r=a,0===Mr&&Hr(vt)),r!==a&&(Rr=t,r=Er()),(t=r)===a&&(t=Br,114===e.charCodeAt(Br)?(r=Z,Br++):(r=a,0===Mr&&Hr(Et)),r!==a&&(Rr=t,r=yr()),(t=r)===a&&(t=Br,116===e.charCodeAt(Br)?(r=ee,Br++):(r=a,0===Mr&&Hr(yt)),r!==a&&(Rr=t,r=Cr()),(t=r)===a&&(t=Br,118===e.charCodeAt(Br)?(r=te,Br++):(r=a,0===Mr&&Hr(Ct)),r!==a&&(Rr=t,r=Sr()),t=r)))))))),t}function ba(){var t,r,n,o,s,c,i,u;return t=Br,117===e.charCodeAt(Br)?(r=ae,Br++):(r=a,0===Mr&&Hr(_t)),r!==a?(n=Br,o=Br,(s=va())!==a&&(c=va())!==a&&(i=va())!==a&&(u=va())!==a?o=s=[s,c,i,u]:(Br=o,o=a),(n=o!==a?e.substring(n,Br):o)!==a?(Rr=t,t=Tr(n)):(Br=t,t=a)):(Br=t,t=a),t}function Aa(){var t;return ce.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(Tt)),t}function va(){var t;return ie.test(e.charAt(Br))?(t=e.charAt(Br),Br++):(t=a,0===Mr&&Hr(Pt)),t}function Ea(){var t,r,n,o;return Mr++,t=Br,123===e.charCodeAt(Br)?(r=c,Br++):(r=a,0===Mr&&Hr(ve)),r!==a?(n=function(){var e,t;return e=Br,t=ya(),Rr=e,e=t=wr(t)}(),125===e.charCodeAt(Br)?(o=i,Br++):(o=a,0===Mr&&Hr(Ee)),o!==a?t=n:(Br=t,t=a)):(Br=t,t=a),Mr--,t===a&&(r=a,0===Mr&&Hr(Ft)),t}function ya(){var t,r,n,o,s,u;if(t=Br,r=[],n=[],o=Br,s=Br,Mr++,ue.test(e.charAt(Br))?(u=e.charAt(Br),Br++):(u=a,0===Mr&&Hr(Bt)),Mr--,u===a?s=void 0:(Br=s,s=a),s!==a&&(u=ta())!==a?o=s=[s,u]:(Br=o,o=a),o!==a)for(;o!==a;)n.push(o),o=Br,s=Br,Mr++,ue.test(e.charAt(Br))?(u=e.charAt(Br),Br++):(u=a,0===Mr&&Hr(Bt)),Mr--,u===a?s=void 0:(Br=s,s=a),s!==a&&(u=ta())!==a?o=s=[s,u]:(Br=o,o=a);else n=a;for(n===a&&(n=Br,123===e.charCodeAt(Br)?(o=c,Br++):(o=a,0===Mr&&Hr(ve)),o!==a?(s=ya(),125===e.charCodeAt(Br)?(u=i,Br++):(u=a,0===Mr&&Hr(Ee)),u!==a?n=o=[o,s,u]:(Br=n,n=a)):(Br=n,n=a));n!==a;){if(r.push(n),n=[],o=Br,s=Br,Mr++,ue.test(e.charAt(Br))?(u=e.charAt(Br),Br++):(u=a,0===Mr&&Hr(Bt)),Mr--,u===a?s=void 0:(Br=s,s=a),s!==a&&(u=ta())!==a?o=s=[s,u]:(Br=o,o=a),o!==a)for(;o!==a;)n.push(o),o=Br,s=Br,Mr++,ue.test(e.charAt(Br))?(u=e.charAt(Br),Br++):(u=a,0===Mr&&Hr(Bt)),Mr--,u===a?s=void 0:(Br=s,s=a),s!==a&&(u=ta())!==a?o=s=[s,u]:(Br=o,o=a);else n=a;n===a&&(n=Br,123===e.charCodeAt(Br)?(o=c,Br++):(o=a,0===Mr&&Hr(ve)),o!==a?(s=ya(),125===e.charCodeAt(Br)?(u=i,Br++):(u=a,0===Mr&&Hr(Ee)),u!==a?n=o=[o,s,u]:(Br=n,n=a)):(Br=n,n=a))}return e.substring(t,Br)}function Ca(){var e,t;for(e=[],(t=ra())===a&&(t=na())===a&&(t=oa());t!==a;)e.push(t),(t=ra())===a&&(t=na())===a&&(t=oa());return e}function Sa(){var t,r,n,o;if(t=[],r=Br,n=Ca(),59===e.charCodeAt(Br)?(o=oe,Br++):(o=a,0===Mr&&Hr(Gt)),o!==a?r=n=[n,o]:(Br=r,r=a),r!==a)for(;r!==a;)t.push(r),r=Br,n=Ca(),59===e.charCodeAt(Br)?(o=oe,Br++):(o=a,0===Mr&&Hr(Gt)),o!==a?r=n=[n,o]:(Br=r,r=a);else t=a;return t===a&&(t=Br,r=function(){var e,t;for(e=[],(t=ra())===a&&(t=sa());t!==a;)e.push(t),(t=ra())===a&&(t=sa());return e}(),(n=ca())===a&&(n=null),(o=na())!==a?t=r=[r,n,o]:(Br=t,t=a),t===a&&(t=Br,r=Ca(),n=function(){var t,r;return t=Br,Mr++,e.length>Br?(r=e.charAt(Br),Br++):(r=a,0===Mr&&Hr(ke)),Mr--,r===a?t=void 0:(Br=t,t=a),t}(),n!==a?t=r=[r,n]:(Br=t,t=a))),t}var _a=t.reservedWords||[];if((r=s())!==a&&Br===e.length)return r;throw r!==a&&Br0){for(t=1,r=1;t1&&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,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;r0?NEVER_MATCH$1:SOMETIMES_MATCH$1}var o=visitor$9.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$4=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var a,n=0,o=t.length;n1?d(SOMETIMES_MATCH,[op$1.IF_ERROR],f([op$1.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=v(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$1.PUSH_CURR_POS],n,d(o,[op$1.IF_NOT_ERROR],f([op$1.LOAD_SAVED_POS,1],$(s,1,r,t.sp+2)),[]),[op$1.NIP]):n},sequence:function(e,t){return f([op$1.PUSH_CURR_POS],function t(r,a){if(r.length>0){var n=e.elements.length-r.length+1;return f(v(r[0],{sp:a.sp,env:a.env,pluck:a.pluck,action:null}),d(0|r[0].match,[op$1.IF_NOT_ERROR],t(r.slice(1),{sp:a.sp+1,env:a.env,pluck:a.pluck,action:a.action}),f(n>1?[op$1.POP_N,n]:[op$1.POP],[op$1.POP_CURR_POS],[op$1.PUSH_FAILED])))}if(a.pluck.length>0)return f([op$1.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$1.LOAD_SAVED_POS,e.elements.length],$(o,e.elements.length+1,a.env,a.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 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=v(e.expression,{sp:r.sp,env:a,action:null});return n&&e.labelLocation&&t&&"source-and-map"===t.output?f([op$1.SOURCE_MAP_LABEL_PUSH,o,c(n),p(e.labelLocation)],s,[op$1.SOURCE_MAP_LABEL_POP,o]):s},text:function(e,t){return f([op$1.PUSH_CURR_POS],v(e.expression,{sp:t.sp+1,env:l(t.env),action:null}),d(0|e.match,[op$1.IF_NOT_ERROR],f([op$1.POP],[op$1.TEXT]),[op$1.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(v(e.expression,{sp:t.sp,env:l(t.env),action:null}),d(-(0|e.expression.match),[op$1.IF_ERROR],f([op$1.POP],[op$1.PUSH_NULL]),[]))},zero_or_more:function(e,t){var r=v(e.expression,{sp:t.sp+1,env:l(t.env),action:null});return f([op$1.PUSH_EMPTY_ARRAY],r,h(r),[op$1.POP])},one_or_more:function(e,t){var r=v(e.expression,{sp:t.sp+1,env:l(t.env),action:null});return f([op$1.PUSH_EMPTY_ARRAY],r,d(0|e.expression.match,[op$1.IF_NOT_ERROR],f(h(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,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=v(e.expression,{sp:c.sp+o,env:l(t.env),action:null}),u=null!==e.delimiter?v(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$1.PUSH_CURR_POS],v(e,{sp:a.sp+n+1,env:l(a.env),action:null}),d(0|e.match,[op$1.IF_NOT_ERROR],f([op$1.POP],r,d(-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,u,t,o),$=b(p,e.max),m=n?b(i,e.max):i,g=f(a?[op$1.PUSH_CURR_POS]:[],[op$1.PUSH_EMPTY_ARRAY],m,h($),[op$1.POP]);return f(s.pre,c.pre,a?function(e,t){var r="constant"===t.type?[op$1.IF_LT,t.value]:[op$1.IF_LT_DYNAMIC,t.sp];return f(e,d(SOMETIMES_MATCH,r,[op$1.POP,op$1.POP_CURR_POS,op$1.PUSH_FAILED],[op$1.NIP]))}(g,r):g,c.post,s.post)},group:function(e,t){return v(e.expression,{sp:t.sp,env:l(t.env),action:null})},semantic_and:function(e,t){return g(e,!1,t)},semantic_not:function(e,t){return g(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?c(e.ignoreCase?e.value.toLowerCase():e.value):null,a=t!==ALWAYS_MATCH?i({type:"literal",value:e.value,ignoreCase:e.ignoreCase}):null;return d(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,a])}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),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 d(t,[op$1.MATCH_CHAR_CLASS,r],[op$1.ACCEPT_N,1],[op$1.FAIL,n])},any:function(e){var t=0|e.match,r=t!==ALWAYS_MATCH?i({type:"any"}):null;return d(t,[op$1.MATCH_ANY],[op$1.ACCEPT_N,1],[op$1.FAIL,r])}},t&&"source-and-map"===t.output&&Object.entries(A).forEach((function(e){var t=e[0],r=e[1];A[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,d=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$3=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var a,n=0,o=t.length;n0&&(r.forEach((function(e){o.push("var "+e+' = require("'+stringEscape$1(t.dependencies[e])+'");')})),o.push("")),o.push(e,"","module.exports = "+n()+";"),o},es:function(){var r=Object.keys(t.dependencies),n=a();return n.push(""),r.length>0&&(r.forEach((function(e){n.push("import "+e+' from "'+stringEscape$1(t.dependencies[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 o=Object.keys(t.dependencies),s="["+o.map((function(e){return t.dependencies[e]})).map((function(e){return'"'+stringEscape$1(e)+'"'})).join(", ")+"]",c=o.join(", ");return __spreadArray$3(__spreadArray$3([],a(),!0),["define("+s+", function("+c+") {",' "use strict";',"",e,"",r("return "+n()+";"),"});"],!1)},globals:function(){return __spreadArray$3(__spreadArray$3([],a(),!0),["(function(root) {",' "use strict";',"",e,"",r("root."+t.exportVar+" = "+n()+";"),"})(this);"],!1)},umd:function(){var o=Object.keys(t.dependencies),s=o.map((function(e){return t.dependencies[e]})),c="["+s.map((function(e){return'"'+stringEscape$1(e)+'"'})).join(", ")+"]",i=s.map((function(e){return'require("'+stringEscape$1(e)+'")'})).join(", "),u=o.join(", "),p=a();return p.push("(function(root, factory) {",' if (typeof define === "function" && define.amd) {'," define("+c+", 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("+u+") {",' "use strict";',"",e,"",r("return "+n()+";"),"});"),p}},s=o[t.format]();return new SourceNode$2(null,null,t.grammarSource,s.map((function(e){return e instanceof SourceNode$2?e:e+"\n"})))}(function(){var u=[];e.topLevelInitializer&&(u.push(i(e.topLevelInitializer)),u.push("")),u.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&&u.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 p="{ "+t.allowedStartRules.map((function(e){return e+": "+c(e)})).join(", ")+" }",l=c(t.allowedStartRules[0]);return u.push("function peg$parse(input, options) {"," options = options !== undefined ? options : {};",""," var peg$FAILED = {};"," var peg$source = options.grammarSource;",""," var peg$startRuleFunctions = "+p+";"," var peg$startRuleFunction = "+l+";","",new SourceNode$2(null,null,t.grammarSource,[e.literals.map((function(e,t){return" var "+a(t)+' = "'+stringEscape$1(e)+'";'})).concat("",e.classes.map((function(e,t){return" var "+n(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("",e.expectations.map((function(e,t){return" var "+o(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"),e.functions.map((function(e,t){return wrapInSourceNode("\n var ".concat(s(t)," = function(").concat(e.params.join(", "),") {"),e.body,e.location,"};")}))]),""," 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&&u.push(" var peg$resultsCache = {};",""),t.trace&&u.push(' var peg$tracer = "tracer" in options ? options.tracer : new peg$DefaultTracer();',""),u.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 {"," p = pos - 1;"," while (!peg$posDetailsCache[p]) {"," 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(i){u.push.apply(u,r(function(i){var u=[],p=new Stack$1(i.name,"s","var",i.bytecode),l=function t(u){var l=0,f=u.length,d=[],$=void 0;function m(e,a){var n=a+3,o=u[l+n-2],s=u[l+n-1],c=void 0,i=void 0;p.checkedIf(l,(function(){l+=n,c=t(u.slice(l,l+o)),l+=o}),s>0?function(){i=t(u.slice(l,l+s)),l+=s}:null),d.push("if ("+e+") {"),d.push.apply(d,r(c)),s>0&&(d.push("} else {"),d.push.apply(d,r(i))),d.push("}")}function g(e){var a=u[l+2-1],n=void 0;p.checkedLoop(l,(function(){l+=2,n=t(u.slice(l,l+a)),l+=a})),d.push("while ("+e+") {"),d.push.apply(d,r(n)),d.push("}")}function h(e){var t=u[l+e-1];return s(u[l+1])+"("+u.slice(l+e,l+e+t).map((function(e){return p.index(e)})).join(", ")+")"}for(;l= "+u[l+1],1);break;case op.IF_LT_DYNAMIC:m(p.top()+".length < ("+p.index(u[l+1])+"|0)",1);break;case op.IF_GE_DYNAMIC:m(p.top()+".length >= ("+p.index(u[l+1])+"|0)",1);break;case op.WHILE_NOT_ERROR:g(p.top()+" !== peg$FAILED");break;case op.MATCH_ANY:m("input.length > peg$currPos",0);break;case op.MATCH_STRING:m(e.literals[u[l+1]].length>1?"input.substr(peg$currPos, "+e.literals[u[l+1]].length+") === "+a(u[l+1]):"input.charCodeAt(peg$currPos) === "+e.literals[u[l+1]].charCodeAt(0),1);break;case op.MATCH_STRING_IC:m("input.substr(peg$currPos, "+e.literals[u[l+1]].length+").toLowerCase() === "+a(u[l+1]),1);break;case op.MATCH_CHAR_CLASS:m(n(u[l+1])+".test(input.charAt(peg$currPos))",1);break;case op.ACCEPT_N:d.push(p.push(u[l+1]>1?"input.substr(peg$currPos, "+u[l+1]+")":"input.charAt(peg$currPos)")),d.push(u[l+1]>1?"peg$currPos += "+u[l+1]+";":"peg$currPos++;"),l+=2;break;case op.ACCEPT_STRING:d.push(p.push(a(u[l+1]))),d.push(e.literals[u[l+1]].length>1?"peg$currPos += "+e.literals[u[l+1]].length+";":"peg$currPos++;"),l+=2;break;case op.FAIL:d.push(p.push("peg$FAILED")),d.push("if (peg$silentFails === 0) { peg$fail("+o(u[l+1])+"); }"),l+=2;break;case op.LOAD_SAVED_POS:d.push("peg$savedPos = "+p.index(u[l+1])+";"),l+=2;break;case op.UPDATE_SAVED_POS:d.push("peg$savedPos = peg$currPos;"),l++;break;case op.CALL:$=h(4),p.pop(u[l+2]),d.push(p.push($)),l+=4+u[l+3];break;case op.RULE:d.push(p.push(c(e.rules[u[l+1]].name)+"()")),l+=2;break;case op.SILENT_FAILS_ON:d.push("peg$silentFails++;"),l++;break;case op.SILENT_FAILS_OFF:d.push("peg$silentFails--;"),l++;break;case op.SOURCE_MAP_PUSH:p.sourceMapPush(d,e.locations[u[l+1]]),l+=2;break;case op.SOURCE_MAP_POP:p.sourceMapPop(),l++;break;case op.SOURCE_MAP_LABEL_PUSH:p.labels[u[l+1]]={label:e.literals[u[l+2]],location:e.locations[u[l+3]]},l+=4;break;case op.SOURCE_MAP_LABEL_POP:delete p.labels[u[l+1]],l+=2;break;default:throw new Error("Invalid opcode: "+u[l]+".",{rule:i.name,bytecode:u})}return d}(i.bytecode);return u.push(wrapInSourceNode("function ",c(i.name),i.nameLocation,"() {\n",i.name)),t.trace&&u.push(" var startPos = peg$currPos;"),u.push(r(p.defines())),u.push.apply(u,r(function(r,a){var n=[];return n.push(""),t.trace&&n.push("peg$tracer.trace({",' type: "rule.enter",'," rule: "+r+","," location: peg$computeLocation(startPos, startPos, true)","});",""),t.cache&&(n.push("var key = peg$currPos * "+e.rules.length+" + "+a+";","var cached = peg$resultsCache[key];","","if (cached) {"," peg$currPos = cached.nextPos;",""),t.trace&&n.push("if (cached.result !== peg$FAILED) {"," peg$tracer.trace({",' type: "rule.match",'," rule: "+r+","," result: cached.result,"," location: peg$computeLocation(startPos, peg$currPos, true)"," });","} else {"," peg$tracer.trace({",' type: "rule.fail",'," rule: "+r+","," location: peg$computeLocation(startPos, startPos, true)"," });","}",""),n.push(" return cached.result;","}","")),n}('"'+stringEscape$1(i.name)+'"',asts$4.indexOfRule(e,i.name)))),u.push.apply(u,r(l)),u.push.apply(u,r(function(e,r){var a=[];return t.cache&&a.push("","peg$resultsCache[key] = { nextPos: peg$currPos, result: "+r+" };"),t.trace&&a.push("","if ("+r+" !== peg$FAILED) {"," peg$tracer.trace({",' type: "rule.match",'," rule: "+e+","," result: "+r+","," location: peg$computeLocation(startPos, peg$currPos, true)"," });","} else {"," peg$tracer.trace({",' type: "rule.fail",'," rule: "+e+","," location: peg$computeLocation(startPos, startPos, true)"," });","}"),a.push("","return "+r+";"),a}('"'+stringEscape$1(i.name)+'"',p.result()))),u.push("}"),u}(i))),u.push("")})),e.initializer&&(u.push(i(e.initializer)),u.push("")),u.push(" peg$result = peg$startRuleFunction();",""," if (peg$result !== peg$FAILED && peg$currPos === input.length) {"," return peg$result;"," } else {"," if (peg$result !== peg$FAILED && peg$currPos < input.length) {"," peg$fail(peg$endExpectation());"," }",""," throw peg$buildStructuredError("," peg$maxFailExpected,"," peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,"," peg$maxFailPos < input.length"," ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)"," : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)"," );"," }","}"),new SourceNode$2(null,null,t.grammarSource,u.map((function(e){return e instanceof SourceNode$2?e:e+"\n"})))}())}var generateJs=generateJS$1,asts$3=asts_1,visitor$7=visitor_1;function removeProxyRules$1(e,t,r){var a=[];e.rules.forEach((function(n,o){var s;"rule"===(s=n).type&&"rule_ref"===s.expression.type&&(function(e,t,a){visitor$7.build({rule_ref:function(n){n.name===t&&(n.name=a,r.info('Proxy rule "'.concat(t,'" replaced by the rule "').concat(a,'"'),n.location,[{message:"This rule will be used",location:asts$3.findRule(e,a).nameLocation}]))}})(e)}(e,n.name,n.expression.name),-1===t.allowedStartRules.indexOf(n.name)&&a.push(o))})),a.reverse(),a.forEach((function(t){e.rules.splice(t,1)}))}var removeProxyRules_1=removeProxyRules$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,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,chai$i=require$$0,parser$3=parser$4,compiler$1=compiler_1,expect$h=chai$i.expect;describe("Peggy compiler",(function(){it("checks start rules",(function(){var e=parser$3.parse("foo='1'");expect$h(compiler$1.compile(e,compiler$1.passes)).to.be.an("object"),expect$h((function(){return compiler$1.compile(e,compiler$1.passes,{allowedStartRules:null})})).to.throw("allowedStartRules must be an array"),expect$h((function(){return compiler$1.compile(e,compiler$1.passes,{allowedStartRules:[]})})).to.throw("Must have at least one start rule"),expect$h((function(){return compiler$1.compile(e,compiler$1.passes,{allowedStartRules:["bar"]})})).to.throw('Unknown start rule "bar"')})),it("checks output type",(function(){var e=parser$3.parse("foo='1'");expect$h(compiler$1.compile(e,compiler$1.passes,{output:"source"})).to.be.a("string"),expect$h((function(){return compiler$1.compile(e,compiler$1.passes,{output:"INVALID OUTPUT TYPE"})})).to.throw("Invalid output format: INVALID OUTPUT TYPE.")})),it("generates inline sourceMappingURL",(function(){var e=parser$3.parse("foo='1'");if(expect$h(e).to.be.an("object"),"function"==typeof TextEncoder&&(expect$h(compiler$1.compile(e,compiler$1.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$h((function(){return compiler$1.compile(e,compiler$1.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$3.parse("foo='1'");expect$h(e).to.be.an("object"),expect$h((function(){return compiler$1.compile(e,compiler$1.passes,{output:"source-and-map"})})).to.throw("Must provide grammarSource (as a string or GrammarLocation) in order to generate source maps"),expect$h((function(){return compiler$1.compile(e,compiler$1.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$h((function(){return compiler$1.compile(e,compiler$1.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 GrammarError$2=grammarError,GrammarLocation$1=grammarLocation,compiler=compiler_1,parser$2=parser$4,VERSION=version$1,RESERVED_WORDS=["break","case","catch","class","const","continue","debugger","default","delete","do","else","export","extends","finally","for","function","if","import","in","instanceof","new","return","super","switch","this","throw","try","typeof","var","void","while","with","null","true","false","enum","implements","interface","let","package","private","protected","public","static","yield","await","arguments","eval"],peg$4={VERSION:VERSION,RESERVED_WORDS:RESERVED_WORDS,GrammarError:GrammarError$2,GrammarLocation:GrammarLocation$1,parser:parser$2,compiler:compiler,generate:function(e,t){var r,a,n="plugins"in(t=void 0!==t?t:{})?t.plugins:[],o={parser:peg$4.parser,passes:(r=peg$4.compiler.passes,a={},Object.keys(r).forEach((function(e){a[e]=r[e].slice()})),a),reservedWords:peg$4.RESERVED_WORDS.slice()};return n.forEach((function(e){e.use(o,t)})),peg$4.compiler.compile(o.parser.parse(e,{grammarSource:t.grammarSource,reservedWords:o.reservedWords}),o.passes,t)}},peg_1=peg$4,chai$h=require$$0,_a$2=peg_1,GrammarError$1=_a$2.GrammarError,GrammarLocation=_a$2.GrammarLocation,expect$g=chai$h.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$1("message");expect$g(e.location).to.equal(void 0),expect$g(e.toString()).to.equal("GrammarError: message")})),it("might have locations",(function(){location.source=void 0;var e=new GrammarError$1("message",location);expect$g(e.location).to.eql(location),expect$g(e.toString()).to.equal("GrammarError: message\n at 1:1"),e=new GrammarError$1("message",null,[{message:"Subinfo",location:location}]),expect$g(e.location).to.equal(null),expect$g(e.toString()).to.equal("GrammarError: message\n from 1:1: Subinfo"),location.source="foo.peggy",e=new GrammarError$1("message",location,[{message:"Subinfo",location:location}]),expect$g(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$1("message",location,r);it("with zero-length error at the end",(function(){var t=new GrammarError$1("message",{source:"foo.peggy",start:{offset:4,line:1,column:5},end:{offset:4,line:1,column:5}});expect$g(t.format([e])).to.equal("error: message\n --\x3e foo.peggy:1:5\n |\n1 | some error\n | ^")})),it("with source",(function(){expect$g(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$g(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$1("message",null,r);it("with source",(function(){expect$g(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$g(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$1("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$g(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$g(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$g(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$g(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$g(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$g(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$1("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$g(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$g(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$1=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var a,n=0,o=t.length;n=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,tsd:tsd,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,d=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$a=require$$0,Stack=stack,expect$a=chai$a.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$a((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$a((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$a((function(){return e.result()})).to.throw(RangeError,"Rule 'rule': The variable stack is empty, can't get the result")})),it("`index`",(function(){expect$a((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$a((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$a((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$a(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$a((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$a(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$a(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$a((function(){return e.checkedIf(0,(function(){}))})).to.not.throw(),expect$a((function(){return e.checkedIf(0,(function(){return e.pop()}))})).to.not.throw(),expect$a((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$a((function(){return e.checkedIf(0,t,t)})).to.not.throw(),expect$a((function(){return e.checkedIf(0,r,r)})).to.not.throw(),expect$a((function(){return e.checkedIf(0,a,a)})).to.not.throw(),expect$a((function(){return e.checkedIf(0,n,n)})).to.not.throw()})),it("increases on the same value in both the arms",(function(){expect$a((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$a((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$a((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$a((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$a((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$a((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$a((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$a((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$a((function(){return e.checkedLoop(0,t)})).to.not.throw(),expect$a((function(){return e.checkedLoop(0,r)})).to.not.throw(),expect$a((function(){return e.checkedLoop(0,a)})).to.not.throw(),expect$a((function(){return e.checkedLoop(0,n)})).to.not.throw()})),it("throws an error when the stack pointer increases",(function(){expect$a((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$a((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$9=require$$0,_a=utils$1,hex=_a.hex,stringEscape=_a.stringEscape,regexpClassEscape=_a.regexpClassEscape,base64=_a.base64,expect$9=chai$9.expect;describe("utility functions",(function(){it("hex",(function(){expect$9(hex("0")).to.equal("30"),expect$9(hex("\0")).to.equal("0"),expect$9(hex("\n")).to.equal("A"),expect$9(hex("\ufeff")).to.equal("FEFF")})),it("stringEscape",(function(){expect$9(stringEscape("abc")).to.equal("abc"),expect$9(stringEscape('\\"\0\b\t\n\v\f\r')).to.equal('\\\\\\"\\0\\b\\t\\n\\v\\f\\r'),expect$9(stringEscape("")).to.equal("\\x01\\x0F"),expect$9(stringEscape("")).to.equal("\\x10\\x1F\\x7F"),expect$9(stringEscape("Ā࿿")).to.equal("\\u0100\\u0FFF"),expect$9(stringEscape("က￿")).to.equal("\\u1000\\uFFFF")})),it("regexpClassEscape",(function(){expect$9(regexpClassEscape("\\\0\b\t\n\v\f\r")).to.equal("\\\\\\0\\b\\t\\n\\v\\f\\r"),expect$9(regexpClassEscape("/]^-")).to.equal("\\/\\]\\^\\-"),expect$9(regexpClassEscape("")).to.equal("\\x01\\x0F"),expect$9(regexpClassEscape("")).to.equal("\\x10\\x1F\\x7F"),expect$9(regexpClassEscape("Ā࿿")).to.equal("\\u0100\\u0FFF"),expect$9(regexpClassEscape("က￿")).to.equal("\\u1000\\uFFFF")})),it("base64",(function(){expect$9(base64(new Uint8Array([]))).to.equal(""),expect$9(base64(new Uint8Array([97]))).to.equal("YQ=="),expect$9(base64(new Uint8Array([97,98]))).to.equal("YWI="),expect$9(base64(new Uint8Array([97,98,99]))).to.equal("YWJj"),expect$9(base64(new Uint8Array([97,98,99,100]))).to.equal("YWJjZA=="),expect$9(base64(new Uint8Array([97,98,99,100,101]))).to.equal("YWJjZGU="),expect$9(base64(new Uint8Array([97,98,99,100,101,102]))).to.equal("YWJjZGVm")}))}));var __spreadArray=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$5(pass$5).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$5(pass$5).to.reportError("start = '' '' '' start")})),it("doesn't report left recursion if some preceding element doesn't match empty string",(function(){expect$5(pass$5).to.not.reportError("start = 'a' '' '' start"),expect$5(pass$5).to.not.reportError("start = '' 'a' '' start"),expect$5(pass$5).to.not.reportError("start = '' '' 'a' start")})),it("reports left recursion when rule reference is wrapped in an expression",(function(){expect$5(pass$5).to.reportError("start = '' start?")})),it("computes expressions that always consume input on success correctly",(function(){expect$5(pass$5).to.reportError(["start = a start","a 'a' = ''"].join("\n")),expect$5(pass$5).to.not.reportError(["start = a start","a 'a' = 'a'"].join("\n")),expect$5(pass$5).to.reportError("start = ('' / 'a' / 'b') start"),expect$5(pass$5).to.reportError("start = ('a' / '' / 'b') start"),expect$5(pass$5).to.reportError("start = ('a' / 'b' / '') start"),expect$5(pass$5).to.not.reportError("start = ('a' / 'b' / 'c') start"),expect$5(pass$5).to.reportError("start = ('' { }) start"),expect$5(pass$5).to.not.reportError("start = ('a' { }) start"),expect$5(pass$5).to.reportError("start = ('' '' '') start"),expect$5(pass$5).to.not.reportError("start = ('a' '' '') start"),expect$5(pass$5).to.not.reportError("start = ('' 'a' '') start"),expect$5(pass$5).to.not.reportError("start = ('' '' 'a') start"),expect$5(pass$5).to.reportError("start = a:'' start"),expect$5(pass$5).to.not.reportError("start = a:'a' start"),expect$5(pass$5).to.reportError("start = $'' start"),expect$5(pass$5).to.not.reportError("start = $'a' start"),expect$5(pass$5).to.reportError("start = &'' start"),expect$5(pass$5).to.reportError("start = &'a' start"),expect$5(pass$5).to.reportError("start = !'' start"),expect$5(pass$5).to.reportError("start = !'a' start"),expect$5(pass$5).to.reportError("start = ''? start"),expect$5(pass$5).to.reportError("start = 'a'? start"),expect$5(pass$5).to.reportError("start = ''* start"),expect$5(pass$5).to.reportError("start = 'a'* start"),expect$5(pass$5).to.reportError("start = ''+ start"),expect$5(pass$5).to.not.reportError("start = 'a'+ start"),expect$5(pass$5).to.reportError("start = ''| .. | start"),expect$5(pass$5).to.reportError("start = ''|0.. | start"),expect$5(pass$5).to.reportError("start = ''|1.. | start"),expect$5(pass$5).to.reportError("start = ''|2.. | start"),expect$5(pass$5).to.reportError("start = ''| ..1| start"),expect$5(pass$5).to.reportError("start = ''| ..3| start"),expect$5(pass$5).to.reportError("start = ''|2..3| start"),expect$5(pass$5).to.reportError("start = ''| 42 | start"),expect$5(pass$5).to.reportError("start = 'a'| .. | start"),expect$5(pass$5).to.reportError("start = 'a'|0.. | start"),expect$5(pass$5).to.not.reportError("start = 'a'|1.. | start"),expect$5(pass$5).to.not.reportError("start = 'a'|2.. | start"),expect$5(pass$5).to.reportError("start = 'a'| ..1| start"),expect$5(pass$5).to.reportError("start = 'a'| ..3| start"),expect$5(pass$5).to.not.reportError("start = 'a'|2..3| start"),expect$5(pass$5).to.not.reportError("start = 'a'| 42 | start"),expect$5(pass$5).to.reportError("start = ('') start"),expect$5(pass$5).to.not.reportError("start = ('a') start"),expect$5(pass$5).to.reportError("start = &{ } start"),expect$5(pass$5).to.reportError("start = !{ } start"),expect$5(pass$5).to.reportError(["start = a start","a = ''"].join("\n")),expect$5(pass$5).to.not.reportError(["start = a start","a = 'a'"].join("\n")),expect$5(pass$5).to.reportError("start = '' start"),expect$5(pass$5).to.not.reportError("start = 'a' start"),expect$5(pass$5).to.not.reportError("start = [a-d] start"),expect$5(pass$5).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$5(pass$5).to.not.reportError("start = 'a'| .. , start|"),expect$5(pass$5).to.not.reportError("start = 'a'|0.. , start|"),expect$5(pass$5).to.not.reportError("start = 'a'|1.. , start|"),expect$5(pass$5).to.not.reportError("start = 'a'|2.. , start|"),expect$5(pass$5).to.not.reportError("start = 'a'| ..3, start|"),expect$5(pass$5).to.not.reportError("start = 'a'|2..3, start|"),expect$5(pass$5).to.not.reportError("start = 'a'| 42 , start|")})),it("reports left recursion for delimiter if expression match empty string",(function(){expect$5(pass$5).to.reportError("start = ''| .. , start|"),expect$5(pass$5).to.reportError("start = ''|0.. , start|"),expect$5(pass$5).to.reportError("start = ''|1.. , start|"),expect$5(pass$5).to.reportError("start = ''|2.. , start|"),expect$5(pass$5).to.reportError("start = ''| ..3, start|"),expect$5(pass$5).to.reportError("start = ''|2..3, start|"),expect$5(pass$5).to.reportError("start = ''| 42 , start|")}))}))}));var chai$4=require$$0,helpers$4=helpers$9,pass$4=inferenceMatchResult_1;chai$4.use(helpers$4);var expect$4=chai$4.expect;describe("compiler pass |inferenceMatchResult|",(function(){it("calculate |match| property for |any| correctly",(function(){expect$4(pass$4).to.changeAST("start = .",{rules:[{match:0}]})})),it("calculate |match| property for |literal| correctly",(function(){expect$4(pass$4).to.changeAST("start = ''",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = ''i",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = 'a'",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = 'a'i",{rules:[{match:0}]})})),it("calculate |match| property for |class| correctly",(function(){expect$4(pass$4).to.changeAST("start = []",{rules:[{match:-1}]}),expect$4(pass$4).to.changeAST("start = []i",{rules:[{match:-1}]}),expect$4(pass$4).to.changeAST("start = [a]",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = [a]i",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = [a-b]",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = [a-b]i",{rules:[{match:0}]})})),it("calculate |match| property for |sequence| correctly",(function(){expect$4(pass$4).to.changeAST("start = 'a' 'b'",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = 'a' ''",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = '' 'b'",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = '' ''",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = 'a' []",{rules:[{match:-1}]}),expect$4(pass$4).to.changeAST("start = [] 'b'",{rules:[{match:-1}]}),expect$4(pass$4).to.changeAST("start = [] []",{rules:[{match:-1}]})})),it("calculate |match| property for |choice| correctly",(function(){expect$4(pass$4).to.changeAST("start = 'a' / 'b'",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = 'a' / ''",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = '' / 'b'",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = '' / ''",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = 'a' / []",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = [] / 'b'",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = [] / []",{rules:[{match:-1}]})})),it("calculate |match| property for predicates correctly",(function(){expect$4(pass$4).to.changeAST("start = &.",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = &''",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = &[]",{rules:[{match:-1}]}),expect$4(pass$4).to.changeAST("start = !.",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = !''",{rules:[{match:-1}]}),expect$4(pass$4).to.changeAST("start = ![]",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = &{ code }",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = !{ code }",{rules:[{match:0}]})})),it("calculate |match| property for |text| correctly",(function(){expect$4(pass$4).to.changeAST("start = $.",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = $''",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = $[]",{rules:[{match:-1}]})})),it("calculate |match| property for |action| correctly",(function(){expect$4(pass$4).to.changeAST("start = . { code }",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = '' { code }",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = [] { code }",{rules:[{match:-1}]})})),it("calculate |match| property for |labeled| correctly",(function(){expect$4(pass$4).to.changeAST("start = a:.",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = a:''",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = a:[]",{rules:[{match:-1}]})})),it("calculate |match| property for |named| correctly",(function(){expect$4(pass$4).to.changeAST("start 'start' = .",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start 'start' = ''",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start 'start' = []",{rules:[{match:-1}]})})),it("calculate |match| property for |optional| correctly",(function(){expect$4(pass$4).to.changeAST("start = .?",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = ''?",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = []?",{rules:[{match:1}]})})),it("calculate |match| property for |zero_or_more| correctly",(function(){expect$4(pass$4).to.changeAST("start = .*",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = ''*",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = []*",{rules:[{match:1}]})})),it("calculate |match| property for |one_or_more| correctly",(function(){expect$4(pass$4).to.changeAST("start = .+",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ''+",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = []+",{rules:[{match:-1}]})})),describe("calculate |match| property for |repeated|",(function(){describe("without delimiter",(function(){describe("with constant boundaries",(function(){it("for | .. | correctly",(function(){expect$4(pass$4).to.changeAST("start = .| .. |",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = ''| .. |",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = []| .. |",{rules:[{match:1}]})})),it("for | ..1| correctly",(function(){expect$4(pass$4).to.changeAST("start = .| ..1|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = ''| ..1|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = []| ..1|",{rules:[{match:1}]})})),it("for | ..3| correctly",(function(){expect$4(pass$4).to.changeAST("start = .| ..3|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = ''| ..3|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = []| ..3|",{rules:[{match:1}]})})),it("for |0.. | correctly",(function(){expect$4(pass$4).to.changeAST("start = .|0.. |",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = ''|0.. |",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = []|0.. |",{rules:[{match:1}]})})),it("for |1.. | correctly",(function(){expect$4(pass$4).to.changeAST("start = .|1.. |",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ''|1.. |",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = []|1.. |",{rules:[{match:-1}]})})),it("for |2.. | correctly",(function(){expect$4(pass$4).to.changeAST("start = .|2.. |",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ''|2.. |",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = []|2.. |",{rules:[{match:-1}]})})),it("for |2..3| correctly",(function(){expect$4(pass$4).to.changeAST("start = .|2..3|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ''|2..3|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = []|2..3|",{rules:[{match:-1}]})})),it("for | 42 | correctly",(function(){expect$4(pass$4).to.changeAST("start = .| 42 |",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ''| 42 |",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = []| 42 |",{rules:[{match:-1}]})}))})),describe("with variable boundaries",(function(){it("for | ..max| correctly",(function(){expect$4(pass$4).to.changeAST("start = .| ..max|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ''| ..max|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = []| ..max|",{rules:[{match:0}]})})),it("for |min.. | correctly",(function(){expect$4(pass$4).to.changeAST("start = .|min.. |",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ''|min.. |",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = []|min.. |",{rules:[{match:0}]})})),it("for |min..max| correctly",(function(){expect$4(pass$4).to.changeAST("start = .|min..max|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ''|min..max|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = []|min..max|",{rules:[{match:0}]})})),it("for | exact | correctly",(function(){expect$4(pass$4).to.changeAST("start = .|exact|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ''|exact|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = []|exact|",{rules:[{match:0}]})}))})),describe("with function boundaries",(function(){it("for | ..{}| correctly",(function(){expect$4(pass$4).to.changeAST("start = .| ..{}|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ''| ..{}|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = []| ..{}|",{rules:[{match:0}]})})),it("for |{}.. | correctly",(function(){expect$4(pass$4).to.changeAST("start = .|{}.. |",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ''|{}.. |",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = []|{}.. |",{rules:[{match:0}]})})),it("for |{}..{}| correctly",(function(){expect$4(pass$4).to.changeAST("start = .|{}..{}|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ''|{}..{}|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = []|{}..{}|",{rules:[{match:0}]})})),it("for | {} | correctly",(function(){expect$4(pass$4).to.changeAST("start = .|{}|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ''|{}|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = []|{}|",{rules:[{match:0}]})}))}))})),describe("with delimiter",(function(){describe("with constant boundaries",(function(){it("for | .. , delimiter| correctly",(function(){expect$4(pass$4).to.changeAST("start = .| .. , .|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = .| .. ,''|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = .| .. ,[]|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = ''| .. , .|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = ''| .. ,''|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = ''| .. ,[]|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = []| .. , .|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = []| .. ,''|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = []| .. ,[]|",{rules:[{match:1}]})})),it("for | ..1, delimiter| correctly",(function(){expect$4(pass$4).to.changeAST("start = .| ..1, .|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = .| ..1,''|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = .| ..1,[]|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = ''| ..1, .|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = ''| ..1,''|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = ''| ..1,[]|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = []| ..1, .|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = []| ..1,''|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = []| ..1,[]|",{rules:[{match:1}]})})),it("for | ..3, delimiter| correctly",(function(){expect$4(pass$4).to.changeAST("start = .| ..3, .|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = .| ..3,''|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = .| ..3,[]|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = ''| ..3, .|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = ''| ..3,''|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = ''| ..3,[]|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = []| ..3, .|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = []| ..3,''|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = []| ..3,[]|",{rules:[{match:1}]})})),it("for |0.. , delimiter| correctly",(function(){expect$4(pass$4).to.changeAST("start = .|0.. , .|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = .|0.. ,''|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = .|0.. ,[]|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = ''|0.. , .|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = ''|0.. ,''|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = ''|0.. ,[]|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = []|0.. , .|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = []|0.. ,''|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = []|0.. ,[]|",{rules:[{match:1}]})})),it("for |1.. , delimiter| correctly",(function(){expect$4(pass$4).to.changeAST("start = .|1.. , .|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = .|1.. ,''|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = .|1.. ,[]|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ''|1.. , .|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = ''|1.. ,''|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = ''|1.. ,[]|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = []|1.. , .|",{rules:[{match:-1}]}),expect$4(pass$4).to.changeAST("start = []|1.. ,''|",{rules:[{match:-1}]}),expect$4(pass$4).to.changeAST("start = []|1.. ,[]|",{rules:[{match:-1}]})})),it("for |2.. , delimiter| correctly",(function(){expect$4(pass$4).to.changeAST("start = .|2.. , .|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = .|2.. ,''|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = .|2.. ,[]|",{rules:[{match:-1}]}),expect$4(pass$4).to.changeAST("start = ''|2.. , .|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ''|2.. ,''|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = ''|2.. ,[]|",{rules:[{match:-1}]}),expect$4(pass$4).to.changeAST("start = []|2.. , .|",{rules:[{match:-1}]}),expect$4(pass$4).to.changeAST("start = []|2.. ,''|",{rules:[{match:-1}]}),expect$4(pass$4).to.changeAST("start = []|2.. ,[]|",{rules:[{match:-1}]})})),it("for |2..3, delimiter| correctly",(function(){expect$4(pass$4).to.changeAST("start = .|2..3, .|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = .|2..3,''|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = .|2..3,[]|",{rules:[{match:-1}]}),expect$4(pass$4).to.changeAST("start = ''|2..3, .|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ''|2..3,''|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = ''|2..3,[]|",{rules:[{match:-1}]}),expect$4(pass$4).to.changeAST("start = []|2..3, .|",{rules:[{match:-1}]}),expect$4(pass$4).to.changeAST("start = []|2..3,''|",{rules:[{match:-1}]}),expect$4(pass$4).to.changeAST("start = []|2..3,[]|",{rules:[{match:-1}]})})),it("for | 42 , delimiter| correctly",(function(){expect$4(pass$4).to.changeAST("start = .| 42 , .|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = .| 42 ,''|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = .| 42 ,[]|",{rules:[{match:-1}]}),expect$4(pass$4).to.changeAST("start = ''| 42 , .|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ''| 42 ,''|",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = ''| 42 ,[]|",{rules:[{match:-1}]}),expect$4(pass$4).to.changeAST("start = []| 42 , .|",{rules:[{match:-1}]}),expect$4(pass$4).to.changeAST("start = []| 42 ,''|",{rules:[{match:-1}]}),expect$4(pass$4).to.changeAST("start = []| 42 ,[]|",{rules:[{match:-1}]})}))})),describe("with variable boundaries",(function(){it("for | ..max, delimiter| correctly",(function(){expect$4(pass$4).to.changeAST("start = .| ..max, .|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = .| ..max,''|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = .| ..max,[]|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ''| ..max, .|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ''| ..max,''|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ''| ..max,[]|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = []| ..max, .|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = []| ..max,''|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = []| ..max,[]|",{rules:[{match:0}]})})),it("for |min.. , delimiter| correctly",(function(){expect$4(pass$4).to.changeAST("start = .|min.. , .|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = .|min.. ,''|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = .|min.. ,[]|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ''|min.. , .|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ''|min.. ,''|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ''|min.. ,[]|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = []|min.. , .|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = []|min.. ,''|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = []|min.. ,[]|",{rules:[{match:0}]})})),it("for |min..max, delimiter| correctly",(function(){expect$4(pass$4).to.changeAST("start = .|min..max, .|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = .|min..max,''|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = .|min..max,[]|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ''|min..max, .|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ''|min..max,''|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ''|min..max,[]|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = []|min..max, .|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = []|min..max,''|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = []|min..max,[]|",{rules:[{match:0}]})})),it("for | exact , delimiter| correctly",(function(){expect$4(pass$4).to.changeAST("start = .| exact , .|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = .| exact ,''|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = .| exact ,[]|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ''| exact , .|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ''| exact ,''|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ''| exact ,[]|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = []| exact , .|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = []| exact ,''|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = []| exact ,[]|",{rules:[{match:0}]})}))})),describe("with function boundaries",(function(){it("for | ..{}, delimiter| correctly",(function(){expect$4(pass$4).to.changeAST("start = .| ..{}, .|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = .| ..{},''|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = .| ..{},[]|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ''| ..{}, .|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ''| ..{},''|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ''| ..{},[]|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = []| ..{}, .|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = []| ..{},''|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = []| ..{},[]|",{rules:[{match:0}]})})),it("for |{}.. , delimiter| correctly",(function(){expect$4(pass$4).to.changeAST("start = .|{}.. , .|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = .|{}.. ,''|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = .|{}.. ,[]|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ''|{}.. , .|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ''|{}.. ,''|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ''|{}.. ,[]|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = []|{}.. , .|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = []|{}.. ,''|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = []|{}.. ,[]|",{rules:[{match:0}]})})),it("for |{}..{}, delimiter| correctly",(function(){expect$4(pass$4).to.changeAST("start = .|{}..{}, .|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = .|{}..{},''|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = .|{}..{},[]|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ''|{}..{}, .|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ''|{}..{},''|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ''|{}..{},[]|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = []|{}..{}, .|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = []|{}..{},''|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = []|{}..{},[]|",{rules:[{match:0}]})})),it("for | {} , delimiter| correctly",(function(){expect$4(pass$4).to.changeAST("start = .| {} , .|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = .| {} ,''|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = .| {} ,[]|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ''| {} , .|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ''| {} ,''|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ''| {} ,[]|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = []| {} , .|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = []| {} ,''|",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = []| {} ,[]|",{rules:[{match:0}]})}))}))}))})),it("calculate |match| property for |group| correctly",(function(){expect$4(pass$4).to.changeAST("start = (.)",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = ('')",{rules:[{match:1}]}),expect$4(pass$4).to.changeAST("start = ([])",{rules:[{match:-1}]})})),it("calculate |match| property for |rule_ref| correctly",(function(){expect$4(pass$4).to.changeAST(["start = end","end = . "].join("\n"),{rules:[{match:0},{match:0}]}),expect$4(pass$4).to.changeAST(["start = end","end = ''"].join("\n"),{rules:[{match:1},{match:1}]}),expect$4(pass$4).to.changeAST(["start = end","end = []"].join("\n"),{rules:[{match:-1},{match:-1}]}),expect$4(pass$4).to.changeAST("start = . start",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = '' start",{rules:[{match:0}]}),expect$4(pass$4).to.changeAST("start = [] start",{rules:[{match:-1}]}),expect$4(pass$4).to.changeAST("start = . start []",{rules:[{match:-1}]})}))}));var chai$3=require$$0,helpers$3=helpers$9,pass$3=reportDuplicateRules_1;chai$3.use(helpers$3);var expect$3=chai$3.expect;describe("compiler pass |reportDuplicateRules|",(function(){it("reports duplicate rules",(function(){expect$3(pass$3).to.reportError(["start = 'a'","start = 'b'"].join("\n"),{message:'Rule "start" is already defined',location:{source:void 0,start:{offset:12,line:2,column:1},end:{offset:17,line:2,column:6}},diagnostics:[{message:"Original rule location",location:{source:void 0,start:{offset:0,line:1,column:1},end:{offset:5,line:1,column:6}}}]})}))}));var chai$2=require$$0,helpers$2=helpers$9,pass$2=removeProxyRules_1;chai$2.use(helpers$2);var expect$2=chai$2.expect;describe("compiler pass |removeProxyRules|",(function(){describe("when a proxy rule isn't listed in |allowedStartRules|",(function(){it("updates references and removes it",(function(){expect$2(pass$2).to.changeAST(["start = proxy","proxy = proxied","proxied = 'a'"].join("\n"),{rules:[{name:"start",expression:{type:"rule_ref",name:"proxied"}},{name:"proxied"}]},{allowedStartRules:["start"]})}))})),describe("when a proxy rule is listed in |allowedStartRules|",(function(){it("updates references but doesn't remove it",(function(){expect$2(pass$2).to.changeAST(["start = proxy","proxy = proxied","proxied = 'a'"].join("\n"),{rules:[{name:"start",expression:{type:"rule_ref",name:"proxied"}},{name:"proxy",expression:{type:"rule_ref",name:"proxied"}},{name:"proxied"}]},{allowedStartRules:["start","proxy"]})}))}))}));var chai$1=require$$0,helpers$1=helpers$9,pass$1=reportInfiniteRepetition_1;chai$1.use(helpers$1);var expect$1=chai$1.expect;describe("compiler pass |reportInfiniteRepetition|",(function(){it("reports infinite loops for zero_or_more",(function(){expect$1(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$1(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$1(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$1(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$1(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$1(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$1(pass$1).to.not.reportError("start = ('')| ..1|"),expect$1(pass$1).to.not.reportError("start = ('')| ..3|"),expect$1(pass$1).to.not.reportError("start = ('')|2..3|"),expect$1(pass$1).to.not.reportError("start = ('')| 42 |")})),it("with variable boundaries",(function(){expect$1(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$1(pass$1).to.not.reportError("start = ('')|..len|"),expect$1(pass$1).to.not.reportError("start = ('')|len1..len2|"),expect$1(pass$1).to.not.reportError("start = ('')|len|")})),it("with function boundaries",(function(){expect$1(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$1(pass$1).to.not.reportError("start = ('')|..{}|"),expect$1(pass$1).to.not.reportError("start = ('')|{}..{}|"),expect$1(pass$1).to.not.reportError("start = ('')|{}|")}))})),describe("with empty delimiter",(function(){it("with constant boundaries",(function(){expect$1(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$1(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$1(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$1(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$1(pass$1).to.not.reportError("start = ('')| ..1, ''|"),expect$1(pass$1).to.not.reportError("start = ('')| ..3, ''|"),expect$1(pass$1).to.not.reportError("start = ('')|2..3, ''|"),expect$1(pass$1).to.not.reportError("start = ('')| 42 , ''|")})),it("with variable boundaries",(function(){expect$1(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$1(pass$1).to.not.reportError("start = ('')|..len, ''|"),expect$1(pass$1).to.not.reportError("start = ('')|len1..len2, ''|"),expect$1(pass$1).to.not.reportError("start = ('')|len, ''|")})),it("with function boundaries",(function(){expect$1(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$1(pass$1).to.not.reportError("start = ('')|..{}, ''|"),expect$1(pass$1).to.not.reportError("start = ('')|{}..{}, ''|"),expect$1(pass$1).to.not.reportError("start = ('')|{}, ''|")}))})),describe("with non-empty delimiter",(function(){it("with constant boundaries",(function(){expect$1(pass$1).to.not.reportError("start = ('')| .., 'a'|"),expect$1(pass$1).to.not.reportError("start = ('')|0.., 'a'|"),expect$1(pass$1).to.not.reportError("start = ('')|1.., 'a'|"),expect$1(pass$1).to.not.reportError("start = ('')|2.., 'a'|"),expect$1(pass$1).to.not.reportError("start = ('')| ..1, 'a'|"),expect$1(pass$1).to.not.reportError("start = ('')| ..3, 'a'|"),expect$1(pass$1).to.not.reportError("start = ('')|2..3, 'a'|"),expect$1(pass$1).to.not.reportError("start = ('')| 42 , 'a'|")})),it("with variable boundaries",(function(){expect$1(pass$1).to.not.reportError("start = ('')|len.., 'a'|"),expect$1(pass$1).to.not.reportError("start = ('')|..len, 'a'|"),expect$1(pass$1).to.not.reportError("start = ('')|len1..len2, 'a'|"),expect$1(pass$1).to.not.reportError("start = ('')|len, 'a'|")})),it("with function boundaries",(function(){expect$1(pass$1).to.not.reportError("start = ('')|{}.., 'a'|"),expect$1(pass$1).to.not.reportError("start = ('')|..{}, 'a'|"),expect$1(pass$1).to.not.reportError("start = ('')|{}..{}, 'a'|"),expect$1(pass$1).to.not.reportError("start = ('')|{}, 'a'|")}))}))})),it("computes expressions that always consume input on success correctly",(function(){expect$1(pass$1).to.reportError(["start = a*","a 'a' = ''"].join("\n")),expect$1(pass$1).to.not.reportError(["start = a*","a 'a' = 'a'"].join("\n")),expect$1(pass$1).to.reportError("start = ('' / 'a' / 'b')*"),expect$1(pass$1).to.reportError("start = ('a' / '' / 'b')*"),expect$1(pass$1).to.reportError("start = ('a' / 'b' / '')*"),expect$1(pass$1).to.not.reportError("start = ('a' / 'b' / 'c')*"),expect$1(pass$1).to.reportError("start = ('' { })*"),expect$1(pass$1).to.not.reportError("start = ('a' { })*"),expect$1(pass$1).to.reportError("start = ('' '' '')*"),expect$1(pass$1).to.not.reportError("start = ('a' '' '')*"),expect$1(pass$1).to.not.reportError("start = ('' 'a' '')*"),expect$1(pass$1).to.not.reportError("start = ('' '' 'a')*"),expect$1(pass$1).to.reportError("start = (a:'')*"),expect$1(pass$1).to.not.reportError("start = (a:'a')*"),expect$1(pass$1).to.reportError("start = ($'')*"),expect$1(pass$1).to.not.reportError("start = ($'a')*"),expect$1(pass$1).to.reportError("start = (&'')*"),expect$1(pass$1).to.reportError("start = (&'a')*"),expect$1(pass$1).to.reportError("start = (!'')*"),expect$1(pass$1).to.reportError("start = (!'a')*"),expect$1(pass$1).to.reportError("start = (''?)*"),expect$1(pass$1).to.reportError("start = ('a'?)*"),expect$1(pass$1).to.reportError("start = (''*)*"),expect$1(pass$1).to.reportError("start = ('a'*)*"),expect$1(pass$1).to.reportError("start = (''+)*"),expect$1(pass$1).to.not.reportError("start = ('a'+)*"),expect$1(pass$1).to.reportError("start = ('')*"),expect$1(pass$1).to.not.reportError("start = ('a')*"),expect$1(pass$1).to.reportError("start = (&{ })*"),expect$1(pass$1).to.reportError("start = (!{ })*"),expect$1(pass$1).to.reportError("start = 'a'|.., ('')*|"),expect$1(pass$1).to.not.reportError("start = 'a'|.., ('b')*|"),expect$1(pass$1).to.reportError(["start = a*","a = ''"].join("\n")),expect$1(pass$1).to.not.reportError(["start = a*","a = 'a'"].join("\n")),expect$1(pass$1).to.reportError("start = ''*"),expect$1(pass$1).to.not.reportError("start = 'a'*"),expect$1(pass$1).to.not.reportError("start = [a-d]*"),expect$1(pass$1).to.not.reportError("start = .*")}))}));var chai=require$$0,helpers=helpers$9,pass=reportUndefinedRules_1;chai.use(helpers);var expect=chai.expect;describe("compiler pass |reportUndefinedRules|",(function(){it("reports undefined rules",(function(){expect(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}}})}))})),exports.peggyVersion=peggyVersion})); \ No newline at end of file +!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$1,require$$0){var commonjsGlobal="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},sourceMap$1={},sourceMapGenerator$1={},base64Vlq$1={},base64$6={};const intToCharMap$1="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");base64$6.encode=function(e){if(0<=e&&e>>=VLQ_BASE_SHIFT$1,a>0&&(t|=VLQ_CONTINUATION_BIT$1),r+=base64$5.encode(t)}while(a>0);return r};var util$8={},urlBrowser=require$$0.URL;const URL$1=urlBrowser;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)))))}function parseSourceMapInput(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))}util$8.toSetString=supportsNullProto$1?identity$1:toSetString$1,util$8.fromSetString=supportsNullProto$1?identity$1:fromSetString$1,util$8.compareByGeneratedPositionsInflated=compareByGeneratedPositionsInflated$1,util$8.parseSourceMapInput=parseSourceMapInput;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$1(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$1(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(/\/?$/,"/")})),trimFilename=createSafeHandler$1((e=>{e.href=new URL$1(".",e.toString()).toString()})),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$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$1(a,n)}function computeSourceURL(e,t,r){e&&"path-absolute"===getURLType$1(t)&&(t=t.replace(/^\//,""));let a=normalize$1(t||"");return e&&(a=join$1(e,a)),r&&(a=join$1(trimFilename(r),a)),a}util$8.normalize=normalize$1,util$8.join=join$1,util$8.relative=relative$1,util$8.computeSourceURL=computeSourceURL;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:null!=r&&r.line,originalColumn:null!=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,d=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 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$5=util$8,binarySearch=binarySearch$1,ArraySet$2=arraySet$1.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$5.parseSourceMapInput(e));const n=util$5.getArg(a,"version"),o=util$5.getArg(a,"sources").map(String),s=util$5.getArg(a,"names",[]),c=util$5.getArg(a,"sourceRoot",null),i=util$5.getArg(a,"sourcesContent",null),u=util$5.getArg(a,"mappings"),p=util$5.getArg(a,"file",null);if(n!=r._version)throw new Error("Unsupported version: "+n);return r._sourceLookupCache=new Map,r._names=ArraySet$2.fromArray(s.map(String),!0),r._sources=ArraySet$2.fromArray(o,!0),r._absoluteSources=ArraySet$2.fromArray(r._sources.toArray().map((function(e){return util$5.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$5.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$5.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$5.getArg(e,"source");const r=util$5.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$5.getArg(e,"line"),generatedColumn:util$5.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$5.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$5.getArg(r,"source",null);null!==e&&(e=this._absoluteSources.at(e));let t=util$5.getArg(r,"name",null);return null!==t&&(t=this._names.at(t)),{source:e,line:util$5.getArg(r,"originalLine",null),column:util$5.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$5.getArg(e,"source");if(t=this._findSourceIndex(t),t<0)return{line:null,column:null,lastColumn:null};const r={source:t,originalLine:util$5.getArg(e,"line"),originalColumn:util$5.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$5.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$5.getArg(a,"generatedLine",null),column:util$5.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$5.parseSourceMapInput(e));const n=util$5.getArg(a,"version"),o=util$5.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$5.getArg(e,"offset"),a=util$5.getArg(r,"line"),n=util$5.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$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;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$4=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var a,n=0,o=t.length;n1?d(SOMETIMES_MATCH,[op$1.IF_ERROR],f([op$1.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$1.PUSH_CURR_POS],n,d(o,[op$1.IF_NOT_ERROR],f([op$1.LOAD_SAVED_POS,1],$(s,1,r,t.sp+2)),[]),[op$1.NIP]):n},sequence:function(e,t){return f([op$1.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}),d(0|r[0].match,[op$1.IF_NOT_ERROR],t(r.slice(1),{sp:a.sp+1,env:a.env,pluck:a.pluck,action:a.action}),f(n>1?[op$1.POP_N,n]:[op$1.POP],[op$1.POP_CURR_POS],[op$1.PUSH_FAILED])))}if(a.pluck.length>0)return f([op$1.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$1.LOAD_SAVED_POS,e.elements.length],$(o,e.elements.length+1,a.env,a.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 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$1.SOURCE_MAP_LABEL_PUSH,o,c(n),p(e.labelLocation)],s,[op$1.SOURCE_MAP_LABEL_POP,o]):s},text:function(e,t){return f([op$1.PUSH_CURR_POS],A(e.expression,{sp:t.sp+1,env:l(t.env),action:null}),d(0|e.match,[op$1.IF_NOT_ERROR],f([op$1.POP],[op$1.TEXT]),[op$1.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}),d(-(0|e.expression.match),[op$1.IF_ERROR],f([op$1.POP],[op$1.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$1.PUSH_EMPTY_ARRAY],r,h(r),[op$1.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$1.PUSH_EMPTY_ARRAY],r,d(0|e.expression.match,[op$1.IF_NOT_ERROR],f(h(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,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$1.PUSH_CURR_POS],A(e,{sp:a.sp+n+1,env:l(a.env),action:null}),d(0|e.match,[op$1.IF_NOT_ERROR],f([op$1.POP],r,d(-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,u,t,o),$=b(p,e.max),m=n?b(i,e.max):i,g=f(a?[op$1.PUSH_CURR_POS]:[],[op$1.PUSH_EMPTY_ARRAY],m,h($),[op$1.POP]);return f(s.pre,c.pre,a?function(e,t){var r="constant"===t.type?[op$1.IF_LT,t.value]:[op$1.IF_LT_DYNAMIC,t.sp];return f(e,d(SOMETIMES_MATCH,r,[op$1.POP,op$1.POP_CURR_POS,op$1.PUSH_FAILED],[op$1.NIP]))}(g,r):g,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 g(e,!1,t)},semantic_not:function(e,t){return g(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?c(e.ignoreCase?e.value.toLowerCase():e.value):null,a=t!==ALWAYS_MATCH?i({type:"literal",value:e.value,ignoreCase:e.ignoreCase}):null;return d(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,a])}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),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 d(t,[op$1.MATCH_CHAR_CLASS,r],[op$1.ACCEPT_N,1],[op$1.FAIL,n])},any:function(e){var t=0|e.match,r=t!==ALWAYS_MATCH?i({type:"any"}):null;return d(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=[],a=1;a>>=VLQ_BASE_SHIFT,a>0&&(t|=VLQ_CONTINUATION_BIT),r+=base64$3.encode(t)}while(a>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),a=buildSafeBase(t),n=new URL(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(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(/\/?$/,"/")})),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(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(a,n)}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 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$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,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$1.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$1.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$1.getArg(e,"generated"),r=util$1.getArg(e,"original",null);let a=util$1.getArg(e,"source",null),n=util$1.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$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 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$1.relative(n,a));const o=this._mappings.toArray().length>0?new ArraySet:this._sources,s=new ArraySet;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$1.join(r,t.source)),null!=n&&(t.source=util$1.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$1.join(r,t)),null!=n&&(t=util$1.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,d=l.length;f0){if(!util$1.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$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$3=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]=!0,null!=a&&this.add(a)}static fromStringWithSourceMap(t,r,a){const n=new e,o=t.split(REGEX_NEWLINE);let s=0;const c=function(){return e()+(e()||"");function e(){return s=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' 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$2(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$2?e:e+"\n"}));if(n.length){var o=GrammarLocation$3.offsetStart(a);t.push(new SourceNode$2(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$2;var __spreadArray$3=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var a,n=0,o=t.length;n0&&(r.forEach((function(e){o.push("var "+e+' = require("'+stringEscape$1(t.dependencies[e])+'");')})),o.push("")),o.push(e,"","module.exports = "+n()+";"),o},es:function(){var r=Object.keys(t.dependencies),n=a();return n.push(""),r.length>0&&(r.forEach((function(e){n.push("import "+e+' from "'+stringEscape$1(t.dependencies[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 o=Object.keys(t.dependencies),s="["+o.map((function(e){return t.dependencies[e]})).map((function(e){return'"'+stringEscape$1(e)+'"'})).join(", ")+"]",c=o.join(", ");return __spreadArray$3(__spreadArray$3([],a(),!0),["define("+s+", function("+c+") {",' "use strict";',"",e,"",r("return "+n()+";"),"});"],!1)},globals:function(){return __spreadArray$3(__spreadArray$3([],a(),!0),["(function(root) {",' "use strict";',"",e,"",r("root."+t.exportVar+" = "+n()+";"),"})(this);"],!1)},umd:function(){var o=Object.keys(t.dependencies),s=o.map((function(e){return t.dependencies[e]})),c="["+s.map((function(e){return'"'+stringEscape$1(e)+'"'})).join(", ")+"]",i=s.map((function(e){return'require("'+stringEscape$1(e)+'")'})).join(", "),u=o.join(", "),p=a();return p.push("(function(root, factory) {",' if (typeof define === "function" && define.amd) {'," define("+c+", 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("+u+") {",' "use strict";',"",e,"",r("return "+n()+";"),"});"),p}},s=o[t.format]();return new SourceNode$1(null,null,t.grammarSource,s.map((function(e){return e instanceof SourceNode$1?e:e+"\n"})))}(function(){var u=[];e.topLevelInitializer&&(u.push(i(e.topLevelInitializer)),u.push("")),u.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&&u.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 p="{ "+t.allowedStartRules.map((function(e){return e+": "+c(e)})).join(", ")+" }",l=c(t.allowedStartRules[0]);return u.push("function peg$parse(input, options) {"," options = options !== undefined ? options : {};",""," var peg$FAILED = {};"," var peg$source = options.grammarSource;",""," var peg$startRuleFunctions = "+p+";"," var peg$startRuleFunction = "+l+";","",new SourceNode$1(null,null,t.grammarSource,[e.literals.map((function(e,t){return" var "+a(t)+' = "'+stringEscape$1(e)+'";'})).concat("",e.classes.map((function(e,t){return" var "+n(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("",e.expectations.map((function(e,t){return" var "+o(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"),e.functions.map((function(e,t){return wrapInSourceNode("\n var ".concat(s(t)," = function(").concat(e.params.join(", "),") {"),e.body,e.location,"};")}))]),""," 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&&u.push(" var peg$resultsCache = {};",""),t.trace&&u.push(' var peg$tracer = "tracer" in options ? options.tracer : new peg$DefaultTracer();',""),u.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 {"," p = pos - 1;"," while (!peg$posDetailsCache[p]) {"," 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(i){u.push.apply(u,r(function(i){var u=[],p=new Stack$1(i.name,"s","var",i.bytecode),l=function t(u){var l=0,f=u.length,d=[],$=void 0;function m(e,a){var n=a+3,o=u[l+n-2],s=u[l+n-1],c=void 0,i=void 0;p.checkedIf(l,(function(){l+=n,c=t(u.slice(l,l+o)),l+=o}),s>0?function(){i=t(u.slice(l,l+s)),l+=s}:null),d.push("if ("+e+") {"),d.push.apply(d,r(c)),s>0&&(d.push("} else {"),d.push.apply(d,r(i))),d.push("}")}function g(e){var a=u[l+2-1],n=void 0;p.checkedLoop(l,(function(){l+=2,n=t(u.slice(l,l+a)),l+=a})),d.push("while ("+e+") {"),d.push.apply(d,r(n)),d.push("}")}function h(e){var t=u[l+e-1];return s(u[l+1])+"("+u.slice(l+e,l+e+t).map((function(e){return p.index(e)})).join(", ")+")"}for(;l= "+u[l+1],1);break;case op.IF_LT_DYNAMIC:m(p.top()+".length < ("+p.index(u[l+1])+"|0)",1);break;case op.IF_GE_DYNAMIC:m(p.top()+".length >= ("+p.index(u[l+1])+"|0)",1);break;case op.WHILE_NOT_ERROR:g(p.top()+" !== peg$FAILED");break;case op.MATCH_ANY:m("input.length > peg$currPos",0);break;case op.MATCH_STRING:m(e.literals[u[l+1]].length>1?"input.substr(peg$currPos, "+e.literals[u[l+1]].length+") === "+a(u[l+1]):"input.charCodeAt(peg$currPos) === "+e.literals[u[l+1]].charCodeAt(0),1);break;case op.MATCH_STRING_IC:m("input.substr(peg$currPos, "+e.literals[u[l+1]].length+").toLowerCase() === "+a(u[l+1]),1);break;case op.MATCH_CHAR_CLASS:m(n(u[l+1])+".test(input.charAt(peg$currPos))",1);break;case op.ACCEPT_N:d.push(p.push(u[l+1]>1?"input.substr(peg$currPos, "+u[l+1]+")":"input.charAt(peg$currPos)")),d.push(u[l+1]>1?"peg$currPos += "+u[l+1]+";":"peg$currPos++;"),l+=2;break;case op.ACCEPT_STRING:d.push(p.push(a(u[l+1]))),d.push(e.literals[u[l+1]].length>1?"peg$currPos += "+e.literals[u[l+1]].length+";":"peg$currPos++;"),l+=2;break;case op.FAIL:d.push(p.push("peg$FAILED")),d.push("if (peg$silentFails === 0) { peg$fail("+o(u[l+1])+"); }"),l+=2;break;case op.LOAD_SAVED_POS:d.push("peg$savedPos = "+p.index(u[l+1])+";"),l+=2;break;case op.UPDATE_SAVED_POS:d.push("peg$savedPos = peg$currPos;"),l++;break;case op.CALL:$=h(4),p.pop(u[l+2]),d.push(p.push($)),l+=4+u[l+3];break;case op.RULE:d.push(p.push(c(e.rules[u[l+1]].name)+"()")),l+=2;break;case op.SILENT_FAILS_ON:d.push("peg$silentFails++;"),l++;break;case op.SILENT_FAILS_OFF:d.push("peg$silentFails--;"),l++;break;case op.SOURCE_MAP_PUSH:p.sourceMapPush(d,e.locations[u[l+1]]),l+=2;break;case op.SOURCE_MAP_POP:p.sourceMapPop(),l++;break;case op.SOURCE_MAP_LABEL_PUSH:p.labels[u[l+1]]={label:e.literals[u[l+2]],location:e.locations[u[l+3]]},l+=4;break;case op.SOURCE_MAP_LABEL_POP:delete p.labels[u[l+1]],l+=2;break;default:throw new Error("Invalid opcode: "+u[l]+".",{rule:i.name,bytecode:u})}return d}(i.bytecode);return u.push(wrapInSourceNode("function ",c(i.name),i.nameLocation,"() {\n",i.name)),t.trace&&u.push(" var startPos = peg$currPos;"),u.push(r(p.defines())),u.push.apply(u,r(function(r,a){var n=[];return n.push(""),t.trace&&n.push("peg$tracer.trace({",' type: "rule.enter",'," rule: "+r+","," location: peg$computeLocation(startPos, startPos, true)","});",""),t.cache&&(n.push("var key = peg$currPos * "+e.rules.length+" + "+a+";","var cached = peg$resultsCache[key];","","if (cached) {"," peg$currPos = cached.nextPos;",""),t.trace&&n.push("if (cached.result !== peg$FAILED) {"," peg$tracer.trace({",' type: "rule.match",'," rule: "+r+","," result: cached.result,"," location: peg$computeLocation(startPos, peg$currPos, true)"," });","} else {"," peg$tracer.trace({",' type: "rule.fail",'," rule: "+r+","," location: peg$computeLocation(startPos, startPos, true)"," });","}",""),n.push(" return cached.result;","}","")),n}('"'+stringEscape$1(i.name)+'"',asts$4.indexOfRule(e,i.name)))),u.push.apply(u,r(l)),u.push.apply(u,r(function(e,r){var a=[];return t.cache&&a.push("","peg$resultsCache[key] = { nextPos: peg$currPos, result: "+r+" };"),t.trace&&a.push("","if ("+r+" !== peg$FAILED) {"," peg$tracer.trace({",' type: "rule.match",'," rule: "+e+","," result: "+r+","," location: peg$computeLocation(startPos, peg$currPos, true)"," });","} else {"," peg$tracer.trace({",' type: "rule.fail",'," rule: "+e+","," location: peg$computeLocation(startPos, startPos, true)"," });","}"),a.push("","return "+r+";"),a}('"'+stringEscape$1(i.name)+'"',p.result()))),u.push("}"),u}(i))),u.push("")})),e.initializer&&(u.push(i(e.initializer)),u.push("")),u.push(" peg$result = peg$startRuleFunction();",""," if (peg$result !== peg$FAILED && peg$currPos === input.length) {"," return peg$result;"," } else {"," if (peg$result !== peg$FAILED && peg$currPos < input.length) {"," peg$fail(peg$endExpectation());"," }",""," throw peg$buildStructuredError("," peg$maxFailExpected,"," peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,"," peg$maxFailPos < input.length"," ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)"," : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)"," );"," }","}"),new SourceNode$1(null,null,t.grammarSource,u.map((function(e){return e instanceof SourceNode$1?e:e+"\n"})))}())}var generateJs=generateJS$1,asts$3=asts_1,visitor$8=visitor_1;function removeProxyRules$1(e,t,r){var a=[];e.rules.forEach((function(n,o){var s;"rule"===(s=n).type&&"rule_ref"===s.expression.type&&(function(e,t,a){visitor$8.build({rule_ref:function(n){n.name===t&&(n.name=a,r.info('Proxy rule "'.concat(t,'" replaced by the rule "').concat(a,'"'),n.location,[{message:"This rule will be used",location:asts$3.findRule(e,a).nameLocation}]))}})(e)}(e,n.name,n.expression.name),-1===t.allowedStartRules.indexOf(n.name)&&a.push(o))})),a.reverse(),a.forEach((function(t){e.rules.splice(t,1)}))}var removeProxyRules_1=removeProxyRules$1,visitor$7=visitor_1;function cloneOver(e,t){Object.keys(e).forEach((function(t){return delete e[t]})),Object.keys(t).forEach((function(r){e[r]=t[r]}))}function cleanParts(e){e.sort((function(e,t){var r=Array.isArray(e)?e:[e,e],a=r[0],n=r[1],o=Array.isArray(t)?t:[t,t],s=o[0],c=o[1];return a!==s?ac?-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?{type:e.type,parts:e.parts.slice(),inverted:e.inverted,ignoreCase:e.ignoreCase,location:e.location}: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]=null,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){return null!==e})),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$1(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=":",d="|",$=",",m="..",g="(",h=")",x="\n",b="\r\n",v="/*",A="*/",y="//",S="\\",E="i",_='"',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),de=or(",",!1),$e=or("..",!1),me=or("(",!1),ge=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),Ee=or("\r\n",!1),_e=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()}},dt=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()}},$t=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},gt=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()}},Et=function(e,t){return[null!==e?e:{type:"constant",value:0},null!==t?t:{type:"constant",value:null}]},_t=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;for(r=t-1;!Zt[r];)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=dr())!==a&&zr()!==a?(Kt=t,t=dt(r,n,s)):(Xt=t,t=a)):(Xt=t,t=a)):(Xt=t,t=a),t}function dr(){var t,r,n,o,s,c;if(t=Xt,(r=$r())!==a){for(n=[],o=Xt,Hr(),47===e.charCodeAt(Xt)?(s=p,Xt++):(s=a,0===rr&&pr(ce)),s!==a?(Hr(),(c=$r())!==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=$r())!==a?o=c:(Xt=o,o=a)):(Xt=o,o=a);Kt=t,t=$t(r,n)}else Xt=t,t=a;return t}function $r(){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=gt(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=gr())===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=gr())!==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 gr(){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 q.test(e.charAt(Xt))?(t=e.charAt(Xt),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 G.test(e.charAt(Xt))?(t=e.charAt(Xt),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=d,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($e)),n!==a?(Hr(),(o=br())===a&&(o=null),Kt=t,t=Et(r,o)):(Xt=t,t=a),t===a&&(t=Xt,(r=br())!==a&&(Kt=t,r=_t(r)),t=r),t}(),o!==a?(Hr(),s=Xt,44===e.charCodeAt(Xt)?(c=$,Xt++):(c=a,0===rr&&pr(de)),c!==a?(Hr(),(i=dr())!==a?(Hr(),s=i):(Xt=s,s=a)):(Xt=s,s=a),s===a&&(s=null),124===e.charCodeAt(Xt)?(c=d,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=E,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=E,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 H.test(e.charAt(Xt))?(t=e.charAt(Xt),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=g,Xt++):(r=a,0===rr&&pr(me)),r!==a?(Hr(),(n=dr())!==a?(Hr(),41===e.charCodeAt(Xt)?(o=h,Xt++):(o=a,0===rr&&pr(ge)),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++,z.test(e.charAt(Xt))?(t=e.charAt(Xt),Xt++):(t=a,0===rr&&pr(ve)),rr--,t===a&&0===rr&&pr(be),t}function Sr(){var t;return W.test(e.charAt(Xt))?(t=e.charAt(Xt),Xt++):(t=a,0===rr&&pr(Ae)),t}function Er(){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(Ee)),t===a&&(V.test(e.charAt(Xt))?(t=e.charAt(Xt),Xt++):(t=a,0===rr&&pr(_e)))),rr--,t===a&&0===rr&&pr(ye),t}function _r(){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 Y.test(e.charAt(Xt))?(t=e.charAt(Xt),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&&(Q.test(e.charAt(Xt))?(t=e.charAt(Xt),Xt++):(t=a,0===rr&&pr(Oe))),t}function Lr(){var t,r,n,o;if(rr++,t=Xt,34===e.charCodeAt(Xt)?(r=_,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=_,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++,J.test(e.charAt(Xt))?(o=e.charAt(Xt),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++,X.test(e.charAt(Xt))?(o=e.charAt(Xt),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++,K.test(e.charAt(Xt))?(o=e.charAt(Xt),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&&Er()!==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&&(ee.test(e.charAt(Xt))?(t=e.charAt(Xt),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 Z.test(e.charAt(Xt))?(t=e.charAt(Xt),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 te.test(e.charAt(Xt))?(t=e.charAt(Xt),Xt++):(t=a,0===rr&&pr(nt)),t}function Ur(){var t;return re.test(e.charAt(Xt))?(t=e.charAt(Xt),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++,ae.test(e.charAt(Xt))?(u=e.charAt(Xt),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++,ae.test(e.charAt(Xt))?(u=e.charAt(Xt),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++,ae.test(e.charAt(Xt))?(u=e.charAt(Xt),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++,ae.test(e.charAt(Xt))?(u=e.charAt(Xt),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=Er())===a&&(t=_r());t!==a;)e.push(t),(t=yr())===a&&(t=Er())===a&&(t=_r());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=Er())!==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,tsd:tsd,engines:engines},chaiLike$1={exports:{}},hasRequiredChaiLike$1,chaiLike,hasRequiredChaiLike;function requireChaiLike$1(){if(hasRequiredChaiLike$1)return chaiLike$1.exports;hasRequiredChaiLike$1=1;let e=[];return chaiLike$1.exports=function(t,r){function a(e,t){return r.type(t).toUpperCase()===e.toUpperCase()}function n(t,r){for(let a of e)if(a.match(t,r))return a.assert(t,r);if(t===r)return!0;if(a("object",r)&&a("object",t)){for(let e of Object.keys(r)){if(!(e in t))return!1;if(!n(t[e],r[e]))return!1}return!0}if(a("array",r)&&a("array",t)){if(t.length!==r.length)return!1;for(let e=0;e start -> leftRecursion -> duplicatedRule)"])}}))}))}));var chai$e=require$$0$1,parser$2=parser$4,compiler=compiler_1,expect$e=chai$e.expect;describe("Peggy compiler",(function(){it("checks start rules",(function(){var e=parser$2.parse("foo='1'");expect$e(compiler.compile(e,compiler.passes)).to.be.an("object"),expect$e((function(){return compiler.compile(e,compiler.passes,{allowedStartRules:null})})).to.throw("allowedStartRules must be an array"),expect$e((function(){return compiler.compile(e,compiler.passes,{allowedStartRules:[]})})).to.throw("Must have at least one start rule"),expect$e((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$e(compiler.compile(e,compiler.passes,{output:"source"})).to.be.a("string"),expect$e((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$e(e).to.be.an("object"),"function"==typeof TextEncoder&&(expect$e(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$e((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$e(e).to.be.an("object"),expect$e((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$e((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$e((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 chai$d=require$$0$1,_a$1=peg_1,GrammarError$1=_a$1.GrammarError,GrammarLocation=_a$1.GrammarLocation,expect$d=chai$d.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$1("message");expect$d(e.location).to.equal(void 0),expect$d(e.toString()).to.equal("GrammarError: message")})),it("might have locations",(function(){location.source=void 0;var e=new GrammarError$1("message",location);expect$d(e.location).to.eql(location),expect$d(e.toString()).to.equal("GrammarError: message\n at 1:1"),e=new GrammarError$1("message",null,[{message:"Subinfo",location:location}]),expect$d(e.location).to.equal(null),expect$d(e.toString()).to.equal("GrammarError: message\n from 1:1: Subinfo"),location.source="foo.peggy",e=new GrammarError$1("message",location,[{message:"Subinfo",location:location}]),expect$d(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$1("message",location,r);it("with zero-length error at the end",(function(){var t=new GrammarError$1("message",{source:"foo.peggy",start:{offset:4,line:1,column:5},end:{offset:4,line:1,column:5}});expect$d(t.format([e])).to.equal("error: message\n --\x3e foo.peggy:1:5\n |\n1 | some error\n | ^")})),it("with source",(function(){expect$d(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$d(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$1("message",null,r);it("with source",(function(){expect$d(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$d(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$1("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$d(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$d(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$d(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$d(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$d(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$d(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$1("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$d(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$d(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$1=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var a,n=0,o=t.length;n' at an index -1.\nBytecode: 42")})),it("`top`",(function(){expect$b((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$b((function(){return e.result()})).to.throw(RangeError,"Rule 'rule': The variable stack is empty, can't get the result")})),it("`index`",(function(){expect$b((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$b((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$b((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$b(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$b((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$b(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$b(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$b((function(){return e.checkedIf(0,(function(){}))})).to.not.throw(),expect$b((function(){return e.checkedIf(0,(function(){return e.pop()}))})).to.not.throw(),expect$b((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$b((function(){return e.checkedIf(0,t,t)})).to.not.throw(),expect$b((function(){return e.checkedIf(0,r,r)})).to.not.throw(),expect$b((function(){return e.checkedIf(0,a,a)})).to.not.throw(),expect$b((function(){return e.checkedIf(0,n,n)})).to.not.throw()})),it("increases on the same value in both the arms",(function(){expect$b((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$b((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$b((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$b((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$b((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$b((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$b((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$b((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$b((function(){return e.checkedLoop(0,t)})).to.not.throw(),expect$b((function(){return e.checkedLoop(0,r)})).to.not.throw(),expect$b((function(){return e.checkedLoop(0,a)})).to.not.throw(),expect$b((function(){return e.checkedLoop(0,n)})).to.not.throw()})),it("throws an error when the stack pointer increases",(function(){expect$b((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$b((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$a=require$$0$1,_a=utils$1,hex=_a.hex,stringEscape=_a.stringEscape,regexpClassEscape=_a.regexpClassEscape,base64=_a.base64,expect$a=chai$a.expect;describe("utility functions",(function(){it("hex",(function(){expect$a(hex("0")).to.equal("30"),expect$a(hex("\0")).to.equal("0"),expect$a(hex("\n")).to.equal("A"),expect$a(hex("\ufeff")).to.equal("FEFF")})),it("stringEscape",(function(){expect$a(stringEscape("abc")).to.equal("abc"),expect$a(stringEscape('\\"\0\b\t\n\v\f\r')).to.equal('\\\\\\"\\0\\b\\t\\n\\v\\f\\r'),expect$a(stringEscape("")).to.equal("\\x01\\x0F"),expect$a(stringEscape("")).to.equal("\\x10\\x1F\\x7F"),expect$a(stringEscape("Ā࿿")).to.equal("\\u0100\\u0FFF"),expect$a(stringEscape("က￿")).to.equal("\\u1000\\uFFFF")})),it("regexpClassEscape",(function(){expect$a(regexpClassEscape("\\\0\b\t\n\v\f\r")).to.equal("\\\\\\0\\b\\t\\n\\v\\f\\r"),expect$a(regexpClassEscape("/]^-")).to.equal("\\/\\]\\^\\-"),expect$a(regexpClassEscape("")).to.equal("\\x01\\x0F"),expect$a(regexpClassEscape("")).to.equal("\\x10\\x1F\\x7F"),expect$a(regexpClassEscape("Ā࿿")).to.equal("\\u0100\\u0FFF"),expect$a(regexpClassEscape("က￿")).to.equal("\\u1000\\uFFFF")})),it("base64",(function(){expect$a(base64(new Uint8Array([]))).to.equal(""),expect$a(base64(new Uint8Array([97]))).to.equal("YQ=="),expect$a(base64(new Uint8Array([97,98]))).to.equal("YWI="),expect$a(base64(new Uint8Array([97,98,99]))).to.equal("YWJj"),expect$a(base64(new Uint8Array([97,98,99,100]))).to.equal("YWJjZA=="),expect$a(base64(new Uint8Array([97,98,99,100,101]))).to.equal("YWJjZGU="),expect$a(base64(new Uint8Array([97,98,99,100,101,102]))).to.equal("YWJjZGVm")}))}));var __spreadArray=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$1(pass$1).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$1(pass$1).to.reportError("start = '' '' '' start")})),it("doesn't report left recursion if some preceding element doesn't match empty string",(function(){expect$1(pass$1).to.not.reportError("start = 'a' '' '' start"),expect$1(pass$1).to.not.reportError("start = '' 'a' '' start"),expect$1(pass$1).to.not.reportError("start = '' '' 'a' start")})),it("reports left recursion when rule reference is wrapped in an expression",(function(){expect$1(pass$1).to.reportError("start = '' start?")})),it("computes expressions that always consume input on success correctly",(function(){expect$1(pass$1).to.reportError(["start = a start","a 'a' = ''"].join("\n")),expect$1(pass$1).to.not.reportError(["start = a start","a 'a' = 'a'"].join("\n")),expect$1(pass$1).to.reportError("start = ('' / 'a' / 'b') start"),expect$1(pass$1).to.reportError("start = ('a' / '' / 'b') start"),expect$1(pass$1).to.reportError("start = ('a' / 'b' / '') start"),expect$1(pass$1).to.not.reportError("start = ('a' / 'b' / 'c') start"),expect$1(pass$1).to.reportError("start = ('' { }) start"),expect$1(pass$1).to.not.reportError("start = ('a' { }) start"),expect$1(pass$1).to.reportError("start = ('' '' '') start"),expect$1(pass$1).to.not.reportError("start = ('a' '' '') start"),expect$1(pass$1).to.not.reportError("start = ('' 'a' '') start"),expect$1(pass$1).to.not.reportError("start = ('' '' 'a') start"),expect$1(pass$1).to.reportError("start = a:'' start"),expect$1(pass$1).to.not.reportError("start = a:'a' start"),expect$1(pass$1).to.reportError("start = $'' start"),expect$1(pass$1).to.not.reportError("start = $'a' start"),expect$1(pass$1).to.reportError("start = &'' start"),expect$1(pass$1).to.reportError("start = &'a' start"),expect$1(pass$1).to.reportError("start = !'' start"),expect$1(pass$1).to.reportError("start = !'a' start"),expect$1(pass$1).to.reportError("start = ''? start"),expect$1(pass$1).to.reportError("start = 'a'? start"),expect$1(pass$1).to.reportError("start = ''* start"),expect$1(pass$1).to.reportError("start = 'a'* start"),expect$1(pass$1).to.reportError("start = ''+ start"),expect$1(pass$1).to.not.reportError("start = 'a'+ start"),expect$1(pass$1).to.reportError("start = ''| .. | start"),expect$1(pass$1).to.reportError("start = ''|0.. | start"),expect$1(pass$1).to.reportError("start = ''|1.. | start"),expect$1(pass$1).to.reportError("start = ''|2.. | start"),expect$1(pass$1).to.reportError("start = ''| ..1| start"),expect$1(pass$1).to.reportError("start = ''| ..3| start"),expect$1(pass$1).to.reportError("start = ''|2..3| start"),expect$1(pass$1).to.reportError("start = ''| 42 | start"),expect$1(pass$1).to.reportError("start = 'a'| .. | start"),expect$1(pass$1).to.reportError("start = 'a'|0.. | start"),expect$1(pass$1).to.not.reportError("start = 'a'|1.. | start"),expect$1(pass$1).to.not.reportError("start = 'a'|2.. | start"),expect$1(pass$1).to.reportError("start = 'a'| ..1| start"),expect$1(pass$1).to.reportError("start = 'a'| ..3| start"),expect$1(pass$1).to.not.reportError("start = 'a'|2..3| start"),expect$1(pass$1).to.not.reportError("start = 'a'| 42 | start"),expect$1(pass$1).to.reportError("start = ('') start"),expect$1(pass$1).to.not.reportError("start = ('a') start"),expect$1(pass$1).to.reportError("start = &{ } start"),expect$1(pass$1).to.reportError("start = !{ } start"),expect$1(pass$1).to.reportError(["start = a start","a = ''"].join("\n")),expect$1(pass$1).to.not.reportError(["start = a start","a = 'a'"].join("\n")),expect$1(pass$1).to.reportError("start = '' start"),expect$1(pass$1).to.not.reportError("start = 'a' start"),expect$1(pass$1).to.not.reportError("start = [a-d] start"),expect$1(pass$1).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$1(pass$1).to.not.reportError("start = 'a'| .. , start|"),expect$1(pass$1).to.not.reportError("start = 'a'|0.. , start|"),expect$1(pass$1).to.not.reportError("start = 'a'|1.. , start|"),expect$1(pass$1).to.not.reportError("start = 'a'|2.. , start|"),expect$1(pass$1).to.not.reportError("start = 'a'| ..3, start|"),expect$1(pass$1).to.not.reportError("start = 'a'|2..3, start|"),expect$1(pass$1).to.not.reportError("start = 'a'| 42 , start|")})),it("reports left recursion for delimiter if expression match empty string",(function(){expect$1(pass$1).to.reportError("start = ''| .. , start|"),expect$1(pass$1).to.reportError("start = ''|0.. , start|"),expect$1(pass$1).to.reportError("start = ''|1.. , start|"),expect$1(pass$1).to.reportError("start = ''|2.. , start|"),expect$1(pass$1).to.reportError("start = ''| ..3, start|"),expect$1(pass$1).to.reportError("start = ''|2..3, start|"),expect$1(pass$1).to.reportError("start = ''| 42 , start|")}))}))}));var chai=require$$0$1,helpers=helpers$a,pass=reportUndefinedRules_1;chai.use(helpers);var expect=chai.expect;describe("compiler pass |reportUndefinedRules|",(function(){it("reports undefined rules",(function(){expect(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}}})}))})),exports.peggyVersion=peggyVersion})); \ No newline at end of file diff --git a/docs/vendor/peggy/peggy.min.js b/docs/vendor/peggy/peggy.min.js index 64c67cc0..75d59c9d 100644 --- a/docs/vendor/peggy/peggy.min.js +++ b/docs/vendor/peggy/peggy.min.js @@ -5,4 +5,4 @@ // Copyright (c) 2023- the Peggy authors // Licensed under the MIT License. -!function(e,u){"object"==typeof exports&&"undefined"!=typeof module?module.exports=u():"function"==typeof define&&define.amd?define(u):(e="undefined"!=typeof globalThis?globalThis:e||self).peggy=u()}(this,(function(){"use strict";var commonjsGlobal="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function getDefaultExportFromCjs(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var GrammarLocation$4=function(){function GrammarLocation(e,u){this.source=e,this.start=u}return GrammarLocation.prototype.toString=function(){return String(this.source)},GrammarLocation.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}},GrammarLocation.offsetStart=function(e){return e.source&&"function"==typeof e.source.offset?e.source.offset(e.start):e.start},GrammarLocation.offsetEnd=function(e){return e.source&&"function"==typeof e.source.offset?e.source.offset(e.end):e.end},GrammarLocation}(),grammarLocation=GrammarLocation$4,__extends=commonjsGlobal&&commonjsGlobal.__extends||(extendStatics=function(e,u){return extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,u){e.__proto__=u}||function(e,u){for(var t in u)Object.prototype.hasOwnProperty.call(u,t)&&(e[t]=u[t])},extendStatics(e,u)},function(e,u){if("function"!=typeof u&&null!==u)throw new TypeError("Class extends value "+String(u)+" is not a constructor or null");function t(){this.constructor=e}extendStatics(e,u),e.prototype=null===u?Object.create(u):(t.prototype=u.prototype,new t)}),extendStatics,GrammarLocation$3=grammarLocation,setProtoOf=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,u){e.__proto__=u}||function(e,u){for(var t in u)Object.prototype.hasOwnProperty.call(u,t)&&(e[t]=u[t])},GrammarError$3=function(e){function u(t,r,n){var o=e.call(this,t)||this;return setProtoOf(o,u.prototype),o.name="GrammarError",o.location=r,void 0===n&&(n=[]),o.diagnostics=n,o.stage=null,o.problems=[["error",t,r,n]],o}return __extends(u,e),u.prototype.toString=function(){var u=e.prototype.toString.call(this);this.location&&(u+="\n at ",void 0!==this.location.source&&null!==this.location.source&&(u+="".concat(this.location.source,":")),u+="".concat(this.location.start.line,":").concat(this.location.start.column));for(var t=0,r=this.diagnostics;t1&&e.delimiter&&n(e.delimiter)))},semantic_and:r,semantic_not:r,rule_ref:function(u){var t=asts$7.findRule(e,u.name);return t?n(t):void 0},literal:function(e){return""!==e.value},class:t,any:t});return n(u)}},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$9=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 u(e){return e.match=SOMETIMES_MATCH$1}function t(e){return o(e.expression),e.match=ALWAYS_MATCH$1}function r(e){return e.match=o(e.expression)}function n(e,u){for(var t=e.length,r=0,n=0,a=0;a0?NEVER_MATCH$1:SOMETIMES_MATCH$1}var o=visitor$9.build({rule:function(e){var u=void 0,t=0;if(void 0===e.match){e.match=SOMETIMES_MATCH$1;do{if(u=e.match,e.match=o(e.expression),++t>6)throw new GrammarError$2("Infinity cycle detected when trying to evaluate node match result",e.location)}while(u!==e.match)}return e.match},named:r,choice:function(e){return e.match=n(e.alternatives,!0)},action:r,sequence:function(e){return e.match=n(e.elements,!1)},labeled:r,text:r,simple_and:r,simple_not:function(e){return e.match=-o(e.expression)},optional:t,zero_or_more:t,one_or_more:r,repeated:function(e){var u=o(e.expression),t=e.delimiter?o(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:u===NEVER_MATCH$1?e.match=0===r.value?ALWAYS_MATCH$1:NEVER_MATCH$1:u===ALWAYS_MATCH$1?e.delimiter&&r.value>=2?e.match=t:e.match=ALWAYS_MATCH$1:e.delimiter&&r.value>=2?e.match=t===NEVER_MATCH$1?NEVER_MATCH$1:SOMETIMES_MATCH$1:e.match=0===r.value?ALWAYS_MATCH$1:SOMETIMES_MATCH$1},group:r,semantic_and:u,semantic_not:u,rule_ref:function(u){var t=asts$6.findRule(e,u.name);return u.match=o(t)},literal:function(e){var u=0===e.value.length?ALWAYS_MATCH$1:SOMETIMES_MATCH$1;return e.match=u},class:function(e){var u=0===e.parts.length?NEVER_MATCH$1:SOMETIMES_MATCH$1;return e.match=u},any:u});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$2=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,u,t){if(t||2===arguments.length)for(var r,n=0,o=u.length;n1?f(SOMETIMES_MATCH,[op$1.IF_ERROR],A([op$1.POP],e(u.slice(1),t)),[]):[])}(e.alternatives,u)},action:function(e,u){var t=p(u.env),r="sequence"!==e.expression.type||0===e.expression.elements.length,n=_(e.expression,{sp:u.sp+(r?1:0),env:t,action:e}),o=0|e.expression.match,a=r&&o!==NEVER_MATCH?c(!1,Object.keys(t),e):null;return r?A([op$1.PUSH_CURR_POS],n,f(o,[op$1.IF_NOT_ERROR],A([op$1.LOAD_SAVED_POS,1],E(a,1,t,u.sp+2)),[]),[op$1.NIP]):n},sequence:function(e,u){return A([op$1.PUSH_CURR_POS],function u(t,r){if(t.length>0){var n=e.elements.length-t.length+1;return A(_(t[0],{sp:r.sp,env:r.env,pluck:r.pluck,action:null}),f(0|t[0].match,[op$1.IF_NOT_ERROR],u(t.slice(1),{sp:r.sp+1,env:r.env,pluck:r.pluck,action:r.action}),A(n>1?[op$1.POP_N,n]:[op$1.POP],[op$1.POP_CURR_POS],[op$1.PUSH_FAILED])))}if(r.pluck.length>0)return A([op$1.PLUCK,e.elements.length+1,r.pluck.length],r.pluck.map((function(e){return r.sp-e})));if(r.action){var o=c(!1,Object.keys(r.env),r.action);return A([op$1.LOAD_SAVED_POS,e.elements.length],E(o,e.elements.length+1,r.env,r.sp))}return A([op$1.WRAP,e.elements.length],[op$1.NIP])}(e.elements,{sp:u.sp+1,env:u.env,pluck:[],action:u.action}))},labeled:function(e,t){var r=t.env,n=e.label,o=t.sp+1;n&&(r=p(t.env),t.env[e.label]=o),e.pick&&t.pluck.push(o);var a=_(e.expression,{sp:t.sp,env:r,action:null});return n&&e.labelLocation&&u&&"source-and-map"===u.output?A([op$1.SOURCE_MAP_LABEL_PUSH,o,i(n),l(e.labelLocation)],a,[op$1.SOURCE_MAP_LABEL_POP,o]):a},text:function(e,u){return A([op$1.PUSH_CURR_POS],_(e.expression,{sp:u.sp+1,env:p(u.env),action:null}),f(0|e.match,[op$1.IF_NOT_ERROR],A([op$1.POP],[op$1.TEXT]),[op$1.NIP]))},simple_and:function(e,u){return h(e.expression,!1,u)},simple_not:function(e,u){return h(e.expression,!0,u)},optional:function(e,u){return A(_(e.expression,{sp:u.sp,env:p(u.env),action:null}),f(-(0|e.expression.match),[op$1.IF_ERROR],A([op$1.POP],[op$1.PUSH_NULL]),[]))},zero_or_more:function(e,u){var t=_(e.expression,{sp:u.sp+1,env:p(u.env),action:null});return A([op$1.PUSH_EMPTY_ARRAY],t,C(t),[op$1.POP])},one_or_more:function(e,u){var t=_(e.expression,{sp:u.sp+1,env:p(u.env),action:null});return A([op$1.PUSH_EMPTY_ARRAY],t,f(0|e.expression.match,[op$1.IF_NOT_ERROR],A(C(t),[op$1.POP]),A([op$1.POP],[op$1.POP],[op$1.PUSH_FAILED])))},repeated:function(e,u){var t=e.min?e.min:e.max,r="constant"!==t.type||t.value>0,n="constant"!==e.max.type&&null!==e.max.value,o=r?2:1,a=e.min?g(e.min,u.env,u.sp,2+("function"===e.max.type?1:0)):{pre:[],post:[],sp:u.sp},i=g(e.max,u.env,a.sp,o),s=_(e.expression,{sp:i.sp+o,env:p(u.env),action:null}),c=null!==e.delimiter?_(e.expression,{sp:i.sp+o+1,env:p(u.env),action:null}):s,l=function(e,u,t,r,n){return e?A([op$1.PUSH_CURR_POS],_(e,{sp:r.sp+n+1,env:p(r.env),action:null}),f(0|e.match,[op$1.IF_NOT_ERROR],A([op$1.POP],t,f(-u,[op$1.IF_ERROR],[op$1.POP,op$1.POP_CURR_POS,op$1.PUSH_FAILED],[op$1.NIP])),[op$1.NIP])):t}(e.delimiter,0|e.expression.match,c,u,o),E=m(l,e.max),h=n?m(s,e.max):s,d=A(r?[op$1.PUSH_CURR_POS]:[],[op$1.PUSH_EMPTY_ARRAY],h,C(E),[op$1.POP]);return A(a.pre,i.pre,r?function(e,u){var t="constant"===u.type?[op$1.IF_LT,u.value]:[op$1.IF_LT_DYNAMIC,u.sp];return A(e,f(SOMETIMES_MATCH,t,[op$1.POP,op$1.POP_CURR_POS,op$1.PUSH_FAILED],[op$1.NIP]))}(d,t):d,i.post,a.post)},group:function(e,u){return _(e.expression,{sp:u.sp,env:p(u.env),action:null})},semantic_and:function(e,u){return d(e,!1,u)},semantic_not:function(e,u){return d(e,!0,u)},rule_ref:function(u){return[op$1.RULE,asts$5.indexOfRule(e,u.name)]},literal:function(e){if(e.value.length>0){var u=0|e.match,t=u===SOMETIMES_MATCH||u===ALWAYS_MATCH&&!e.ignoreCase?i(e.ignoreCase?e.value.toLowerCase():e.value):null,r=u!==ALWAYS_MATCH?s({type:"literal",value:e.value,ignoreCase:e.ignoreCase}):null;return f(u,e.ignoreCase?[op$1.MATCH_STRING_IC,t]:[op$1.MATCH_STRING,t],e.ignoreCase?[op$1.ACCEPT_N,e.value.length]:[op$1.ACCEPT_STRING,t],[op$1.FAIL,r])}return[op$1.PUSH_EMPTY_STRING]},class:function(e){var u=0|e.match,t=u===SOMETIMES_MATCH?function(e){var u={value:e.parts,inverted:e.inverted,ignoreCase:e.ignoreCase},t=JSON.stringify(u),n=r.findIndex((function(e){return JSON.stringify(e)===t}));return-1===n?r.push(u)-1:n}(e):null,n=u!==ALWAYS_MATCH?s({type:"class",value:e.parts,inverted:e.inverted,ignoreCase:e.ignoreCase}):null;return f(u,[op$1.MATCH_CHAR_CLASS,t],[op$1.ACCEPT_N,1],[op$1.FAIL,n])},any:function(e){var u=0|e.match,t=u!==ALWAYS_MATCH?s({type:"any"}):null;return f(u,[op$1.MATCH_ANY],[op$1.ACCEPT_N,1],[op$1.FAIL,t])}},u&&"source-and-map"===u.output&&Object.entries(F).forEach((function(e){var u=e[0],t=e[1];F[u]=function(e){for(var u=[],r=1;r>>=VLQ_BASE_SHIFT,r>0&&(u|=VLQ_CONTINUATION_BIT),t+=base64$2.encode(u)}while(r>0);return t};var util$3={};function getArg(e,u,t){if(u in e)return e[u];if(3===arguments.length)return t;throw new Error('"'+u+'" 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 u=e.length;if(u<9)return!1;if(95!==e.charCodeAt(u-1)||95!==e.charCodeAt(u-2)||111!==e.charCodeAt(u-3)||116!==e.charCodeAt(u-4)||111!==e.charCodeAt(u-5)||114!==e.charCodeAt(u-6)||112!==e.charCodeAt(u-7)||95!==e.charCodeAt(u-8)||95!==e.charCodeAt(u-9))return!1;for(let t=u-10;t>=0;t--)if(36!==e.charCodeAt(t))return!1;return!0}function strcmp(e,u){return e===u?0:null===e?1:null===u?-1:e>u?1:-1}function compareByGeneratedPositionsInflated(e,u){let t=e.generatedLine-u.generatedLine;return 0!==t?t:(t=e.generatedColumn-u.generatedColumn,0!==t?t:(t=strcmp(e.source,u.source),0!==t?t:(t=e.originalLine-u.originalLine,0!==t?t:(t=e.originalColumn-u.originalColumn,0!==t?t:strcmp(e.name,u.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 u=>{const t=getURLType(u),r=buildSafeBase(u),n=new URL(u,r);e(n);const o=n.toString();return"absolute"===t?o:"scheme-relative"===t?o.slice(PROTOCOL.length):"path-absolute"===t?o.slice(PROTOCOL_AND_HOST.length):computeRelativeURL(r,o)}}function withBase(e,u){return new URL(e,u).toString()}function buildUniqueSegment(e,u){let t=0;for(;;){const r=e+t++;if(-1===u.indexOf(r))return r}}function buildSafeBase(e){const u=e.split("..").length-1,t=buildUniqueSegment("p",e);let r=`${PROTOCOL_AND_HOST}/`;for(let e=0;e0&&!r[r.length-1]&&r.pop();t.length>0&&r.length>0&&t[0]===r[0];)t.shift(),r.shift();return r.map((()=>"..")).concat(t).join("/")+u.search+u.hash}const ensureDirectory=createSafeHandler((e=>{e.pathname=e.pathname.replace(/\/?$/,"/")})),normalize=createSafeHandler((e=>{}));function join(e,u){const t=getURLType(u),r=getURLType(e);if(e=ensureDirectory(e),"absolute"===t)return withBase(u,void 0);if("absolute"===r)return withBase(u,e);if("scheme-relative"===t)return normalize(u);if("scheme-relative"===r)return withBase(u,withBase(e,PROTOCOL_AND_HOST)).slice(PROTOCOL.length);if("path-absolute"===t)return normalize(u);if("path-absolute"===r)return withBase(u,withBase(e,PROTOCOL_AND_HOST)).slice(PROTOCOL_AND_HOST.length);const n=buildSafeBase(u+e);return computeRelativeURL(n,withBase(u,withBase(e,n)))}function relative(e,u){const t=relativeIfPossible(e,u);return"string"==typeof t?t:normalize(u)}function relativeIfPossible(e,u){if(getURLType(e)!==getURLType(u))return null;const t=buildSafeBase(e+u),r=new URL(e,t),n=new URL(u,t);try{new URL("",n.toString())}catch(e){return null}return n.protocol!==r.protocol||n.user!==r.user||n.password!==r.password||n.hostname!==r.hostname||n.port!==r.port?null:computeRelativeURL(r,n)}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(u,t){const r=new e;for(let e=0,n=u.length;e=0)return u;throw new Error('"'+e+'" is not in the set.')}at(e){if(e>=0&&et||r==t&&o>=n||util$2.compareByGeneratedPositionsInflated(e,u)<=0}let MappingList$1=class{constructor(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}unsortedForEach(e,u){this._array.forEach(e,u)}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(u){const t=u.sourceRoot,r=new e({file:u.file,sourceRoot:t});return u.eachMapping((function(e){const u={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(u.source=e.source,null!=t&&(u.source=util$1.relative(t,u.source)),u.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(u.name=e.name)),r.addMapping(u)})),u.sources.forEach((function(e){let n=e;null!=t&&(n=util$1.relative(t,e)),r._sources.has(n)||r._sources.add(n);const o=u.sourceContentFor(e);null!=o&&r.setSourceContent(e,o)})),r}addMapping(e){const u=util$1.getArg(e,"generated"),t=util$1.getArg(e,"original",null);let r=util$1.getArg(e,"source",null),n=util$1.getArg(e,"name",null);this._skipValidation||this._validateMapping(u,t,r,n),null!=r&&(r=String(r),this._sources.has(r)||this._sources.add(r)),null!=n&&(n=String(n),this._names.has(n)||this._names.add(n)),this._mappings.add({generatedLine:u.line,generatedColumn:u.column,originalLine:t&&t.line,originalColumn:t&&t.column,source:r,name:n})}setSourceContent(e,u){let t=e;null!=this._sourceRoot&&(t=util$1.relative(this._sourceRoot,t)),null!=u?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[util$1.toSetString(t)]=u):this._sourcesContents&&(delete this._sourcesContents[util$1.toSetString(t)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))}applySourceMap(e,u,t){let r=u;if(null==u){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 n=this._sourceRoot;null!=n&&(r=util$1.relative(n,r));const o=this._mappings.toArray().length>0?new ArraySet:this._sources,a=new ArraySet;this._mappings.unsortedForEach((function(u){if(u.source===r&&null!=u.originalLine){const r=e.originalPositionFor({line:u.originalLine,column:u.originalColumn});null!=r.source&&(u.source=r.source,null!=t&&(u.source=util$1.join(t,u.source)),null!=n&&(u.source=util$1.relative(n,u.source)),u.originalLine=r.line,u.originalColumn=r.column,null!=r.name&&(u.name=r.name))}const i=u.source;null==i||o.has(i)||o.add(i);const s=u.name;null==s||a.has(s)||a.add(s)}),this),this._sources=o,this._names=a,e.sources.forEach((function(u){const r=e.sourceContentFor(u);null!=r&&(null!=t&&(u=util$1.join(t,u)),null!=n&&(u=util$1.relative(n,u)),this.setSourceContent(u,r))}),this)}_validateMapping(e,u,t,r){if(u&&"number"!=typeof u.line&&"number"!=typeof u.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&&!u&&!t&&!r);else if(!(e&&"line"in e&&"column"in e&&u&&"line"in u&&"column"in u&&e.line>0&&e.column>=0&&u.line>0&&u.column>=0&&t))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:t,original:u,name:r}))}_serializeMappings(){let e,u,t,r,n=0,o=1,a=0,i=0,s=0,c=0,l="";const p=this._mappings.toArray();for(let A=0,f=p.length;A0){if(!util$1.compareByGeneratedPositionsInflated(u,p[A-1]))continue;e+=","}e+=base64VLQ.encode(u.generatedColumn-n),n=u.generatedColumn,null!=u.source&&(r=this._sources.indexOf(u.source),e+=base64VLQ.encode(r-c),c=r,e+=base64VLQ.encode(u.originalLine-1-i),i=u.originalLine-1,e+=base64VLQ.encode(u.originalColumn-a),a=u.originalColumn,null!=u.name&&(t=this._names.indexOf(u.name),e+=base64VLQ.encode(t-s),s=t)),l+=e}return l}_generateSourcesContent(e,u){return e.map((function(e){if(!this._sourcesContents)return null;null!=u&&(e=util$1.relative(u,e));const t=util$1.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,t)?this._sourcesContents[t]: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,u,t,r,n){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==u?null:u,this.source=null==t?null:t,this.name=null==n?null:n,this[isSourceNode]=!0,null!=r&&this.add(r)}static fromStringWithSourceMap(u,t,r){const n=new e,o=u.split(REGEX_NEWLINE);let a=0;const i=function(){return e()+(e()||"");function e(){return a=0;u--)this.prepend(e[u]);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 u;for(let t=0,r=this.children.length;t0){for(u=[],t=0;t' at an index ").concat(e,".\nBytecode: ").concat(this.bytecode));return this.varName+e},e.sourceNode=function(e,u,t){var r=GrammarLocation$2.offsetStart(e);return new SourceNode$1(r.line,r.column?r.column-1:null,String(e.source),u,t)},e.prototype.push=function(u){++this.sp>this.maxSp&&(this.maxSp=this.sp);var t=this.labels[this.sp],r=[this.name(this.sp)," = ",u,";"];if(t){if(this.sourceMapStack.length){var n=e.sourceNode(t.location,r.splice(0,2),t.label),o=this.sourceMapPopInternal(),a=o.parts,i=o.location,s=i.start.offsetu.end.offset&&(t[2]={start:u.end,end:t[2].end,source:t[2].source})}this.sourceMapStack.push([e,e.length,u])},e.prototype.sourceMapPopInternal=function(){var e=this.sourceMapStack.pop(),u=e[0],t=e[1],r=e[2],n=u.splice(t).map((function(e){return e instanceof SourceNode$1?e:e+"\n"}));if(n.length){var o=GrammarLocation$2.offsetStart(r);u.push(new SourceNode$1(o.line,o.column-1,String(r.source),n))}return{parts:u,location:r}},e.prototype.sourceMapPop=function(e){var u=this.sourceMapPopInternal().location;if(this.sourceMapStack.length&&u.end.offset>2],n+=u[(3&e[o])<<4|e[o+1]>>4],n+=u[(15&e[o+1])<<2|e[o+2]>>6],n+=u[63&e[o+2]];return 1===t?(n+=u[e[r]>>2],n+=u[(3&e[r])<<4],n+="=="):2===t&&(n+=u[e[r]>>2],n+=u[(3&e[r])<<4|e[r+1]>>4],n+=u[(15&e[r+1])<<2],n+="="),n}utils.hex=hex,utils.stringEscape=stringEscape$1,utils.regexpClassEscape=regexpClassEscape$1,utils.base64=base64$1;var __spreadArray$1=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,u,t){if(t||2===arguments.length)for(var r,n=0,o=u.length;n0&&(t.forEach((function(e){o.push("var "+e+' = require("'+stringEscape(u.dependencies[e])+'");')})),o.push("")),o.push(e,"","module.exports = "+n()+";"),o},es:function(){var t=Object.keys(u.dependencies),n=r();return n.push(""),t.length>0&&(t.forEach((function(e){n.push("import "+e+' from "'+stringEscape(u.dependencies[e])+'";')})),n.push("")),n.push(e,"","export {"," peg$SyntaxError as SyntaxError,",u.trace?" peg$DefaultTracer as DefaultTracer,":""," peg$parse as parse","};"),n},amd:function(){var o=Object.keys(u.dependencies),a="["+o.map((function(e){return u.dependencies[e]})).map((function(e){return'"'+stringEscape(e)+'"'})).join(", ")+"]",i=o.join(", ");return __spreadArray$1(__spreadArray$1([],r(),!0),["define("+a+", function("+i+") {",' "use strict";',"",e,"",t("return "+n()+";"),"});"],!1)},globals:function(){return __spreadArray$1(__spreadArray$1([],r(),!0),["(function(root) {",' "use strict";',"",e,"",t("root."+u.exportVar+" = "+n()+";"),"})(this);"],!1)},umd:function(){var o=Object.keys(u.dependencies),a=o.map((function(e){return u.dependencies[e]})),i="["+a.map((function(e){return'"'+stringEscape(e)+'"'})).join(", ")+"]",s=a.map((function(e){return'require("'+stringEscape(e)+'")'})).join(", "),c=o.join(", "),l=r();return l.push("(function(root, factory) {",' if (typeof define === "function" && define.amd) {'," define("+i+", factory);",' } else if (typeof module === "object" && module.exports) {'," module.exports = factory("+s+");"),null!==u.exportVar&&l.push(" } else {"," root."+u.exportVar+" = factory();"),l.push(" }","})(this, function("+c+") {",' "use strict";',"",e,"",t("return "+n()+";"),"});"),l}}[u.format]();return new SourceNode(null,null,u.grammarSource,o.map((function(e){return e instanceof SourceNode?e:e+"\n"})))}(function(){var c=[];e.topLevelInitializer&&(c.push(s(e.topLevelInitializer)),c.push("")),c.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.";',"};",""),u.trace&&c.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 l="{ "+u.allowedStartRules.map((function(e){return e+": "+i(e)})).join(", ")+" }",p=i(u.allowedStartRules[0]);return c.push("function peg$parse(input, options) {"," options = options !== undefined ? options : {};",""," var peg$FAILED = {};"," var peg$source = options.grammarSource;",""," var peg$startRuleFunctions = "+l+";"," var peg$startRuleFunction = "+p+";","",new SourceNode(null,null,u.grammarSource,[e.literals.map((function(e,u){return" var "+r(u)+' = "'+stringEscape(e)+'";'})).concat("",e.classes.map((function(e,u){return" var "+n(u)+" = /^["+((t=e).inverted?"^":"")+t.value.map((function(e){return Array.isArray(e)?regexpClassEscape(e[0])+"-"+regexpClassEscape(e[1]):regexpClassEscape(e)})).join("")+"]/"+(t.ignoreCase?"i":"")+";";var t}))).concat("",e.expectations.map((function(e,u){return" var "+o(u)+" = "+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"),e.functions.map((function(e,u){return wrapInSourceNode("\n var ".concat(a(u)," = function(").concat(e.params.join(", "),") {"),e.body,e.location,"};")}))]),""," 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;",""),u.cache&&c.push(" var peg$resultsCache = {};",""),u.trace&&c.push(' var peg$tracer = "tracer" in options ? options.tracer : new peg$DefaultTracer();',""),c.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 {"," p = pos - 1;"," while (!peg$posDetailsCache[p]) {"," 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(s){c.push.apply(c,t(function(s){var c=[],l=new Stack(s.name,"s","var",s.bytecode),p=function u(c){var p=0,A=c.length,f=[],E=void 0;function h(e,r){var n=r+3,o=c[p+n-2],a=c[p+n-1],i=void 0,s=void 0;l.checkedIf(p,(function(){p+=n,i=u(c.slice(p,p+o)),p+=o}),a>0?function(){s=u(c.slice(p,p+a)),p+=a}:null),f.push("if ("+e+") {"),f.push.apply(f,t(i)),a>0&&(f.push("} else {"),f.push.apply(f,t(s))),f.push("}")}function d(e){var r=c[p+2-1],n=void 0;l.checkedLoop(p,(function(){p+=2,n=u(c.slice(p,p+r)),p+=r})),f.push("while ("+e+") {"),f.push.apply(f,t(n)),f.push("}")}function C(e){var u=c[p+e-1];return a(c[p+1])+"("+c.slice(p+e,p+e+u).map((function(e){return l.index(e)})).join(", ")+")"}for(;p= "+c[p+1],1);break;case op.IF_LT_DYNAMIC:h(l.top()+".length < ("+l.index(c[p+1])+"|0)",1);break;case op.IF_GE_DYNAMIC:h(l.top()+".length >= ("+l.index(c[p+1])+"|0)",1);break;case op.WHILE_NOT_ERROR:d(l.top()+" !== peg$FAILED");break;case op.MATCH_ANY:h("input.length > peg$currPos",0);break;case op.MATCH_STRING:h(e.literals[c[p+1]].length>1?"input.substr(peg$currPos, "+e.literals[c[p+1]].length+") === "+r(c[p+1]):"input.charCodeAt(peg$currPos) === "+e.literals[c[p+1]].charCodeAt(0),1);break;case op.MATCH_STRING_IC:h("input.substr(peg$currPos, "+e.literals[c[p+1]].length+").toLowerCase() === "+r(c[p+1]),1);break;case op.MATCH_CHAR_CLASS:h(n(c[p+1])+".test(input.charAt(peg$currPos))",1);break;case op.ACCEPT_N:f.push(l.push(c[p+1]>1?"input.substr(peg$currPos, "+c[p+1]+")":"input.charAt(peg$currPos)")),f.push(c[p+1]>1?"peg$currPos += "+c[p+1]+";":"peg$currPos++;"),p+=2;break;case op.ACCEPT_STRING:f.push(l.push(r(c[p+1]))),f.push(e.literals[c[p+1]].length>1?"peg$currPos += "+e.literals[c[p+1]].length+";":"peg$currPos++;"),p+=2;break;case op.FAIL:f.push(l.push("peg$FAILED")),f.push("if (peg$silentFails === 0) { peg$fail("+o(c[p+1])+"); }"),p+=2;break;case op.LOAD_SAVED_POS:f.push("peg$savedPos = "+l.index(c[p+1])+";"),p+=2;break;case op.UPDATE_SAVED_POS:f.push("peg$savedPos = peg$currPos;"),p++;break;case op.CALL:E=C(4),l.pop(c[p+2]),f.push(l.push(E)),p+=4+c[p+3];break;case op.RULE:f.push(l.push(i(e.rules[c[p+1]].name)+"()")),p+=2;break;case op.SILENT_FAILS_ON:f.push("peg$silentFails++;"),p++;break;case op.SILENT_FAILS_OFF:f.push("peg$silentFails--;"),p++;break;case op.SOURCE_MAP_PUSH:l.sourceMapPush(f,e.locations[c[p+1]]),p+=2;break;case op.SOURCE_MAP_POP:l.sourceMapPop(),p++;break;case op.SOURCE_MAP_LABEL_PUSH:l.labels[c[p+1]]={label:e.literals[c[p+2]],location:e.locations[c[p+3]]},p+=4;break;case op.SOURCE_MAP_LABEL_POP:delete l.labels[c[p+1]],p+=2;break;default:throw new Error("Invalid opcode: "+c[p]+".",{rule:s.name,bytecode:c})}return f}(s.bytecode);return c.push(wrapInSourceNode("function ",i(s.name),s.nameLocation,"() {\n",s.name)),u.trace&&c.push(" var startPos = peg$currPos;"),c.push(t(l.defines())),c.push.apply(c,t(function(t,r){var n=[];return n.push(""),u.trace&&n.push("peg$tracer.trace({",' type: "rule.enter",'," rule: "+t+","," location: peg$computeLocation(startPos, startPos, true)","});",""),u.cache&&(n.push("var key = peg$currPos * "+e.rules.length+" + "+r+";","var cached = peg$resultsCache[key];","","if (cached) {"," peg$currPos = cached.nextPos;",""),u.trace&&n.push("if (cached.result !== peg$FAILED) {"," peg$tracer.trace({",' type: "rule.match",'," rule: "+t+","," result: cached.result,"," location: peg$computeLocation(startPos, peg$currPos, true)"," });","} else {"," peg$tracer.trace({",' type: "rule.fail",'," rule: "+t+","," location: peg$computeLocation(startPos, startPos, true)"," });","}",""),n.push(" return cached.result;","}","")),n}('"'+stringEscape(s.name)+'"',asts$4.indexOfRule(e,s.name)))),c.push.apply(c,t(p)),c.push.apply(c,t(function(e,t){var r=[];return u.cache&&r.push("","peg$resultsCache[key] = { nextPos: peg$currPos, result: "+t+" };"),u.trace&&r.push("","if ("+t+" !== peg$FAILED) {"," peg$tracer.trace({",' type: "rule.match",'," rule: "+e+","," result: "+t+","," location: peg$computeLocation(startPos, peg$currPos, true)"," });","} else {"," peg$tracer.trace({",' type: "rule.fail",'," rule: "+e+","," location: peg$computeLocation(startPos, startPos, true)"," });","}"),r.push("","return "+t+";"),r}('"'+stringEscape(s.name)+'"',l.result()))),c.push("}"),c}(s))),c.push("")})),e.initializer&&(c.push(s(e.initializer)),c.push("")),c.push(" peg$result = peg$startRuleFunction();",""," if (peg$result !== peg$FAILED && peg$currPos === input.length) {"," return peg$result;"," } else {"," if (peg$result !== peg$FAILED && peg$currPos < input.length) {"," peg$fail(peg$endExpectation());"," }",""," throw peg$buildStructuredError("," peg$maxFailExpected,"," peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,"," peg$maxFailPos < input.length"," ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)"," : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)"," );"," }","}"),new SourceNode(null,null,u.grammarSource,c.map((function(e){return e instanceof SourceNode?e:e+"\n"})))}())}var generateJs=generateJS$1,asts$3=asts_1,visitor$7=visitor_1;function removeProxyRules$1(e,u,t){var r=[];e.rules.forEach((function(n,o){var a;"rule"===(a=n).type&&"rule_ref"===a.expression.type&&(function(e,u,r){visitor$7.build({rule_ref:function(n){n.name===u&&(n.name=r,t.info('Proxy rule "'.concat(u,'" replaced by the rule "').concat(r,'"'),n.location,[{message:"This rule will be used",location:asts$3.findRule(e,r).nameLocation}]))}})(e)}(e,n.name,n.expression.name),-1===u.allowedStartRules.indexOf(n.name)&&r.push(o))})),r.reverse(),r.forEach((function(u){e.rules.splice(u,1)}))}var removeProxyRules_1=removeProxyRules$1,visitor$6=visitor_1;function reportDuplicateLabels$1(e,u,t){function r(e){var u={};return Object.keys(e).forEach((function(t){u[t]=e[t]})),u}function n(e,u){o(e.expression,r(u))}var o=visitor$6.build({rule:function(e){o(e.expression,{})},choice:function(e,u){e.alternatives.forEach((function(e){o(e,r(u))}))},action:n,labeled:function(e,u){var r=e.label;r&&Object.prototype.hasOwnProperty.call(u,r)&&t.error('Label "'.concat(e.label,'" is already defined'),e.labelLocation,[{message:"Original label location",location:u[r]}]),o(e.expression,u),u[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,u){e.delimiter&&o(e.delimiter,r(u)),o(e.expression,r(u))},group:n});o(e)}var reportDuplicateLabels_1=reportDuplicateLabels$1,visitor$5=visitor_1;function reportDuplicateRules$1(e,u,t){var r={};visitor$5.build({rule:function(e){Object.prototype.hasOwnProperty.call(r,e.name)?t.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,u,t){var r=[],n=[],o=visitor$4.build({rule:function(e){r.push(e.name),o(e.expression),r.pop()},sequence:function(u){u.elements.every((function(u){return o(u),!asts$2.alwaysConsumesOnSuccess(e,u)}))},repeated:function(u){o(u.expression),u.delimiter&&!asts$2.alwaysConsumesOnSuccess(e,u.expression)&&o(u.delimiter)},rule_ref:function(u){n.push(u);var a=asts$2.findRule(e,u.name);if(-1!==r.indexOf(u.name))return r.push(u.name),void t.error("Possible infinite loop when parsing (left recursion: "+r.join(" -> ")+")",a.nameLocation,n.map((function(e,u,t){return{message:u+1!==t.length?"Step ".concat(u+1,': call of the rule "').concat(e.name,'" without input consumption'):"Step ".concat(u+1,": call itself without input consumption - left recursion"),location:e.location}})));a&&o(a),n.pop()}});o(e)}var reportInfiniteRecursion_1=reportInfiniteRecursion$1,asts$1=asts_1,visitor$3=visitor_1;function reportInfiniteRepetition$1(e,u,t){var r=visitor$3.build({zero_or_more:function(u){asts$1.alwaysConsumesOnSuccess(e,u.expression)||t.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",u.location)},one_or_more:function(u){asts$1.alwaysConsumesOnSuccess(e,u.expression)||t.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",u.location)},repeated:function(u){if(u.delimiter&&r(u.delimiter),!(asts$1.alwaysConsumesOnSuccess(e,u.expression)||u.delimiter&&asts$1.alwaysConsumesOnSuccess(e,u.delimiter)))if(null===u.max.value)t.error("Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",u.location);else{var n=u.min?u.min:u.max;t.warning("constant"===n.type&&"constant"===u.max.type?"An expression may not consume any input and may always match ".concat(u.max.value," times"):"An expression may not consume any input and may always match with a maximum repetition count",u.location)}}});r(e)}var reportInfiniteRepetition_1=reportInfiniteRepetition$1,asts=asts_1,visitor$2=visitor_1;function reportUndefinedRules$1(e,u,t){visitor$2.build({rule_ref:function(u){asts.findRule(e,u.name)||t.error('Rule "'.concat(u.name,'" is not defined'),u.location)}})(e)}var reportUndefinedRules_1=reportUndefinedRules$1,visitor$1=visitor_1;function reportIncorrectPlucking$1(e,u,t){var r=visitor$1.build({action:function(e){r(e.expression,e)},labeled:function(e,u){e.pick&&u&&t.error('"@" cannot be used with an action block',e.labelLocation,[{message:"Action block location",location:u.codeLocation}]),r(e.expression)}});r(e)}var reportIncorrectPlucking_1=reportIncorrectPlucking$1,__spreadArray=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,u,t){if(t||2===arguments.length)for(var r,n=0,o=u.length;n0:e&&"function"==typeof e.offset}var compiler$1={visitor:visitor,passes:{check:[reportUndefinedRules,reportDuplicateRules,reportDuplicateLabels,reportInfiniteRecursion,reportInfiniteRepetition,reportIncorrectPlucking],transform:[removeProxyRules,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(u){session.info("Process pass ".concat(e,".").concat(u.name)),u(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,u){function t(){this.constructor=e}t.prototype=u.prototype,e.prototype=new t}function peg$SyntaxError(e,u,t,r){var n=Error.call(this,e);return Object.setPrototypeOf&&Object.setPrototypeOf(n,peg$SyntaxError.prototype),n.expected=u,n.found=t,n.location=r,n.name="SyntaxError",n}function peg$padEnd(e,u,t){return t=t||" ",e.length>u?e:(u-=e.length,e+(t+=t.repeat(u)).slice(0,u))}function peg$parse(e,u){var t,r={},n=(u=void 0!==u?u:{}).grammarSource,o={Grammar:Yt},a=Yt,i="{",s="}",c="=",l="/",p="@",A=":",f="$",E="&",h="!",d="?",C="*",g="+",m="|",F=",",_="..",v="(",B=")",D="\t",$="\v",S="\f",y=" ",P=" ",x="\ufeff",b="\n",R="\r\n",O="\r",L="\u2028",M="\u2029",T="/*",I="*/",w="//",N="_",k="\\",H="‌",U="‍",j="i",G='"',V="'",Y="[",W="^",z="]",J="-",Q="0",q="b",X="f",K="n",Z="r",ee="t",ue="v",te="x",re="u",ne=".",oe=";",ae=/^[\n\r\u2028\u2029]/,ie=/^[0-9]/,se=/^[0-9a-f]/i,ce=/^[{}]/,le=/^[a-z\xB5\xDF-\xF6\xF8-\xFF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137-\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148-\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E-\u0180\u0183\u0185\u0188\u018C-\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA-\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9-\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC-\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF-\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F-\u0240\u0242\u0247\u0249\u024B\u024D\u024F-\u0293\u0295-\u02AF\u0371\u0373\u0377\u037B-\u037D\u0390\u03AC-\u03CE\u03D0-\u03D1\u03D5-\u03D7\u03D9\u03DB\u03DD\u03DF\u03E1\u03E3\u03E5\u03E7\u03E9\u03EB\u03ED\u03EF-\u03F3\u03F5\u03F8\u03FB-\u03FC\u0430-\u045F\u0461\u0463\u0465\u0467\u0469\u046B\u046D\u046F\u0471\u0473\u0475\u0477\u0479\u047B\u047D\u047F\u0481\u048B\u048D\u048F\u0491\u0493\u0495\u0497\u0499\u049B\u049D\u049F\u04A1\u04A3\u04A5\u04A7\u04A9\u04AB\u04AD\u04AF\u04B1\u04B3\u04B5\u04B7\u04B9\u04BB\u04BD\u04BF\u04C2\u04C4\u04C6\u04C8\u04CA\u04CC\u04CE-\u04CF\u04D1\u04D3\u04D5\u04D7\u04D9\u04DB\u04DD\u04DF\u04E1\u04E3\u04E5\u04E7\u04E9\u04EB\u04ED\u04EF\u04F1\u04F3\u04F5\u04F7\u04F9\u04FB\u04FD\u04FF\u0501\u0503\u0505\u0507\u0509\u050B\u050D\u050F\u0511\u0513\u0515\u0517\u0519\u051B\u051D\u051F\u0521\u0523\u0525\u0527\u0529\u052B\u052D\u052F\u0561-\u0587\u13F8-\u13FD\u1D00-\u1D2B\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFF-\u1F07\u1F10-\u1F15\u1F20-\u1F27\u1F30-\u1F37\u1F40-\u1F45\u1F50-\u1F57\u1F60-\u1F67\u1F70-\u1F7D\u1F80-\u1F87\u1F90-\u1F97\u1FA0-\u1FA7\u1FB0-\u1FB4\u1FB6-\u1FB7\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FC7\u1FD0-\u1FD3\u1FD6-\u1FD7\u1FE0-\u1FE7\u1FF2-\u1FF4\u1FF6-\u1FF7\u210A\u210E-\u210F\u2113\u212F\u2134\u2139\u213C-\u213D\u2146-\u2149\u214E\u2184\u2C30-\u2C5E\u2C61\u2C65-\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73-\u2C74\u2C76-\u2C7B\u2C81\u2C83\u2C85\u2C87\u2C89\u2C8B\u2C8D\u2C8F\u2C91\u2C93\u2C95\u2C97\u2C99\u2C9B\u2C9D\u2C9F\u2CA1\u2CA3\u2CA5\u2CA7\u2CA9\u2CAB\u2CAD\u2CAF\u2CB1\u2CB3\u2CB5\u2CB7\u2CB9\u2CBB\u2CBD\u2CBF\u2CC1\u2CC3\u2CC5\u2CC7\u2CC9\u2CCB\u2CCD\u2CCF\u2CD1\u2CD3\u2CD5\u2CD7\u2CD9\u2CDB\u2CDD\u2CDF\u2CE1\u2CE3-\u2CE4\u2CEC\u2CEE\u2CF3\u2D00-\u2D25\u2D27\u2D2D\uA641\uA643\uA645\uA647\uA649\uA64B\uA64D\uA64F\uA651\uA653\uA655\uA657\uA659\uA65B\uA65D\uA65F\uA661\uA663\uA665\uA667\uA669\uA66B\uA66D\uA681\uA683\uA685\uA687\uA689\uA68B\uA68D\uA68F\uA691\uA693\uA695\uA697\uA699\uA69B\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7B5\uA7B7\uA7FA\uAB30-\uAB5A\uAB60-\uAB65\uAB70-\uABBF\uFB00-\uFB06\uFB13-\uFB17\uFF41-\uFF5A]/,pe=/^[\u02B0-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0374\u037A\u0559\u0640\u06E5-\u06E6\u07F4-\u07F5\u07FA\u081A\u0824\u0828\u0971\u0E46\u0EC6\u10FC\u17D7\u1843\u1AA7\u1C78-\u1C7D\u1D2C-\u1D6A\u1D78\u1D9B-\u1DBF\u2071\u207F\u2090-\u209C\u2C7C-\u2C7D\u2D6F\u2E2F\u3005\u3031-\u3035\u303B\u309D-\u309E\u30FC-\u30FE\uA015\uA4F8-\uA4FD\uA60C\uA67F\uA69C-\uA69D\uA717-\uA71F\uA770\uA788\uA7F8-\uA7F9\uA9CF\uA9E6\uAA70\uAADD\uAAF3-\uAAF4\uAB5C-\uAB5F\uFF70\uFF9E-\uFF9F]/,Ae=/^[\xAA\xBA\u01BB\u01C0-\u01C3\u0294\u05D0-\u05EA\u05F0-\u05F2\u0620-\u063F\u0641-\u064A\u066E-\u066F\u0671-\u06D3\u06D5\u06EE-\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u0800-\u0815\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0972-\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-\u0E45\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065-\u1066\u106E-\u1070\u1075-\u1081\u108E\u10D0-\u10FA\u10FD-\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\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17DC\u1820-\u1842\u1844-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE-\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C77\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5-\u1CF6\u2135-\u2138\u2D30-\u2D67\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3006\u303C\u3041-\u3096\u309F\u30A1-\u30FA\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA014\uA016-\uA48C\uA4D0-\uA4F7\uA500-\uA60B\uA610-\uA61F\uA62A-\uA62B\uA66E\uA6A0-\uA6E5\uA78F\uA7F7\uA7FB-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9E0-\uA9E4\uA9E7-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA6F\uAA71-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADC\uAAE0-\uAAEA\uAAF2\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\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\uFF66-\uFF6F\uFF71-\uFF9D\uFFA0-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,fe=/^[\u01C5\u01C8\u01CB\u01F2\u1F88-\u1F8F\u1F98-\u1F9F\u1FA8-\u1FAF\u1FBC\u1FCC\u1FFC]/,Ee=/^[A-Z\xC0-\xD6\xD8-\xDE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178-\u0179\u017B\u017D\u0181-\u0182\u0184\u0186-\u0187\u0189-\u018B\u018E-\u0191\u0193-\u0194\u0196-\u0198\u019C-\u019D\u019F-\u01A0\u01A2\u01A4\u01A6-\u01A7\u01A9\u01AC\u01AE-\u01AF\u01B1-\u01B3\u01B5\u01B7-\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A-\u023B\u023D-\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E-\u038F\u0391-\u03A1\u03A3-\u03AB\u03CF\u03D2-\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9-\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0-\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u10A0-\u10C5\u10C7\u10CD\u13A0-\u13F5\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1FB8-\u1FBB\u1FC8-\u1FCB\u1FD8-\u1FDB\u1FE8-\u1FEC\u1FF8-\u1FFB\u2102\u2107\u210B-\u210D\u2110-\u2112\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u2130-\u2133\u213E-\u213F\u2145\u2183\u2C00-\u2C2E\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D-\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AD\uA7B0-\uA7B4\uA7B6\uFF21-\uFF3A]/,he=/^[\u0903\u093B\u093E-\u0940\u0949-\u094C\u094E-\u094F\u0982-\u0983\u09BE-\u09C0\u09C7-\u09C8\u09CB-\u09CC\u09D7\u0A03\u0A3E-\u0A40\u0A83\u0ABE-\u0AC0\u0AC9\u0ACB-\u0ACC\u0B02-\u0B03\u0B3E\u0B40\u0B47-\u0B48\u0B4B-\u0B4C\u0B57\u0BBE-\u0BBF\u0BC1-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0BD7\u0C01-\u0C03\u0C41-\u0C44\u0C82-\u0C83\u0CBE\u0CC0-\u0CC4\u0CC7-\u0CC8\u0CCA-\u0CCB\u0CD5-\u0CD6\u0D02-\u0D03\u0D3E-\u0D40\u0D46-\u0D48\u0D4A-\u0D4C\u0D57\u0D82-\u0D83\u0DCF-\u0DD1\u0DD8-\u0DDF\u0DF2-\u0DF3\u0F3E-\u0F3F\u0F7F\u102B-\u102C\u1031\u1038\u103B-\u103C\u1056-\u1057\u1062-\u1064\u1067-\u106D\u1083-\u1084\u1087-\u108C\u108F\u109A-\u109C\u17B6\u17BE-\u17C5\u17C7-\u17C8\u1923-\u1926\u1929-\u192B\u1930-\u1931\u1933-\u1938\u1A19-\u1A1A\u1A55\u1A57\u1A61\u1A63-\u1A64\u1A6D-\u1A72\u1B04\u1B35\u1B3B\u1B3D-\u1B41\u1B43-\u1B44\u1B82\u1BA1\u1BA6-\u1BA7\u1BAA\u1BE7\u1BEA-\u1BEC\u1BEE\u1BF2-\u1BF3\u1C24-\u1C2B\u1C34-\u1C35\u1CE1\u1CF2-\u1CF3\u302E-\u302F\uA823-\uA824\uA827\uA880-\uA881\uA8B4-\uA8C3\uA952-\uA953\uA983\uA9B4-\uA9B5\uA9BA-\uA9BB\uA9BD-\uA9C0\uAA2F-\uAA30\uAA33-\uAA34\uAA4D\uAA7B\uAA7D\uAAEB\uAAEE-\uAAEF\uAAF5\uABE3-\uABE4\uABE6-\uABE7\uABE9-\uABEA\uABEC]/,de=/^[\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7-\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962-\u0963\u0981\u09BC\u09C1-\u09C4\u09CD\u09E2-\u09E3\u0A01-\u0A02\u0A3C\u0A41-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D\u0A51\u0A70-\u0A71\u0A75\u0A81-\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7-\u0AC8\u0ACD\u0AE2-\u0AE3\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D\u0B56\u0B62-\u0B63\u0B82\u0BC0\u0BCD\u0C00\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55-\u0C56\u0C62-\u0C63\u0C81\u0CBC\u0CBF\u0CC6\u0CCC-\u0CCD\u0CE2-\u0CE3\u0D01\u0D41-\u0D44\u0D4D\u0D62-\u0D63\u0DCA\u0DD2-\u0DD4\u0DD6\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB-\u0EBC\u0EC8-\u0ECD\u0F18-\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86-\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039-\u103A\u103D-\u103E\u1058-\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085-\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17B4-\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u1922\u1927-\u1928\u1932\u1939-\u193B\u1A17-\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ABD\u1B00-\u1B03\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80-\u1B81\u1BA2-\u1BA5\u1BA8-\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8-\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8-\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302D\u3099-\u309A\uA66F\uA674-\uA67D\uA69E-\uA69F\uA6F0-\uA6F1\uA802\uA806\uA80B\uA825-\uA826\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9E5\uAA29-\uAA2E\uAA31-\uAA32\uAA35-\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7-\uAAB8\uAABE-\uAABF\uAAC1\uAAEC-\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/,Ce=/^[0-9\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19]/,ge=/^[\u16EE-\u16F0\u2160-\u2182\u2185-\u2188\u3007\u3021-\u3029\u3038-\u303A\uA6E6-\uA6EF]/,me=/^[_\u203F-\u2040\u2054\uFE33-\uFE34\uFE4D-\uFE4F\uFF3F]/,Fe=/^[ \xA0\u1680\u2000-\u200A\u202F\u205F\u3000]/,_e=kt("{",!1),ve=kt("}",!1),Be=kt("=",!1),De=kt("/",!1),$e=kt("@",!1),Se=kt(":",!1),ye=kt("$",!1),Pe=kt("&",!1),xe=kt("!",!1),be=kt("?",!1),Re=kt("*",!1),Oe=kt("+",!1),Le=kt("|",!1),Me=kt(",",!1),Te=kt("..",!1),Ie=kt("(",!1),we=kt(")",!1),Ne={type:"any"},ke=Ut("whitespace"),He=kt("\t",!1),Ue=kt("\v",!1),je=kt("\f",!1),Ge=kt(" ",!1),Ve=kt(" ",!1),Ye=kt("\ufeff",!1),We=Ht(["\n","\r","\u2028","\u2029"],!1,!1),ze=Ut("end of line"),Je=kt("\n",!1),Qe=kt("\r\n",!1),qe=kt("\r",!1),Xe=kt("\u2028",!1),Ke=kt("\u2029",!1),Ze=Ut("comment"),eu=kt("/*",!1),uu=kt("*/",!1),tu=kt("//",!1),ru=Ut("identifier"),nu=kt("_",!1),ou=kt("\\",!1),au=kt("‌",!1),iu=kt("‍",!1),su=Ut("literal"),cu=kt("i",!1),lu=Ut("string"),pu=kt('"',!1),Au=kt("'",!1),fu=Ut("character class"),Eu=kt("[",!1),hu=kt("^",!1),du=kt("]",!1),Cu=kt("-",!1),gu=kt("0",!1),mu=kt("b",!1),Fu=kt("f",!1),_u=kt("n",!1),vu=kt("r",!1),Bu=kt("t",!1),Du=kt("v",!1),$u=kt("x",!1),Su=kt("u",!1),yu=Ht([["0","9"]],!1,!1),Pu=Ht([["0","9"],["a","f"]],!1,!0),xu=kt(".",!1),bu=Ut("code block"),Ru=Ht(["{","}"],!1,!1),Ou=Ht([["a","z"],"µ",["ß","ö"],["ø","ÿ"],"ā","ă","ą","ć","ĉ","ċ","č","ď","đ","ē","ĕ","ė","ę","ě","ĝ","ğ","ġ","ģ","ĥ","ħ","ĩ","ī","ĭ","į","ı","ij","ĵ",["ķ","ĸ"],"ĺ","ļ","ľ","ŀ","ł","ń","ņ",["ň","ʼn"],"ŋ","ō","ŏ","ő","œ","ŕ","ŗ","ř","ś","ŝ","ş","š","ţ","ť","ŧ","ũ","ū","ŭ","ů","ű","ų","ŵ","ŷ","ź","ż",["ž","ƀ"],"ƃ","ƅ","ƈ",["ƌ","ƍ"],"ƒ","ƕ",["ƙ","ƛ"],"ƞ","ơ","ƣ","ƥ","ƨ",["ƪ","ƫ"],"ƭ","ư","ƴ","ƶ",["ƹ","ƺ"],["ƽ","ƿ"],"dž","lj","nj","ǎ","ǐ","ǒ","ǔ","ǖ","ǘ","ǚ",["ǜ","ǝ"],"ǟ","ǡ","ǣ","ǥ","ǧ","ǩ","ǫ","ǭ",["ǯ","ǰ"],"dz","ǵ","ǹ","ǻ","ǽ","ǿ","ȁ","ȃ","ȅ","ȇ","ȉ","ȋ","ȍ","ȏ","ȑ","ȓ","ȕ","ȗ","ș","ț","ȝ","ȟ","ȡ","ȣ","ȥ","ȧ","ȩ","ȫ","ȭ","ȯ","ȱ",["ȳ","ȹ"],"ȼ",["ȿ","ɀ"],"ɂ","ɇ","ɉ","ɋ","ɍ",["ɏ","ʓ"],["ʕ","ʯ"],"ͱ","ͳ","ͷ",["ͻ","ͽ"],"ΐ",["ά","ώ"],["ϐ","ϑ"],["ϕ","ϗ"],"ϙ","ϛ","ϝ","ϟ","ϡ","ϣ","ϥ","ϧ","ϩ","ϫ","ϭ",["ϯ","ϳ"],"ϵ","ϸ",["ϻ","ϼ"],["а","џ"],"ѡ","ѣ","ѥ","ѧ","ѩ","ѫ","ѭ","ѯ","ѱ","ѳ","ѵ","ѷ","ѹ","ѻ","ѽ","ѿ","ҁ","ҋ","ҍ","ҏ","ґ","ғ","ҕ","җ","ҙ","қ","ҝ","ҟ","ҡ","ң","ҥ","ҧ","ҩ","ҫ","ҭ","ү","ұ","ҳ","ҵ","ҷ","ҹ","һ","ҽ","ҿ","ӂ","ӄ","ӆ","ӈ","ӊ","ӌ",["ӎ","ӏ"],"ӑ","ӓ","ӕ","ӗ","ә","ӛ","ӝ","ӟ","ӡ","ӣ","ӥ","ӧ","ө","ӫ","ӭ","ӯ","ӱ","ӳ","ӵ","ӷ","ӹ","ӻ","ӽ","ӿ","ԁ","ԃ","ԅ","ԇ","ԉ","ԋ","ԍ","ԏ","ԑ","ԓ","ԕ","ԗ","ԙ","ԛ","ԝ","ԟ","ԡ","ԣ","ԥ","ԧ","ԩ","ԫ","ԭ","ԯ",["ա","և"],["ᏸ","ᏽ"],["ᴀ","ᴫ"],["ᵫ","ᵷ"],["ᵹ","ᶚ"],"ḁ","ḃ","ḅ","ḇ","ḉ","ḋ","ḍ","ḏ","ḑ","ḓ","ḕ","ḗ","ḙ","ḛ","ḝ","ḟ","ḡ","ḣ","ḥ","ḧ","ḩ","ḫ","ḭ","ḯ","ḱ","ḳ","ḵ","ḷ","ḹ","ḻ","ḽ","ḿ","ṁ","ṃ","ṅ","ṇ","ṉ","ṋ","ṍ","ṏ","ṑ","ṓ","ṕ","ṗ","ṙ","ṛ","ṝ","ṟ","ṡ","ṣ","ṥ","ṧ","ṩ","ṫ","ṭ","ṯ","ṱ","ṳ","ṵ","ṷ","ṹ","ṻ","ṽ","ṿ","ẁ","ẃ","ẅ","ẇ","ẉ","ẋ","ẍ","ẏ","ẑ","ẓ",["ẕ","ẝ"],"ẟ","ạ","ả","ấ","ầ","ẩ","ẫ","ậ","ắ","ằ","ẳ","ẵ","ặ","ẹ","ẻ","ẽ","ế","ề","ể","ễ","ệ","ỉ","ị","ọ","ỏ","ố","ồ","ổ","ỗ","ộ","ớ","ờ","ở","ỡ","ợ","ụ","ủ","ứ","ừ","ử","ữ","ự","ỳ","ỵ","ỷ","ỹ","ỻ","ỽ",["ỿ","ἇ"],["ἐ","ἕ"],["ἠ","ἧ"],["ἰ","ἷ"],["ὀ","ὅ"],["ὐ","ὗ"],["ὠ","ὧ"],["ὰ","ώ"],["ᾀ","ᾇ"],["ᾐ","ᾗ"],["ᾠ","ᾧ"],["ᾰ","ᾴ"],["ᾶ","ᾷ"],"ι",["ῂ","ῄ"],["ῆ","ῇ"],["ῐ","ΐ"],["ῖ","ῗ"],["ῠ","ῧ"],["ῲ","ῴ"],["ῶ","ῷ"],"ℊ",["ℎ","ℏ"],"ℓ","ℯ","ℴ","ℹ",["ℼ","ℽ"],["ⅆ","ⅉ"],"ⅎ","ↄ",["ⰰ","ⱞ"],"ⱡ",["ⱥ","ⱦ"],"ⱨ","ⱪ","ⱬ","ⱱ",["ⱳ","ⱴ"],["ⱶ","ⱻ"],"ⲁ","ⲃ","ⲅ","ⲇ","ⲉ","ⲋ","ⲍ","ⲏ","ⲑ","ⲓ","ⲕ","ⲗ","ⲙ","ⲛ","ⲝ","ⲟ","ⲡ","ⲣ","ⲥ","ⲧ","ⲩ","ⲫ","ⲭ","ⲯ","ⲱ","ⲳ","ⲵ","ⲷ","ⲹ","ⲻ","ⲽ","ⲿ","ⳁ","ⳃ","ⳅ","ⳇ","ⳉ","ⳋ","ⳍ","ⳏ","ⳑ","ⳓ","ⳕ","ⳗ","ⳙ","ⳛ","ⳝ","ⳟ","ⳡ",["ⳣ","ⳤ"],"ⳬ","ⳮ","ⳳ",["ⴀ","ⴥ"],"ⴧ","ⴭ","ꙁ","ꙃ","ꙅ","ꙇ","ꙉ","ꙋ","ꙍ","ꙏ","ꙑ","ꙓ","ꙕ","ꙗ","ꙙ","ꙛ","ꙝ","ꙟ","ꙡ","ꙣ","ꙥ","ꙧ","ꙩ","ꙫ","ꙭ","ꚁ","ꚃ","ꚅ","ꚇ","ꚉ","ꚋ","ꚍ","ꚏ","ꚑ","ꚓ","ꚕ","ꚗ","ꚙ","ꚛ","ꜣ","ꜥ","ꜧ","ꜩ","ꜫ","ꜭ",["ꜯ","ꜱ"],"ꜳ","ꜵ","ꜷ","ꜹ","ꜻ","ꜽ","ꜿ","ꝁ","ꝃ","ꝅ","ꝇ","ꝉ","ꝋ","ꝍ","ꝏ","ꝑ","ꝓ","ꝕ","ꝗ","ꝙ","ꝛ","ꝝ","ꝟ","ꝡ","ꝣ","ꝥ","ꝧ","ꝩ","ꝫ","ꝭ","ꝯ",["ꝱ","ꝸ"],"ꝺ","ꝼ","ꝿ","ꞁ","ꞃ","ꞅ","ꞇ","ꞌ","ꞎ","ꞑ",["ꞓ","ꞕ"],"ꞗ","ꞙ","ꞛ","ꞝ","ꞟ","ꞡ","ꞣ","ꞥ","ꞧ","ꞩ","ꞵ","ꞷ","ꟺ",["ꬰ","ꭚ"],["ꭠ","ꭥ"],["ꭰ","ꮿ"],["ff","st"],["ﬓ","ﬗ"],["a","z"]],!1,!1),Lu=Ht([["ʰ","ˁ"],["ˆ","ˑ"],["ˠ","ˤ"],"ˬ","ˮ","ʹ","ͺ","ՙ","ـ",["ۥ","ۦ"],["ߴ","ߵ"],"ߺ","ࠚ","ࠤ","ࠨ","ॱ","ๆ","ໆ","ჼ","ៗ","ᡃ","ᪧ",["ᱸ","ᱽ"],["ᴬ","ᵪ"],"ᵸ",["ᶛ","ᶿ"],"ⁱ","ⁿ",["ₐ","ₜ"],["ⱼ","ⱽ"],"ⵯ","ⸯ","々",["〱","〵"],"〻",["ゝ","ゞ"],["ー","ヾ"],"ꀕ",["ꓸ","ꓽ"],"ꘌ","ꙿ",["ꚜ","ꚝ"],["ꜗ","ꜟ"],"ꝰ","ꞈ",["ꟸ","ꟹ"],"ꧏ","ꧦ","ꩰ","ꫝ",["ꫳ","ꫴ"],["ꭜ","ꭟ"],"ー",["゙","゚"]],!1,!1),Mu=Ht(["ª","º","ƻ",["ǀ","ǃ"],"ʔ",["א","ת"],["װ","ײ"],["ؠ","ؿ"],["ف","ي"],["ٮ","ٯ"],["ٱ","ۓ"],"ە",["ۮ","ۯ"],["ۺ","ۼ"],"ۿ","ܐ",["ܒ","ܯ"],["ݍ","ޥ"],"ޱ",["ߊ","ߪ"],["ࠀ","ࠕ"],["ࡀ","ࡘ"],["ࢠ","ࢴ"],["ऄ","ह"],"ऽ","ॐ",["क़","ॡ"],["ॲ","ঀ"],["অ","ঌ"],["এ","ঐ"],["ও","ন"],["প","র"],"ল",["শ","হ"],"ঽ","ৎ",["ড়","ঢ়"],["য়","ৡ"],["ৰ","ৱ"],["ਅ","ਊ"],["ਏ","ਐ"],["ਓ","ਨ"],["ਪ","ਰ"],["ਲ","ਲ਼"],["ਵ","ਸ਼"],["ਸ","ਹ"],["ਖ਼","ੜ"],"ਫ਼",["ੲ","ੴ"],["અ","ઍ"],["એ","ઑ"],["ઓ","ન"],["પ","ર"],["લ","ળ"],["વ","હ"],"ઽ","ૐ",["ૠ","ૡ"],"ૹ",["ଅ","ଌ"],["ଏ","ଐ"],["ଓ","ନ"],["ପ","ର"],["ଲ","ଳ"],["ଵ","ହ"],"ଽ",["ଡ଼","ଢ଼"],["ୟ","ୡ"],"ୱ","ஃ",["அ","ஊ"],["எ","ஐ"],["ஒ","க"],["ங","ச"],"ஜ",["ஞ","ட"],["ண","த"],["ந","ப"],["ம","ஹ"],"ௐ",["అ","ఌ"],["ఎ","ఐ"],["ఒ","న"],["ప","హ"],"ఽ",["ౘ","ౚ"],["ౠ","ౡ"],["ಅ","ಌ"],["ಎ","ಐ"],["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"],"ಽ","ೞ",["ೠ","ೡ"],["ೱ","ೲ"],["അ","ഌ"],["എ","ഐ"],["ഒ","ഺ"],"ഽ","ൎ",["ൟ","ൡ"],["ൺ","ൿ"],["අ","ඖ"],["ක","න"],["ඳ","ර"],"ල",["ව","ෆ"],["ก","ะ"],["า","ำ"],["เ","ๅ"],["ກ","ຂ"],"ຄ",["ງ","ຈ"],"ຊ","ຍ",["ດ","ທ"],["ນ","ຟ"],["ມ","ຣ"],"ລ","ວ",["ສ","ຫ"],["ອ","ະ"],["າ","ຳ"],"ຽ",["ເ","ໄ"],["ໜ","ໟ"],"ༀ",["ཀ","ཇ"],["ཉ","ཬ"],["ྈ","ྌ"],["က","ဪ"],"ဿ",["ၐ","ၕ"],["ၚ","ၝ"],"ၡ",["ၥ","ၦ"],["ၮ","ၰ"],["ၵ","ႁ"],"ႎ",["ა","ჺ"],["ჽ","ቈ"],["ቊ","ቍ"],["ቐ","ቖ"],"ቘ",["ቚ","ቝ"],["በ","ኈ"],["ኊ","ኍ"],["ነ","ኰ"],["ኲ","ኵ"],["ኸ","ኾ"],"ዀ",["ዂ","ዅ"],["ወ","ዖ"],["ዘ","ጐ"],["ጒ","ጕ"],["ጘ","ፚ"],["ᎀ","ᎏ"],["ᐁ","ᙬ"],["ᙯ","ᙿ"],["ᚁ","ᚚ"],["ᚠ","ᛪ"],["ᛱ","ᛸ"],["ᜀ","ᜌ"],["ᜎ","ᜑ"],["ᜠ","ᜱ"],["ᝀ","ᝑ"],["ᝠ","ᝬ"],["ᝮ","ᝰ"],["ក","ឳ"],"ៜ",["ᠠ","ᡂ"],["ᡄ","ᡷ"],["ᢀ","ᢨ"],"ᢪ",["ᢰ","ᣵ"],["ᤀ","ᤞ"],["ᥐ","ᥭ"],["ᥰ","ᥴ"],["ᦀ","ᦫ"],["ᦰ","ᧉ"],["ᨀ","ᨖ"],["ᨠ","ᩔ"],["ᬅ","ᬳ"],["ᭅ","ᭋ"],["ᮃ","ᮠ"],["ᮮ","ᮯ"],["ᮺ","ᯥ"],["ᰀ","ᰣ"],["ᱍ","ᱏ"],["ᱚ","ᱷ"],["ᳩ","ᳬ"],["ᳮ","ᳱ"],["ᳵ","ᳶ"],["ℵ","ℸ"],["ⴰ","ⵧ"],["ⶀ","ⶖ"],["ⶠ","ⶦ"],["ⶨ","ⶮ"],["ⶰ","ⶶ"],["ⶸ","ⶾ"],["ⷀ","ⷆ"],["ⷈ","ⷎ"],["ⷐ","ⷖ"],["ⷘ","ⷞ"],"〆","〼",["ぁ","ゖ"],"ゟ",["ァ","ヺ"],"ヿ",["ㄅ","ㄭ"],["ㄱ","ㆎ"],["ㆠ","ㆺ"],["ㇰ","ㇿ"],["㐀","䶵"],["一","鿕"],["ꀀ","ꀔ"],["ꀖ","ꒌ"],["ꓐ","ꓷ"],["ꔀ","ꘋ"],["ꘐ","ꘟ"],["ꘪ","ꘫ"],"ꙮ",["ꚠ","ꛥ"],"ꞏ","ꟷ",["ꟻ","ꠁ"],["ꠃ","ꠅ"],["ꠇ","ꠊ"],["ꠌ","ꠢ"],["ꡀ","ꡳ"],["ꢂ","ꢳ"],["ꣲ","ꣷ"],"ꣻ","ꣽ",["ꤊ","ꤥ"],["ꤰ","ꥆ"],["ꥠ","ꥼ"],["ꦄ","ꦲ"],["ꧠ","ꧤ"],["ꧧ","ꧯ"],["ꧺ","ꧾ"],["ꨀ","ꨨ"],["ꩀ","ꩂ"],["ꩄ","ꩋ"],["ꩠ","ꩯ"],["ꩱ","ꩶ"],"ꩺ",["ꩾ","ꪯ"],"ꪱ",["ꪵ","ꪶ"],["ꪹ","ꪽ"],"ꫀ","ꫂ",["ꫛ","ꫜ"],["ꫠ","ꫪ"],"ꫲ",["ꬁ","ꬆ"],["ꬉ","ꬎ"],["ꬑ","ꬖ"],["ꬠ","ꬦ"],["ꬨ","ꬮ"],["ꯀ","ꯢ"],["가","힣"],["ힰ","ퟆ"],["ퟋ","ퟻ"],["豈","舘"],["並","龎"],"יִ",["ײַ","ﬨ"],["שׁ","זּ"],["טּ","לּ"],"מּ",["נּ","סּ"],["ףּ","פּ"],["צּ","ﮱ"],["ﯓ","ﴽ"],["ﵐ","ﶏ"],["ﶒ","ﷇ"],["ﷰ","ﷻ"],["ﹰ","ﹴ"],["ﹶ","ﻼ"],["ヲ","ッ"],["ア","ン"],["ᅠ","ᄒ"],["ᅡ","ᅦ"],["ᅧ","ᅬ"],["ᅭ","ᅲ"],["ᅳ","ᅵ"]],!1,!1),Tu=Ht(["Dž","Lj","Nj","Dz",["ᾈ","ᾏ"],["ᾘ","ᾟ"],["ᾨ","ᾯ"],"ᾼ","ῌ","ῼ"],!1,!1),Iu=Ht([["A","Z"],["À","Ö"],["Ø","Þ"],"Ā","Ă","Ą","Ć","Ĉ","Ċ","Č","Ď","Đ","Ē","Ĕ","Ė","Ę","Ě","Ĝ","Ğ","Ġ","Ģ","Ĥ","Ħ","Ĩ","Ī","Ĭ","Į","İ","IJ","Ĵ","Ķ","Ĺ","Ļ","Ľ","Ŀ","Ł","Ń","Ņ","Ň","Ŋ","Ō","Ŏ","Ő","Œ","Ŕ","Ŗ","Ř","Ś","Ŝ","Ş","Š","Ţ","Ť","Ŧ","Ũ","Ū","Ŭ","Ů","Ű","Ų","Ŵ","Ŷ",["Ÿ","Ź"],"Ż","Ž",["Ɓ","Ƃ"],"Ƅ",["Ɔ","Ƈ"],["Ɖ","Ƌ"],["Ǝ","Ƒ"],["Ɠ","Ɣ"],["Ɩ","Ƙ"],["Ɯ","Ɲ"],["Ɵ","Ơ"],"Ƣ","Ƥ",["Ʀ","Ƨ"],"Ʃ","Ƭ",["Ʈ","Ư"],["Ʊ","Ƴ"],"Ƶ",["Ʒ","Ƹ"],"Ƽ","DŽ","LJ","NJ","Ǎ","Ǐ","Ǒ","Ǔ","Ǖ","Ǘ","Ǚ","Ǜ","Ǟ","Ǡ","Ǣ","Ǥ","Ǧ","Ǩ","Ǫ","Ǭ","Ǯ","DZ","Ǵ",["Ƕ","Ǹ"],"Ǻ","Ǽ","Ǿ","Ȁ","Ȃ","Ȅ","Ȇ","Ȉ","Ȋ","Ȍ","Ȏ","Ȑ","Ȓ","Ȕ","Ȗ","Ș","Ț","Ȝ","Ȟ","Ƞ","Ȣ","Ȥ","Ȧ","Ȩ","Ȫ","Ȭ","Ȯ","Ȱ","Ȳ",["Ⱥ","Ȼ"],["Ƚ","Ⱦ"],"Ɂ",["Ƀ","Ɇ"],"Ɉ","Ɋ","Ɍ","Ɏ","Ͱ","Ͳ","Ͷ","Ϳ","Ά",["Έ","Ί"],"Ό",["Ύ","Ώ"],["Α","Ρ"],["Σ","Ϋ"],"Ϗ",["ϒ","ϔ"],"Ϙ","Ϛ","Ϝ","Ϟ","Ϡ","Ϣ","Ϥ","Ϧ","Ϩ","Ϫ","Ϭ","Ϯ","ϴ","Ϸ",["Ϲ","Ϻ"],["Ͻ","Я"],"Ѡ","Ѣ","Ѥ","Ѧ","Ѩ","Ѫ","Ѭ","Ѯ","Ѱ","Ѳ","Ѵ","Ѷ","Ѹ","Ѻ","Ѽ","Ѿ","Ҁ","Ҋ","Ҍ","Ҏ","Ґ","Ғ","Ҕ","Җ","Ҙ","Қ","Ҝ","Ҟ","Ҡ","Ң","Ҥ","Ҧ","Ҩ","Ҫ","Ҭ","Ү","Ұ","Ҳ","Ҵ","Ҷ","Ҹ","Һ","Ҽ","Ҿ",["Ӏ","Ӂ"],"Ӄ","Ӆ","Ӈ","Ӊ","Ӌ","Ӎ","Ӑ","Ӓ","Ӕ","Ӗ","Ә","Ӛ","Ӝ","Ӟ","Ӡ","Ӣ","Ӥ","Ӧ","Ө","Ӫ","Ӭ","Ӯ","Ӱ","Ӳ","Ӵ","Ӷ","Ӹ","Ӻ","Ӽ","Ӿ","Ԁ","Ԃ","Ԅ","Ԇ","Ԉ","Ԋ","Ԍ","Ԏ","Ԑ","Ԓ","Ԕ","Ԗ","Ԙ","Ԛ","Ԝ","Ԟ","Ԡ","Ԣ","Ԥ","Ԧ","Ԩ","Ԫ","Ԭ","Ԯ",["Ա","Ֆ"],["Ⴀ","Ⴥ"],"Ⴧ","Ⴭ",["Ꭰ","Ᏽ"],"Ḁ","Ḃ","Ḅ","Ḇ","Ḉ","Ḋ","Ḍ","Ḏ","Ḑ","Ḓ","Ḕ","Ḗ","Ḙ","Ḛ","Ḝ","Ḟ","Ḡ","Ḣ","Ḥ","Ḧ","Ḩ","Ḫ","Ḭ","Ḯ","Ḱ","Ḳ","Ḵ","Ḷ","Ḹ","Ḻ","Ḽ","Ḿ","Ṁ","Ṃ","Ṅ","Ṇ","Ṉ","Ṋ","Ṍ","Ṏ","Ṑ","Ṓ","Ṕ","Ṗ","Ṙ","Ṛ","Ṝ","Ṟ","Ṡ","Ṣ","Ṥ","Ṧ","Ṩ","Ṫ","Ṭ","Ṯ","Ṱ","Ṳ","Ṵ","Ṷ","Ṹ","Ṻ","Ṽ","Ṿ","Ẁ","Ẃ","Ẅ","Ẇ","Ẉ","Ẋ","Ẍ","Ẏ","Ẑ","Ẓ","Ẕ","ẞ","Ạ","Ả","Ấ","Ầ","Ẩ","Ẫ","Ậ","Ắ","Ằ","Ẳ","Ẵ","Ặ","Ẹ","Ẻ","Ẽ","Ế","Ề","Ể","Ễ","Ệ","Ỉ","Ị","Ọ","Ỏ","Ố","Ồ","Ổ","Ỗ","Ộ","Ớ","Ờ","Ở","Ỡ","Ợ","Ụ","Ủ","Ứ","Ừ","Ử","Ữ","Ự","Ỳ","Ỵ","Ỷ","Ỹ","Ỻ","Ỽ","Ỿ",["Ἀ","Ἇ"],["Ἐ","Ἕ"],["Ἠ","Ἧ"],["Ἰ","Ἷ"],["Ὀ","Ὅ"],"Ὑ","Ὓ","Ὕ","Ὗ",["Ὠ","Ὧ"],["Ᾰ","Ά"],["Ὲ","Ή"],["Ῐ","Ί"],["Ῠ","Ῥ"],["Ὸ","Ώ"],"ℂ","ℇ",["ℋ","ℍ"],["ℐ","ℒ"],"ℕ",["ℙ","ℝ"],"ℤ","Ω","ℨ",["K","ℭ"],["ℰ","ℳ"],["ℾ","ℿ"],"ⅅ","Ↄ",["Ⰰ","Ⱞ"],"Ⱡ",["Ɫ","Ɽ"],"Ⱨ","Ⱪ","Ⱬ",["Ɑ","Ɒ"],"Ⱳ","Ⱶ",["Ȿ","Ⲁ"],"Ⲃ","Ⲅ","Ⲇ","Ⲉ","Ⲋ","Ⲍ","Ⲏ","Ⲑ","Ⲓ","Ⲕ","Ⲗ","Ⲙ","Ⲛ","Ⲝ","Ⲟ","Ⲡ","Ⲣ","Ⲥ","Ⲧ","Ⲩ","Ⲫ","Ⲭ","Ⲯ","Ⲱ","Ⲳ","Ⲵ","Ⲷ","Ⲹ","Ⲻ","Ⲽ","Ⲿ","Ⳁ","Ⳃ","Ⳅ","Ⳇ","Ⳉ","Ⳋ","Ⳍ","Ⳏ","Ⳑ","Ⳓ","Ⳕ","Ⳗ","Ⳙ","Ⳛ","Ⳝ","Ⳟ","Ⳡ","Ⳣ","Ⳬ","Ⳮ","Ⳳ","Ꙁ","Ꙃ","Ꙅ","Ꙇ","Ꙉ","Ꙋ","Ꙍ","Ꙏ","Ꙑ","Ꙓ","Ꙕ","Ꙗ","Ꙙ","Ꙛ","Ꙝ","Ꙟ","Ꙡ","Ꙣ","Ꙥ","Ꙧ","Ꙩ","Ꙫ","Ꙭ","Ꚁ","Ꚃ","Ꚅ","Ꚇ","Ꚉ","Ꚋ","Ꚍ","Ꚏ","Ꚑ","Ꚓ","Ꚕ","Ꚗ","Ꚙ","Ꚛ","Ꜣ","Ꜥ","Ꜧ","Ꜩ","Ꜫ","Ꜭ","Ꜯ","Ꜳ","Ꜵ","Ꜷ","Ꜹ","Ꜻ","Ꜽ","Ꜿ","Ꝁ","Ꝃ","Ꝅ","Ꝇ","Ꝉ","Ꝋ","Ꝍ","Ꝏ","Ꝑ","Ꝓ","Ꝕ","Ꝗ","Ꝙ","Ꝛ","Ꝝ","Ꝟ","Ꝡ","Ꝣ","Ꝥ","Ꝧ","Ꝩ","Ꝫ","Ꝭ","Ꝯ","Ꝺ","Ꝼ",["Ᵹ","Ꝿ"],"Ꞁ","Ꞃ","Ꞅ","Ꞇ","Ꞌ","Ɥ","Ꞑ","Ꞓ","Ꞗ","Ꞙ","Ꞛ","Ꞝ","Ꞟ","Ꞡ","Ꞣ","Ꞥ","Ꞧ","Ꞩ",["Ɦ","Ɬ"],["Ʞ","Ꞵ"],"Ꞷ",["A","Z"]],!1,!1),wu=Ht(["ः","ऻ",["ा","ी"],["ॉ","ौ"],["ॎ","ॏ"],["ং","ঃ"],["া","ী"],["ে","ৈ"],["ো","ৌ"],"ৗ","ਃ",["ਾ","ੀ"],"ઃ",["ા","ી"],"ૉ",["ો","ૌ"],["ଂ","ଃ"],"ା","ୀ",["େ","ୈ"],["ୋ","ୌ"],"ୗ",["ா","ி"],["ு","ூ"],["ெ","ை"],["ொ","ௌ"],"ௗ",["ఁ","ః"],["ు","ౄ"],["ಂ","ಃ"],"ಾ",["ೀ","ೄ"],["ೇ","ೈ"],["ೊ","ೋ"],["ೕ","ೖ"],["ം","ഃ"],["ാ","ീ"],["െ","ൈ"],["ൊ","ൌ"],"ൗ",["ං","ඃ"],["ා","ෑ"],["ෘ","ෟ"],["ෲ","ෳ"],["༾","༿"],"ཿ",["ါ","ာ"],"ေ","း",["ျ","ြ"],["ၖ","ၗ"],["ၢ","ၤ"],["ၧ","ၭ"],["ႃ","ႄ"],["ႇ","ႌ"],"ႏ",["ႚ","ႜ"],"ា",["ើ","ៅ"],["ះ","ៈ"],["ᤣ","ᤦ"],["ᤩ","ᤫ"],["ᤰ","ᤱ"],["ᤳ","ᤸ"],["ᨙ","ᨚ"],"ᩕ","ᩗ","ᩡ",["ᩣ","ᩤ"],["ᩭ","ᩲ"],"ᬄ","ᬵ","ᬻ",["ᬽ","ᭁ"],["ᭃ","᭄"],"ᮂ","ᮡ",["ᮦ","ᮧ"],"᮪","ᯧ",["ᯪ","ᯬ"],"ᯮ",["᯲","᯳"],["ᰤ","ᰫ"],["ᰴ","ᰵ"],"᳡",["ᳲ","ᳳ"],["〮","〯"],["ꠣ","ꠤ"],"ꠧ",["ꢀ","ꢁ"],["ꢴ","ꣃ"],["ꥒ","꥓"],"ꦃ",["ꦴ","ꦵ"],["ꦺ","ꦻ"],["ꦽ","꧀"],["ꨯ","ꨰ"],["ꨳ","ꨴ"],"ꩍ","ꩻ","ꩽ","ꫫ",["ꫮ","ꫯ"],"ꫵ",["ꯣ","ꯤ"],["ꯦ","ꯧ"],["ꯩ","ꯪ"],"꯬"],!1,!1),Nu=Ht([["̀","ͯ"],["҃","҇"],["֑","ֽ"],"ֿ",["ׁ","ׂ"],["ׄ","ׅ"],"ׇ",["ؐ","ؚ"],["ً","ٟ"],"ٰ",["ۖ","ۜ"],["۟","ۤ"],["ۧ","ۨ"],["۪","ۭ"],"ܑ",["ܰ","݊"],["ަ","ް"],["߫","߳"],["ࠖ","࠙"],["ࠛ","ࠣ"],["ࠥ","ࠧ"],["ࠩ","࠭"],["࡙","࡛"],["ࣣ","ं"],"ऺ","़",["ु","ै"],"्",["॑","ॗ"],["ॢ","ॣ"],"ঁ","়",["ু","ৄ"],"্",["ৢ","ৣ"],["ਁ","ਂ"],"਼",["ੁ","ੂ"],["ੇ","ੈ"],["ੋ","੍"],"ੑ",["ੰ","ੱ"],"ੵ",["ઁ","ં"],"઼",["ુ","ૅ"],["ે","ૈ"],"્",["ૢ","ૣ"],"ଁ","଼","ି",["ୁ","ୄ"],"୍","ୖ",["ୢ","ୣ"],"ஂ","ீ","்","ఀ",["ా","ీ"],["ె","ై"],["ొ","్"],["ౕ","ౖ"],["ౢ","ౣ"],"ಁ","಼","ಿ","ೆ",["ೌ","್"],["ೢ","ೣ"],"ഁ",["ു","ൄ"],"്",["ൢ","ൣ"],"්",["ි","ු"],"ූ","ั",["ิ","ฺ"],["็","๎"],"ັ",["ິ","ູ"],["ົ","ຼ"],["່","ໍ"],["༘","༙"],"༵","༷","༹",["ཱ","ཾ"],["ྀ","྄"],["྆","྇"],["ྍ","ྗ"],["ྙ","ྼ"],"࿆",["ိ","ူ"],["ဲ","့"],["္","်"],["ွ","ှ"],["ၘ","ၙ"],["ၞ","ၠ"],["ၱ","ၴ"],"ႂ",["ႅ","ႆ"],"ႍ","ႝ",["፝","፟"],["ᜒ","᜔"],["ᜲ","᜴"],["ᝒ","ᝓ"],["ᝲ","ᝳ"],["឴","឵"],["ិ","ួ"],"ំ",["៉","៓"],"៝",["᠋","᠍"],"ᢩ",["ᤠ","ᤢ"],["ᤧ","ᤨ"],"ᤲ",["᤹","᤻"],["ᨗ","ᨘ"],"ᨛ","ᩖ",["ᩘ","ᩞ"],"᩠","ᩢ",["ᩥ","ᩬ"],["ᩳ","᩼"],"᩿",["᪰","᪽"],["ᬀ","ᬃ"],"᬴",["ᬶ","ᬺ"],"ᬼ","ᭂ",["᭫","᭳"],["ᮀ","ᮁ"],["ᮢ","ᮥ"],["ᮨ","ᮩ"],["᮫","ᮭ"],"᯦",["ᯨ","ᯩ"],"ᯭ",["ᯯ","ᯱ"],["ᰬ","ᰳ"],["ᰶ","᰷"],["᳐","᳒"],["᳔","᳠"],["᳢","᳨"],"᳭","᳴",["᳸","᳹"],["᷀","᷵"],["᷼","᷿"],["⃐","⃜"],"⃡",["⃥","⃰"],["⳯","⳱"],"⵿",["ⷠ","ⷿ"],["〪","〭"],["゙","゚"],"꙯",["ꙴ","꙽"],["ꚞ","ꚟ"],["꛰","꛱"],"ꠂ","꠆","ꠋ",["ꠥ","ꠦ"],"꣄",["꣠","꣱"],["ꤦ","꤭"],["ꥇ","ꥑ"],["ꦀ","ꦂ"],"꦳",["ꦶ","ꦹ"],"ꦼ","ꧥ",["ꨩ","ꨮ"],["ꨱ","ꨲ"],["ꨵ","ꨶ"],"ꩃ","ꩌ","ꩼ","ꪰ",["ꪲ","ꪴ"],["ꪷ","ꪸ"],["ꪾ","꪿"],"꫁",["ꫬ","ꫭ"],"꫶","ꯥ","ꯨ","꯭","ﬞ",["︀","️"],["︠","︯"]],!1,!1),ku=Ht([["0","9"],["٠","٩"],["۰","۹"],["߀","߉"],["०","९"],["০","৯"],["੦","੯"],["૦","૯"],["୦","୯"],["௦","௯"],["౦","౯"],["೦","೯"],["൦","൯"],["෦","෯"],["๐","๙"],["໐","໙"],["༠","༩"],["၀","၉"],["႐","႙"],["០","៩"],["᠐","᠙"],["᥆","᥏"],["᧐","᧙"],["᪀","᪉"],["᪐","᪙"],["᭐","᭙"],["᮰","᮹"],["᱀","᱉"],["᱐","᱙"],["꘠","꘩"],["꣐","꣙"],["꤀","꤉"],["꧐","꧙"],["꧰","꧹"],["꩐","꩙"],["꯰","꯹"],["0","9"]],!1,!1),Hu=Ht([["ᛮ","ᛰ"],["Ⅰ","ↂ"],["ↅ","ↈ"],"〇",["〡","〩"],["〸","〺"],["ꛦ","ꛯ"]],!1,!1),Uu=Ht(["_",["‿","⁀"],"⁔",["︳","︴"],["﹍","﹏"],"_"],!1,!1),ju=Ht([" "," "," ",[" "," "]," "," "," "],!1,!1),Gu=kt(";",!1),Vu=function(e,u,t){return{type:"grammar",topLevelInitializer:e,initializer:u,rules:t,location:wt()}},Yu=function(e){return{type:"top_level_initializer",code:e[0],codeLocation:e[1],location:wt()}},Wu=function(e){return{type:"initializer",code:e[0],codeLocation:e[1],location:wt()}},zu=function(e,u,t){return{type:"rule",name:e[0],nameLocation:e[1],expression:null!==u?{type:"named",name:u,expression:t,location:wt()}:t,location:wt()}},Ju=function(e,u){return u.length>0?{type:"choice",alternatives:[e].concat(u),location:wt()}:e},Qu=function(e,u){return null!==u?{type:"action",expression:e,code:u[0],codeLocation:u[1],location:wt()}:e},qu=function(e,u){return u.length>0||"labeled"===e.type&&e.pick?{type:"sequence",elements:[e].concat(u),location:wt()}:e},Xu=function(e,u,t){return t.type.startsWith("semantic_")&&Nt('"@" cannot be used on a semantic predicate',e),{type:"labeled",label:null!==u?u[0]:null,labelLocation:null!==u?u[1]:e,pick:!0,expression:t,location:wt()}},Ku=function(e,u){return{type:"labeled",label:e[0],labelLocation:e[1],expression:u,location:wt()}},Zu=function(){return wt()},et=function(e){return Sr.indexOf(e[0])>=0&&Nt("Label can't be a reserved word \"".concat(e[0],'"'),e[1]),e},ut=function(e,u){return{type:OPS_TO_PREFIXED_TYPES[e],expression:u,location:wt()}},tt=function(e,u){return{type:OPS_TO_SUFFIXED_TYPES[u],expression:e,location:wt()}},rt=function(e,u,t){var r=u[0],n=u[1];return"constant"===n.type&&0===n.value&&Nt("The maximum count of repetitions of the rule must be > 0",n.location),{type:"repeated",min:r,max:n,expression:e,delimiter:t,location:wt()}},nt=function(e,u){return[null!==e?e:{type:"constant",value:0},null!==u?u:{type:"constant",value:null}]},ot=function(e){return[null,e]},at=function(e){return{type:"constant",value:e,location:wt()}},it=function(e){return{type:"variable",value:e[0],location:wt()}},st=function(e){return{type:"function",value:e[0],codeLocation:e[1],location:wt()}},ct=function(e){return"labeled"===e.type||"sequence"===e.type?{type:"group",expression:e,location:wt()}:e},lt=function(e){return{type:"rule_ref",name:e[0],location:wt()}},pt=function(e,u){return{type:OPS_TO_SEMANTIC_PREDICATE_TYPES[e],code:u[0],codeLocation:u[1],location:wt()}},At=function(e,u){return[e+u.join(""),wt()]},ft=function(e,u){return{type:"literal",value:e,ignoreCase:null!==u,location:wt()}},Et=function(e){return e.join("")},ht=function(e){return e.join("")},dt=function(e,u,t){return{type:"class",parts:u.filter((function(e){return""!==e})),inverted:null!==e,ignoreCase:null!==t,location:wt()}},Ct=function(u,t){return u.charCodeAt(0)>t.charCodeAt(0)&&Nt("Invalid character range: "+e.substring(Ot,Rt)+"."),[u,t]},gt=function(){return""},mt=function(){return"\0"},Ft=function(){return"\b"},_t=function(){return"\f"},vt=function(){return"\n"},Bt=function(){return"\r"},Dt=function(){return"\t"},$t=function(){return"\v"},St=function(e){return String.fromCharCode(parseInt(e,16))},yt=function(e){return String.fromCharCode(parseInt(e,16))},Pt=function(){return{type:"any",location:wt()}},xt=function(e){return[e,wt()]},bt=function(e){return parseInt(e,10)},Rt=0,Ot=0,Lt=[{line:1,column:1}],Mt=0,Tt=[],It=0;if("startRule"in u){if(!(u.startRule in o))throw new Error("Can't start parsing from rule \""+u.startRule+'".');a=o[u.startRule]}function wt(){return Gt(Ot,Rt)}function Nt(e,u){throw function(e,u){return new peg$SyntaxError(e,null,null,u)}(e,u=void 0!==u?u:Gt(Ot,Rt))}function kt(e,u){return{type:"literal",text:e,ignoreCase:u}}function Ht(e,u,t){return{type:"class",parts:e,inverted:u,ignoreCase:t}}function Ut(e){return{type:"other",description:e}}function jt(u){var t,r=Lt[u];if(r)return r;for(t=u-1;!Lt[t];)t--;for(r={line:(r=Lt[t]).line,column:r.column};tMt&&(Mt=Rt,Tt=[]),Tt.push(e))}function Yt(){var u,t,n,o,a,c;if(u=Rt,Dr(),t=Rt,n=function(){var u,t,n,o;return u=Rt,123===e.charCodeAt(Rt)?(t=i,Rt++):(t=r,0===It&&Vt(_e)),t!==r&&(n=vr())!==r?(125===e.charCodeAt(Rt)?(o=s,Rt++):(o=r,0===It&&Vt(ve)),o!==r&&$r()!==r?(Ot=u,u=Yu(n)):(Rt=u,u=r)):(Rt=u,u=r),u}(),n!==r?(o=Dr(),t=n):(Rt=t,t=r),t===r&&(t=null),n=Rt,o=function(){var e,u;return e=Rt,(u=vr())!==r&&$r()!==r?(Ot=e,e=Wu(u)):(Rt=e,e=r),e}(),o!==r?(a=Dr(),n=o):(Rt=n,n=r),n===r&&(n=null),o=[],a=Rt,(c=Wt())!==r?(Dr(),a=c):(Rt=a,a=r),a!==r)for(;a!==r;)o.push(a),a=Rt,(c=Wt())!==r?(Dr(),a=c):(Rt=a,a=r);else o=r;return o!==r?(Ot=u,u=Vu(t,n,o)):(Rt=u,u=r),u}function Wt(){var u,t,n,o,a;return u=Rt,(t=sr())!==r?(Dr(),n=Rt,(o=pr())!==r?(Dr(),n=o):(Rt=n,n=r),n===r&&(n=null),61===e.charCodeAt(Rt)?(o=c,Rt++):(o=r,0===It&&Vt(Be)),o!==r?(Dr(),(a=zt())!==r&&$r()!==r?(Ot=u,u=zu(t,n,a)):(Rt=u,u=r)):(Rt=u,u=r)):(Rt=u,u=r),u}function zt(){var u,t,n,o,a,i;if(u=Rt,(t=Jt())!==r){for(n=[],o=Rt,Dr(),47===e.charCodeAt(Rt)?(a=l,Rt++):(a=r,0===It&&Vt(De)),a!==r?(Dr(),(i=Jt())!==r?o=i:(Rt=o,o=r)):(Rt=o,o=r);o!==r;)n.push(o),o=Rt,Dr(),47===e.charCodeAt(Rt)?(a=l,Rt++):(a=r,0===It&&Vt(De)),a!==r?(Dr(),(i=Jt())!==r?o=i:(Rt=o,o=r)):(Rt=o,o=r);Ot=u,u=Ju(t,n)}else Rt=u,u=r;return u}function Jt(){var e,u,t,n;return e=Rt,u=function(){var e,u,t,n,o;if(e=Rt,(u=Qt())!==r){for(t=[],n=Rt,Dr(),(o=Qt())!==r?n=o:(Rt=n,n=r);n!==r;)t.push(n),n=Rt,Dr(),(o=Qt())!==r?n=o:(Rt=n,n=r);Ot=e,e=qu(u,t)}else Rt=e,e=r;return e}(),u!==r?(t=Rt,Dr(),(n=vr())!==r?t=n:(Rt=t,t=r),t===r&&(t=null),Ot=e,e=Qu(u,t)):(Rt=e,e=r),e}function Qt(){var u,t,n,o;return u=Rt,t=function(){var u,t;return u=Rt,64===e.charCodeAt(Rt)?(t=p,Rt++):(t=r,0===It&&Vt($e)),t!==r&&(Ot=u,t=Zu()),u=t}(),t!==r?((n=qt())===r&&(n=null),(o=Xt())!==r?(Ot=u,u=Xu(t,n,o)):(Rt=u,u=r)):(Rt=u,u=r),u===r&&(u=Rt,(t=qt())!==r?(n=Dr(),(o=Xt())!==r?(Ot=u,u=Ku(t,o)):(Rt=u,u=r)):(Rt=u,u=r),u===r&&(u=Xt())),u}function qt(){var u,t,n;return u=Rt,(t=sr())!==r?(Dr(),58===e.charCodeAt(Rt)?(n=A,Rt++):(n=r,0===It&&Vt(Se)),n!==r?(Ot=u,u=et(t)):(Rt=u,u=r)):(Rt=u,u=r),u}function Xt(){var u,t,n;return u=Rt,t=function(){var u;return 36===e.charCodeAt(Rt)?(u=f,Rt++):(u=r,0===It&&Vt(ye)),u===r&&(38===e.charCodeAt(Rt)?(u=E,Rt++):(u=r,0===It&&Vt(Pe)),u===r&&(33===e.charCodeAt(Rt)?(u=h,Rt++):(u=r,0===It&&Vt(xe)))),u}(),t!==r?(Dr(),(n=Kt())!==r?(Ot=u,u=ut(t,n)):(Rt=u,u=r)):(Rt=u,u=r),u===r&&(u=Kt()),u}function Kt(){var u,t,n;return u=Rt,(t=er())!==r?(Dr(),n=function(){var u;return 63===e.charCodeAt(Rt)?(u=d,Rt++):(u=r,0===It&&Vt(be)),u===r&&(42===e.charCodeAt(Rt)?(u=C,Rt++):(u=r,0===It&&Vt(Re)),u===r&&(43===e.charCodeAt(Rt)?(u=g,Rt++):(u=r,0===It&&Vt(Oe)))),u}(),n!==r?(Ot=u,u=tt(t,n)):(Rt=u,u=r)):(Rt=u,u=r),u===r&&(u=function(){var u,t,n,o,a,i,s;return u=Rt,(t=er())!==r?(Dr(),124===e.charCodeAt(Rt)?(n=m,Rt++):(n=r,0===It&&Vt(Le)),n!==r?(Dr(),o=function(){var u,t,n,o;return u=Rt,(t=Zt())===r&&(t=null),Dr(),e.substr(Rt,2)===_?(n=_,Rt+=2):(n=r,0===It&&Vt(Te)),n!==r?(Dr(),(o=Zt())===r&&(o=null),Ot=u,u=nt(t,o)):(Rt=u,u=r),u===r&&(u=Rt,(t=Zt())!==r&&(Ot=u,t=ot(t)),u=t),u}(),o!==r?(Dr(),a=Rt,44===e.charCodeAt(Rt)?(i=F,Rt++):(i=r,0===It&&Vt(Me)),i!==r?(Dr(),(s=zt())!==r?(Dr(),a=s):(Rt=a,a=r)):(Rt=a,a=r),a===r&&(a=null),124===e.charCodeAt(Rt)?(i=m,Rt++):(i=r,0===It&&Vt(Le)),i!==r?(Ot=u,u=rt(t,o,a)):(Rt=u,u=r)):(Rt=u,u=r)):(Rt=u,u=r)):(Rt=u,u=r),u}(),u===r&&(u=er())),u}function Zt(){var u,t;return u=Rt,t=function(){var u,t,n,o;if(u=Rt,t=Rt,n=[],(o=Fr())!==r)for(;o!==r;)n.push(o),o=Fr();else n=r;return(t=n!==r?e.substring(t,Rt):n)!==r&&(Ot=u,t=bt(t)),u=t}(),t!==r&&(Ot=u,t=at(t)),(u=t)===r&&(u=Rt,(t=sr())!==r&&(Ot=u,t=it(t)),(u=t)===r&&(u=Rt,(t=vr())!==r&&(Ot=u,t=st(t)),u=t)),u}function er(){var u,t,n,o;return u=function(){var u,t,n;return It++,u=Rt,(t=pr())!==r?(105===e.charCodeAt(Rt)?(n=j,Rt++):(n=r,0===It&&Vt(cu)),n===r&&(n=null),Ot=u,u=ft(t,n)):(Rt=u,u=r),It--,u===r&&(t=r,0===It&&Vt(su)),u}(),u===r&&(u=function(){var u,t,n,o,a,i;if(It++,u=Rt,91===e.charCodeAt(Rt)?(t=Y,Rt++):(t=r,0===It&&Vt(Eu)),t!==r){for(94===e.charCodeAt(Rt)?(n=W,Rt++):(n=r,0===It&&Vt(hu)),n===r&&(n=null),o=[],(a=Er())===r&&(a=hr());a!==r;)o.push(a),(a=Er())===r&&(a=hr());93===e.charCodeAt(Rt)?(a=z,Rt++):(a=r,0===It&&Vt(du)),a!==r?(105===e.charCodeAt(Rt)?(i=j,Rt++):(i=r,0===It&&Vt(cu)),i===r&&(i=null),Ot=u,u=dt(n,o,i)):(Rt=u,u=r)}else Rt=u,u=r;return It--,u===r&&(t=r,0===It&&Vt(fu)),u}(),u===r&&(u=function(){var u,t;return u=Rt,46===e.charCodeAt(Rt)?(t=ne,Rt++):(t=r,0===It&&Vt(xu)),t!==r&&(Ot=u,t=Pt()),u=t}(),u===r&&(u=function(){var u,t,n,o,a,i,s;return u=Rt,(t=sr())!==r?(n=Rt,It++,o=Rt,a=Dr(),i=Rt,(s=pr())!==r?i=s=[s,Dr()]:(Rt=i,i=r),i===r&&(i=null),61===e.charCodeAt(Rt)?(s=c,Rt++):(s=r,0===It&&Vt(Be)),s!==r?o=a=[a,i,s]:(Rt=o,o=r),It--,o===r?n=void 0:(Rt=n,n=r),n!==r?(Ot=u,u=lt(t)):(Rt=u,u=r)):(Rt=u,u=r),u}(),u===r&&(u=function(){var u,t,n;return u=Rt,t=function(){var u;return 38===e.charCodeAt(Rt)?(u=E,Rt++):(u=r,0===It&&Vt(Pe)),u===r&&(33===e.charCodeAt(Rt)?(u=h,Rt++):(u=r,0===It&&Vt(xe))),u}(),t!==r?(Dr(),(n=vr())!==r?(Ot=u,u=pt(t,n)):(Rt=u,u=r)):(Rt=u,u=r),u}(),u===r&&(u=Rt,40===e.charCodeAt(Rt)?(t=v,Rt++):(t=r,0===It&&Vt(Ie)),t!==r?(Dr(),(n=zt())!==r?(Dr(),41===e.charCodeAt(Rt)?(o=B,Rt++):(o=r,0===It&&Vt(we)),o!==r?(Ot=u,u=ct(n)):(Rt=u,u=r)):(Rt=u,u=r)):(Rt=u,u=r)))))),u}function ur(){var u;return e.length>Rt?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(Ne)),u}function tr(){var u;return It++,9===e.charCodeAt(Rt)?(u=D,Rt++):(u=r,0===It&&Vt(He)),u===r&&(11===e.charCodeAt(Rt)?(u=$,Rt++):(u=r,0===It&&Vt(Ue)),u===r&&(12===e.charCodeAt(Rt)?(u=S,Rt++):(u=r,0===It&&Vt(je)),u===r&&(32===e.charCodeAt(Rt)?(u=y,Rt++):(u=r,0===It&&Vt(Ge)),u===r&&(160===e.charCodeAt(Rt)?(u=P,Rt++):(u=r,0===It&&Vt(Ve)),u===r&&(65279===e.charCodeAt(Rt)?(u=x,Rt++):(u=r,0===It&&Vt(Ye)),u===r&&(u=function(){var u;return Fe.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(ju)),u}())))))),It--,u===r&&0===It&&Vt(ke),u}function rr(){var u;return ae.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(We)),u}function nr(){var u;return It++,10===e.charCodeAt(Rt)?(u=b,Rt++):(u=r,0===It&&Vt(Je)),u===r&&(e.substr(Rt,2)===R?(u=R,Rt+=2):(u=r,0===It&&Vt(Qe)),u===r&&(13===e.charCodeAt(Rt)?(u=O,Rt++):(u=r,0===It&&Vt(qe)),u===r&&(8232===e.charCodeAt(Rt)?(u=L,Rt++):(u=r,0===It&&Vt(Xe)),u===r&&(8233===e.charCodeAt(Rt)?(u=M,Rt++):(u=r,0===It&&Vt(Ke)))))),It--,u===r&&0===It&&Vt(ze),u}function or(){var u;return It++,(u=function(){var u,t,n,o,a,i;if(u=Rt,e.substr(Rt,2)===T?(t=T,Rt+=2):(t=r,0===It&&Vt(eu)),t!==r){for(n=[],o=Rt,a=Rt,It++,e.substr(Rt,2)===I?(i=I,Rt+=2):(i=r,0===It&&Vt(uu)),It--,i===r?a=void 0:(Rt=a,a=r),a!==r&&(i=ur())!==r?o=a=[a,i]:(Rt=o,o=r);o!==r;)n.push(o),o=Rt,a=Rt,It++,e.substr(Rt,2)===I?(i=I,Rt+=2):(i=r,0===It&&Vt(uu)),It--,i===r?a=void 0:(Rt=a,a=r),a!==r&&(i=ur())!==r?o=a=[a,i]:(Rt=o,o=r);e.substr(Rt,2)===I?(o=I,Rt+=2):(o=r,0===It&&Vt(uu)),o!==r?u=t=[t,n,o]:(Rt=u,u=r)}else Rt=u,u=r;return u}())===r&&(u=ir()),It--,u===r&&0===It&&Vt(Ze),u}function ar(){var u,t,n,o,a,i;if(u=Rt,e.substr(Rt,2)===T?(t=T,Rt+=2):(t=r,0===It&&Vt(eu)),t!==r){for(n=[],o=Rt,a=Rt,It++,e.substr(Rt,2)===I?(i=I,Rt+=2):(i=r,0===It&&Vt(uu)),i===r&&(i=rr()),It--,i===r?a=void 0:(Rt=a,a=r),a!==r&&(i=ur())!==r?o=a=[a,i]:(Rt=o,o=r);o!==r;)n.push(o),o=Rt,a=Rt,It++,e.substr(Rt,2)===I?(i=I,Rt+=2):(i=r,0===It&&Vt(uu)),i===r&&(i=rr()),It--,i===r?a=void 0:(Rt=a,a=r),a!==r&&(i=ur())!==r?o=a=[a,i]:(Rt=o,o=r);e.substr(Rt,2)===I?(o=I,Rt+=2):(o=r,0===It&&Vt(uu)),o!==r?u=t=[t,n,o]:(Rt=u,u=r)}else Rt=u,u=r;return u}function ir(){var u,t,n,o,a,i;if(u=Rt,e.substr(Rt,2)===w?(t=w,Rt+=2):(t=r,0===It&&Vt(tu)),t!==r){for(n=[],o=Rt,a=Rt,It++,i=rr(),It--,i===r?a=void 0:(Rt=a,a=r),a!==r&&(i=ur())!==r?o=a=[a,i]:(Rt=o,o=r);o!==r;)n.push(o),o=Rt,a=Rt,It++,i=rr(),It--,i===r?a=void 0:(Rt=a,a=r),a!==r&&(i=ur())!==r?o=a=[a,i]:(Rt=o,o=r);u=t=[t,n]}else Rt=u,u=r;return u}function sr(){var e,u,t,n;if(It++,e=Rt,(u=cr())!==r){for(t=[],n=lr();n!==r;)t.push(n),n=lr();Ot=e,e=At(u,t)}else Rt=e,e=r;return It--,e===r&&(u=r,0===It&&Vt(ru)),e}function cr(){var u,t,n;return(u=function(){var u;return(u=function(){var u;return Ee.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(Iu)),u}())===r&&(u=function(){var u;return le.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(Ou)),u}())===r&&(u=function(){var u;return fe.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(Tu)),u}())===r&&(u=function(){var u;return pe.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(Lu)),u}())===r&&(u=function(){var u;return Ae.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(Mu)),u}())===r&&(u=function(){var u;return ge.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(Hu)),u}()),u}())===r&&(95===e.charCodeAt(Rt)?(u=N,Rt++):(u=r,0===It&&Vt(nu)),u===r&&(u=Rt,92===e.charCodeAt(Rt)?(t=k,Rt++):(t=r,0===It&&Vt(ou)),t!==r&&(n=mr())!==r?u=n:(Rt=u,u=r))),u}function lr(){var u;return(u=cr())===r&&(36===e.charCodeAt(Rt)?(u=f,Rt++):(u=r,0===It&&Vt(ye)),u===r&&(u=function(){var u;return(u=function(){var u;return de.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(Nu)),u}())===r&&(u=function(){var u;return he.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(wu)),u}()),u}())===r&&(u=function(){var u;return Ce.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(ku)),u}())===r&&(u=function(){var u;return me.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(Uu)),u}())===r&&(8204===e.charCodeAt(Rt)?(u=H,Rt++):(u=r,0===It&&Vt(au)),u===r&&(8205===e.charCodeAt(Rt)?(u=U,Rt++):(u=r,0===It&&Vt(iu))))),u}function pr(){var u,t,n,o;if(It++,u=Rt,34===e.charCodeAt(Rt)?(t=G,Rt++):(t=r,0===It&&Vt(pu)),t!==r){for(n=[],o=Ar();o!==r;)n.push(o),o=Ar();34===e.charCodeAt(Rt)?(o=G,Rt++):(o=r,0===It&&Vt(pu)),o!==r?(Ot=u,u=Et(n)):(Rt=u,u=r)}else Rt=u,u=r;if(u===r)if(u=Rt,39===e.charCodeAt(Rt)?(t=V,Rt++):(t=r,0===It&&Vt(Au)),t!==r){for(n=[],o=fr();o!==r;)n.push(o),o=fr();39===e.charCodeAt(Rt)?(o=V,Rt++):(o=r,0===It&&Vt(Au)),o!==r?(Ot=u,u=ht(n)):(Rt=u,u=r)}else Rt=u,u=r;return It--,u===r&&(t=r,0===It&&Vt(lu)),u}function Ar(){var u,t,n,o;return u=Rt,t=Rt,n=Rt,It++,34===e.charCodeAt(Rt)?(o=G,Rt++):(o=r,0===It&&Vt(pu)),o===r&&(92===e.charCodeAt(Rt)?(o=k,Rt++):(o=r,0===It&&Vt(ou)),o===r&&(o=rr())),It--,o===r?n=void 0:(Rt=n,n=r),n!==r&&(o=ur())!==r?t=n=[n,o]:(Rt=t,t=r),(u=t!==r?e.substring(u,Rt):t)===r&&(u=Rt,92===e.charCodeAt(Rt)?(t=k,Rt++):(t=r,0===It&&Vt(ou)),t!==r&&(n=Cr())!==r?u=n:(Rt=u,u=r),u===r&&(u=dr())),u}function fr(){var u,t,n,o;return u=Rt,t=Rt,n=Rt,It++,39===e.charCodeAt(Rt)?(o=V,Rt++):(o=r,0===It&&Vt(Au)),o===r&&(92===e.charCodeAt(Rt)?(o=k,Rt++):(o=r,0===It&&Vt(ou)),o===r&&(o=rr())),It--,o===r?n=void 0:(Rt=n,n=r),n!==r&&(o=ur())!==r?t=n=[n,o]:(Rt=t,t=r),(u=t!==r?e.substring(u,Rt):t)===r&&(u=Rt,92===e.charCodeAt(Rt)?(t=k,Rt++):(t=r,0===It&&Vt(ou)),t!==r&&(n=Cr())!==r?u=n:(Rt=u,u=r),u===r&&(u=dr())),u}function Er(){var u,t,n,o;return u=Rt,(t=hr())!==r?(45===e.charCodeAt(Rt)?(n=J,Rt++):(n=r,0===It&&Vt(Cu)),n!==r&&(o=hr())!==r?(Ot=u,u=Ct(t,o)):(Rt=u,u=r)):(Rt=u,u=r),u}function hr(){var u,t,n,o;return u=Rt,t=Rt,n=Rt,It++,93===e.charCodeAt(Rt)?(o=z,Rt++):(o=r,0===It&&Vt(du)),o===r&&(92===e.charCodeAt(Rt)?(o=k,Rt++):(o=r,0===It&&Vt(ou)),o===r&&(o=rr())),It--,o===r?n=void 0:(Rt=n,n=r),n!==r&&(o=ur())!==r?t=n=[n,o]:(Rt=t,t=r),(u=t!==r?e.substring(u,Rt):t)===r&&(u=Rt,92===e.charCodeAt(Rt)?(t=k,Rt++):(t=r,0===It&&Vt(ou)),t!==r&&(n=Cr())!==r?u=n:(Rt=u,u=r),u===r&&(u=dr())),u}function dr(){var u,t;return u=Rt,92===e.charCodeAt(Rt)?(t=k,Rt++):(t=r,0===It&&Vt(ou)),t!==r&&nr()!==r?(Ot=u,u=gt()):(Rt=u,u=r),u}function Cr(){var u,t,n,o;return u=function(){var u;return(u=gr())===r&&(u=function(){var u,t,n,o;return u=Rt,t=Rt,n=Rt,It++,o=function(){var u;return(u=gr())===r&&(u=Fr())===r&&(120===e.charCodeAt(Rt)?(u=te,Rt++):(u=r,0===It&&Vt($u)),u===r&&(117===e.charCodeAt(Rt)?(u=re,Rt++):(u=r,0===It&&Vt(Su)))),u}(),o===r&&(o=rr()),It--,o===r?n=void 0:(Rt=n,n=r),n!==r&&(o=ur())!==r?t=n=[n,o]:(Rt=t,t=r),u=t!==r?e.substring(u,Rt):t}()),u}(),u===r&&(u=Rt,48===e.charCodeAt(Rt)?(t=Q,Rt++):(t=r,0===It&&Vt(gu)),t!==r?(n=Rt,It++,o=Fr(),It--,o===r?n=void 0:(Rt=n,n=r),n!==r?(Ot=u,u=mt()):(Rt=u,u=r)):(Rt=u,u=r),u===r&&(u=function(){var u,t,n,o,a,i;return u=Rt,120===e.charCodeAt(Rt)?(t=te,Rt++):(t=r,0===It&&Vt($u)),t!==r?(n=Rt,o=Rt,(a=_r())!==r&&(i=_r())!==r?o=a=[a,i]:(Rt=o,o=r),(n=o!==r?e.substring(n,Rt):o)!==r?(Ot=u,u=St(n)):(Rt=u,u=r)):(Rt=u,u=r),u}(),u===r&&(u=mr()))),u}function gr(){var u,t;return 39===e.charCodeAt(Rt)?(u=V,Rt++):(u=r,0===It&&Vt(Au)),u===r&&(34===e.charCodeAt(Rt)?(u=G,Rt++):(u=r,0===It&&Vt(pu)),u===r&&(92===e.charCodeAt(Rt)?(u=k,Rt++):(u=r,0===It&&Vt(ou)),u===r&&(u=Rt,98===e.charCodeAt(Rt)?(t=q,Rt++):(t=r,0===It&&Vt(mu)),t!==r&&(Ot=u,t=Ft()),(u=t)===r&&(u=Rt,102===e.charCodeAt(Rt)?(t=X,Rt++):(t=r,0===It&&Vt(Fu)),t!==r&&(Ot=u,t=_t()),(u=t)===r&&(u=Rt,110===e.charCodeAt(Rt)?(t=K,Rt++):(t=r,0===It&&Vt(_u)),t!==r&&(Ot=u,t=vt()),(u=t)===r&&(u=Rt,114===e.charCodeAt(Rt)?(t=Z,Rt++):(t=r,0===It&&Vt(vu)),t!==r&&(Ot=u,t=Bt()),(u=t)===r&&(u=Rt,116===e.charCodeAt(Rt)?(t=ee,Rt++):(t=r,0===It&&Vt(Bu)),t!==r&&(Ot=u,t=Dt()),(u=t)===r&&(u=Rt,118===e.charCodeAt(Rt)?(t=ue,Rt++):(t=r,0===It&&Vt(Du)),t!==r&&(Ot=u,t=$t()),u=t)))))))),u}function mr(){var u,t,n,o,a,i,s,c;return u=Rt,117===e.charCodeAt(Rt)?(t=re,Rt++):(t=r,0===It&&Vt(Su)),t!==r?(n=Rt,o=Rt,(a=_r())!==r&&(i=_r())!==r&&(s=_r())!==r&&(c=_r())!==r?o=a=[a,i,s,c]:(Rt=o,o=r),(n=o!==r?e.substring(n,Rt):o)!==r?(Ot=u,u=yt(n)):(Rt=u,u=r)):(Rt=u,u=r),u}function Fr(){var u;return ie.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(yu)),u}function _r(){var u;return se.test(e.charAt(Rt))?(u=e.charAt(Rt),Rt++):(u=r,0===It&&Vt(Pu)),u}function vr(){var u,t,n,o;return It++,u=Rt,123===e.charCodeAt(Rt)?(t=i,Rt++):(t=r,0===It&&Vt(_e)),t!==r?(n=function(){var e,u;return e=Rt,u=Br(),Ot=e,e=u=xt(u)}(),125===e.charCodeAt(Rt)?(o=s,Rt++):(o=r,0===It&&Vt(ve)),o!==r?u=n:(Rt=u,u=r)):(Rt=u,u=r),It--,u===r&&(t=r,0===It&&Vt(bu)),u}function Br(){var u,t,n,o,a,c;if(u=Rt,t=[],n=[],o=Rt,a=Rt,It++,ce.test(e.charAt(Rt))?(c=e.charAt(Rt),Rt++):(c=r,0===It&&Vt(Ru)),It--,c===r?a=void 0:(Rt=a,a=r),a!==r&&(c=ur())!==r?o=a=[a,c]:(Rt=o,o=r),o!==r)for(;o!==r;)n.push(o),o=Rt,a=Rt,It++,ce.test(e.charAt(Rt))?(c=e.charAt(Rt),Rt++):(c=r,0===It&&Vt(Ru)),It--,c===r?a=void 0:(Rt=a,a=r),a!==r&&(c=ur())!==r?o=a=[a,c]:(Rt=o,o=r);else n=r;for(n===r&&(n=Rt,123===e.charCodeAt(Rt)?(o=i,Rt++):(o=r,0===It&&Vt(_e)),o!==r?(a=Br(),125===e.charCodeAt(Rt)?(c=s,Rt++):(c=r,0===It&&Vt(ve)),c!==r?n=o=[o,a,c]:(Rt=n,n=r)):(Rt=n,n=r));n!==r;){if(t.push(n),n=[],o=Rt,a=Rt,It++,ce.test(e.charAt(Rt))?(c=e.charAt(Rt),Rt++):(c=r,0===It&&Vt(Ru)),It--,c===r?a=void 0:(Rt=a,a=r),a!==r&&(c=ur())!==r?o=a=[a,c]:(Rt=o,o=r),o!==r)for(;o!==r;)n.push(o),o=Rt,a=Rt,It++,ce.test(e.charAt(Rt))?(c=e.charAt(Rt),Rt++):(c=r,0===It&&Vt(Ru)),It--,c===r?a=void 0:(Rt=a,a=r),a!==r&&(c=ur())!==r?o=a=[a,c]:(Rt=o,o=r);else n=r;n===r&&(n=Rt,123===e.charCodeAt(Rt)?(o=i,Rt++):(o=r,0===It&&Vt(_e)),o!==r?(a=Br(),125===e.charCodeAt(Rt)?(c=s,Rt++):(c=r,0===It&&Vt(ve)),c!==r?n=o=[o,a,c]:(Rt=n,n=r)):(Rt=n,n=r))}return e.substring(u,Rt)}function Dr(){var e,u;for(e=[],(u=tr())===r&&(u=nr())===r&&(u=or());u!==r;)e.push(u),(u=tr())===r&&(u=nr())===r&&(u=or());return e}function $r(){var u,t,n,o;if(u=[],t=Rt,n=Dr(),59===e.charCodeAt(Rt)?(o=oe,Rt++):(o=r,0===It&&Vt(Gu)),o!==r?t=n=[n,o]:(Rt=t,t=r),t!==r)for(;t!==r;)u.push(t),t=Rt,n=Dr(),59===e.charCodeAt(Rt)?(o=oe,Rt++):(o=r,0===It&&Vt(Gu)),o!==r?t=n=[n,o]:(Rt=t,t=r);else u=r;return u===r&&(u=Rt,t=function(){var e,u;for(e=[],(u=tr())===r&&(u=ar());u!==r;)e.push(u),(u=tr())===r&&(u=ar());return e}(),(n=ir())===r&&(n=null),(o=nr())!==r?u=t=[t,n,o]:(Rt=u,u=r),u===r&&(u=Rt,t=Dr(),n=function(){var u,t;return u=Rt,It++,e.length>Rt?(t=e.charAt(Rt),Rt++):(t=r,0===It&&Vt(Ne)),It--,t===r?u=void 0:(Rt=u,u=r),u}(),n!==r?u=t=[t,n]:(Rt=u,u=r))),u}var Sr=u.reservedWords||[];if((t=a())!==r&&Rt===e.length)return t;throw t!==r&&Rt0){for(u=1,t=1;u1&&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$2=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 A(e.expression,!1,t)},simple_not:function(e,t){return A(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),A=o?_(s,e.max):s,g=f(n?[op$1.PUSH_CURR_POS]:[],[op$1.PUSH_EMPTY_ARRAY],A,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]))}(g,r):g,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 g(e,!1,t)},semantic_not:function(e,t){return g(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$1=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var n,o=0,u=t.length;o0&&(r.forEach((function(e){u.push("var "+e+' = require("'+stringEscape(t.dependencies[e])+'");')})),u.push("")),u.push(e,"","module.exports = "+o()+";"),u},es:function(){var r=Object.keys(t.dependencies),o=n();return o.push(""),r.length>0&&(r.forEach((function(e){o.push("import "+e+' from "'+stringEscape(t.dependencies[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 u=Object.keys(t.dependencies),a="["+u.map((function(e){return t.dependencies[e]})).map((function(e){return'"'+stringEscape(e)+'"'})).join(", ")+"]",i=u.join(", ");return __spreadArray$1(__spreadArray$1([],n(),!0),["define("+a+", function("+i+") {",' "use strict";',"",e,"",r("return "+o()+";"),"});"],!1)},globals:function(){return __spreadArray$1(__spreadArray$1([],n(),!0),["(function(root) {",' "use strict";',"",e,"",r("root."+t.exportVar+" = "+o()+";"),"})(this);"],!1)},umd:function(){var u=Object.keys(t.dependencies),a=u.map((function(e){return t.dependencies[e]})),i="["+a.map((function(e){return'"'+stringEscape(e)+'"'})).join(", ")+"]",s=a.map((function(e){return'require("'+stringEscape(e)+'")'})).join(", "),c=u.join(", "),l=n();return l.push("(function(root, factory) {",' if (typeof define === "function" && define.amd) {'," define("+i+", factory);",' } else if (typeof module === "object" && module.exports) {'," module.exports = factory("+s+");"),null!==t.exportVar&&l.push(" } else {"," root."+t.exportVar+" = factory();"),l.push(" }","})(this, function("+c+") {",' "use strict";',"",e,"",r("return "+o()+";"),"});"),l}}[t.format]();return new SourceNode(null,null,t.grammarSource,u.map((function(e){return e instanceof SourceNode?e:e+"\n"})))}(function(){var c=[];e.topLevelInitializer&&(c.push(s(e.topLevelInitializer)),c.push("")),c.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&&c.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 l="{ "+t.allowedStartRules.map((function(e){return e+": "+i(e)})).join(", ")+" }",p=i(t.allowedStartRules[0]);return c.push("function peg$parse(input, options) {"," options = options !== undefined ? options : {};",""," var peg$FAILED = {};"," var peg$source = options.grammarSource;",""," var peg$startRuleFunctions = "+l+";"," var peg$startRuleFunction = "+p+";","",new SourceNode(null,null,t.grammarSource,[e.literals.map((function(e,t){return" var "+n(t)+' = "'+stringEscape(e)+'";'})).concat("",e.classes.map((function(e,t){return" var "+o(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("",e.expectations.map((function(e,t){return" var "+u(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"),e.functions.map((function(e,t){return wrapInSourceNode("\n var ".concat(a(t)," = function(").concat(e.params.join(", "),") {"),e.body,e.location,"};")}))]),""," 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&&c.push(" var peg$resultsCache = {};",""),t.trace&&c.push(' var peg$tracer = "tracer" in options ? options.tracer : new peg$DefaultTracer();',""),c.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 {"," p = pos - 1;"," while (!peg$posDetailsCache[p]) {"," 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(s){c.push.apply(c,r(function(s){var c=[],l=new Stack(s.name,"s","var",s.bytecode),p=function t(c){var p=0,f=c.length,h=[],d=void 0;function A(e,n){var o=n+3,u=c[p+o-2],a=c[p+o-1],i=void 0,s=void 0;l.checkedIf(p,(function(){p+=o,i=t(c.slice(p,p+u)),p+=u}),a>0?function(){s=t(c.slice(p,p+a)),p+=a}:null),h.push("if ("+e+") {"),h.push.apply(h,r(i)),a>0&&(h.push("} else {"),h.push.apply(h,r(s))),h.push("}")}function g(e){var n=c[p+2-1],o=void 0;l.checkedLoop(p,(function(){p+=2,o=t(c.slice(p,p+n)),p+=n})),h.push("while ("+e+") {"),h.push.apply(h,r(o)),h.push("}")}function m(e){var t=c[p+e-1];return a(c[p+1])+"("+c.slice(p+e,p+e+t).map((function(e){return l.index(e)})).join(", ")+")"}for(;p= "+c[p+1],1);break;case op.IF_LT_DYNAMIC:A(l.top()+".length < ("+l.index(c[p+1])+"|0)",1);break;case op.IF_GE_DYNAMIC:A(l.top()+".length >= ("+l.index(c[p+1])+"|0)",1);break;case op.WHILE_NOT_ERROR:g(l.top()+" !== peg$FAILED");break;case op.MATCH_ANY:A("input.length > peg$currPos",0);break;case op.MATCH_STRING:A(e.literals[c[p+1]].length>1?"input.substr(peg$currPos, "+e.literals[c[p+1]].length+") === "+n(c[p+1]):"input.charCodeAt(peg$currPos) === "+e.literals[c[p+1]].charCodeAt(0),1);break;case op.MATCH_STRING_IC:A("input.substr(peg$currPos, "+e.literals[c[p+1]].length+").toLowerCase() === "+n(c[p+1]),1);break;case op.MATCH_CHAR_CLASS:A(o(c[p+1])+".test(input.charAt(peg$currPos))",1);break;case op.ACCEPT_N:h.push(l.push(c[p+1]>1?"input.substr(peg$currPos, "+c[p+1]+")":"input.charAt(peg$currPos)")),h.push(c[p+1]>1?"peg$currPos += "+c[p+1]+";":"peg$currPos++;"),p+=2;break;case op.ACCEPT_STRING:h.push(l.push(n(c[p+1]))),h.push(e.literals[c[p+1]].length>1?"peg$currPos += "+e.literals[c[p+1]].length+";":"peg$currPos++;"),p+=2;break;case op.FAIL:h.push(l.push("peg$FAILED")),h.push("if (peg$silentFails === 0) { peg$fail("+u(c[p+1])+"); }"),p+=2;break;case op.LOAD_SAVED_POS:h.push("peg$savedPos = "+l.index(c[p+1])+";"),p+=2;break;case op.UPDATE_SAVED_POS:h.push("peg$savedPos = peg$currPos;"),p++;break;case op.CALL:d=m(4),l.pop(c[p+2]),h.push(l.push(d)),p+=4+c[p+3];break;case op.RULE:h.push(l.push(i(e.rules[c[p+1]].name)+"()")),p+=2;break;case op.SILENT_FAILS_ON:h.push("peg$silentFails++;"),p++;break;case op.SILENT_FAILS_OFF:h.push("peg$silentFails--;"),p++;break;case op.SOURCE_MAP_PUSH:l.sourceMapPush(h,e.locations[c[p+1]]),p+=2;break;case op.SOURCE_MAP_POP:l.sourceMapPop(),p++;break;case op.SOURCE_MAP_LABEL_PUSH:l.labels[c[p+1]]={label:e.literals[c[p+2]],location:e.locations[c[p+3]]},p+=4;break;case op.SOURCE_MAP_LABEL_POP:delete l.labels[c[p+1]],p+=2;break;default:throw new Error("Invalid opcode: "+c[p]+".",{rule:s.name,bytecode:c})}return h}(s.bytecode);return c.push(wrapInSourceNode("function ",i(s.name),s.nameLocation,"() {\n",s.name)),t.trace&&c.push(" var startPos = peg$currPos;"),c.push(r(l.defines())),c.push.apply(c,r(function(r,n){var o=[];return o.push(""),t.trace&&o.push("peg$tracer.trace({",' type: "rule.enter",'," rule: "+r+","," location: peg$computeLocation(startPos, startPos, true)","});",""),t.cache&&(o.push("var key = peg$currPos * "+e.rules.length+" + "+n+";","var cached = peg$resultsCache[key];","","if (cached) {"," peg$currPos = cached.nextPos;",""),t.trace&&o.push("if (cached.result !== peg$FAILED) {"," peg$tracer.trace({",' type: "rule.match",'," rule: "+r+","," result: cached.result,"," location: peg$computeLocation(startPos, peg$currPos, true)"," });","} else {"," peg$tracer.trace({",' type: "rule.fail",'," rule: "+r+","," location: peg$computeLocation(startPos, startPos, true)"," });","}",""),o.push(" return cached.result;","}","")),o}('"'+stringEscape(s.name)+'"',asts$4.indexOfRule(e,s.name)))),c.push.apply(c,r(p)),c.push.apply(c,r(function(e,r){var n=[];return t.cache&&n.push("","peg$resultsCache[key] = { nextPos: peg$currPos, result: "+r+" };"),t.trace&&n.push("","if ("+r+" !== peg$FAILED) {"," peg$tracer.trace({",' type: "rule.match",'," rule: "+e+","," result: "+r+","," location: peg$computeLocation(startPos, peg$currPos, true)"," });","} else {"," peg$tracer.trace({",' type: "rule.fail",'," rule: "+e+","," location: peg$computeLocation(startPos, startPos, true)"," });","}"),n.push("","return "+r+";"),n}('"'+stringEscape(s.name)+'"',l.result()))),c.push("}"),c}(s))),c.push("")})),e.initializer&&(c.push(s(e.initializer)),c.push("")),c.push(" peg$result = peg$startRuleFunction();",""," if (peg$result !== peg$FAILED && peg$currPos === input.length) {"," return peg$result;"," } else {"," if (peg$result !== peg$FAILED && peg$currPos < input.length) {"," peg$fail(peg$endExpectation());"," }",""," throw peg$buildStructuredError("," peg$maxFailExpected,"," peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,"," peg$maxFailPos < input.length"," ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)"," : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)"," );"," }","}"),new SourceNode(null,null,t.grammarSource,c.map((function(e){return e instanceof SourceNode?e:e+"\n"})))}())}var generateJs=generateJS$1,asts$3=asts_1,visitor$8=visitor_1;function removeProxyRules$1(e,t,r){var n=[];e.rules.forEach((function(o,u){var a;"rule"===(a=o).type&&"rule_ref"===a.expression.type&&(function(e,t,n){visitor$8.build({rule_ref:function(o){o.name===t&&(o.name=n,r.info('Proxy rule "'.concat(t,'" replaced by the rule "').concat(n,'"'),o.location,[{message:"This rule will be used",location:asts$3.findRule(e,n).nameLocation}]))}})(e)}(e,o.name,o.expression.name),-1===t.allowedStartRules.indexOf(o.name)&&n.push(u))})),n.reverse(),n.forEach((function(t){e.rules.splice(t,1)}))}var removeProxyRules_1=removeProxyRules$1,visitor$7=visitor_1;function cloneOver(e,t){Object.keys(e).forEach((function(t){return delete e[t]})),Object.keys(t).forEach((function(r){e[r]=t[r]}))}function cleanParts(e){e.sort((function(e,t){var r=Array.isArray(e)?e:[e,e],n=r[0],o=r[1],u=Array.isArray(t)?t:[t,t],a=u[0],i=u[1];return n!==a?ni?-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?{type:e.type,parts:e.parts.slice(),inverted:e.inverted,ignoreCase:e.ignoreCase,location:e.location}: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]=null,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){return null!==e})),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=",",A="..",g="(",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",I="t",w="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),Ae=ur("(",!1),ge=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),Ie=ir("string"),we=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},At=function(e,t){return null!==t?{type:"action",expression:e,code:t[0],codeLocation:t[1],location:nr()}:e},gt=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("")},It=function(e,t,r){return{type:"class",parts:t.filter((function(e){return""!==e})),inverted:null!==e,ignoreCase:null!==r,location:nr()}},wt=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;for(r=t-1;!Zt[r];)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=Ar())!==n){for(r=[],o=Xt,Vr(),(u=Ar())!==n?o=u:(Xt=o,o=n);o!==n;)r.push(o),o=Xt,Vr(),(u=Ar())!==n?o=u:(Xt=o,o=n);Kt=e,e=gt(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=At(t,r)):(Xt=e,e=n),e}function Ar(){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=gr())===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=gr())!==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 gr(){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 j.test(e.charAt(Xt))?(t=e.charAt(Xt),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 G.test(e.charAt(Xt))?(t=e.charAt(Xt),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)===A?(o=A,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=It(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 V.test(e.charAt(Xt))?(t=e.charAt(Xt),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=g,Xt++):(r=n,0===rr&&lr(Ae)),r!==n?(Vr(),(o=hr())!==n?(Vr(),41===e.charCodeAt(Xt)?(u=m,Xt++):(u=n,0===rr&&lr(ge)),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++,Y.test(e.charAt(Xt))?(t=e.charAt(Xt),Xt++):(t=n,0===rr&&lr(ve)),rr--,t===n&&0===rr&&lr(_e),t}function Sr(){var t;return W.test(e.charAt(Xt))?(t=e.charAt(Xt),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&&(z.test(e.charAt(Xt))?(t=e.charAt(Xt),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 J.test(e.charAt(Xt))?(t=e.charAt(Xt),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&&(Q.test(e.charAt(Xt))?(t=e.charAt(Xt),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(we)),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(we)),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(Ie)),t}function Or(){var t,r,o,u;return t=Xt,r=Xt,o=Xt,rr++,q.test(e.charAt(Xt))?(u=e.charAt(Xt),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=wr())!==n?t=o:(Xt=t,t=n),t===n&&(t=Ir())),t}function Lr(){var t,r,o,u;return t=Xt,r=Xt,o=Xt,rr++,X.test(e.charAt(Xt))?(u=e.charAt(Xt),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=wr())!==n?t=o:(Xt=t,t=n),t===n&&(t=Ir())),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=wt(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++,K.test(e.charAt(Xt))?(u=e.charAt(Xt),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=wr())!==n?t=o:(Xt=t,t=n),t===n&&(t=Ir())),t}function Ir(){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 wr(){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&&(ee.test(e.charAt(Xt))?(t=e.charAt(Xt),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 Z.test(e.charAt(Xt))?(t=e.charAt(Xt),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=I,Xt++):(r=n,0===rr&&lr(Ze)),r!==n&&(Kt=t,r=Vt()),(t=r)===n&&(t=Xt,118===e.charCodeAt(Xt)?(r=w,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 te.test(e.charAt(Xt))?(t=e.charAt(Xt),Xt++):(t=n,0===rr&&lr(ot)),t}function Ur(){var t;return re.test(e.charAt(Xt))?(t=e.charAt(Xt),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++,ne.test(e.charAt(Xt))?(c=e.charAt(Xt),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++,ne.test(e.charAt(Xt))?(c=e.charAt(Xt),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++,ne.test(e.charAt(Xt))?(c=e.charAt(Xt),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++,ne.test(e.charAt(Xt))?(c=e.charAt(Xt),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