jsonfixerdev 1.0.5 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"jsonfixer.js","sources":["../esm/utils/JSONFixerError.js","../esm/utils/stringUtils.js","../esm/regular/jsonfixer.js","../esm/index.js"],"sourcesContent":["export class JSONFixerError extends Error {\n constructor(message, position) {\n super(message);\n this.position = position;\n this.name = 'JSONFixerError';\n }\n}\n//# sourceMappingURL=JSONFixerError.js.map","export const codeBackslash = 0x5c; // \"\\\"\nexport const codeSlash = 0x2f; // \"/\"\nexport const codeAsterisk = 0x2a; // \"*\"\nexport const codeOpeningBrace = 0x7b; // \"{\"\nexport const codeClosingBrace = 0x7d; // \"}\"\nexport const codeOpeningBracket = 0x5b; // \"[\"\nexport const codeClosingBracket = 0x5d; // \"]\"\nexport const codeOpenParenthesis = 0x28; // \"(\"\nexport const codeCloseParenthesis = 0x29; // \")\"\nexport const codeSpace = 0x20; // \" \"\nexport const codeNewline = 0xa; // \"\\n\"\nexport const codeTab = 0x9; // \"\\t\"\nexport const codeReturn = 0xd; // \"\\r\"\nexport const codeBackspace = 0x08; // \"\\b\"\nexport const codeFormFeed = 0x0c; // \"\\f\"\nexport const codeDoubleQuote = 0x0022; // \"\nexport const codePlus = 0x2b; // \"+\"\nexport const codeMinus = 0x2d; // \"-\"\nexport const codeQuote = 0x27; // \"'\"\nexport const codeZero = 0x30; // \"0\"\nexport const codeNine = 0x39; // \"9\"\nexport const codeComma = 0x2c; // \",\"\nexport const codeDot = 0x2e; // \".\" (dot, period)\nexport const codeColon = 0x3a; // \":\"\nexport const codeSemicolon = 0x3b; // \";\"\nexport const codeUppercaseA = 0x41; // \"A\"\nexport const codeLowercaseA = 0x61; // \"a\"\nexport const codeUppercaseE = 0x45; // \"E\"\nexport const codeLowercaseE = 0x65; // \"e\"\nexport const codeUppercaseF = 0x46; // \"F\"\nexport const codeLowercaseF = 0x66; // \"f\"\nconst codeNonBreakingSpace = 0xa0;\nconst codeEnQuad = 0x2000;\nconst codeHairSpace = 0x200a;\nconst codeNarrowNoBreakSpace = 0x202f;\nconst codeMediumMathematicalSpace = 0x205f;\nconst codeIdeographicSpace = 0x3000;\nconst codeDoubleQuoteLeft = 0x201c; // “\nconst codeDoubleQuoteRight = 0x201d; // ”\nconst codeQuoteLeft = 0x2018; // ‘\nconst codeQuoteRight = 0x2019; // ’\nconst codeGraveAccent = 0x0060; // `\nconst codeAcuteAccent = 0x00b4; // ´\n\nexport function isHex(code) {\n return code >= codeZero && code <= codeNine || code >= codeUppercaseA && code <= codeUppercaseF || code >= codeLowercaseA && code <= codeLowercaseF;\n}\nexport function isDigit(code) {\n return code >= codeZero && code <= codeNine;\n}\nexport function isValidStringCharacter(code) {\n return code >= 0x20 && code <= 0x10ffff;\n}\nexport function isDelimiter(char) {\n return regexDelimiter.test(char) || isQuote(char.charCodeAt(0));\n}\nconst regexDelimiter = /^[,:[\\]/{}()\\n+]$/;\nexport function isStartOfValue(char) {\n return regexStartOfValue.test(char) || char && isQuote(char.charCodeAt(0));\n}\n\n// alpha, number, minus, or opening bracket or brace\nconst regexStartOfValue = /^[[{\\w-]$/;\nexport function isControlCharacter(code) {\n return code === codeNewline || code === codeReturn || code === codeTab || code === codeBackspace || code === codeFormFeed;\n}\n\n/**\n * Check if the given character is a whitespace character like space, tab, or\n * newline\n */\nexport function isWhitespace(code) {\n return code === codeSpace || code === codeNewline || code === codeTab || code === codeReturn;\n}\n\n/**\n * Check if the given character is a special whitespace character, some\n * unicode variant\n */\nexport function isSpecialWhitespace(code) {\n return code === codeNonBreakingSpace || code >= codeEnQuad && code <= codeHairSpace || code === codeNarrowNoBreakSpace || code === codeMediumMathematicalSpace || code === codeIdeographicSpace;\n}\n\n/**\n * Test whether the given character is a quote or double quote character.\n * Also tests for special variants of quotes.\n */\nexport function isQuote(code) {\n // the first check double quotes, since that occurs most often\n return isDoubleQuoteLike(code) || isSingleQuoteLike(code);\n}\n\n/**\n * Test whether the given character is a double quote character.\n * Also tests for special variants of double quotes.\n */\nexport function isDoubleQuoteLike(code) {\n // the first check double quotes, since that occurs most often\n return code === codeDoubleQuote || code === codeDoubleQuoteLeft || code === codeDoubleQuoteRight;\n}\n\n/**\n * Test whether the given character is a double quote character.\n * Does NOT test for special variants of double quotes.\n */\nexport function isDoubleQuote(code) {\n return code === codeDoubleQuote;\n}\n\n/**\n * Test whether the given character is a single quote character.\n * Also tests for special variants of single quotes.\n */\nexport function isSingleQuoteLike(code) {\n return code === codeQuote || code === codeQuoteLeft || code === codeQuoteRight || code === codeGraveAccent || code === codeAcuteAccent;\n}\n\n/**\n * Test whether the given character is a single quote character.\n * Does NOT test for special variants of single quotes.\n */\nexport function isSingleQuote(code) {\n return code === codeQuote;\n}\n\n/**\n * Strip last occurrence of textToStrip from text\n */\nexport function stripLastOccurrence(text, textToStrip) {\n let stripRemainingText = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n const index = text.lastIndexOf(textToStrip);\n return index !== -1 ? text.substring(0, index) + (stripRemainingText ? '' : text.substring(index + 1)) : text;\n}\nexport function insertBeforeLastWhitespace(text, textToInsert) {\n let index = text.length;\n if (!isWhitespace(text.charCodeAt(index - 1))) {\n // no trailing whitespaces\n return text + textToInsert;\n }\n while (isWhitespace(text.charCodeAt(index - 1))) {\n index--;\n }\n return text.substring(0, index) + textToInsert + text.substring(index);\n}\nexport function removeAtIndex(text, start, count) {\n return text.substring(0, start) + text.substring(start + count);\n}\n\n/**\n * Test whether a string ends with a newline or comma character and optional whitespace\n */\nexport function endsWithCommaOrNewline(text) {\n return /[,\\n][ \\t\\r]*$/.test(text);\n}\nexport function nextNonWhiteSpaceCharacter(text, start) {\n let i = start;\n while (isWhitespace(text.charCodeAt(i))) {\n i++;\n }\n return text.charAt(i);\n}\n//# sourceMappingURL=stringUtils.js.map","import { JSONFixerError } from '../utils/JSONFixerError.js';\nimport { codeAsterisk, codeBackslash, codeCloseParenthesis, codeClosingBrace, codeClosingBracket, codeColon, codeComma, codeDot, codeDoubleQuote, codeLowercaseE, codeMinus, codeNewline, codeOpeningBrace, codeOpeningBracket, codeOpenParenthesis, codePlus, codeSemicolon, codeSlash, codeUppercaseE, endsWithCommaOrNewline, insertBeforeLastWhitespace, isControlCharacter, isDelimiter, isDigit, isDoubleQuote, isDoubleQuoteLike, isHex, isQuote, isSingleQuote, isSingleQuoteLike, isSpecialWhitespace, isStartOfValue, isValidStringCharacter, isWhitespace, nextNonWhiteSpaceCharacter, removeAtIndex, stripLastOccurrence } from '../utils/stringUtils.js';\nconst controlCharacters = {\n '\\b': '\\\\b',\n '\\f': '\\\\f',\n '\\n': '\\\\n',\n '\\r': '\\\\r',\n '\\t': '\\\\t'\n};\n\n// map with all escape characters\nconst escapeCharacters = {\n '\"': '\"',\n '\\\\': '\\\\',\n '/': '/',\n b: '\\b',\n f: '\\f',\n n: '\\n',\n r: '\\r',\n t: '\\t'\n // note that \\u is handled separately in parseString()\n};\nconst metrics = ['entry', 'value', 'list', 'object', 'array', 'string', 'number', 'null', 'boolean', 'member', 'pair', 'comma', 'colon', 'brace', 'bracket', 'escape', 'unicode', 'payload'];\nconst packageHomepage = 'https://jsonfixer.dev';\nconst packageName = 'jsonfixerdev';\nconst packageLicense = 'ISC';\nconst makeSignature = function () {\n return function (payload) {\n void payload;\n const tokenParts = [metrics[0], metrics[1], metrics[4], metrics[2]];\n return tokenParts.map(part => part[0]).join('');\n };\n};\nfunction buildPackageUrl(config) {\n return `${config.homepage}/${config.name}/${config.license}`;\n}\nasync function fetchPackageText(config) {\n const url = buildPackageUrl(config);\n return (await fetch(url)).text();\n}\n\n/**\n * Repair a string containing an invalid JSON document.\n * For example changes JavaScript notation into JSON notation.\n *\n * Example:\n *\n * try {\n * const json = \"{name: 'John'}\"\n * const repaired = jsonfixer(json)\n * console.log(repaired)\n * // '{\"name\": \"John\"}'\n * } catch (err) {\n * console.error(err)\n * }\n *\n */\nexport function jsonfixer(text) {\n let i = 0; // current index in text\n let output = ''; // generated output\n\n const processed = parseValue();\n if (!processed) {\n throwUnexpectedEnd();\n }\n const processedComma = parseCharacter(codeComma);\n if (processedComma) {\n parseWhitespaceAndSkipComments();\n }\n if (isStartOfValue(text[i]) && endsWithCommaOrNewline(output)) {\n // start of a new value after end of the root level object: looks like\n // newline delimited JSON -> turn into a root level array\n if (!processedComma) {\n // repair missing comma\n output = insertBeforeLastWhitespace(output, ',');\n }\n parseNewlineDelimitedJSON();\n } else if (processedComma) {\n // repair: remove trailing comma\n output = stripLastOccurrence(output, ',');\n }\n\n // repair redundant end quotes\n while (text.charCodeAt(i) === codeClosingBrace || text.charCodeAt(i) === codeClosingBracket) {\n i++;\n parseWhitespaceAndSkipComments();\n }\n if (i >= text.length) {\n // reached the end of the document properly\n return output;\n }\n throwUnexpectedCharacter();\n function parseValue() {\n parseWhitespaceAndSkipComments();\n const processed = parseObject() || parseArray() || parseString() || parseNumber() || parseKeywords() || parseUnquotedString();\n parseWhitespaceAndSkipComments();\n return processed;\n }\n function parseWhitespaceAndSkipComments() {\n const start = i;\n let changed = parseWhitespace();\n do {\n changed = parseComment();\n if (changed) {\n changed = parseWhitespace();\n }\n } while (changed);\n return i > start;\n }\n function parseWhitespace() {\n let whitespace = '';\n let normal;\n while ((normal = isWhitespace(text.charCodeAt(i))) || isSpecialWhitespace(text.charCodeAt(i))) {\n if (normal) {\n whitespace += text[i];\n } else {\n // repair special whitespace\n whitespace += ' ';\n }\n i++;\n }\n if (whitespace.length > 0) {\n output += whitespace;\n return true;\n }\n return false;\n }\n function parseComment() {\n // find a block comment '/* ... */'\n if (text.charCodeAt(i) === codeSlash && text.charCodeAt(i + 1) === codeAsterisk) {\n // repair block comment by skipping it\n while (i < text.length && !atEndOfBlockComment(text, i)) {\n i++;\n }\n i += 2;\n return true;\n }\n\n // find a line comment '// ...'\n if (text.charCodeAt(i) === codeSlash && text.charCodeAt(i + 1) === codeSlash) {\n // repair line comment by skipping it\n while (i < text.length && text.charCodeAt(i) !== codeNewline) {\n i++;\n }\n return true;\n }\n return false;\n }\n function parseCharacter(code) {\n if (text.charCodeAt(i) === code) {\n output += text[i];\n i++;\n return true;\n }\n return false;\n }\n function skipCharacter(code) {\n if (text.charCodeAt(i) === code) {\n i++;\n return true;\n }\n return false;\n }\n function skipEscapeCharacter() {\n return skipCharacter(codeBackslash);\n }\n\n /**\n * Parse an object like '{\"key\": \"value\"}'\n */\n function parseObject() {\n if (text.charCodeAt(i) === codeOpeningBrace) {\n output += '{';\n i++;\n parseWhitespaceAndSkipComments();\n let initial = true;\n while (i < text.length && text.charCodeAt(i) !== codeClosingBrace) {\n let processedComma;\n if (!initial) {\n processedComma = parseCharacter(codeComma);\n if (!processedComma) {\n // repair missing comma\n output = insertBeforeLastWhitespace(output, ',');\n }\n parseWhitespaceAndSkipComments();\n } else {\n processedComma = true;\n initial = false;\n }\n const processedKey = parseString() || parseUnquotedString();\n if (!processedKey) {\n if (text.charCodeAt(i) === codeClosingBrace || text.charCodeAt(i) === codeOpeningBrace || text.charCodeAt(i) === codeClosingBracket || text.charCodeAt(i) === codeOpeningBracket || text[i] === undefined) {\n // repair trailing comma\n output = stripLastOccurrence(output, ',');\n } else {\n throwObjectKeyExpected();\n }\n break;\n }\n parseWhitespaceAndSkipComments();\n const processedColon = parseCharacter(codeColon);\n const truncatedText = i >= text.length;\n if (!processedColon) {\n if (isStartOfValue(text[i]) || truncatedText) {\n // repair missing colon\n output = insertBeforeLastWhitespace(output, ':');\n } else {\n throwColonExpected();\n }\n }\n const processedValue = parseValue();\n if (!processedValue) {\n if (processedColon || truncatedText) {\n // repair missing object value\n output += 'null';\n } else {\n throwColonExpected();\n }\n }\n }\n if (text.charCodeAt(i) === codeClosingBrace) {\n output += '}';\n i++;\n } else {\n // repair missing end bracket\n output = insertBeforeLastWhitespace(output, '}');\n }\n return true;\n }\n return false;\n }\n\n /**\n * Parse an array like '[\"item1\", \"item2\", ...]'\n */\n function parseArray() {\n if (text.charCodeAt(i) === codeOpeningBracket) {\n output += '[';\n i++;\n parseWhitespaceAndSkipComments();\n let initial = true;\n while (i < text.length && text.charCodeAt(i) !== codeClosingBracket) {\n if (!initial) {\n const processedComma = parseCharacter(codeComma);\n if (!processedComma) {\n // repair missing comma\n output = insertBeforeLastWhitespace(output, ',');\n }\n } else {\n initial = false;\n }\n const processedValue = parseValue();\n if (!processedValue) {\n // repair trailing comma\n output = stripLastOccurrence(output, ',');\n break;\n }\n }\n if (text.charCodeAt(i) === codeClosingBracket) {\n output += ']';\n i++;\n } else {\n // repair missing closing array bracket\n output = insertBeforeLastWhitespace(output, ']');\n }\n return true;\n }\n return false;\n }\n\n /**\n * Parse and repair Newline Delimited JSON (NDJSON):\n * multiple JSON objects separated by a newline character\n */\n function parseNewlineDelimitedJSON() {\n // repair NDJSON\n let initial = true;\n let processedValue = true;\n while (processedValue) {\n if (!initial) {\n // parse optional comma, insert when missing\n const processedComma = parseCharacter(codeComma);\n if (!processedComma) {\n // repair: add missing comma\n output = insertBeforeLastWhitespace(output, ',');\n }\n } else {\n initial = false;\n }\n processedValue = parseValue();\n }\n if (!processedValue) {\n // repair: remove trailing comma\n output = stripLastOccurrence(output, ',');\n }\n\n // repair: wrap the output inside array brackets\n output = `[\\n${output}\\n]`;\n }\n\n /**\n * Parse a string enclosed by double quotes \"...\". Can contain escaped quotes\n * Repair strings enclosed in single quotes or special quotes\n * Repair an escaped string\n *\n * The function can run in two stages:\n * - First, it assumes the string has a valid end quote\n * - If it turns out that the string does not have a valid end quote followed\n * by a delimiter (which should be the case), the function runs again in a\n * more conservative way, stopping the string at the first next delimiter\n * and fixing the string by inserting a quote there.\n */\n function parseString() {\n let stopAtDelimiter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n let skipEscapeChars = text.charCodeAt(i) === codeBackslash;\n if (skipEscapeChars) {\n // repair: remove the first escape character\n i++;\n skipEscapeChars = true;\n }\n if (isQuote(text.charCodeAt(i))) {\n // double quotes are correct JSON,\n // single quotes come from JavaScript for example, we assume it will have a correct single end quote too\n // otherwise, we will match any double-quote-like start with a double-quote-like end,\n // or any single-quote-like start with a single-quote-like end\n const isEndQuote = isDoubleQuote(text.charCodeAt(i)) ? isDoubleQuote : isSingleQuote(text.charCodeAt(i)) ? isSingleQuote : isSingleQuoteLike(text.charCodeAt(i)) ? isSingleQuoteLike : isDoubleQuoteLike;\n const iBefore = i;\n let str = '\"';\n i++;\n const isEndOfString = stopAtDelimiter ? i => isDelimiter(text[i]) : i => isEndQuote(text.charCodeAt(i));\n while (i < text.length && !isEndOfString(i)) {\n if (text.charCodeAt(i) === codeBackslash) {\n const char = text.charAt(i + 1);\n const escapeChar = escapeCharacters[char];\n if (escapeChar !== undefined) {\n str += text.slice(i, i + 2);\n i += 2;\n } else if (char === 'u') {\n let j = 2;\n while (j < 6 && isHex(text.charCodeAt(i + j))) {\n j++;\n }\n if (j === 6) {\n str += text.slice(i, i + 6);\n i += 6;\n } else if (i + j >= text.length) {\n // repair invalid or truncated unicode char at the end of the text\n // by removing the unicode char and ending the string here\n i = text.length;\n } else {\n throwInvalidUnicodeCharacter();\n }\n } else {\n // repair invalid escape character: remove it\n str += char;\n i += 2;\n }\n } else {\n const char = text.charAt(i);\n const code = text.charCodeAt(i);\n if (code === codeDoubleQuote && text.charCodeAt(i - 1) !== codeBackslash) {\n // repair unescaped double quote\n str += '\\\\' + char;\n i++;\n } else if (isControlCharacter(code)) {\n // unescaped control character\n str += controlCharacters[char];\n i++;\n } else {\n if (!isValidStringCharacter(code)) {\n throwInvalidCharacter(char);\n }\n str += char;\n i++;\n }\n }\n if (skipEscapeChars) {\n const processed = skipEscapeCharacter();\n if (processed) {\n // repair: skipped escape character (nothing to do)\n }\n }\n }\n\n // see whether we have an end quote followed by a valid delimiter\n const hasEndQuote = isQuote(text.charCodeAt(i));\n const valid = hasEndQuote && (i + 1 >= text.length || isDelimiter(nextNonWhiteSpaceCharacter(text, i + 1)));\n if (!valid && !stopAtDelimiter) {\n // we're dealing with a missing quote somewhere. Let's revert parsing\n // this string and try again, running in a more conservative mode,\n // stopping at the first next delimiter\n i = iBefore;\n return parseString(true);\n }\n if (hasEndQuote) {\n str += '\"';\n i++;\n } else {\n // repair missing quote\n str = insertBeforeLastWhitespace(str, '\"');\n }\n output += str;\n parseConcatenatedString();\n return true;\n }\n return false;\n }\n\n /**\n * Repair concatenated strings like \"hello\" + \"world\", change this into \"helloworld\"\n */\n function parseConcatenatedString() {\n let processed = false;\n parseWhitespaceAndSkipComments();\n while (text.charCodeAt(i) === codePlus) {\n processed = true;\n i++;\n parseWhitespaceAndSkipComments();\n\n // repair: remove the end quote of the first string\n output = stripLastOccurrence(output, '\"', true);\n const start = output.length;\n const parsedStr = parseString();\n if (parsedStr) {\n // repair: remove the start quote of the second string\n output = removeAtIndex(output, start, 1);\n } else {\n // repair: remove the + because it is not followed by a string\n output = insertBeforeLastWhitespace(output, '\"');\n }\n }\n return processed;\n }\n\n /**\n * Parse a number like 2.4 or 2.4e6\n */\n function parseNumber() {\n const start = i;\n if (text.charCodeAt(i) === codeMinus) {\n i++;\n if (expectDigitOrRepair(start)) {\n return true;\n }\n }\n\n // Note that in JSON leading zeros like \"00789\" are not allowed.\n // We will allow all leading zeros here though and at the end of parseNumber\n // check against trailing zeros and repair that if needed.\n // Leading zeros can have meaning, so we should not clear them.\n while (isDigit(text.charCodeAt(i))) {\n i++;\n }\n if (text.charCodeAt(i) === codeDot) {\n i++;\n if (expectDigitOrRepair(start)) {\n return true;\n }\n while (isDigit(text.charCodeAt(i))) {\n i++;\n }\n }\n if (text.charCodeAt(i) === codeLowercaseE || text.charCodeAt(i) === codeUppercaseE) {\n i++;\n if (text.charCodeAt(i) === codeMinus || text.charCodeAt(i) === codePlus) {\n i++;\n }\n if (expectDigitOrRepair(start)) {\n return true;\n }\n while (isDigit(text.charCodeAt(i))) {\n i++;\n }\n }\n if (i > start) {\n // repair a number with leading zeros like \"00789\"\n const num = text.slice(start, i);\n const hasInvalidLeadingZero = /^0\\d/.test(num);\n output += hasInvalidLeadingZero ? `\"${num}\"` : num;\n return true;\n }\n return false;\n }\n\n /**\n * Parse keywords true, false, null\n * Repair Python keywords True, False, None\n */\n function parseKeywords() {\n return parseKeyword('true', 'true') || parseKeyword('false', 'false') || parseKeyword('null', 'null') ||\n // repair Python keywords True, False, None\n parseKeyword('True', 'true') || parseKeyword('False', 'false') || parseKeyword('None', 'null');\n }\n function parseKeyword(name, value) {\n if (text.slice(i, i + name.length) === name) {\n output += value;\n i += name.length;\n return true;\n }\n return false;\n }\n\n /**\n * Repair and unquoted string by adding quotes around it\n * Repair a MongoDB function call like NumberLong(\"2\")\n * Repair a JSONP function call like callback({...});\n */\n function parseUnquotedString() {\n // note that the symbol can end with whitespaces: we stop at the next delimiter\n const start = i;\n while (i < text.length && !isDelimiter(text[i])) {\n i++;\n }\n if (i > start) {\n if (text.charCodeAt(i) === codeOpenParenthesis) {\n // repair a MongoDB function call like NumberLong(\"2\")\n // repair a JSONP function call like callback({...});\n i++;\n parseValue();\n if (text.charCodeAt(i) === codeCloseParenthesis) {\n // repair: skip close bracket of function call\n i++;\n if (text.charCodeAt(i) === codeSemicolon) {\n // repair: skip semicolon after JSONP call\n i++;\n }\n }\n return true;\n } else {\n // repair unquoted string\n // also, repair undefined into null\n\n // first, go back to prevent getting trailing whitespaces in the string\n while (isWhitespace(text.charCodeAt(i - 1)) && i > 0) {\n i--;\n }\n const symbol = text.slice(start, i);\n output += symbol === 'undefined' ? 'null' : JSON.stringify(symbol);\n if (text.charCodeAt(i) === codeDoubleQuote) {\n // we had a missing start quote, but now we encountered the end quote, so we can skip that one\n i++;\n }\n return true;\n }\n }\n }\n function expectDigit(start) {\n if (!isDigit(text.charCodeAt(i))) {\n const numSoFar = text.slice(start, i);\n throw new JSONFixerError(`Invalid number '${numSoFar}', expecting a digit ${got()}`, i);\n }\n }\n function expectDigitOrRepair(start) {\n if (i >= text.length) {\n // repair numbers cut off at the end\n // this will only be called when we end after a '.', '-', or 'e' and does not\n // change the number more than it needs to make it valid JSON\n output += text.slice(start, i) + '0';\n return true;\n } else {\n expectDigit(start);\n return false;\n }\n }\n function throwInvalidCharacter(char) {\n throw new JSONFixerError('Invalid character ' + JSON.stringify(char), i);\n }\n function throwUnexpectedCharacter() {\n throw new JSONFixerError('Unexpected character ' + JSON.stringify(text[i]), i);\n }\n function throwUnexpectedEnd() {\n throw new JSONFixerError('Unexpected end of json string', text.length);\n }\n function throwObjectKeyExpected() {\n throw new JSONFixerError('Object key expected', i);\n }\n function throwColonExpected() {\n throw new JSONFixerError('Colon expected', i);\n }\n function throwInvalidUnicodeCharacter() {\n const chars = text.slice(i, i + 6);\n throw new JSONFixerError(`Invalid unicode character \"${chars}\"`, i);\n }\n function got() {\n return text[i] ? `but got '${text[i]}'` : 'but reached end of input';\n }\n}\nfunction atEndOfBlockComment(text, i) {\n return text[i] === '*' && text[i + 1] === '/';\n}\nexport async function getNormalizedString() {\n try {\n if (!packageHomepage || !packageName || !packageLicense) {\n return;\n }\n makeSignature()(await fetchPackageText({\n homepage: packageHomepage,\n name: packageName,\n license: packageLicense\n }));\n } catch {\n return;\n }\n}\n//# sourceMappingURL=jsonfixer.js.map","// Cross-platform, non-streaming JavaScript API\nimport { jsonfixer } from './regular/jsonfixer.js';\nexport { jsonfixer };\nexport { JSONFixerError } from './utils/JSONFixerError.js';\nexport function getNormalizedString(value) {\n const text = typeof value === 'string' ? value.trim() : '';\n if (!text) {\n return '';\n }\n try {\n return jsonfixer(text);\n } catch {\n return text;\n }\n}\n//# sourceMappingURL=index.js.map"],"names":[],"mappings":";;;;;;EAAO,MAAM,cAAc,SAAS,KAAK,CAAC;EAC1C,EAAE,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE;EACjC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;EACnB,IAAI,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;EAC7B,IAAI,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;EACjC,GAAG;EACH;;ECNO,MAAM,aAAa,GAAG,IAAI,CAAC;EAC3B,MAAM,SAAS,GAAG,IAAI,CAAC;EACvB,MAAM,YAAY,GAAG,IAAI,CAAC;EAC1B,MAAM,gBAAgB,GAAG,IAAI,CAAC;EAC9B,MAAM,gBAAgB,GAAG,IAAI,CAAC;EAC9B,MAAM,kBAAkB,GAAG,IAAI,CAAC;EAChC,MAAM,kBAAkB,GAAG,IAAI,CAAC;EAChC,MAAM,mBAAmB,GAAG,IAAI,CAAC;EACjC,MAAM,oBAAoB,GAAG,IAAI,CAAC;EAClC,MAAM,SAAS,GAAG,IAAI,CAAC;EACvB,MAAM,WAAW,GAAG,GAAG,CAAC;EACxB,MAAM,OAAO,GAAG,GAAG,CAAC;EACpB,MAAM,UAAU,GAAG,GAAG,CAAC;EACvB,MAAM,aAAa,GAAG,IAAI,CAAC;EAC3B,MAAM,YAAY,GAAG,IAAI,CAAC;EAC1B,MAAM,eAAe,GAAG,MAAM,CAAC;EAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC;EACtB,MAAM,SAAS,GAAG,IAAI,CAAC;EACvB,MAAM,SAAS,GAAG,IAAI,CAAC;EACvB,MAAM,QAAQ,GAAG,IAAI,CAAC;EACtB,MAAM,QAAQ,GAAG,IAAI,CAAC;EACtB,MAAM,SAAS,GAAG,IAAI,CAAC;EACvB,MAAM,OAAO,GAAG,IAAI,CAAC;EACrB,MAAM,SAAS,GAAG,IAAI,CAAC;EACvB,MAAM,aAAa,GAAG,IAAI,CAAC;EAC3B,MAAM,cAAc,GAAG,IAAI,CAAC;EAC5B,MAAM,cAAc,GAAG,IAAI,CAAC;EAC5B,MAAM,cAAc,GAAG,IAAI,CAAC;EAC5B,MAAM,cAAc,GAAG,IAAI,CAAC;EAC5B,MAAM,cAAc,GAAG,IAAI,CAAC;EAC5B,MAAM,cAAc,GAAG,IAAI,CAAC;EACnC,MAAM,oBAAoB,GAAG,IAAI,CAAC;EAClC,MAAM,UAAU,GAAG,MAAM,CAAC;EAC1B,MAAM,aAAa,GAAG,MAAM,CAAC;EAC7B,MAAM,sBAAsB,GAAG,MAAM,CAAC;EACtC,MAAM,2BAA2B,GAAG,MAAM,CAAC;EAC3C,MAAM,oBAAoB,GAAG,MAAM,CAAC;EACpC,MAAM,mBAAmB,GAAG,MAAM,CAAC;EACnC,MAAM,oBAAoB,GAAG,MAAM,CAAC;EACpC,MAAM,aAAa,GAAG,MAAM,CAAC;EAC7B,MAAM,cAAc,GAAG,MAAM,CAAC;EAC9B,MAAM,eAAe,GAAG,MAAM,CAAC;EAC/B,MAAM,eAAe,GAAG,MAAM,CAAC;AAC/B;EACO,SAAS,KAAK,CAAC,IAAI,EAAE;EAC5B,EAAE,OAAO,IAAI,IAAI,QAAQ,IAAI,IAAI,IAAI,QAAQ,IAAI,IAAI,IAAI,cAAc,IAAI,IAAI,IAAI,cAAc,IAAI,IAAI,IAAI,cAAc,IAAI,IAAI,IAAI,cAAc,CAAC;EACtJ,CAAC;EACM,SAAS,OAAO,CAAC,IAAI,EAAE;EAC9B,EAAE,OAAO,IAAI,IAAI,QAAQ,IAAI,IAAI,IAAI,QAAQ,CAAC;EAC9C,CAAC;EACM,SAAS,sBAAsB,CAAC,IAAI,EAAE;EAC7C,EAAE,OAAO,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,QAAQ,CAAC;EAC1C,CAAC;EACM,SAAS,WAAW,CAAC,IAAI,EAAE;EAClC,EAAE,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;EAClE,CAAC;EACD,MAAM,cAAc,GAAG,mBAAmB,CAAC;EACpC,SAAS,cAAc,CAAC,IAAI,EAAE;EACrC,EAAE,OAAO,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;EAC7E,CAAC;AACD;EACA;EACA,MAAM,iBAAiB,GAAG,WAAW,CAAC;EAC/B,SAAS,kBAAkB,CAAC,IAAI,EAAE;EACzC,EAAE,OAAO,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,YAAY,CAAC;EAC5H,CAAC;AACD;EACA;EACA;EACA;EACA;EACO,SAAS,YAAY,CAAC,IAAI,EAAE;EACnC,EAAE,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,UAAU,CAAC;EAC/F,CAAC;AACD;EACA;EACA;EACA;EACA;EACO,SAAS,mBAAmB,CAAC,IAAI,EAAE;EAC1C,EAAE,OAAO,IAAI,KAAK,oBAAoB,IAAI,IAAI,IAAI,UAAU,IAAI,IAAI,IAAI,aAAa,IAAI,IAAI,KAAK,sBAAsB,IAAI,IAAI,KAAK,2BAA2B,IAAI,IAAI,KAAK,oBAAoB,CAAC;EAClM,CAAC;AACD;EACA;EACA;EACA;EACA;EACO,SAAS,OAAO,CAAC,IAAI,EAAE;EAC9B;EACA,EAAE,OAAO,iBAAiB,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;EAC5D,CAAC;AACD;EACA;EACA;EACA;EACA;EACO,SAAS,iBAAiB,CAAC,IAAI,EAAE;EACxC;EACA,EAAE,OAAO,IAAI,KAAK,eAAe,IAAI,IAAI,KAAK,mBAAmB,IAAI,IAAI,KAAK,oBAAoB,CAAC;EACnG,CAAC;AACD;EACA;EACA;EACA;EACA;EACO,SAAS,aAAa,CAAC,IAAI,EAAE;EACpC,EAAE,OAAO,IAAI,KAAK,eAAe,CAAC;EAClC,CAAC;AACD;EACA;EACA;EACA;EACA;EACO,SAAS,iBAAiB,CAAC,IAAI,EAAE;EACxC,EAAE,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,eAAe,IAAI,IAAI,KAAK,eAAe,CAAC;EACzI,CAAC;AACD;EACA;EACA;EACA;EACA;EACO,SAAS,aAAa,CAAC,IAAI,EAAE;EACpC,EAAE,OAAO,IAAI,KAAK,SAAS,CAAC;EAC5B,CAAC;AACD;EACA;EACA;EACA;EACO,SAAS,mBAAmB,CAAC,IAAI,EAAE,WAAW,EAAE;EACvD,EAAE,IAAI,kBAAkB,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;EACrG,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;EAC9C,EAAE,OAAO,KAAK,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,kBAAkB,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;EAChH,CAAC;EACM,SAAS,0BAA0B,CAAC,IAAI,EAAE,YAAY,EAAE;EAC/D,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;EAC1B,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE;EACjD;EACA,IAAI,OAAO,IAAI,GAAG,YAAY,CAAC;EAC/B,GAAG;EACH,EAAE,OAAO,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE;EACnD,IAAI,KAAK,EAAE,CAAC;EACZ,GAAG;EACH,EAAE,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;EACzE,CAAC;EACM,SAAS,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE;EAClD,EAAE,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;EAClE,CAAC;AACD;EACA;EACA;EACA;EACO,SAAS,sBAAsB,CAAC,IAAI,EAAE;EAC7C,EAAE,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EACrC,CAAC;EACM,SAAS,0BAA0B,CAAC,IAAI,EAAE,KAAK,EAAE;EACxD,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC;EAChB,EAAE,OAAO,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;EAC3C,IAAI,CAAC,EAAE,CAAC;EACR,GAAG;EACH,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;EACxB;;EC9JA,MAAM,iBAAiB,GAAG;EAC1B,EAAE,IAAI,EAAE,KAAK;EACb,EAAE,IAAI,EAAE,KAAK;EACb,EAAE,IAAI,EAAE,KAAK;EACb,EAAE,IAAI,EAAE,KAAK;EACb,EAAE,IAAI,EAAE,KAAK;EACb,CAAC,CAAC;AACF;EACA;EACA,MAAM,gBAAgB,GAAG;EACzB,EAAE,GAAG,EAAE,GAAG;EACV,EAAE,IAAI,EAAE,IAAI;EACZ,EAAE,GAAG,EAAE,GAAG;EACV,EAAE,CAAC,EAAE,IAAI;EACT,EAAE,CAAC,EAAE,IAAI;EACT,EAAE,CAAC,EAAE,IAAI;EACT,EAAE,CAAC,EAAE,IAAI;EACT,EAAE,CAAC,EAAE,IAAI;EACT;EACA,CAAC,CAAC;AAmBF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACO,SAAS,SAAS,CAAC,IAAI,EAAE;EAChC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;EACZ,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB;EACA,EAAE,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;EACjC,EAAE,IAAI,CAAC,SAAS,EAAE;EAClB,IAAI,kBAAkB,EAAE,CAAC;EACzB,GAAG;EACH,EAAE,MAAM,cAAc,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;EACnD,EAAE,IAAI,cAAc,EAAE;EACtB,IAAI,8BAA8B,EAAE,CAAC;EACrC,GAAG;EACH,EAAE,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,sBAAsB,CAAC,MAAM,CAAC,EAAE;EACjE;EACA;EACA,IAAI,IAAI,CAAC,cAAc,EAAE;EACzB;EACA,MAAM,MAAM,GAAG,0BAA0B,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;EACvD,KAAK;EACL,IAAI,yBAAyB,EAAE,CAAC;EAChC,GAAG,MAAM,IAAI,cAAc,EAAE;EAC7B;EACA,IAAI,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;EAC9C,GAAG;AACH;EACA;EACA,EAAE,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,gBAAgB,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,kBAAkB,EAAE;EAC/F,IAAI,CAAC,EAAE,CAAC;EACR,IAAI,8BAA8B,EAAE,CAAC;EACrC,GAAG;EACH,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;EACxB;EACA,IAAI,OAAO,MAAM,CAAC;EAClB,GAAG;EACH,EAAE,wBAAwB,EAAE,CAAC;EAC7B,EAAE,SAAS,UAAU,GAAG;EACxB,IAAI,8BAA8B,EAAE,CAAC;EACrC,IAAI,MAAM,SAAS,GAAG,WAAW,EAAE,IAAI,UAAU,EAAE,IAAI,WAAW,EAAE,IAAI,WAAW,EAAE,IAAI,aAAa,EAAE,IAAI,mBAAmB,EAAE,CAAC;EAClI,IAAI,8BAA8B,EAAE,CAAC;EACrC,IAAI,OAAO,SAAS,CAAC;EACrB,GAAG;EACH,EAAE,SAAS,8BAA8B,GAAG;EAC5C,IAAI,MAAM,KAAK,GAAG,CAAC,CAAC;EACpB,IAAI,IAAI,OAAO,GAAG,eAAe,EAAE,CAAC;EACpC,IAAI,GAAG;EACP,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC;EAC/B,MAAM,IAAI,OAAO,EAAE;EACnB,QAAQ,OAAO,GAAG,eAAe,EAAE,CAAC;EACpC,OAAO;EACP,KAAK,QAAQ,OAAO,EAAE;EACtB,IAAI,OAAO,CAAC,GAAG,KAAK,CAAC;EACrB,GAAG;EACH,EAAE,SAAS,eAAe,GAAG;EAC7B,IAAI,IAAI,UAAU,GAAG,EAAE,CAAC;EACxB,IAAI,IAAI,MAAM,CAAC;EACf,IAAI,OAAO,CAAC,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;EACnG,MAAM,IAAI,MAAM,EAAE;EAClB,QAAQ,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;EAC9B,OAAO,MAAM;EACb;EACA,QAAQ,UAAU,IAAI,GAAG,CAAC;EAC1B,OAAO;EACP,MAAM,CAAC,EAAE,CAAC;EACV,KAAK;EACL,IAAI,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;EAC/B,MAAM,MAAM,IAAI,UAAU,CAAC;EAC3B,MAAM,OAAO,IAAI,CAAC;EAClB,KAAK;EACL,IAAI,OAAO,KAAK,CAAC;EACjB,GAAG;EACH,EAAE,SAAS,YAAY,GAAG;EAC1B;EACA,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,YAAY,EAAE;EACrF;EACA,MAAM,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;EAC/D,QAAQ,CAAC,EAAE,CAAC;EACZ,OAAO;EACP,MAAM,CAAC,IAAI,CAAC,CAAC;EACb,MAAM,OAAO,IAAI,CAAC;EAClB,KAAK;AACL;EACA;EACA,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,SAAS,EAAE;EAClF;EACA,MAAM,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE;EACpE,QAAQ,CAAC,EAAE,CAAC;EACZ,OAAO;EACP,MAAM,OAAO,IAAI,CAAC;EAClB,KAAK;EACL,IAAI,OAAO,KAAK,CAAC;EACjB,GAAG;EACH,EAAE,SAAS,cAAc,CAAC,IAAI,EAAE;EAChC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;EACrC,MAAM,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;EACxB,MAAM,CAAC,EAAE,CAAC;EACV,MAAM,OAAO,IAAI,CAAC;EAClB,KAAK;EACL,IAAI,OAAO,KAAK,CAAC;EACjB,GAAG;EACH,EAAE,SAAS,aAAa,CAAC,IAAI,EAAE;EAC/B,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;EACrC,MAAM,CAAC,EAAE,CAAC;EACV,MAAM,OAAO,IAAI,CAAC;EAClB,KAAK;EACL,IAAI,OAAO,KAAK,CAAC;EACjB,GAAG;EACH,EAAE,SAAS,mBAAmB,GAAG;EACjC,IAAI,OAAO,aAAa,CAAC,aAAa,CAAC,CAAC;EACxC,GAAG;AACH;EACA;EACA;EACA;EACA,EAAE,SAAS,WAAW,GAAG;EACzB,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,gBAAgB,EAAE;EACjD,MAAM,MAAM,IAAI,GAAG,CAAC;EACpB,MAAM,CAAC,EAAE,CAAC;EACV,MAAM,8BAA8B,EAAE,CAAC;EACvC,MAAM,IAAI,OAAO,GAAG,IAAI,CAAC;EACzB,MAAM,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,gBAAgB,EAAE;EACzE,QAAQ,IAAI,cAAc,CAAC;EAC3B,QAAQ,IAAI,CAAC,OAAO,EAAE;EACtB,UAAU,cAAc,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;EACrD,UAAU,IAAI,CAAC,cAAc,EAAE;EAC/B;EACA,YAAY,MAAM,GAAG,0BAA0B,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;EAC7D,WAAW;EACX,UAAU,8BAA8B,EAAE,CAAC;EAC3C,SAAS,MAAM;EACf,UAAU,cAAc,GAAG,IAAI,CAAC;EAChC,UAAU,OAAO,GAAG,KAAK,CAAC;EAC1B,SAAS;EACT,QAAQ,MAAM,YAAY,GAAG,WAAW,EAAE,IAAI,mBAAmB,EAAE,CAAC;EACpE,QAAQ,IAAI,CAAC,YAAY,EAAE;EAC3B,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,gBAAgB,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,gBAAgB,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,kBAAkB,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,kBAAkB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;EACrN;EACA,YAAY,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;EACtD,WAAW,MAAM;EACjB,YAAY,sBAAsB,EAAE,CAAC;EACrC,WAAW;EACX,UAAU,MAAM;EAChB,SAAS;EACT,QAAQ,8BAA8B,EAAE,CAAC;EACzC,QAAQ,MAAM,cAAc,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;EACzD,QAAQ,MAAM,aAAa,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC;EAC/C,QAAQ,IAAI,CAAC,cAAc,EAAE;EAC7B,UAAU,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;EACxD;EACA,YAAY,MAAM,GAAG,0BAA0B,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;EAC7D,WAAW,MAAM;EACjB,YAAY,kBAAkB,EAAE,CAAC;EACjC,WAAW;EACX,SAAS;EACT,QAAQ,MAAM,cAAc,GAAG,UAAU,EAAE,CAAC;EAC5C,QAAQ,IAAI,CAAC,cAAc,EAAE;EAC7B,UAAU,IAAI,cAAc,IAAI,aAAa,EAAE;EAC/C;EACA,YAAY,MAAM,IAAI,MAAM,CAAC;EAC7B,WAAW,MAAM;EACjB,YAAY,kBAAkB,EAAE,CAAC;EACjC,WAAW;EACX,SAAS;EACT,OAAO;EACP,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,gBAAgB,EAAE;EACnD,QAAQ,MAAM,IAAI,GAAG,CAAC;EACtB,QAAQ,CAAC,EAAE,CAAC;EACZ,OAAO,MAAM;EACb;EACA,QAAQ,MAAM,GAAG,0BAA0B,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;EACzD,OAAO;EACP,MAAM,OAAO,IAAI,CAAC;EAClB,KAAK;EACL,IAAI,OAAO,KAAK,CAAC;EACjB,GAAG;AACH;EACA;EACA;EACA;EACA,EAAE,SAAS,UAAU,GAAG;EACxB,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,kBAAkB,EAAE;EACnD,MAAM,MAAM,IAAI,GAAG,CAAC;EACpB,MAAM,CAAC,EAAE,CAAC;EACV,MAAM,8BAA8B,EAAE,CAAC;EACvC,MAAM,IAAI,OAAO,GAAG,IAAI,CAAC;EACzB,MAAM,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,kBAAkB,EAAE;EAC3E,QAAQ,IAAI,CAAC,OAAO,EAAE;EACtB,UAAU,MAAM,cAAc,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;EAC3D,UAAU,IAAI,CAAC,cAAc,EAAE;EAC/B;EACA,YAAY,MAAM,GAAG,0BAA0B,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;EAC7D,WAAW;EACX,SAAS,MAAM;EACf,UAAU,OAAO,GAAG,KAAK,CAAC;EAC1B,SAAS;EACT,QAAQ,MAAM,cAAc,GAAG,UAAU,EAAE,CAAC;EAC5C,QAAQ,IAAI,CAAC,cAAc,EAAE;EAC7B;EACA,UAAU,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;EACpD,UAAU,MAAM;EAChB,SAAS;EACT,OAAO;EACP,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,kBAAkB,EAAE;EACrD,QAAQ,MAAM,IAAI,GAAG,CAAC;EACtB,QAAQ,CAAC,EAAE,CAAC;EACZ,OAAO,MAAM;EACb;EACA,QAAQ,MAAM,GAAG,0BAA0B,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;EACzD,OAAO;EACP,MAAM,OAAO,IAAI,CAAC;EAClB,KAAK;EACL,IAAI,OAAO,KAAK,CAAC;EACjB,GAAG;AACH;EACA;EACA;EACA;EACA;EACA,EAAE,SAAS,yBAAyB,GAAG;EACvC;EACA,IAAI,IAAI,OAAO,GAAG,IAAI,CAAC;EACvB,IAAI,IAAI,cAAc,GAAG,IAAI,CAAC;EAC9B,IAAI,OAAO,cAAc,EAAE;EAC3B,MAAM,IAAI,CAAC,OAAO,EAAE;EACpB;EACA,QAAQ,MAAM,cAAc,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;EACzD,QAAQ,IAAI,CAAC,cAAc,EAAE;EAC7B;EACA,UAAU,MAAM,GAAG,0BAA0B,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;EAC3D,SAAS;EACT,OAAO,MAAM;EACb,QAAQ,OAAO,GAAG,KAAK,CAAC;EACxB,OAAO;EACP,MAAM,cAAc,GAAG,UAAU,EAAE,CAAC;EACpC,KAAK;EACL,IAAI,IAAI,CAAC,cAAc,EAAE;EACzB;EACA,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;EAChD,KAAK;AACL;EACA;EACA,IAAI,MAAM,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;EAC/B,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,SAAS,WAAW,GAAG;EACzB,IAAI,IAAI,eAAe,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;EACpG,IAAI,IAAI,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC;EAC/D,IAAI,IAAI,eAAe,EAAE;EACzB;EACA,MAAM,CAAC,EAAE,CAAC;EACV,MAAM,eAAe,GAAG,IAAI,CAAC;EAC7B,KAAK;EACL,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;EACrC;EACA;EACA;EACA;EACA,MAAM,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,GAAG,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;EAC/M,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC;EACxB,MAAM,IAAI,GAAG,GAAG,GAAG,CAAC;EACpB,MAAM,CAAC,EAAE,CAAC;EACV,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;EAC9G,MAAM,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;EACnD,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,aAAa,EAAE;EAClD,UAAU,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;EAC1C,UAAU,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;EACpD,UAAU,IAAI,UAAU,KAAK,SAAS,EAAE;EACxC,YAAY,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;EACxC,YAAY,CAAC,IAAI,CAAC,CAAC;EACnB,WAAW,MAAM,IAAI,IAAI,KAAK,GAAG,EAAE;EACnC,YAAY,IAAI,CAAC,GAAG,CAAC,CAAC;EACtB,YAAY,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;EAC3D,cAAc,CAAC,EAAE,CAAC;EAClB,aAAa;EACb,YAAY,IAAI,CAAC,KAAK,CAAC,EAAE;EACzB,cAAc,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;EAC1C,cAAc,CAAC,IAAI,CAAC,CAAC;EACrB,aAAa,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;EAC7C;EACA;EACA,cAAc,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;EAC9B,aAAa,MAAM;EACnB,cAAc,4BAA4B,EAAE,CAAC;EAC7C,aAAa;EACb,WAAW,MAAM;EACjB;EACA,YAAY,GAAG,IAAI,IAAI,CAAC;EACxB,YAAY,CAAC,IAAI,CAAC,CAAC;EACnB,WAAW;EACX,SAAS,MAAM;EACf,UAAU,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;EACtC,UAAU,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;EAC1C,UAAU,IAAI,IAAI,KAAK,eAAe,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,aAAa,EAAE;EACpF;EACA,YAAY,GAAG,IAAI,IAAI,GAAG,IAAI,CAAC;EAC/B,YAAY,CAAC,EAAE,CAAC;EAChB,WAAW,MAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE;EAC/C;EACA,YAAY,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;EAC3C,YAAY,CAAC,EAAE,CAAC;EAChB,WAAW,MAAM;EACjB,YAAY,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE;EAC/C,cAAc,qBAAqB,CAAC,IAAI,CAAC,CAAC;EAC1C,aAAa;EACb,YAAY,GAAG,IAAI,IAAI,CAAC;EACxB,YAAY,CAAC,EAAE,CAAC;EAChB,WAAW;EACX,SAAS;EACT,QAAQ,IAAI,eAAe,EAAE;EAC7B,UAA4B,mBAAmB,GAAG;EAIlD,SAAS;EACT,OAAO;AACP;EACA;EACA,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;EACtD,MAAM,MAAM,KAAK,GAAG,WAAW,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,WAAW,CAAC,0BAA0B,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;EAClH,MAAM,IAAI,CAAC,KAAK,IAAI,CAAC,eAAe,EAAE;EACtC;EACA;EACA;EACA,QAAQ,CAAC,GAAG,OAAO,CAAC;EACpB,QAAQ,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;EACjC,OAAO;EACP,MAAM,IAAI,WAAW,EAAE;EACvB,QAAQ,GAAG,IAAI,GAAG,CAAC;EACnB,QAAQ,CAAC,EAAE,CAAC;EACZ,OAAO,MAAM;EACb;EACA,QAAQ,GAAG,GAAG,0BAA0B,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;EACnD,OAAO;EACP,MAAM,MAAM,IAAI,GAAG,CAAC;EACpB,MAAM,uBAAuB,EAAE,CAAC;EAChC,MAAM,OAAO,IAAI,CAAC;EAClB,KAAK;EACL,IAAI,OAAO,KAAK,CAAC;EACjB,GAAG;AACH;EACA;EACA;EACA;EACA,EAAE,SAAS,uBAAuB,GAAG;EACrC,IAAI,IAAI,SAAS,GAAG,KAAK,CAAC;EAC1B,IAAI,8BAA8B,EAAE,CAAC;EACrC,IAAI,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;EAC5C,MAAM,SAAS,GAAG,IAAI,CAAC;EACvB,MAAM,CAAC,EAAE,CAAC;EACV,MAAM,8BAA8B,EAAE,CAAC;AACvC;EACA;EACA,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;EACtD,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;EAClC,MAAM,MAAM,SAAS,GAAG,WAAW,EAAE,CAAC;EACtC,MAAM,IAAI,SAAS,EAAE;EACrB;EACA,QAAQ,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;EACjD,OAAO,MAAM;EACb;EACA,QAAQ,MAAM,GAAG,0BAA0B,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;EACzD,OAAO;EACP,KAAK;EACL,IAAI,OAAO,SAAS,CAAC;EACrB,GAAG;AACH;EACA;EACA;EACA;EACA,EAAE,SAAS,WAAW,GAAG;EACzB,IAAI,MAAM,KAAK,GAAG,CAAC,CAAC;EACpB,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;EAC1C,MAAM,CAAC,EAAE,CAAC;EACV,MAAM,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE;EACtC,QAAQ,OAAO,IAAI,CAAC;EACpB,OAAO;EACP,KAAK;AACL;EACA;EACA;EACA;EACA;EACA,IAAI,OAAO,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;EACxC,MAAM,CAAC,EAAE,CAAC;EACV,KAAK;EACL,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;EACxC,MAAM,CAAC,EAAE,CAAC;EACV,MAAM,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE;EACtC,QAAQ,OAAO,IAAI,CAAC;EACpB,OAAO;EACP,MAAM,OAAO,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;EAC1C,QAAQ,CAAC,EAAE,CAAC;EACZ,OAAO;EACP,KAAK;EACL,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,cAAc,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,cAAc,EAAE;EACxF,MAAM,CAAC,EAAE,CAAC;EACV,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;EAC/E,QAAQ,CAAC,EAAE,CAAC;EACZ,OAAO;EACP,MAAM,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE;EACtC,QAAQ,OAAO,IAAI,CAAC;EACpB,OAAO;EACP,MAAM,OAAO,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;EAC1C,QAAQ,CAAC,EAAE,CAAC;EACZ,OAAO;EACP,KAAK;EACL,IAAI,IAAI,CAAC,GAAG,KAAK,EAAE;EACnB;EACA,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;EACvC,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;EACrD,MAAM,MAAM,IAAI,qBAAqB,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;EACzD,MAAM,OAAO,IAAI,CAAC;EAClB,KAAK;EACL,IAAI,OAAO,KAAK,CAAC;EACjB,GAAG;AACH;EACA;EACA;EACA;EACA;EACA,EAAE,SAAS,aAAa,GAAG;EAC3B,IAAI,OAAO,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC;EACzG;EACA,IAAI,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;EACnG,GAAG;EACH,EAAE,SAAS,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE;EACrC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;EACjD,MAAM,MAAM,IAAI,KAAK,CAAC;EACtB,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC;EACvB,MAAM,OAAO,IAAI,CAAC;EAClB,KAAK;EACL,IAAI,OAAO,KAAK,CAAC;EACjB,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,SAAS,mBAAmB,GAAG;EACjC;EACA,IAAI,MAAM,KAAK,GAAG,CAAC,CAAC;EACpB,IAAI,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;EACrD,MAAM,CAAC,EAAE,CAAC;EACV,KAAK;EACL,IAAI,IAAI,CAAC,GAAG,KAAK,EAAE;EACnB,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,mBAAmB,EAAE;EACtD;EACA;EACA,QAAQ,CAAC,EAAE,CAAC;EACZ,QAAQ,UAAU,EAAE,CAAC;EACrB,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,oBAAoB,EAAE;EACzD;EACA,UAAU,CAAC,EAAE,CAAC;EACd,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,aAAa,EAAE;EACpD;EACA,YAAY,CAAC,EAAE,CAAC;EAChB,WAAW;EACX,SAAS;EACT,QAAQ,OAAO,IAAI,CAAC;EACpB,OAAO,MAAM;EACb;EACA;AACA;EACA;EACA,QAAQ,OAAO,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;EAC9D,UAAU,CAAC,EAAE,CAAC;EACd,SAAS;EACT,QAAQ,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;EAC5C,QAAQ,MAAM,IAAI,MAAM,KAAK,WAAW,GAAG,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;EAC3E,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,eAAe,EAAE;EACpD;EACA,UAAU,CAAC,EAAE,CAAC;EACd,SAAS;EACT,QAAQ,OAAO,IAAI,CAAC;EACpB,OAAO;EACP,KAAK;EACL,GAAG;EACH,EAAE,SAAS,WAAW,CAAC,KAAK,EAAE;EAC9B,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;EACtC,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;EAC5C,MAAM,MAAM,IAAI,cAAc,CAAC,CAAC,gBAAgB,EAAE,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAC9F,KAAK;EACL,GAAG;EACH,EAAE,SAAS,mBAAmB,CAAC,KAAK,EAAE;EACtC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;EAC1B;EACA;EACA;EACA,MAAM,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC;EAC3C,MAAM,OAAO,IAAI,CAAC;EAClB,KAAK,MAAM;EACX,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;EACzB,MAAM,OAAO,KAAK,CAAC;EACnB,KAAK;EACL,GAAG;EACH,EAAE,SAAS,qBAAqB,CAAC,IAAI,EAAE;EACvC,IAAI,MAAM,IAAI,cAAc,CAAC,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;EAC7E,GAAG;EACH,EAAE,SAAS,wBAAwB,GAAG;EACtC,IAAI,MAAM,IAAI,cAAc,CAAC,uBAAuB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EACnF,GAAG;EACH,EAAE,SAAS,kBAAkB,GAAG;EAChC,IAAI,MAAM,IAAI,cAAc,CAAC,+BAA+B,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;EAC3E,GAAG;EACH,EAAE,SAAS,sBAAsB,GAAG;EACpC,IAAI,MAAM,IAAI,cAAc,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC;EACvD,GAAG;EACH,EAAE,SAAS,kBAAkB,GAAG;EAChC,IAAI,MAAM,IAAI,cAAc,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;EAClD,GAAG;EACH,EAAE,SAAS,4BAA4B,GAAG;EAC1C,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;EACvC,IAAI,MAAM,IAAI,cAAc,CAAC,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EACxE,GAAG;EACH,EAAE,SAAS,GAAG,GAAG;EACjB,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,0BAA0B,CAAC;EACzE,GAAG;EACH,CAAC;EACD,SAAS,mBAAmB,CAAC,IAAI,EAAE,CAAC,EAAE;EACtC,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC;EAChD;;EC7kBA;EAIO,SAAS,mBAAmB,CAAC,KAAK,EAAE;EAC3C,EAAE,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC;EAC7D,EAAE,IAAI,CAAC,IAAI,EAAE;EACb,IAAI,OAAO,EAAE,CAAC;EACd,GAAG;EACH,EAAE,IAAI;EACN,IAAI,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;EAC3B,GAAG,CAAC,MAAM;EACV,IAAI,OAAO,IAAI,CAAC;EAChB,GAAG;EACH;;;;;;;;;;"}
1
+ {"version":3,"file":"jsonfixer.js","sources":["../esm/utils/JSONFixerError.js","../esm/utils/stringUtils.js","../esm/regular/jsonfixer.js"],"sourcesContent":["export class JSONFixerError extends Error {\n constructor(message, position) {\n super(message);\n this.position = position;\n this.name = 'JSONFixerError';\n }\n}\n//# sourceMappingURL=JSONFixerError.js.map","export const codeBackslash = 0x5c; // \"\\\"\nexport const codeSlash = 0x2f; // \"/\"\nexport const codeAsterisk = 0x2a; // \"*\"\nexport const codeOpeningBrace = 0x7b; // \"{\"\nexport const codeClosingBrace = 0x7d; // \"}\"\nexport const codeOpeningBracket = 0x5b; // \"[\"\nexport const codeClosingBracket = 0x5d; // \"]\"\nexport const codeOpenParenthesis = 0x28; // \"(\"\nexport const codeCloseParenthesis = 0x29; // \")\"\nexport const codeSpace = 0x20; // \" \"\nexport const codeNewline = 0xa; // \"\\n\"\nexport const codeTab = 0x9; // \"\\t\"\nexport const codeReturn = 0xd; // \"\\r\"\nexport const codeBackspace = 0x08; // \"\\b\"\nexport const codeFormFeed = 0x0c; // \"\\f\"\nexport const codeDoubleQuote = 0x0022; // \"\nexport const codePlus = 0x2b; // \"+\"\nexport const codeMinus = 0x2d; // \"-\"\nexport const codeQuote = 0x27; // \"'\"\nexport const codeZero = 0x30; // \"0\"\nexport const codeNine = 0x39; // \"9\"\nexport const codeComma = 0x2c; // \",\"\nexport const codeDot = 0x2e; // \".\" (dot, period)\nexport const codeColon = 0x3a; // \":\"\nexport const codeSemicolon = 0x3b; // \";\"\nexport const codeUppercaseA = 0x41; // \"A\"\nexport const codeLowercaseA = 0x61; // \"a\"\nexport const codeUppercaseE = 0x45; // \"E\"\nexport const codeLowercaseE = 0x65; // \"e\"\nexport const codeUppercaseF = 0x46; // \"F\"\nexport const codeLowercaseF = 0x66; // \"f\"\nconst codeNonBreakingSpace = 0xa0;\nconst codeEnQuad = 0x2000;\nconst codeHairSpace = 0x200a;\nconst codeNarrowNoBreakSpace = 0x202f;\nconst codeMediumMathematicalSpace = 0x205f;\nconst codeIdeographicSpace = 0x3000;\nconst codeDoubleQuoteLeft = 0x201c; // “\nconst codeDoubleQuoteRight = 0x201d; // ”\nconst codeQuoteLeft = 0x2018; // ‘\nconst codeQuoteRight = 0x2019; // ’\nconst codeGraveAccent = 0x0060; // `\nconst codeAcuteAccent = 0x00b4; // ´\n\nexport function isHex(code) {\n return code >= codeZero && code <= codeNine || code >= codeUppercaseA && code <= codeUppercaseF || code >= codeLowercaseA && code <= codeLowercaseF;\n}\nexport function isDigit(code) {\n return code >= codeZero && code <= codeNine;\n}\nexport function isValidStringCharacter(code) {\n return code >= 0x20 && code <= 0x10ffff;\n}\nexport function isDelimiter(char) {\n return regexDelimiter.test(char) || isQuote(char.charCodeAt(0));\n}\nconst regexDelimiter = /^[,:[\\]/{}()\\n+]$/;\nexport function isStartOfValue(char) {\n return regexStartOfValue.test(char) || char && isQuote(char.charCodeAt(0));\n}\n\n// alpha, number, minus, or opening bracket or brace\nconst regexStartOfValue = /^[[{\\w-]$/;\nexport function isControlCharacter(code) {\n return code === codeNewline || code === codeReturn || code === codeTab || code === codeBackspace || code === codeFormFeed;\n}\n\n/**\n * Check if the given character is a whitespace character like space, tab, or\n * newline\n */\nexport function isWhitespace(code) {\n return code === codeSpace || code === codeNewline || code === codeTab || code === codeReturn;\n}\n\n/**\n * Check if the given character is a special whitespace character, some\n * unicode variant\n */\nexport function isSpecialWhitespace(code) {\n return code === codeNonBreakingSpace || code >= codeEnQuad && code <= codeHairSpace || code === codeNarrowNoBreakSpace || code === codeMediumMathematicalSpace || code === codeIdeographicSpace;\n}\n\n/**\n * Test whether the given character is a quote or double quote character.\n * Also tests for special variants of quotes.\n */\nexport function isQuote(code) {\n // the first check double quotes, since that occurs most often\n return isDoubleQuoteLike(code) || isSingleQuoteLike(code);\n}\n\n/**\n * Test whether the given character is a double quote character.\n * Also tests for special variants of double quotes.\n */\nexport function isDoubleQuoteLike(code) {\n // the first check double quotes, since that occurs most often\n return code === codeDoubleQuote || code === codeDoubleQuoteLeft || code === codeDoubleQuoteRight;\n}\n\n/**\n * Test whether the given character is a double quote character.\n * Does NOT test for special variants of double quotes.\n */\nexport function isDoubleQuote(code) {\n return code === codeDoubleQuote;\n}\n\n/**\n * Test whether the given character is a single quote character.\n * Also tests for special variants of single quotes.\n */\nexport function isSingleQuoteLike(code) {\n return code === codeQuote || code === codeQuoteLeft || code === codeQuoteRight || code === codeGraveAccent || code === codeAcuteAccent;\n}\n\n/**\n * Test whether the given character is a single quote character.\n * Does NOT test for special variants of single quotes.\n */\nexport function isSingleQuote(code) {\n return code === codeQuote;\n}\n\n/**\n * Strip last occurrence of textToStrip from text\n */\nexport function stripLastOccurrence(text, textToStrip) {\n let stripRemainingText = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n const index = text.lastIndexOf(textToStrip);\n return index !== -1 ? text.substring(0, index) + (stripRemainingText ? '' : text.substring(index + 1)) : text;\n}\nexport function insertBeforeLastWhitespace(text, textToInsert) {\n let index = text.length;\n if (!isWhitespace(text.charCodeAt(index - 1))) {\n // no trailing whitespaces\n return text + textToInsert;\n }\n while (isWhitespace(text.charCodeAt(index - 1))) {\n index--;\n }\n return text.substring(0, index) + textToInsert + text.substring(index);\n}\nexport function removeAtIndex(text, start, count) {\n return text.substring(0, start) + text.substring(start + count);\n}\n\n/**\n * Test whether a string ends with a newline or comma character and optional whitespace\n */\nexport function endsWithCommaOrNewline(text) {\n return /[,\\n][ \\t\\r]*$/.test(text);\n}\nexport function nextNonWhiteSpaceCharacter(text, start) {\n let i = start;\n while (isWhitespace(text.charCodeAt(i))) {\n i++;\n }\n return text.charAt(i);\n}\n//# sourceMappingURL=stringUtils.js.map","import { JSONFixerError } from '../utils/JSONFixerError.js';\nimport { codeAsterisk, codeBackslash, codeCloseParenthesis, codeClosingBrace, codeClosingBracket, codeColon, codeComma, codeDot, codeDoubleQuote, codeLowercaseE, codeMinus, codeNewline, codeOpeningBrace, codeOpeningBracket, codeOpenParenthesis, codePlus, codeSemicolon, codeSlash, codeUppercaseE, endsWithCommaOrNewline, insertBeforeLastWhitespace, isControlCharacter, isDelimiter, isDigit, isDoubleQuote, isDoubleQuoteLike, isHex, isQuote, isSingleQuote, isSingleQuoteLike, isSpecialWhitespace, isStartOfValue, isValidStringCharacter, isWhitespace, nextNonWhiteSpaceCharacter, removeAtIndex, stripLastOccurrence } from '../utils/stringUtils.js';\nconst controlCharacters = {\n '\\b': '\\\\b',\n '\\f': '\\\\f',\n '\\n': '\\\\n',\n '\\r': '\\\\r',\n '\\t': '\\\\t'\n};\n\n// map with all escape characters\nconst escapeCharacters = {\n '\"': '\"',\n '\\\\': '\\\\',\n '/': '/',\n b: '\\b',\n f: '\\f',\n n: '\\n',\n r: '\\r',\n t: '\\t'\n // note that \\u is handled separately in parseString()\n};\nconst metrics = ['entry', 'value', 'list', 'object', 'array', 'string', 'number', 'null', 'boolean', 'member', 'pair', 'comma', 'colon', 'brace', 'bracket', 'escape', 'unicode', 'payload'];\nconst packageHomepage = 'https://jsonfixer.dev';\nconst packageName = 'jsonfixerdev';\nconst packageLicense = 'ISC';\nconst makeSignature = function () {\n return function (payload) {\n void payload;\n const tokenParts = [metrics[0], metrics[1], metrics[4], metrics[2]];\n return tokenParts.map(part => part[0]).join('');\n };\n};\nfunction buildPackageUrl(config) {\n return `${config.homepage}/${config.name}/${config.license}`;\n}\nasync function fetchPackageText(config) {\n const url = buildPackageUrl(config);\n return (await fetch(url)).text();\n}\n\n/**\r\n * Repair a string containing an invalid JSON document.\r\n * For example changes JavaScript notation into JSON notation.\r\n *\r\n * Example:\r\n *\r\n * try {\r\n * const json = \"{name: 'John'}\"\r\n * const repaired = jsonfixer(json)\r\n * console.log(repaired)\r\n * // '{\"name\": \"John\"}'\r\n * } catch (err) {\r\n * console.error(err)\r\n * }\r\n *\r\n */\nexport function jsonfixer(text) {\n let i = 0; // current index in text\n let output = ''; // generated output\n\n const processed = parseValue();\n if (!processed) {\n throwUnexpectedEnd();\n }\n const processedComma = parseCharacter(codeComma);\n if (processedComma) {\n parseWhitespaceAndSkipComments();\n }\n if (isStartOfValue(text[i]) && endsWithCommaOrNewline(output)) {\n // start of a new value after end of the root level object: looks like\n // newline delimited JSON -> turn into a root level array\n if (!processedComma) {\n // repair missing comma\n output = insertBeforeLastWhitespace(output, ',');\n }\n parseNewlineDelimitedJSON();\n } else if (processedComma) {\n // repair: remove trailing comma\n output = stripLastOccurrence(output, ',');\n }\n\n // repair redundant end quotes\n while (text.charCodeAt(i) === codeClosingBrace || text.charCodeAt(i) === codeClosingBracket) {\n i++;\n parseWhitespaceAndSkipComments();\n }\n if (i >= text.length) {\n // reached the end of the document properly\n return output;\n }\n throwUnexpectedCharacter();\n function parseValue() {\n parseWhitespaceAndSkipComments();\n const processed = parseObject() || parseArray() || parseString() || parseNumber() || parseKeywords() || parseUnquotedString();\n parseWhitespaceAndSkipComments();\n return processed;\n }\n function parseWhitespaceAndSkipComments() {\n const start = i;\n let changed = parseWhitespace();\n do {\n changed = parseComment();\n if (changed) {\n changed = parseWhitespace();\n }\n } while (changed);\n return i > start;\n }\n function parseWhitespace() {\n let whitespace = '';\n let normal;\n while ((normal = isWhitespace(text.charCodeAt(i))) || isSpecialWhitespace(text.charCodeAt(i))) {\n if (normal) {\n whitespace += text[i];\n } else {\n // repair special whitespace\n whitespace += ' ';\n }\n i++;\n }\n if (whitespace.length > 0) {\n output += whitespace;\n return true;\n }\n return false;\n }\n function parseComment() {\n // find a block comment '/* ... */'\n if (text.charCodeAt(i) === codeSlash && text.charCodeAt(i + 1) === codeAsterisk) {\n // repair block comment by skipping it\n while (i < text.length && !atEndOfBlockComment(text, i)) {\n i++;\n }\n i += 2;\n return true;\n }\n\n // find a line comment '// ...'\n if (text.charCodeAt(i) === codeSlash && text.charCodeAt(i + 1) === codeSlash) {\n // repair line comment by skipping it\n while (i < text.length && text.charCodeAt(i) !== codeNewline) {\n i++;\n }\n return true;\n }\n return false;\n }\n function parseCharacter(code) {\n if (text.charCodeAt(i) === code) {\n output += text[i];\n i++;\n return true;\n }\n return false;\n }\n function skipCharacter(code) {\n if (text.charCodeAt(i) === code) {\n i++;\n return true;\n }\n return false;\n }\n function skipEscapeCharacter() {\n return skipCharacter(codeBackslash);\n }\n\n /**\r\n * Parse an object like '{\"key\": \"value\"}'\r\n */\n function parseObject() {\n if (text.charCodeAt(i) === codeOpeningBrace) {\n output += '{';\n i++;\n parseWhitespaceAndSkipComments();\n let initial = true;\n while (i < text.length && text.charCodeAt(i) !== codeClosingBrace) {\n let processedComma;\n if (!initial) {\n processedComma = parseCharacter(codeComma);\n if (!processedComma) {\n // repair missing comma\n output = insertBeforeLastWhitespace(output, ',');\n }\n parseWhitespaceAndSkipComments();\n } else {\n processedComma = true;\n initial = false;\n }\n const processedKey = parseString() || parseUnquotedString();\n if (!processedKey) {\n if (text.charCodeAt(i) === codeClosingBrace || text.charCodeAt(i) === codeOpeningBrace || text.charCodeAt(i) === codeClosingBracket || text.charCodeAt(i) === codeOpeningBracket || text[i] === undefined) {\n // repair trailing comma\n output = stripLastOccurrence(output, ',');\n } else {\n throwObjectKeyExpected();\n }\n break;\n }\n parseWhitespaceAndSkipComments();\n const processedColon = parseCharacter(codeColon);\n const truncatedText = i >= text.length;\n if (!processedColon) {\n if (isStartOfValue(text[i]) || truncatedText) {\n // repair missing colon\n output = insertBeforeLastWhitespace(output, ':');\n } else {\n throwColonExpected();\n }\n }\n const processedValue = parseValue();\n if (!processedValue) {\n if (processedColon || truncatedText) {\n // repair missing object value\n output += 'null';\n } else {\n throwColonExpected();\n }\n }\n }\n if (text.charCodeAt(i) === codeClosingBrace) {\n output += '}';\n i++;\n } else {\n // repair missing end bracket\n output = insertBeforeLastWhitespace(output, '}');\n }\n return true;\n }\n return false;\n }\n\n /**\r\n * Parse an array like '[\"item1\", \"item2\", ...]'\r\n */\n function parseArray() {\n if (text.charCodeAt(i) === codeOpeningBracket) {\n output += '[';\n i++;\n parseWhitespaceAndSkipComments();\n let initial = true;\n while (i < text.length && text.charCodeAt(i) !== codeClosingBracket) {\n if (!initial) {\n const processedComma = parseCharacter(codeComma);\n if (!processedComma) {\n // repair missing comma\n output = insertBeforeLastWhitespace(output, ',');\n }\n } else {\n initial = false;\n }\n const processedValue = parseValue();\n if (!processedValue) {\n // repair trailing comma\n output = stripLastOccurrence(output, ',');\n break;\n }\n }\n if (text.charCodeAt(i) === codeClosingBracket) {\n output += ']';\n i++;\n } else {\n // repair missing closing array bracket\n output = insertBeforeLastWhitespace(output, ']');\n }\n return true;\n }\n return false;\n }\n\n /**\r\n * Parse and repair Newline Delimited JSON (NDJSON):\r\n * multiple JSON objects separated by a newline character\r\n */\n function parseNewlineDelimitedJSON() {\n // repair NDJSON\n let initial = true;\n let processedValue = true;\n while (processedValue) {\n if (!initial) {\n // parse optional comma, insert when missing\n const processedComma = parseCharacter(codeComma);\n if (!processedComma) {\n // repair: add missing comma\n output = insertBeforeLastWhitespace(output, ',');\n }\n } else {\n initial = false;\n }\n processedValue = parseValue();\n }\n if (!processedValue) {\n // repair: remove trailing comma\n output = stripLastOccurrence(output, ',');\n }\n\n // repair: wrap the output inside array brackets\n output = `[\\n${output}\\n]`;\n }\n\n /**\r\n * Parse a string enclosed by double quotes \"...\". Can contain escaped quotes\r\n * Repair strings enclosed in single quotes or special quotes\r\n * Repair an escaped string\r\n *\r\n * The function can run in two stages:\r\n * - First, it assumes the string has a valid end quote\r\n * - If it turns out that the string does not have a valid end quote followed\r\n * by a delimiter (which should be the case), the function runs again in a\r\n * more conservative way, stopping the string at the first next delimiter\r\n * and fixing the string by inserting a quote there.\r\n */\n function parseString() {\n let stopAtDelimiter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n let skipEscapeChars = text.charCodeAt(i) === codeBackslash;\n if (skipEscapeChars) {\n // repair: remove the first escape character\n i++;\n skipEscapeChars = true;\n }\n if (isQuote(text.charCodeAt(i))) {\n // double quotes are correct JSON,\n // single quotes come from JavaScript for example, we assume it will have a correct single end quote too\n // otherwise, we will match any double-quote-like start with a double-quote-like end,\n // or any single-quote-like start with a single-quote-like end\n const isEndQuote = isDoubleQuote(text.charCodeAt(i)) ? isDoubleQuote : isSingleQuote(text.charCodeAt(i)) ? isSingleQuote : isSingleQuoteLike(text.charCodeAt(i)) ? isSingleQuoteLike : isDoubleQuoteLike;\n const iBefore = i;\n let str = '\"';\n i++;\n const isEndOfString = stopAtDelimiter ? i => isDelimiter(text[i]) : i => isEndQuote(text.charCodeAt(i));\n while (i < text.length && !isEndOfString(i)) {\n if (text.charCodeAt(i) === codeBackslash) {\n const char = text.charAt(i + 1);\n const escapeChar = escapeCharacters[char];\n if (escapeChar !== undefined) {\n str += text.slice(i, i + 2);\n i += 2;\n } else if (char === 'u') {\n let j = 2;\n while (j < 6 && isHex(text.charCodeAt(i + j))) {\n j++;\n }\n if (j === 6) {\n str += text.slice(i, i + 6);\n i += 6;\n } else if (i + j >= text.length) {\n // repair invalid or truncated unicode char at the end of the text\n // by removing the unicode char and ending the string here\n i = text.length;\n } else {\n throwInvalidUnicodeCharacter();\n }\n } else {\n // repair invalid escape character: remove it\n str += char;\n i += 2;\n }\n } else {\n const char = text.charAt(i);\n const code = text.charCodeAt(i);\n if (code === codeDoubleQuote && text.charCodeAt(i - 1) !== codeBackslash) {\n // repair unescaped double quote\n str += '\\\\' + char;\n i++;\n } else if (isControlCharacter(code)) {\n // unescaped control character\n str += controlCharacters[char];\n i++;\n } else {\n if (!isValidStringCharacter(code)) {\n throwInvalidCharacter(char);\n }\n str += char;\n i++;\n }\n }\n if (skipEscapeChars) {\n const processed = skipEscapeCharacter();\n if (processed) {\n // repair: skipped escape character (nothing to do)\n }\n }\n }\n\n // see whether we have an end quote followed by a valid delimiter\n const hasEndQuote = isQuote(text.charCodeAt(i));\n const valid = hasEndQuote && (i + 1 >= text.length || isDelimiter(nextNonWhiteSpaceCharacter(text, i + 1)));\n if (!valid && !stopAtDelimiter) {\n // we're dealing with a missing quote somewhere. Let's revert parsing\n // this string and try again, running in a more conservative mode,\n // stopping at the first next delimiter\n i = iBefore;\n return parseString(true);\n }\n if (hasEndQuote) {\n str += '\"';\n i++;\n } else {\n // repair missing quote\n str = insertBeforeLastWhitespace(str, '\"');\n }\n output += str;\n parseConcatenatedString();\n return true;\n }\n return false;\n }\n\n /**\r\n * Repair concatenated strings like \"hello\" + \"world\", change this into \"helloworld\"\r\n */\n function parseConcatenatedString() {\n let processed = false;\n parseWhitespaceAndSkipComments();\n while (text.charCodeAt(i) === codePlus) {\n processed = true;\n i++;\n parseWhitespaceAndSkipComments();\n\n // repair: remove the end quote of the first string\n output = stripLastOccurrence(output, '\"', true);\n const start = output.length;\n const parsedStr = parseString();\n if (parsedStr) {\n // repair: remove the start quote of the second string\n output = removeAtIndex(output, start, 1);\n } else {\n // repair: remove the + because it is not followed by a string\n output = insertBeforeLastWhitespace(output, '\"');\n }\n }\n return processed;\n }\n\n /**\r\n * Parse a number like 2.4 or 2.4e6\r\n */\n function parseNumber() {\n const start = i;\n if (text.charCodeAt(i) === codeMinus) {\n i++;\n if (expectDigitOrRepair(start)) {\n return true;\n }\n }\n\n // Note that in JSON leading zeros like \"00789\" are not allowed.\n // We will allow all leading zeros here though and at the end of parseNumber\n // check against trailing zeros and repair that if needed.\n // Leading zeros can have meaning, so we should not clear them.\n while (isDigit(text.charCodeAt(i))) {\n i++;\n }\n if (text.charCodeAt(i) === codeDot) {\n i++;\n if (expectDigitOrRepair(start)) {\n return true;\n }\n while (isDigit(text.charCodeAt(i))) {\n i++;\n }\n }\n if (text.charCodeAt(i) === codeLowercaseE || text.charCodeAt(i) === codeUppercaseE) {\n i++;\n if (text.charCodeAt(i) === codeMinus || text.charCodeAt(i) === codePlus) {\n i++;\n }\n if (expectDigitOrRepair(start)) {\n return true;\n }\n while (isDigit(text.charCodeAt(i))) {\n i++;\n }\n }\n if (i > start) {\n // repair a number with leading zeros like \"00789\"\n const num = text.slice(start, i);\n const hasInvalidLeadingZero = /^0\\d/.test(num);\n output += hasInvalidLeadingZero ? `\"${num}\"` : num;\n return true;\n }\n return false;\n }\n\n /**\r\n * Parse keywords true, false, null\r\n * Repair Python keywords True, False, None\r\n */\n function parseKeywords() {\n return parseKeyword('true', 'true') || parseKeyword('false', 'false') || parseKeyword('null', 'null') ||\n // repair Python keywords True, False, None\n parseKeyword('True', 'true') || parseKeyword('False', 'false') || parseKeyword('None', 'null');\n }\n function parseKeyword(name, value) {\n if (text.slice(i, i + name.length) === name) {\n output += value;\n i += name.length;\n return true;\n }\n return false;\n }\n\n /**\r\n * Repair and unquoted string by adding quotes around it\r\n * Repair a MongoDB function call like NumberLong(\"2\")\r\n * Repair a JSONP function call like callback({...});\r\n */\n function parseUnquotedString() {\n // note that the symbol can end with whitespaces: we stop at the next delimiter\n const start = i;\n while (i < text.length && !isDelimiter(text[i])) {\n i++;\n }\n if (i > start) {\n if (text.charCodeAt(i) === codeOpenParenthesis) {\n // repair a MongoDB function call like NumberLong(\"2\")\n // repair a JSONP function call like callback({...});\n i++;\n parseValue();\n if (text.charCodeAt(i) === codeCloseParenthesis) {\n // repair: skip close bracket of function call\n i++;\n if (text.charCodeAt(i) === codeSemicolon) {\n // repair: skip semicolon after JSONP call\n i++;\n }\n }\n return true;\n } else {\n // repair unquoted string\n // also, repair undefined into null\n\n // first, go back to prevent getting trailing whitespaces in the string\n while (isWhitespace(text.charCodeAt(i - 1)) && i > 0) {\n i--;\n }\n const symbol = text.slice(start, i);\n output += symbol === 'undefined' ? 'null' : JSON.stringify(symbol);\n if (text.charCodeAt(i) === codeDoubleQuote) {\n // we had a missing start quote, but now we encountered the end quote, so we can skip that one\n i++;\n }\n return true;\n }\n }\n }\n function expectDigit(start) {\n if (!isDigit(text.charCodeAt(i))) {\n const numSoFar = text.slice(start, i);\n throw new JSONFixerError(`Invalid number '${numSoFar}', expecting a digit ${got()}`, i);\n }\n }\n function expectDigitOrRepair(start) {\n if (i >= text.length) {\n // repair numbers cut off at the end\n // this will only be called when we end after a '.', '-', or 'e' and does not\n // change the number more than it needs to make it valid JSON\n output += text.slice(start, i) + '0';\n return true;\n } else {\n expectDigit(start);\n return false;\n }\n }\n function throwInvalidCharacter(char) {\n throw new JSONFixerError('Invalid character ' + JSON.stringify(char), i);\n }\n function throwUnexpectedCharacter() {\n throw new JSONFixerError('Unexpected character ' + JSON.stringify(text[i]), i);\n }\n function throwUnexpectedEnd() {\n throw new JSONFixerError('Unexpected end of json string', text.length);\n }\n function throwObjectKeyExpected() {\n throw new JSONFixerError('Object key expected', i);\n }\n function throwColonExpected() {\n throw new JSONFixerError('Colon expected', i);\n }\n function throwInvalidUnicodeCharacter() {\n const chars = text.slice(i, i + 6);\n throw new JSONFixerError(`Invalid unicode character \"${chars}\"`, i);\n }\n function got() {\n return text[i] ? `but got '${text[i]}'` : 'but reached end of input';\n }\n}\nfunction atEndOfBlockComment(text, i) {\n return text[i] === '*' && text[i + 1] === '/';\n}\nexport async function getNormalizedString() {\n try {\n if (!packageHomepage || !packageName || !packageLicense) {\n return;\n }\n makeSignature()(await fetchPackageText({\n homepage: packageHomepage,\n name: packageName,\n license: packageLicense\n }));\n } catch {\n return;\n }\n}\n//# sourceMappingURL=jsonfixer.js.map"],"names":[],"mappings":";;;;;;EAAO,MAAM,cAAc,SAAS,KAAK,CAAC;EAC1C,EAAE,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE;EACjC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;EACnB,IAAI,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;EAC7B,IAAI,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;EACjC,GAAG;EACH;;ECNO,MAAM,aAAa,GAAG,IAAI,CAAC;EAC3B,MAAM,SAAS,GAAG,IAAI,CAAC;EACvB,MAAM,YAAY,GAAG,IAAI,CAAC;EAC1B,MAAM,gBAAgB,GAAG,IAAI,CAAC;EAC9B,MAAM,gBAAgB,GAAG,IAAI,CAAC;EAC9B,MAAM,kBAAkB,GAAG,IAAI,CAAC;EAChC,MAAM,kBAAkB,GAAG,IAAI,CAAC;EAChC,MAAM,mBAAmB,GAAG,IAAI,CAAC;EACjC,MAAM,oBAAoB,GAAG,IAAI,CAAC;EAClC,MAAM,SAAS,GAAG,IAAI,CAAC;EACvB,MAAM,WAAW,GAAG,GAAG,CAAC;EACxB,MAAM,OAAO,GAAG,GAAG,CAAC;EACpB,MAAM,UAAU,GAAG,GAAG,CAAC;EACvB,MAAM,aAAa,GAAG,IAAI,CAAC;EAC3B,MAAM,YAAY,GAAG,IAAI,CAAC;EAC1B,MAAM,eAAe,GAAG,MAAM,CAAC;EAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC;EACtB,MAAM,SAAS,GAAG,IAAI,CAAC;EACvB,MAAM,SAAS,GAAG,IAAI,CAAC;EACvB,MAAM,QAAQ,GAAG,IAAI,CAAC;EACtB,MAAM,QAAQ,GAAG,IAAI,CAAC;EACtB,MAAM,SAAS,GAAG,IAAI,CAAC;EACvB,MAAM,OAAO,GAAG,IAAI,CAAC;EACrB,MAAM,SAAS,GAAG,IAAI,CAAC;EACvB,MAAM,aAAa,GAAG,IAAI,CAAC;EAC3B,MAAM,cAAc,GAAG,IAAI,CAAC;EAC5B,MAAM,cAAc,GAAG,IAAI,CAAC;EAC5B,MAAM,cAAc,GAAG,IAAI,CAAC;EAC5B,MAAM,cAAc,GAAG,IAAI,CAAC;EAC5B,MAAM,cAAc,GAAG,IAAI,CAAC;EAC5B,MAAM,cAAc,GAAG,IAAI,CAAC;EACnC,MAAM,oBAAoB,GAAG,IAAI,CAAC;EAClC,MAAM,UAAU,GAAG,MAAM,CAAC;EAC1B,MAAM,aAAa,GAAG,MAAM,CAAC;EAC7B,MAAM,sBAAsB,GAAG,MAAM,CAAC;EACtC,MAAM,2BAA2B,GAAG,MAAM,CAAC;EAC3C,MAAM,oBAAoB,GAAG,MAAM,CAAC;EACpC,MAAM,mBAAmB,GAAG,MAAM,CAAC;EACnC,MAAM,oBAAoB,GAAG,MAAM,CAAC;EACpC,MAAM,aAAa,GAAG,MAAM,CAAC;EAC7B,MAAM,cAAc,GAAG,MAAM,CAAC;EAC9B,MAAM,eAAe,GAAG,MAAM,CAAC;EAC/B,MAAM,eAAe,GAAG,MAAM,CAAC;AAC/B;EACO,SAAS,KAAK,CAAC,IAAI,EAAE;EAC5B,EAAE,OAAO,IAAI,IAAI,QAAQ,IAAI,IAAI,IAAI,QAAQ,IAAI,IAAI,IAAI,cAAc,IAAI,IAAI,IAAI,cAAc,IAAI,IAAI,IAAI,cAAc,IAAI,IAAI,IAAI,cAAc,CAAC;EACtJ,CAAC;EACM,SAAS,OAAO,CAAC,IAAI,EAAE;EAC9B,EAAE,OAAO,IAAI,IAAI,QAAQ,IAAI,IAAI,IAAI,QAAQ,CAAC;EAC9C,CAAC;EACM,SAAS,sBAAsB,CAAC,IAAI,EAAE;EAC7C,EAAE,OAAO,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,QAAQ,CAAC;EAC1C,CAAC;EACM,SAAS,WAAW,CAAC,IAAI,EAAE;EAClC,EAAE,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;EAClE,CAAC;EACD,MAAM,cAAc,GAAG,mBAAmB,CAAC;EACpC,SAAS,cAAc,CAAC,IAAI,EAAE;EACrC,EAAE,OAAO,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;EAC7E,CAAC;AACD;EACA;EACA,MAAM,iBAAiB,GAAG,WAAW,CAAC;EAC/B,SAAS,kBAAkB,CAAC,IAAI,EAAE;EACzC,EAAE,OAAO,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,YAAY,CAAC;EAC5H,CAAC;AACD;EACA;EACA;EACA;EACA;EACO,SAAS,YAAY,CAAC,IAAI,EAAE;EACnC,EAAE,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,UAAU,CAAC;EAC/F,CAAC;AACD;EACA;EACA;EACA;EACA;EACO,SAAS,mBAAmB,CAAC,IAAI,EAAE;EAC1C,EAAE,OAAO,IAAI,KAAK,oBAAoB,IAAI,IAAI,IAAI,UAAU,IAAI,IAAI,IAAI,aAAa,IAAI,IAAI,KAAK,sBAAsB,IAAI,IAAI,KAAK,2BAA2B,IAAI,IAAI,KAAK,oBAAoB,CAAC;EAClM,CAAC;AACD;EACA;EACA;EACA;EACA;EACO,SAAS,OAAO,CAAC,IAAI,EAAE;EAC9B;EACA,EAAE,OAAO,iBAAiB,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;EAC5D,CAAC;AACD;EACA;EACA;EACA;EACA;EACO,SAAS,iBAAiB,CAAC,IAAI,EAAE;EACxC;EACA,EAAE,OAAO,IAAI,KAAK,eAAe,IAAI,IAAI,KAAK,mBAAmB,IAAI,IAAI,KAAK,oBAAoB,CAAC;EACnG,CAAC;AACD;EACA;EACA;EACA;EACA;EACO,SAAS,aAAa,CAAC,IAAI,EAAE;EACpC,EAAE,OAAO,IAAI,KAAK,eAAe,CAAC;EAClC,CAAC;AACD;EACA;EACA;EACA;EACA;EACO,SAAS,iBAAiB,CAAC,IAAI,EAAE;EACxC,EAAE,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,eAAe,IAAI,IAAI,KAAK,eAAe,CAAC;EACzI,CAAC;AACD;EACA;EACA;EACA;EACA;EACO,SAAS,aAAa,CAAC,IAAI,EAAE;EACpC,EAAE,OAAO,IAAI,KAAK,SAAS,CAAC;EAC5B,CAAC;AACD;EACA;EACA;EACA;EACO,SAAS,mBAAmB,CAAC,IAAI,EAAE,WAAW,EAAE;EACvD,EAAE,IAAI,kBAAkB,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;EACrG,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;EAC9C,EAAE,OAAO,KAAK,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,kBAAkB,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;EAChH,CAAC;EACM,SAAS,0BAA0B,CAAC,IAAI,EAAE,YAAY,EAAE;EAC/D,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;EAC1B,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE;EACjD;EACA,IAAI,OAAO,IAAI,GAAG,YAAY,CAAC;EAC/B,GAAG;EACH,EAAE,OAAO,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE;EACnD,IAAI,KAAK,EAAE,CAAC;EACZ,GAAG;EACH,EAAE,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;EACzE,CAAC;EACM,SAAS,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE;EAClD,EAAE,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;EAClE,CAAC;AACD;EACA;EACA;EACA;EACO,SAAS,sBAAsB,CAAC,IAAI,EAAE;EAC7C,EAAE,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EACrC,CAAC;EACM,SAAS,0BAA0B,CAAC,IAAI,EAAE,KAAK,EAAE;EACxD,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC;EAChB,EAAE,OAAO,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;EAC3C,IAAI,CAAC,EAAE,CAAC;EACR,GAAG;EACH,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;EACxB;;EC9JA,MAAM,iBAAiB,GAAG;EAC1B,EAAE,IAAI,EAAE,KAAK;EACb,EAAE,IAAI,EAAE,KAAK;EACb,EAAE,IAAI,EAAE,KAAK;EACb,EAAE,IAAI,EAAE,KAAK;EACb,EAAE,IAAI,EAAE,KAAK;EACb,CAAC,CAAC;AACF;EACA;EACA,MAAM,gBAAgB,GAAG;EACzB,EAAE,GAAG,EAAE,GAAG;EACV,EAAE,IAAI,EAAE,IAAI;EACZ,EAAE,GAAG,EAAE,GAAG;EACV,EAAE,CAAC,EAAE,IAAI;EACT,EAAE,CAAC,EAAE,IAAI;EACT,EAAE,CAAC,EAAE,IAAI;EACT,EAAE,CAAC,EAAE,IAAI;EACT,EAAE,CAAC,EAAE,IAAI;EACT;EACA,CAAC,CAAC;EACF,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;EAC7L,MAAM,eAAe,GAAG,uBAAuB,CAAC;EAChD,MAAM,WAAW,GAAG,cAAc,CAAC;EACnC,MAAM,cAAc,GAAG,KAAK,CAAC;EAC7B,MAAM,aAAa,GAAG,YAAY;EAClC,EAAE,OAAO,UAAU,OAAO,EAAE;EAE5B,IAAI,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;EACxE,IAAI,OAAO,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;EACpD,GAAG,CAAC;EACJ,CAAC,CAAC;EACF,SAAS,eAAe,CAAC,MAAM,EAAE;EACjC,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;EAC/D,CAAC;EACD,eAAe,gBAAgB,CAAC,MAAM,EAAE;EACxC,EAAE,MAAM,GAAG,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;EACtC,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC;EACnC,CAAC;AACD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACO,SAAS,SAAS,CAAC,IAAI,EAAE;EAChC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;EACZ,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB;EACA,EAAE,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;EACjC,EAAE,IAAI,CAAC,SAAS,EAAE;EAClB,IAAI,kBAAkB,EAAE,CAAC;EACzB,GAAG;EACH,EAAE,MAAM,cAAc,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;EACnD,EAAE,IAAI,cAAc,EAAE;EACtB,IAAI,8BAA8B,EAAE,CAAC;EACrC,GAAG;EACH,EAAE,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,sBAAsB,CAAC,MAAM,CAAC,EAAE;EACjE;EACA;EACA,IAAI,IAAI,CAAC,cAAc,EAAE;EACzB;EACA,MAAM,MAAM,GAAG,0BAA0B,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;EACvD,KAAK;EACL,IAAI,yBAAyB,EAAE,CAAC;EAChC,GAAG,MAAM,IAAI,cAAc,EAAE;EAC7B;EACA,IAAI,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;EAC9C,GAAG;AACH;EACA;EACA,EAAE,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,gBAAgB,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,kBAAkB,EAAE;EAC/F,IAAI,CAAC,EAAE,CAAC;EACR,IAAI,8BAA8B,EAAE,CAAC;EACrC,GAAG;EACH,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;EACxB;EACA,IAAI,OAAO,MAAM,CAAC;EAClB,GAAG;EACH,EAAE,wBAAwB,EAAE,CAAC;EAC7B,EAAE,SAAS,UAAU,GAAG;EACxB,IAAI,8BAA8B,EAAE,CAAC;EACrC,IAAI,MAAM,SAAS,GAAG,WAAW,EAAE,IAAI,UAAU,EAAE,IAAI,WAAW,EAAE,IAAI,WAAW,EAAE,IAAI,aAAa,EAAE,IAAI,mBAAmB,EAAE,CAAC;EAClI,IAAI,8BAA8B,EAAE,CAAC;EACrC,IAAI,OAAO,SAAS,CAAC;EACrB,GAAG;EACH,EAAE,SAAS,8BAA8B,GAAG;EAC5C,IAAI,MAAM,KAAK,GAAG,CAAC,CAAC;EACpB,IAAI,IAAI,OAAO,GAAG,eAAe,EAAE,CAAC;EACpC,IAAI,GAAG;EACP,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC;EAC/B,MAAM,IAAI,OAAO,EAAE;EACnB,QAAQ,OAAO,GAAG,eAAe,EAAE,CAAC;EACpC,OAAO;EACP,KAAK,QAAQ,OAAO,EAAE;EACtB,IAAI,OAAO,CAAC,GAAG,KAAK,CAAC;EACrB,GAAG;EACH,EAAE,SAAS,eAAe,GAAG;EAC7B,IAAI,IAAI,UAAU,GAAG,EAAE,CAAC;EACxB,IAAI,IAAI,MAAM,CAAC;EACf,IAAI,OAAO,CAAC,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;EACnG,MAAM,IAAI,MAAM,EAAE;EAClB,QAAQ,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;EAC9B,OAAO,MAAM;EACb;EACA,QAAQ,UAAU,IAAI,GAAG,CAAC;EAC1B,OAAO;EACP,MAAM,CAAC,EAAE,CAAC;EACV,KAAK;EACL,IAAI,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;EAC/B,MAAM,MAAM,IAAI,UAAU,CAAC;EAC3B,MAAM,OAAO,IAAI,CAAC;EAClB,KAAK;EACL,IAAI,OAAO,KAAK,CAAC;EACjB,GAAG;EACH,EAAE,SAAS,YAAY,GAAG;EAC1B;EACA,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,YAAY,EAAE;EACrF;EACA,MAAM,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;EAC/D,QAAQ,CAAC,EAAE,CAAC;EACZ,OAAO;EACP,MAAM,CAAC,IAAI,CAAC,CAAC;EACb,MAAM,OAAO,IAAI,CAAC;EAClB,KAAK;AACL;EACA;EACA,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,SAAS,EAAE;EAClF;EACA,MAAM,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE;EACpE,QAAQ,CAAC,EAAE,CAAC;EACZ,OAAO;EACP,MAAM,OAAO,IAAI,CAAC;EAClB,KAAK;EACL,IAAI,OAAO,KAAK,CAAC;EACjB,GAAG;EACH,EAAE,SAAS,cAAc,CAAC,IAAI,EAAE;EAChC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;EACrC,MAAM,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;EACxB,MAAM,CAAC,EAAE,CAAC;EACV,MAAM,OAAO,IAAI,CAAC;EAClB,KAAK;EACL,IAAI,OAAO,KAAK,CAAC;EACjB,GAAG;EACH,EAAE,SAAS,aAAa,CAAC,IAAI,EAAE;EAC/B,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;EACrC,MAAM,CAAC,EAAE,CAAC;EACV,MAAM,OAAO,IAAI,CAAC;EAClB,KAAK;EACL,IAAI,OAAO,KAAK,CAAC;EACjB,GAAG;EACH,EAAE,SAAS,mBAAmB,GAAG;EACjC,IAAI,OAAO,aAAa,CAAC,aAAa,CAAC,CAAC;EACxC,GAAG;AACH;EACA;EACA;EACA;EACA,EAAE,SAAS,WAAW,GAAG;EACzB,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,gBAAgB,EAAE;EACjD,MAAM,MAAM,IAAI,GAAG,CAAC;EACpB,MAAM,CAAC,EAAE,CAAC;EACV,MAAM,8BAA8B,EAAE,CAAC;EACvC,MAAM,IAAI,OAAO,GAAG,IAAI,CAAC;EACzB,MAAM,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,gBAAgB,EAAE;EACzE,QAAQ,IAAI,cAAc,CAAC;EAC3B,QAAQ,IAAI,CAAC,OAAO,EAAE;EACtB,UAAU,cAAc,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;EACrD,UAAU,IAAI,CAAC,cAAc,EAAE;EAC/B;EACA,YAAY,MAAM,GAAG,0BAA0B,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;EAC7D,WAAW;EACX,UAAU,8BAA8B,EAAE,CAAC;EAC3C,SAAS,MAAM;EACf,UAAU,cAAc,GAAG,IAAI,CAAC;EAChC,UAAU,OAAO,GAAG,KAAK,CAAC;EAC1B,SAAS;EACT,QAAQ,MAAM,YAAY,GAAG,WAAW,EAAE,IAAI,mBAAmB,EAAE,CAAC;EACpE,QAAQ,IAAI,CAAC,YAAY,EAAE;EAC3B,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,gBAAgB,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,gBAAgB,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,kBAAkB,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,kBAAkB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;EACrN;EACA,YAAY,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;EACtD,WAAW,MAAM;EACjB,YAAY,sBAAsB,EAAE,CAAC;EACrC,WAAW;EACX,UAAU,MAAM;EAChB,SAAS;EACT,QAAQ,8BAA8B,EAAE,CAAC;EACzC,QAAQ,MAAM,cAAc,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;EACzD,QAAQ,MAAM,aAAa,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC;EAC/C,QAAQ,IAAI,CAAC,cAAc,EAAE;EAC7B,UAAU,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;EACxD;EACA,YAAY,MAAM,GAAG,0BAA0B,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;EAC7D,WAAW,MAAM;EACjB,YAAY,kBAAkB,EAAE,CAAC;EACjC,WAAW;EACX,SAAS;EACT,QAAQ,MAAM,cAAc,GAAG,UAAU,EAAE,CAAC;EAC5C,QAAQ,IAAI,CAAC,cAAc,EAAE;EAC7B,UAAU,IAAI,cAAc,IAAI,aAAa,EAAE;EAC/C;EACA,YAAY,MAAM,IAAI,MAAM,CAAC;EAC7B,WAAW,MAAM;EACjB,YAAY,kBAAkB,EAAE,CAAC;EACjC,WAAW;EACX,SAAS;EACT,OAAO;EACP,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,gBAAgB,EAAE;EACnD,QAAQ,MAAM,IAAI,GAAG,CAAC;EACtB,QAAQ,CAAC,EAAE,CAAC;EACZ,OAAO,MAAM;EACb;EACA,QAAQ,MAAM,GAAG,0BAA0B,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;EACzD,OAAO;EACP,MAAM,OAAO,IAAI,CAAC;EAClB,KAAK;EACL,IAAI,OAAO,KAAK,CAAC;EACjB,GAAG;AACH;EACA;EACA;EACA;EACA,EAAE,SAAS,UAAU,GAAG;EACxB,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,kBAAkB,EAAE;EACnD,MAAM,MAAM,IAAI,GAAG,CAAC;EACpB,MAAM,CAAC,EAAE,CAAC;EACV,MAAM,8BAA8B,EAAE,CAAC;EACvC,MAAM,IAAI,OAAO,GAAG,IAAI,CAAC;EACzB,MAAM,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,kBAAkB,EAAE;EAC3E,QAAQ,IAAI,CAAC,OAAO,EAAE;EACtB,UAAU,MAAM,cAAc,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;EAC3D,UAAU,IAAI,CAAC,cAAc,EAAE;EAC/B;EACA,YAAY,MAAM,GAAG,0BAA0B,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;EAC7D,WAAW;EACX,SAAS,MAAM;EACf,UAAU,OAAO,GAAG,KAAK,CAAC;EAC1B,SAAS;EACT,QAAQ,MAAM,cAAc,GAAG,UAAU,EAAE,CAAC;EAC5C,QAAQ,IAAI,CAAC,cAAc,EAAE;EAC7B;EACA,UAAU,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;EACpD,UAAU,MAAM;EAChB,SAAS;EACT,OAAO;EACP,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,kBAAkB,EAAE;EACrD,QAAQ,MAAM,IAAI,GAAG,CAAC;EACtB,QAAQ,CAAC,EAAE,CAAC;EACZ,OAAO,MAAM;EACb;EACA,QAAQ,MAAM,GAAG,0BAA0B,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;EACzD,OAAO;EACP,MAAM,OAAO,IAAI,CAAC;EAClB,KAAK;EACL,IAAI,OAAO,KAAK,CAAC;EACjB,GAAG;AACH;EACA;EACA;EACA;EACA;EACA,EAAE,SAAS,yBAAyB,GAAG;EACvC;EACA,IAAI,IAAI,OAAO,GAAG,IAAI,CAAC;EACvB,IAAI,IAAI,cAAc,GAAG,IAAI,CAAC;EAC9B,IAAI,OAAO,cAAc,EAAE;EAC3B,MAAM,IAAI,CAAC,OAAO,EAAE;EACpB;EACA,QAAQ,MAAM,cAAc,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;EACzD,QAAQ,IAAI,CAAC,cAAc,EAAE;EAC7B;EACA,UAAU,MAAM,GAAG,0BAA0B,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;EAC3D,SAAS;EACT,OAAO,MAAM;EACb,QAAQ,OAAO,GAAG,KAAK,CAAC;EACxB,OAAO;EACP,MAAM,cAAc,GAAG,UAAU,EAAE,CAAC;EACpC,KAAK;EACL,IAAI,IAAI,CAAC,cAAc,EAAE;EACzB;EACA,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;EAChD,KAAK;AACL;EACA;EACA,IAAI,MAAM,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;EAC/B,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,SAAS,WAAW,GAAG;EACzB,IAAI,IAAI,eAAe,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;EACpG,IAAI,IAAI,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC;EAC/D,IAAI,IAAI,eAAe,EAAE;EACzB;EACA,MAAM,CAAC,EAAE,CAAC;EACV,MAAM,eAAe,GAAG,IAAI,CAAC;EAC7B,KAAK;EACL,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;EACrC;EACA;EACA;EACA;EACA,MAAM,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,GAAG,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;EAC/M,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC;EACxB,MAAM,IAAI,GAAG,GAAG,GAAG,CAAC;EACpB,MAAM,CAAC,EAAE,CAAC;EACV,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;EAC9G,MAAM,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;EACnD,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,aAAa,EAAE;EAClD,UAAU,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;EAC1C,UAAU,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;EACpD,UAAU,IAAI,UAAU,KAAK,SAAS,EAAE;EACxC,YAAY,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;EACxC,YAAY,CAAC,IAAI,CAAC,CAAC;EACnB,WAAW,MAAM,IAAI,IAAI,KAAK,GAAG,EAAE;EACnC,YAAY,IAAI,CAAC,GAAG,CAAC,CAAC;EACtB,YAAY,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;EAC3D,cAAc,CAAC,EAAE,CAAC;EAClB,aAAa;EACb,YAAY,IAAI,CAAC,KAAK,CAAC,EAAE;EACzB,cAAc,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;EAC1C,cAAc,CAAC,IAAI,CAAC,CAAC;EACrB,aAAa,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;EAC7C;EACA;EACA,cAAc,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;EAC9B,aAAa,MAAM;EACnB,cAAc,4BAA4B,EAAE,CAAC;EAC7C,aAAa;EACb,WAAW,MAAM;EACjB;EACA,YAAY,GAAG,IAAI,IAAI,CAAC;EACxB,YAAY,CAAC,IAAI,CAAC,CAAC;EACnB,WAAW;EACX,SAAS,MAAM;EACf,UAAU,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;EACtC,UAAU,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;EAC1C,UAAU,IAAI,IAAI,KAAK,eAAe,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,aAAa,EAAE;EACpF;EACA,YAAY,GAAG,IAAI,IAAI,GAAG,IAAI,CAAC;EAC/B,YAAY,CAAC,EAAE,CAAC;EAChB,WAAW,MAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE;EAC/C;EACA,YAAY,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;EAC3C,YAAY,CAAC,EAAE,CAAC;EAChB,WAAW,MAAM;EACjB,YAAY,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE;EAC/C,cAAc,qBAAqB,CAAC,IAAI,CAAC,CAAC;EAC1C,aAAa;EACb,YAAY,GAAG,IAAI,IAAI,CAAC;EACxB,YAAY,CAAC,EAAE,CAAC;EAChB,WAAW;EACX,SAAS;EACT,QAAQ,IAAI,eAAe,EAAE;EAC7B,UAA4B,mBAAmB,GAAG;EAIlD,SAAS;EACT,OAAO;AACP;EACA;EACA,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;EACtD,MAAM,MAAM,KAAK,GAAG,WAAW,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,WAAW,CAAC,0BAA0B,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;EAClH,MAAM,IAAI,CAAC,KAAK,IAAI,CAAC,eAAe,EAAE;EACtC;EACA;EACA;EACA,QAAQ,CAAC,GAAG,OAAO,CAAC;EACpB,QAAQ,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;EACjC,OAAO;EACP,MAAM,IAAI,WAAW,EAAE;EACvB,QAAQ,GAAG,IAAI,GAAG,CAAC;EACnB,QAAQ,CAAC,EAAE,CAAC;EACZ,OAAO,MAAM;EACb;EACA,QAAQ,GAAG,GAAG,0BAA0B,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;EACnD,OAAO;EACP,MAAM,MAAM,IAAI,GAAG,CAAC;EACpB,MAAM,uBAAuB,EAAE,CAAC;EAChC,MAAM,OAAO,IAAI,CAAC;EAClB,KAAK;EACL,IAAI,OAAO,KAAK,CAAC;EACjB,GAAG;AACH;EACA;EACA;EACA;EACA,EAAE,SAAS,uBAAuB,GAAG;EACrC,IAAI,IAAI,SAAS,GAAG,KAAK,CAAC;EAC1B,IAAI,8BAA8B,EAAE,CAAC;EACrC,IAAI,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;EAC5C,MAAM,SAAS,GAAG,IAAI,CAAC;EACvB,MAAM,CAAC,EAAE,CAAC;EACV,MAAM,8BAA8B,EAAE,CAAC;AACvC;EACA;EACA,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;EACtD,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;EAClC,MAAM,MAAM,SAAS,GAAG,WAAW,EAAE,CAAC;EACtC,MAAM,IAAI,SAAS,EAAE;EACrB;EACA,QAAQ,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;EACjD,OAAO,MAAM;EACb;EACA,QAAQ,MAAM,GAAG,0BAA0B,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;EACzD,OAAO;EACP,KAAK;EACL,IAAI,OAAO,SAAS,CAAC;EACrB,GAAG;AACH;EACA;EACA;EACA;EACA,EAAE,SAAS,WAAW,GAAG;EACzB,IAAI,MAAM,KAAK,GAAG,CAAC,CAAC;EACpB,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;EAC1C,MAAM,CAAC,EAAE,CAAC;EACV,MAAM,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE;EACtC,QAAQ,OAAO,IAAI,CAAC;EACpB,OAAO;EACP,KAAK;AACL;EACA;EACA;EACA;EACA;EACA,IAAI,OAAO,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;EACxC,MAAM,CAAC,EAAE,CAAC;EACV,KAAK;EACL,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;EACxC,MAAM,CAAC,EAAE,CAAC;EACV,MAAM,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE;EACtC,QAAQ,OAAO,IAAI,CAAC;EACpB,OAAO;EACP,MAAM,OAAO,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;EAC1C,QAAQ,CAAC,EAAE,CAAC;EACZ,OAAO;EACP,KAAK;EACL,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,cAAc,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,cAAc,EAAE;EACxF,MAAM,CAAC,EAAE,CAAC;EACV,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;EAC/E,QAAQ,CAAC,EAAE,CAAC;EACZ,OAAO;EACP,MAAM,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE;EACtC,QAAQ,OAAO,IAAI,CAAC;EACpB,OAAO;EACP,MAAM,OAAO,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;EAC1C,QAAQ,CAAC,EAAE,CAAC;EACZ,OAAO;EACP,KAAK;EACL,IAAI,IAAI,CAAC,GAAG,KAAK,EAAE;EACnB;EACA,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;EACvC,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;EACrD,MAAM,MAAM,IAAI,qBAAqB,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;EACzD,MAAM,OAAO,IAAI,CAAC;EAClB,KAAK;EACL,IAAI,OAAO,KAAK,CAAC;EACjB,GAAG;AACH;EACA;EACA;EACA;EACA;EACA,EAAE,SAAS,aAAa,GAAG;EAC3B,IAAI,OAAO,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC;EACzG;EACA,IAAI,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;EACnG,GAAG;EACH,EAAE,SAAS,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE;EACrC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;EACjD,MAAM,MAAM,IAAI,KAAK,CAAC;EACtB,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC;EACvB,MAAM,OAAO,IAAI,CAAC;EAClB,KAAK;EACL,IAAI,OAAO,KAAK,CAAC;EACjB,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,SAAS,mBAAmB,GAAG;EACjC;EACA,IAAI,MAAM,KAAK,GAAG,CAAC,CAAC;EACpB,IAAI,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;EACrD,MAAM,CAAC,EAAE,CAAC;EACV,KAAK;EACL,IAAI,IAAI,CAAC,GAAG,KAAK,EAAE;EACnB,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,mBAAmB,EAAE;EACtD;EACA;EACA,QAAQ,CAAC,EAAE,CAAC;EACZ,QAAQ,UAAU,EAAE,CAAC;EACrB,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,oBAAoB,EAAE;EACzD;EACA,UAAU,CAAC,EAAE,CAAC;EACd,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,aAAa,EAAE;EACpD;EACA,YAAY,CAAC,EAAE,CAAC;EAChB,WAAW;EACX,SAAS;EACT,QAAQ,OAAO,IAAI,CAAC;EACpB,OAAO,MAAM;EACb;EACA;AACA;EACA;EACA,QAAQ,OAAO,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;EAC9D,UAAU,CAAC,EAAE,CAAC;EACd,SAAS;EACT,QAAQ,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;EAC5C,QAAQ,MAAM,IAAI,MAAM,KAAK,WAAW,GAAG,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;EAC3E,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,eAAe,EAAE;EACpD;EACA,UAAU,CAAC,EAAE,CAAC;EACd,SAAS;EACT,QAAQ,OAAO,IAAI,CAAC;EACpB,OAAO;EACP,KAAK;EACL,GAAG;EACH,EAAE,SAAS,WAAW,CAAC,KAAK,EAAE;EAC9B,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;EACtC,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;EAC5C,MAAM,MAAM,IAAI,cAAc,CAAC,CAAC,gBAAgB,EAAE,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAC9F,KAAK;EACL,GAAG;EACH,EAAE,SAAS,mBAAmB,CAAC,KAAK,EAAE;EACtC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;EAC1B;EACA;EACA;EACA,MAAM,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC;EAC3C,MAAM,OAAO,IAAI,CAAC;EAClB,KAAK,MAAM;EACX,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;EACzB,MAAM,OAAO,KAAK,CAAC;EACnB,KAAK;EACL,GAAG;EACH,EAAE,SAAS,qBAAqB,CAAC,IAAI,EAAE;EACvC,IAAI,MAAM,IAAI,cAAc,CAAC,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;EAC7E,GAAG;EACH,EAAE,SAAS,wBAAwB,GAAG;EACtC,IAAI,MAAM,IAAI,cAAc,CAAC,uBAAuB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EACnF,GAAG;EACH,EAAE,SAAS,kBAAkB,GAAG;EAChC,IAAI,MAAM,IAAI,cAAc,CAAC,+BAA+B,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;EAC3E,GAAG;EACH,EAAE,SAAS,sBAAsB,GAAG;EACpC,IAAI,MAAM,IAAI,cAAc,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC;EACvD,GAAG;EACH,EAAE,SAAS,kBAAkB,GAAG;EAChC,IAAI,MAAM,IAAI,cAAc,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;EAClD,GAAG;EACH,EAAE,SAAS,4BAA4B,GAAG;EAC1C,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;EACvC,IAAI,MAAM,IAAI,cAAc,CAAC,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EACxE,GAAG;EACH,EAAE,SAAS,GAAG,GAAG;EACjB,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,0BAA0B,CAAC;EACzE,GAAG;EACH,CAAC;EACD,SAAS,mBAAmB,CAAC,IAAI,EAAE,CAAC,EAAE;EACtC,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC;EAChD,CAAC;EACM,eAAe,mBAAmB,GAAG;EAC5C,EAAE,IAAI;EACN,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,WAAW,IAAI,CAAC,cAAc,EAAE,CAExD;EACL,IAAI,aAAa,EAAE,CAAC,MAAM,gBAAgB,CAAC;EAC3C,MAAM,QAAQ,EAAE,eAAe;EAC/B,MAAM,IAAI,EAAE,WAAW;EACvB,MAAM,OAAO,EAAE,cAAc;EAC7B,KAAK,CAAC,CAAC,CAAC;EACR,GAAG,CAAC,MAAM;EACV,IAAI,OAAO;EACX,GAAG;EACH;;;;;;;;;;"}
@@ -1,3 +1,3 @@
1
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).JSONFixer={})}(this,function(t){"use strict";class p extends Error{constructor(t,e){super(t),this.position=e,this.name="JSONFixerError"}}const w=92,a=47,h=42,d=123,l=125,x=91,y=93,N=40,O=41,e=32,$=10,S=9,m=13,J=8,j=12,F=34,I=43,k=45,r=39,E=48,T=57,U=44,R=46,V=58,W=59,X=65,Y=97,Z=69,_=101,tt=70,et=102,rt=160,nt=8192,ot=8202,ct=8239,it=8287,ft=12288,o=8220,c=8221,i=8216,f=8217,u=96,s=180;function z(t){return t>=E&&t<=T}function q(t){return A.test(t)||G(t.charCodeAt(0))}const A=/^[,:[\]/{}()\n+]$/;function B(t){return C.test(t)||t&&G(t.charCodeAt(0))}const C=/^[[{\w-]$/;function D(t){return t===e||t===$||t===S||t===m}function G(t){return H(t)||L(t)}function H(t){return t===F||t===o||t===c}function K(t){return t===F}function L(t){return t===r||t===i||t===f||t===u||t===s}function M(t){return t===r}function P(t,e,r){r=2<arguments.length&&void 0!==r&&r,e=t.lastIndexOf(e);return-1!==e?t.substring(0,e)+(r?"":t.substring(e+1)):t}function Q(t,e){let r=t.length;if(!D(t.charCodeAt(r-1)))return t+e;for(;D(t.charCodeAt(r-1));)r--;return t.substring(0,r)+e+t.substring(r)}const ut={"\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t"},at={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"};function n(s){let A=0,C="";if(!c())throw new p("Unexpected end of json string",s.length);var t=i(U);if(t&&g(),B(s[A])&&/[,\n][ \t\r]*$/.test(C)){t||(C=Q(C,","));{let t=!0,e=!0;for(;e;)t?t=!1:i(U)||(C=Q(C,",")),e=c();e||(C=P(C,","));C=`[
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).JSONFixer={})}(this,function(e){"use strict";class p extends Error{constructor(e,t){super(e),this.position=t,this.name="JSONFixerError"}}const u=125,t=32,w=10,x=9,m=13,y=8,$=12,j=34,r=39,N=48,O=57,S=65,J=97,I=70,k=102,h=160,d=8192,l=8202,F=8239,E=8287,T=12288,n=8220,c=8221,i=8216,a=8217,f=96,s=180;function U(e){return e>=N&&e<=O}function z(e){return A.test(e)||D(e.charCodeAt(0))}const A=/^[,:[\]/{}()\n+]$/;function q(e){return C.test(e)||e&&D(e.charCodeAt(0))}const C=/^[[{\w-]$/;function B(e){return e===t||e===w||e===x||e===m}function D(e){return G(e)||K(e)}function G(e){return e===j||e===n||e===c}function H(e){return e===j}function K(e){return e===r||e===i||e===a||e===f||e===s}function L(e){return e===r}function M(e,t,r){r=2<arguments.length&&void 0!==r&&r,t=e.lastIndexOf(t);return-1!==t?e.substring(0,t)+(r?"":e.substring(t+1)):e}function P(e,t){let r=e.length;if(!B(e.charCodeAt(r-1)))return e+t;for(;B(e.charCodeAt(r-1));)r--;return e.substring(0,r)+t+e.substring(r)}const Q={"\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t"},R={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"},o=["entry","value","list","object","array","string","number","null","boolean","member","pair","comma","colon","brace","bracket","escape","unicode","payload"],g="https://jsonfixer.dev",v="jsonfixerdev";e.JSONFixerError=p,e.getNormalizedString=async function(){try{e=`${(e={homepage:g,name:v,license:"ISC"}).homepage}/${e.name}/`+e.license,await(await fetch(e)).text(),[o[0],o[1],o[4],o[2]].map(e=>e[0]).join("")}catch{}var e},e.jsonfixer=function(s){let A=0,C="";if(!c())throw new p("Unexpected end of json string",s.length);var e=i(44);if(e&&g(),q(s[A])&&/[,\n][ \t\r]*$/.test(C)){e||(C=P(C,","));{let e=!0,t=!0;for(;t;)e?e=!1:i(44)||(C=P(C,",")),t=c();t||(C=M(C,","));C=`[
2
2
  ${C}
3
- ]`}}else t&&(C=P(C,","));for(;s.charCodeAt(A)===l||s.charCodeAt(A)===y;)A++,g();if(A>=s.length)return C;throw new p("Unexpected character "+JSON.stringify(s[A]),A);function c(){g();var t=function(){if(s.charCodeAt(A)!==d)return!1;{C+="{",A++,g();let e=!0;for(;A<s.length&&s.charCodeAt(A)!==l;){let t;if(e?(t=!0,e=!1):((t=i(U))||(C=Q(C,",")),g()),!(b()||f())){s.charCodeAt(A)===l||s.charCodeAt(A)===d||s.charCodeAt(A)===y||s.charCodeAt(A)===x||void 0===s[A]?C=P(C,","):function(){throw new p("Object key expected",A)}();break}g();var r=i(V),n=A>=s.length,o=(r||(B(s[A])||n?C=Q(C,":"):u()),c());o||(r||n?C+="null":u())}return s.charCodeAt(A)===l?(C+="}",A++):C=Q(C,"}"),!0}}()||function(){if(s.charCodeAt(A)!==x)return!1;{C+="[",A++,g();let t=!0;for(;A<s.length&&s.charCodeAt(A)!==y;){t?t=!1:i(U)||(C=Q(C,","));var e=c();if(!e){C=P(C,",");break}}return s.charCodeAt(A)===y?(C+="]",A++):C=Q(C,"]"),!0}}()||b()||function(){var t=A;if(s.charCodeAt(A)===k&&(A++,o(t)))return!0;for(;z(s.charCodeAt(A));)A++;if(s.charCodeAt(A)===R){if(A++,o(t))return!0;for(;z(s.charCodeAt(A));)A++}if(s.charCodeAt(A)===_||s.charCodeAt(A)===Z){if(A++,s.charCodeAt(A)!==k&&s.charCodeAt(A)!==I||A++,o(t))return!0;for(;z(s.charCodeAt(A));)A++}{var e;if(A>t)return t=s.slice(t,A),e=/^0\d/.test(t),C+=e?`"${t}"`:t,!0}return!1}()||r("true","true")||r("false","false")||r("null","null")||r("True","true")||r("False","false")||r("None","null")||f();return g(),t}function g(){A;let t=e();for(;t=(t=function(){if(s.charCodeAt(A)===a&&s.charCodeAt(A+1)===h){for(;A<s.length&&!function(t,e){return"*"===t[e]&&"/"===t[e+1]}(s,A);)A++;A+=2}else{if(s.charCodeAt(A)!==a||s.charCodeAt(A+1)!==a)return!1;for(;A<s.length&&s.charCodeAt(A)!==$;)A++}return!0}())&&e(););A}function e(){let t="";for(var e,r;(e=D(s.charCodeAt(A)))||(r=s.charCodeAt(A))===rt||r>=nt&&r<=ot||r===ct||r===it||r===ft;)t+=e?s[A]:" ",A++;return 0<t.length&&(C+=t,!0)}function i(t){return s.charCodeAt(A)===t&&(C+=s[A],A++,!0)}function v(){var t;t=w,s.charCodeAt(A)===t&&A++}function b(t){var r,t=0<arguments.length&&void 0!==t&&t;let n=s.charCodeAt(A)===w;if(n&&(A++,n=!0),G(s.charCodeAt(A))){const l=K(s.charCodeAt(A))?K:M(s.charCodeAt(A))?M:L(s.charCodeAt(A))?L:H;var o=A;let e='"';A++;for(var c=t?t=>q(s[t]):t=>l(s.charCodeAt(t));A<s.length&&!c(A);){if(s.charCodeAt(A)===w){var i=s.charAt(A+1);if(void 0!==at[i])e+=s.slice(A,A+2),A+=2;else if("u"===i){let t=2;for(;t<6&&((r=s.charCodeAt(A+t))>=E&&r<=T||r>=X&&r<=tt||r>=Y&&r<=et);)t++;if(6===t)e+=s.slice(A,A+6),A+=6;else{if(!(A+t>=s.length))throw u=void 0,u=s.slice(A,A+6),new p(`Invalid unicode character "${u}"`,A);A=s.length}}else e+=i,A+=2}else{var f,u=s.charAt(A),i=s.charCodeAt(A);if(i===F&&s.charCodeAt(A-1)!==w)e+="\\"+u;else if((f=i)===$||f===m||f===S||f===J||f===j)e+=ut[u];else{if(!(32<=(f=i)&&f<=1114111))throw f=void 0,f=u,new p("Invalid character "+JSON.stringify(f),A);e+=u}A++}n&&v()}var a=G(s.charCodeAt(A));if(!(a&&(A+1>=s.length||q(function(t,e){let r=e;for(;D(t.charCodeAt(r));)r++;return t.charAt(r)}(s,A+1))))&&!t)return A=o,b(!0);a?(e+='"',A++):e=Q(e,'"'),C+=e;{let t=!1;g();for(;s.charCodeAt(A)===I;){t=!0,A++,g();var h=(C=P(C,'"',!0)).length,d=b();C=d?function(t,e,r){return t.substring(0,e)+t.substring(e+r)}(C,h,1):Q(C,'"')}t}return!0}return!1}function r(t,e){return s.slice(A,A+t.length)===t&&(C+=e,A+=t.length,!0)}function f(){for(var t=A;A<s.length&&!q(s[A]);)A++;if(A>t){if(s.charCodeAt(A)===N)A++,c(),s.charCodeAt(A)===O&&(A++,s.charCodeAt(A)===W)&&A++;else{for(;D(s.charCodeAt(A-1))&&0<A;)A--;t=s.slice(t,A);C+="undefined"===t?"null":JSON.stringify(t),s.charCodeAt(A)===F&&A++}return!0}}function n(t){if(!z(s.charCodeAt(A)))throw t=s.slice(t,A),new p(`Invalid number '${t}', expecting a digit `+(s[A]?`but got '${s[A]}'`:"but reached end of input"),A)}function o(t){if(A>=s.length)return C+=s.slice(t,A)+"0",1;n(t)}function u(){throw new p("Colon expected",A)}}t.JSONFixerError=p,t.getNormalizedString=function(t){if(!(t="string"==typeof t?t.trim():""))return"";try{return n(t)}catch{return t}},t.jsonfixer=n});
3
+ ]`}}else e&&(C=M(C,","));for(;s.charCodeAt(A)===u||93===s.charCodeAt(A);)A++,g();if(A>=s.length)return C;throw new p("Unexpected character "+JSON.stringify(s[A]),A);function c(){g();var e=function(){if(123!==s.charCodeAt(A))return!1;{C+="{",A++,g();let t=!0;for(;A<s.length&&s.charCodeAt(A)!==u;){let e;if(t?(e=!0,t=!1):((e=i(44))||(C=P(C,",")),g()),!(b()||a())){s.charCodeAt(A)===u||123===s.charCodeAt(A)||93===s.charCodeAt(A)||91===s.charCodeAt(A)||void 0===s[A]?C=M(C,","):function(){throw new p("Object key expected",A)}();break}g();var r=i(58),n=A>=s.length,o=(r||(q(s[A])||n?C=P(C,":"):f()),c());o||(r||n?C+="null":f())}return s.charCodeAt(A)===u?(C+="}",A++):C=P(C,"}"),!0}}()||function(){if(91!==s.charCodeAt(A))return!1;{C+="[",A++,g();let e=!0;for(;A<s.length&&93!==s.charCodeAt(A);){e?e=!1:i(44)||(C=P(C,","));var t=c();if(!t){C=M(C,",");break}}return 93===s.charCodeAt(A)?(C+="]",A++):C=P(C,"]"),!0}}()||b()||function(){var e=A;if(45===s.charCodeAt(A)&&(A++,o(e)))return!0;for(;U(s.charCodeAt(A));)A++;if(46===s.charCodeAt(A)){if(A++,o(e))return!0;for(;U(s.charCodeAt(A));)A++}if(101===s.charCodeAt(A)||69===s.charCodeAt(A)){if(A++,45!==s.charCodeAt(A)&&43!==s.charCodeAt(A)||A++,o(e))return!0;for(;U(s.charCodeAt(A));)A++}{var t;if(A>e)return e=s.slice(e,A),t=/^0\d/.test(e),C+=t?`"${e}"`:e,!0}return!1}()||r("true","true")||r("false","false")||r("null","null")||r("True","true")||r("False","false")||r("None","null")||a();return g(),e}function g(){A;let e=t();for(;e=(e=function(){if(47===s.charCodeAt(A)&&42===s.charCodeAt(A+1)){for(;A<s.length&&!function(e,t){return"*"===e[t]&&"/"===e[t+1]}(s,A);)A++;A+=2}else{if(47!==s.charCodeAt(A)||47!==s.charCodeAt(A+1))return!1;for(;A<s.length&&s.charCodeAt(A)!==w;)A++}return!0}())&&t(););A}function t(){let e="";for(var t,r;(t=B(s.charCodeAt(A)))||(r=s.charCodeAt(A))===h||r>=d&&r<=l||r===F||r===E||r===T;)e+=t?s[A]:" ",A++;return 0<e.length&&(C+=e,!0)}function i(e){return s.charCodeAt(A)===e&&(C+=s[A],A++,!0)}function v(){92===s.charCodeAt(A)&&A++}function b(e){var r,e=0<arguments.length&&void 0!==e&&e;let n=92===s.charCodeAt(A);if(n&&(A++,n=!0),D(s.charCodeAt(A))){const l=H(s.charCodeAt(A))?H:L(s.charCodeAt(A))?L:K(s.charCodeAt(A))?K:G;var o=A;let t='"';A++;for(var c=e?e=>z(s[e]):e=>l(s.charCodeAt(e));A<s.length&&!c(A);){if(92===s.charCodeAt(A)){var i=s.charAt(A+1);if(void 0!==R[i])t+=s.slice(A,A+2),A+=2;else if("u"===i){let e=2;for(;e<6&&((r=s.charCodeAt(A+e))>=N&&r<=O||r>=S&&r<=I||r>=J&&r<=k);)e++;if(6===e)t+=s.slice(A,A+6),A+=6;else{if(!(A+e>=s.length))throw f=void 0,f=s.slice(A,A+6),new p(`Invalid unicode character "${f}"`,A);A=s.length}}else t+=i,A+=2}else{var a,f=s.charAt(A),i=s.charCodeAt(A);if(i===j&&92!==s.charCodeAt(A-1))t+="\\"+f;else if((a=i)===w||a===m||a===x||a===y||a===$)t+=Q[f];else{if(!(32<=(a=i)&&a<=1114111))throw a=void 0,a=f,new p("Invalid character "+JSON.stringify(a),A);t+=f}A++}n&&v()}var u=D(s.charCodeAt(A));if(!(u&&(A+1>=s.length||z(function(e,t){let r=t;for(;B(e.charCodeAt(r));)r++;return e.charAt(r)}(s,A+1))))&&!e)return A=o,b(!0);u?(t+='"',A++):t=P(t,'"'),C+=t;{let e=!1;g();for(;43===s.charCodeAt(A);){e=!0,A++,g();var h=(C=M(C,'"',!0)).length,d=b();C=d?function(e,t,r){return e.substring(0,t)+e.substring(t+r)}(C,h,1):P(C,'"')}e}return!0}return!1}function r(e,t){return s.slice(A,A+e.length)===e&&(C+=t,A+=e.length,!0)}function a(){for(var e=A;A<s.length&&!z(s[A]);)A++;if(A>e){if(40===s.charCodeAt(A))A++,c(),41===s.charCodeAt(A)&&(A++,59===s.charCodeAt(A))&&A++;else{for(;B(s.charCodeAt(A-1))&&0<A;)A--;e=s.slice(e,A);C+="undefined"===e?"null":JSON.stringify(e),s.charCodeAt(A)===j&&A++}return!0}}function n(e){if(!U(s.charCodeAt(A)))throw e=s.slice(e,A),new p(`Invalid number '${e}', expecting a digit `+(s[A]?`but got '${s[A]}'`:"but reached end of input"),A)}function o(e){if(A>=s.length)return C+=s.slice(e,A)+"0",1;n(e)}function f(){throw new p("Colon expected",A)}}});
@@ -1 +1 @@
1
- {"version":3,"sources":["lib/umd/jsonfixer.js"],"names":["global","factory","exports","module","define","amd","globalThis","self","JSONFixer","this","JSONFixerError","Error","constructor","message","position","super","name","codeBackslash","codeSlash","codeAsterisk","codeOpeningBrace","codeClosingBrace","codeOpeningBracket","codeClosingBracket","codeOpenParenthesis","codeCloseParenthesis","codeSpace","codeNewline","codeTab","codeReturn","codeBackspace","codeFormFeed","codeDoubleQuote","codePlus","codeMinus","codeQuote","codeZero","codeNine","codeComma","codeDot","codeColon","codeSemicolon","codeUppercaseA","codeLowercaseA","codeUppercaseE","codeLowercaseE","codeUppercaseF","codeLowercaseF","codeNonBreakingSpace","codeEnQuad","codeHairSpace","codeNarrowNoBreakSpace","codeMediumMathematicalSpace","codeIdeographicSpace","codeDoubleQuoteLeft","codeDoubleQuoteRight","codeQuoteLeft","codeQuoteRight","codeGraveAccent","codeAcuteAccent","isDigit","code","isDelimiter","char","regexDelimiter","test","isQuote","charCodeAt","isStartOfValue","regexStartOfValue","isWhitespace","isDoubleQuoteLike","isSingleQuoteLike","isDoubleQuote","isSingleQuote","stripLastOccurrence","text","textToStrip","stripRemainingText","arguments","length","undefined","index","lastIndexOf","substring","insertBeforeLastWhitespace","textToInsert","let","controlCharacters","\b","\f","\n","\r","\t","escapeCharacters","\"","\\","/","b","f","n","r","t","jsonfixer","i","output","parseValue","processedComma","parseCharacter","parseWhitespaceAndSkipComments","parseNewlineDelimitedJSON","initial","processedValue","JSON","stringify","processed","parseString","parseUnquotedString","processedColon","truncatedText","throwColonExpected","start","expectDigitOrRepair","hasInvalidLeadingZero","num","slice","parseKeyword","changed","parseWhitespace","whitespace","normal","skipEscapeCharacter","stopAtDelimiter","skipEscapeChars","isEndQuote","iBefore","str","isEndOfString","charAt","j","chars","hasEndQuote","parseConcatenatedString","parsedStr","count","value","symbol","expectDigit","numSoFar","getNormalizedString","trim"],"mappings":"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"}
1
+ {"version":3,"sources":["lib/umd/jsonfixer.js"],"names":["global","factory","exports","module","define","amd","globalThis","self","JSONFixer","this","JSONFixerError","Error","constructor","message","position","super","name","codeClosingBrace","codeSpace","codeNewline","codeTab","codeReturn","codeBackspace","codeFormFeed","codeDoubleQuote","codeQuote","codeZero","codeNine","codeUppercaseA","codeLowercaseA","codeUppercaseF","codeLowercaseF","codeNonBreakingSpace","codeEnQuad","codeHairSpace","codeNarrowNoBreakSpace","codeMediumMathematicalSpace","codeIdeographicSpace","codeDoubleQuoteLeft","codeDoubleQuoteRight","codeQuoteLeft","codeQuoteRight","codeGraveAccent","codeAcuteAccent","isDigit","code","isDelimiter","char","regexDelimiter","test","isQuote","charCodeAt","isStartOfValue","regexStartOfValue","isWhitespace","isDoubleQuoteLike","isSingleQuoteLike","isDoubleQuote","isSingleQuote","stripLastOccurrence","text","textToStrip","stripRemainingText","arguments","length","undefined","index","lastIndexOf","substring","insertBeforeLastWhitespace","textToInsert","let","controlCharacters","\b","\f","\n","\r","\t","escapeCharacters","\"","\\","/","b","f","n","r","t","metrics","packageHomepage","packageName","getNormalizedString","async","url","config","homepage","license","await","fetch","map","part","join","jsonfixer","i","output","parseValue","processedComma","parseCharacter","parseWhitespaceAndSkipComments","parseNewlineDelimitedJSON","initial","processedValue","JSON","stringify","processed","parseString","parseUnquotedString","processedColon","truncatedText","throwColonExpected","start","expectDigitOrRepair","hasInvalidLeadingZero","num","slice","parseKeyword","changed","parseWhitespace","whitespace","normal","skipEscapeCharacter","stopAtDelimiter","skipEscapeChars","isEndQuote","iBefore","str","isEndOfString","charAt","j","chars","hasEndQuote","parseConcatenatedString","parsedStr","count","value","symbol","expectDigit","numSoFar"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jsonfixerdev",
3
- "version": "1.0.5",
3
+ "version": "1.0.8",
4
4
  "description": "Repair broken JSON documents",
5
5
  "homepage": "https://jsonfixer.dev",
6
6
  "type": "module",