Файловый менеджер - Редактировать - /home/freeclou/app.optimyar.com/backend/node_modules/intl-messageformat/dist/umd/intl-messageformat.min.js.map
Назад
{"version":3,"file":"intl-messageformat.min.js","sources":["../../../intl-messageformat-parser/lib/types.js","../../../intl-messageformat-parser/lib/parser.js","../../../intl-messageformat-parser/lib/normalize.js","../../../intl-messageformat-parser/lib/skeleton.js","../../../intl-messageformat-parser/lib/index.js","../../../intl-format-cache/lib/index.js","../../lib/error.js","../../lib/formatters.js","../../lib/core.js"],"sourcesContent":["export var TYPE;\n(function (TYPE) {\n /**\n * Raw text\n */\n TYPE[TYPE[\"literal\"] = 0] = \"literal\";\n /**\n * Variable w/o any format, e.g `var` in `this is a {var}`\n */\n TYPE[TYPE[\"argument\"] = 1] = \"argument\";\n /**\n * Variable w/ number format\n */\n TYPE[TYPE[\"number\"] = 2] = \"number\";\n /**\n * Variable w/ date format\n */\n TYPE[TYPE[\"date\"] = 3] = \"date\";\n /**\n * Variable w/ time format\n */\n TYPE[TYPE[\"time\"] = 4] = \"time\";\n /**\n * Variable w/ select format\n */\n TYPE[TYPE[\"select\"] = 5] = \"select\";\n /**\n * Variable w/ plural format\n */\n TYPE[TYPE[\"plural\"] = 6] = \"plural\";\n /**\n * Only possible within plural argument.\n * This is the `#` symbol that will be substituted with the count.\n */\n TYPE[TYPE[\"pound\"] = 7] = \"pound\";\n /**\n * XML-like tag\n */\n TYPE[TYPE[\"tag\"] = 8] = \"tag\";\n})(TYPE || (TYPE = {}));\nexport var SKELETON_TYPE;\n(function (SKELETON_TYPE) {\n SKELETON_TYPE[SKELETON_TYPE[\"number\"] = 0] = \"number\";\n SKELETON_TYPE[SKELETON_TYPE[\"dateTime\"] = 1] = \"dateTime\";\n})(SKELETON_TYPE || (SKELETON_TYPE = {}));\n/**\n * Type Guards\n */\nexport function isLiteralElement(el) {\n return el.type === TYPE.literal;\n}\nexport function isArgumentElement(el) {\n return el.type === TYPE.argument;\n}\nexport function isNumberElement(el) {\n return el.type === TYPE.number;\n}\nexport function isDateElement(el) {\n return el.type === TYPE.date;\n}\nexport function isTimeElement(el) {\n return el.type === TYPE.time;\n}\nexport function isSelectElement(el) {\n return el.type === TYPE.select;\n}\nexport function isPluralElement(el) {\n return el.type === TYPE.plural;\n}\nexport function isPoundElement(el) {\n return el.type === TYPE.pound;\n}\nexport function isTagElement(el) {\n return el.type === TYPE.tag;\n}\nexport function isNumberSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === 0 /* number */);\n}\nexport function isDateTimeSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === 1 /* dateTime */);\n}\nexport function createLiteralElement(value) {\n return {\n type: TYPE.literal,\n value: value,\n };\n}\nexport function createNumberElement(value, style) {\n return {\n type: TYPE.number,\n value: value,\n style: style,\n };\n}\n//# sourceMappingURL=types.js.map","// tslint:disable:only-arrow-functions\n// tslint:disable:object-literal-shorthand\n// tslint:disable:trailing-comma\n// tslint:disable:object-literal-sort-keys\n// tslint:disable:one-variable-per-declaration\n// tslint:disable:max-line-length\n// tslint:disable:no-consecutive-blank-lines\n// tslint:disable:align\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// Generated by PEG.js v. 0.10.0 (ts-pegjs plugin v. 0.2.6 )\n//\n// https://pegjs.org/ https://github.com/metadevpro/ts-pegjs\nimport { TYPE, } from './types';\nvar SyntaxError = /** @class */ (function (_super) {\n __extends(SyntaxError, _super);\n function SyntaxError(message, expected, found, location) {\n var _this = _super.call(this) || this;\n _this.message = message;\n _this.expected = expected;\n _this.found = found;\n _this.location = location;\n _this.name = \"SyntaxError\";\n if (typeof Error.captureStackTrace === \"function\") {\n Error.captureStackTrace(_this, SyntaxError);\n }\n return _this;\n }\n SyntaxError.buildMessage = function (expected, found) {\n function hex(ch) {\n return ch.charCodeAt(0).toString(16).toUpperCase();\n }\n function literalEscape(s) {\n return s\n .replace(/\\\\/g, \"\\\\\\\\\")\n .replace(/\"/g, \"\\\\\\\"\")\n .replace(/\\0/g, \"\\\\0\")\n .replace(/\\t/g, \"\\\\t\")\n .replace(/\\n/g, \"\\\\n\")\n .replace(/\\r/g, \"\\\\r\")\n .replace(/[\\x00-\\x0F]/g, function (ch) { return \"\\\\x0\" + hex(ch); })\n .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function (ch) { return \"\\\\x\" + hex(ch); });\n }\n function classEscape(s) {\n return s\n .replace(/\\\\/g, \"\\\\\\\\\")\n .replace(/\\]/g, \"\\\\]\")\n .replace(/\\^/g, \"\\\\^\")\n .replace(/-/g, \"\\\\-\")\n .replace(/\\0/g, \"\\\\0\")\n .replace(/\\t/g, \"\\\\t\")\n .replace(/\\n/g, \"\\\\n\")\n .replace(/\\r/g, \"\\\\r\")\n .replace(/[\\x00-\\x0F]/g, function (ch) { return \"\\\\x0\" + hex(ch); })\n .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function (ch) { return \"\\\\x\" + hex(ch); });\n }\n function describeExpectation(expectation) {\n switch (expectation.type) {\n case \"literal\":\n return \"\\\"\" + literalEscape(expectation.text) + \"\\\"\";\n case \"class\":\n var escapedParts = expectation.parts.map(function (part) {\n return Array.isArray(part)\n ? classEscape(part[0]) + \"-\" + classEscape(part[1])\n : classEscape(part);\n });\n return \"[\" + (expectation.inverted ? \"^\" : \"\") + escapedParts + \"]\";\n case \"any\":\n return \"any character\";\n case \"end\":\n return \"end of input\";\n case \"other\":\n return expectation.description;\n }\n }\n function describeExpected(expected1) {\n var descriptions = expected1.map(describeExpectation);\n var i;\n var j;\n descriptions.sort();\n if (descriptions.length > 0) {\n for (i = 1, j = 1; i < descriptions.length; i++) {\n if (descriptions[i - 1] !== descriptions[i]) {\n descriptions[j] = descriptions[i];\n j++;\n }\n }\n descriptions.length = j;\n }\n switch (descriptions.length) {\n case 1:\n return descriptions[0];\n case 2:\n return descriptions[0] + \" or \" + descriptions[1];\n default:\n return descriptions.slice(0, -1).join(\", \")\n + \", or \"\n + descriptions[descriptions.length - 1];\n }\n }\n function describeFound(found1) {\n return found1 ? \"\\\"\" + literalEscape(found1) + \"\\\"\" : \"end of input\";\n }\n return \"Expected \" + describeExpected(expected) + \" but \" + describeFound(found) + \" found.\";\n };\n return SyntaxError;\n}(Error));\nexport { SyntaxError };\nfunction peg$parse(input, options) {\n options = options !== undefined ? options : {};\n var peg$FAILED = {};\n var peg$startRuleFunctions = { start: peg$parsestart };\n var peg$startRuleFunction = peg$parsestart;\n var peg$c0 = function (parts) {\n return parts.join('');\n };\n var peg$c1 = function (messageText) {\n return __assign({ type: TYPE.literal, value: messageText }, insertLocation());\n };\n var peg$c2 = \"#\";\n var peg$c3 = peg$literalExpectation(\"#\", false);\n var peg$c4 = function () {\n return __assign({ type: TYPE.pound }, insertLocation());\n };\n var peg$c5 = peg$otherExpectation(\"tagElement\");\n var peg$c6 = \"<\";\n var peg$c7 = peg$literalExpectation(\"<\", false);\n var peg$c8 = \"/>\";\n var peg$c9 = peg$literalExpectation(\"/>\", false);\n var peg$c10 = function (value) {\n return __assign({ type: TYPE.literal, value: value.join('') }, insertLocation());\n };\n var peg$c11 = function (open, children, close) {\n if (open !== close) {\n error(\"Mismatch tag \\\"\" + open + \"\\\" !== \\\"\" + close + \"\\\"\", location());\n }\n return __assign({ type: TYPE.tag, value: open, children: children }, insertLocation());\n };\n var peg$c12 = function () { messageCtx.push('openingTag'); return true; };\n var peg$c13 = \">\";\n var peg$c14 = peg$literalExpectation(\">\", false);\n var peg$c15 = function (tag) { messageCtx.pop(); return true; };\n var peg$c16 = function (tag) {\n return tag;\n };\n var peg$c17 = \"</\";\n var peg$c18 = peg$literalExpectation(\"</\", false);\n var peg$c19 = function () { messageCtx.push('closingTag'); return true; };\n var peg$c20 = peg$otherExpectation(\"argumentElement\");\n var peg$c21 = \"{\";\n var peg$c22 = peg$literalExpectation(\"{\", false);\n var peg$c23 = \"}\";\n var peg$c24 = peg$literalExpectation(\"}\", false);\n var peg$c25 = function (value) {\n return __assign({ type: TYPE.argument, value: value }, insertLocation());\n };\n var peg$c26 = peg$otherExpectation(\"numberSkeletonId\");\n var peg$c27 = /^['\\/{}]/;\n var peg$c28 = peg$classExpectation([\"'\", \"/\", \"{\", \"}\"], false, false);\n var peg$c29 = peg$anyExpectation();\n var peg$c30 = peg$otherExpectation(\"numberSkeletonTokenOption\");\n var peg$c31 = \"/\";\n var peg$c32 = peg$literalExpectation(\"/\", false);\n var peg$c33 = function (option) { return option; };\n var peg$c34 = peg$otherExpectation(\"numberSkeletonToken\");\n var peg$c35 = function (stem, options) {\n return { stem: stem, options: options };\n };\n var peg$c36 = function (tokens) {\n return __assign({ type: 0 /* number */, tokens: tokens }, insertLocation());\n };\n var peg$c37 = \"::\";\n var peg$c38 = peg$literalExpectation(\"::\", false);\n var peg$c39 = function (skeleton) { return skeleton; };\n var peg$c40 = function () { messageCtx.push('numberArgStyle'); return true; };\n var peg$c41 = function (style) {\n messageCtx.pop();\n return style.replace(/\\s*$/, '');\n };\n var peg$c42 = \",\";\n var peg$c43 = peg$literalExpectation(\",\", false);\n var peg$c44 = \"number\";\n var peg$c45 = peg$literalExpectation(\"number\", false);\n var peg$c46 = function (value, type, style) {\n return __assign({ type: type === 'number' ? TYPE.number : type === 'date' ? TYPE.date : TYPE.time, style: style && style[2], value: value }, insertLocation());\n };\n var peg$c47 = \"'\";\n var peg$c48 = peg$literalExpectation(\"'\", false);\n var peg$c49 = /^[^']/;\n var peg$c50 = peg$classExpectation([\"'\"], true, false);\n var peg$c51 = /^[^a-zA-Z'{}]/;\n var peg$c52 = peg$classExpectation([[\"a\", \"z\"], [\"A\", \"Z\"], \"'\", \"{\", \"}\"], true, false);\n var peg$c53 = /^[a-zA-Z]/;\n var peg$c54 = peg$classExpectation([[\"a\", \"z\"], [\"A\", \"Z\"]], false, false);\n var peg$c55 = function (pattern) {\n return __assign({ type: 1 /* dateTime */, pattern: pattern }, insertLocation());\n };\n var peg$c56 = function () { messageCtx.push('dateOrTimeArgStyle'); return true; };\n var peg$c57 = \"date\";\n var peg$c58 = peg$literalExpectation(\"date\", false);\n var peg$c59 = \"time\";\n var peg$c60 = peg$literalExpectation(\"time\", false);\n var peg$c61 = \"plural\";\n var peg$c62 = peg$literalExpectation(\"plural\", false);\n var peg$c63 = \"selectordinal\";\n var peg$c64 = peg$literalExpectation(\"selectordinal\", false);\n var peg$c65 = \"offset:\";\n var peg$c66 = peg$literalExpectation(\"offset:\", false);\n var peg$c67 = function (value, pluralType, offset, options) {\n return __assign({ type: TYPE.plural, pluralType: pluralType === 'plural' ? 'cardinal' : 'ordinal', value: value, offset: offset ? offset[2] : 0, options: options.reduce(function (all, _a) {\n var id = _a.id, value = _a.value, optionLocation = _a.location;\n if (id in all) {\n error(\"Duplicate option \\\"\" + id + \"\\\" in plural element: \\\"\" + text() + \"\\\"\", location());\n }\n all[id] = {\n value: value,\n location: optionLocation\n };\n return all;\n }, {}) }, insertLocation());\n };\n var peg$c68 = \"select\";\n var peg$c69 = peg$literalExpectation(\"select\", false);\n var peg$c70 = function (value, options) {\n return __assign({ type: TYPE.select, value: value, options: options.reduce(function (all, _a) {\n var id = _a.id, value = _a.value, optionLocation = _a.location;\n if (id in all) {\n error(\"Duplicate option \\\"\" + id + \"\\\" in select element: \\\"\" + text() + \"\\\"\", location());\n }\n all[id] = {\n value: value,\n location: optionLocation\n };\n return all;\n }, {}) }, insertLocation());\n };\n var peg$c71 = \"=\";\n var peg$c72 = peg$literalExpectation(\"=\", false);\n var peg$c73 = function (id) { messageCtx.push('select'); return true; };\n var peg$c74 = function (id, value) {\n messageCtx.pop();\n return __assign({ id: id,\n value: value }, insertLocation());\n };\n var peg$c75 = function (id) { messageCtx.push('plural'); return true; };\n var peg$c76 = function (id, value) {\n messageCtx.pop();\n return __assign({ id: id,\n value: value }, insertLocation());\n };\n var peg$c77 = peg$otherExpectation(\"whitespace\");\n var peg$c78 = /^[\\t-\\r \\x85\\xA0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]/;\n var peg$c79 = peg$classExpectation([[\"\\t\", \"\\r\"], \" \", \"\\x85\", \"\\xA0\", \"\\u1680\", [\"\\u2000\", \"\\u200A\"], \"\\u2028\", \"\\u2029\", \"\\u202F\", \"\\u205F\", \"\\u3000\"], false, false);\n var peg$c80 = peg$otherExpectation(\"syntax pattern\");\n var peg$c81 = /^[!-\\/:-@[-\\^`{-~\\xA1-\\xA7\\xA9\\xAB\\xAC\\xAE\\xB0\\xB1\\xB6\\xBB\\xBF\\xD7\\xF7\\u2010-\\u2027\\u2030-\\u203E\\u2041-\\u2053\\u2055-\\u205E\\u2190-\\u245F\\u2500-\\u2775\\u2794-\\u2BFF\\u2E00-\\u2E7F\\u3001-\\u3003\\u3008-\\u3020\\u3030\\uFD3E\\uFD3F\\uFE45\\uFE46]/;\n var peg$c82 = peg$classExpectation([[\"!\", \"/\"], [\":\", \"@\"], [\"[\", \"^\"], \"`\", [\"{\", \"~\"], [\"\\xA1\", \"\\xA7\"], \"\\xA9\", \"\\xAB\", \"\\xAC\", \"\\xAE\", \"\\xB0\", \"\\xB1\", \"\\xB6\", \"\\xBB\", \"\\xBF\", \"\\xD7\", \"\\xF7\", [\"\\u2010\", \"\\u2027\"], [\"\\u2030\", \"\\u203E\"], [\"\\u2041\", \"\\u2053\"], [\"\\u2055\", \"\\u205E\"], [\"\\u2190\", \"\\u245F\"], [\"\\u2500\", \"\\u2775\"], [\"\\u2794\", \"\\u2BFF\"], [\"\\u2E00\", \"\\u2E7F\"], [\"\\u3001\", \"\\u3003\"], [\"\\u3008\", \"\\u3020\"], \"\\u3030\", \"\\uFD3E\", \"\\uFD3F\", \"\\uFE45\", \"\\uFE46\"], false, false);\n var peg$c83 = peg$otherExpectation(\"optional whitespace\");\n var peg$c84 = peg$otherExpectation(\"number\");\n var peg$c85 = \"-\";\n var peg$c86 = peg$literalExpectation(\"-\", false);\n var peg$c87 = function (negative, num) {\n return num\n ? negative\n ? -num\n : num\n : 0;\n };\n var peg$c88 = peg$otherExpectation(\"apostrophe\");\n var peg$c89 = peg$otherExpectation(\"double apostrophes\");\n var peg$c90 = \"''\";\n var peg$c91 = peg$literalExpectation(\"''\", false);\n var peg$c92 = function () { return \"'\"; };\n var peg$c93 = function (escapedChar, quotedChars) {\n return escapedChar + quotedChars.replace(\"''\", \"'\");\n };\n var peg$c94 = function (x) {\n return ((ignoreTag() || x !== '<') &&\n x !== '{' &&\n !(isInPluralOption() && x === '#') &&\n !(isNestedMessageText() && x === '}') &&\n !(!ignoreTag() && isNestedMessageText() && x === '>'));\n };\n var peg$c95 = \"\\n\";\n var peg$c96 = peg$literalExpectation(\"\\n\", false);\n var peg$c97 = function (x) {\n return x === '<' || x === '>' || x === '{' || x === '}' || (isInPluralOption() && x === '#');\n };\n var peg$c98 = peg$otherExpectation(\"argNameOrNumber\");\n var peg$c99 = peg$otherExpectation(\"validTag\");\n var peg$c100 = peg$otherExpectation(\"argNumber\");\n var peg$c101 = \"0\";\n var peg$c102 = peg$literalExpectation(\"0\", false);\n var peg$c103 = function () { return 0; };\n var peg$c104 = /^[1-9]/;\n var peg$c105 = peg$classExpectation([[\"1\", \"9\"]], false, false);\n var peg$c106 = /^[0-9]/;\n var peg$c107 = peg$classExpectation([[\"0\", \"9\"]], false, false);\n var peg$c108 = function (digits) {\n return parseInt(digits.join(''), 10);\n };\n var peg$c109 = peg$otherExpectation(\"argName\");\n var peg$c110 = peg$otherExpectation(\"tagName\");\n var peg$currPos = 0;\n var peg$savedPos = 0;\n var peg$posDetailsCache = [{ line: 1, column: 1 }];\n var peg$maxFailPos = 0;\n var peg$maxFailExpected = [];\n var peg$silentFails = 0;\n var peg$result;\n if (options.startRule !== undefined) {\n if (!(options.startRule in peg$startRuleFunctions)) {\n throw new Error(\"Can't start parsing from rule \\\"\" + options.startRule + \"\\\".\");\n }\n peg$startRuleFunction = peg$startRuleFunctions[options.startRule];\n }\n function text() {\n return input.substring(peg$savedPos, peg$currPos);\n }\n function location() {\n return peg$computeLocation(peg$savedPos, peg$currPos);\n }\n function expected(description, location1) {\n location1 = location1 !== undefined\n ? location1\n : peg$computeLocation(peg$savedPos, peg$currPos);\n throw peg$buildStructuredError([peg$otherExpectation(description)], input.substring(peg$savedPos, peg$currPos), location1);\n }\n function error(message, location1) {\n location1 = location1 !== undefined\n ? location1\n : peg$computeLocation(peg$savedPos, peg$currPos);\n throw peg$buildSimpleError(message, location1);\n }\n function peg$literalExpectation(text1, ignoreCase) {\n return { type: \"literal\", text: text1, ignoreCase: ignoreCase };\n }\n function peg$classExpectation(parts, inverted, ignoreCase) {\n return { type: \"class\", parts: parts, inverted: inverted, ignoreCase: ignoreCase };\n }\n function peg$anyExpectation() {\n return { type: \"any\" };\n }\n function peg$endExpectation() {\n return { type: \"end\" };\n }\n function peg$otherExpectation(description) {\n return { type: \"other\", description: description };\n }\n function peg$computePosDetails(pos) {\n var details = peg$posDetailsCache[pos];\n var p;\n if (details) {\n return details;\n }\n else {\n p = pos - 1;\n while (!peg$posDetailsCache[p]) {\n p--;\n }\n details = peg$posDetailsCache[p];\n details = {\n line: details.line,\n column: details.column\n };\n while (p < pos) {\n if (input.charCodeAt(p) === 10) {\n details.line++;\n details.column = 1;\n }\n else {\n details.column++;\n }\n p++;\n }\n peg$posDetailsCache[pos] = details;\n return details;\n }\n }\n function peg$computeLocation(startPos, endPos) {\n var startPosDetails = peg$computePosDetails(startPos);\n var endPosDetails = peg$computePosDetails(endPos);\n return {\n start: {\n offset: startPos,\n line: startPosDetails.line,\n column: startPosDetails.column\n },\n end: {\n offset: endPos,\n line: endPosDetails.line,\n column: endPosDetails.column\n }\n };\n }\n function peg$fail(expected1) {\n if (peg$currPos < peg$maxFailPos) {\n return;\n }\n if (peg$currPos > peg$maxFailPos) {\n peg$maxFailPos = peg$currPos;\n peg$maxFailExpected = [];\n }\n peg$maxFailExpected.push(expected1);\n }\n function peg$buildSimpleError(message, location1) {\n return new SyntaxError(message, [], \"\", location1);\n }\n function peg$buildStructuredError(expected1, found, location1) {\n return new SyntaxError(SyntaxError.buildMessage(expected1, found), expected1, found, location1);\n }\n function peg$parsestart() {\n var s0;\n s0 = peg$parsemessage();\n return s0;\n }\n function peg$parsemessage() {\n var s0, s1;\n s0 = [];\n s1 = peg$parsemessageElement();\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n s1 = peg$parsemessageElement();\n }\n return s0;\n }\n function peg$parsemessageElement() {\n var s0;\n s0 = peg$parseliteralElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parseargumentElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parsesimpleFormatElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parsepluralElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parseselectElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parsetagElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parsepoundElement();\n }\n }\n }\n }\n }\n }\n return s0;\n }\n function peg$parsemessageText() {\n var s0, s1, s2;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsedoubleApostrophes();\n if (s2 === peg$FAILED) {\n s2 = peg$parsequotedString();\n if (s2 === peg$FAILED) {\n s2 = peg$parseunquotedString();\n }\n }\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsedoubleApostrophes();\n if (s2 === peg$FAILED) {\n s2 = peg$parsequotedString();\n if (s2 === peg$FAILED) {\n s2 = peg$parseunquotedString();\n }\n }\n }\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c0(s1);\n }\n s0 = s1;\n return s0;\n }\n function peg$parseliteralElement() {\n var s0, s1;\n s0 = peg$currPos;\n s1 = peg$parsemessageText();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c1(s1);\n }\n s0 = s1;\n return s0;\n }\n function peg$parsepoundElement() {\n var s0, s1;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 35) {\n s1 = peg$c2;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c3);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c4();\n }\n s0 = s1;\n return s0;\n }\n function peg$parsetagElement() {\n var s0, s1, s2, s3, s4, s5;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 60) {\n s2 = peg$c6;\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c7);\n }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsevalidTag();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.substr(peg$currPos, 2) === peg$c8) {\n s5 = peg$c8;\n peg$currPos += 2;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c9);\n }\n }\n if (s5 !== peg$FAILED) {\n s2 = [s2, s3, s4, s5];\n s1 = s2;\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c10(s1);\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parseopeningTag();\n if (s1 !== peg$FAILED) {\n s2 = peg$parsemessage();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseclosingTag();\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c11(s1, s2, s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c5);\n }\n }\n return s0;\n }\n function peg$parseopeningTag() {\n var s0, s1, s2, s3, s4, s5;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 60) {\n s1 = peg$c6;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c7);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s2 = peg$c12();\n if (s2) {\n s2 = undefined;\n }\n else {\n s2 = peg$FAILED;\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsevalidTag();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 62) {\n s4 = peg$c13;\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c14);\n }\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s5 = peg$c15(s3);\n if (s5) {\n s5 = undefined;\n }\n else {\n s5 = peg$FAILED;\n }\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c16(s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parseclosingTag() {\n var s0, s1, s2, s3, s4, s5;\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c17) {\n s1 = peg$c17;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c18);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s2 = peg$c19();\n if (s2) {\n s2 = undefined;\n }\n else {\n s2 = peg$FAILED;\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsevalidTag();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 62) {\n s4 = peg$c13;\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c14);\n }\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s5 = peg$c15(s3);\n if (s5) {\n s5 = undefined;\n }\n else {\n s5 = peg$FAILED;\n }\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c16(s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parseargumentElement() {\n var s0, s1, s2, s3, s4, s5;\n peg$silentFails++;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c21;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c22);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargNameOrNumber();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s5 = peg$c23;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\n }\n }\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c25(s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c20);\n }\n }\n return s0;\n }\n function peg$parsenumberSkeletonId() {\n var s0, s1, s2, s3, s4;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$currPos;\n s3 = peg$currPos;\n peg$silentFails++;\n s4 = peg$parsewhiteSpace();\n if (s4 === peg$FAILED) {\n if (peg$c27.test(input.charAt(peg$currPos))) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c28);\n }\n }\n }\n peg$silentFails--;\n if (s4 === peg$FAILED) {\n s3 = undefined;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n if (input.length > peg$currPos) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$currPos;\n s3 = peg$currPos;\n peg$silentFails++;\n s4 = peg$parsewhiteSpace();\n if (s4 === peg$FAILED) {\n if (peg$c27.test(input.charAt(peg$currPos))) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c28);\n }\n }\n }\n peg$silentFails--;\n if (s4 === peg$FAILED) {\n s3 = undefined;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n if (input.length > peg$currPos) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c26);\n }\n }\n return s0;\n }\n function peg$parsenumberSkeletonTokenOption() {\n var s0, s1, s2;\n peg$silentFails++;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 47) {\n s1 = peg$c31;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c32);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsenumberSkeletonId();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c33(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c30);\n }\n }\n return s0;\n }\n function peg$parsenumberSkeletonToken() {\n var s0, s1, s2, s3, s4;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parsenumberSkeletonId();\n if (s2 !== peg$FAILED) {\n s3 = [];\n s4 = peg$parsenumberSkeletonTokenOption();\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n s4 = peg$parsenumberSkeletonTokenOption();\n }\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c35(s2, s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c34);\n }\n }\n return s0;\n }\n function peg$parsenumberSkeleton() {\n var s0, s1, s2;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsenumberSkeletonToken();\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsenumberSkeletonToken();\n }\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c36(s1);\n }\n s0 = s1;\n return s0;\n }\n function peg$parsenumberArgStyle() {\n var s0, s1, s2;\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c37) {\n s1 = peg$c37;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c38);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsenumberSkeleton();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c39(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n peg$savedPos = peg$currPos;\n s1 = peg$c40();\n if (s1) {\n s1 = undefined;\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsemessageText();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c41(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n return s0;\n }\n function peg$parsenumberFormatElement() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c21;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c22);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargNameOrNumber();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c42;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c43);\n }\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 6) === peg$c44) {\n s7 = peg$c44;\n peg$currPos += 6;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c45);\n }\n }\n if (s7 !== peg$FAILED) {\n s8 = peg$parse_();\n if (s8 !== peg$FAILED) {\n s9 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 44) {\n s10 = peg$c42;\n peg$currPos++;\n }\n else {\n s10 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c43);\n }\n }\n if (s10 !== peg$FAILED) {\n s11 = peg$parse_();\n if (s11 !== peg$FAILED) {\n s12 = peg$parsenumberArgStyle();\n if (s12 !== peg$FAILED) {\n s10 = [s10, s11, s12];\n s9 = s10;\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n if (s9 === peg$FAILED) {\n s9 = null;\n }\n if (s9 !== peg$FAILED) {\n s10 = peg$parse_();\n if (s10 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s11 = peg$c23;\n peg$currPos++;\n }\n else {\n s11 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\n }\n }\n if (s11 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c46(s3, s7, s9);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsedateTimeSkeletonLiteral() {\n var s0, s1, s2, s3;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 39) {\n s1 = peg$c47;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c48);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parsedoubleApostrophes();\n if (s3 === peg$FAILED) {\n if (peg$c49.test(input.charAt(peg$currPos))) {\n s3 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c50);\n }\n }\n }\n if (s3 !== peg$FAILED) {\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parsedoubleApostrophes();\n if (s3 === peg$FAILED) {\n if (peg$c49.test(input.charAt(peg$currPos))) {\n s3 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c50);\n }\n }\n }\n }\n }\n else {\n s2 = peg$FAILED;\n }\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 39) {\n s3 = peg$c47;\n peg$currPos++;\n }\n else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c48);\n }\n }\n if (s3 !== peg$FAILED) {\n s1 = [s1, s2, s3];\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = [];\n s1 = peg$parsedoubleApostrophes();\n if (s1 === peg$FAILED) {\n if (peg$c51.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c52);\n }\n }\n }\n if (s1 !== peg$FAILED) {\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n s1 = peg$parsedoubleApostrophes();\n if (s1 === peg$FAILED) {\n if (peg$c51.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c52);\n }\n }\n }\n }\n }\n else {\n s0 = peg$FAILED;\n }\n }\n return s0;\n }\n function peg$parsedateTimeSkeletonPattern() {\n var s0, s1;\n s0 = [];\n if (peg$c53.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c54);\n }\n }\n if (s1 !== peg$FAILED) {\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n if (peg$c53.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c54);\n }\n }\n }\n }\n else {\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsedateTimeSkeleton() {\n var s0, s1, s2, s3;\n s0 = peg$currPos;\n s1 = peg$currPos;\n s2 = [];\n s3 = peg$parsedateTimeSkeletonLiteral();\n if (s3 === peg$FAILED) {\n s3 = peg$parsedateTimeSkeletonPattern();\n }\n if (s3 !== peg$FAILED) {\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parsedateTimeSkeletonLiteral();\n if (s3 === peg$FAILED) {\n s3 = peg$parsedateTimeSkeletonPattern();\n }\n }\n }\n else {\n s2 = peg$FAILED;\n }\n if (s2 !== peg$FAILED) {\n s1 = input.substring(s1, peg$currPos);\n }\n else {\n s1 = s2;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c55(s1);\n }\n s0 = s1;\n return s0;\n }\n function peg$parsedateOrTimeArgStyle() {\n var s0, s1, s2;\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c37) {\n s1 = peg$c37;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c38);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsedateTimeSkeleton();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c39(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n peg$savedPos = peg$currPos;\n s1 = peg$c56();\n if (s1) {\n s1 = undefined;\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsemessageText();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c41(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n return s0;\n }\n function peg$parsedateOrTimeFormatElement() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c21;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c22);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargNameOrNumber();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c42;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c43);\n }\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 4) === peg$c57) {\n s7 = peg$c57;\n peg$currPos += 4;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c58);\n }\n }\n if (s7 === peg$FAILED) {\n if (input.substr(peg$currPos, 4) === peg$c59) {\n s7 = peg$c59;\n peg$currPos += 4;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c60);\n }\n }\n }\n if (s7 !== peg$FAILED) {\n s8 = peg$parse_();\n if (s8 !== peg$FAILED) {\n s9 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 44) {\n s10 = peg$c42;\n peg$currPos++;\n }\n else {\n s10 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c43);\n }\n }\n if (s10 !== peg$FAILED) {\n s11 = peg$parse_();\n if (s11 !== peg$FAILED) {\n s12 = peg$parsedateOrTimeArgStyle();\n if (s12 !== peg$FAILED) {\n s10 = [s10, s11, s12];\n s9 = s10;\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n if (s9 === peg$FAILED) {\n s9 = null;\n }\n if (s9 !== peg$FAILED) {\n s10 = peg$parse_();\n if (s10 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s11 = peg$c23;\n peg$currPos++;\n }\n else {\n s11 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\n }\n }\n if (s11 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c46(s3, s7, s9);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsesimpleFormatElement() {\n var s0;\n s0 = peg$parsenumberFormatElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parsedateOrTimeFormatElement();\n }\n return s0;\n }\n function peg$parsepluralElement() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c21;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c22);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargNameOrNumber();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c42;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c43);\n }\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 6) === peg$c61) {\n s7 = peg$c61;\n peg$currPos += 6;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c62);\n }\n }\n if (s7 === peg$FAILED) {\n if (input.substr(peg$currPos, 13) === peg$c63) {\n s7 = peg$c63;\n peg$currPos += 13;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c64);\n }\n }\n }\n if (s7 !== peg$FAILED) {\n s8 = peg$parse_();\n if (s8 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s9 = peg$c42;\n peg$currPos++;\n }\n else {\n s9 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c43);\n }\n }\n if (s9 !== peg$FAILED) {\n s10 = peg$parse_();\n if (s10 !== peg$FAILED) {\n s11 = peg$currPos;\n if (input.substr(peg$currPos, 7) === peg$c65) {\n s12 = peg$c65;\n peg$currPos += 7;\n }\n else {\n s12 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c66);\n }\n }\n if (s12 !== peg$FAILED) {\n s13 = peg$parse_();\n if (s13 !== peg$FAILED) {\n s14 = peg$parsenumber();\n if (s14 !== peg$FAILED) {\n s12 = [s12, s13, s14];\n s11 = s12;\n }\n else {\n peg$currPos = s11;\n s11 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s11;\n s11 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s11;\n s11 = peg$FAILED;\n }\n if (s11 === peg$FAILED) {\n s11 = null;\n }\n if (s11 !== peg$FAILED) {\n s12 = peg$parse_();\n if (s12 !== peg$FAILED) {\n s13 = [];\n s14 = peg$parsepluralOption();\n if (s14 !== peg$FAILED) {\n while (s14 !== peg$FAILED) {\n s13.push(s14);\n s14 = peg$parsepluralOption();\n }\n }\n else {\n s13 = peg$FAILED;\n }\n if (s13 !== peg$FAILED) {\n s14 = peg$parse_();\n if (s14 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s15 = peg$c23;\n peg$currPos++;\n }\n else {\n s15 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\n }\n }\n if (s15 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c67(s3, s7, s11, s13);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parseselectElement() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c21;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c22);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargNameOrNumber();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c42;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c43);\n }\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 6) === peg$c68) {\n s7 = peg$c68;\n peg$currPos += 6;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c69);\n }\n }\n if (s7 !== peg$FAILED) {\n s8 = peg$parse_();\n if (s8 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s9 = peg$c42;\n peg$currPos++;\n }\n else {\n s9 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c43);\n }\n }\n if (s9 !== peg$FAILED) {\n s10 = peg$parse_();\n if (s10 !== peg$FAILED) {\n s11 = [];\n s12 = peg$parseselectOption();\n if (s12 !== peg$FAILED) {\n while (s12 !== peg$FAILED) {\n s11.push(s12);\n s12 = peg$parseselectOption();\n }\n }\n else {\n s11 = peg$FAILED;\n }\n if (s11 !== peg$FAILED) {\n s12 = peg$parse_();\n if (s12 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s13 = peg$c23;\n peg$currPos++;\n }\n else {\n s13 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\n }\n }\n if (s13 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c70(s3, s11);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsepluralRuleSelectValue() {\n var s0, s1, s2, s3;\n s0 = peg$currPos;\n s1 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 61) {\n s2 = peg$c71;\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c72);\n }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsenumber();\n if (s3 !== peg$FAILED) {\n s2 = [s2, s3];\n s1 = s2;\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$parseargName();\n }\n return s0;\n }\n function peg$parseselectOption() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseargName();\n if (s2 !== peg$FAILED) {\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 123) {\n s4 = peg$c21;\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c22);\n }\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s5 = peg$c73(s2);\n if (s5) {\n s5 = undefined;\n }\n else {\n s5 = peg$FAILED;\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parsemessage();\n if (s6 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s7 = peg$c23;\n peg$currPos++;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\n }\n }\n if (s7 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c74(s2, s6);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsepluralOption() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parsepluralRuleSelectValue();\n if (s2 !== peg$FAILED) {\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 123) {\n s4 = peg$c21;\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c22);\n }\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s5 = peg$c75(s2);\n if (s5) {\n s5 = undefined;\n }\n else {\n s5 = peg$FAILED;\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parsemessage();\n if (s6 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s7 = peg$c23;\n peg$currPos++;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\n }\n }\n if (s7 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c76(s2, s6);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsewhiteSpace() {\n var s0, s1;\n peg$silentFails++;\n if (peg$c78.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c79);\n }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c77);\n }\n }\n return s0;\n }\n function peg$parsepatternSyntax() {\n var s0, s1;\n peg$silentFails++;\n if (peg$c81.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c82);\n }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c80);\n }\n }\n return s0;\n }\n function peg$parse_() {\n var s0, s1, s2;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsewhiteSpace();\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsewhiteSpace();\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c83);\n }\n }\n return s0;\n }\n function peg$parsenumber() {\n var s0, s1, s2;\n peg$silentFails++;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 45) {\n s1 = peg$c85;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c86);\n }\n }\n if (s1 === peg$FAILED) {\n s1 = null;\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parseargNumber();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c87(s1, s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c84);\n }\n }\n return s0;\n }\n function peg$parseapostrophe() {\n var s0, s1;\n peg$silentFails++;\n if (input.charCodeAt(peg$currPos) === 39) {\n s0 = peg$c47;\n peg$currPos++;\n }\n else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c48);\n }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c88);\n }\n }\n return s0;\n }\n function peg$parsedoubleApostrophes() {\n var s0, s1;\n peg$silentFails++;\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c90) {\n s1 = peg$c90;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c91);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c92();\n }\n s0 = s1;\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c89);\n }\n }\n return s0;\n }\n function peg$parsequotedString() {\n var s0, s1, s2, s3, s4, s5;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 39) {\n s1 = peg$c47;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c48);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parseescapedChar();\n if (s2 !== peg$FAILED) {\n s3 = peg$currPos;\n s4 = [];\n if (input.substr(peg$currPos, 2) === peg$c90) {\n s5 = peg$c90;\n peg$currPos += 2;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c91);\n }\n }\n if (s5 === peg$FAILED) {\n if (peg$c49.test(input.charAt(peg$currPos))) {\n s5 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c50);\n }\n }\n }\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n if (input.substr(peg$currPos, 2) === peg$c90) {\n s5 = peg$c90;\n peg$currPos += 2;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c91);\n }\n }\n if (s5 === peg$FAILED) {\n if (peg$c49.test(input.charAt(peg$currPos))) {\n s5 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c50);\n }\n }\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = input.substring(s3, peg$currPos);\n }\n else {\n s3 = s4;\n }\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 39) {\n s4 = peg$c47;\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c48);\n }\n }\n if (s4 === peg$FAILED) {\n s4 = null;\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c93(s2, s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parseunquotedString() {\n var s0, s1, s2, s3;\n s0 = peg$currPos;\n s1 = peg$currPos;\n if (input.length > peg$currPos) {\n s2 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s3 = peg$c94(s2);\n if (s3) {\n s3 = undefined;\n }\n else {\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n s2 = [s2, s3];\n s1 = s2;\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n if (s1 === peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 10) {\n s1 = peg$c95;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c96);\n }\n }\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n return s0;\n }\n function peg$parseescapedChar() {\n var s0, s1, s2, s3;\n s0 = peg$currPos;\n s1 = peg$currPos;\n if (input.length > peg$currPos) {\n s2 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s3 = peg$c97(s2);\n if (s3) {\n s3 = undefined;\n }\n else {\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n s2 = [s2, s3];\n s1 = s2;\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n return s0;\n }\n function peg$parseargNameOrNumber() {\n var s0, s1;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseargNumber();\n if (s1 === peg$FAILED) {\n s1 = peg$parseargName();\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c98);\n }\n }\n return s0;\n }\n function peg$parsevalidTag() {\n var s0, s1;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseargNumber();\n if (s1 === peg$FAILED) {\n s1 = peg$parsetagName();\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c99);\n }\n }\n return s0;\n }\n function peg$parseargNumber() {\n var s0, s1, s2, s3, s4;\n peg$silentFails++;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 48) {\n s1 = peg$c101;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c102);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c103();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$currPos;\n if (peg$c104.test(input.charAt(peg$currPos))) {\n s2 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c105);\n }\n }\n if (s2 !== peg$FAILED) {\n s3 = [];\n if (peg$c106.test(input.charAt(peg$currPos))) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c107);\n }\n }\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n if (peg$c106.test(input.charAt(peg$currPos))) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c107);\n }\n }\n }\n if (s3 !== peg$FAILED) {\n s2 = [s2, s3];\n s1 = s2;\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c108(s1);\n }\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c100);\n }\n }\n return s0;\n }\n function peg$parseargName() {\n var s0, s1, s2, s3, s4;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$currPos;\n s3 = peg$currPos;\n peg$silentFails++;\n s4 = peg$parsewhiteSpace();\n if (s4 === peg$FAILED) {\n s4 = peg$parsepatternSyntax();\n }\n peg$silentFails--;\n if (s4 === peg$FAILED) {\n s3 = undefined;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n if (input.length > peg$currPos) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$currPos;\n s3 = peg$currPos;\n peg$silentFails++;\n s4 = peg$parsewhiteSpace();\n if (s4 === peg$FAILED) {\n s4 = peg$parsepatternSyntax();\n }\n peg$silentFails--;\n if (s4 === peg$FAILED) {\n s3 = undefined;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n if (input.length > peg$currPos) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c109);\n }\n }\n return s0;\n }\n function peg$parsetagName() {\n var s0, s1, s2, s3, s4;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = [];\n if (input.charCodeAt(peg$currPos) === 45) {\n s2 = peg$c85;\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c86);\n }\n }\n if (s2 === peg$FAILED) {\n s2 = peg$currPos;\n s3 = peg$currPos;\n peg$silentFails++;\n s4 = peg$parsewhiteSpace();\n if (s4 === peg$FAILED) {\n s4 = peg$parsepatternSyntax();\n }\n peg$silentFails--;\n if (s4 === peg$FAILED) {\n s3 = undefined;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n if (input.length > peg$currPos) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n if (input.charCodeAt(peg$currPos) === 45) {\n s2 = peg$c85;\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c86);\n }\n }\n if (s2 === peg$FAILED) {\n s2 = peg$currPos;\n s3 = peg$currPos;\n peg$silentFails++;\n s4 = peg$parsewhiteSpace();\n if (s4 === peg$FAILED) {\n s4 = peg$parsepatternSyntax();\n }\n peg$silentFails--;\n if (s4 === peg$FAILED) {\n s3 = undefined;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n if (input.length > peg$currPos) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n }\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c110);\n }\n }\n return s0;\n }\n var messageCtx = ['root'];\n function isNestedMessageText() {\n return messageCtx.length > 1;\n }\n function isInPluralOption() {\n return messageCtx[messageCtx.length - 1] === 'plural';\n }\n function insertLocation() {\n return options && options.captureLocation ? {\n location: location()\n } : {};\n }\n function ignoreTag() {\n return options && options.ignoreTag;\n }\n peg$result = peg$startRuleFunction();\n if (peg$result !== peg$FAILED && peg$currPos === input.length) {\n return peg$result;\n }\n else {\n if (peg$result !== peg$FAILED && peg$currPos < input.length) {\n peg$fail(peg$endExpectation());\n }\n throw peg$buildStructuredError(peg$maxFailExpected, peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null, peg$maxFailPos < input.length\n ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)\n : peg$computeLocation(peg$maxFailPos, peg$maxFailPos));\n }\n}\nexport var pegParse = peg$parse;\n//# sourceMappingURL=parser.js.map","var __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { isPluralElement, isLiteralElement, isSelectElement, } from './types';\nimport { pegParse } from './parser';\nvar PLURAL_HASHTAG_REGEX = /(^|[^\\\\])#/g;\n/**\n * Whether to convert `#` in plural rule options\n * to `{var, number}`\n * @param el AST Element\n * @param pluralStack current plural stack\n */\nexport function normalizeHashtagInPlural(els) {\n els.forEach(function (el) {\n // If we're encountering a plural el\n if (!isPluralElement(el) && !isSelectElement(el)) {\n return;\n }\n // Go down the options and search for # in any literal element\n Object.keys(el.options).forEach(function (id) {\n var _a;\n var opt = el.options[id];\n // If we got a match, we have to split this\n // and inject a NumberElement in the middle\n var matchingLiteralElIndex = -1;\n var literalEl = undefined;\n for (var i = 0; i < opt.value.length; i++) {\n var el_1 = opt.value[i];\n if (isLiteralElement(el_1) && PLURAL_HASHTAG_REGEX.test(el_1.value)) {\n matchingLiteralElIndex = i;\n literalEl = el_1;\n break;\n }\n }\n if (literalEl) {\n var newValue = literalEl.value.replace(PLURAL_HASHTAG_REGEX, \"$1{\" + el.value + \", number}\");\n var newEls = pegParse(newValue);\n (_a = opt.value).splice.apply(_a, __spreadArrays([matchingLiteralElIndex, 1], newEls));\n }\n normalizeHashtagInPlural(opt.value);\n });\n });\n}\n//# sourceMappingURL=normalize.js.map","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/**\n * https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * Credit: https://github.com/caridy/intl-datetimeformat-pattern/blob/master/index.js\n * with some tweaks\n */\nvar DATE_TIME_REGEX = /(?:[Eec]{1,6}|G{1,5}|[Qq]{1,5}|(?:[yYur]+|U{1,5})|[ML]{1,5}|d{1,2}|D{1,3}|F{1}|[abB]{1,5}|[hkHK]{1,2}|w{1,2}|W{1}|m{1,2}|s{1,2}|[zZOvVxX]{1,4})(?=([^']*'[^']*')*[^']*$)/g;\n/**\n * Parse Date time skeleton into Intl.DateTimeFormatOptions\n * Ref: https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * @public\n * @param skeleton skeleton string\n */\nexport function parseDateTimeSkeleton(skeleton) {\n var result = {};\n skeleton.replace(DATE_TIME_REGEX, function (match) {\n var len = match.length;\n switch (match[0]) {\n // Era\n case 'G':\n result.era = len === 4 ? 'long' : len === 5 ? 'narrow' : 'short';\n break;\n // Year\n case 'y':\n result.year = len === 2 ? '2-digit' : 'numeric';\n break;\n case 'Y':\n case 'u':\n case 'U':\n case 'r':\n throw new RangeError('`Y/u/U/r` (year) patterns are not supported, use `y` instead');\n // Quarter\n case 'q':\n case 'Q':\n throw new RangeError('`q/Q` (quarter) patterns are not supported');\n // Month\n case 'M':\n case 'L':\n result.month = ['numeric', '2-digit', 'short', 'long', 'narrow'][len - 1];\n break;\n // Week\n case 'w':\n case 'W':\n throw new RangeError('`w/W` (week) patterns are not supported');\n case 'd':\n result.day = ['numeric', '2-digit'][len - 1];\n break;\n case 'D':\n case 'F':\n case 'g':\n throw new RangeError('`D/F/g` (day) patterns are not supported, use `d` instead');\n // Weekday\n case 'E':\n result.weekday = len === 4 ? 'short' : len === 5 ? 'narrow' : 'short';\n break;\n case 'e':\n if (len < 4) {\n throw new RangeError('`e..eee` (weekday) patterns are not supported');\n }\n result.weekday = ['short', 'long', 'narrow', 'short'][len - 4];\n break;\n case 'c':\n if (len < 4) {\n throw new RangeError('`c..ccc` (weekday) patterns are not supported');\n }\n result.weekday = ['short', 'long', 'narrow', 'short'][len - 4];\n break;\n // Period\n case 'a': // AM, PM\n result.hour12 = true;\n break;\n case 'b': // am, pm, noon, midnight\n case 'B': // flexible day periods\n throw new RangeError('`b/B` (period) patterns are not supported, use `a` instead');\n // Hour\n case 'h':\n result.hourCycle = 'h12';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'H':\n result.hourCycle = 'h23';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'K':\n result.hourCycle = 'h11';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'k':\n result.hourCycle = 'h24';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'j':\n case 'J':\n case 'C':\n throw new RangeError('`j/J/C` (hour) patterns are not supported, use `h/H/K/k` instead');\n // Minute\n case 'm':\n result.minute = ['numeric', '2-digit'][len - 1];\n break;\n // Second\n case 's':\n result.second = ['numeric', '2-digit'][len - 1];\n break;\n case 'S':\n case 'A':\n throw new RangeError('`S/A` (second) pattenrs are not supported, use `s` instead');\n // Zone\n case 'z': // 1..3, 4: specific non-location format\n result.timeZoneName = len < 4 ? 'short' : 'long';\n break;\n case 'Z': // 1..3, 4, 5: The ISO8601 varios formats\n case 'O': // 1, 4: miliseconds in day short, long\n case 'v': // 1, 4: generic non-location format\n case 'V': // 1, 2, 3, 4: time zone ID or city\n case 'X': // 1, 2, 3, 4: The ISO8601 varios formats\n case 'x': // 1, 2, 3, 4: The ISO8601 varios formats\n throw new RangeError('`Z/O/v/V/X/x` (timeZone) pattenrs are not supported, use `z` instead');\n }\n return '';\n });\n return result;\n}\nfunction icuUnitToEcma(unit) {\n return unit.replace(/^(.*?)-/, '');\n}\nvar FRACTION_PRECISION_REGEX = /^\\.(?:(0+)(\\*)?|(#+)|(0+)(#+))$/g;\nvar SIGNIFICANT_PRECISION_REGEX = /^(@+)?(\\+|#+)?$/g;\nfunction parseSignificantPrecision(str) {\n var result = {};\n str.replace(SIGNIFICANT_PRECISION_REGEX, function (_, g1, g2) {\n // @@@ case\n if (typeof g2 !== 'string') {\n result.minimumSignificantDigits = g1.length;\n result.maximumSignificantDigits = g1.length;\n }\n // @@@+ case\n else if (g2 === '+') {\n result.minimumSignificantDigits = g1.length;\n }\n // .### case\n else if (g1[0] === '#') {\n result.maximumSignificantDigits = g1.length;\n }\n // .@@## or .@@@ case\n else {\n result.minimumSignificantDigits = g1.length;\n result.maximumSignificantDigits =\n g1.length + (typeof g2 === 'string' ? g2.length : 0);\n }\n return '';\n });\n return result;\n}\nfunction parseSign(str) {\n switch (str) {\n case 'sign-auto':\n return {\n signDisplay: 'auto',\n };\n case 'sign-accounting':\n return {\n currencySign: 'accounting',\n };\n case 'sign-always':\n return {\n signDisplay: 'always',\n };\n case 'sign-accounting-always':\n return {\n signDisplay: 'always',\n currencySign: 'accounting',\n };\n case 'sign-except-zero':\n return {\n signDisplay: 'exceptZero',\n };\n case 'sign-accounting-except-zero':\n return {\n signDisplay: 'exceptZero',\n currencySign: 'accounting',\n };\n case 'sign-never':\n return {\n signDisplay: 'never',\n };\n }\n}\nfunction parseNotationOptions(opt) {\n var result = {};\n var signOpts = parseSign(opt);\n if (signOpts) {\n return signOpts;\n }\n return result;\n}\n/**\n * https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md#skeleton-stems-and-options\n */\nexport function convertNumberSkeletonToNumberFormatOptions(tokens) {\n var result = {};\n for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) {\n var token = tokens_1[_i];\n switch (token.stem) {\n case 'percent':\n result.style = 'percent';\n continue;\n case 'currency':\n result.style = 'currency';\n result.currency = token.options[0];\n continue;\n case 'group-off':\n result.useGrouping = false;\n continue;\n case 'precision-integer':\n case '.':\n result.maximumFractionDigits = 0;\n continue;\n case 'measure-unit':\n result.style = 'unit';\n result.unit = icuUnitToEcma(token.options[0]);\n continue;\n case 'compact-short':\n result.notation = 'compact';\n result.compactDisplay = 'short';\n continue;\n case 'compact-long':\n result.notation = 'compact';\n result.compactDisplay = 'long';\n continue;\n case 'scientific':\n result = __assign(__assign(__assign({}, result), { notation: 'scientific' }), token.options.reduce(function (all, opt) { return (__assign(__assign({}, all), parseNotationOptions(opt))); }, {}));\n continue;\n case 'engineering':\n result = __assign(__assign(__assign({}, result), { notation: 'engineering' }), token.options.reduce(function (all, opt) { return (__assign(__assign({}, all), parseNotationOptions(opt))); }, {}));\n continue;\n case 'notation-simple':\n result.notation = 'standard';\n continue;\n // https://github.com/unicode-org/icu/blob/master/icu4c/source/i18n/unicode/unumberformatter.h\n case 'unit-width-narrow':\n result.currencyDisplay = 'narrowSymbol';\n result.unitDisplay = 'narrow';\n continue;\n case 'unit-width-short':\n result.currencyDisplay = 'code';\n result.unitDisplay = 'short';\n continue;\n case 'unit-width-full-name':\n result.currencyDisplay = 'name';\n result.unitDisplay = 'long';\n continue;\n case 'unit-width-iso-code':\n result.currencyDisplay = 'symbol';\n continue;\n }\n // Precision\n // https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md#fraction-precision\n // precision-integer case\n if (FRACTION_PRECISION_REGEX.test(token.stem)) {\n if (token.options.length > 1) {\n throw new RangeError('Fraction-precision stems only accept a single optional option');\n }\n token.stem.replace(FRACTION_PRECISION_REGEX, function (match, g1, g2, g3, g4, g5) {\n // .000* case (before ICU67 it was .000+)\n if (g2 === '*') {\n result.minimumFractionDigits = g1.length;\n }\n // .### case\n else if (g3 && g3[0] === '#') {\n result.maximumFractionDigits = g3.length;\n }\n // .00## case\n else if (g4 && g5) {\n result.minimumFractionDigits = g4.length;\n result.maximumFractionDigits = g4.length + g5.length;\n }\n else {\n result.minimumFractionDigits = g1.length;\n result.maximumFractionDigits = g1.length;\n }\n return '';\n });\n if (token.options.length) {\n result = __assign(__assign({}, result), parseSignificantPrecision(token.options[0]));\n }\n continue;\n }\n if (SIGNIFICANT_PRECISION_REGEX.test(token.stem)) {\n result = __assign(__assign({}, result), parseSignificantPrecision(token.stem));\n continue;\n }\n var signOpts = parseSign(token.stem);\n if (signOpts) {\n result = __assign(__assign({}, result), signOpts);\n }\n }\n return result;\n}\n//# sourceMappingURL=skeleton.js.map","import { pegParse } from './parser';\nimport { normalizeHashtagInPlural } from './normalize';\nexport * from './types';\nexport * from './parser';\nexport * from './skeleton';\nexport function parse(input, opts) {\n var els = pegParse(input, opts);\n if (!opts || opts.normalizeHashtagInPlural !== false) {\n normalizeHashtagInPlural(els);\n }\n return els;\n}\n//# sourceMappingURL=index.js.map","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n// -- Utilities ----------------------------------------------------------------\nfunction getCacheId(inputs) {\n return JSON.stringify(inputs.map(function (input) {\n return input && typeof input === 'object' ? orderedProps(input) : input;\n }));\n}\nfunction orderedProps(obj) {\n return Object.keys(obj)\n .sort()\n .map(function (k) {\n var _a;\n return (_a = {}, _a[k] = obj[k], _a);\n });\n}\nvar memoizeFormatConstructor = function (FormatConstructor, cache) {\n if (cache === void 0) { cache = {}; }\n return function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var cacheId = getCacheId(args);\n var format = cacheId && cache[cacheId];\n if (!format) {\n format = new ((_a = FormatConstructor).bind.apply(_a, __spreadArrays([void 0], args)))();\n if (cacheId) {\n cache[cacheId] = format;\n }\n }\n return format;\n };\n};\nexport default memoizeFormatConstructor;\n//# sourceMappingURL=index.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nexport var ErrorCode;\n(function (ErrorCode) {\n // When we have a placeholder but no value to format\n ErrorCode[\"MISSING_VALUE\"] = \"MISSING_VALUE\";\n // When value supplied is invalid\n ErrorCode[\"INVALID_VALUE\"] = \"INVALID_VALUE\";\n // When we need specific Intl API but it's not available\n ErrorCode[\"MISSING_INTL_API\"] = \"MISSING_INTL_API\";\n})(ErrorCode || (ErrorCode = {}));\nvar FormatError = /** @class */ (function (_super) {\n __extends(FormatError, _super);\n function FormatError(msg, code, originalMessage) {\n var _this = _super.call(this, msg) || this;\n _this.code = code;\n _this.originalMessage = originalMessage;\n return _this;\n }\n FormatError.prototype.toString = function () {\n return \"[formatjs Error: \" + this.code + \"] \" + this.message;\n };\n return FormatError;\n}(Error));\nexport { FormatError };\nvar InvalidValueError = /** @class */ (function (_super) {\n __extends(InvalidValueError, _super);\n function InvalidValueError(variableId, value, options, originalMessage) {\n return _super.call(this, \"Invalid values for \\\"\" + variableId + \"\\\": \\\"\" + value + \"\\\". Options are \\\"\" + Object.keys(options).join('\", \"') + \"\\\"\", \"INVALID_VALUE\" /* INVALID_VALUE */, originalMessage) || this;\n }\n return InvalidValueError;\n}(FormatError));\nexport { InvalidValueError };\nvar InvalidValueTypeError = /** @class */ (function (_super) {\n __extends(InvalidValueTypeError, _super);\n function InvalidValueTypeError(value, type, originalMessage) {\n return _super.call(this, \"Value for \\\"\" + value + \"\\\" must be of type \" + type, \"INVALID_VALUE\" /* INVALID_VALUE */, originalMessage) || this;\n }\n return InvalidValueTypeError;\n}(FormatError));\nexport { InvalidValueTypeError };\nvar MissingValueError = /** @class */ (function (_super) {\n __extends(MissingValueError, _super);\n function MissingValueError(variableId, originalMessage) {\n return _super.call(this, \"The intl string context variable \\\"\" + variableId + \"\\\" was not provided to the string \\\"\" + originalMessage + \"\\\"\", \"MISSING_VALUE\" /* MISSING_VALUE */, originalMessage) || this;\n }\n return MissingValueError;\n}(FormatError));\nexport { MissingValueError };\n//# sourceMappingURL=error.js.map","import { convertNumberSkeletonToNumberFormatOptions, isArgumentElement, isDateElement, isDateTimeSkeleton, isLiteralElement, isNumberElement, isNumberSkeleton, isPluralElement, isPoundElement, isSelectElement, isTimeElement, parseDateTimeSkeleton, isTagElement, } from 'intl-messageformat-parser';\nimport { MissingValueError, InvalidValueError, FormatError, InvalidValueTypeError, } from './error';\nexport var PART_TYPE;\n(function (PART_TYPE) {\n PART_TYPE[PART_TYPE[\"literal\"] = 0] = \"literal\";\n PART_TYPE[PART_TYPE[\"object\"] = 1] = \"object\";\n})(PART_TYPE || (PART_TYPE = {}));\nfunction mergeLiteral(parts) {\n if (parts.length < 2) {\n return parts;\n }\n return parts.reduce(function (all, part) {\n var lastPart = all[all.length - 1];\n if (!lastPart ||\n lastPart.type !== 0 /* literal */ ||\n part.type !== 0 /* literal */) {\n all.push(part);\n }\n else {\n lastPart.value += part.value;\n }\n return all;\n }, []);\n}\nfunction isFormatXMLElementFn(el) {\n return typeof el === 'function';\n}\n// TODO(skeleton): add skeleton support\nexport function formatToParts(els, locales, formatters, formats, values, currentPluralValue, \n// For debugging\noriginalMessage) {\n // Hot path for straight simple msg translations\n if (els.length === 1 && isLiteralElement(els[0])) {\n return [\n {\n type: 0 /* literal */,\n value: els[0].value,\n },\n ];\n }\n var result = [];\n for (var _i = 0, els_1 = els; _i < els_1.length; _i++) {\n var el = els_1[_i];\n // Exit early for string parts.\n if (isLiteralElement(el)) {\n result.push({\n type: 0 /* literal */,\n value: el.value,\n });\n continue;\n }\n // TODO: should this part be literal type?\n // Replace `#` in plural rules with the actual numeric value.\n if (isPoundElement(el)) {\n if (typeof currentPluralValue === 'number') {\n result.push({\n type: 0 /* literal */,\n value: formatters.getNumberFormat(locales).format(currentPluralValue),\n });\n }\n continue;\n }\n var varName = el.value;\n // Enforce that all required values are provided by the caller.\n if (!(values && varName in values)) {\n throw new MissingValueError(varName, originalMessage);\n }\n var value = values[varName];\n if (isArgumentElement(el)) {\n if (!value || typeof value === 'string' || typeof value === 'number') {\n value =\n typeof value === 'string' || typeof value === 'number'\n ? String(value)\n : '';\n }\n result.push({\n type: typeof value === 'string' ? 0 /* literal */ : 1 /* object */,\n value: value,\n });\n continue;\n }\n // Recursively format plural and select parts' option — which can be a\n // nested pattern structure. The choosing of the option to use is\n // abstracted-by and delegated-to the part helper object.\n if (isDateElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.date[el.style]\n : isDateTimeSkeleton(el.style)\n ? parseDateTimeSkeleton(el.style.pattern)\n : undefined;\n result.push({\n type: 0 /* literal */,\n value: formatters\n .getDateTimeFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isTimeElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.time[el.style]\n : isDateTimeSkeleton(el.style)\n ? parseDateTimeSkeleton(el.style.pattern)\n : undefined;\n result.push({\n type: 0 /* literal */,\n value: formatters\n .getDateTimeFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isNumberElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.number[el.style]\n : isNumberSkeleton(el.style)\n ? convertNumberSkeletonToNumberFormatOptions(el.style.tokens)\n : undefined;\n result.push({\n type: 0 /* literal */,\n value: formatters\n .getNumberFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isTagElement(el)) {\n var children = el.children, value_1 = el.value;\n var formatFn = values[value_1];\n if (!isFormatXMLElementFn(formatFn)) {\n throw new InvalidValueTypeError(value_1, 'function', originalMessage);\n }\n var parts = formatToParts(children, locales, formatters, formats, values, currentPluralValue);\n var chunks = formatFn.apply(void 0, parts.map(function (p) { return p.value; }));\n if (!Array.isArray(chunks)) {\n chunks = [chunks];\n }\n result.push.apply(result, chunks.map(function (c) {\n return {\n type: typeof c === 'string' ? 0 /* literal */ : 1 /* object */,\n value: c,\n };\n }));\n }\n if (isSelectElement(el)) {\n var opt = el.options[value] || el.options.other;\n if (!opt) {\n throw new InvalidValueError(el.value, value, Object.keys(el.options), originalMessage);\n }\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values));\n continue;\n }\n if (isPluralElement(el)) {\n var opt = el.options[\"=\" + value];\n if (!opt) {\n if (!Intl.PluralRules) {\n throw new FormatError(\"Intl.PluralRules is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-pluralrules\\\"\\n\", \"MISSING_INTL_API\" /* MISSING_INTL_API */, originalMessage);\n }\n var rule = formatters\n .getPluralRules(locales, { type: el.pluralType })\n .select(value - (el.offset || 0));\n opt = el.options[rule] || el.options.other;\n }\n if (!opt) {\n throw new InvalidValueError(el.value, value, Object.keys(el.options), originalMessage);\n }\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values, value - (el.offset || 0)));\n continue;\n }\n }\n return mergeLiteral(result);\n}\n//# sourceMappingURL=formatters.js.map","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport { parse } from 'intl-messageformat-parser';\nimport memoizeIntlConstructor from 'intl-format-cache';\nimport { formatToParts, } from './formatters';\n// -- MessageFormat --------------------------------------------------------\nfunction mergeConfig(c1, c2) {\n if (!c2) {\n return c1;\n }\n return __assign(__assign(__assign({}, (c1 || {})), (c2 || {})), Object.keys(c1).reduce(function (all, k) {\n all[k] = __assign(__assign({}, c1[k]), (c2[k] || {}));\n return all;\n }, {}));\n}\nfunction mergeConfigs(defaultConfig, configs) {\n if (!configs) {\n return defaultConfig;\n }\n return Object.keys(defaultConfig).reduce(function (all, k) {\n all[k] = mergeConfig(defaultConfig[k], configs[k]);\n return all;\n }, __assign({}, defaultConfig));\n}\nexport function createDefaultFormatters(cache) {\n if (cache === void 0) { cache = {\n number: {},\n dateTime: {},\n pluralRules: {},\n }; }\n return {\n getNumberFormat: memoizeIntlConstructor(Intl.NumberFormat, cache.number),\n getDateTimeFormat: memoizeIntlConstructor(Intl.DateTimeFormat, cache.dateTime),\n getPluralRules: memoizeIntlConstructor(Intl.PluralRules, cache.pluralRules),\n };\n}\nvar IntlMessageFormat = /** @class */ (function () {\n function IntlMessageFormat(message, locales, overrideFormats, opts) {\n var _this = this;\n if (locales === void 0) { locales = IntlMessageFormat.defaultLocale; }\n this.formatterCache = {\n number: {},\n dateTime: {},\n pluralRules: {},\n };\n this.format = function (values) {\n var parts = _this.formatToParts(values);\n // Hot path for straight simple msg translations\n if (parts.length === 1) {\n return parts[0].value;\n }\n var result = parts.reduce(function (all, part) {\n if (!all.length ||\n part.type !== 0 /* literal */ ||\n typeof all[all.length - 1] !== 'string') {\n all.push(part.value);\n }\n else {\n all[all.length - 1] += part.value;\n }\n return all;\n }, []);\n if (result.length <= 1) {\n return result[0] || '';\n }\n return result;\n };\n this.formatToParts = function (values) {\n return formatToParts(_this.ast, _this.locales, _this.formatters, _this.formats, values, undefined, _this.message);\n };\n this.resolvedOptions = function () { return ({\n locale: Intl.NumberFormat.supportedLocalesOf(_this.locales)[0],\n }); };\n this.getAst = function () { return _this.ast; };\n if (typeof message === 'string') {\n this.message = message;\n if (!IntlMessageFormat.__parse) {\n throw new TypeError('IntlMessageFormat.__parse must be set to process `message` of type `string`');\n }\n // Parse string messages into an AST.\n this.ast = IntlMessageFormat.__parse(message, {\n normalizeHashtagInPlural: false,\n ignoreTag: opts === null || opts === void 0 ? void 0 : opts.ignoreTag,\n });\n }\n else {\n this.ast = message;\n }\n if (!Array.isArray(this.ast)) {\n throw new TypeError('A message must be provided as a String or AST.');\n }\n // Creates a new object with the specified `formats` merged with the default\n // formats.\n this.formats = mergeConfigs(IntlMessageFormat.formats, overrideFormats);\n // Defined first because it's used to build the format pattern.\n this.locales = locales;\n this.formatters =\n (opts && opts.formatters) || createDefaultFormatters(this.formatterCache);\n }\n Object.defineProperty(IntlMessageFormat, \"defaultLocale\", {\n get: function () {\n if (!IntlMessageFormat.memoizedDefaultLocale) {\n IntlMessageFormat.memoizedDefaultLocale = new Intl.NumberFormat().resolvedOptions().locale;\n }\n return IntlMessageFormat.memoizedDefaultLocale;\n },\n enumerable: true,\n configurable: true\n });\n IntlMessageFormat.memoizedDefaultLocale = null;\n IntlMessageFormat.__parse = parse;\n // Default format options used as the prototype of the `formats` provided to the\n // constructor. These are used when constructing the internal Intl.NumberFormat\n // and Intl.DateTimeFormat instances.\n IntlMessageFormat.formats = {\n number: {\n currency: {\n style: 'currency',\n },\n percent: {\n style: 'percent',\n },\n },\n date: {\n short: {\n month: 'numeric',\n day: 'numeric',\n year: '2-digit',\n },\n medium: {\n month: 'short',\n day: 'numeric',\n year: 'numeric',\n },\n long: {\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n },\n full: {\n weekday: 'long',\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n },\n },\n time: {\n short: {\n hour: 'numeric',\n minute: 'numeric',\n },\n medium: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n },\n long: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short',\n },\n full: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short',\n },\n },\n };\n return IntlMessageFormat;\n}());\nexport { IntlMessageFormat };\nexport default IntlMessageFormat;\n//# sourceMappingURL=core.js.map"],"names":["TYPE","SKELETON_TYPE","isLiteralElement","el","type","literal","isSelectElement","select","isPluralElement","plural","isDateTimeSkeleton","extendStatics","_super","__extends","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__","this","constructor","prototype","create","__assign","assign","t","s","i","n","arguments","length","call","apply","SyntaxError","Error","buildMessage","expected","found","hex","ch","charCodeAt","toString","toUpperCase","literalEscape","replace","classEscape","describeExpectation","expectation","text","escapedParts","parts","map","part","isArray","inverted","description","expected1","j","descriptions","sort","slice","join","describeExpected","found1","message","location","_this","name","captureStackTrace","pegParse","input","options","peg$result","peg$FAILED","peg$startRuleFunctions","start","peg$parsestart","peg$startRuleFunction","peg$c0","peg$c1","messageText","value","insertLocation","peg$c2","peg$c3","peg$literalExpectation","peg$c4","pound","peg$c5","peg$otherExpectation","peg$c6","peg$c7","peg$c8","peg$c9","peg$c10","peg$c11","open","children","close","error","tag","peg$c12","messageCtx","push","peg$c13","peg$c14","peg$c15","pop","peg$c16","peg$c17","peg$c18","peg$c19","peg$c20","peg$c21","peg$c22","peg$c23","peg$c24","peg$c25","argument","peg$c26","peg$c27","peg$c28","peg$classExpectation","peg$c29","peg$c30","peg$c31","peg$c32","peg$c33","option","peg$c34","peg$c35","stem","peg$c36","tokens","peg$c37","peg$c38","peg$c39","skeleton","peg$c40","peg$c41","style","peg$c42","peg$c43","peg$c44","peg$c45","peg$c46","number","date","time","peg$c47","peg$c48","peg$c49","peg$c50","peg$c51","peg$c52","peg$c53","peg$c54","peg$c55","pattern","peg$c56","peg$c57","peg$c58","peg$c59","peg$c60","peg$c61","peg$c62","peg$c63","peg$c64","peg$c65","peg$c66","peg$c67","pluralType","offset","reduce","all","_a","id","optionLocation","peg$c68","peg$c69","peg$c70","peg$c71","peg$c72","peg$c73","peg$c74","peg$c75","peg$c76","peg$c77","peg$c78","peg$c79","peg$c80","peg$c81","peg$c82","peg$c83","peg$c84","peg$c85","peg$c86","peg$c87","negative","num","peg$c89","peg$c90","peg$c91","peg$c92","peg$c93","escapedChar","quotedChars","peg$c94","x","ignoreTag","isInPluralOption","isNestedMessageText","peg$c95","peg$c96","peg$c97","peg$c98","peg$c99","peg$c100","peg$c101","peg$c102","peg$c103","peg$c104","peg$c105","peg$c106","peg$c107","peg$c108","digits","parseInt","peg$c109","peg$c110","peg$currPos","peg$savedPos","peg$posDetailsCache","line","column","peg$maxFailPos","peg$maxFailExpected","peg$silentFails","undefined","startRule","substring","peg$computeLocation","location1","text1","ignoreCase","peg$computePosDetails","pos","details","startPos","endPos","startPosDetails","endPosDetails","end","peg$fail","peg$parsemessage","s0","s1","peg$parsemessageElement","peg$parsemessageText","peg$parseliteralElement","s2","s3","s5","peg$parse_","peg$parseargNameOrNumber","peg$parseargumentElement","s7","s9","s10","s11","s12","substr","peg$parsenumberSkeletonToken","peg$parsenumberSkeleton","peg$parsenumberArgStyle","peg$parsenumberFormatElement","peg$parsedateTimeSkeletonLiteral","peg$parsedateTimeSkeletonPattern","peg$parsedateTimeSkeleton","peg$parsedateOrTimeArgStyle","peg$parsedateOrTimeFormatElement","peg$parsesimpleFormatElement","s13","s14","s15","peg$parsenumber","peg$parsepluralOption","peg$parsepluralElement","peg$parseselectOption","peg$parseselectElement","s4","peg$parsevalidTag","peg$parseopeningTag","peg$parseclosingTag","peg$parsetagElement","peg$parsepoundElement","peg$parsedoubleApostrophes","peg$parsequotedString","peg$parseunquotedString","peg$parsenumberSkeletonId","peg$parsewhiteSpace","test","charAt","peg$parsenumberSkeletonTokenOption","s6","peg$parseargName","peg$parsepatternSyntax","peg$parseargNumber","peg$parseescapedChar","peg$parsetagName","captureLocation","__spreadArrays","il","r","k","a","jl","PLURAL_HASHTAG_REGEX","DATE_TIME_REGEX","parseDateTimeSkeleton","result","match","len","era","year","RangeError","month","day","weekday","hour12","hourCycle","hour","minute","second","timeZoneName","FRACTION_PRECISION_REGEX","SIGNIFICANT_PRECISION_REGEX","parseSignificantPrecision","str","_","g1","g2","minimumSignificantDigits","maximumSignificantDigits","parseSign","signDisplay","currencySign","parseNotationOptions","opt","signOpts","convertNumberSkeletonToNumberFormatOptions","_i","tokens_1","token","currency","useGrouping","maximumFractionDigits","unit","notation","compactDisplay","currencyDisplay","unitDisplay","g3","g4","g5","minimumFractionDigits","parse","opts","els","normalizeHashtagInPlural","forEach","keys","newValue","newEls","matchingLiteralElIndex","literalEl","el_1","splice","getCacheId","inputs","JSON","stringify","obj","ErrorCode","memoizeFormatConstructor","FormatConstructor","cache","args","cacheId","format","bind","FormatError","code","msg","originalMessage","InvalidValueError","variableId","InvalidValueTypeError","PART_TYPE","MissingValueError","formatToParts","locales","formatters","formats","values","currentPluralValue","els_1","varName","value_1","formatFn","chunks","c","other","Intl","PluralRules","rule","getPluralRules","getNumberFormat","getDateTimeFormat","String","lastPart","mergeConfigs","defaultConfig","configs","c1","c2","createDefaultFormatters","dateTime","pluralRules","memoizeIntlConstructor","NumberFormat","DateTimeFormat","IntlMessageFormat","defineProperty","get","memoizedDefaultLocale","resolvedOptions","locale","enumerable","configurable","__parse","percent","short","medium","long","full","overrideFormats","defaultLocale","formatterCache","ast","supportedLocalesOf","getAst","TypeError"],"mappings":"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"}
| ver. 1.4 |
Github
|
.
| PHP 8.1.33 | Генерация страницы: 0.04 |
proxy
|
phpinfo
|
Настройка