Fix error that occurs when parsing TOML files that use dotted keys (#444)

190c3a5 · Mitchell Henke · 2026-03-30 09:53

8 files +1137 -4080
Message
{commit_body(@commit)}

Files changed

modified dist/index.js
+1131 −4069
@@ -19925,4072 +19925,6 @@ const validRange = (range, options) => {
19925 19925 module.exports = validRange
19926 19926
19927 19927
19928 −/***/ }),
19929 −
19930 −/***/ 2132:
19931 −/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
19932 −
19933 −var parser = __nccwpck_require__(4613);
19934 −var compiler = __nccwpck_require__(4763);
19935 −
19936 −module.exports = {
19937 − parse: function(input) {
19938 − var nodes = parser.parse(input.toString());
19939 − return compiler.compile(nodes);
19940 − }
19941 −};
19942 −
19943 −
19944 −/***/ }),
19945 −
19946 −/***/ 4763:
19947 −/***/ ((module) => {
19948 −
19949 −
19950 −function compile(nodes) {
19951 − var assignedPaths = [];
19952 − var valueAssignments = [];
19953 − var currentPath = "";
19954 − var data = Object.create(null);
19955 − var context = data;
19956 − var arrayMode = false;
19957 −
19958 − return reduce(nodes);
19959 −
19960 − function reduce(nodes) {
19961 − var node;
19962 − for (var i = 0; i < nodes.length; i++) {
19963 − node = nodes[i];
19964 − switch (node.type) {
19965 − case "Assign":
19966 − assign(node);
19967 − break;
19968 − case "ObjectPath":
19969 − setPath(node);
19970 − break;
19971 − case "ArrayPath":
19972 − addTableArray(node);
19973 − break;
19974 − }
19975 − }
19976 −
19977 − return data;
19978 − }
19979 −
19980 − function genError(err, line, col) {
19981 − var ex = new Error(err);
19982 − ex.line = line;
19983 − ex.column = col;
19984 − throw ex;
19985 − }
19986 −
19987 − function assign(node) {
19988 − var key = node.key;
19989 − var value = node.value;
19990 − var line = node.line;
19991 − var column = node.column;
19992 −
19993 − var fullPath;
19994 − if (currentPath) {
19995 − fullPath = currentPath + "." + key;
19996 − } else {
19997 − fullPath = key;
19998 − }
19999 − if (typeof context[key] !== "undefined") {
20000 − genError("Cannot redefine existing key '" + fullPath + "'.", line, column);
20001 − }
20002 −
20003 − context[key] = reduceValueNode(value);
20004 −
20005 − if (!pathAssigned(fullPath)) {
20006 − assignedPaths.push(fullPath);
20007 − valueAssignments.push(fullPath);
20008 − }
20009 − }
20010 −
20011 −
20012 − function pathAssigned(path) {
20013 − return assignedPaths.indexOf(path) !== -1;
20014 − }
20015 −
20016 − function reduceValueNode(node) {
20017 − if (node.type === "Array") {
20018 − return reduceArrayWithTypeChecking(node.value);
20019 − } else if (node.type === "InlineTable") {
20020 − return reduceInlineTableNode(node.value);
20021 − } else {
20022 − return node.value;
20023 − }
20024 − }
20025 −
20026 − function reduceInlineTableNode(values) {
20027 − var obj = Object.create(null);
20028 − for (var i = 0; i < values.length; i++) {
20029 − var val = values[i];
20030 − if (val.value.type === "InlineTable") {
20031 − obj[val.key] = reduceInlineTableNode(val.value.value);
20032 − } else if (val.type === "InlineTableValue") {
20033 − obj[val.key] = reduceValueNode(val.value);
20034 − }
20035 − }
20036 −
20037 − return obj;
20038 − }
20039 −
20040 − function setPath(node) {
20041 − var path = node.value;
20042 − var quotedPath = path.map(quoteDottedString).join(".");
20043 − var line = node.line;
20044 − var column = node.column;
20045 −
20046 − if (pathAssigned(quotedPath)) {
20047 − genError("Cannot redefine existing key '" + path + "'.", line, column);
20048 − }
20049 − assignedPaths.push(quotedPath);
20050 − context = deepRef(data, path, Object.create(null), line, column);
20051 − currentPath = path;
20052 − }
20053 −
20054 − function addTableArray(node) {
20055 − var path = node.value;
20056 − var quotedPath = path.map(quoteDottedString).join(".");
20057 − var line = node.line;
20058 − var column = node.column;
20059 −
20060 − if (!pathAssigned(quotedPath)) {
20061 − assignedPaths.push(quotedPath);
20062 − }
20063 − assignedPaths = assignedPaths.filter(function(p) {
20064 − return p.indexOf(quotedPath) !== 0;
20065 − });
20066 − assignedPaths.push(quotedPath);
20067 − context = deepRef(data, path, [], line, column);
20068 − currentPath = quotedPath;
20069 −
20070 − if (context instanceof Array) {
20071 − var newObj = Object.create(null);
20072 − context.push(newObj);
20073 − context = newObj;
20074 − } else {
20075 − genError("Cannot redefine existing key '" + path + "'.", line, column);
20076 − }
20077 − }
20078 −
20079 − // Given a path 'a.b.c', create (as necessary) `start.a`,
20080 − // `start.a.b`, and `start.a.b.c`, assigning `value` to `start.a.b.c`.
20081 − // If `a` or `b` are arrays and have items in them, the last item in the
20082 − // array is used as the context for the next sub-path.
20083 − function deepRef(start, keys, value, line, column) {
20084 − var traversed = [];
20085 − var traversedPath = "";
20086 − var path = keys.join(".");
20087 − var ctx = start;
20088 −
20089 − for (var i = 0; i < keys.length; i++) {
20090 − var key = keys[i];
20091 − traversed.push(key);
20092 − traversedPath = traversed.join(".");
20093 − if (typeof ctx[key] === "undefined") {
20094 − if (i === keys.length - 1) {
20095 − ctx[key] = value;
20096 − } else {
20097 − ctx[key] = Object.create(null);
20098 − }
20099 − } else if (i !== keys.length - 1 && valueAssignments.indexOf(traversedPath) > -1) {
20100 − // already a non-object value at key, can't be used as part of a new path
20101 − genError("Cannot redefine existing key '" + traversedPath + "'.", line, column);
20102 − }
20103 −
20104 − ctx = ctx[key];
20105 − if (ctx instanceof Array && ctx.length && i < keys.length - 1) {
20106 − ctx = ctx[ctx.length - 1];
20107 − }
20108 − }
20109 −
20110 − return ctx;
20111 − }
20112 −
20113 − function reduceArrayWithTypeChecking(array) {
20114 − // Ensure that all items in the array are of the same type
20115 − var firstType = null;
20116 − for (var i = 0; i < array.length; i++) {
20117 − var node = array[i];
20118 − if (firstType === null) {
20119 − firstType = node.type;
20120 − } else {
20121 − if (node.type !== firstType) {
20122 − genError("Cannot add value of type " + node.type + " to array of type " +
20123 − firstType + ".", node.line, node.column);
20124 − }
20125 − }
20126 − }
20127 −
20128 − // Recursively reduce array of nodes into array of the nodes' values
20129 − return array.map(reduceValueNode);
20130 − }
20131 −
20132 − function quoteDottedString(str) {
20133 − if (str.indexOf(".") > -1) {
20134 − return "\"" + str + "\"";
20135 − } else {
20136 − return str;
20137 − }
20138 − }
20139 −}
20140 −
20141 −module.exports = {
20142 − compile: compile
20143 −};
20144 −
20145 −
20146 −/***/ }),
20147 −
20148 −/***/ 4613:
20149 −/***/ ((module) => {
20150 −
20151 −module.exports = (function() {
20152 − /*
20153 − * Generated by PEG.js 0.8.0.
20154 − *
20155 − * http://pegjs.majda.cz/
20156 − */
20157 −
20158 − function peg$subclass(child, parent) {
20159 − function ctor() { this.constructor = child; }
20160 − ctor.prototype = parent.prototype;
20161 − child.prototype = new ctor();
20162 − }
20163 −
20164 − function SyntaxError(message, expected, found, offset, line, column) {
20165 − this.message = message;
20166 − this.expected = expected;
20167 − this.found = found;
20168 − this.offset = offset;
20169 − this.line = line;
20170 − this.column = column;
20171 −
20172 − this.name = "SyntaxError";
20173 − }
20174 −
20175 − peg$subclass(SyntaxError, Error);
20176 −
20177 − function parse(input) {
20178 − var options = arguments.length > 1 ? arguments[1] : {},
20179 −
20180 − peg$FAILED = {},
20181 −
20182 − peg$startRuleFunctions = { start: peg$parsestart },
20183 − peg$startRuleFunction = peg$parsestart,
20184 −
20185 − peg$c0 = [],
20186 − peg$c1 = function() { return nodes },
20187 − peg$c2 = peg$FAILED,
20188 − peg$c3 = "#",
20189 − peg$c4 = { type: "literal", value: "#", description: "\"#\"" },
20190 − peg$c5 = void 0,
20191 − peg$c6 = { type: "any", description: "any character" },
20192 − peg$c7 = "[",
20193 − peg$c8 = { type: "literal", value: "[", description: "\"[\"" },
20194 − peg$c9 = "]",
20195 − peg$c10 = { type: "literal", value: "]", description: "\"]\"" },
20196 − peg$c11 = function(name) { addNode(node('ObjectPath', name, line, column)) },
20197 − peg$c12 = function(name) { addNode(node('ArrayPath', name, line, column)) },
20198 − peg$c13 = function(parts, name) { return parts.concat(name) },
20199 − peg$c14 = function(name) { return [name] },
20200 − peg$c15 = function(name) { return name },
20201 − peg$c16 = ".",
20202 − peg$c17 = { type: "literal", value: ".", description: "\".\"" },
20203 − peg$c18 = "=",
20204 − peg$c19 = { type: "literal", value: "=", description: "\"=\"" },
20205 − peg$c20 = function(key, value) { addNode(node('Assign', value, line, column, key)) },
20206 − peg$c21 = function(chars) { return chars.join('') },
20207 − peg$c22 = function(node) { return node.value },
20208 − peg$c23 = "\"\"\"",
20209 − peg$c24 = { type: "literal", value: "\"\"\"", description: "\"\\\"\\\"\\\"\"" },
20210 − peg$c25 = null,
20211 − peg$c26 = function(chars) { return node('String', chars.join(''), line, column) },
20212 − peg$c27 = "\"",
20213 − peg$c28 = { type: "literal", value: "\"", description: "\"\\\"\"" },
20214 − peg$c29 = "'''",
20215 − peg$c30 = { type: "literal", value: "'''", description: "\"'''\"" },
20216 − peg$c31 = "'",
20217 − peg$c32 = { type: "literal", value: "'", description: "\"'\"" },
20218 − peg$c33 = function(char) { return char },
20219 − peg$c34 = function(char) { return char},
20220 − peg$c35 = "\\",
20221 − peg$c36 = { type: "literal", value: "\\", description: "\"\\\\\"" },
20222 − peg$c37 = function() { return '' },
20223 − peg$c38 = "e",
20224 − peg$c39 = { type: "literal", value: "e", description: "\"e\"" },
20225 − peg$c40 = "E",
20226 − peg$c41 = { type: "literal", value: "E", description: "\"E\"" },
20227 − peg$c42 = function(left, right) { return node('Float', parseFloat(left + 'e' + right), line, column) },
20228 − peg$c43 = function(text) { return node('Float', parseFloat(text), line, column) },
20229 − peg$c44 = "+",
20230 − peg$c45 = { type: "literal", value: "+", description: "\"+\"" },
20231 − peg$c46 = function(digits) { return digits.join('') },
20232 − peg$c47 = "-",
20233 − peg$c48 = { type: "literal", value: "-", description: "\"-\"" },
20234 − peg$c49 = function(digits) { return '-' + digits.join('') },
20235 − peg$c50 = function(text) { return node('Integer', parseInt(text, 10), line, column) },
20236 − peg$c51 = "true",
20237 − peg$c52 = { type: "literal", value: "true", description: "\"true\"" },
20238 − peg$c53 = function() { return node('Boolean', true, line, column) },
20239 − peg$c54 = "false",
20240 − peg$c55 = { type: "literal", value: "false", description: "\"false\"" },
20241 − peg$c56 = function() { return node('Boolean', false, line, column) },
20242 − peg$c57 = function() { return node('Array', [], line, column) },
20243 − peg$c58 = function(value) { return node('Array', value ? [value] : [], line, column) },
20244 − peg$c59 = function(values) { return node('Array', values, line, column) },
20245 − peg$c60 = function(values, value) { return node('Array', values.concat(value), line, column) },
20246 − peg$c61 = function(value) { return value },
20247 − peg$c62 = ",",
20248 − peg$c63 = { type: "literal", value: ",", description: "\",\"" },
20249 − peg$c64 = "{",
20250 − peg$c65 = { type: "literal", value: "{", description: "\"{\"" },
20251 − peg$c66 = "}",
20252 − peg$c67 = { type: "literal", value: "}", description: "\"}\"" },
20253 − peg$c68 = function(values) { return node('InlineTable', values, line, column) },
20254 − peg$c69 = function(key, value) { return node('InlineTableValue', value, line, column, key) },
20255 − peg$c70 = function(digits) { return "." + digits },
20256 − peg$c71 = function(date) { return date.join('') },
20257 − peg$c72 = ":",
20258 − peg$c73 = { type: "literal", value: ":", description: "\":\"" },
20259 − peg$c74 = function(time) { return time.join('') },
20260 − peg$c75 = "T",
20261 − peg$c76 = { type: "literal", value: "T", description: "\"T\"" },
20262 − peg$c77 = "Z",
20263 − peg$c78 = { type: "literal", value: "Z", description: "\"Z\"" },
20264 − peg$c79 = function(date, time) { return node('Date', new Date(date + "T" + time + "Z"), line, column) },
20265 − peg$c80 = function(date, time) { return node('Date', new Date(date + "T" + time), line, column) },
20266 − peg$c81 = /^[ \t]/,
20267 − peg$c82 = { type: "class", value: "[ \\t]", description: "[ \\t]" },
20268 − peg$c83 = "\n",
20269 − peg$c84 = { type: "literal", value: "\n", description: "\"\\n\"" },
20270 − peg$c85 = "\r",
20271 − peg$c86 = { type: "literal", value: "\r", description: "\"\\r\"" },
20272 − peg$c87 = /^[0-9a-f]/i,
20273 − peg$c88 = { type: "class", value: "[0-9a-f]i", description: "[0-9a-f]i" },
20274 − peg$c89 = /^[0-9]/,
20275 − peg$c90 = { type: "class", value: "[0-9]", description: "[0-9]" },
20276 − peg$c91 = "_",
20277 − peg$c92 = { type: "literal", value: "_", description: "\"_\"" },
20278 − peg$c93 = function() { return "" },
20279 − peg$c94 = /^[A-Za-z0-9_\-]/,
20280 − peg$c95 = { type: "class", value: "[A-Za-z0-9_\\-]", description: "[A-Za-z0-9_\\-]" },
20281 − peg$c96 = function(d) { return d.join('') },
20282 − peg$c97 = "\\\"",
20283 − peg$c98 = { type: "literal", value: "\\\"", description: "\"\\\\\\\"\"" },
20284 − peg$c99 = function() { return '"' },
20285 − peg$c100 = "\\\\",
20286 − peg$c101 = { type: "literal", value: "\\\\", description: "\"\\\\\\\\\"" },
20287 − peg$c102 = function() { return '\\' },
20288 − peg$c103 = "\\b",
20289 − peg$c104 = { type: "literal", value: "\\b", description: "\"\\\\b\"" },
20290 − peg$c105 = function() { return '\b' },
20291 − peg$c106 = "\\t",
20292 − peg$c107 = { type: "literal", value: "\\t", description: "\"\\\\t\"" },
20293 − peg$c108 = function() { return '\t' },
20294 − peg$c109 = "\\n",
20295 − peg$c110 = { type: "literal", value: "\\n", description: "\"\\\\n\"" },
20296 − peg$c111 = function() { return '\n' },
20297 − peg$c112 = "\\f",
20298 − peg$c113 = { type: "literal", value: "\\f", description: "\"\\\\f\"" },
20299 − peg$c114 = function() { return '\f' },
20300 − peg$c115 = "\\r",
20301 − peg$c116 = { type: "literal", value: "\\r", description: "\"\\\\r\"" },
20302 − peg$c117 = function() { return '\r' },
20303 − peg$c118 = "\\U",
20304 − peg$c119 = { type: "literal", value: "\\U", description: "\"\\\\U\"" },
20305 − peg$c120 = function(digits) { return convertCodePoint(digits.join('')) },
20306 − peg$c121 = "\\u",
20307 − peg$c122 = { type: "literal", value: "\\u", description: "\"\\\\u\"" },
20308 −
20309 − peg$currPos = 0,
20310 − peg$reportedPos = 0,
20311 − peg$cachedPos = 0,
20312 − peg$cachedPosDetails = { line: 1, column: 1, seenCR: false },
20313 − peg$maxFailPos = 0,
20314 − peg$maxFailExpected = [],
20315 − peg$silentFails = 0,
20316 −
20317 − peg$cache = {},
20318 − peg$result;
20319 −
20320 − if ("startRule" in options) {
20321 − if (!(options.startRule in peg$startRuleFunctions)) {
20322 − throw new Error("Can't start parsing from rule \"" + options.startRule + "\".");
20323 − }
20324 −
20325 − peg$startRuleFunction = peg$startRuleFunctions[options.startRule];
20326 − }
20327 −
20328 − function text() {
20329 − return input.substring(peg$reportedPos, peg$currPos);
20330 − }
20331 −
20332 − function offset() {
20333 − return peg$reportedPos;
20334 − }
20335 −
20336 − function line() {
20337 − return peg$computePosDetails(peg$reportedPos).line;
20338 − }
20339 −
20340 − function column() {
20341 − return peg$computePosDetails(peg$reportedPos).column;
20342 − }
20343 −
20344 − function expected(description) {
20345 − throw peg$buildException(
20346 − null,
20347 − [{ type: "other", description: description }],
20348 − peg$reportedPos
20349 − );
20350 − }
20351 −
20352 − function error(message) {
20353 − throw peg$buildException(message, null, peg$reportedPos);
20354 − }
20355 −
20356 − function peg$computePosDetails(pos) {
20357 − function advance(details, startPos, endPos) {
20358 − var p, ch;
20359 −
20360 − for (p = startPos; p < endPos; p++) {
20361 − ch = input.charAt(p);
20362 − if (ch === "\n") {
20363 − if (!details.seenCR) { details.line++; }
20364 − details.column = 1;
20365 − details.seenCR = false;
20366 − } else if (ch === "\r" || ch === "\u2028" || ch === "\u2029") {
20367 − details.line++;
20368 − details.column = 1;
20369 − details.seenCR = true;
20370 − } else {
20371 − details.column++;
20372 − details.seenCR = false;
20373 − }
20374 − }
20375 − }
20376 −
20377 − if (peg$cachedPos !== pos) {
20378 − if (peg$cachedPos > pos) {
20379 − peg$cachedPos = 0;
20380 − peg$cachedPosDetails = { line: 1, column: 1, seenCR: false };
20381 − }
20382 − advance(peg$cachedPosDetails, peg$cachedPos, pos);
20383 − peg$cachedPos = pos;
20384 − }
20385 −
20386 − return peg$cachedPosDetails;
20387 − }
20388 −
20389 − function peg$fail(expected) {
20390 − if (peg$currPos < peg$maxFailPos) { return; }
20391 −
20392 − if (peg$currPos > peg$maxFailPos) {
20393 − peg$maxFailPos = peg$currPos;
20394 − peg$maxFailExpected = [];
20395 − }
20396 −
20397 − peg$maxFailExpected.push(expected);
20398 − }
20399 −
20400 − function peg$buildException(message, expected, pos) {
20401 − function cleanupExpected(expected) {
20402 − var i = 1;
20403 −
20404 − expected.sort(function(a, b) {
20405 − if (a.description < b.description) {
20406 − return -1;
20407 − } else if (a.description > b.description) {
20408 − return 1;
20409 − } else {
20410 − return 0;
20411 − }
20412 − });
20413 −
20414 − while (i < expected.length) {
20415 − if (expected[i - 1] === expected[i]) {
20416 − expected.splice(i, 1);
20417 − } else {
20418 − i++;
20419 − }
20420 − }
20421 − }
20422 −
20423 − function buildMessage(expected, found) {
20424 − function stringEscape(s) {
20425 − function hex(ch) { return ch.charCodeAt(0).toString(16).toUpperCase(); }
20426 −
20427 − return s
20428 − .replace(/\\/g, '\\\\')
20429 − .replace(/"/g, '\\"')
20430 − .replace(/\x08/g, '\\b')
20431 − .replace(/\t/g, '\\t')
20432 − .replace(/\n/g, '\\n')
20433 − .replace(/\f/g, '\\f')
20434 − .replace(/\r/g, '\\r')
20435 − .replace(/[\x00-\x07\x0B\x0E\x0F]/g, function(ch) { return '\\x0' + hex(ch); })
20436 − .replace(/[\x10-\x1F\x80-\xFF]/g, function(ch) { return '\\x' + hex(ch); })
20437 − .replace(/[\u0180-\u0FFF]/g, function(ch) { return '\\u0' + hex(ch); })
20438 − .replace(/[\u1080-\uFFFF]/g, function(ch) { return '\\u' + hex(ch); });
20439 − }
20440 −
20441 − var expectedDescs = new Array(expected.length),
20442 − expectedDesc, foundDesc, i;
20443 −
20444 − for (i = 0; i < expected.length; i++) {
20445 − expectedDescs[i] = expected[i].description;
20446 − }
20447 −
20448 − expectedDesc = expected.length > 1
20449 − ? expectedDescs.slice(0, -1).join(", ")
20450 − + " or "
20451 − + expectedDescs[expected.length - 1]
20452 − : expectedDescs[0];
20453 −
20454 − foundDesc = found ? "\"" + stringEscape(found) + "\"" : "end of input";
20455 −
20456 − return "Expected " + expectedDesc + " but " + foundDesc + " found.";
20457 − }
20458 −
20459 − var posDetails = peg$computePosDetails(pos),
20460 − found = pos < input.length ? input.charAt(pos) : null;
20461 −
20462 − if (expected !== null) {
20463 − cleanupExpected(expected);
20464 − }
20465 −
20466 − return new SyntaxError(
20467 − message !== null ? message : buildMessage(expected, found),
20468 − expected,
20469 − found,
20470 − pos,
20471 − posDetails.line,
20472 − posDetails.column
20473 − );
20474 − }
20475 −
20476 − function peg$parsestart() {
20477 − var s0, s1, s2;
20478 −
20479 − var key = peg$currPos * 49 + 0,
20480 − cached = peg$cache[key];
20481 −
20482 − if (cached) {
20483 − peg$currPos = cached.nextPos;
20484 − return cached.result;
20485 − }
20486 −
20487 − s0 = peg$currPos;
20488 − s1 = [];
20489 − s2 = peg$parseline();
20490 − while (s2 !== peg$FAILED) {
20491 − s1.push(s2);
20492 − s2 = peg$parseline();
20493 − }
20494 − if (s1 !== peg$FAILED) {
20495 − peg$reportedPos = s0;
20496 − s1 = peg$c1();
20497 − }
20498 − s0 = s1;
20499 −
20500 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
20501 −
20502 − return s0;
20503 − }
20504 −
20505 − function peg$parseline() {
20506 − var s0, s1, s2, s3, s4, s5, s6;
20507 −
20508 − var key = peg$currPos * 49 + 1,
20509 − cached = peg$cache[key];
20510 −
20511 − if (cached) {
20512 − peg$currPos = cached.nextPos;
20513 − return cached.result;
20514 − }
20515 −
20516 − s0 = peg$currPos;
20517 − s1 = [];
20518 − s2 = peg$parseS();
20519 − while (s2 !== peg$FAILED) {
20520 − s1.push(s2);
20521 − s2 = peg$parseS();
20522 − }
20523 − if (s1 !== peg$FAILED) {
20524 − s2 = peg$parseexpression();
20525 − if (s2 !== peg$FAILED) {
20526 − s3 = [];
20527 − s4 = peg$parseS();
20528 − while (s4 !== peg$FAILED) {
20529 − s3.push(s4);
20530 − s4 = peg$parseS();
20531 − }
20532 − if (s3 !== peg$FAILED) {
20533 − s4 = [];
20534 − s5 = peg$parsecomment();
20535 − while (s5 !== peg$FAILED) {
20536 − s4.push(s5);
20537 − s5 = peg$parsecomment();
20538 − }
20539 − if (s4 !== peg$FAILED) {
20540 − s5 = [];
20541 − s6 = peg$parseNL();
20542 − if (s6 !== peg$FAILED) {
20543 − while (s6 !== peg$FAILED) {
20544 − s5.push(s6);
20545 − s6 = peg$parseNL();
20546 − }
20547 − } else {
20548 − s5 = peg$c2;
20549 − }
20550 − if (s5 === peg$FAILED) {
20551 − s5 = peg$parseEOF();
20552 − }
20553 − if (s5 !== peg$FAILED) {
20554 − s1 = [s1, s2, s3, s4, s5];
20555 − s0 = s1;
20556 − } else {
20557 − peg$currPos = s0;
20558 − s0 = peg$c2;
20559 − }
20560 − } else {
20561 − peg$currPos = s0;
20562 − s0 = peg$c2;
20563 − }
20564 − } else {
20565 − peg$currPos = s0;
20566 − s0 = peg$c2;
20567 − }
20568 − } else {
20569 − peg$currPos = s0;
20570 − s0 = peg$c2;
20571 − }
20572 − } else {
20573 − peg$currPos = s0;
20574 − s0 = peg$c2;
20575 − }
20576 − if (s0 === peg$FAILED) {
20577 − s0 = peg$currPos;
20578 − s1 = [];
20579 − s2 = peg$parseS();
20580 − if (s2 !== peg$FAILED) {
20581 − while (s2 !== peg$FAILED) {
20582 − s1.push(s2);
20583 − s2 = peg$parseS();
20584 − }
20585 − } else {
20586 − s1 = peg$c2;
20587 − }
20588 − if (s1 !== peg$FAILED) {
20589 − s2 = [];
20590 − s3 = peg$parseNL();
20591 − if (s3 !== peg$FAILED) {
20592 − while (s3 !== peg$FAILED) {
20593 − s2.push(s3);
20594 − s3 = peg$parseNL();
20595 − }
20596 − } else {
20597 − s2 = peg$c2;
20598 − }
20599 − if (s2 === peg$FAILED) {
20600 − s2 = peg$parseEOF();
20601 − }
20602 − if (s2 !== peg$FAILED) {
20603 − s1 = [s1, s2];
20604 − s0 = s1;
20605 − } else {
20606 − peg$currPos = s0;
20607 − s0 = peg$c2;
20608 − }
20609 − } else {
20610 − peg$currPos = s0;
20611 − s0 = peg$c2;
20612 − }
20613 − if (s0 === peg$FAILED) {
20614 − s0 = peg$parseNL();
20615 − }
20616 − }
20617 −
20618 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
20619 −
20620 − return s0;
20621 − }
20622 −
20623 − function peg$parseexpression() {
20624 − var s0;
20625 −
20626 − var key = peg$currPos * 49 + 2,
20627 − cached = peg$cache[key];
20628 −
20629 − if (cached) {
20630 − peg$currPos = cached.nextPos;
20631 − return cached.result;
20632 − }
20633 −
20634 − s0 = peg$parsecomment();
20635 − if (s0 === peg$FAILED) {
20636 − s0 = peg$parsepath();
20637 − if (s0 === peg$FAILED) {
20638 − s0 = peg$parsetablearray();
20639 − if (s0 === peg$FAILED) {
20640 − s0 = peg$parseassignment();
20641 − }
20642 − }
20643 − }
20644 −
20645 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
20646 −
20647 − return s0;
20648 − }
20649 −
20650 − function peg$parsecomment() {
20651 − var s0, s1, s2, s3, s4, s5;
20652 −
20653 − var key = peg$currPos * 49 + 3,
20654 − cached = peg$cache[key];
20655 −
20656 − if (cached) {
20657 − peg$currPos = cached.nextPos;
20658 − return cached.result;
20659 − }
20660 −
20661 − s0 = peg$currPos;
20662 − if (input.charCodeAt(peg$currPos) === 35) {
20663 − s1 = peg$c3;
20664 − peg$currPos++;
20665 − } else {
20666 − s1 = peg$FAILED;
20667 − if (peg$silentFails === 0) { peg$fail(peg$c4); }
20668 − }
20669 − if (s1 !== peg$FAILED) {
20670 − s2 = [];
20671 − s3 = peg$currPos;
20672 − s4 = peg$currPos;
20673 − peg$silentFails++;
20674 − s5 = peg$parseNL();
20675 − if (s5 === peg$FAILED) {
20676 − s5 = peg$parseEOF();
20677 − }
20678 − peg$silentFails--;
20679 − if (s5 === peg$FAILED) {
20680 − s4 = peg$c5;
20681 − } else {
20682 − peg$currPos = s4;
20683 − s4 = peg$c2;
20684 − }
20685 − if (s4 !== peg$FAILED) {
20686 − if (input.length > peg$currPos) {
20687 − s5 = input.charAt(peg$currPos);
20688 − peg$currPos++;
20689 − } else {
20690 − s5 = peg$FAILED;
20691 − if (peg$silentFails === 0) { peg$fail(peg$c6); }
20692 − }
20693 − if (s5 !== peg$FAILED) {
20694 − s4 = [s4, s5];
20695 − s3 = s4;
20696 − } else {
20697 − peg$currPos = s3;
20698 − s3 = peg$c2;
20699 − }
20700 − } else {
20701 − peg$currPos = s3;
20702 − s3 = peg$c2;
20703 − }
20704 − while (s3 !== peg$FAILED) {
20705 − s2.push(s3);
20706 − s3 = peg$currPos;
20707 − s4 = peg$currPos;
20708 − peg$silentFails++;
20709 − s5 = peg$parseNL();
20710 − if (s5 === peg$FAILED) {
20711 − s5 = peg$parseEOF();
20712 − }
20713 − peg$silentFails--;
20714 − if (s5 === peg$FAILED) {
20715 − s4 = peg$c5;
20716 − } else {
20717 − peg$currPos = s4;
20718 − s4 = peg$c2;
20719 − }
20720 − if (s4 !== peg$FAILED) {
20721 − if (input.length > peg$currPos) {
20722 − s5 = input.charAt(peg$currPos);
20723 − peg$currPos++;
20724 − } else {
20725 − s5 = peg$FAILED;
20726 − if (peg$silentFails === 0) { peg$fail(peg$c6); }
20727 − }
20728 − if (s5 !== peg$FAILED) {
20729 − s4 = [s4, s5];
20730 − s3 = s4;
20731 − } else {
20732 − peg$currPos = s3;
20733 − s3 = peg$c2;
20734 − }
20735 − } else {
20736 − peg$currPos = s3;
20737 − s3 = peg$c2;
20738 − }
20739 − }
20740 − if (s2 !== peg$FAILED) {
20741 − s1 = [s1, s2];
20742 − s0 = s1;
20743 − } else {
20744 − peg$currPos = s0;
20745 − s0 = peg$c2;
20746 − }
20747 − } else {
20748 − peg$currPos = s0;
20749 − s0 = peg$c2;
20750 − }
20751 −
20752 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
20753 −
20754 − return s0;
20755 − }
20756 −
20757 − function peg$parsepath() {
20758 − var s0, s1, s2, s3, s4, s5;
20759 −
20760 − var key = peg$currPos * 49 + 4,
20761 − cached = peg$cache[key];
20762 −
20763 − if (cached) {
20764 − peg$currPos = cached.nextPos;
20765 − return cached.result;
20766 − }
20767 −
20768 − s0 = peg$currPos;
20769 − if (input.charCodeAt(peg$currPos) === 91) {
20770 − s1 = peg$c7;
20771 − peg$currPos++;
20772 − } else {
20773 − s1 = peg$FAILED;
20774 − if (peg$silentFails === 0) { peg$fail(peg$c8); }
20775 − }
20776 − if (s1 !== peg$FAILED) {
20777 − s2 = [];
20778 − s3 = peg$parseS();
20779 − while (s3 !== peg$FAILED) {
20780 − s2.push(s3);
20781 − s3 = peg$parseS();
20782 − }
20783 − if (s2 !== peg$FAILED) {
20784 − s3 = peg$parsetable_key();
20785 − if (s3 !== peg$FAILED) {
20786 − s4 = [];
20787 − s5 = peg$parseS();
20788 − while (s5 !== peg$FAILED) {
20789 − s4.push(s5);
20790 − s5 = peg$parseS();
20791 − }
20792 − if (s4 !== peg$FAILED) {
20793 − if (input.charCodeAt(peg$currPos) === 93) {
20794 − s5 = peg$c9;
20795 − peg$currPos++;
20796 − } else {
20797 − s5 = peg$FAILED;
20798 − if (peg$silentFails === 0) { peg$fail(peg$c10); }
20799 − }
20800 − if (s5 !== peg$FAILED) {
20801 − peg$reportedPos = s0;
20802 − s1 = peg$c11(s3);
20803 − s0 = s1;
20804 − } else {
20805 − peg$currPos = s0;
20806 − s0 = peg$c2;
20807 − }
20808 − } else {
20809 − peg$currPos = s0;
20810 − s0 = peg$c2;
20811 − }
20812 − } else {
20813 − peg$currPos = s0;
20814 − s0 = peg$c2;
20815 − }
20816 − } else {
20817 − peg$currPos = s0;
20818 − s0 = peg$c2;
20819 − }
20820 − } else {
20821 − peg$currPos = s0;
20822 − s0 = peg$c2;
20823 − }
20824 −
20825 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
20826 −
20827 − return s0;
20828 − }
20829 −
20830 − function peg$parsetablearray() {
20831 − var s0, s1, s2, s3, s4, s5, s6, s7;
20832 −
20833 − var key = peg$currPos * 49 + 5,
20834 − cached = peg$cache[key];
20835 −
20836 − if (cached) {
20837 − peg$currPos = cached.nextPos;
20838 − return cached.result;
20839 − }
20840 −
20841 − s0 = peg$currPos;
20842 − if (input.charCodeAt(peg$currPos) === 91) {
20843 − s1 = peg$c7;
20844 − peg$currPos++;
20845 − } else {
20846 − s1 = peg$FAILED;
20847 − if (peg$silentFails === 0) { peg$fail(peg$c8); }
20848 − }
20849 − if (s1 !== peg$FAILED) {
20850 − if (input.charCodeAt(peg$currPos) === 91) {
20851 − s2 = peg$c7;
20852 − peg$currPos++;
20853 − } else {
20854 − s2 = peg$FAILED;
20855 − if (peg$silentFails === 0) { peg$fail(peg$c8); }
20856 − }
20857 − if (s2 !== peg$FAILED) {
20858 − s3 = [];
20859 − s4 = peg$parseS();
20860 − while (s4 !== peg$FAILED) {
20861 − s3.push(s4);
20862 − s4 = peg$parseS();
20863 − }
20864 − if (s3 !== peg$FAILED) {
20865 − s4 = peg$parsetable_key();
20866 − if (s4 !== peg$FAILED) {
20867 − s5 = [];
20868 − s6 = peg$parseS();
20869 − while (s6 !== peg$FAILED) {
20870 − s5.push(s6);
20871 − s6 = peg$parseS();
20872 − }
20873 − if (s5 !== peg$FAILED) {
20874 − if (input.charCodeAt(peg$currPos) === 93) {
20875 − s6 = peg$c9;
20876 − peg$currPos++;
20877 − } else {
20878 − s6 = peg$FAILED;
20879 − if (peg$silentFails === 0) { peg$fail(peg$c10); }
20880 − }
20881 − if (s6 !== peg$FAILED) {
20882 − if (input.charCodeAt(peg$currPos) === 93) {
20883 − s7 = peg$c9;
20884 − peg$currPos++;
20885 − } else {
20886 − s7 = peg$FAILED;
20887 − if (peg$silentFails === 0) { peg$fail(peg$c10); }
20888 − }
20889 − if (s7 !== peg$FAILED) {
20890 − peg$reportedPos = s0;
20891 − s1 = peg$c12(s4);
20892 − s0 = s1;
20893 − } else {
20894 − peg$currPos = s0;
20895 − s0 = peg$c2;
20896 − }
20897 − } else {
20898 − peg$currPos = s0;
20899 − s0 = peg$c2;
20900 − }
20901 − } else {
20902 − peg$currPos = s0;
20903 − s0 = peg$c2;
20904 − }
20905 − } else {
20906 − peg$currPos = s0;
20907 − s0 = peg$c2;
20908 − }
20909 − } else {
20910 − peg$currPos = s0;
20911 − s0 = peg$c2;
20912 − }
20913 − } else {
20914 − peg$currPos = s0;
20915 − s0 = peg$c2;
20916 − }
20917 − } else {
20918 − peg$currPos = s0;
20919 − s0 = peg$c2;
20920 − }
20921 −
20922 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
20923 −
20924 − return s0;
20925 − }
20926 −
20927 − function peg$parsetable_key() {
20928 − var s0, s1, s2;
20929 −
20930 − var key = peg$currPos * 49 + 6,
20931 − cached = peg$cache[key];
20932 −
20933 − if (cached) {
20934 − peg$currPos = cached.nextPos;
20935 − return cached.result;
20936 − }
20937 −
20938 − s0 = peg$currPos;
20939 − s1 = [];
20940 − s2 = peg$parsedot_ended_table_key_part();
20941 − if (s2 !== peg$FAILED) {
20942 − while (s2 !== peg$FAILED) {
20943 − s1.push(s2);
20944 − s2 = peg$parsedot_ended_table_key_part();
20945 − }
20946 − } else {
20947 − s1 = peg$c2;
20948 − }
20949 − if (s1 !== peg$FAILED) {
20950 − s2 = peg$parsetable_key_part();
20951 − if (s2 !== peg$FAILED) {
20952 − peg$reportedPos = s0;
20953 − s1 = peg$c13(s1, s2);
20954 − s0 = s1;
20955 − } else {
20956 − peg$currPos = s0;
20957 − s0 = peg$c2;
20958 − }
20959 − } else {
20960 − peg$currPos = s0;
20961 − s0 = peg$c2;
20962 − }
20963 − if (s0 === peg$FAILED) {
20964 − s0 = peg$currPos;
20965 − s1 = peg$parsetable_key_part();
20966 − if (s1 !== peg$FAILED) {
20967 − peg$reportedPos = s0;
20968 − s1 = peg$c14(s1);
20969 − }
20970 − s0 = s1;
20971 − }
20972 −
20973 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
20974 −
20975 − return s0;
20976 − }
20977 −
20978 − function peg$parsetable_key_part() {
20979 − var s0, s1, s2, s3, s4;
20980 −
20981 − var key = peg$currPos * 49 + 7,
20982 − cached = peg$cache[key];
20983 −
20984 − if (cached) {
20985 − peg$currPos = cached.nextPos;
20986 − return cached.result;
20987 − }
20988 −
20989 − s0 = peg$currPos;
20990 − s1 = [];
20991 − s2 = peg$parseS();
20992 − while (s2 !== peg$FAILED) {
20993 − s1.push(s2);
20994 − s2 = peg$parseS();
20995 − }
20996 − if (s1 !== peg$FAILED) {
20997 − s2 = peg$parsekey();
20998 − if (s2 !== peg$FAILED) {
20999 − s3 = [];
21000 − s4 = peg$parseS();
21001 − while (s4 !== peg$FAILED) {
21002 − s3.push(s4);
21003 − s4 = peg$parseS();
21004 − }
21005 − if (s3 !== peg$FAILED) {
21006 − peg$reportedPos = s0;
21007 − s1 = peg$c15(s2);
21008 − s0 = s1;
21009 − } else {
21010 − peg$currPos = s0;
21011 − s0 = peg$c2;
21012 − }
21013 − } else {
21014 − peg$currPos = s0;
21015 − s0 = peg$c2;
21016 − }
21017 − } else {
21018 − peg$currPos = s0;
21019 − s0 = peg$c2;
21020 − }
21021 − if (s0 === peg$FAILED) {
21022 − s0 = peg$currPos;
21023 − s1 = [];
21024 − s2 = peg$parseS();
21025 − while (s2 !== peg$FAILED) {
21026 − s1.push(s2);
21027 − s2 = peg$parseS();
21028 − }
21029 − if (s1 !== peg$FAILED) {
21030 − s2 = peg$parsequoted_key();
21031 − if (s2 !== peg$FAILED) {
21032 − s3 = [];
21033 − s4 = peg$parseS();
21034 − while (s4 !== peg$FAILED) {
21035 − s3.push(s4);
21036 − s4 = peg$parseS();
21037 − }
21038 − if (s3 !== peg$FAILED) {
21039 − peg$reportedPos = s0;
21040 − s1 = peg$c15(s2);
21041 − s0 = s1;
21042 − } else {
21043 − peg$currPos = s0;
21044 − s0 = peg$c2;
21045 − }
21046 − } else {
21047 − peg$currPos = s0;
21048 − s0 = peg$c2;
21049 − }
21050 − } else {
21051 − peg$currPos = s0;
21052 − s0 = peg$c2;
21053 − }
21054 − }
21055 −
21056 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
21057 −
21058 − return s0;
21059 − }
21060 −
21061 − function peg$parsedot_ended_table_key_part() {
21062 − var s0, s1, s2, s3, s4, s5, s6;
21063 −
21064 − var key = peg$currPos * 49 + 8,
21065 − cached = peg$cache[key];
21066 −
21067 − if (cached) {
21068 − peg$currPos = cached.nextPos;
21069 − return cached.result;
21070 − }
21071 −
21072 − s0 = peg$currPos;
21073 − s1 = [];
21074 − s2 = peg$parseS();
21075 − while (s2 !== peg$FAILED) {
21076 − s1.push(s2);
21077 − s2 = peg$parseS();
21078 − }
21079 − if (s1 !== peg$FAILED) {
21080 − s2 = peg$parsekey();
21081 − if (s2 !== peg$FAILED) {
21082 − s3 = [];
21083 − s4 = peg$parseS();
21084 − while (s4 !== peg$FAILED) {
21085 − s3.push(s4);
21086 − s4 = peg$parseS();
21087 − }
21088 − if (s3 !== peg$FAILED) {
21089 − if (input.charCodeAt(peg$currPos) === 46) {
21090 − s4 = peg$c16;
21091 − peg$currPos++;
21092 − } else {
21093 − s4 = peg$FAILED;
21094 − if (peg$silentFails === 0) { peg$fail(peg$c17); }
21095 − }
21096 − if (s4 !== peg$FAILED) {
21097 − s5 = [];
21098 − s6 = peg$parseS();
21099 − while (s6 !== peg$FAILED) {
21100 − s5.push(s6);
21101 − s6 = peg$parseS();
21102 − }
21103 − if (s5 !== peg$FAILED) {
21104 − peg$reportedPos = s0;
21105 − s1 = peg$c15(s2);
21106 − s0 = s1;
21107 − } else {
21108 − peg$currPos = s0;
21109 − s0 = peg$c2;
21110 − }
21111 − } else {
21112 − peg$currPos = s0;
21113 − s0 = peg$c2;
21114 − }
21115 − } else {
21116 − peg$currPos = s0;
21117 − s0 = peg$c2;
21118 − }
21119 − } else {
21120 − peg$currPos = s0;
21121 − s0 = peg$c2;
21122 − }
21123 − } else {
21124 − peg$currPos = s0;
21125 − s0 = peg$c2;
21126 − }
21127 − if (s0 === peg$FAILED) {
21128 − s0 = peg$currPos;
21129 − s1 = [];
21130 − s2 = peg$parseS();
21131 − while (s2 !== peg$FAILED) {
21132 − s1.push(s2);
21133 − s2 = peg$parseS();
21134 − }
21135 − if (s1 !== peg$FAILED) {
21136 − s2 = peg$parsequoted_key();
21137 − if (s2 !== peg$FAILED) {
21138 − s3 = [];
21139 − s4 = peg$parseS();
21140 − while (s4 !== peg$FAILED) {
21141 − s3.push(s4);
21142 − s4 = peg$parseS();
21143 − }
21144 − if (s3 !== peg$FAILED) {
21145 − if (input.charCodeAt(peg$currPos) === 46) {
21146 − s4 = peg$c16;
21147 − peg$currPos++;
21148 − } else {
21149 − s4 = peg$FAILED;
21150 − if (peg$silentFails === 0) { peg$fail(peg$c17); }
21151 − }
21152 − if (s4 !== peg$FAILED) {
21153 − s5 = [];
21154 − s6 = peg$parseS();
21155 − while (s6 !== peg$FAILED) {
21156 − s5.push(s6);
21157 − s6 = peg$parseS();
21158 − }
21159 − if (s5 !== peg$FAILED) {
21160 − peg$reportedPos = s0;
21161 − s1 = peg$c15(s2);
21162 − s0 = s1;
21163 − } else {
21164 − peg$currPos = s0;
21165 − s0 = peg$c2;
21166 − }
21167 − } else {
21168 − peg$currPos = s0;
21169 − s0 = peg$c2;
21170 − }
21171 − } else {
21172 − peg$currPos = s0;
21173 − s0 = peg$c2;
21174 − }
21175 − } else {
21176 − peg$currPos = s0;
21177 − s0 = peg$c2;
21178 − }
21179 − } else {
21180 − peg$currPos = s0;
21181 − s0 = peg$c2;
21182 − }
21183 − }
21184 −
21185 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
21186 −
21187 − return s0;
21188 − }
21189 −
21190 − function peg$parseassignment() {
21191 − var s0, s1, s2, s3, s4, s5;
21192 −
21193 − var key = peg$currPos * 49 + 9,
21194 − cached = peg$cache[key];
21195 −
21196 − if (cached) {
21197 − peg$currPos = cached.nextPos;
21198 − return cached.result;
21199 − }
21200 −
21201 − s0 = peg$currPos;
21202 − s1 = peg$parsekey();
21203 − if (s1 !== peg$FAILED) {
21204 − s2 = [];
21205 − s3 = peg$parseS();
21206 − while (s3 !== peg$FAILED) {
21207 − s2.push(s3);
21208 − s3 = peg$parseS();
21209 − }
21210 − if (s2 !== peg$FAILED) {
21211 − if (input.charCodeAt(peg$currPos) === 61) {
21212 − s3 = peg$c18;
21213 − peg$currPos++;
21214 − } else {
21215 − s3 = peg$FAILED;
21216 − if (peg$silentFails === 0) { peg$fail(peg$c19); }
21217 − }
21218 − if (s3 !== peg$FAILED) {
21219 − s4 = [];
21220 − s5 = peg$parseS();
21221 − while (s5 !== peg$FAILED) {
21222 − s4.push(s5);
21223 − s5 = peg$parseS();
21224 − }
21225 − if (s4 !== peg$FAILED) {
21226 − s5 = peg$parsevalue();
21227 − if (s5 !== peg$FAILED) {
21228 − peg$reportedPos = s0;
21229 − s1 = peg$c20(s1, s5);
21230 − s0 = s1;
21231 − } else {
21232 − peg$currPos = s0;
21233 − s0 = peg$c2;
21234 − }
21235 − } else {
21236 − peg$currPos = s0;
21237 − s0 = peg$c2;
21238 − }
21239 − } else {
21240 − peg$currPos = s0;
21241 − s0 = peg$c2;
21242 − }
21243 − } else {
21244 − peg$currPos = s0;
21245 − s0 = peg$c2;
21246 − }
21247 − } else {
21248 − peg$currPos = s0;
21249 − s0 = peg$c2;
21250 − }
21251 − if (s0 === peg$FAILED) {
21252 − s0 = peg$currPos;
21253 − s1 = peg$parsequoted_key();
21254 − if (s1 !== peg$FAILED) {
21255 − s2 = [];
21256 − s3 = peg$parseS();
21257 − while (s3 !== peg$FAILED) {
21258 − s2.push(s3);
21259 − s3 = peg$parseS();
21260 − }
21261 − if (s2 !== peg$FAILED) {
21262 − if (input.charCodeAt(peg$currPos) === 61) {
21263 − s3 = peg$c18;
21264 − peg$currPos++;
21265 − } else {
21266 − s3 = peg$FAILED;
21267 − if (peg$silentFails === 0) { peg$fail(peg$c19); }
21268 − }
21269 − if (s3 !== peg$FAILED) {
21270 − s4 = [];
21271 − s5 = peg$parseS();
21272 − while (s5 !== peg$FAILED) {
21273 − s4.push(s5);
21274 − s5 = peg$parseS();
21275 − }
21276 − if (s4 !== peg$FAILED) {
21277 − s5 = peg$parsevalue();
21278 − if (s5 !== peg$FAILED) {
21279 − peg$reportedPos = s0;
21280 − s1 = peg$c20(s1, s5);
21281 − s0 = s1;
21282 − } else {
21283 − peg$currPos = s0;
21284 − s0 = peg$c2;
21285 − }
21286 − } else {
21287 − peg$currPos = s0;
21288 − s0 = peg$c2;
21289 − }
21290 − } else {
21291 − peg$currPos = s0;
21292 − s0 = peg$c2;
21293 − }
21294 − } else {
21295 − peg$currPos = s0;
21296 − s0 = peg$c2;
21297 − }
21298 − } else {
21299 − peg$currPos = s0;
21300 − s0 = peg$c2;
21301 − }
21302 − }
21303 −
21304 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
21305 −
21306 − return s0;
21307 − }
21308 −
21309 − function peg$parsekey() {
21310 − var s0, s1, s2;
21311 −
21312 − var key = peg$currPos * 49 + 10,
21313 − cached = peg$cache[key];
21314 −
21315 − if (cached) {
21316 − peg$currPos = cached.nextPos;
21317 − return cached.result;
21318 − }
21319 −
21320 − s0 = peg$currPos;
21321 − s1 = [];
21322 − s2 = peg$parseASCII_BASIC();
21323 − if (s2 !== peg$FAILED) {
21324 − while (s2 !== peg$FAILED) {
21325 − s1.push(s2);
21326 − s2 = peg$parseASCII_BASIC();
21327 − }
21328 − } else {
21329 − s1 = peg$c2;
21330 − }
21331 − if (s1 !== peg$FAILED) {
21332 − peg$reportedPos = s0;
21333 − s1 = peg$c21(s1);
21334 − }
21335 − s0 = s1;
21336 −
21337 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
21338 −
21339 − return s0;
21340 − }
21341 −
21342 − function peg$parsequoted_key() {
21343 − var s0, s1;
21344 −
21345 − var key = peg$currPos * 49 + 11,
21346 − cached = peg$cache[key];
21347 −
21348 − if (cached) {
21349 − peg$currPos = cached.nextPos;
21350 − return cached.result;
21351 − }
21352 −
21353 − s0 = peg$currPos;
21354 − s1 = peg$parsedouble_quoted_single_line_string();
21355 − if (s1 !== peg$FAILED) {
21356 − peg$reportedPos = s0;
21357 − s1 = peg$c22(s1);
21358 − }
21359 − s0 = s1;
21360 − if (s0 === peg$FAILED) {
21361 − s0 = peg$currPos;
21362 − s1 = peg$parsesingle_quoted_single_line_string();
21363 − if (s1 !== peg$FAILED) {
21364 − peg$reportedPos = s0;
21365 − s1 = peg$c22(s1);
21366 − }
21367 − s0 = s1;
21368 − }
21369 −
21370 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
21371 −
21372 − return s0;
21373 − }
21374 −
21375 − function peg$parsevalue() {
21376 − var s0;
21377 −
21378 − var key = peg$currPos * 49 + 12,
21379 − cached = peg$cache[key];
21380 −
21381 − if (cached) {
21382 − peg$currPos = cached.nextPos;
21383 − return cached.result;
21384 − }
21385 −
21386 − s0 = peg$parsestring();
21387 − if (s0 === peg$FAILED) {
21388 − s0 = peg$parsedatetime();
21389 − if (s0 === peg$FAILED) {
21390 − s0 = peg$parsefloat();
21391 − if (s0 === peg$FAILED) {
21392 − s0 = peg$parseinteger();
21393 − if (s0 === peg$FAILED) {
21394 − s0 = peg$parseboolean();
21395 − if (s0 === peg$FAILED) {
21396 − s0 = peg$parsearray();
21397 − if (s0 === peg$FAILED) {
21398 − s0 = peg$parseinline_table();
21399 − }
21400 − }
21401 − }
21402 − }
21403 − }
21404 − }
21405 −
21406 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
21407 −
21408 − return s0;
21409 − }
21410 −
21411 − function peg$parsestring() {
21412 − var s0;
21413 −
21414 − var key = peg$currPos * 49 + 13,
21415 − cached = peg$cache[key];
21416 −
21417 − if (cached) {
21418 − peg$currPos = cached.nextPos;
21419 − return cached.result;
21420 − }
21421 −
21422 − s0 = peg$parsedouble_quoted_multiline_string();
21423 − if (s0 === peg$FAILED) {
21424 − s0 = peg$parsedouble_quoted_single_line_string();
21425 − if (s0 === peg$FAILED) {
21426 − s0 = peg$parsesingle_quoted_multiline_string();
21427 − if (s0 === peg$FAILED) {
21428 − s0 = peg$parsesingle_quoted_single_line_string();
21429 − }
21430 − }
21431 − }
21432 −
21433 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
21434 −
21435 − return s0;
21436 − }
21437 −
21438 − function peg$parsedouble_quoted_multiline_string() {
21439 − var s0, s1, s2, s3, s4;
21440 −
21441 − var key = peg$currPos * 49 + 14,
21442 − cached = peg$cache[key];
21443 −
21444 − if (cached) {
21445 − peg$currPos = cached.nextPos;
21446 − return cached.result;
21447 − }
21448 −
21449 − s0 = peg$currPos;
21450 − if (input.substr(peg$currPos, 3) === peg$c23) {
21451 − s1 = peg$c23;
21452 − peg$currPos += 3;
21453 − } else {
21454 − s1 = peg$FAILED;
21455 − if (peg$silentFails === 0) { peg$fail(peg$c24); }
21456 − }
21457 − if (s1 !== peg$FAILED) {
21458 − s2 = peg$parseNL();
21459 − if (s2 === peg$FAILED) {
21460 − s2 = peg$c25;
21461 − }
21462 − if (s2 !== peg$FAILED) {
21463 − s3 = [];
21464 − s4 = peg$parsemultiline_string_char();
21465 − while (s4 !== peg$FAILED) {
21466 − s3.push(s4);
21467 − s4 = peg$parsemultiline_string_char();
21468 − }
21469 − if (s3 !== peg$FAILED) {
21470 − if (input.substr(peg$currPos, 3) === peg$c23) {
21471 − s4 = peg$c23;
21472 − peg$currPos += 3;
21473 − } else {
21474 − s4 = peg$FAILED;
21475 − if (peg$silentFails === 0) { peg$fail(peg$c24); }
21476 − }
21477 − if (s4 !== peg$FAILED) {
21478 − peg$reportedPos = s0;
21479 − s1 = peg$c26(s3);
21480 − s0 = s1;
21481 − } else {
21482 − peg$currPos = s0;
21483 − s0 = peg$c2;
21484 − }
21485 − } else {
21486 − peg$currPos = s0;
21487 − s0 = peg$c2;
21488 − }
21489 − } else {
21490 − peg$currPos = s0;
21491 − s0 = peg$c2;
21492 − }
21493 − } else {
21494 − peg$currPos = s0;
21495 − s0 = peg$c2;
21496 − }
21497 −
21498 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
21499 −
21500 − return s0;
21501 − }
21502 −
21503 − function peg$parsedouble_quoted_single_line_string() {
21504 − var s0, s1, s2, s3;
21505 −
21506 − var key = peg$currPos * 49 + 15,
21507 − cached = peg$cache[key];
21508 −
21509 − if (cached) {
21510 − peg$currPos = cached.nextPos;
21511 − return cached.result;
21512 − }
21513 −
21514 − s0 = peg$currPos;
21515 − if (input.charCodeAt(peg$currPos) === 34) {
21516 − s1 = peg$c27;
21517 − peg$currPos++;
21518 − } else {
21519 − s1 = peg$FAILED;
21520 − if (peg$silentFails === 0) { peg$fail(peg$c28); }
21521 − }
21522 − if (s1 !== peg$FAILED) {
21523 − s2 = [];
21524 − s3 = peg$parsestring_char();
21525 − while (s3 !== peg$FAILED) {
21526 − s2.push(s3);
21527 − s3 = peg$parsestring_char();
21528 − }
21529 − if (s2 !== peg$FAILED) {
21530 − if (input.charCodeAt(peg$currPos) === 34) {
21531 − s3 = peg$c27;
21532 − peg$currPos++;
21533 − } else {
21534 − s3 = peg$FAILED;
21535 − if (peg$silentFails === 0) { peg$fail(peg$c28); }
21536 − }
21537 − if (s3 !== peg$FAILED) {
21538 − peg$reportedPos = s0;
21539 − s1 = peg$c26(s2);
21540 − s0 = s1;
21541 − } else {
21542 − peg$currPos = s0;
21543 − s0 = peg$c2;
21544 − }
21545 − } else {
21546 − peg$currPos = s0;
21547 − s0 = peg$c2;
21548 − }
21549 − } else {
21550 − peg$currPos = s0;
21551 − s0 = peg$c2;
21552 − }
21553 −
21554 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
21555 −
21556 − return s0;
21557 − }
21558 −
21559 − function peg$parsesingle_quoted_multiline_string() {
21560 − var s0, s1, s2, s3, s4;
21561 −
21562 − var key = peg$currPos * 49 + 16,
21563 − cached = peg$cache[key];
21564 −
21565 − if (cached) {
21566 − peg$currPos = cached.nextPos;
21567 − return cached.result;
21568 − }
21569 −
21570 − s0 = peg$currPos;
21571 − if (input.substr(peg$currPos, 3) === peg$c29) {
21572 − s1 = peg$c29;
21573 − peg$currPos += 3;
21574 − } else {
21575 − s1 = peg$FAILED;
21576 − if (peg$silentFails === 0) { peg$fail(peg$c30); }
21577 − }
21578 − if (s1 !== peg$FAILED) {
21579 − s2 = peg$parseNL();
21580 − if (s2 === peg$FAILED) {
21581 − s2 = peg$c25;
21582 − }
21583 − if (s2 !== peg$FAILED) {
21584 − s3 = [];
21585 − s4 = peg$parsemultiline_literal_char();
21586 − while (s4 !== peg$FAILED) {
21587 − s3.push(s4);
21588 − s4 = peg$parsemultiline_literal_char();
21589 − }
21590 − if (s3 !== peg$FAILED) {
21591 − if (input.substr(peg$currPos, 3) === peg$c29) {
21592 − s4 = peg$c29;
21593 − peg$currPos += 3;
21594 − } else {
21595 − s4 = peg$FAILED;
21596 − if (peg$silentFails === 0) { peg$fail(peg$c30); }
21597 − }
21598 − if (s4 !== peg$FAILED) {
21599 − peg$reportedPos = s0;
21600 − s1 = peg$c26(s3);
21601 − s0 = s1;
21602 − } else {
21603 − peg$currPos = s0;
21604 − s0 = peg$c2;
21605 − }
21606 − } else {
21607 − peg$currPos = s0;
21608 − s0 = peg$c2;
21609 − }
21610 − } else {
21611 − peg$currPos = s0;
21612 − s0 = peg$c2;
21613 − }
21614 − } else {
21615 − peg$currPos = s0;
21616 − s0 = peg$c2;
21617 − }
21618 −
21619 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
21620 −
21621 − return s0;
21622 − }
21623 −
21624 − function peg$parsesingle_quoted_single_line_string() {
21625 − var s0, s1, s2, s3;
21626 −
21627 − var key = peg$currPos * 49 + 17,
21628 − cached = peg$cache[key];
21629 −
21630 − if (cached) {
21631 − peg$currPos = cached.nextPos;
21632 − return cached.result;
21633 − }
21634 −
21635 − s0 = peg$currPos;
21636 − if (input.charCodeAt(peg$currPos) === 39) {
21637 − s1 = peg$c31;
21638 − peg$currPos++;
21639 − } else {
21640 − s1 = peg$FAILED;
21641 − if (peg$silentFails === 0) { peg$fail(peg$c32); }
21642 − }
21643 − if (s1 !== peg$FAILED) {
21644 − s2 = [];
21645 − s3 = peg$parseliteral_char();
21646 − while (s3 !== peg$FAILED) {
21647 − s2.push(s3);
21648 − s3 = peg$parseliteral_char();
21649 − }
21650 − if (s2 !== peg$FAILED) {
21651 − if (input.charCodeAt(peg$currPos) === 39) {
21652 − s3 = peg$c31;
21653 − peg$currPos++;
21654 − } else {
21655 − s3 = peg$FAILED;
21656 − if (peg$silentFails === 0) { peg$fail(peg$c32); }
21657 − }
21658 − if (s3 !== peg$FAILED) {
21659 − peg$reportedPos = s0;
21660 − s1 = peg$c26(s2);
21661 − s0 = s1;
21662 − } else {
21663 − peg$currPos = s0;
21664 − s0 = peg$c2;
21665 − }
21666 − } else {
21667 − peg$currPos = s0;
21668 − s0 = peg$c2;
21669 − }
21670 − } else {
21671 − peg$currPos = s0;
21672 − s0 = peg$c2;
21673 − }
21674 −
21675 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
21676 −
21677 − return s0;
21678 − }
21679 −
21680 − function peg$parsestring_char() {
21681 − var s0, s1, s2;
21682 −
21683 − var key = peg$currPos * 49 + 18,
21684 − cached = peg$cache[key];
21685 −
21686 − if (cached) {
21687 − peg$currPos = cached.nextPos;
21688 − return cached.result;
21689 − }
21690 −
21691 − s0 = peg$parseESCAPED();
21692 − if (s0 === peg$FAILED) {
21693 − s0 = peg$currPos;
21694 − s1 = peg$currPos;
21695 − peg$silentFails++;
21696 − if (input.charCodeAt(peg$currPos) === 34) {
21697 − s2 = peg$c27;
21698 − peg$currPos++;
21699 − } else {
21700 − s2 = peg$FAILED;
21701 − if (peg$silentFails === 0) { peg$fail(peg$c28); }
21702 − }
21703 − peg$silentFails--;
21704 − if (s2 === peg$FAILED) {
21705 − s1 = peg$c5;
21706 − } else {
21707 − peg$currPos = s1;
21708 − s1 = peg$c2;
21709 − }
21710 − if (s1 !== peg$FAILED) {
21711 − if (input.length > peg$currPos) {
21712 − s2 = input.charAt(peg$currPos);
21713 − peg$currPos++;
21714 − } else {
21715 − s2 = peg$FAILED;
21716 − if (peg$silentFails === 0) { peg$fail(peg$c6); }
21717 − }
21718 − if (s2 !== peg$FAILED) {
21719 − peg$reportedPos = s0;
21720 − s1 = peg$c33(s2);
21721 − s0 = s1;
21722 − } else {
21723 − peg$currPos = s0;
21724 − s0 = peg$c2;
21725 − }
21726 − } else {
21727 − peg$currPos = s0;
21728 − s0 = peg$c2;
21729 − }
21730 − }
21731 −
21732 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
21733 −
21734 − return s0;
21735 − }
21736 −
21737 − function peg$parseliteral_char() {
21738 − var s0, s1, s2;
21739 −
21740 − var key = peg$currPos * 49 + 19,
21741 − cached = peg$cache[key];
21742 −
21743 − if (cached) {
21744 − peg$currPos = cached.nextPos;
21745 − return cached.result;
21746 − }
21747 −
21748 − s0 = peg$currPos;
21749 − s1 = peg$currPos;
21750 − peg$silentFails++;
21751 − if (input.charCodeAt(peg$currPos) === 39) {
21752 − s2 = peg$c31;
21753 − peg$currPos++;
21754 − } else {
21755 − s2 = peg$FAILED;
21756 − if (peg$silentFails === 0) { peg$fail(peg$c32); }
21757 − }
21758 − peg$silentFails--;
21759 − if (s2 === peg$FAILED) {
21760 − s1 = peg$c5;
21761 − } else {
21762 − peg$currPos = s1;
21763 − s1 = peg$c2;
21764 − }
21765 − if (s1 !== peg$FAILED) {
21766 − if (input.length > peg$currPos) {
21767 − s2 = input.charAt(peg$currPos);
21768 − peg$currPos++;
21769 − } else {
21770 − s2 = peg$FAILED;
21771 − if (peg$silentFails === 0) { peg$fail(peg$c6); }
21772 − }
21773 − if (s2 !== peg$FAILED) {
21774 − peg$reportedPos = s0;
21775 − s1 = peg$c33(s2);
21776 − s0 = s1;
21777 − } else {
21778 − peg$currPos = s0;
21779 − s0 = peg$c2;
21780 − }
21781 − } else {
21782 − peg$currPos = s0;
21783 − s0 = peg$c2;
21784 − }
21785 −
21786 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
21787 −
21788 − return s0;
21789 − }
21790 −
21791 − function peg$parsemultiline_string_char() {
21792 − var s0, s1, s2;
21793 −
21794 − var key = peg$currPos * 49 + 20,
21795 − cached = peg$cache[key];
21796 −
21797 − if (cached) {
21798 − peg$currPos = cached.nextPos;
21799 − return cached.result;
21800 − }
21801 −
21802 − s0 = peg$parseESCAPED();
21803 − if (s0 === peg$FAILED) {
21804 − s0 = peg$parsemultiline_string_delim();
21805 − if (s0 === peg$FAILED) {
21806 − s0 = peg$currPos;
21807 − s1 = peg$currPos;
21808 − peg$silentFails++;
21809 − if (input.substr(peg$currPos, 3) === peg$c23) {
21810 − s2 = peg$c23;
21811 − peg$currPos += 3;
21812 − } else {
21813 − s2 = peg$FAILED;
21814 − if (peg$silentFails === 0) { peg$fail(peg$c24); }
21815 − }
21816 − peg$silentFails--;
21817 − if (s2 === peg$FAILED) {
21818 − s1 = peg$c5;
21819 − } else {
21820 − peg$currPos = s1;
21821 − s1 = peg$c2;
21822 − }
21823 − if (s1 !== peg$FAILED) {
21824 − if (input.length > peg$currPos) {
21825 − s2 = input.charAt(peg$currPos);
21826 − peg$currPos++;
21827 − } else {
21828 − s2 = peg$FAILED;
21829 − if (peg$silentFails === 0) { peg$fail(peg$c6); }
21830 − }
21831 − if (s2 !== peg$FAILED) {
21832 − peg$reportedPos = s0;
21833 − s1 = peg$c34(s2);
21834 − s0 = s1;
21835 − } else {
21836 − peg$currPos = s0;
21837 − s0 = peg$c2;
21838 − }
21839 − } else {
21840 − peg$currPos = s0;
21841 − s0 = peg$c2;
21842 − }
21843 − }
21844 − }
21845 −
21846 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
21847 −
21848 − return s0;
21849 − }
21850 −
21851 − function peg$parsemultiline_string_delim() {
21852 − var s0, s1, s2, s3, s4;
21853 −
21854 − var key = peg$currPos * 49 + 21,
21855 − cached = peg$cache[key];
21856 −
21857 − if (cached) {
21858 − peg$currPos = cached.nextPos;
21859 − return cached.result;
21860 − }
21861 −
21862 − s0 = peg$currPos;
21863 − if (input.charCodeAt(peg$currPos) === 92) {
21864 − s1 = peg$c35;
21865 − peg$currPos++;
21866 − } else {
21867 − s1 = peg$FAILED;
21868 − if (peg$silentFails === 0) { peg$fail(peg$c36); }
21869 − }
21870 − if (s1 !== peg$FAILED) {
21871 − s2 = peg$parseNL();
21872 − if (s2 !== peg$FAILED) {
21873 − s3 = [];
21874 − s4 = peg$parseNLS();
21875 − while (s4 !== peg$FAILED) {
21876 − s3.push(s4);
21877 − s4 = peg$parseNLS();
21878 − }
21879 − if (s3 !== peg$FAILED) {
21880 − peg$reportedPos = s0;
21881 − s1 = peg$c37();
21882 − s0 = s1;
21883 − } else {
21884 − peg$currPos = s0;
21885 − s0 = peg$c2;
21886 − }
21887 − } else {
21888 − peg$currPos = s0;
21889 − s0 = peg$c2;
21890 − }
21891 − } else {
21892 − peg$currPos = s0;
21893 − s0 = peg$c2;
21894 − }
21895 −
21896 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
21897 −
21898 − return s0;
21899 − }
21900 −
21901 − function peg$parsemultiline_literal_char() {
21902 − var s0, s1, s2;
21903 −
21904 − var key = peg$currPos * 49 + 22,
21905 − cached = peg$cache[key];
21906 −
21907 − if (cached) {
21908 − peg$currPos = cached.nextPos;
21909 − return cached.result;
21910 − }
21911 −
21912 − s0 = peg$currPos;
21913 − s1 = peg$currPos;
21914 − peg$silentFails++;
21915 − if (input.substr(peg$currPos, 3) === peg$c29) {
21916 − s2 = peg$c29;
21917 − peg$currPos += 3;
21918 − } else {
21919 − s2 = peg$FAILED;
21920 − if (peg$silentFails === 0) { peg$fail(peg$c30); }
21921 − }
21922 − peg$silentFails--;
21923 − if (s2 === peg$FAILED) {
21924 − s1 = peg$c5;
21925 − } else {
21926 − peg$currPos = s1;
21927 − s1 = peg$c2;
21928 − }
21929 − if (s1 !== peg$FAILED) {
21930 − if (input.length > peg$currPos) {
21931 − s2 = input.charAt(peg$currPos);
21932 − peg$currPos++;
21933 − } else {
21934 − s2 = peg$FAILED;
21935 − if (peg$silentFails === 0) { peg$fail(peg$c6); }
21936 − }
21937 − if (s2 !== peg$FAILED) {
21938 − peg$reportedPos = s0;
21939 − s1 = peg$c33(s2);
21940 − s0 = s1;
21941 − } else {
21942 − peg$currPos = s0;
21943 − s0 = peg$c2;
21944 − }
21945 − } else {
21946 − peg$currPos = s0;
21947 − s0 = peg$c2;
21948 − }
21949 −
21950 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
21951 −
21952 − return s0;
21953 − }
21954 −
21955 − function peg$parsefloat() {
21956 − var s0, s1, s2, s3;
21957 −
21958 − var key = peg$currPos * 49 + 23,
21959 − cached = peg$cache[key];
21960 −
21961 − if (cached) {
21962 − peg$currPos = cached.nextPos;
21963 − return cached.result;
21964 − }
21965 −
21966 − s0 = peg$currPos;
21967 − s1 = peg$parsefloat_text();
21968 − if (s1 === peg$FAILED) {
21969 − s1 = peg$parseinteger_text();
21970 − }
21971 − if (s1 !== peg$FAILED) {
21972 − if (input.charCodeAt(peg$currPos) === 101) {
21973 − s2 = peg$c38;
21974 − peg$currPos++;
21975 − } else {
21976 − s2 = peg$FAILED;
21977 − if (peg$silentFails === 0) { peg$fail(peg$c39); }
21978 − }
21979 − if (s2 === peg$FAILED) {
21980 − if (input.charCodeAt(peg$currPos) === 69) {
21981 − s2 = peg$c40;
21982 − peg$currPos++;
21983 − } else {
21984 − s2 = peg$FAILED;
21985 − if (peg$silentFails === 0) { peg$fail(peg$c41); }
21986 − }
21987 − }
21988 − if (s2 !== peg$FAILED) {
21989 − s3 = peg$parseinteger_text();
21990 − if (s3 !== peg$FAILED) {
21991 − peg$reportedPos = s0;
21992 − s1 = peg$c42(s1, s3);
21993 − s0 = s1;
21994 − } else {
21995 − peg$currPos = s0;
21996 − s0 = peg$c2;
21997 − }
21998 − } else {
21999 − peg$currPos = s0;
22000 − s0 = peg$c2;
22001 − }
22002 − } else {
22003 − peg$currPos = s0;
22004 − s0 = peg$c2;
22005 − }
22006 − if (s0 === peg$FAILED) {
22007 − s0 = peg$currPos;
22008 − s1 = peg$parsefloat_text();
22009 − if (s1 !== peg$FAILED) {
22010 − peg$reportedPos = s0;
22011 − s1 = peg$c43(s1);
22012 − }
22013 − s0 = s1;
22014 − }
22015 −
22016 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
22017 −
22018 − return s0;
22019 − }
22020 −
22021 − function peg$parsefloat_text() {
22022 − var s0, s1, s2, s3, s4, s5;
22023 −
22024 − var key = peg$currPos * 49 + 24,
22025 − cached = peg$cache[key];
22026 −
22027 − if (cached) {
22028 − peg$currPos = cached.nextPos;
22029 − return cached.result;
22030 − }
22031 −
22032 − s0 = peg$currPos;
22033 − if (input.charCodeAt(peg$currPos) === 43) {
22034 − s1 = peg$c44;
22035 − peg$currPos++;
22036 − } else {
22037 − s1 = peg$FAILED;
22038 − if (peg$silentFails === 0) { peg$fail(peg$c45); }
22039 − }
22040 − if (s1 === peg$FAILED) {
22041 − s1 = peg$c25;
22042 − }
22043 − if (s1 !== peg$FAILED) {
22044 − s2 = peg$currPos;
22045 − s3 = peg$parseDIGITS();
22046 − if (s3 !== peg$FAILED) {
22047 − if (input.charCodeAt(peg$currPos) === 46) {
22048 − s4 = peg$c16;
22049 − peg$currPos++;
22050 − } else {
22051 − s4 = peg$FAILED;
22052 − if (peg$silentFails === 0) { peg$fail(peg$c17); }
22053 − }
22054 − if (s4 !== peg$FAILED) {
22055 − s5 = peg$parseDIGITS();
22056 − if (s5 !== peg$FAILED) {
22057 − s3 = [s3, s4, s5];
22058 − s2 = s3;
22059 − } else {
22060 − peg$currPos = s2;
22061 − s2 = peg$c2;
22062 − }
22063 − } else {
22064 − peg$currPos = s2;
22065 − s2 = peg$c2;
22066 − }
22067 − } else {
22068 − peg$currPos = s2;
22069 − s2 = peg$c2;
22070 − }
22071 − if (s2 !== peg$FAILED) {
22072 − peg$reportedPos = s0;
22073 − s1 = peg$c46(s2);
22074 − s0 = s1;
22075 − } else {
22076 − peg$currPos = s0;
22077 − s0 = peg$c2;
22078 − }
22079 − } else {
22080 − peg$currPos = s0;
22081 − s0 = peg$c2;
22082 − }
22083 − if (s0 === peg$FAILED) {
22084 − s0 = peg$currPos;
22085 − if (input.charCodeAt(peg$currPos) === 45) {
22086 − s1 = peg$c47;
22087 − peg$currPos++;
22088 − } else {
22089 − s1 = peg$FAILED;
22090 − if (peg$silentFails === 0) { peg$fail(peg$c48); }
22091 − }
22092 − if (s1 !== peg$FAILED) {
22093 − s2 = peg$currPos;
22094 − s3 = peg$parseDIGITS();
22095 − if (s3 !== peg$FAILED) {
22096 − if (input.charCodeAt(peg$currPos) === 46) {
22097 − s4 = peg$c16;
22098 − peg$currPos++;
22099 − } else {
22100 − s4 = peg$FAILED;
22101 − if (peg$silentFails === 0) { peg$fail(peg$c17); }
22102 − }
22103 − if (s4 !== peg$FAILED) {
22104 − s5 = peg$parseDIGITS();
22105 − if (s5 !== peg$FAILED) {
22106 − s3 = [s3, s4, s5];
22107 − s2 = s3;
22108 − } else {
22109 − peg$currPos = s2;
22110 − s2 = peg$c2;
22111 − }
22112 − } else {
22113 − peg$currPos = s2;
22114 − s2 = peg$c2;
22115 − }
22116 − } else {
22117 − peg$currPos = s2;
22118 − s2 = peg$c2;
22119 − }
22120 − if (s2 !== peg$FAILED) {
22121 − peg$reportedPos = s0;
22122 − s1 = peg$c49(s2);
22123 − s0 = s1;
22124 − } else {
22125 − peg$currPos = s0;
22126 − s0 = peg$c2;
22127 − }
22128 − } else {
22129 − peg$currPos = s0;
22130 − s0 = peg$c2;
22131 − }
22132 − }
22133 −
22134 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
22135 −
22136 − return s0;
22137 − }
22138 −
22139 − function peg$parseinteger() {
22140 − var s0, s1;
22141 −
22142 − var key = peg$currPos * 49 + 25,
22143 − cached = peg$cache[key];
22144 −
22145 − if (cached) {
22146 − peg$currPos = cached.nextPos;
22147 − return cached.result;
22148 − }
22149 −
22150 − s0 = peg$currPos;
22151 − s1 = peg$parseinteger_text();
22152 − if (s1 !== peg$FAILED) {
22153 − peg$reportedPos = s0;
22154 − s1 = peg$c50(s1);
22155 − }
22156 − s0 = s1;
22157 −
22158 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
22159 −
22160 − return s0;
22161 − }
22162 −
22163 − function peg$parseinteger_text() {
22164 − var s0, s1, s2, s3, s4;
22165 −
22166 − var key = peg$currPos * 49 + 26,
22167 − cached = peg$cache[key];
22168 −
22169 − if (cached) {
22170 − peg$currPos = cached.nextPos;
22171 − return cached.result;
22172 − }
22173 −
22174 − s0 = peg$currPos;
22175 − if (input.charCodeAt(peg$currPos) === 43) {
22176 − s1 = peg$c44;
22177 − peg$currPos++;
22178 − } else {
22179 − s1 = peg$FAILED;
22180 − if (peg$silentFails === 0) { peg$fail(peg$c45); }
22181 − }
22182 − if (s1 === peg$FAILED) {
22183 − s1 = peg$c25;
22184 − }
22185 − if (s1 !== peg$FAILED) {
22186 − s2 = [];
22187 − s3 = peg$parseDIGIT_OR_UNDER();
22188 − if (s3 !== peg$FAILED) {
22189 − while (s3 !== peg$FAILED) {
22190 − s2.push(s3);
22191 − s3 = peg$parseDIGIT_OR_UNDER();
22192 − }
22193 − } else {
22194 − s2 = peg$c2;
22195 − }
22196 − if (s2 !== peg$FAILED) {
22197 − s3 = peg$currPos;
22198 − peg$silentFails++;
22199 − if (input.charCodeAt(peg$currPos) === 46) {
22200 − s4 = peg$c16;
22201 − peg$currPos++;
22202 − } else {
22203 − s4 = peg$FAILED;
22204 − if (peg$silentFails === 0) { peg$fail(peg$c17); }
22205 − }
22206 − peg$silentFails--;
22207 − if (s4 === peg$FAILED) {
22208 − s3 = peg$c5;
22209 − } else {
22210 − peg$currPos = s3;
22211 − s3 = peg$c2;
22212 − }
22213 − if (s3 !== peg$FAILED) {
22214 − peg$reportedPos = s0;
22215 − s1 = peg$c46(s2);
22216 − s0 = s1;
22217 − } else {
22218 − peg$currPos = s0;
22219 − s0 = peg$c2;
22220 − }
22221 − } else {
22222 − peg$currPos = s0;
22223 − s0 = peg$c2;
22224 − }
22225 − } else {
22226 − peg$currPos = s0;
22227 − s0 = peg$c2;
22228 − }
22229 − if (s0 === peg$FAILED) {
22230 − s0 = peg$currPos;
22231 − if (input.charCodeAt(peg$currPos) === 45) {
22232 − s1 = peg$c47;
22233 − peg$currPos++;
22234 − } else {
22235 − s1 = peg$FAILED;
22236 − if (peg$silentFails === 0) { peg$fail(peg$c48); }
22237 − }
22238 − if (s1 !== peg$FAILED) {
22239 − s2 = [];
22240 − s3 = peg$parseDIGIT_OR_UNDER();
22241 − if (s3 !== peg$FAILED) {
22242 − while (s3 !== peg$FAILED) {
22243 − s2.push(s3);
22244 − s3 = peg$parseDIGIT_OR_UNDER();
22245 − }
22246 − } else {
22247 − s2 = peg$c2;
22248 − }
22249 − if (s2 !== peg$FAILED) {
22250 − s3 = peg$currPos;
22251 − peg$silentFails++;
22252 − if (input.charCodeAt(peg$currPos) === 46) {
22253 − s4 = peg$c16;
22254 − peg$currPos++;
22255 − } else {
22256 − s4 = peg$FAILED;
22257 − if (peg$silentFails === 0) { peg$fail(peg$c17); }
22258 − }
22259 − peg$silentFails--;
22260 − if (s4 === peg$FAILED) {
22261 − s3 = peg$c5;
22262 − } else {
22263 − peg$currPos = s3;
22264 − s3 = peg$c2;
22265 − }
22266 − if (s3 !== peg$FAILED) {
22267 − peg$reportedPos = s0;
22268 − s1 = peg$c49(s2);
22269 − s0 = s1;
22270 − } else {
22271 − peg$currPos = s0;
22272 − s0 = peg$c2;
22273 − }
22274 − } else {
22275 − peg$currPos = s0;
22276 − s0 = peg$c2;
22277 − }
22278 − } else {
22279 − peg$currPos = s0;
22280 − s0 = peg$c2;
22281 − }
22282 − }
22283 −
22284 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
22285 −
22286 − return s0;
22287 − }
22288 −
22289 − function peg$parseboolean() {
22290 − var s0, s1;
22291 −
22292 − var key = peg$currPos * 49 + 27,
22293 − cached = peg$cache[key];
22294 −
22295 − if (cached) {
22296 − peg$currPos = cached.nextPos;
22297 − return cached.result;
22298 − }
22299 −
22300 − s0 = peg$currPos;
22301 − if (input.substr(peg$currPos, 4) === peg$c51) {
22302 − s1 = peg$c51;
22303 − peg$currPos += 4;
22304 − } else {
22305 − s1 = peg$FAILED;
22306 − if (peg$silentFails === 0) { peg$fail(peg$c52); }
22307 − }
22308 − if (s1 !== peg$FAILED) {
22309 − peg$reportedPos = s0;
22310 − s1 = peg$c53();
22311 − }
22312 − s0 = s1;
22313 − if (s0 === peg$FAILED) {
22314 − s0 = peg$currPos;
22315 − if (input.substr(peg$currPos, 5) === peg$c54) {
22316 − s1 = peg$c54;
22317 − peg$currPos += 5;
22318 − } else {
22319 − s1 = peg$FAILED;
22320 − if (peg$silentFails === 0) { peg$fail(peg$c55); }
22321 − }
22322 − if (s1 !== peg$FAILED) {
22323 − peg$reportedPos = s0;
22324 − s1 = peg$c56();
22325 − }
22326 − s0 = s1;
22327 − }
22328 −
22329 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
22330 −
22331 − return s0;
22332 − }
22333 −
22334 − function peg$parsearray() {
22335 − var s0, s1, s2, s3, s4;
22336 −
22337 − var key = peg$currPos * 49 + 28,
22338 − cached = peg$cache[key];
22339 −
22340 − if (cached) {
22341 − peg$currPos = cached.nextPos;
22342 − return cached.result;
22343 − }
22344 −
22345 − s0 = peg$currPos;
22346 − if (input.charCodeAt(peg$currPos) === 91) {
22347 − s1 = peg$c7;
22348 − peg$currPos++;
22349 − } else {
22350 − s1 = peg$FAILED;
22351 − if (peg$silentFails === 0) { peg$fail(peg$c8); }
22352 − }
22353 − if (s1 !== peg$FAILED) {
22354 − s2 = [];
22355 − s3 = peg$parsearray_sep();
22356 − while (s3 !== peg$FAILED) {
22357 − s2.push(s3);
22358 − s3 = peg$parsearray_sep();
22359 − }
22360 − if (s2 !== peg$FAILED) {
22361 − if (input.charCodeAt(peg$currPos) === 93) {
22362 − s3 = peg$c9;
22363 − peg$currPos++;
22364 − } else {
22365 − s3 = peg$FAILED;
22366 − if (peg$silentFails === 0) { peg$fail(peg$c10); }
22367 − }
22368 − if (s3 !== peg$FAILED) {
22369 − peg$reportedPos = s0;
22370 − s1 = peg$c57();
22371 − s0 = s1;
22372 − } else {
22373 − peg$currPos = s0;
22374 − s0 = peg$c2;
22375 − }
22376 − } else {
22377 − peg$currPos = s0;
22378 − s0 = peg$c2;
22379 − }
22380 − } else {
22381 − peg$currPos = s0;
22382 − s0 = peg$c2;
22383 − }
22384 − if (s0 === peg$FAILED) {
22385 − s0 = peg$currPos;
22386 − if (input.charCodeAt(peg$currPos) === 91) {
22387 − s1 = peg$c7;
22388 − peg$currPos++;
22389 − } else {
22390 − s1 = peg$FAILED;
22391 − if (peg$silentFails === 0) { peg$fail(peg$c8); }
22392 − }
22393 − if (s1 !== peg$FAILED) {
22394 − s2 = peg$parsearray_value();
22395 − if (s2 === peg$FAILED) {
22396 − s2 = peg$c25;
22397 − }
22398 − if (s2 !== peg$FAILED) {
22399 − if (input.charCodeAt(peg$currPos) === 93) {
22400 − s3 = peg$c9;
22401 − peg$currPos++;
22402 − } else {
22403 − s3 = peg$FAILED;
22404 − if (peg$silentFails === 0) { peg$fail(peg$c10); }
22405 − }
22406 − if (s3 !== peg$FAILED) {
22407 − peg$reportedPos = s0;
22408 − s1 = peg$c58(s2);
22409 − s0 = s1;
22410 − } else {
22411 − peg$currPos = s0;
22412 − s0 = peg$c2;
22413 − }
22414 − } else {
22415 − peg$currPos = s0;
22416 − s0 = peg$c2;
22417 − }
22418 − } else {
22419 − peg$currPos = s0;
22420 − s0 = peg$c2;
22421 − }
22422 − if (s0 === peg$FAILED) {
22423 − s0 = peg$currPos;
22424 − if (input.charCodeAt(peg$currPos) === 91) {
22425 − s1 = peg$c7;
22426 − peg$currPos++;
22427 − } else {
22428 − s1 = peg$FAILED;
22429 − if (peg$silentFails === 0) { peg$fail(peg$c8); }
22430 − }
22431 − if (s1 !== peg$FAILED) {
22432 − s2 = [];
22433 − s3 = peg$parsearray_value_list();
22434 − if (s3 !== peg$FAILED) {
22435 − while (s3 !== peg$FAILED) {
22436 − s2.push(s3);
22437 − s3 = peg$parsearray_value_list();
22438 − }
22439 − } else {
22440 − s2 = peg$c2;
22441 − }
22442 − if (s2 !== peg$FAILED) {
22443 − if (input.charCodeAt(peg$currPos) === 93) {
22444 − s3 = peg$c9;
22445 − peg$currPos++;
22446 − } else {
22447 − s3 = peg$FAILED;
22448 − if (peg$silentFails === 0) { peg$fail(peg$c10); }
22449 − }
22450 − if (s3 !== peg$FAILED) {
22451 − peg$reportedPos = s0;
22452 − s1 = peg$c59(s2);
22453 − s0 = s1;
22454 − } else {
22455 − peg$currPos = s0;
22456 − s0 = peg$c2;
22457 − }
22458 − } else {
22459 − peg$currPos = s0;
22460 − s0 = peg$c2;
22461 − }
22462 − } else {
22463 − peg$currPos = s0;
22464 − s0 = peg$c2;
22465 − }
22466 − if (s0 === peg$FAILED) {
22467 − s0 = peg$currPos;
22468 − if (input.charCodeAt(peg$currPos) === 91) {
22469 − s1 = peg$c7;
22470 − peg$currPos++;
22471 − } else {
22472 − s1 = peg$FAILED;
22473 − if (peg$silentFails === 0) { peg$fail(peg$c8); }
22474 − }
22475 − if (s1 !== peg$FAILED) {
22476 − s2 = [];
22477 − s3 = peg$parsearray_value_list();
22478 − if (s3 !== peg$FAILED) {
22479 − while (s3 !== peg$FAILED) {
22480 − s2.push(s3);
22481 − s3 = peg$parsearray_value_list();
22482 − }
22483 − } else {
22484 − s2 = peg$c2;
22485 − }
22486 − if (s2 !== peg$FAILED) {
22487 − s3 = peg$parsearray_value();
22488 − if (s3 !== peg$FAILED) {
22489 − if (input.charCodeAt(peg$currPos) === 93) {
22490 − s4 = peg$c9;
22491 − peg$currPos++;
22492 − } else {
22493 − s4 = peg$FAILED;
22494 − if (peg$silentFails === 0) { peg$fail(peg$c10); }
22495 − }
22496 − if (s4 !== peg$FAILED) {
22497 − peg$reportedPos = s0;
22498 − s1 = peg$c60(s2, s3);
22499 − s0 = s1;
22500 − } else {
22501 − peg$currPos = s0;
22502 − s0 = peg$c2;
22503 − }
22504 − } else {
22505 − peg$currPos = s0;
22506 − s0 = peg$c2;
22507 − }
22508 − } else {
22509 − peg$currPos = s0;
22510 − s0 = peg$c2;
22511 − }
22512 − } else {
22513 − peg$currPos = s0;
22514 − s0 = peg$c2;
22515 − }
22516 − }
22517 − }
22518 − }
22519 −
22520 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
22521 −
22522 − return s0;
22523 − }
22524 −
22525 − function peg$parsearray_value() {
22526 − var s0, s1, s2, s3, s4;
22527 −
22528 − var key = peg$currPos * 49 + 29,
22529 − cached = peg$cache[key];
22530 −
22531 − if (cached) {
22532 − peg$currPos = cached.nextPos;
22533 − return cached.result;
22534 − }
22535 −
22536 − s0 = peg$currPos;
22537 − s1 = [];
22538 − s2 = peg$parsearray_sep();
22539 − while (s2 !== peg$FAILED) {
22540 − s1.push(s2);
22541 − s2 = peg$parsearray_sep();
22542 − }
22543 − if (s1 !== peg$FAILED) {
22544 − s2 = peg$parsevalue();
22545 − if (s2 !== peg$FAILED) {
22546 − s3 = [];
22547 − s4 = peg$parsearray_sep();
22548 − while (s4 !== peg$FAILED) {
22549 − s3.push(s4);
22550 − s4 = peg$parsearray_sep();
22551 − }
22552 − if (s3 !== peg$FAILED) {
22553 − peg$reportedPos = s0;
22554 − s1 = peg$c61(s2);
22555 − s0 = s1;
22556 − } else {
22557 − peg$currPos = s0;
22558 − s0 = peg$c2;
22559 − }
22560 − } else {
22561 − peg$currPos = s0;
22562 − s0 = peg$c2;
22563 − }
22564 − } else {
22565 − peg$currPos = s0;
22566 − s0 = peg$c2;
22567 − }
22568 −
22569 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
22570 −
22571 − return s0;
22572 − }
22573 −
22574 − function peg$parsearray_value_list() {
22575 − var s0, s1, s2, s3, s4, s5, s6;
22576 −
22577 − var key = peg$currPos * 49 + 30,
22578 − cached = peg$cache[key];
22579 −
22580 − if (cached) {
22581 − peg$currPos = cached.nextPos;
22582 − return cached.result;
22583 − }
22584 −
22585 − s0 = peg$currPos;
22586 − s1 = [];
22587 − s2 = peg$parsearray_sep();
22588 − while (s2 !== peg$FAILED) {
22589 − s1.push(s2);
22590 − s2 = peg$parsearray_sep();
22591 − }
22592 − if (s1 !== peg$FAILED) {
22593 − s2 = peg$parsevalue();
22594 − if (s2 !== peg$FAILED) {
22595 − s3 = [];
22596 − s4 = peg$parsearray_sep();
22597 − while (s4 !== peg$FAILED) {
22598 − s3.push(s4);
22599 − s4 = peg$parsearray_sep();
22600 − }
22601 − if (s3 !== peg$FAILED) {
22602 − if (input.charCodeAt(peg$currPos) === 44) {
22603 − s4 = peg$c62;
22604 − peg$currPos++;
22605 − } else {
22606 − s4 = peg$FAILED;
22607 − if (peg$silentFails === 0) { peg$fail(peg$c63); }
22608 − }
22609 − if (s4 !== peg$FAILED) {
22610 − s5 = [];
22611 − s6 = peg$parsearray_sep();
22612 − while (s6 !== peg$FAILED) {
22613 − s5.push(s6);
22614 − s6 = peg$parsearray_sep();
22615 − }
22616 − if (s5 !== peg$FAILED) {
22617 − peg$reportedPos = s0;
22618 − s1 = peg$c61(s2);
22619 − s0 = s1;
22620 − } else {
22621 − peg$currPos = s0;
22622 − s0 = peg$c2;
22623 − }
22624 − } else {
22625 − peg$currPos = s0;
22626 − s0 = peg$c2;
22627 − }
22628 − } else {
22629 − peg$currPos = s0;
22630 − s0 = peg$c2;
22631 − }
22632 − } else {
22633 − peg$currPos = s0;
22634 − s0 = peg$c2;
22635 − }
22636 − } else {
22637 − peg$currPos = s0;
22638 − s0 = peg$c2;
22639 − }
22640 −
22641 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
22642 −
22643 − return s0;
22644 − }
22645 −
22646 − function peg$parsearray_sep() {
22647 − var s0;
22648 −
22649 − var key = peg$currPos * 49 + 31,
22650 − cached = peg$cache[key];
22651 −
22652 − if (cached) {
22653 − peg$currPos = cached.nextPos;
22654 − return cached.result;
22655 − }
22656 −
22657 − s0 = peg$parseS();
22658 − if (s0 === peg$FAILED) {
22659 − s0 = peg$parseNL();
22660 − if (s0 === peg$FAILED) {
22661 − s0 = peg$parsecomment();
22662 − }
22663 − }
22664 −
22665 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
22666 −
22667 − return s0;
22668 − }
22669 −
22670 − function peg$parseinline_table() {
22671 − var s0, s1, s2, s3, s4, s5;
22672 −
22673 − var key = peg$currPos * 49 + 32,
22674 − cached = peg$cache[key];
22675 −
22676 − if (cached) {
22677 − peg$currPos = cached.nextPos;
22678 − return cached.result;
22679 − }
22680 −
22681 − s0 = peg$currPos;
22682 − if (input.charCodeAt(peg$currPos) === 123) {
22683 − s1 = peg$c64;
22684 − peg$currPos++;
22685 − } else {
22686 − s1 = peg$FAILED;
22687 − if (peg$silentFails === 0) { peg$fail(peg$c65); }
22688 − }
22689 − if (s1 !== peg$FAILED) {
22690 − s2 = [];
22691 − s3 = peg$parseS();
22692 − while (s3 !== peg$FAILED) {
22693 − s2.push(s3);
22694 − s3 = peg$parseS();
22695 − }
22696 − if (s2 !== peg$FAILED) {
22697 − s3 = [];
22698 − s4 = peg$parseinline_table_assignment();
22699 − while (s4 !== peg$FAILED) {
22700 − s3.push(s4);
22701 − s4 = peg$parseinline_table_assignment();
22702 − }
22703 − if (s3 !== peg$FAILED) {
22704 − s4 = [];
22705 − s5 = peg$parseS();
22706 − while (s5 !== peg$FAILED) {
22707 − s4.push(s5);
22708 − s5 = peg$parseS();
22709 − }
22710 − if (s4 !== peg$FAILED) {
22711 − if (input.charCodeAt(peg$currPos) === 125) {
22712 − s5 = peg$c66;
22713 − peg$currPos++;
22714 − } else {
22715 − s5 = peg$FAILED;
22716 − if (peg$silentFails === 0) { peg$fail(peg$c67); }
22717 − }
22718 − if (s5 !== peg$FAILED) {
22719 − peg$reportedPos = s0;
22720 − s1 = peg$c68(s3);
22721 − s0 = s1;
22722 − } else {
22723 − peg$currPos = s0;
22724 − s0 = peg$c2;
22725 − }
22726 − } else {
22727 − peg$currPos = s0;
22728 − s0 = peg$c2;
22729 − }
22730 − } else {
22731 − peg$currPos = s0;
22732 − s0 = peg$c2;
22733 − }
22734 − } else {
22735 − peg$currPos = s0;
22736 − s0 = peg$c2;
22737 − }
22738 − } else {
22739 − peg$currPos = s0;
22740 − s0 = peg$c2;
22741 − }
22742 −
22743 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
22744 −
22745 − return s0;
22746 − }
22747 −
22748 − function peg$parseinline_table_assignment() {
22749 − var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;
22750 −
22751 − var key = peg$currPos * 49 + 33,
22752 − cached = peg$cache[key];
22753 −
22754 − if (cached) {
22755 − peg$currPos = cached.nextPos;
22756 − return cached.result;
22757 − }
22758 −
22759 − s0 = peg$currPos;
22760 − s1 = [];
22761 − s2 = peg$parseS();
22762 − while (s2 !== peg$FAILED) {
22763 − s1.push(s2);
22764 − s2 = peg$parseS();
22765 − }
22766 − if (s1 !== peg$FAILED) {
22767 − s2 = peg$parsekey();
22768 − if (s2 !== peg$FAILED) {
22769 − s3 = [];
22770 − s4 = peg$parseS();
22771 − while (s4 !== peg$FAILED) {
22772 − s3.push(s4);
22773 − s4 = peg$parseS();
22774 − }
22775 − if (s3 !== peg$FAILED) {
22776 − if (input.charCodeAt(peg$currPos) === 61) {
22777 − s4 = peg$c18;
22778 − peg$currPos++;
22779 − } else {
22780 − s4 = peg$FAILED;
22781 − if (peg$silentFails === 0) { peg$fail(peg$c19); }
22782 − }
22783 − if (s4 !== peg$FAILED) {
22784 − s5 = [];
22785 − s6 = peg$parseS();
22786 − while (s6 !== peg$FAILED) {
22787 − s5.push(s6);
22788 − s6 = peg$parseS();
22789 − }
22790 − if (s5 !== peg$FAILED) {
22791 − s6 = peg$parsevalue();
22792 − if (s6 !== peg$FAILED) {
22793 − s7 = [];
22794 − s8 = peg$parseS();
22795 − while (s8 !== peg$FAILED) {
22796 − s7.push(s8);
22797 − s8 = peg$parseS();
22798 − }
22799 − if (s7 !== peg$FAILED) {
22800 − if (input.charCodeAt(peg$currPos) === 44) {
22801 − s8 = peg$c62;
22802 − peg$currPos++;
22803 − } else {
22804 − s8 = peg$FAILED;
22805 − if (peg$silentFails === 0) { peg$fail(peg$c63); }
22806 − }
22807 − if (s8 !== peg$FAILED) {
22808 − s9 = [];
22809 − s10 = peg$parseS();
22810 − while (s10 !== peg$FAILED) {
22811 − s9.push(s10);
22812 − s10 = peg$parseS();
22813 − }
22814 − if (s9 !== peg$FAILED) {
22815 − peg$reportedPos = s0;
22816 − s1 = peg$c69(s2, s6);
22817 − s0 = s1;
22818 − } else {
22819 − peg$currPos = s0;
22820 − s0 = peg$c2;
22821 − }
22822 − } else {
22823 − peg$currPos = s0;
22824 − s0 = peg$c2;
22825 − }
22826 − } else {
22827 − peg$currPos = s0;
22828 − s0 = peg$c2;
22829 − }
22830 − } else {
22831 − peg$currPos = s0;
22832 − s0 = peg$c2;
22833 − }
22834 − } else {
22835 − peg$currPos = s0;
22836 − s0 = peg$c2;
22837 − }
22838 − } else {
22839 − peg$currPos = s0;
22840 − s0 = peg$c2;
22841 − }
22842 − } else {
22843 − peg$currPos = s0;
22844 − s0 = peg$c2;
22845 − }
22846 − } else {
22847 − peg$currPos = s0;
22848 − s0 = peg$c2;
22849 − }
22850 − } else {
22851 − peg$currPos = s0;
22852 − s0 = peg$c2;
22853 − }
22854 − if (s0 === peg$FAILED) {
22855 − s0 = peg$currPos;
22856 − s1 = [];
22857 − s2 = peg$parseS();
22858 − while (s2 !== peg$FAILED) {
22859 − s1.push(s2);
22860 − s2 = peg$parseS();
22861 − }
22862 − if (s1 !== peg$FAILED) {
22863 − s2 = peg$parsekey();
22864 − if (s2 !== peg$FAILED) {
22865 − s3 = [];
22866 − s4 = peg$parseS();
22867 − while (s4 !== peg$FAILED) {
22868 − s3.push(s4);
22869 − s4 = peg$parseS();
22870 − }
22871 − if (s3 !== peg$FAILED) {
22872 − if (input.charCodeAt(peg$currPos) === 61) {
22873 − s4 = peg$c18;
22874 − peg$currPos++;
22875 − } else {
22876 − s4 = peg$FAILED;
22877 − if (peg$silentFails === 0) { peg$fail(peg$c19); }
22878 − }
22879 − if (s4 !== peg$FAILED) {
22880 − s5 = [];
22881 − s6 = peg$parseS();
22882 − while (s6 !== peg$FAILED) {
22883 − s5.push(s6);
22884 − s6 = peg$parseS();
22885 − }
22886 − if (s5 !== peg$FAILED) {
22887 − s6 = peg$parsevalue();
22888 − if (s6 !== peg$FAILED) {
22889 − peg$reportedPos = s0;
22890 − s1 = peg$c69(s2, s6);
22891 − s0 = s1;
22892 − } else {
22893 − peg$currPos = s0;
22894 − s0 = peg$c2;
22895 − }
22896 − } else {
22897 − peg$currPos = s0;
22898 − s0 = peg$c2;
22899 − }
22900 − } else {
22901 − peg$currPos = s0;
22902 − s0 = peg$c2;
22903 − }
22904 − } else {
22905 − peg$currPos = s0;
22906 − s0 = peg$c2;
22907 − }
22908 − } else {
22909 − peg$currPos = s0;
22910 − s0 = peg$c2;
22911 − }
22912 − } else {
22913 − peg$currPos = s0;
22914 − s0 = peg$c2;
22915 − }
22916 − }
22917 −
22918 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
22919 −
22920 − return s0;
22921 − }
22922 −
22923 − function peg$parsesecfragment() {
22924 − var s0, s1, s2;
22925 −
22926 − var key = peg$currPos * 49 + 34,
22927 − cached = peg$cache[key];
22928 −
22929 − if (cached) {
22930 − peg$currPos = cached.nextPos;
22931 − return cached.result;
22932 − }
22933 −
22934 − s0 = peg$currPos;
22935 − if (input.charCodeAt(peg$currPos) === 46) {
22936 − s1 = peg$c16;
22937 − peg$currPos++;
22938 − } else {
22939 − s1 = peg$FAILED;
22940 − if (peg$silentFails === 0) { peg$fail(peg$c17); }
22941 − }
22942 − if (s1 !== peg$FAILED) {
22943 − s2 = peg$parseDIGITS();
22944 − if (s2 !== peg$FAILED) {
22945 − peg$reportedPos = s0;
22946 − s1 = peg$c70(s2);
22947 − s0 = s1;
22948 − } else {
22949 − peg$currPos = s0;
22950 − s0 = peg$c2;
22951 − }
22952 − } else {
22953 − peg$currPos = s0;
22954 − s0 = peg$c2;
22955 − }
22956 −
22957 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
22958 −
22959 − return s0;
22960 − }
22961 −
22962 − function peg$parsedate() {
22963 − var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;
22964 −
22965 − var key = peg$currPos * 49 + 35,
22966 − cached = peg$cache[key];
22967 −
22968 − if (cached) {
22969 − peg$currPos = cached.nextPos;
22970 − return cached.result;
22971 − }
22972 −
22973 − s0 = peg$currPos;
22974 − s1 = peg$currPos;
22975 − s2 = peg$parseDIGIT_OR_UNDER();
22976 − if (s2 !== peg$FAILED) {
22977 − s3 = peg$parseDIGIT_OR_UNDER();
22978 − if (s3 !== peg$FAILED) {
22979 − s4 = peg$parseDIGIT_OR_UNDER();
22980 − if (s4 !== peg$FAILED) {
22981 − s5 = peg$parseDIGIT_OR_UNDER();
22982 − if (s5 !== peg$FAILED) {
22983 − if (input.charCodeAt(peg$currPos) === 45) {
22984 − s6 = peg$c47;
22985 − peg$currPos++;
22986 − } else {
22987 − s6 = peg$FAILED;
22988 − if (peg$silentFails === 0) { peg$fail(peg$c48); }
22989 − }
22990 − if (s6 !== peg$FAILED) {
22991 − s7 = peg$parseDIGIT_OR_UNDER();
22992 − if (s7 !== peg$FAILED) {
22993 − s8 = peg$parseDIGIT_OR_UNDER();
22994 − if (s8 !== peg$FAILED) {
22995 − if (input.charCodeAt(peg$currPos) === 45) {
22996 − s9 = peg$c47;
22997 − peg$currPos++;
22998 − } else {
22999 − s9 = peg$FAILED;
23000 − if (peg$silentFails === 0) { peg$fail(peg$c48); }
23001 − }
23002 − if (s9 !== peg$FAILED) {
23003 − s10 = peg$parseDIGIT_OR_UNDER();
23004 − if (s10 !== peg$FAILED) {
23005 − s11 = peg$parseDIGIT_OR_UNDER();
23006 − if (s11 !== peg$FAILED) {
23007 − s2 = [s2, s3, s4, s5, s6, s7, s8, s9, s10, s11];
23008 − s1 = s2;
23009 − } else {
23010 − peg$currPos = s1;
23011 − s1 = peg$c2;
23012 − }
23013 − } else {
23014 − peg$currPos = s1;
23015 − s1 = peg$c2;
23016 − }
23017 − } else {
23018 − peg$currPos = s1;
23019 − s1 = peg$c2;
23020 − }
23021 − } else {
23022 − peg$currPos = s1;
23023 − s1 = peg$c2;
23024 − }
23025 − } else {
23026 − peg$currPos = s1;
23027 − s1 = peg$c2;
23028 − }
23029 − } else {
23030 − peg$currPos = s1;
23031 − s1 = peg$c2;
23032 − }
23033 − } else {
23034 − peg$currPos = s1;
23035 − s1 = peg$c2;
23036 − }
23037 − } else {
23038 − peg$currPos = s1;
23039 − s1 = peg$c2;
23040 − }
23041 − } else {
23042 − peg$currPos = s1;
23043 − s1 = peg$c2;
23044 − }
23045 − } else {
23046 − peg$currPos = s1;
23047 − s1 = peg$c2;
23048 − }
23049 − if (s1 !== peg$FAILED) {
23050 − peg$reportedPos = s0;
23051 − s1 = peg$c71(s1);
23052 − }
23053 − s0 = s1;
23054 −
23055 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
23056 −
23057 − return s0;
23058 − }
23059 −
23060 − function peg$parsetime() {
23061 − var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;
23062 −
23063 − var key = peg$currPos * 49 + 36,
23064 − cached = peg$cache[key];
23065 −
23066 − if (cached) {
23067 − peg$currPos = cached.nextPos;
23068 − return cached.result;
23069 − }
23070 −
23071 − s0 = peg$currPos;
23072 − s1 = peg$currPos;
23073 − s2 = peg$parseDIGIT_OR_UNDER();
23074 − if (s2 !== peg$FAILED) {
23075 − s3 = peg$parseDIGIT_OR_UNDER();
23076 − if (s3 !== peg$FAILED) {
23077 − if (input.charCodeAt(peg$currPos) === 58) {
23078 − s4 = peg$c72;
23079 − peg$currPos++;
23080 − } else {
23081 − s4 = peg$FAILED;
23082 − if (peg$silentFails === 0) { peg$fail(peg$c73); }
23083 − }
23084 − if (s4 !== peg$FAILED) {
23085 − s5 = peg$parseDIGIT_OR_UNDER();
23086 − if (s5 !== peg$FAILED) {
23087 − s6 = peg$parseDIGIT_OR_UNDER();
23088 − if (s6 !== peg$FAILED) {
23089 − if (input.charCodeAt(peg$currPos) === 58) {
23090 − s7 = peg$c72;
23091 − peg$currPos++;
23092 − } else {
23093 − s7 = peg$FAILED;
23094 − if (peg$silentFails === 0) { peg$fail(peg$c73); }
23095 − }
23096 − if (s7 !== peg$FAILED) {
23097 − s8 = peg$parseDIGIT_OR_UNDER();
23098 − if (s8 !== peg$FAILED) {
23099 − s9 = peg$parseDIGIT_OR_UNDER();
23100 − if (s9 !== peg$FAILED) {
23101 − s10 = peg$parsesecfragment();
23102 − if (s10 === peg$FAILED) {
23103 − s10 = peg$c25;
23104 − }
23105 − if (s10 !== peg$FAILED) {
23106 − s2 = [s2, s3, s4, s5, s6, s7, s8, s9, s10];
23107 − s1 = s2;
23108 − } else {
23109 − peg$currPos = s1;
23110 − s1 = peg$c2;
23111 − }
23112 − } else {
23113 − peg$currPos = s1;
23114 − s1 = peg$c2;
23115 − }
23116 − } else {
23117 − peg$currPos = s1;
23118 − s1 = peg$c2;
23119 − }
23120 − } else {
23121 − peg$currPos = s1;
23122 − s1 = peg$c2;
23123 − }
23124 − } else {
23125 − peg$currPos = s1;
23126 − s1 = peg$c2;
23127 − }
23128 − } else {
23129 − peg$currPos = s1;
23130 − s1 = peg$c2;
23131 − }
23132 − } else {
23133 − peg$currPos = s1;
23134 − s1 = peg$c2;
23135 − }
23136 − } else {
23137 − peg$currPos = s1;
23138 − s1 = peg$c2;
23139 − }
23140 − } else {
23141 − peg$currPos = s1;
23142 − s1 = peg$c2;
23143 − }
23144 − if (s1 !== peg$FAILED) {
23145 − peg$reportedPos = s0;
23146 − s1 = peg$c74(s1);
23147 − }
23148 − s0 = s1;
23149 −
23150 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
23151 −
23152 − return s0;
23153 − }
23154 −
23155 − function peg$parsetime_with_offset() {
23156 − var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16;
23157 −
23158 − var key = peg$currPos * 49 + 37,
23159 − cached = peg$cache[key];
23160 −
23161 − if (cached) {
23162 − peg$currPos = cached.nextPos;
23163 − return cached.result;
23164 − }
23165 −
23166 − s0 = peg$currPos;
23167 − s1 = peg$currPos;
23168 − s2 = peg$parseDIGIT_OR_UNDER();
23169 − if (s2 !== peg$FAILED) {
23170 − s3 = peg$parseDIGIT_OR_UNDER();
23171 − if (s3 !== peg$FAILED) {
23172 − if (input.charCodeAt(peg$currPos) === 58) {
23173 − s4 = peg$c72;
23174 − peg$currPos++;
23175 − } else {
23176 − s4 = peg$FAILED;
23177 − if (peg$silentFails === 0) { peg$fail(peg$c73); }
23178 − }
23179 − if (s4 !== peg$FAILED) {
23180 − s5 = peg$parseDIGIT_OR_UNDER();
23181 − if (s5 !== peg$FAILED) {
23182 − s6 = peg$parseDIGIT_OR_UNDER();
23183 − if (s6 !== peg$FAILED) {
23184 − if (input.charCodeAt(peg$currPos) === 58) {
23185 − s7 = peg$c72;
23186 − peg$currPos++;
23187 − } else {
23188 − s7 = peg$FAILED;
23189 − if (peg$silentFails === 0) { peg$fail(peg$c73); }
23190 − }
23191 − if (s7 !== peg$FAILED) {
23192 − s8 = peg$parseDIGIT_OR_UNDER();
23193 − if (s8 !== peg$FAILED) {
23194 − s9 = peg$parseDIGIT_OR_UNDER();
23195 − if (s9 !== peg$FAILED) {
23196 − s10 = peg$parsesecfragment();
23197 − if (s10 === peg$FAILED) {
23198 − s10 = peg$c25;
23199 − }
23200 − if (s10 !== peg$FAILED) {
23201 − if (input.charCodeAt(peg$currPos) === 45) {
23202 − s11 = peg$c47;
23203 − peg$currPos++;
23204 − } else {
23205 − s11 = peg$FAILED;
23206 − if (peg$silentFails === 0) { peg$fail(peg$c48); }
23207 − }
23208 − if (s11 === peg$FAILED) {
23209 − if (input.charCodeAt(peg$currPos) === 43) {
23210 − s11 = peg$c44;
23211 − peg$currPos++;
23212 − } else {
23213 − s11 = peg$FAILED;
23214 − if (peg$silentFails === 0) { peg$fail(peg$c45); }
23215 − }
23216 − }
23217 − if (s11 !== peg$FAILED) {
23218 − s12 = peg$parseDIGIT_OR_UNDER();
23219 − if (s12 !== peg$FAILED) {
23220 − s13 = peg$parseDIGIT_OR_UNDER();
23221 − if (s13 !== peg$FAILED) {
23222 − if (input.charCodeAt(peg$currPos) === 58) {
23223 − s14 = peg$c72;
23224 − peg$currPos++;
23225 − } else {
23226 − s14 = peg$FAILED;
23227 − if (peg$silentFails === 0) { peg$fail(peg$c73); }
23228 − }
23229 − if (s14 !== peg$FAILED) {
23230 − s15 = peg$parseDIGIT_OR_UNDER();
23231 − if (s15 !== peg$FAILED) {
23232 − s16 = peg$parseDIGIT_OR_UNDER();
23233 − if (s16 !== peg$FAILED) {
23234 − s2 = [s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16];
23235 − s1 = s2;
23236 − } else {
23237 − peg$currPos = s1;
23238 − s1 = peg$c2;
23239 − }
23240 − } else {
23241 − peg$currPos = s1;
23242 − s1 = peg$c2;
23243 − }
23244 − } else {
23245 − peg$currPos = s1;
23246 − s1 = peg$c2;
23247 − }
23248 − } else {
23249 − peg$currPos = s1;
23250 − s1 = peg$c2;
23251 − }
23252 − } else {
23253 − peg$currPos = s1;
23254 − s1 = peg$c2;
23255 − }
23256 − } else {
23257 − peg$currPos = s1;
23258 − s1 = peg$c2;
23259 − }
23260 − } else {
23261 − peg$currPos = s1;
23262 − s1 = peg$c2;
23263 − }
23264 − } else {
23265 − peg$currPos = s1;
23266 − s1 = peg$c2;
23267 − }
23268 − } else {
23269 − peg$currPos = s1;
23270 − s1 = peg$c2;
23271 − }
23272 − } else {
23273 − peg$currPos = s1;
23274 − s1 = peg$c2;
23275 − }
23276 − } else {
23277 − peg$currPos = s1;
23278 − s1 = peg$c2;
23279 − }
23280 − } else {
23281 − peg$currPos = s1;
23282 − s1 = peg$c2;
23283 − }
23284 − } else {
23285 − peg$currPos = s1;
23286 − s1 = peg$c2;
23287 − }
23288 − } else {
23289 − peg$currPos = s1;
23290 − s1 = peg$c2;
23291 − }
23292 − } else {
23293 − peg$currPos = s1;
23294 − s1 = peg$c2;
23295 − }
23296 − if (s1 !== peg$FAILED) {
23297 − peg$reportedPos = s0;
23298 − s1 = peg$c74(s1);
23299 − }
23300 − s0 = s1;
23301 −
23302 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
23303 −
23304 − return s0;
23305 − }
23306 −
23307 − function peg$parsedatetime() {
23308 − var s0, s1, s2, s3, s4;
23309 −
23310 − var key = peg$currPos * 49 + 38,
23311 − cached = peg$cache[key];
23312 −
23313 − if (cached) {
23314 − peg$currPos = cached.nextPos;
23315 − return cached.result;
23316 − }
23317 −
23318 − s0 = peg$currPos;
23319 − s1 = peg$parsedate();
23320 − if (s1 !== peg$FAILED) {
23321 − if (input.charCodeAt(peg$currPos) === 84) {
23322 − s2 = peg$c75;
23323 − peg$currPos++;
23324 − } else {
23325 − s2 = peg$FAILED;
23326 − if (peg$silentFails === 0) { peg$fail(peg$c76); }
23327 − }
23328 − if (s2 !== peg$FAILED) {
23329 − s3 = peg$parsetime();
23330 − if (s3 !== peg$FAILED) {
23331 − if (input.charCodeAt(peg$currPos) === 90) {
23332 − s4 = peg$c77;
23333 − peg$currPos++;
23334 − } else {
23335 − s4 = peg$FAILED;
23336 − if (peg$silentFails === 0) { peg$fail(peg$c78); }
23337 − }
23338 − if (s4 !== peg$FAILED) {
23339 − peg$reportedPos = s0;
23340 − s1 = peg$c79(s1, s3);
23341 − s0 = s1;
23342 − } else {
23343 − peg$currPos = s0;
23344 − s0 = peg$c2;
23345 − }
23346 − } else {
23347 − peg$currPos = s0;
23348 − s0 = peg$c2;
23349 − }
23350 − } else {
23351 − peg$currPos = s0;
23352 − s0 = peg$c2;
23353 − }
23354 − } else {
23355 − peg$currPos = s0;
23356 − s0 = peg$c2;
23357 − }
23358 − if (s0 === peg$FAILED) {
23359 − s0 = peg$currPos;
23360 − s1 = peg$parsedate();
23361 − if (s1 !== peg$FAILED) {
23362 − if (input.charCodeAt(peg$currPos) === 84) {
23363 − s2 = peg$c75;
23364 − peg$currPos++;
23365 − } else {
23366 − s2 = peg$FAILED;
23367 − if (peg$silentFails === 0) { peg$fail(peg$c76); }
23368 − }
23369 − if (s2 !== peg$FAILED) {
23370 − s3 = peg$parsetime_with_offset();
23371 − if (s3 !== peg$FAILED) {
23372 − peg$reportedPos = s0;
23373 − s1 = peg$c80(s1, s3);
23374 − s0 = s1;
23375 − } else {
23376 − peg$currPos = s0;
23377 − s0 = peg$c2;
23378 − }
23379 − } else {
23380 − peg$currPos = s0;
23381 − s0 = peg$c2;
23382 − }
23383 − } else {
23384 − peg$currPos = s0;
23385 − s0 = peg$c2;
23386 − }
23387 − }
23388 −
23389 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
23390 −
23391 − return s0;
23392 − }
23393 −
23394 − function peg$parseS() {
23395 − var s0;
23396 −
23397 − var key = peg$currPos * 49 + 39,
23398 − cached = peg$cache[key];
23399 −
23400 − if (cached) {
23401 − peg$currPos = cached.nextPos;
23402 − return cached.result;
23403 − }
23404 −
23405 − if (peg$c81.test(input.charAt(peg$currPos))) {
23406 − s0 = input.charAt(peg$currPos);
23407 − peg$currPos++;
23408 − } else {
23409 − s0 = peg$FAILED;
23410 − if (peg$silentFails === 0) { peg$fail(peg$c82); }
23411 − }
23412 −
23413 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
23414 −
23415 − return s0;
23416 − }
23417 −
23418 − function peg$parseNL() {
23419 − var s0, s1, s2;
23420 −
23421 − var key = peg$currPos * 49 + 40,
23422 − cached = peg$cache[key];
23423 −
23424 − if (cached) {
23425 − peg$currPos = cached.nextPos;
23426 − return cached.result;
23427 − }
23428 −
23429 − if (input.charCodeAt(peg$currPos) === 10) {
23430 − s0 = peg$c83;
23431 − peg$currPos++;
23432 − } else {
23433 − s0 = peg$FAILED;
23434 − if (peg$silentFails === 0) { peg$fail(peg$c84); }
23435 − }
23436 − if (s0 === peg$FAILED) {
23437 − s0 = peg$currPos;
23438 − if (input.charCodeAt(peg$currPos) === 13) {
23439 − s1 = peg$c85;
23440 − peg$currPos++;
23441 − } else {
23442 − s1 = peg$FAILED;
23443 − if (peg$silentFails === 0) { peg$fail(peg$c86); }
23444 − }
23445 − if (s1 !== peg$FAILED) {
23446 − if (input.charCodeAt(peg$currPos) === 10) {
23447 − s2 = peg$c83;
23448 − peg$currPos++;
23449 − } else {
23450 − s2 = peg$FAILED;
23451 − if (peg$silentFails === 0) { peg$fail(peg$c84); }
23452 − }
23453 − if (s2 !== peg$FAILED) {
23454 − s1 = [s1, s2];
23455 − s0 = s1;
23456 − } else {
23457 − peg$currPos = s0;
23458 − s0 = peg$c2;
23459 − }
23460 − } else {
23461 − peg$currPos = s0;
23462 − s0 = peg$c2;
23463 − }
23464 − }
23465 −
23466 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
23467 −
23468 − return s0;
23469 − }
23470 −
23471 − function peg$parseNLS() {
23472 − var s0;
23473 −
23474 − var key = peg$currPos * 49 + 41,
23475 − cached = peg$cache[key];
23476 −
23477 − if (cached) {
23478 − peg$currPos = cached.nextPos;
23479 − return cached.result;
23480 − }
23481 −
23482 − s0 = peg$parseNL();
23483 − if (s0 === peg$FAILED) {
23484 − s0 = peg$parseS();
23485 − }
23486 −
23487 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
23488 −
23489 − return s0;
23490 − }
23491 −
23492 − function peg$parseEOF() {
23493 − var s0, s1;
23494 −
23495 − var key = peg$currPos * 49 + 42,
23496 − cached = peg$cache[key];
23497 −
23498 − if (cached) {
23499 − peg$currPos = cached.nextPos;
23500 − return cached.result;
23501 − }
23502 −
23503 − s0 = peg$currPos;
23504 − peg$silentFails++;
23505 − if (input.length > peg$currPos) {
23506 − s1 = input.charAt(peg$currPos);
23507 − peg$currPos++;
23508 − } else {
23509 − s1 = peg$FAILED;
23510 − if (peg$silentFails === 0) { peg$fail(peg$c6); }
23511 − }
23512 − peg$silentFails--;
23513 − if (s1 === peg$FAILED) {
23514 − s0 = peg$c5;
23515 − } else {
23516 − peg$currPos = s0;
23517 − s0 = peg$c2;
23518 − }
23519 −
23520 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
23521 −
23522 − return s0;
23523 − }
23524 −
23525 − function peg$parseHEX() {
23526 − var s0;
23527 −
23528 − var key = peg$currPos * 49 + 43,
23529 − cached = peg$cache[key];
23530 −
23531 − if (cached) {
23532 − peg$currPos = cached.nextPos;
23533 − return cached.result;
23534 − }
23535 −
23536 − if (peg$c87.test(input.charAt(peg$currPos))) {
23537 − s0 = input.charAt(peg$currPos);
23538 − peg$currPos++;
23539 − } else {
23540 − s0 = peg$FAILED;
23541 − if (peg$silentFails === 0) { peg$fail(peg$c88); }
23542 − }
23543 −
23544 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
23545 −
23546 − return s0;
23547 − }
23548 −
23549 − function peg$parseDIGIT_OR_UNDER() {
23550 − var s0, s1;
23551 −
23552 − var key = peg$currPos * 49 + 44,
23553 − cached = peg$cache[key];
23554 −
23555 − if (cached) {
23556 − peg$currPos = cached.nextPos;
23557 − return cached.result;
23558 − }
23559 −
23560 − if (peg$c89.test(input.charAt(peg$currPos))) {
23561 − s0 = input.charAt(peg$currPos);
23562 − peg$currPos++;
23563 − } else {
23564 − s0 = peg$FAILED;
23565 − if (peg$silentFails === 0) { peg$fail(peg$c90); }
23566 − }
23567 − if (s0 === peg$FAILED) {
23568 − s0 = peg$currPos;
23569 − if (input.charCodeAt(peg$currPos) === 95) {
23570 − s1 = peg$c91;
23571 − peg$currPos++;
23572 − } else {
23573 − s1 = peg$FAILED;
23574 − if (peg$silentFails === 0) { peg$fail(peg$c92); }
23575 − }
23576 − if (s1 !== peg$FAILED) {
23577 − peg$reportedPos = s0;
23578 − s1 = peg$c93();
23579 − }
23580 − s0 = s1;
23581 − }
23582 −
23583 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
23584 −
23585 − return s0;
23586 − }
23587 −
23588 − function peg$parseASCII_BASIC() {
23589 − var s0;
23590 −
23591 − var key = peg$currPos * 49 + 45,
23592 − cached = peg$cache[key];
23593 −
23594 − if (cached) {
23595 − peg$currPos = cached.nextPos;
23596 − return cached.result;
23597 − }
23598 −
23599 − if (peg$c94.test(input.charAt(peg$currPos))) {
23600 − s0 = input.charAt(peg$currPos);
23601 − peg$currPos++;
23602 − } else {
23603 − s0 = peg$FAILED;
23604 − if (peg$silentFails === 0) { peg$fail(peg$c95); }
23605 − }
23606 −
23607 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
23608 −
23609 − return s0;
23610 − }
23611 −
23612 − function peg$parseDIGITS() {
23613 − var s0, s1, s2;
23614 −
23615 − var key = peg$currPos * 49 + 46,
23616 − cached = peg$cache[key];
23617 −
23618 − if (cached) {
23619 − peg$currPos = cached.nextPos;
23620 − return cached.result;
23621 − }
23622 −
23623 − s0 = peg$currPos;
23624 − s1 = [];
23625 − s2 = peg$parseDIGIT_OR_UNDER();
23626 − if (s2 !== peg$FAILED) {
23627 − while (s2 !== peg$FAILED) {
23628 − s1.push(s2);
23629 − s2 = peg$parseDIGIT_OR_UNDER();
23630 − }
23631 − } else {
23632 − s1 = peg$c2;
23633 − }
23634 − if (s1 !== peg$FAILED) {
23635 − peg$reportedPos = s0;
23636 − s1 = peg$c96(s1);
23637 − }
23638 − s0 = s1;
23639 −
23640 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
23641 −
23642 − return s0;
23643 − }
23644 −
23645 − function peg$parseESCAPED() {
23646 − var s0, s1;
23647 −
23648 − var key = peg$currPos * 49 + 47,
23649 − cached = peg$cache[key];
23650 −
23651 − if (cached) {
23652 − peg$currPos = cached.nextPos;
23653 − return cached.result;
23654 − }
23655 −
23656 − s0 = peg$currPos;
23657 − if (input.substr(peg$currPos, 2) === peg$c97) {
23658 − s1 = peg$c97;
23659 − peg$currPos += 2;
23660 − } else {
23661 − s1 = peg$FAILED;
23662 − if (peg$silentFails === 0) { peg$fail(peg$c98); }
23663 − }
23664 − if (s1 !== peg$FAILED) {
23665 − peg$reportedPos = s0;
23666 − s1 = peg$c99();
23667 − }
23668 − s0 = s1;
23669 − if (s0 === peg$FAILED) {
23670 − s0 = peg$currPos;
23671 − if (input.substr(peg$currPos, 2) === peg$c100) {
23672 − s1 = peg$c100;
23673 − peg$currPos += 2;
23674 − } else {
23675 − s1 = peg$FAILED;
23676 − if (peg$silentFails === 0) { peg$fail(peg$c101); }
23677 − }
23678 − if (s1 !== peg$FAILED) {
23679 − peg$reportedPos = s0;
23680 − s1 = peg$c102();
23681 − }
23682 − s0 = s1;
23683 − if (s0 === peg$FAILED) {
23684 − s0 = peg$currPos;
23685 − if (input.substr(peg$currPos, 2) === peg$c103) {
23686 − s1 = peg$c103;
23687 − peg$currPos += 2;
23688 − } else {
23689 − s1 = peg$FAILED;
23690 − if (peg$silentFails === 0) { peg$fail(peg$c104); }
23691 − }
23692 − if (s1 !== peg$FAILED) {
23693 − peg$reportedPos = s0;
23694 − s1 = peg$c105();
23695 − }
23696 − s0 = s1;
23697 − if (s0 === peg$FAILED) {
23698 − s0 = peg$currPos;
23699 − if (input.substr(peg$currPos, 2) === peg$c106) {
23700 − s1 = peg$c106;
23701 − peg$currPos += 2;
23702 − } else {
23703 − s1 = peg$FAILED;
23704 − if (peg$silentFails === 0) { peg$fail(peg$c107); }
23705 − }
23706 − if (s1 !== peg$FAILED) {
23707 − peg$reportedPos = s0;
23708 − s1 = peg$c108();
23709 − }
23710 − s0 = s1;
23711 − if (s0 === peg$FAILED) {
23712 − s0 = peg$currPos;
23713 − if (input.substr(peg$currPos, 2) === peg$c109) {
23714 − s1 = peg$c109;
23715 − peg$currPos += 2;
23716 − } else {
23717 − s1 = peg$FAILED;
23718 − if (peg$silentFails === 0) { peg$fail(peg$c110); }
23719 − }
23720 − if (s1 !== peg$FAILED) {
23721 − peg$reportedPos = s0;
23722 − s1 = peg$c111();
23723 − }
23724 − s0 = s1;
23725 − if (s0 === peg$FAILED) {
23726 − s0 = peg$currPos;
23727 − if (input.substr(peg$currPos, 2) === peg$c112) {
23728 − s1 = peg$c112;
23729 − peg$currPos += 2;
23730 − } else {
23731 − s1 = peg$FAILED;
23732 − if (peg$silentFails === 0) { peg$fail(peg$c113); }
23733 − }
23734 − if (s1 !== peg$FAILED) {
23735 − peg$reportedPos = s0;
23736 − s1 = peg$c114();
23737 − }
23738 − s0 = s1;
23739 − if (s0 === peg$FAILED) {
23740 − s0 = peg$currPos;
23741 − if (input.substr(peg$currPos, 2) === peg$c115) {
23742 − s1 = peg$c115;
23743 − peg$currPos += 2;
23744 − } else {
23745 − s1 = peg$FAILED;
23746 − if (peg$silentFails === 0) { peg$fail(peg$c116); }
23747 − }
23748 − if (s1 !== peg$FAILED) {
23749 − peg$reportedPos = s0;
23750 − s1 = peg$c117();
23751 − }
23752 − s0 = s1;
23753 − if (s0 === peg$FAILED) {
23754 − s0 = peg$parseESCAPED_UNICODE();
23755 − }
23756 − }
23757 − }
23758 − }
23759 − }
23760 − }
23761 − }
23762 −
23763 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
23764 −
23765 − return s0;
23766 − }
23767 −
23768 − function peg$parseESCAPED_UNICODE() {
23769 − var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;
23770 −
23771 − var key = peg$currPos * 49 + 48,
23772 − cached = peg$cache[key];
23773 −
23774 − if (cached) {
23775 − peg$currPos = cached.nextPos;
23776 − return cached.result;
23777 − }
23778 −
23779 − s0 = peg$currPos;
23780 − if (input.substr(peg$currPos, 2) === peg$c118) {
23781 − s1 = peg$c118;
23782 − peg$currPos += 2;
23783 − } else {
23784 − s1 = peg$FAILED;
23785 − if (peg$silentFails === 0) { peg$fail(peg$c119); }
23786 − }
23787 − if (s1 !== peg$FAILED) {
23788 − s2 = peg$currPos;
23789 − s3 = peg$parseHEX();
23790 − if (s3 !== peg$FAILED) {
23791 − s4 = peg$parseHEX();
23792 − if (s4 !== peg$FAILED) {
23793 − s5 = peg$parseHEX();
23794 − if (s5 !== peg$FAILED) {
23795 − s6 = peg$parseHEX();
23796 − if (s6 !== peg$FAILED) {
23797 − s7 = peg$parseHEX();
23798 − if (s7 !== peg$FAILED) {
23799 − s8 = peg$parseHEX();
23800 − if (s8 !== peg$FAILED) {
23801 − s9 = peg$parseHEX();
23802 − if (s9 !== peg$FAILED) {
23803 − s10 = peg$parseHEX();
23804 − if (s10 !== peg$FAILED) {
23805 − s3 = [s3, s4, s5, s6, s7, s8, s9, s10];
23806 − s2 = s3;
23807 − } else {
23808 − peg$currPos = s2;
23809 − s2 = peg$c2;
23810 − }
23811 − } else {
23812 − peg$currPos = s2;
23813 − s2 = peg$c2;
23814 − }
23815 − } else {
23816 − peg$currPos = s2;
23817 − s2 = peg$c2;
23818 − }
23819 − } else {
23820 − peg$currPos = s2;
23821 − s2 = peg$c2;
23822 − }
23823 − } else {
23824 − peg$currPos = s2;
23825 − s2 = peg$c2;
23826 − }
23827 − } else {
23828 − peg$currPos = s2;
23829 − s2 = peg$c2;
23830 − }
23831 − } else {
23832 − peg$currPos = s2;
23833 − s2 = peg$c2;
23834 − }
23835 − } else {
23836 − peg$currPos = s2;
23837 − s2 = peg$c2;
23838 − }
23839 − if (s2 !== peg$FAILED) {
23840 − peg$reportedPos = s0;
23841 − s1 = peg$c120(s2);
23842 − s0 = s1;
23843 − } else {
23844 − peg$currPos = s0;
23845 − s0 = peg$c2;
23846 − }
23847 − } else {
23848 − peg$currPos = s0;
23849 − s0 = peg$c2;
23850 − }
23851 − if (s0 === peg$FAILED) {
23852 − s0 = peg$currPos;
23853 − if (input.substr(peg$currPos, 2) === peg$c121) {
23854 − s1 = peg$c121;
23855 − peg$currPos += 2;
23856 − } else {
23857 − s1 = peg$FAILED;
23858 − if (peg$silentFails === 0) { peg$fail(peg$c122); }
23859 − }
23860 − if (s1 !== peg$FAILED) {
23861 − s2 = peg$currPos;
23862 − s3 = peg$parseHEX();
23863 − if (s3 !== peg$FAILED) {
23864 − s4 = peg$parseHEX();
23865 − if (s4 !== peg$FAILED) {
23866 − s5 = peg$parseHEX();
23867 − if (s5 !== peg$FAILED) {
23868 − s6 = peg$parseHEX();
23869 − if (s6 !== peg$FAILED) {
23870 − s3 = [s3, s4, s5, s6];
23871 − s2 = s3;
23872 − } else {
23873 − peg$currPos = s2;
23874 − s2 = peg$c2;
23875 − }
23876 − } else {
23877 − peg$currPos = s2;
23878 − s2 = peg$c2;
23879 − }
23880 − } else {
23881 − peg$currPos = s2;
23882 − s2 = peg$c2;
23883 − }
23884 − } else {
23885 − peg$currPos = s2;
23886 − s2 = peg$c2;
23887 − }
23888 − if (s2 !== peg$FAILED) {
23889 − peg$reportedPos = s0;
23890 − s1 = peg$c120(s2);
23891 − s0 = s1;
23892 − } else {
23893 − peg$currPos = s0;
23894 − s0 = peg$c2;
23895 − }
23896 − } else {
23897 − peg$currPos = s0;
23898 − s0 = peg$c2;
23899 − }
23900 − }
23901 −
23902 − peg$cache[key] = { nextPos: peg$currPos, result: s0 };
23903 −
23904 − return s0;
23905 − }
23906 −
23907 −
23908 − var nodes = [];
23909 −
23910 − function genError(err, line, col) {
23911 − var ex = new Error(err);
23912 − ex.line = line;
23913 − ex.column = col;
23914 − throw ex;
23915 − }
23916 −
23917 − function addNode(node) {
23918 − nodes.push(node);
23919 − }
23920 −
23921 − function node(type, value, line, column, key) {
23922 − var obj = { type: type, value: value, line: line(), column: column() };
23923 − if (key) obj.key = key;
23924 − return obj;
23925 − }
23926 −
23927 − function convertCodePoint(str, line, col) {
23928 − var num = parseInt("0x" + str);
23929 −
23930 − if (
23931 − !isFinite(num) ||
23932 − Math.floor(num) != num ||
23933 − num < 0 ||
23934 − num > 0x10FFFF ||
23935 − (num > 0xD7FF && num < 0xE000)
23936 − ) {
23937 − genError("Invalid Unicode escape code: " + str, line, col);
23938 − } else {
23939 − return fromCodePoint(num);
23940 − }
23941 − }
23942 −
23943 − function fromCodePoint() {
23944 − var MAX_SIZE = 0x4000;
23945 − var codeUnits = [];
23946 − var highSurrogate;
23947 − var lowSurrogate;
23948 − var index = -1;
23949 − var length = arguments.length;
23950 − if (!length) {
23951 − return '';
23952 − }
23953 − var result = '';
23954 − while (++index < length) {
23955 − var codePoint = Number(arguments[index]);
23956 − if (codePoint <= 0xFFFF) { // BMP code point
23957 − codeUnits.push(codePoint);
23958 − } else { // Astral code point; split in surrogate halves
23959 − // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae
23960 − codePoint -= 0x10000;
23961 − highSurrogate = (codePoint >> 10) + 0xD800;
23962 − lowSurrogate = (codePoint % 0x400) + 0xDC00;
23963 − codeUnits.push(highSurrogate, lowSurrogate);
23964 − }
23965 − if (index + 1 == length || codeUnits.length > MAX_SIZE) {
23966 − result += String.fromCharCode.apply(null, codeUnits);
23967 − codeUnits.length = 0;
23968 − }
23969 − }
23970 − return result;
23971 − }
23972 −
23973 −
23974 − peg$result = peg$startRuleFunction();
23975 −
23976 − if (peg$result !== peg$FAILED && peg$currPos === input.length) {
23977 − return peg$result;
23978 − } else {
23979 − if (peg$result !== peg$FAILED && peg$currPos < input.length) {
23980 − peg$fail({ type: "end", description: "end of input" });
23981 − }
23982 −
23983 − throw peg$buildException(null, peg$maxFailExpected, peg$maxFailPos);
23984 − }
23985 − }
23986 −
23987 − return {
23988 − SyntaxError: SyntaxError,
23989 − parse: parse
23990 − };
23991 −})();
23992 −
23993 −
23994 19928 /***/ }),
23995 19929
23996 19930 /***/ 770:
@@ -57628,8 +53562,1136 @@ const parse = function (data, opts = {}) {
57628 53562
57629 53563 // EXTERNAL MODULE: ./node_modules/lodash/lodash.js
57630 53564 var lodash = __nccwpck_require__(2356);
57631 −// EXTERNAL MODULE: ./node_modules/toml/index.js
57632 −var toml = __nccwpck_require__(2132);
53565 +;// CONCATENATED MODULE: ./node_modules/smol-toml/dist/error.js
53566 +/*!
53567 + * Copyright (c) Squirrel Chat et al., All rights reserved.
53568 + * SPDX-License-Identifier: BSD-3-Clause
53569 + *
53570 + * Redistribution and use in source and binary forms, with or without
53571 + * modification, are permitted provided that the following conditions are met:
53572 + *
53573 + * 1. Redistributions of source code must retain the above copyright notice, this
53574 + * list of conditions and the following disclaimer.
53575 + * 2. Redistributions in binary form must reproduce the above copyright notice,
53576 + * this list of conditions and the following disclaimer in the
53577 + * documentation and/or other materials provided with the distribution.
53578 + * 3. Neither the name of the copyright holder nor the names of its contributors
53579 + * may be used to endorse or promote products derived from this software without
53580 + * specific prior written permission.
53581 + *
53582 + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
53583 + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
53584 + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
53585 + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
53586 + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
53587 + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
53588 + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
53589 + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
53590 + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
53591 + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
53592 + */
53593 +function getLineColFromPtr(string, ptr) {
53594 + let lines = string.slice(0, ptr).split(/\r\n|\n|\r/g);
53595 + return [lines.length, lines.pop().length + 1];
53596 +}
53597 +function makeCodeBlock(string, line, column) {
53598 + let lines = string.split(/\r\n|\n|\r/g);
53599 + let codeblock = '';
53600 + let numberLen = (Math.log10(line + 1) | 0) + 1;
53601 + for (let i = line - 1; i <= line + 1; i++) {
53602 + let l = lines[i - 1];
53603 + if (!l)
53604 + continue;
53605 + codeblock += i.toString().padEnd(numberLen, ' ');
53606 + codeblock += ': ';
53607 + codeblock += l;
53608 + codeblock += '\n';
53609 + if (i === line) {
53610 + codeblock += ' '.repeat(numberLen + column + 2);
53611 + codeblock += '^\n';
53612 + }
53613 + }
53614 + return codeblock;
53615 +}
53616 +class TomlError extends Error {
53617 + line;
53618 + column;
53619 + codeblock;
53620 + constructor(message, options) {
53621 + const [line, column] = getLineColFromPtr(options.toml, options.ptr);
53622 + const codeblock = makeCodeBlock(options.toml, line, column);
53623 + super(`Invalid TOML document: ${message}\n\n${codeblock}`, options);
53624 + this.line = line;
53625 + this.column = column;
53626 + this.codeblock = codeblock;
53627 + }
53628 +}
53629 +
53630 +;// CONCATENATED MODULE: ./node_modules/smol-toml/dist/util.js
53631 +/*!
53632 + * Copyright (c) Squirrel Chat et al., All rights reserved.
53633 + * SPDX-License-Identifier: BSD-3-Clause
53634 + *
53635 + * Redistribution and use in source and binary forms, with or without
53636 + * modification, are permitted provided that the following conditions are met:
53637 + *
53638 + * 1. Redistributions of source code must retain the above copyright notice, this
53639 + * list of conditions and the following disclaimer.
53640 + * 2. Redistributions in binary form must reproduce the above copyright notice,
53641 + * this list of conditions and the following disclaimer in the
53642 + * documentation and/or other materials provided with the distribution.
53643 + * 3. Neither the name of the copyright holder nor the names of its contributors
53644 + * may be used to endorse or promote products derived from this software without
53645 + * specific prior written permission.
53646 + *
53647 + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
53648 + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
53649 + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
53650 + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
53651 + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
53652 + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
53653 + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
53654 + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
53655 + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
53656 + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
53657 + */
53658 +
53659 +function isEscaped(str, ptr) {
53660 + let i = 0;
53661 + while (str[ptr - ++i] === '\\')
53662 + ;
53663 + return --i && (i % 2);
53664 +}
53665 +function indexOfNewline(str, start = 0, end = str.length) {
53666 + let idx = str.indexOf('\n', start);
53667 + if (str[idx - 1] === '\r')
53668 + idx--;
53669 + return idx <= end ? idx : -1;
53670 +}
53671 +function skipComment(str, ptr) {
53672 + for (let i = ptr; i < str.length; i++) {
53673 + let c = str[i];
53674 + if (c === '\n')
53675 + return i;
53676 + if (c === '\r' && str[i + 1] === '\n')
53677 + return i + 1;
53678 + if ((c < '\x20' && c !== '\t') || c === '\x7f') {
53679 + throw new TomlError('control characters are not allowed in comments', {
53680 + toml: str,
53681 + ptr: ptr,
53682 + });
53683 + }
53684 + }
53685 + return str.length;
53686 +}
53687 +function skipVoid(str, ptr, banNewLines, banComments) {
53688 + let c;
53689 + while (1) {
53690 + while ((c = str[ptr]) === ' ' || c === '\t' || (!banNewLines && (c === '\n' || c === '\r' && str[ptr + 1] === '\n')))
53691 + ptr++;
53692 + // Tucking the return statement here would save 5 characters >:)
53693 + // But TypeScript fails to detect there is no way to exit the loop so it complains about the lack of final return
53694 + if (banComments || c !== '#')
53695 + break;
53696 + ptr = skipComment(str, ptr);
53697 + }
53698 + return ptr;
53699 +}
53700 +function skipUntil(str, ptr, sep, end, banNewLines = false) {
53701 + if (!end) {
53702 + ptr = indexOfNewline(str, ptr);
53703 + return ptr < 0 ? str.length : ptr;
53704 + }
53705 + for (let i = ptr; i < str.length; i++) {
53706 + let c = str[i];
53707 + if (c === '#') {
53708 + i = indexOfNewline(str, i);
53709 + }
53710 + else if (c === sep) {
53711 + return i + 1;
53712 + }
53713 + else if (c === end || (banNewLines && (c === '\n' || (c === '\r' && str[i + 1] === '\n')))) {
53714 + return i;
53715 + }
53716 + }
53717 + throw new TomlError('cannot find end of structure', {
53718 + toml: str,
53719 + ptr: ptr
53720 + });
53721 +}
53722 +function getStringEnd(str, seek) {
53723 + let first = str[seek];
53724 + let target = first === str[seek + 1] && str[seek + 1] === str[seek + 2]
53725 + ? str.slice(seek, seek + 3)
53726 + : first;
53727 + seek += target.length - 1;
53728 + do
53729 + seek = str.indexOf(target, ++seek);
53730 + while (seek > -1 && first !== "'" && isEscaped(str, seek));
53731 + if (seek > -1) {
53732 + seek += target.length;
53733 + if (target.length > 1) {
53734 + if (str[seek] === first)
53735 + seek++;
53736 + if (str[seek] === first)
53737 + seek++;
53738 + }
53739 + }
53740 + return seek;
53741 +}
53742 +
53743 +;// CONCATENATED MODULE: ./node_modules/smol-toml/dist/date.js
53744 +/*!
53745 + * Copyright (c) Squirrel Chat et al., All rights reserved.
53746 + * SPDX-License-Identifier: BSD-3-Clause
53747 + *
53748 + * Redistribution and use in source and binary forms, with or without
53749 + * modification, are permitted provided that the following conditions are met:
53750 + *
53751 + * 1. Redistributions of source code must retain the above copyright notice, this
53752 + * list of conditions and the following disclaimer.
53753 + * 2. Redistributions in binary form must reproduce the above copyright notice,
53754 + * this list of conditions and the following disclaimer in the
53755 + * documentation and/or other materials provided with the distribution.
53756 + * 3. Neither the name of the copyright holder nor the names of its contributors
53757 + * may be used to endorse or promote products derived from this software without
53758 + * specific prior written permission.
53759 + *
53760 + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
53761 + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
53762 + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
53763 + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
53764 + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
53765 + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
53766 + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
53767 + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
53768 + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
53769 + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
53770 + */
53771 +let DATE_TIME_RE = /^(\d{4}-\d{2}-\d{2})?[T ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|[-+]\d{2}:\d{2})?$/i;
53772 +class TomlDate extends Date {
53773 + #hasDate = false;
53774 + #hasTime = false;
53775 + #offset = null;
53776 + constructor(date) {
53777 + let hasDate = true;
53778 + let hasTime = true;
53779 + let offset = 'Z';
53780 + if (typeof date === 'string') {
53781 + let match = date.match(DATE_TIME_RE);
53782 + if (match) {
53783 + if (!match[1]) {
53784 + hasDate = false;
53785 + date = `0000-01-01T${date}`;
53786 + }
53787 + hasTime = !!match[2];
53788 + // Make sure to use T instead of a space. Breaks in case of extreme values otherwise.
53789 + hasTime && date[10] === ' ' && (date = date.replace(' ', 'T'));
53790 + // Do not allow rollover hours.
53791 + if (match[2] && +match[2] > 23) {
53792 + date = '';
53793 + }
53794 + else {
53795 + offset = match[3] || null;
53796 + date = date.toUpperCase();
53797 + if (!offset && hasTime)
53798 + date += 'Z';
53799 + }
53800 + }
53801 + else {
53802 + date = '';
53803 + }
53804 + }
53805 + super(date);
53806 + if (!isNaN(this.getTime())) {
53807 + this.#hasDate = hasDate;
53808 + this.#hasTime = hasTime;
53809 + this.#offset = offset;
53810 + }
53811 + }
53812 + isDateTime() {
53813 + return this.#hasDate && this.#hasTime;
53814 + }
53815 + isLocal() {
53816 + return !this.#hasDate || !this.#hasTime || !this.#offset;
53817 + }
53818 + isDate() {
53819 + return this.#hasDate && !this.#hasTime;
53820 + }
53821 + isTime() {
53822 + return this.#hasTime && !this.#hasDate;
53823 + }
53824 + isValid() {
53825 + return this.#hasDate || this.#hasTime;
53826 + }
53827 + toISOString() {
53828 + let iso = super.toISOString();
53829 + // Local Date
53830 + if (this.isDate())
53831 + return iso.slice(0, 10);
53832 + // Local Time
53833 + if (this.isTime())
53834 + return iso.slice(11, 23);
53835 + // Local DateTime
53836 + if (this.#offset === null)
53837 + return iso.slice(0, -1);
53838 + // Offset DateTime
53839 + if (this.#offset === 'Z')
53840 + return iso;
53841 + // This part is quite annoying: JS strips the original timezone from the ISO string representation
53842 + // Instead of using a "modified" date and "Z", we restore the representation "as authored"
53843 + let offset = (+(this.#offset.slice(1, 3)) * 60) + +(this.#offset.slice(4, 6));
53844 + offset = this.#offset[0] === '-' ? offset : -offset;
53845 + let offsetDate = new Date(this.getTime() - (offset * 60e3));
53846 + return offsetDate.toISOString().slice(0, -1) + this.#offset;
53847 + }
53848 + static wrapAsOffsetDateTime(jsDate, offset = 'Z') {
53849 + let date = new TomlDate(jsDate);
53850 + date.#offset = offset;
53851 + return date;
53852 + }
53853 + static wrapAsLocalDateTime(jsDate) {
53854 + let date = new TomlDate(jsDate);
53855 + date.#offset = null;
53856 + return date;
53857 + }
53858 + static wrapAsLocalDate(jsDate) {
53859 + let date = new TomlDate(jsDate);
53860 + date.#hasTime = false;
53861 + date.#offset = null;
53862 + return date;
53863 + }
53864 + static wrapAsLocalTime(jsDate) {
53865 + let date = new TomlDate(jsDate);
53866 + date.#hasDate = false;
53867 + date.#offset = null;
53868 + return date;
53869 + }
53870 +}
53871 +
53872 +;// CONCATENATED MODULE: ./node_modules/smol-toml/dist/primitive.js
53873 +/*!
53874 + * Copyright (c) Squirrel Chat et al., All rights reserved.
53875 + * SPDX-License-Identifier: BSD-3-Clause
53876 + *
53877 + * Redistribution and use in source and binary forms, with or without
53878 + * modification, are permitted provided that the following conditions are met:
53879 + *
53880 + * 1. Redistributions of source code must retain the above copyright notice, this
53881 + * list of conditions and the following disclaimer.
53882 + * 2. Redistributions in binary form must reproduce the above copyright notice,
53883 + * this list of conditions and the following disclaimer in the
53884 + * documentation and/or other materials provided with the distribution.
53885 + * 3. Neither the name of the copyright holder nor the names of its contributors
53886 + * may be used to endorse or promote products derived from this software without
53887 + * specific prior written permission.
53888 + *
53889 + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
53890 + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
53891 + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
53892 + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
53893 + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
53894 + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
53895 + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
53896 + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
53897 + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
53898 + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
53899 + */
53900 +
53901 +
53902 +
53903 +let INT_REGEX = /^((0x[0-9a-fA-F](_?[0-9a-fA-F])*)|(([+-]|0[ob])?\d(_?\d)*))$/;
53904 +let FLOAT_REGEX = /^[+-]?\d(_?\d)*(\.\d(_?\d)*)?([eE][+-]?\d(_?\d)*)?$/;
53905 +let LEADING_ZERO = /^[+-]?0[0-9_]/;
53906 +let ESCAPE_REGEX = /^[0-9a-f]{2,8}$/i;
53907 +let ESC_MAP = {
53908 + b: '\b',
53909 + t: '\t',
53910 + n: '\n',
53911 + f: '\f',
53912 + r: '\r',
53913 + e: '\x1b',
53914 + '"': '"',
53915 + '\\': '\\',
53916 +};
53917 +function parseString(str, ptr = 0, endPtr = str.length) {
53918 + let isLiteral = str[ptr] === '\'';
53919 + let isMultiline = str[ptr++] === str[ptr] && str[ptr] === str[ptr + 1];
53920 + if (isMultiline) {
53921 + endPtr -= 2;
53922 + if (str[ptr += 2] === '\r')
53923 + ptr++;
53924 + if (str[ptr] === '\n')
53925 + ptr++;
53926 + }
53927 + let tmp = 0;
53928 + let isEscape;
53929 + let parsed = '';
53930 + let sliceStart = ptr;
53931 + while (ptr < endPtr - 1) {
53932 + let c = str[ptr++];
53933 + if (c === '\n' || (c === '\r' && str[ptr] === '\n')) {
53934 + if (!isMultiline) {
53935 + throw new TomlError('newlines are not allowed in strings', {
53936 + toml: str,
53937 + ptr: ptr - 1,
53938 + });
53939 + }
53940 + }
53941 + else if ((c < '\x20' && c !== '\t') || c === '\x7f') {
53942 + throw new TomlError('control characters are not allowed in strings', {
53943 + toml: str,
53944 + ptr: ptr - 1,
53945 + });
53946 + }
53947 + if (isEscape) {
53948 + isEscape = false;
53949 + if (c === 'x' || c === 'u' || c === 'U') {
53950 + // Unicode escape
53951 + let code = str.slice(ptr, (ptr += (c === 'x' ? 2 : c === 'u' ? 4 : 8)));
53952 + if (!ESCAPE_REGEX.test(code)) {
53953 + throw new TomlError('invalid unicode escape', {
53954 + toml: str,
53955 + ptr: tmp,
53956 + });
53957 + }
53958 + try {
53959 + parsed += String.fromCodePoint(parseInt(code, 16));
53960 + }
53961 + catch {
53962 + throw new TomlError('invalid unicode escape', {
53963 + toml: str,
53964 + ptr: tmp,
53965 + });
53966 + }
53967 + }
53968 + else if (isMultiline && (c === '\n' || c === ' ' || c === '\t' || c === '\r')) {
53969 + // Multiline escape
53970 + ptr = skipVoid(str, ptr - 1, true);
53971 + if (str[ptr] !== '\n' && str[ptr] !== '\r') {
53972 + throw new TomlError('invalid escape: only line-ending whitespace may be escaped', {
53973 + toml: str,
53974 + ptr: tmp,
53975 + });
53976 + }
53977 + ptr = skipVoid(str, ptr);
53978 + }
53979 + else if (c in ESC_MAP) {
53980 + // Classic escape
53981 + parsed += ESC_MAP[c];
53982 + }
53983 + else {
53984 + throw new TomlError('unrecognized escape sequence', {
53985 + toml: str,
53986 + ptr: tmp,
53987 + });
53988 + }
53989 + sliceStart = ptr;
53990 + }
53991 + else if (!isLiteral && c === '\\') {
53992 + tmp = ptr - 1;
53993 + isEscape = true;
53994 + parsed += str.slice(sliceStart, tmp);
53995 + }
53996 + }
53997 + return parsed + str.slice(sliceStart, endPtr - 1);
53998 +}
53999 +function parseValue(value, toml, ptr, integersAsBigInt) {
54000 + // Constant values
54001 + if (value === 'true')
54002 + return true;
54003 + if (value === 'false')
54004 + return false;
54005 + if (value === '-inf')
54006 + return -Infinity;
54007 + if (value === 'inf' || value === '+inf')
54008 + return Infinity;
54009 + if (value === 'nan' || value === '+nan' || value === '-nan')
54010 + return NaN;
54011 + // Avoid FP representation of -0
54012 + if (value === '-0')
54013 + return integersAsBigInt ? 0n : 0;
54014 + // Numbers
54015 + let isInt = INT_REGEX.test(value);
54016 + if (isInt || FLOAT_REGEX.test(value)) {
54017 + if (LEADING_ZERO.test(value)) {
54018 + throw new TomlError('leading zeroes are not allowed', {
54019 + toml: toml,
54020 + ptr: ptr,
54021 + });
54022 + }
54023 + value = value.replace(/_/g, '');
54024 + let numeric = +value;
54025 + if (isNaN(numeric)) {
54026 + throw new TomlError('invalid number', {
54027 + toml: toml,
54028 + ptr: ptr,
54029 + });
54030 + }
54031 + if (isInt) {
54032 + if ((isInt = !Number.isSafeInteger(numeric)) && !integersAsBigInt) {
54033 + throw new TomlError('integer value cannot be represented losslessly', {
54034 + toml: toml,
54035 + ptr: ptr,
54036 + });
54037 + }
54038 + if (isInt || integersAsBigInt === true)
54039 + numeric = BigInt(value);
54040 + }
54041 + return numeric;
54042 + }
54043 + const date = new TomlDate(value);
54044 + if (!date.isValid()) {
54045 + throw new TomlError('invalid value', {
54046 + toml: toml,
54047 + ptr: ptr,
54048 + });
54049 + }
54050 + return date;
54051 +}
54052 +
54053 +;// CONCATENATED MODULE: ./node_modules/smol-toml/dist/extract.js
54054 +/*!
54055 + * Copyright (c) Squirrel Chat et al., All rights reserved.
54056 + * SPDX-License-Identifier: BSD-3-Clause
54057 + *
54058 + * Redistribution and use in source and binary forms, with or without
54059 + * modification, are permitted provided that the following conditions are met:
54060 + *
54061 + * 1. Redistributions of source code must retain the above copyright notice, this
54062 + * list of conditions and the following disclaimer.
54063 + * 2. Redistributions in binary form must reproduce the above copyright notice,
54064 + * this list of conditions and the following disclaimer in the
54065 + * documentation and/or other materials provided with the distribution.
54066 + * 3. Neither the name of the copyright holder nor the names of its contributors
54067 + * may be used to endorse or promote products derived from this software without
54068 + * specific prior written permission.
54069 + *
54070 + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
54071 + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
54072 + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
54073 + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
54074 + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
54075 + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
54076 + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
54077 + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
54078 + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
54079 + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
54080 + */
54081 +
54082 +
54083 +
54084 +
54085 +function sliceAndTrimEndOf(str, startPtr, endPtr) {
54086 + let value = str.slice(startPtr, endPtr);
54087 + let commentIdx = value.indexOf('#');
54088 + if (commentIdx > -1) {
54089 + // The call to skipComment allows to "validate" the comment
54090 + // (absence of control characters)
54091 + skipComment(str, commentIdx);
54092 + value = value.slice(0, commentIdx);
54093 + }
54094 + return [value.trimEnd(), commentIdx];
54095 +}
54096 +function extractValue(str, ptr, end, depth, integersAsBigInt) {
54097 + if (depth === 0) {
54098 + throw new TomlError('document contains excessively nested structures. aborting.', {
54099 + toml: str,
54100 + ptr: ptr
54101 + });
54102 + }
54103 + let c = str[ptr];
54104 + if (c === '[' || c === '{') {
54105 + let [value, endPtr] = c === '['
54106 + ? parseArray(str, ptr, depth, integersAsBigInt)
54107 + : parseInlineTable(str, ptr, depth, integersAsBigInt);
54108 + if (end) {
54109 + endPtr = skipVoid(str, endPtr);
54110 + if (str[endPtr] === ',')
54111 + endPtr++;
54112 + else if (str[endPtr] !== end) {
54113 + throw new TomlError('expected comma or end of structure', {
54114 + toml: str,
54115 + ptr: endPtr,
54116 + });
54117 + }
54118 + }
54119 + return [value, endPtr];
54120 + }
54121 + let endPtr;
54122 + if (c === '"' || c === "'") {
54123 + endPtr = getStringEnd(str, ptr);
54124 + let parsed = parseString(str, ptr, endPtr);
54125 + if (end) {
54126 + endPtr = skipVoid(str, endPtr);
54127 + if (str[endPtr] && str[endPtr] !== ',' && str[endPtr] !== end && str[endPtr] !== '\n' && str[endPtr] !== '\r') {
54128 + throw new TomlError('unexpected character encountered', {
54129 + toml: str,
54130 + ptr: endPtr,
54131 + });
54132 + }
54133 + endPtr += (+(str[endPtr] === ','));
54134 + }
54135 + return [parsed, endPtr];
54136 + }
54137 + endPtr = skipUntil(str, ptr, ',', end);
54138 + let slice = sliceAndTrimEndOf(str, ptr, endPtr - (+(str[endPtr - 1] === ',')));
54139 + if (!slice[0]) {
54140 + throw new TomlError('incomplete key-value declaration: no value specified', {
54141 + toml: str,
54142 + ptr: ptr
54143 + });
54144 + }
54145 + if (end && slice[1] > -1) {
54146 + endPtr = skipVoid(str, ptr + slice[1]);
54147 + endPtr += +(str[endPtr] === ',');
54148 + }
54149 + return [
54150 + parseValue(slice[0], str, ptr, integersAsBigInt),
54151 + endPtr,
54152 + ];
54153 +}
54154 +
54155 +;// CONCATENATED MODULE: ./node_modules/smol-toml/dist/struct.js
54156 +/*!
54157 + * Copyright (c) Squirrel Chat et al., All rights reserved.
54158 + * SPDX-License-Identifier: BSD-3-Clause
54159 + *
54160 + * Redistribution and use in source and binary forms, with or without
54161 + * modification, are permitted provided that the following conditions are met:
54162 + *
54163 + * 1. Redistributions of source code must retain the above copyright notice, this
54164 + * list of conditions and the following disclaimer.
54165 + * 2. Redistributions in binary form must reproduce the above copyright notice,
54166 + * this list of conditions and the following disclaimer in the
54167 + * documentation and/or other materials provided with the distribution.
54168 + * 3. Neither the name of the copyright holder nor the names of its contributors
54169 + * may be used to endorse or promote products derived from this software without
54170 + * specific prior written permission.
54171 + *
54172 + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
54173 + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
54174 + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
54175 + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
54176 + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
54177 + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
54178 + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
54179 + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
54180 + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
54181 + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
54182 + */
54183 +
54184 +
54185 +
54186 +
54187 +let KEY_PART_RE = /^[a-zA-Z0-9-_]+[ \t]*$/;
54188 +function parseKey(str, ptr, end = '=') {
54189 + let dot = ptr - 1;
54190 + let parsed = [];
54191 + let endPtr = str.indexOf(end, ptr);
54192 + if (endPtr < 0) {
54193 + throw new TomlError('incomplete key-value: cannot find end of key', {
54194 + toml: str,
54195 + ptr: ptr,
54196 + });
54197 + }
54198 + do {
54199 + let c = str[ptr = ++dot];
54200 + // If it's whitespace, ignore
54201 + if (c !== ' ' && c !== '\t') {
54202 + // If it's a string
54203 + if (c === '"' || c === '\'') {
54204 + if (c === str[ptr + 1] && c === str[ptr + 2]) {
54205 + throw new TomlError('multiline strings are not allowed in keys', {
54206 + toml: str,
54207 + ptr: ptr,
54208 + });
54209 + }
54210 + let eos = getStringEnd(str, ptr);
54211 + if (eos < 0) {
54212 + throw new TomlError('unfinished string encountered', {
54213 + toml: str,
54214 + ptr: ptr,
54215 + });
54216 + }
54217 + dot = str.indexOf('.', eos);
54218 + let strEnd = str.slice(eos, dot < 0 || dot > endPtr ? endPtr : dot);
54219 + let newLine = indexOfNewline(strEnd);
54220 + if (newLine > -1) {
54221 + throw new TomlError('newlines are not allowed in keys', {
54222 + toml: str,
54223 + ptr: ptr + dot + newLine,
54224 + });
54225 + }
54226 + if (strEnd.trimStart()) {
54227 + throw new TomlError('found extra tokens after the string part', {
54228 + toml: str,
54229 + ptr: eos,
54230 + });
54231 + }
54232 + if (endPtr < eos) {
54233 + endPtr = str.indexOf(end, eos);
54234 + if (endPtr < 0) {
54235 + throw new TomlError('incomplete key-value: cannot find end of key', {
54236 + toml: str,
54237 + ptr: ptr,
54238 + });
54239 + }
54240 + }
54241 + parsed.push(parseString(str, ptr, eos));
54242 + }
54243 + else {
54244 + // Normal raw key part consumption and validation
54245 + dot = str.indexOf('.', ptr);
54246 + let part = str.slice(ptr, dot < 0 || dot > endPtr ? endPtr : dot);
54247 + if (!KEY_PART_RE.test(part)) {
54248 + throw new TomlError('only letter, numbers, dashes and underscores are allowed in keys', {
54249 + toml: str,
54250 + ptr: ptr,
54251 + });
54252 + }
54253 + parsed.push(part.trimEnd());
54254 + }
54255 + }
54256 + // Until there's no more dot
54257 + } while (dot + 1 && dot < endPtr);
54258 + return [parsed, skipVoid(str, endPtr + 1, true, true)];
54259 +}
54260 +function parseInlineTable(str, ptr, depth, integersAsBigInt) {
54261 + let res = {};
54262 + let seen = new Set();
54263 + let c;
54264 + ptr++;
54265 + while ((c = str[ptr++]) !== '}' && c) {
54266 + if (c === ',') {
54267 + throw new TomlError('expected value, found comma', {
54268 + toml: str,
54269 + ptr: ptr - 1,
54270 + });
54271 + }
54272 + else if (c === '#')
54273 + ptr = skipComment(str, ptr);
54274 + else if (c !== ' ' && c !== '\t' && c !== '\n' && c !== '\r') {
54275 + let k;
54276 + let t = res;
54277 + let hasOwn = false;
54278 + let [key, keyEndPtr] = parseKey(str, ptr - 1);
54279 + for (let i = 0; i < key.length; i++) {
54280 + if (i)
54281 + t = hasOwn ? t[k] : (t[k] = {});
54282 + k = key[i];
54283 + if ((hasOwn = Object.hasOwn(t, k)) && (typeof t[k] !== 'object' || seen.has(t[k]))) {
54284 + throw new TomlError('trying to redefine an already defined value', {
54285 + toml: str,
54286 + ptr: ptr,
54287 + });
54288 + }
54289 + if (!hasOwn && k === '__proto__') {
54290 + Object.defineProperty(t, k, { enumerable: true, configurable: true, writable: true });
54291 + }
54292 + }
54293 + if (hasOwn) {
54294 + throw new TomlError('trying to redefine an already defined value', {
54295 + toml: str,
54296 + ptr: ptr,
54297 + });
54298 + }
54299 + let [value, valueEndPtr] = extractValue(str, keyEndPtr, '}', depth - 1, integersAsBigInt);
54300 + seen.add(value);
54301 + t[k] = value;
54302 + ptr = valueEndPtr;
54303 + }
54304 + }
54305 + if (!c) {
54306 + throw new TomlError('unfinished table encountered', {
54307 + toml: str,
54308 + ptr: ptr,
54309 + });
54310 + }
54311 + return [res, ptr];
54312 +}
54313 +function parseArray(str, ptr, depth, integersAsBigInt) {
54314 + let res = [];
54315 + let c;
54316 + ptr++;
54317 + while ((c = str[ptr++]) !== ']' && c) {
54318 + if (c === ',') {
54319 + throw new TomlError('expected value, found comma', {
54320 + toml: str,
54321 + ptr: ptr - 1,
54322 + });
54323 + }
54324 + else if (c === '#')
54325 + ptr = skipComment(str, ptr);
54326 + else if (c !== ' ' && c !== '\t' && c !== '\n' && c !== '\r') {
54327 + let e = extractValue(str, ptr - 1, ']', depth - 1, integersAsBigInt);
54328 + res.push(e[0]);
54329 + ptr = e[1];
54330 + }
54331 + }
54332 + if (!c) {
54333 + throw new TomlError('unfinished array encountered', {
54334 + toml: str,
54335 + ptr: ptr,
54336 + });
54337 + }
54338 + return [res, ptr];
54339 +}
54340 +
54341 +;// CONCATENATED MODULE: ./node_modules/smol-toml/dist/parse.js
54342 +/*!
54343 + * Copyright (c) Squirrel Chat et al., All rights reserved.
54344 + * SPDX-License-Identifier: BSD-3-Clause
54345 + *
54346 + * Redistribution and use in source and binary forms, with or without
54347 + * modification, are permitted provided that the following conditions are met:
54348 + *
54349 + * 1. Redistributions of source code must retain the above copyright notice, this
54350 + * list of conditions and the following disclaimer.
54351 + * 2. Redistributions in binary form must reproduce the above copyright notice,
54352 + * this list of conditions and the following disclaimer in the
54353 + * documentation and/or other materials provided with the distribution.
54354 + * 3. Neither the name of the copyright holder nor the names of its contributors
54355 + * may be used to endorse or promote products derived from this software without
54356 + * specific prior written permission.
54357 + *
54358 + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
54359 + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
54360 + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
54361 + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
54362 + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
54363 + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
54364 + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
54365 + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
54366 + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
54367 + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
54368 + */
54369 +
54370 +
54371 +
54372 +
54373 +function peekTable(key, table, meta, type) {
54374 + let t = table;
54375 + let m = meta;
54376 + let k;
54377 + let hasOwn = false;
54378 + let state;
54379 + for (let i = 0; i < key.length; i++) {
54380 + if (i) {
54381 + t = hasOwn ? t[k] : (t[k] = {});
54382 + m = (state = m[k]).c;
54383 + if (type === 0 /* Type.DOTTED */ && (state.t === 1 /* Type.EXPLICIT */ || state.t === 2 /* Type.ARRAY */)) {
54384 + return null;
54385 + }
54386 + if (state.t === 2 /* Type.ARRAY */) {
54387 + let l = t.length - 1;
54388 + t = t[l];
54389 + m = m[l].c;
54390 + }
54391 + }
54392 + k = key[i];
54393 + if ((hasOwn = Object.hasOwn(t, k)) && m[k]?.t === 0 /* Type.DOTTED */ && m[k]?.d) {
54394 + return null;
54395 + }
54396 + if (!hasOwn) {
54397 + if (k === '__proto__') {
54398 + Object.defineProperty(t, k, { enumerable: true, configurable: true, writable: true });
54399 + Object.defineProperty(m, k, { enumerable: true, configurable: true, writable: true });
54400 + }
54401 + m[k] = {
54402 + t: i < key.length - 1 && type === 2 /* Type.ARRAY */
54403 + ? 3 /* Type.ARRAY_DOTTED */
54404 + : type,
54405 + d: false,
54406 + i: 0,
54407 + c: {},
54408 + };
54409 + }
54410 + }
54411 + state = m[k];
54412 + if (state.t !== type && !(type === 1 /* Type.EXPLICIT */ && state.t === 3 /* Type.ARRAY_DOTTED */)) {
54413 + // Bad key type!
54414 + return null;
54415 + }
54416 + if (type === 2 /* Type.ARRAY */) {
54417 + if (!state.d) {
54418 + state.d = true;
54419 + t[k] = [];
54420 + }
54421 + t[k].push(t = {});
54422 + state.c[state.i++] = (state = { t: 1 /* Type.EXPLICIT */, d: false, i: 0, c: {} });
54423 + }
54424 + if (state.d) {
54425 + // Redefining a table!
54426 + return null;
54427 + }
54428 + state.d = true;
54429 + if (type === 1 /* Type.EXPLICIT */) {
54430 + t = hasOwn ? t[k] : (t[k] = {});
54431 + }
54432 + else if (type === 0 /* Type.DOTTED */ && hasOwn) {
54433 + return null;
54434 + }
54435 + return [k, t, state.c];
54436 +}
54437 +function parse_parse(toml, { maxDepth = 1000, integersAsBigInt } = {}) {
54438 + let res = {};
54439 + let meta = {};
54440 + let tbl = res;
54441 + let m = meta;
54442 + for (let ptr = skipVoid(toml, 0); ptr < toml.length;) {
54443 + if (toml[ptr] === '[') {
54444 + let isTableArray = toml[++ptr] === '[';
54445 + let k = parseKey(toml, ptr += +isTableArray, ']');
54446 + if (isTableArray) {
54447 + if (toml[k[1] - 1] !== ']') {
54448 + throw new TomlError('expected end of table declaration', {
54449 + toml: toml,
54450 + ptr: k[1] - 1,
54451 + });
54452 + }
54453 + k[1]++;
54454 + }
54455 + let p = peekTable(k[0], res, meta, isTableArray ? 2 /* Type.ARRAY */ : 1 /* Type.EXPLICIT */);
54456 + if (!p) {
54457 + throw new TomlError('trying to redefine an already defined table or value', {
54458 + toml: toml,
54459 + ptr: ptr,
54460 + });
54461 + }
54462 + m = p[2];
54463 + tbl = p[1];
54464 + ptr = k[1];
54465 + }
54466 + else {
54467 + let k = parseKey(toml, ptr);
54468 + let p = peekTable(k[0], tbl, m, 0 /* Type.DOTTED */);
54469 + if (!p) {
54470 + throw new TomlError('trying to redefine an already defined table or value', {
54471 + toml: toml,
54472 + ptr: ptr,
54473 + });
54474 + }
54475 + let v = extractValue(toml, k[1], void 0, maxDepth, integersAsBigInt);
54476 + p[1][p[0]] = v[0];
54477 + ptr = v[1];
54478 + }
54479 + ptr = skipVoid(toml, ptr, true);
54480 + if (toml[ptr] && toml[ptr] !== '\n' && toml[ptr] !== '\r') {
54481 + throw new TomlError('each key-value declaration must be followed by an end-of-line', {
54482 + toml: toml,
54483 + ptr: ptr
54484 + });
54485 + }
54486 + ptr = skipVoid(toml, ptr);
54487 + }
54488 + return res;
54489 +}
54490 +
54491 +;// CONCATENATED MODULE: ./node_modules/smol-toml/dist/stringify.js
54492 +/*!
54493 + * Copyright (c) Squirrel Chat et al., All rights reserved.
54494 + * SPDX-License-Identifier: BSD-3-Clause
54495 + *
54496 + * Redistribution and use in source and binary forms, with or without
54497 + * modification, are permitted provided that the following conditions are met:
54498 + *
54499 + * 1. Redistributions of source code must retain the above copyright notice, this
54500 + * list of conditions and the following disclaimer.
54501 + * 2. Redistributions in binary form must reproduce the above copyright notice,
54502 + * this list of conditions and the following disclaimer in the
54503 + * documentation and/or other materials provided with the distribution.
54504 + * 3. Neither the name of the copyright holder nor the names of its contributors
54505 + * may be used to endorse or promote products derived from this software without
54506 + * specific prior written permission.
54507 + *
54508 + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
54509 + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
54510 + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
54511 + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
54512 + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
54513 + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
54514 + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
54515 + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
54516 + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
54517 + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
54518 + */
54519 +let BARE_KEY = /^[a-z0-9-_]+$/i;
54520 +function extendedTypeOf(obj) {
54521 + let type = typeof obj;
54522 + if (type === 'object') {
54523 + if (Array.isArray(obj))
54524 + return 'array';
54525 + if (obj instanceof Date)
54526 + return 'date';
54527 + }
54528 + return type;
54529 +}
54530 +function isArrayOfTables(obj) {
54531 + for (let i = 0; i < obj.length; i++) {
54532 + if (extendedTypeOf(obj[i]) !== 'object')
54533 + return false;
54534 + }
54535 + return obj.length != 0;
54536 +}
54537 +function formatString(s) {
54538 + return JSON.stringify(s).replace(/\x7f/g, '\\u007f');
54539 +}
54540 +function stringifyValue(val, type, depth, numberAsFloat) {
54541 + if (depth === 0) {
54542 + throw new Error('Could not stringify the object: maximum object depth exceeded');
54543 + }
54544 + if (type === 'number') {
54545 + if (isNaN(val))
54546 + return 'nan';
54547 + if (val === Infinity)
54548 + return 'inf';
54549 + if (val === -Infinity)
54550 + return '-inf';
54551 + if (numberAsFloat && Number.isInteger(val))
54552 + return val.toFixed(1);
54553 + return val.toString();
54554 + }
54555 + if (type === 'bigint' || type === 'boolean') {
54556 + return val.toString();
54557 + }
54558 + if (type === 'string') {
54559 + return formatString(val);
54560 + }
54561 + if (type === 'date') {
54562 + if (isNaN(val.getTime())) {
54563 + throw new TypeError('cannot serialize invalid date');
54564 + }
54565 + return val.toISOString();
54566 + }
54567 + if (type === 'object') {
54568 + return stringifyInlineTable(val, depth, numberAsFloat);
54569 + }
54570 + if (type === 'array') {
54571 + return stringifyArray(val, depth, numberAsFloat);
54572 + }
54573 +}
54574 +function stringifyInlineTable(obj, depth, numberAsFloat) {
54575 + let keys = Object.keys(obj);
54576 + if (keys.length === 0)
54577 + return '{}';
54578 + let res = '{ ';
54579 + for (let i = 0; i < keys.length; i++) {
54580 + let k = keys[i];
54581 + if (i)
54582 + res += ', ';
54583 + res += BARE_KEY.test(k) ? k : formatString(k);
54584 + res += ' = ';
54585 + res += stringifyValue(obj[k], extendedTypeOf(obj[k]), depth - 1, numberAsFloat);
54586 + }
54587 + return res + ' }';
54588 +}
54589 +function stringifyArray(array, depth, numberAsFloat) {
54590 + if (array.length === 0)
54591 + return '[]';
54592 + let res = '[ ';
54593 + for (let i = 0; i < array.length; i++) {
54594 + if (i)
54595 + res += ', ';
54596 + if (array[i] === null || array[i] === void 0) {
54597 + throw new TypeError('arrays cannot contain null or undefined values');
54598 + }
54599 + res += stringifyValue(array[i], extendedTypeOf(array[i]), depth - 1, numberAsFloat);
54600 + }
54601 + return res + ' ]';
54602 +}
54603 +function stringifyArrayTable(array, key, depth, numberAsFloat) {
54604 + if (depth === 0) {
54605 + throw new Error('Could not stringify the object: maximum object depth exceeded');
54606 + }
54607 + let res = '';
54608 + for (let i = 0; i < array.length; i++) {
54609 + res += `${res && '\n'}[[${key}]]\n`;
54610 + res += stringifyTable(0, array[i], key, depth, numberAsFloat);
54611 + }
54612 + return res;
54613 +}
54614 +function stringifyTable(tableKey, obj, prefix, depth, numberAsFloat) {
54615 + if (depth === 0) {
54616 + throw new Error('Could not stringify the object: maximum object depth exceeded');
54617 + }
54618 + let preamble = '';
54619 + let tables = '';
54620 + let keys = Object.keys(obj);
54621 + for (let i = 0; i < keys.length; i++) {
54622 + let k = keys[i];
54623 + if (obj[k] !== null && obj[k] !== void 0) {
54624 + let type = extendedTypeOf(obj[k]);
54625 + if (type === 'symbol' || type === 'function') {
54626 + throw new TypeError(`cannot serialize values of type '${type}'`);
54627 + }
54628 + let key = BARE_KEY.test(k) ? k : formatString(k);
54629 + if (type === 'array' && isArrayOfTables(obj[k])) {
54630 + tables += (tables && '\n') + stringifyArrayTable(obj[k], prefix ? `${prefix}.${key}` : key, depth - 1, numberAsFloat);
54631 + }
54632 + else if (type === 'object') {
54633 + let tblKey = prefix ? `${prefix}.${key}` : key;
54634 + tables += (tables && '\n') + stringifyTable(tblKey, obj[k], tblKey, depth - 1, numberAsFloat);
54635 + }
54636 + else {
54637 + preamble += key;
54638 + preamble += ' = ';
54639 + preamble += stringifyValue(obj[k], type, depth, numberAsFloat);
54640 + preamble += '\n';
54641 + }
54642 + }
54643 + }
54644 + if (tableKey && (preamble || !tables)) // Create table only if necessary
54645 + preamble = preamble ? `[${tableKey}]\n${preamble}` : `[${tableKey}]`;
54646 + return preamble && tables
54647 + ? `${preamble}\n${tables}`
54648 + : preamble || tables;
54649 +}
54650 +function stringify(obj, { maxDepth = 1000, numbersAsFloat = false } = {}) {
54651 + if (extendedTypeOf(obj) !== 'object') {
54652 + throw new TypeError('stringify can only be called with an object');
54653 + }
54654 + let str = stringifyTable(0, obj, '', maxDepth, numbersAsFloat);
54655 + if (str[str.length - 1] !== '\n')
54656 + return str + '\n';
54657 + return str;
54658 +}
54659 +
54660 +;// CONCATENATED MODULE: ./node_modules/smol-toml/dist/index.js
54661 +/*!
54662 + * Copyright (c) Squirrel Chat et al., All rights reserved.
54663 + * SPDX-License-Identifier: BSD-3-Clause
54664 + *
54665 + * Redistribution and use in source and binary forms, with or without
54666 + * modification, are permitted provided that the following conditions are met:
54667 + *
54668 + * 1. Redistributions of source code must retain the above copyright notice, this
54669 + * list of conditions and the following disclaimer.
54670 + * 2. Redistributions in binary form must reproduce the above copyright notice,
54671 + * this list of conditions and the following disclaimer in the
54672 + * documentation and/or other materials provided with the distribution.
54673 + * 3. Neither the name of the copyright holder nor the names of its contributors
54674 + * may be used to endorse or promote products derived from this software without
54675 + * specific prior written permission.
54676 + *
54677 + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
54678 + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
54679 + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
54680 + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
54681 + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
54682 + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
54683 + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
54684 + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
54685 + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
54686 + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
54687 + */
54688 +
54689 +
54690 +
54691 +
54692 +/* harmony default export */ const dist = ({ parse: parse_parse, stringify: stringify, TomlDate: TomlDate, TomlError: TomlError });
54693 +
54694 +
57633 54695 ;// CONCATENATED MODULE: ./src/setup-beam.js
57634 54696
57635 54697
@@ -58469,7 +55531,7 @@ function parseToolVersionsFile(versionFilePath) {
58469 55531 function parseMiseTomlFile(versionFilePath) {
58470 55532 const appVersions = new Map()
58471 55533 const miseToml = external_node_fs_namespaceObject.readFileSync(versionFilePath, 'utf8')
58472 − const miseTomlParsed = toml.parse(miseToml)
55534 + const miseTomlParsed = dist.parse(miseToml)
58473 55535 for (const app in miseTomlParsed.tools) {
58474 55536 if (APPS.includes(app)) {
58475 55537 const appVersion = miseTomlParsed.tools[app]
modified package-lock.json
+1 −8
@@ -13,7 +13,7 @@
13 13 "csv-parse": "6.2.1",
14 14 "lodash": "4.17.23",
15 15 "semver": "7.7.4",
16 − "toml": "3.0.0"
16 + "smol-toml": "1.6.1"
17 17 },
18 18 "devDependencies": {
19 19 "@eslint/js": "10.0.1",
@@ -3315,7 +3315,6 @@
3315 3315 "version": "1.6.1",
3316 3316 "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.6.1.tgz",
3317 3317 "integrity": "sha512-dWUG8F5sIIARXih1DTaQAX4SsiTXhInKf1buxdY9DIg4ZYPZK5nGM1VRIYmEbDbsHt7USo99xSLFu5Q1IqTmsg==",
3318 − "dev": true,
3319 3318 "license": "BSD-3-Clause",
3320 3319 "engines": {
3321 3320 "node": ">= 18"
@@ -3531,12 +3530,6 @@
3531 3530 "url": "https://github.com/sponsors/Borewit"
3532 3531 }
3533 3532 },
3534 − "node_modules/toml": {
3535 − "version": "3.0.0",
3536 − "resolved": "https://registry.npmjs.org/toml/-/toml-3.0.0.tgz",
3537 − "integrity": "sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==",
3538 − "license": "MIT"
3539 − },
3540 3533 "node_modules/tslib": {
3541 3534 "version": "2.8.1",
3542 3535 "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
modified package.json
+1 −1
@@ -23,7 +23,7 @@
23 23 "csv-parse": "6.2.1",
24 24 "lodash": "4.17.23",
25 25 "semver": "7.7.4",
26 − "toml": "3.0.0"
26 + "smol-toml": "1.6.1"
27 27 },
28 28 "devDependencies": {
29 29 "@eslint/js": "10.0.1",
modified src/setup-beam.js
+1 −1
@@ -8,7 +8,7 @@ import * as tc from '@actions/tool-cache'
8 8 import * as semver from 'semver'
9 9 import * as csv from 'csv-parse/sync'
10 10 import _ from 'lodash'
11 −import toml from 'toml'
11 +import toml from 'smol-toml'
12 12
13 13 const __dirname = path.dirname(fileURLToPath(import.meta.url))
14 14
modified test/setup-beam.test.js
+3 −1
@@ -1040,7 +1040,9 @@ describe('mise.toml file', () => {
1040 1040 "erlang" = "${erlang}"
1041 1041 elixir = { version = "${elixir}", postinstall="mix deps.get" } # comment, with space and ref:
1042 1042 "not-gleam" = 0.23 # not picked up
1043 −"gleam" = "${gleam}" \n`
1043 +"gleam" = "${gleam}"
1044 +[env]
1045 +_.file = ".env"\n`
1044 1046 const filename = 'test/mise.toml'
1045 1047 if (process.platform === 'win32') {
1046 1048 // Force \r\n to test in Windows

Parents: 92dab89