react-intl 3.9.1 → 3.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/dist/formatters/list.d.ts +1 -2
- package/dist/react-intl.api.md +2 -0
- package/dist/react-intl.d.ts +1 -0
- package/dist/react-intl.js +1 -1
- package/dist/react-intl.js.map +1 -1
- package/dist/react-intl.min.js +1 -1
- package/dist/react-intl.min.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/lib/formatters/list.d.ts +1 -2
- package/lib/react-intl.d.ts +1 -0
- package/lib/tsdoc-metadata.json +1 -1
- package/lib/types.d.ts +1 -0
- package/package.json +16 -16
- package/src/formatters/list.ts +7 -1
- package/src/types.ts +4 -0
package/dist/react-intl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-intl.js","sources":["../node_modules/@formatjs/macro/dist/index.js","../node_modules/intl-messageformat-parser/lib/types.js","../node_modules/intl-messageformat-parser/lib/parser.js","../node_modules/intl-messageformat-parser/lib/normalize.js","../node_modules/intl-messageformat-parser/lib/skeleton.js","../node_modules/intl-messageformat-parser/lib/index.js","../node_modules/intl-format-cache/lib/index.js","../node_modules/intl-messageformat/lib/formatters.js","../node_modules/intl-messageformat/lib/core.js","../node_modules/intl-messageformat/lib/index.js","../node_modules/invariant/invariant.js","../lib/utils.js","../node_modules/react-is/cjs/react-is.development.js","../node_modules/react-is/index.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../lib/components/injectIntl.js","../lib/components/createFormattedComponent.js","../lib/components/useIntl.js","../node_modules/intl-locales-supported/lib/index.js","../lib/formatters/number.js","../lib/formatters/relativeTime.js","../lib/formatters/dateTime.js","../lib/formatters/plural.js","../lib/formatters/message.js","../node_modules/shallow-equal/objects/index.js","../lib/formatters/list.js","../lib/components/provider.js","../lib/components/relative.js","../lib/components/plural.js","../lib/components/message.js","../lib/components/html-message.js","../lib/index.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction _(msg) {\n return msg;\n}\nexports._ = _;\nfunction defineMessages(msgs) {\n return msgs;\n}\nexports.defineMessages = defineMessages;\n//# sourceMappingURL=index.js.map","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})(TYPE || (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 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","// 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 = peg$otherExpectation(\"argumentElement\");\n var peg$c3 = \"{\";\n var peg$c4 = peg$literalExpectation(\"{\", false);\n var peg$c5 = \"}\";\n var peg$c6 = peg$literalExpectation(\"}\", false);\n var peg$c7 = function (value) {\n return __assign({ type: TYPE.argument, value: value }, insertLocation());\n };\n var peg$c8 = peg$otherExpectation(\"numberSkeletonId\");\n var peg$c9 = /^['\\/{}]/;\n var peg$c10 = peg$classExpectation([\"'\", \"/\", \"{\", \"}\"], false, false);\n var peg$c11 = peg$anyExpectation();\n var peg$c12 = peg$otherExpectation(\"numberSkeletonTokenOption\");\n var peg$c13 = \"/\";\n var peg$c14 = peg$literalExpectation(\"/\", false);\n var peg$c15 = function (option) { return option; };\n var peg$c16 = peg$otherExpectation(\"numberSkeletonToken\");\n var peg$c17 = function (stem, options) {\n return { stem: stem, options: options };\n };\n var peg$c18 = function (tokens) {\n return __assign({ type: 0 /* number */, tokens: tokens }, insertLocation());\n };\n var peg$c19 = \"::\";\n var peg$c20 = peg$literalExpectation(\"::\", false);\n var peg$c21 = function (skeleton) { return skeleton; };\n var peg$c22 = function (style) { return style.replace(/\\s*$/, ''); };\n var peg$c23 = \",\";\n var peg$c24 = peg$literalExpectation(\",\", false);\n var peg$c25 = \"number\";\n var peg$c26 = peg$literalExpectation(\"number\", false);\n var peg$c27 = 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$c28 = \"'\";\n var peg$c29 = peg$literalExpectation(\"'\", false);\n var peg$c30 = /^[^']/;\n var peg$c31 = peg$classExpectation([\"'\"], true, false);\n var peg$c32 = /^[^a-zA-Z'{}]/;\n var peg$c33 = peg$classExpectation([[\"a\", \"z\"], [\"A\", \"Z\"], \"'\", \"{\", \"}\"], true, false);\n var peg$c34 = /^[a-zA-Z]/;\n var peg$c35 = peg$classExpectation([[\"a\", \"z\"], [\"A\", \"Z\"]], false, false);\n var peg$c36 = function (pattern) {\n return __assign({ type: 1 /* dateTime */, pattern: pattern }, insertLocation());\n };\n var peg$c37 = \"date\";\n var peg$c38 = peg$literalExpectation(\"date\", false);\n var peg$c39 = \"time\";\n var peg$c40 = peg$literalExpectation(\"time\", false);\n var peg$c41 = \"plural\";\n var peg$c42 = peg$literalExpectation(\"plural\", false);\n var peg$c43 = \"selectordinal\";\n var peg$c44 = peg$literalExpectation(\"selectordinal\", false);\n var peg$c45 = \"offset:\";\n var peg$c46 = peg$literalExpectation(\"offset:\", false);\n var peg$c47 = 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$c48 = \"select\";\n var peg$c49 = peg$literalExpectation(\"select\", false);\n var peg$c50 = 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$c51 = \"=\";\n var peg$c52 = peg$literalExpectation(\"=\", false);\n var peg$c53 = function (id, value) {\n return __assign({ id: id,\n value: value }, insertLocation());\n };\n var peg$c54 = function (id, value) {\n return __assign({ id: id,\n value: value }, insertLocation());\n };\n var peg$c55 = peg$otherExpectation(\"whitespace pattern\");\n var peg$c56 = /^[\\t-\\r \\x85\\u200E\\u200F\\u2028\\u2029]/;\n var peg$c57 = peg$classExpectation([[\"\\t\", \"\\r\"], \" \", \"\\x85\", \"\\u200E\", \"\\u200F\", \"\\u2028\", \"\\u2029\"], false, false);\n var peg$c58 = peg$otherExpectation(\"syntax pattern\");\n var peg$c59 = /^[!-\\/:-@[-\\^`{-~\\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$c60 = 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$c61 = peg$otherExpectation(\"optional whitespace\");\n var peg$c62 = peg$otherExpectation(\"number\");\n var peg$c63 = \"-\";\n var peg$c64 = peg$literalExpectation(\"-\", false);\n var peg$c65 = function (negative, num) {\n return num\n ? negative\n ? -num\n : num\n : 0;\n };\n var peg$c66 = peg$otherExpectation(\"apostrophe\");\n var peg$c67 = peg$otherExpectation(\"double apostrophes\");\n var peg$c68 = \"''\";\n var peg$c69 = peg$literalExpectation(\"''\", false);\n var peg$c70 = function () { return \"'\"; };\n var peg$c71 = /^[{}]/;\n var peg$c72 = peg$classExpectation([\"{\", \"}\"], false, false);\n var peg$c73 = function (escapedChar, quotedChars) {\n return escapedChar + quotedChars.replace(\"''\", \"'\");\n };\n var peg$c74 = /^[^{}]/;\n var peg$c75 = peg$classExpectation([\"{\", \"}\"], true, false);\n var peg$c76 = peg$otherExpectation(\"argNameOrNumber\");\n var peg$c77 = peg$otherExpectation(\"argNumber\");\n var peg$c78 = \"0\";\n var peg$c79 = peg$literalExpectation(\"0\", false);\n var peg$c80 = function () { return 0; };\n var peg$c81 = /^[1-9]/;\n var peg$c82 = peg$classExpectation([[\"1\", \"9\"]], false, false);\n var peg$c83 = /^[0-9]/;\n var peg$c84 = peg$classExpectation([[\"0\", \"9\"]], false, false);\n var peg$c85 = function (digits) {\n return parseInt(digits.join(''), 10);\n };\n var peg$c86 = peg$otherExpectation(\"argName\");\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 }\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$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$c3;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c4);\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$c5;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c6);\n }\n }\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c7(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$c2);\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$parsepatternWhiteSpace();\n if (s4 === peg$FAILED) {\n if (peg$c9.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$c10);\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$c11);\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$parsepatternWhiteSpace();\n if (s4 === peg$FAILED) {\n if (peg$c9.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$c10);\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$c11);\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$c8);\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$c13;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c14);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsenumberSkeletonId();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c15(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$c12);\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$c17(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$c16);\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$c18(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$c19) {\n s1 = peg$c19;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c20);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsenumberSkeleton();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c21(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 s1 = peg$parsemessageText();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c22(s1);\n }\n s0 = s1;\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$c3;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c4);\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$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 s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 6) === peg$c25) {\n s7 = peg$c25;\n peg$currPos += 6;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c26);\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$c23;\n peg$currPos++;\n }\n else {\n s10 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\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$c5;\n peg$currPos++;\n }\n else {\n s11 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c6);\n }\n }\n if (s11 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c27(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$c28;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parsedoubleApostrophes();\n if (s3 === peg$FAILED) {\n if (peg$c30.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$c31);\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$c30.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$c31);\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$c28;\n peg$currPos++;\n }\n else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\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$c32.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$c33);\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$c32.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$c33);\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$c34.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$c35);\n }\n }\n if (s1 !== peg$FAILED) {\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n if (peg$c34.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$c35);\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$c36(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$c19) {\n s1 = peg$c19;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c20);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsedateTimeSkeleton();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c21(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 s1 = peg$parsemessageText();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c22(s1);\n }\n s0 = s1;\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$c3;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c4);\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$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 s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 4) === peg$c37) {\n s7 = peg$c37;\n peg$currPos += 4;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c38);\n }\n }\n if (s7 === peg$FAILED) {\n if (input.substr(peg$currPos, 4) === peg$c39) {\n s7 = peg$c39;\n peg$currPos += 4;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c40);\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$c23;\n peg$currPos++;\n }\n else {\n s10 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\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$c5;\n peg$currPos++;\n }\n else {\n s11 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c6);\n }\n }\n if (s11 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c27(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$c3;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c4);\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$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 s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 6) === peg$c41) {\n s7 = peg$c41;\n peg$currPos += 6;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c42);\n }\n }\n if (s7 === peg$FAILED) {\n if (input.substr(peg$currPos, 13) === peg$c43) {\n s7 = peg$c43;\n peg$currPos += 13;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c44);\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$c23;\n peg$currPos++;\n }\n else {\n s9 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\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$c45) {\n s12 = peg$c45;\n peg$currPos += 7;\n }\n else {\n s12 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c46);\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$c5;\n peg$currPos++;\n }\n else {\n s15 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c6);\n }\n }\n if (s15 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c47(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$c3;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c4);\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$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 s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 6) === peg$c48) {\n s7 = peg$c48;\n peg$currPos += 6;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c49);\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$c23;\n peg$currPos++;\n }\n else {\n s9 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\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$c5;\n peg$currPos++;\n }\n else {\n s13 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c6);\n }\n }\n if (s13 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c50(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$c51;\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c52);\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;\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$c3;\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c4);\n }\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parsemessage();\n if (s5 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s6 = peg$c5;\n peg$currPos++;\n }\n else {\n s6 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c6);\n }\n }\n if (s6 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c53(s2, s5);\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 return s0;\n }\n function peg$parsepluralOption() {\n var s0, s1, s2, s3, s4, s5, s6;\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$c3;\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c4);\n }\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parsemessage();\n if (s5 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s6 = peg$c5;\n peg$currPos++;\n }\n else {\n s6 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c6);\n }\n }\n if (s6 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c54(s2, s5);\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 return s0;\n }\n function peg$parsepatternWhiteSpace() {\n var s0, s1;\n peg$silentFails++;\n if (peg$c56.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$c57);\n }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c55);\n }\n }\n return s0;\n }\n function peg$parsepatternSyntax() {\n var s0, s1;\n peg$silentFails++;\n if (peg$c59.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$c60);\n }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c58);\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$parsepatternWhiteSpace();\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsepatternWhiteSpace();\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$c61);\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$c63;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c64);\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$c65(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$c62);\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$c28;\n peg$currPos++;\n }\n else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c66);\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$c68) {\n s1 = peg$c68;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c69);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c70();\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$c67);\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$c28;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n if (s1 !== peg$FAILED) {\n if (peg$c71.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$c72);\n }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$currPos;\n s4 = [];\n if (input.substr(peg$currPos, 2) === peg$c68) {\n s5 = peg$c68;\n peg$currPos += 2;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c69);\n }\n }\n if (s5 === peg$FAILED) {\n if (peg$c30.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$c31);\n }\n }\n }\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n if (input.substr(peg$currPos, 2) === peg$c68) {\n s5 = peg$c68;\n peg$currPos += 2;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c69);\n }\n }\n if (s5 === peg$FAILED) {\n if (peg$c30.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$c31);\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$c28;\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 peg$savedPos = s0;\n s1 = peg$c73(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;\n s0 = peg$currPos;\n if (peg$c74.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$c75);\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$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$c76);\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$c78;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c79);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c80();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$currPos;\n if (peg$c81.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$c82);\n }\n }\n if (s2 !== peg$FAILED) {\n s3 = [];\n if (peg$c83.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$c84);\n }\n }\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n if (peg$c83.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$c84);\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$c85(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$c77);\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$parsepatternWhiteSpace();\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$c11);\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$parsepatternWhiteSpace();\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$c11);\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$c86);\n }\n }\n return s0;\n }\n function insertLocation() {\n return options && options.captureLocation ? {\n location: location()\n } : {};\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","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","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+)(\\+|#+)?)?$/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 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 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) {\n // precision-integer case\n if (match === '.') {\n result.maximumFractionDigits = 0;\n }\n // .000+ case\n else if (g2 === '+') {\n result.minimumFractionDigits = g2.length;\n }\n // .### case\n else if (g1[0] === '#') {\n result.maximumFractionDigits = g1.length;\n }\n // .00## or .000 case\n else {\n result.minimumFractionDigits = g1.length;\n result.maximumFractionDigits =\n g1.length + (typeof g2 === 'string' ? g2.length : 0);\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","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","/*\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","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})();\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};\nimport { convertNumberSkeletonToNumberFormatOptions, isArgumentElement, isDateElement, isDateTimeSkeleton, isLiteralElement, isNumberElement, isNumberSkeleton, isPluralElement, isSelectElement, isTimeElement, parseDateTimeSkeleton, } from 'intl-messageformat-parser';\nvar ESCAPE_HASH_REGEX = /\\\\#/g;\nvar PLURAL_HASH = /(^|[^\\\\])#/g;\nvar FormatError = /** @class */ (function (_super) {\n __extends(FormatError, _super);\n function FormatError(msg, variableId) {\n var _this = _super.call(this, msg) || this;\n _this.variableId = variableId;\n return _this;\n }\n return FormatError;\n}(Error));\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}\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 var value = els[0].value;\n if (typeof currentPluralValue === 'number') {\n value = value.replace(PLURAL_HASH, '$1' + formatters.getNumberFormat(locales).format(currentPluralValue));\n }\n return [\n {\n type: 0 /* literal */,\n value: value.replace(ESCAPE_HASH_REGEX, '#'),\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 var value_1 = el.value;\n if (typeof currentPluralValue === 'number') {\n value_1 = value_1.replace(PLURAL_HASH, '$1' + formatters.getNumberFormat(locales).format(currentPluralValue));\n }\n result.push({\n type: 0 /* literal */,\n value: value_1.replace(ESCAPE_HASH_REGEX, '#'),\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 FormatError(\"The intl string context variable \\\"\" + varName + \"\\\" was not provided to the string \\\"\" + 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: 1 /* argument */,\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' ? formats.date[el.style] : 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 (isSelectElement(el)) {\n var opt = el.options[value] || el.options.other;\n if (!opt) {\n throw new RangeError(\"Invalid values for \\\"\" + el.value + \"\\\": \\\"\" + value + \"\\\". Options are \\\"\" + Object.keys(el.options).join('\", \"') + \"\\\"\");\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\");\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 RangeError(\"Invalid values for \\\"\" + el.value + \"\\\": \\\"\" + value + \"\\\". Options are \\\"\" + Object.keys(el.options).join('\", \"') + \"\\\"\");\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}\nexport function formatToString(els, locales, formatters, formats, values, \n// For debugging\noriginalMessage) {\n var parts = formatToParts(els, locales, formatters, formats, values, undefined, originalMessage);\n // Hot path for straight simple msg translations\n if (parts.length === 1) {\n return parts[0].value;\n }\n return parts.reduce(function (all, part) { return (all += part.value); }, '');\n}\n// Singleton\nvar domParser;\nvar TOKEN_DELIMITER = '@@';\nvar TOKEN_REGEX = /@@(\\d+_\\d+)@@/g;\nvar counter = 0;\nfunction generateId() {\n return Date.now() + \"_\" + ++counter;\n}\nfunction restoreRichPlaceholderMessage(text, objectParts) {\n return text\n .split(TOKEN_REGEX)\n .filter(Boolean)\n .map(function (c) { return (objectParts[c] != null ? objectParts[c] : c); })\n .reduce(function (all, c) {\n if (!all.length) {\n all.push(c);\n }\n else if (typeof c === 'string' &&\n typeof all[all.length - 1] === 'string') {\n all[all.length - 1] += c;\n }\n else {\n all.push(c);\n }\n return all;\n }, []);\n}\n/**\n * Not exhaustive, just for sanity check\n */\nvar SIMPLE_XML_REGEX = /(<([0-9a-zA-Z-_]*?)>(.*?)<\\/([0-9a-zA-Z-_]*?)>)|(<[0-9a-zA-Z-_]*?\\/>)/;\nvar TEMPLATE_ID = Date.now() + '@@';\nvar VOID_ELEMENTS = [\n 'area',\n 'base',\n 'br',\n 'col',\n 'embed',\n 'hr',\n 'img',\n 'input',\n 'link',\n 'meta',\n 'param',\n 'source',\n 'track',\n 'wbr',\n];\nfunction formatHTMLElement(el, objectParts, values) {\n var tagName = el.tagName;\n var outerHTML = el.outerHTML, textContent = el.textContent, childNodes = el.childNodes;\n // Regular text\n if (!tagName) {\n return restoreRichPlaceholderMessage(textContent || '', objectParts);\n }\n tagName = tagName.toLowerCase();\n var isVoidElement = ~VOID_ELEMENTS.indexOf(tagName);\n var formatFnOrValue = values[tagName];\n if (formatFnOrValue && isVoidElement) {\n throw new FormatError(tagName + \" is a self-closing tag and can not be used, please use another tag name.\");\n }\n if (!childNodes.length) {\n return [outerHTML];\n }\n var chunks = Array.prototype.slice.call(childNodes).reduce(function (all, child) {\n return all.concat(formatHTMLElement(child, objectParts, values));\n }, []);\n // Legacy HTML\n if (!formatFnOrValue) {\n return __spreadArrays([\"<\" + tagName + \">\"], chunks, [\"</\" + tagName + \">\"]);\n }\n // HTML Tag replacement\n if (typeof formatFnOrValue === 'function') {\n return [formatFnOrValue.apply(void 0, chunks)];\n }\n return [formatFnOrValue];\n}\nexport function formatHTMLMessage(els, locales, formatters, formats, values, \n// For debugging\noriginalMessage) {\n var parts = formatToParts(els, locales, formatters, formats, values, undefined, originalMessage);\n var objectParts = {};\n var formattedMessage = parts.reduce(function (all, part) {\n if (part.type === 0 /* literal */) {\n return (all += part.value);\n }\n var id = generateId();\n objectParts[id] = part.value;\n return (all += \"\" + TOKEN_DELIMITER + id + TOKEN_DELIMITER);\n }, '');\n // Not designed to filter out aggressively\n if (!SIMPLE_XML_REGEX.test(formattedMessage)) {\n return restoreRichPlaceholderMessage(formattedMessage, objectParts);\n }\n if (!values) {\n throw new FormatError('Message has placeholders but no values was given');\n }\n if (typeof DOMParser === 'undefined') {\n throw new FormatError('Cannot format XML message without DOMParser');\n }\n if (!domParser) {\n domParser = new DOMParser();\n }\n var content = domParser\n .parseFromString(\"<formatted-message id=\\\"\" + TEMPLATE_ID + \"\\\">\" + formattedMessage + \"</formatted-message>\", 'text/html')\n .getElementById(TEMPLATE_ID);\n if (!content) {\n throw new FormatError(\"Malformed HTML message \" + formattedMessage);\n }\n var tagsToFormat = Object.keys(values).filter(function (varName) { return !!content.getElementsByTagName(varName).length; });\n // No tags to format\n if (!tagsToFormat.length) {\n return restoreRichPlaceholderMessage(formattedMessage, objectParts);\n }\n var caseSensitiveTags = tagsToFormat.filter(function (tagName) { return tagName !== tagName.toLowerCase(); });\n if (caseSensitiveTags.length) {\n throw new FormatError(\"HTML tag must be lowercased but the following tags are not: \" + caseSensitiveTags.join(', '));\n }\n // We're doing this since top node is `<formatted-message/>` which does not have a formatter\n return Array.prototype.slice\n .call(content.childNodes)\n .reduce(function (all, child) { return all.concat(formatHTMLElement(child, objectParts, values)); }, []);\n}\n","/*\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 { formatToString, formatToParts, formatHTMLMessage, } 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 return formatToString(_this.ast, _this.locales, _this.formatters, _this.formats, values, _this.message);\n };\n this.formatToParts = function (values) {\n return formatToParts(_this.ast, _this.locales, _this.formatters, _this.formats, values, undefined, _this.message);\n };\n this.formatHTMLMessage = function (values) {\n return formatHTMLMessage(_this.ast, _this.locales, _this.formatters, _this.formats, values, _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 });\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 IntlMessageFormat.defaultLocale = new Intl.NumberFormat().resolvedOptions().locale;\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","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nimport IntlMessageFormat from './core';\nexport * from './formatters';\nexport * from './core';\nexport default IntlMessageFormat;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar NODE_ENV = process.env.NODE_ENV;\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","/*\nHTML escaping is the same as React's\n(on purpose.) Therefore, it has the following Copyright and Licensing:\n\nCopyright 2013-2014, Facebook, Inc.\nAll rights reserved.\n\nThis source code is licensed under the BSD-style license found in the LICENSE\nfile in the root directory of React's source tree.\n*/\nimport * as React from 'react';\nimport IntlMessageFormat from 'intl-messageformat';\nimport memoizeIntlConstructor from 'intl-format-cache';\n// Since rollup cannot deal with namespace being a function,\n// this is to interop with TypeScript since `invariant`\n// does not export a default\n// https://github.com/rollup/rollup/issues/1267\nimport * as invariant_ from 'invariant';\nconst invariant = invariant_.default || invariant_;\nconst ESCAPED_CHARS = {\n 38: '&',\n 62: '>',\n 60: '<',\n 34: '"',\n 39: ''',\n};\nconst UNSAFE_CHARS_REGEX = /[&><\"']/g;\nexport function escape(str) {\n return ('' + str).replace(UNSAFE_CHARS_REGEX, match => ESCAPED_CHARS[match.charCodeAt(0)]);\n}\nexport function filterProps(props, whitelist, defaults = {}) {\n return whitelist.reduce((filtered, name) => {\n if (name in props) {\n filtered[name] = props[name];\n }\n else if (name in defaults) {\n filtered[name] = defaults[name];\n }\n return filtered;\n }, {});\n}\nexport function invariantIntlContext(intl) {\n invariant(intl, '[React Intl] Could not find required `intl` object. ' +\n '<IntlProvider> needs to exist in the component ancestry.');\n}\nexport function createError(message, exception) {\n const eMsg = exception ? `\\n${exception.stack}` : '';\n return `[React Intl] ${message}${eMsg}`;\n}\nexport function defaultErrorHandler(error) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(error);\n }\n}\nexport const DEFAULT_INTL_CONFIG = {\n formats: {},\n messages: {},\n timeZone: undefined,\n textComponent: React.Fragment,\n defaultLocale: 'en',\n defaultFormats: {},\n onError: defaultErrorHandler,\n};\nexport function createIntlCache() {\n return {\n dateTime: {},\n number: {},\n message: {},\n relativeTime: {},\n pluralRules: {},\n list: {},\n };\n}\n/**\n * Create intl formatters and populate cache\n * @param cache explicit cache to prevent leaking memory\n */\nexport function createFormatters(cache = createIntlCache()) {\n const RelativeTimeFormat = Intl.RelativeTimeFormat;\n const ListFormat = Intl.ListFormat;\n return {\n getDateTimeFormat: memoizeIntlConstructor(Intl.DateTimeFormat, cache.dateTime),\n getNumberFormat: memoizeIntlConstructor(Intl.NumberFormat, cache.number),\n getMessageFormat: memoizeIntlConstructor(IntlMessageFormat, cache.message),\n getRelativeTimeFormat: memoizeIntlConstructor(RelativeTimeFormat, cache.relativeTime),\n getPluralRules: memoizeIntlConstructor(Intl.PluralRules, cache.pluralRules),\n getListFormat: memoizeIntlConstructor(ListFormat, cache.list),\n };\n}\nexport function getNamedFormat(formats, type, name, onError) {\n const formatType = formats && formats[type];\n let format;\n if (formatType) {\n format = formatType[name];\n }\n if (format) {\n return format;\n }\n onError(createError(`No ${type} format named: ${name}`));\n}\n","/** @license React v16.8.6\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\n\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace;\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' ||\n // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE);\n}\n\n/**\n * Forked from fbjs/warning:\n * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js\n *\n * Only change is we use console.warn instead of console.error,\n * and do nothing when 'console' is not supported.\n * This really simplifies the code.\n * ---\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar lowPriorityWarning = function () {};\n\n{\n var printWarning = function (format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.warn(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n lowPriorityWarning = function (condition, format) {\n if (format === undefined) {\n throw new Error('`lowPriorityWarning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n}\n\nvar lowPriorityWarning$1 = lowPriorityWarning;\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n default:\n return $$typeof;\n }\n }\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n}\n\n// AsyncMode is deprecated along with isAsyncMode\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\n\nvar hasWarnedAboutDeprecatedIsAsyncMode = false;\n\n// AsyncMode should be deprecated\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true;\n lowPriorityWarning$1(false, 'The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.typeOf = typeOf;\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isValidElementType = isValidElementType;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\n\nfunction getStatics(component) {\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n }\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","import * as React from 'react';\nimport * as hoistNonReactStatics_ from 'hoist-non-react-statics';\n// Since rollup cannot deal with namespace being a function,\n// this is to interop with TypeScript since `invariant`\n// does not export a default\n// https://github.com/rollup/rollup/issues/1267\nconst hoistNonReactStatics = hoistNonReactStatics_.default || hoistNonReactStatics_;\nimport { invariantIntlContext } from '../utils';\nfunction getDisplayName(Component) {\n return Component.displayName || Component.name || 'Component';\n}\n// TODO: We should provide initial value here\nconst IntlContext = React.createContext(null);\nconst { Consumer: IntlConsumer, Provider: IntlProvider } = IntlContext;\nexport const Provider = IntlProvider;\nexport const Context = IntlContext;\nexport default function injectIntl(WrappedComponent, options) {\n const { intlPropName = 'intl', forwardRef = false, enforceContext = true } = options || {};\n const WithIntl = props => (React.createElement(IntlConsumer, null, (intl) => {\n if (enforceContext) {\n invariantIntlContext(intl);\n }\n return (React.createElement(WrappedComponent, Object.assign({}, props, {\n [intlPropName]: intl,\n }, { ref: forwardRef ? props.forwardedRef : null })));\n }));\n WithIntl.displayName = `injectIntl(${getDisplayName(WrappedComponent)})`;\n WithIntl.WrappedComponent = WrappedComponent;\n if (forwardRef) {\n return hoistNonReactStatics(React.forwardRef((props, ref) => (React.createElement(WithIntl, Object.assign({}, props, { forwardedRef: ref })))), WrappedComponent);\n }\n return hoistNonReactStatics(WithIntl, WrappedComponent);\n}\n","var __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\nimport * as React from 'react';\nimport { invariantIntlContext } from '../utils';\nimport { Context } from './injectIntl';\nvar DisplayName;\n(function (DisplayName) {\n DisplayName[\"formatDate\"] = \"FormattedDate\";\n DisplayName[\"formatTime\"] = \"FormattedTime\";\n DisplayName[\"formatNumber\"] = \"FormattedNumber\";\n DisplayName[\"formatList\"] = \"FormattedList\";\n})(DisplayName || (DisplayName = {}));\nvar DisplayNameParts;\n(function (DisplayNameParts) {\n DisplayNameParts[\"formatDate\"] = \"FormattedDateParts\";\n DisplayNameParts[\"formatTime\"] = \"FormattedTimeParts\";\n DisplayNameParts[\"formatNumber\"] = \"FormattedNumberParts\";\n DisplayNameParts[\"formatList\"] = \"FormattedListParts\";\n})(DisplayNameParts || (DisplayNameParts = {}));\nexport const FormattedNumberParts = props => (React.createElement(Context.Consumer, null, (intl) => {\n invariantIntlContext(intl);\n const { value, children } = props, formatProps = __rest(props, [\"value\", \"children\"]);\n return children(intl.formatNumberToParts(value, formatProps));\n}));\nFormattedNumberParts.displayName = 'FormattedNumberParts';\nexport function createFormattedDateTimePartsComponent(name) {\n const ComponentParts = props => (React.createElement(Context.Consumer, null, (intl) => {\n invariantIntlContext(intl);\n const { value, children } = props, formatProps = __rest(props, [\"value\", \"children\"]);\n const date = typeof value === 'string' ? new Date(value || 0) : value;\n const formattedParts = name === 'formatDate'\n ? intl.formatDateToParts(date, formatProps)\n : intl.formatTimeToParts(date, formatProps);\n return children(formattedParts);\n }));\n ComponentParts.displayName = DisplayNameParts[name];\n return ComponentParts;\n}\nexport function createFormattedComponent(name) {\n const Component = props => (React.createElement(Context.Consumer, null, (intl) => {\n invariantIntlContext(intl);\n const { value, children } = props, formatProps = __rest(props, [\"value\", \"children\"]);\n // TODO: fix TS type definition for localeMatcher upstream\n const formattedValue = intl[name](value, formatProps);\n if (typeof children === 'function') {\n return children(formattedValue);\n }\n const Text = intl.textComponent || React.Fragment;\n return React.createElement(Text, null, formattedValue);\n }));\n Component.displayName = DisplayName[name];\n return Component;\n}\n","import { useContext } from 'react';\nimport { Context } from './injectIntl';\nimport { invariantIntlContext } from '../utils';\nexport default function useIntl() {\n const intl = useContext(Context);\n invariantIntlContext(intl);\n return intl;\n}\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nexport default function areIntlLocalesSupported(locales, constructorsToCheck) {\n if (typeof Intl === 'undefined') {\n return false;\n }\n if (!locales) {\n throw new Error('locales must be supplied.');\n }\n if (!Array.isArray(locales)) {\n locales = [locales];\n }\n var intlConstructors = constructorsToCheck || [\n Intl.DateTimeFormat,\n Intl.NumberFormat,\n Intl.PluralRules,\n ];\n intlConstructors = intlConstructors.filter(Boolean);\n if (intlConstructors.length === 0 ||\n (constructorsToCheck &&\n intlConstructors.length !== constructorsToCheck.length)) {\n return false;\n }\n return intlConstructors.every(function (intlConstructor) {\n return intlConstructor.supportedLocalesOf(locales).length === locales.length;\n });\n}\n","import { getNamedFormat, filterProps, createError } from '../utils';\nconst NUMBER_FORMAT_OPTIONS = [\n 'localeMatcher',\n 'style',\n 'currency',\n 'currencyDisplay',\n 'unit',\n 'unitDisplay',\n 'useGrouping',\n 'minimumIntegerDigits',\n 'minimumFractionDigits',\n 'maximumFractionDigits',\n 'minimumSignificantDigits',\n 'maximumSignificantDigits',\n // Unified NumberFormat (Stage 3 as of 10/22/19)\n 'compactDisplay',\n 'currencyDisplay',\n 'currencySign',\n 'notation',\n 'signDisplay',\n 'unit',\n 'unitDisplay',\n];\nexport function getFormatter({ locale, formats, onError, }, getNumberFormat, options = {}) {\n const { format } = options;\n const defaults = ((format &&\n getNamedFormat(formats, 'number', format, onError)) ||\n {});\n const filteredOptions = filterProps(options, NUMBER_FORMAT_OPTIONS, defaults);\n return getNumberFormat(locale, filteredOptions);\n}\nexport function formatNumber(config, getNumberFormat, value, options = {}) {\n try {\n return getFormatter(config, getNumberFormat, options).format(value);\n }\n catch (e) {\n config.onError(createError('Error formatting number.', e));\n }\n return String(value);\n}\nexport function formatNumberToParts(config, getNumberFormat, value, options = {}) {\n try {\n return getFormatter(config, getNumberFormat, options).formatToParts(value);\n }\n catch (e) {\n config.onError(createError('Error formatting number.', e));\n }\n return [];\n}\n","import { getNamedFormat, filterProps, createError } from '../utils';\nconst RELATIVE_TIME_FORMAT_OPTIONS = [\n 'numeric',\n 'style',\n];\nfunction getFormatter({ locale, formats, onError, }, getRelativeTimeFormat, options = {}) {\n const { format } = options;\n const defaults = (!!format && getNamedFormat(formats, 'relative', format, onError)) || {};\n const filteredOptions = filterProps(options, RELATIVE_TIME_FORMAT_OPTIONS, defaults);\n return getRelativeTimeFormat(locale, filteredOptions);\n}\nexport function formatRelativeTime(config, getRelativeTimeFormat, value, unit, options = {}) {\n if (!unit) {\n unit = 'second';\n }\n const RelativeTimeFormat = Intl.RelativeTimeFormat;\n if (!RelativeTimeFormat) {\n config.onError(createError(`Intl.RelativeTimeFormat is not available in this environment.\nTry polyfilling it using \"@formatjs/intl-relativetimeformat\"\n`));\n }\n try {\n return getFormatter(config, getRelativeTimeFormat, options).format(value, unit);\n }\n catch (e) {\n config.onError(createError('Error formatting relative time.', e));\n }\n return String(value);\n}\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport { createError, filterProps, getNamedFormat } from '../utils';\nconst DATE_TIME_FORMAT_OPTIONS = [\n 'localeMatcher',\n 'formatMatcher',\n 'timeZone',\n 'hour12',\n 'weekday',\n 'era',\n 'year',\n 'month',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'timeZoneName',\n];\nexport function getFormatter({ locale, formats, onError, timeZone, }, type, getDateTimeFormat, options = {}) {\n const { format } = options;\n const defaults = Object.assign({}, (timeZone && { timeZone }), (format && getNamedFormat(formats, type, format, onError)));\n let filteredOptions = filterProps(options, DATE_TIME_FORMAT_OPTIONS, defaults);\n if (type === 'time' &&\n !filteredOptions.hour &&\n !filteredOptions.minute &&\n !filteredOptions.second) {\n // Add default formatting options if hour, minute, or second isn't defined.\n filteredOptions = Object.assign({}, filteredOptions, { hour: 'numeric', minute: 'numeric' });\n }\n return getDateTimeFormat(locale, filteredOptions);\n}\nexport function formatDate(config, getDateTimeFormat, value, options = {}) {\n const date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'date', getDateTimeFormat, options).format(date);\n }\n catch (e) {\n config.onError(createError('Error formatting date.', e));\n }\n return String(date);\n}\nexport function formatTime(config, getDateTimeFormat, value, options = {}) {\n const date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'time', getDateTimeFormat, options).format(date);\n }\n catch (e) {\n config.onError(createError('Error formatting time.', e));\n }\n return String(date);\n}\nexport function formatDateToParts(config, getDateTimeFormat, value, options = {}) {\n const date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'date', getDateTimeFormat, options).formatToParts(date);\n }\n catch (e) {\n config.onError(createError('Error formatting date.', e));\n }\n return [];\n}\nexport function formatTimeToParts(config, getDateTimeFormat, value, options = {}) {\n const date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'time', getDateTimeFormat, options).formatToParts(date);\n }\n catch (e) {\n config.onError(createError('Error formatting time.', e));\n }\n return [];\n}\n","import { filterProps, createError } from '../utils';\nconst PLURAL_FORMAT_OPTIONS = [\n 'localeMatcher',\n 'type',\n];\nexport function formatPlural({ locale, onError }, getPluralRules, value, options = {}) {\n if (!Intl.PluralRules) {\n onError(createError(`Intl.PluralRules is not available in this environment.\nTry polyfilling it using \"@formatjs/intl-pluralrules\"\n`));\n }\n const filteredOptions = filterProps(options, PLURAL_FORMAT_OPTIONS);\n try {\n return getPluralRules(locale, filteredOptions).select(value);\n }\n catch (e) {\n onError(createError('Error formatting plural.', e));\n }\n return 'other';\n}\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n// Since rollup cannot deal with namespace being a function,\n// this is to interop with TypeScript since `invariant`\n// does not export a default\n// https://github.com/rollup/rollup/issues/1267\nimport * as invariant_ from 'invariant';\nconst invariant = invariant_.default || invariant_;\nimport { createError, escape } from '../utils';\nimport IntlMessageFormat from 'intl-messageformat';\nfunction setTimeZoneInOptions(opts, timeZone) {\n return Object.keys(opts).reduce((all, k) => {\n all[k] = Object.assign({ timeZone }, opts[k]);\n return all;\n }, {});\n}\nfunction deepMergeOptions(opts1, opts2) {\n const keys = Object.keys(Object.assign({}, opts1, opts2));\n return keys.reduce((all, k) => {\n all[k] = Object.assign({}, (opts1[k] || {}), (opts2[k] || {}));\n return all;\n }, {});\n}\nfunction deepMergeFormatsAndSetTimeZone(f1, timeZone) {\n if (!timeZone) {\n return f1;\n }\n const mfFormats = IntlMessageFormat.formats;\n return Object.assign({}, mfFormats, f1, { date: deepMergeOptions(setTimeZoneInOptions(mfFormats.date, timeZone), setTimeZoneInOptions(f1.date || {}, timeZone)), time: deepMergeOptions(setTimeZoneInOptions(mfFormats.time, timeZone), setTimeZoneInOptions(f1.time || {}, timeZone)) });\n}\nexport function formatMessage({ locale, formats, messages, defaultLocale, defaultFormats, onError, timeZone, }, state, messageDescriptor = { id: '' }, values = {}) {\n const { id, defaultMessage } = messageDescriptor;\n // `id` is a required field of a Message Descriptor.\n invariant(id, '[React Intl] An `id` must be provided to format a message.');\n if (!id) {\n throw new Error('[React Intl] An `id` must be provided to format a message.');\n }\n const message = messages && messages[id];\n formats = deepMergeFormatsAndSetTimeZone(formats, timeZone);\n defaultFormats = deepMergeFormatsAndSetTimeZone(defaultFormats, timeZone);\n let formattedMessageParts = [];\n if (message) {\n try {\n const formatter = state.getMessageFormat(message, locale, formats, {\n formatters: state,\n });\n formattedMessageParts = formatter.formatHTMLMessage(values);\n }\n catch (e) {\n onError(createError(`Error formatting message: \"${id}\" for locale: \"${locale}\"` +\n (defaultMessage ? ', using default message as fallback.' : ''), e));\n }\n }\n else {\n // This prevents warnings from littering the console in development\n // when no `messages` are passed into the <IntlProvider> for the\n // default locale, and a default message is in the source.\n if (!defaultMessage ||\n (locale && locale.toLowerCase() !== defaultLocale.toLowerCase())) {\n onError(createError(`Missing message: \"${id}\" for locale: \"${locale}\"` +\n (defaultMessage ? ', using default message as fallback.' : '')));\n }\n }\n if (!formattedMessageParts.length && defaultMessage) {\n try {\n const formatter = state.getMessageFormat(defaultMessage, defaultLocale, defaultFormats);\n formattedMessageParts = formatter.formatHTMLMessage(values);\n }\n catch (e) {\n onError(createError(`Error formatting the default message for: \"${id}\"`, e));\n }\n }\n if (!formattedMessageParts.length) {\n onError(createError(`Cannot format message: \"${id}\", ` +\n `using message ${message || defaultMessage ? 'source' : 'id'} as fallback.`));\n if (typeof message === 'string') {\n return message || defaultMessage || id;\n }\n return defaultMessage || id;\n }\n if (formattedMessageParts.length === 1 &&\n typeof formattedMessageParts[0] === 'string') {\n return formattedMessageParts[0] || defaultMessage || id;\n }\n return formattedMessageParts;\n}\nexport function formatHTMLMessage(config, state, messageDescriptor = { id: '' }, rawValues = {}) {\n // Process all the values before they are used when formatting the ICU\n // Message string. Since the formatted message might be injected via\n // `innerHTML`, all String-based values need to be HTML-escaped.\n const escapedValues = Object.keys(rawValues).reduce((escaped, name) => {\n const value = rawValues[name];\n escaped[name] = typeof value === 'string' ? escape(value) : value;\n return escaped;\n }, {});\n return formatMessage(config, state, messageDescriptor, escapedValues);\n}\n","'use strict';\n\nfunction shallowEqualObjects(objA, objB) {\n if (objA === objB) {\n return true;\n }\n\n if (!objA || !objB) {\n return false;\n }\n\n var aKeys = Object.keys(objA);\n var bKeys = Object.keys(objB);\n var len = aKeys.length;\n\n if (bKeys.length !== len) {\n return false;\n }\n\n for (var i = 0; i < len; i++) {\n var key = aKeys[i];\n\n if (objA[key] !== objB[key]) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = shallowEqualObjects;\n","import { filterProps, createError } from '../utils';\nconst LIST_FORMAT_OPTIONS = [\n 'localeMatcher',\n 'type',\n 'style',\n];\nconst now = Date.now();\nfunction generateToken(i) {\n return `${now}_${i}_${now}`;\n}\nexport function formatList({ locale, onError }, getListFormat, values, options = {}) {\n const ListFormat = Intl.ListFormat;\n if (!ListFormat) {\n onError(createError(`Intl.ListFormat is not available in this environment.\nTry polyfilling it using \"@formatjs/intl-listformat\"\n`));\n }\n const filteredOptions = filterProps(options, LIST_FORMAT_OPTIONS);\n try {\n const richValues = {};\n const serializedValues = values.map((v, i) => {\n if (typeof v === 'object') {\n const id = generateToken(i);\n richValues[id] = v;\n return id;\n }\n return String(v);\n });\n if (!Object.keys(richValues).length) {\n return getListFormat(locale, filteredOptions).format(serializedValues);\n }\n const parts = getListFormat(locale, filteredOptions).formatToParts(serializedValues);\n return parts.reduce((all, el) => {\n const val = el.value;\n if (richValues[val]) {\n all.push(richValues[val]);\n }\n else if (typeof all[all.length - 1] === 'string') {\n all[all.length - 1] += val;\n }\n else {\n all.push(val);\n }\n return all;\n }, []);\n }\n catch (e) {\n onError(createError('Error formatting list.', e));\n }\n return values;\n}\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport * as React from 'react';\nimport { Provider } from './injectIntl';\nimport { createError, DEFAULT_INTL_CONFIG, createFormatters, invariantIntlContext, createIntlCache, } from '../utils';\nimport areIntlLocalesSupported from 'intl-locales-supported';\nimport { formatNumber, formatNumberToParts } from '../formatters/number';\nimport { formatRelativeTime } from '../formatters/relativeTime';\nimport { formatDate, formatTime, formatDateToParts, formatTimeToParts, } from '../formatters/dateTime';\nimport { formatPlural } from '../formatters/plural';\nimport { formatMessage, formatHTMLMessage } from '../formatters/message';\nimport * as shallowEquals_ from 'shallow-equal/objects';\nimport { formatList } from '../formatters/list';\nconst shallowEquals = shallowEquals_.default || shallowEquals_;\nfunction processIntlConfig(config) {\n return {\n locale: config.locale,\n timeZone: config.timeZone,\n formats: config.formats,\n textComponent: config.textComponent,\n messages: config.messages,\n defaultLocale: config.defaultLocale,\n defaultFormats: config.defaultFormats,\n onError: config.onError,\n };\n}\n/**\n * Create intl object\n * @param config intl config\n * @param cache cache for formatter instances to prevent memory leak\n */\nexport function createIntl(config, cache) {\n const formatters = createFormatters(cache);\n const resolvedConfig = Object.assign({}, DEFAULT_INTL_CONFIG, config);\n if (!resolvedConfig.locale ||\n !areIntlLocalesSupported(resolvedConfig.locale)) {\n const { locale, defaultLocale, onError } = resolvedConfig;\n if (typeof onError === 'function') {\n onError(createError(`Missing locale data for locale: \"${locale}\". ` +\n `Using default locale: \"${defaultLocale}\" as fallback.`));\n }\n // Since there's no registered locale data for `locale`, this will\n // fallback to the `defaultLocale` to make sure things can render.\n // The `messages` are overridden to the `defaultProps` empty object\n // to maintain referential equality across re-renders. It's assumed\n // each <FormattedMessage> contains a `defaultMessage` prop.\n resolvedConfig.locale = resolvedConfig.defaultLocale || 'en';\n }\n return Object.assign({}, resolvedConfig, { formatters, formatNumber: formatNumber.bind(null, resolvedConfig, formatters.getNumberFormat), formatNumberToParts: formatNumberToParts.bind(null, resolvedConfig, formatters.getNumberFormat), formatRelativeTime: formatRelativeTime.bind(null, resolvedConfig, formatters.getRelativeTimeFormat), formatDate: formatDate.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatDateToParts: formatDateToParts.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatTime: formatTime.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatTimeToParts: formatTimeToParts.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatPlural: formatPlural.bind(null, resolvedConfig, formatters.getPluralRules), formatMessage: formatMessage.bind(null, resolvedConfig, formatters), formatHTMLMessage: formatHTMLMessage.bind(null, resolvedConfig, formatters), formatList: formatList.bind(null, resolvedConfig, formatters.getListFormat) });\n}\nexport default class IntlProvider extends React.PureComponent {\n constructor() {\n super(...arguments);\n this.cache = createIntlCache();\n this.state = {\n cache: this.cache,\n intl: createIntl(processIntlConfig(this.props), this.cache),\n prevConfig: processIntlConfig(this.props),\n };\n }\n static getDerivedStateFromProps(props, { prevConfig, cache }) {\n const config = processIntlConfig(props);\n if (!shallowEquals(prevConfig, config)) {\n return {\n intl: createIntl(config, cache),\n prevConfig: config,\n };\n }\n return null;\n }\n render() {\n invariantIntlContext(this.state.intl);\n return React.createElement(Provider, { value: this.state.intl }, this.props.children);\n }\n}\nIntlProvider.displayName = 'IntlProvider';\nIntlProvider.defaultProps = DEFAULT_INTL_CONFIG;\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport * as React from 'react';\nimport { Context } from './injectIntl';\nimport { invariantIntlContext } from '../utils';\n// Since rollup cannot deal with namespace being a function,\n// this is to interop with TypeScript since `invariant`\n// does not export a default\n// https://github.com/rollup/rollup/issues/1267\nimport * as invariant_ from 'invariant';\nconst invariant = invariant_.default || invariant_;\nconst MINUTE = 60;\nconst HOUR = 60 * 60;\nconst DAY = 60 * 60 * 24;\nfunction selectUnit(seconds) {\n const absValue = Math.abs(seconds);\n if (absValue < MINUTE) {\n return 'second';\n }\n if (absValue < HOUR) {\n return 'minute';\n }\n if (absValue < DAY) {\n return 'hour';\n }\n return 'day';\n}\nfunction getDurationInSeconds(unit) {\n switch (unit) {\n case 'second':\n return 1;\n case 'minute':\n return MINUTE;\n case 'hour':\n return HOUR;\n default:\n return DAY;\n }\n}\nfunction valueToSeconds(value, unit) {\n if (!value) {\n return 0;\n }\n switch (unit) {\n case 'second':\n return value;\n case 'minute':\n return value * MINUTE;\n default:\n return value * HOUR;\n }\n}\nconst INCREMENTABLE_UNITS = ['second', 'minute', 'hour'];\nfunction canIncrement(unit = 'second') {\n return INCREMENTABLE_UNITS.includes(unit);\n}\nfunction verifyProps(updateIntervalInSeconds, unit) {\n invariant(!updateIntervalInSeconds || (updateIntervalInSeconds && canIncrement(unit)), 'Cannot schedule update with unit longer than hour');\n}\nexport class FormattedRelativeTime extends React.PureComponent {\n constructor(props) {\n super(props);\n // Public for testing\n this._updateTimer = null;\n this.state = {\n prevUnit: this.props.unit,\n prevValue: this.props.value,\n currentValueInSeconds: canIncrement(this.props.unit)\n ? valueToSeconds(this.props.value, this.props.unit)\n : 0,\n };\n verifyProps(props.updateIntervalInSeconds, props.unit);\n }\n scheduleNextUpdate({ updateIntervalInSeconds, unit }, { currentValueInSeconds }) {\n clearTimeout(this._updateTimer);\n this._updateTimer = null;\n // If there's no interval and we cannot increment this unit, do nothing\n if (!updateIntervalInSeconds || !canIncrement(unit)) {\n return;\n }\n // Figure out the next interesting time\n const nextValueInSeconds = currentValueInSeconds - updateIntervalInSeconds;\n const nextUnit = selectUnit(nextValueInSeconds);\n // We've reached the max auto incrementable unit, don't schedule another update\n if (nextUnit === 'day') {\n return;\n }\n const unitDuration = getDurationInSeconds(nextUnit);\n const remainder = nextValueInSeconds % unitDuration;\n const prevInterestingValueInSeconds = nextValueInSeconds - remainder;\n const nextInterestingValueInSeconds = prevInterestingValueInSeconds >= currentValueInSeconds\n ? prevInterestingValueInSeconds - unitDuration\n : prevInterestingValueInSeconds;\n const delayInSeconds = Math.abs(nextInterestingValueInSeconds - currentValueInSeconds);\n this._updateTimer = setTimeout(() => this.setState({\n currentValueInSeconds: nextInterestingValueInSeconds,\n }), delayInSeconds * 1e3);\n }\n componentDidMount() {\n this.scheduleNextUpdate(this.props, this.state);\n }\n componentDidUpdate() {\n this.scheduleNextUpdate(this.props, this.state);\n }\n componentWillUnmount() {\n clearTimeout(this._updateTimer);\n this._updateTimer = null;\n }\n static getDerivedStateFromProps(props, state) {\n if (props.unit !== state.prevUnit || props.value !== state.prevValue) {\n return {\n prevValue: props.value,\n prevUnit: props.unit,\n currentValueInSeconds: canIncrement(props.unit)\n ? valueToSeconds(props.value, props.unit)\n : 0,\n };\n }\n return null;\n }\n render() {\n return (React.createElement(Context.Consumer, null, (intl) => {\n invariantIntlContext(intl);\n const { formatRelativeTime, textComponent: Text } = intl;\n const { children, value, unit, updateIntervalInSeconds } = this.props;\n const { currentValueInSeconds } = this.state;\n let currentValue = value || 0;\n let currentUnit = unit;\n if (canIncrement(unit) &&\n typeof currentValueInSeconds === 'number' &&\n updateIntervalInSeconds) {\n currentUnit = selectUnit(currentValueInSeconds);\n const unitDuration = getDurationInSeconds(currentUnit);\n currentValue = Math.round(currentValueInSeconds / unitDuration);\n }\n const formattedRelativeTime = formatRelativeTime(currentValue, currentUnit, Object.assign({}, this.props));\n if (typeof children === 'function') {\n return children(formattedRelativeTime);\n }\n if (Text) {\n return React.createElement(Text, null, formattedRelativeTime);\n }\n return formattedRelativeTime;\n }));\n }\n}\nFormattedRelativeTime.displayName = 'FormattedRelativeTime';\nFormattedRelativeTime.defaultProps = {\n value: 0,\n unit: 'second',\n};\nexport default FormattedRelativeTime;\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport * as React from 'react';\nimport withIntl from './injectIntl';\nconst FormattedPlural = props => {\n const { value, other, children, intl: { formatPlural, textComponent: Text }, } = props;\n const pluralCategory = formatPlural(value, props);\n const formattedPlural = props[pluralCategory] || other;\n if (typeof children === 'function') {\n return children(formattedPlural);\n }\n if (Text) {\n return React.createElement(Text, null, formattedPlural);\n }\n // Work around @types/react where React.FC cannot return string\n return formattedPlural;\n};\nFormattedPlural.defaultProps = {\n type: 'cardinal',\n};\nFormattedPlural.displayName = 'FormattedPlural';\nexport default withIntl(FormattedPlural);\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\nimport * as React from 'react';\nimport { Context } from './injectIntl';\nimport { formatMessage } from '../formatters/message';\nimport { invariantIntlContext, DEFAULT_INTL_CONFIG, createFormatters, } from '../utils';\nimport * as shallowEquals_ from 'shallow-equal/objects';\nconst shallowEquals = shallowEquals_.default || shallowEquals_;\nconst defaultFormatMessage = (descriptor, values) => {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Could not find required `intl` object. <IntlProvider> needs to exist in the component ancestry. Using default message as fallback.');\n }\n return formatMessage(Object.assign({}, DEFAULT_INTL_CONFIG, { locale: 'en' }), createFormatters(), descriptor, values);\n};\nclass FormattedMessage extends React.Component {\n shouldComponentUpdate(nextProps) {\n const _a = this.props, { values } = _a, otherProps = __rest(_a, [\"values\"]);\n const { values: nextValues } = nextProps, nextOtherProps = __rest(nextProps, [\"values\"]);\n return (!shallowEquals(nextValues, values) ||\n !shallowEquals(otherProps, nextOtherProps));\n }\n render() {\n return (React.createElement(Context.Consumer, null, (intl) => {\n if (!this.props.defaultMessage) {\n invariantIntlContext(intl);\n }\n const { formatMessage = defaultFormatMessage, textComponent: Text = React.Fragment, } = intl || {};\n const { id, description, defaultMessage, values, children, tagName: Component = Text, } = this.props;\n const descriptor = { id, description, defaultMessage };\n let nodes = formatMessage(descriptor, values);\n if (!Array.isArray(nodes)) {\n nodes = [nodes];\n }\n if (typeof children === 'function') {\n return children(...nodes);\n }\n if (Component) {\n // Needs to use `createElement()` instead of JSX, otherwise React will\n // warn about a missing `key` prop with rich-text message formatting.\n return React.createElement(Component, null, ...nodes);\n }\n return nodes;\n }));\n }\n}\nFormattedMessage.displayName = 'FormattedMessage';\nFormattedMessage.defaultProps = {\n values: {},\n};\nexport default FormattedMessage;\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport * as React from 'react';\nimport FormattedMessage from './message';\nimport { Context } from './injectIntl';\nimport { invariantIntlContext } from '../utils';\nclass FormattedHTMLMessage extends FormattedMessage {\n render() {\n return (React.createElement(Context.Consumer, null, (intl) => {\n if (!this.props.defaultMessage) {\n invariantIntlContext(intl);\n }\n const { formatHTMLMessage, textComponent } = intl;\n const { id, description, defaultMessage, values: rawValues, children, } = this.props;\n let { tagName: Component } = this.props;\n // This is bc of TS3.3 doesn't recognize `defaultProps`\n if (!Component) {\n Component = textComponent || 'span';\n }\n const descriptor = { id, description, defaultMessage };\n const formattedHTMLMessage = formatHTMLMessage(descriptor, rawValues);\n if (typeof children === 'function') {\n return children(formattedHTMLMessage);\n }\n // Since the message presumably has HTML in it, we need to set\n // `innerHTML` in order for it to be rendered and not escaped by React.\n // To be safe, all string prop values were escaped when formatting the\n // message. It is assumed that the message is not UGC, and came from the\n // developer making it more like a template.\n //\n // Note: There's a perf impact of using this component since there's no\n // way for React to do its virtual DOM diffing.\n const html = { __html: formattedHTMLMessage };\n return React.createElement(Component, { dangerouslySetInnerHTML: html });\n }));\n }\n}\nFormattedHTMLMessage.displayName = 'FormattedHTMLMessage';\nFormattedHTMLMessage.defaultProps = Object.assign({}, FormattedMessage.defaultProps, { tagName: 'span' });\nexport default FormattedHTMLMessage;\n","export { defineMessages } from '@formatjs/macro';\nimport { createFormattedComponent, createFormattedDateTimePartsComponent, } from './components/createFormattedComponent';\nexport { default as injectIntl, Provider as RawIntlProvider, Context as IntlContext, } from './components/injectIntl';\nexport { default as useIntl } from './components/useIntl';\nexport { default as IntlProvider, createIntl } from './components/provider';\n// IMPORTANT: Explicit here to prevent api-extractor from outputing `import('./types').CustomFormatConfig`\nexport const FormattedDate = createFormattedComponent('formatDate');\nexport const FormattedTime = createFormattedComponent('formatTime');\nexport const FormattedNumber = createFormattedComponent('formatNumber');\nexport const FormattedList = createFormattedComponent('formatList');\nexport const FormattedDateParts = createFormattedDateTimePartsComponent('formatDate');\nexport const FormattedTimeParts = createFormattedDateTimePartsComponent('formatTime');\nexport { FormattedNumberParts } from './components/createFormattedComponent';\nexport { default as FormattedRelativeTime } from './components/relative';\nexport { default as FormattedPlural } from './components/plural';\nexport { default as FormattedMessage } from './components/message';\nexport { default as FormattedHTMLMessage } from './components/html-message';\nexport { createIntlCache } from './utils';\n"],"names":["TYPE","isLiteralElement","el","type","literal","isArgumentElement","argument","isNumberElement","number","isDateElement","date","isTimeElement","time","isSelectElement","select","isPluralElement","plural","isNumberSkeleton","isDateTimeSkeleton","__extends","this","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__","constructor","prototype","create","__assign","assign","t","s","i","n","arguments","length","call","apply","SyntaxError","_super","message","expected","found","location","_this","name","Error","captureStackTrace","buildMessage","hex","ch","charCodeAt","toString","toUpperCase","literalEscape","replace","classEscape","describeExpectation","expectation","text","escapedParts","parts","map","part","isArray","inverted","description","describeExpected","expected1","descriptions","j","sort","slice","join","describeFound","found1","peg$parse","input","options","undefined","peg$FAILED","peg$startRuleFunctions","start","peg$parsestart","peg$startRuleFunction","peg$c0","peg$c1","messageText","value","insertLocation","peg$c2","peg$otherExpectation","peg$c3","peg$c4","peg$literalExpectation","peg$c5","peg$c6","peg$c7","peg$c8","peg$c9","peg$c10","peg$classExpectation","peg$c11","peg$anyExpectation","peg$c12","peg$c13","peg$c14","peg$c15","option","peg$c16","peg$c17","stem","peg$c18","tokens","peg$c19","peg$c20","peg$c21","skeleton","peg$c22","style","peg$c23","peg$c24","peg$c25","peg$c26","peg$c27","peg$c28","peg$c29","peg$c30","peg$c31","peg$c32","peg$c33","peg$c34","peg$c35","peg$c36","pattern","peg$c37","peg$c38","peg$c39","peg$c40","peg$c41","peg$c42","peg$c43","peg$c44","peg$c45","peg$c46","peg$c47","pluralType","offset","reduce","all","_a","id","optionLocation","error","peg$c48","peg$c49","peg$c50","peg$c51","peg$c52","peg$c53","peg$c54","peg$c55","peg$c56","peg$c57","peg$c58","peg$c59","peg$c60","peg$c61","peg$c62","peg$c63","peg$c64","peg$c65","negative","num","peg$c67","peg$c68","peg$c69","peg$c70","peg$c71","peg$c72","peg$c73","escapedChar","quotedChars","peg$c74","peg$c75","peg$c76","peg$c77","peg$c78","peg$c79","peg$c80","peg$c81","peg$c82","peg$c83","peg$c84","peg$c85","digits","parseInt","peg$c86","peg$currPos","peg$savedPos","peg$posDetailsCache","line","column","peg$maxFailPos","peg$maxFailExpected","peg$silentFails","peg$result","startRule","substring","peg$computeLocation","location1","peg$buildSimpleError","text1","ignoreCase","peg$endExpectation","peg$computePosDetails","pos","details","startPos","endPos","startPosDetails","endPosDetails","end","peg$fail","push","peg$buildStructuredError","s0","peg$parsemessage","s1","peg$parsemessageElement","peg$parseliteralElement","peg$parseargumentElement","peg$parsesimpleFormatElement","peg$parsepluralElement","peg$parseselectElement","peg$parsemessageText","s2","peg$parsedoubleApostrophes","peg$parsequotedString","peg$parseunquotedString","s3","s4","s5","peg$parse_","peg$parseargNameOrNumber","peg$parsenumberSkeletonId","peg$parsepatternWhiteSpace","test","charAt","peg$parsenumberSkeletonTokenOption","peg$parsenumberSkeletonToken","peg$parsenumberSkeleton","peg$parsenumberArgStyle","substr","peg$parsenumberFormatElement","s6","s7","s8","s9","s10","s11","s12","peg$parsedateTimeSkeletonLiteral","peg$parsedateTimeSkeletonPattern","peg$parsedateTimeSkeleton","peg$parsedateOrTimeArgStyle","peg$parsedateOrTimeFormatElement","s13","s14","s15","peg$parsenumber","peg$parsepluralOption","peg$parseselectOption","peg$parsepluralRuleSelectValue","peg$parseargName","peg$parsepatternSyntax","peg$parseargNumber","captureLocation","pegParse","__spreadArrays","il","r","k","a","jl","PLURAL_HASHTAG_REGEX","normalizeHashtagInPlural","els","forEach","keys","opt","matchingLiteralElIndex","literalEl","el_1","newValue","newEls","splice","DATE_TIME_REGEX","parseDateTimeSkeleton","result","match","len","era","year","RangeError","month","day","weekday","hour12","hourCycle","hour","minute","second","timeZoneName","icuUnitToEcma","unit","FRACTION_PRECISION_REGEX","SIGNIFICANT_PRECISION_REGEX","parseSignificantPrecision","str","_","g1","g2","minimumSignificantDigits","maximumSignificantDigits","parseSign","signDisplay","currencySign","parseNotationOptions","signOpts","convertNumberSkeletonToNumberFormatOptions","_i","tokens_1","token","currency","useGrouping","maximumFractionDigits","notation","compactDisplay","currencyDisplay","unitDisplay","minimumFractionDigits","parse","opts","getCacheId","inputs","JSON","stringify","orderedProps","obj","memoizeFormatConstructor","FormatConstructor","cache","args","cacheId","format","bind","ESCAPE_HASH_REGEX","PLURAL_HASH","FormatError","msg","variableId","mergeLiteral","lastPart","formatToParts","locales","formatters","formats","values","currentPluralValue","originalMessage","getNumberFormat","els_1","value_1","varName","String","getDateTimeFormat","other","Intl","PluralRules","rule","getPluralRules","formatToString","domParser","TOKEN_DELIMITER","TOKEN_REGEX","counter","generateId","Date","now","restoreRichPlaceholderMessage","objectParts","split","filter","Boolean","c","SIMPLE_XML_REGEX","TEMPLATE_ID","VOID_ELEMENTS","formatHTMLElement","tagName","outerHTML","textContent","childNodes","toLowerCase","isVoidElement","indexOf","formatFnOrValue","chunks","child","concat","formatHTMLMessage","formattedMessage","DOMParser","content","parseFromString","getElementById","tagsToFormat","getElementsByTagName","caseSensitiveTags","mergeConfig","c1","c2","mergeConfigs","defaultConfig","configs","createDefaultFormatters","dateTime","pluralRules","memoizeIntlConstructor","NumberFormat","DateTimeFormat","IntlMessageFormat","overrideFormats","defaultLocale","formatterCache","ast","resolvedOptions","locale","supportedLocalesOf","getAst","__parse","TypeError","percent","short","medium","long","full","invariant","condition","e","f","argIndex","framesToPop","invariant_","ESCAPED_CHARS","UNSAFE_CHARS_REGEX","escape","filterProps","props","whitelist","defaults","filtered","invariantIntlContext","intl","createError","exception","eMsg","stack","defaultErrorHandler","console","DEFAULT_INTL_CONFIG","messages","timeZone","textComponent","React","defaultFormats","onError","createIntlCache","relativeTime","list","createFormatters","RelativeTimeFormat","ListFormat","getMessageFormat","getRelativeTimeFormat","getListFormat","getNamedFormat","formatType","defineProperty","exports","hasSymbol","Symbol","for","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_PROVIDER_TYPE","REACT_CONTEXT_TYPE","REACT_ASYNC_MODE_TYPE","REACT_CONCURRENT_MODE_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","isValidElementType","$$typeof","lowPriorityWarning","printWarning","_len","_key","warn","x","_len2","_key2","lowPriorityWarning$1","typeOf","object","$$typeofType","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","ForwardRef","Fragment","Lazy","Memo","Portal","Profiler","StrictMode","Suspense","hasWarnedAboutDeprecatedIsAsyncMode","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","module","require$$0","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","KNOWN_STATICS","caller","callee","arity","FORWARD_REF_STATICS","render","MEMO_STATICS","compare","TYPE_STATICS","reactIs","getStatics","component","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","key","descriptor","hoistNonReactStatics_","getDisplayName","Component","IntlContext","IntlConsumer","Consumer","IntlProvider","Provider","Context","injectIntl","WrappedComponent","intlPropName","forwardRef","enforceContext","WithIntl","ref","forwardedRef","__rest","DisplayName","DisplayNameParts","FormattedNumberParts","children","formatProps","formatNumberToParts","createFormattedDateTimePartsComponent","ComponentParts","formattedParts","formatDateToParts","formatTimeToParts","createFormattedComponent","formattedValue","Text","useIntl","useContext","areIntlLocalesSupported","constructorsToCheck","intlConstructors","every","intlConstructor","NUMBER_FORMAT_OPTIONS","getFormatter","filteredOptions","formatNumber","config","RELATIVE_TIME_FORMAT_OPTIONS","formatRelativeTime","DATE_TIME_FORMAT_OPTIONS","formatDate","formatTime","PLURAL_FORMAT_OPTIONS","formatPlural","setTimeZoneInOptions","deepMergeOptions","opts1","opts2","deepMergeFormatsAndSetTimeZone","f1","mfFormats","formatMessage","state","messageDescriptor","defaultMessage","formattedMessageParts","formatter","rawValues","escapedValues","escaped","shallowEqualObjects","objA","objB","aKeys","bKeys","LIST_FORMAT_OPTIONS","generateToken","formatList","richValues","serializedValues","v","val","shallowEquals","shallowEquals_","processIntlConfig","createIntl","resolvedConfig","prevConfig","MINUTE","HOUR","DAY","selectUnit","seconds","absValue","Math","abs","getDurationInSeconds","valueToSeconds","INCREMENTABLE_UNITS","canIncrement","includes","verifyProps","updateIntervalInSeconds","FormattedRelativeTime","_updateTimer","prevUnit","prevValue","currentValueInSeconds","clearTimeout","nextValueInSeconds","nextUnit","unitDuration","remainder","prevInterestingValueInSeconds","nextInterestingValueInSeconds","delayInSeconds","setTimeout","setState","scheduleNextUpdate","currentValue","currentUnit","round","formattedRelativeTime","FormattedPlural","pluralCategory","formattedPlural","withIntl","defaultFormatMessage","FormattedMessage","nextProps","otherProps","nextValues","nextOtherProps","nodes","FormattedHTMLMessage","formattedHTMLMessage","html","__html","dangerouslySetInnerHTML","FormattedDate","FormattedTime","FormattedNumber","FormattedList","FormattedDateParts","FormattedTimeParts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"react-intl.js","sources":["../node_modules/@formatjs/macro/dist/index.js","../node_modules/intl-messageformat-parser/lib/types.js","../node_modules/intl-messageformat-parser/lib/parser.js","../node_modules/intl-messageformat-parser/lib/normalize.js","../node_modules/intl-messageformat-parser/lib/skeleton.js","../node_modules/intl-messageformat-parser/lib/index.js","../node_modules/intl-format-cache/lib/index.js","../node_modules/intl-messageformat/lib/formatters.js","../node_modules/intl-messageformat/lib/core.js","../node_modules/intl-messageformat/lib/index.js","../node_modules/invariant/invariant.js","../lib/utils.js","../node_modules/react-is/cjs/react-is.development.js","../node_modules/react-is/index.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../lib/components/injectIntl.js","../lib/components/createFormattedComponent.js","../lib/components/useIntl.js","../node_modules/intl-locales-supported/lib/index.js","../lib/formatters/number.js","../lib/formatters/relativeTime.js","../lib/formatters/dateTime.js","../lib/formatters/plural.js","../lib/formatters/message.js","../node_modules/shallow-equal/objects/index.js","../lib/formatters/list.js","../lib/components/provider.js","../lib/components/relative.js","../lib/components/plural.js","../lib/components/message.js","../lib/components/html-message.js","../lib/index.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction _(msg) {\n return msg;\n}\nexports._ = _;\nfunction defineMessages(msgs) {\n return msgs;\n}\nexports.defineMessages = defineMessages;\n//# sourceMappingURL=index.js.map","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})(TYPE || (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 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","// 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 = peg$otherExpectation(\"argumentElement\");\n var peg$c3 = \"{\";\n var peg$c4 = peg$literalExpectation(\"{\", false);\n var peg$c5 = \"}\";\n var peg$c6 = peg$literalExpectation(\"}\", false);\n var peg$c7 = function (value) {\n return __assign({ type: TYPE.argument, value: value }, insertLocation());\n };\n var peg$c8 = peg$otherExpectation(\"numberSkeletonId\");\n var peg$c9 = /^['\\/{}]/;\n var peg$c10 = peg$classExpectation([\"'\", \"/\", \"{\", \"}\"], false, false);\n var peg$c11 = peg$anyExpectation();\n var peg$c12 = peg$otherExpectation(\"numberSkeletonTokenOption\");\n var peg$c13 = \"/\";\n var peg$c14 = peg$literalExpectation(\"/\", false);\n var peg$c15 = function (option) { return option; };\n var peg$c16 = peg$otherExpectation(\"numberSkeletonToken\");\n var peg$c17 = function (stem, options) {\n return { stem: stem, options: options };\n };\n var peg$c18 = function (tokens) {\n return __assign({ type: 0 /* number */, tokens: tokens }, insertLocation());\n };\n var peg$c19 = \"::\";\n var peg$c20 = peg$literalExpectation(\"::\", false);\n var peg$c21 = function (skeleton) { return skeleton; };\n var peg$c22 = function (style) { return style.replace(/\\s*$/, ''); };\n var peg$c23 = \",\";\n var peg$c24 = peg$literalExpectation(\",\", false);\n var peg$c25 = \"number\";\n var peg$c26 = peg$literalExpectation(\"number\", false);\n var peg$c27 = 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$c28 = \"'\";\n var peg$c29 = peg$literalExpectation(\"'\", false);\n var peg$c30 = /^[^']/;\n var peg$c31 = peg$classExpectation([\"'\"], true, false);\n var peg$c32 = /^[^a-zA-Z'{}]/;\n var peg$c33 = peg$classExpectation([[\"a\", \"z\"], [\"A\", \"Z\"], \"'\", \"{\", \"}\"], true, false);\n var peg$c34 = /^[a-zA-Z]/;\n var peg$c35 = peg$classExpectation([[\"a\", \"z\"], [\"A\", \"Z\"]], false, false);\n var peg$c36 = function (pattern) {\n return __assign({ type: 1 /* dateTime */, pattern: pattern }, insertLocation());\n };\n var peg$c37 = \"date\";\n var peg$c38 = peg$literalExpectation(\"date\", false);\n var peg$c39 = \"time\";\n var peg$c40 = peg$literalExpectation(\"time\", false);\n var peg$c41 = \"plural\";\n var peg$c42 = peg$literalExpectation(\"plural\", false);\n var peg$c43 = \"selectordinal\";\n var peg$c44 = peg$literalExpectation(\"selectordinal\", false);\n var peg$c45 = \"offset:\";\n var peg$c46 = peg$literalExpectation(\"offset:\", false);\n var peg$c47 = 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$c48 = \"select\";\n var peg$c49 = peg$literalExpectation(\"select\", false);\n var peg$c50 = 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$c51 = \"=\";\n var peg$c52 = peg$literalExpectation(\"=\", false);\n var peg$c53 = function (id, value) {\n return __assign({ id: id,\n value: value }, insertLocation());\n };\n var peg$c54 = function (id, value) {\n return __assign({ id: id,\n value: value }, insertLocation());\n };\n var peg$c55 = peg$otherExpectation(\"whitespace pattern\");\n var peg$c56 = /^[\\t-\\r \\x85\\u200E\\u200F\\u2028\\u2029]/;\n var peg$c57 = peg$classExpectation([[\"\\t\", \"\\r\"], \" \", \"\\x85\", \"\\u200E\", \"\\u200F\", \"\\u2028\", \"\\u2029\"], false, false);\n var peg$c58 = peg$otherExpectation(\"syntax pattern\");\n var peg$c59 = /^[!-\\/:-@[-\\^`{-~\\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$c60 = 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$c61 = peg$otherExpectation(\"optional whitespace\");\n var peg$c62 = peg$otherExpectation(\"number\");\n var peg$c63 = \"-\";\n var peg$c64 = peg$literalExpectation(\"-\", false);\n var peg$c65 = function (negative, num) {\n return num\n ? negative\n ? -num\n : num\n : 0;\n };\n var peg$c66 = peg$otherExpectation(\"apostrophe\");\n var peg$c67 = peg$otherExpectation(\"double apostrophes\");\n var peg$c68 = \"''\";\n var peg$c69 = peg$literalExpectation(\"''\", false);\n var peg$c70 = function () { return \"'\"; };\n var peg$c71 = /^[{}]/;\n var peg$c72 = peg$classExpectation([\"{\", \"}\"], false, false);\n var peg$c73 = function (escapedChar, quotedChars) {\n return escapedChar + quotedChars.replace(\"''\", \"'\");\n };\n var peg$c74 = /^[^{}]/;\n var peg$c75 = peg$classExpectation([\"{\", \"}\"], true, false);\n var peg$c76 = peg$otherExpectation(\"argNameOrNumber\");\n var peg$c77 = peg$otherExpectation(\"argNumber\");\n var peg$c78 = \"0\";\n var peg$c79 = peg$literalExpectation(\"0\", false);\n var peg$c80 = function () { return 0; };\n var peg$c81 = /^[1-9]/;\n var peg$c82 = peg$classExpectation([[\"1\", \"9\"]], false, false);\n var peg$c83 = /^[0-9]/;\n var peg$c84 = peg$classExpectation([[\"0\", \"9\"]], false, false);\n var peg$c85 = function (digits) {\n return parseInt(digits.join(''), 10);\n };\n var peg$c86 = peg$otherExpectation(\"argName\");\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 }\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$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$c3;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c4);\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$c5;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c6);\n }\n }\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c7(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$c2);\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$parsepatternWhiteSpace();\n if (s4 === peg$FAILED) {\n if (peg$c9.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$c10);\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$c11);\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$parsepatternWhiteSpace();\n if (s4 === peg$FAILED) {\n if (peg$c9.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$c10);\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$c11);\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$c8);\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$c13;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c14);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsenumberSkeletonId();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c15(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$c12);\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$c17(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$c16);\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$c18(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$c19) {\n s1 = peg$c19;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c20);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsenumberSkeleton();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c21(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 s1 = peg$parsemessageText();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c22(s1);\n }\n s0 = s1;\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$c3;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c4);\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$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 s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 6) === peg$c25) {\n s7 = peg$c25;\n peg$currPos += 6;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c26);\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$c23;\n peg$currPos++;\n }\n else {\n s10 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\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$c5;\n peg$currPos++;\n }\n else {\n s11 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c6);\n }\n }\n if (s11 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c27(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$c28;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parsedoubleApostrophes();\n if (s3 === peg$FAILED) {\n if (peg$c30.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$c31);\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$c30.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$c31);\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$c28;\n peg$currPos++;\n }\n else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\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$c32.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$c33);\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$c32.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$c33);\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$c34.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$c35);\n }\n }\n if (s1 !== peg$FAILED) {\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n if (peg$c34.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$c35);\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$c36(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$c19) {\n s1 = peg$c19;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c20);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsedateTimeSkeleton();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c21(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 s1 = peg$parsemessageText();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c22(s1);\n }\n s0 = s1;\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$c3;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c4);\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$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 s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 4) === peg$c37) {\n s7 = peg$c37;\n peg$currPos += 4;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c38);\n }\n }\n if (s7 === peg$FAILED) {\n if (input.substr(peg$currPos, 4) === peg$c39) {\n s7 = peg$c39;\n peg$currPos += 4;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c40);\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$c23;\n peg$currPos++;\n }\n else {\n s10 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\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$c5;\n peg$currPos++;\n }\n else {\n s11 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c6);\n }\n }\n if (s11 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c27(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$c3;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c4);\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$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 s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 6) === peg$c41) {\n s7 = peg$c41;\n peg$currPos += 6;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c42);\n }\n }\n if (s7 === peg$FAILED) {\n if (input.substr(peg$currPos, 13) === peg$c43) {\n s7 = peg$c43;\n peg$currPos += 13;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c44);\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$c23;\n peg$currPos++;\n }\n else {\n s9 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\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$c45) {\n s12 = peg$c45;\n peg$currPos += 7;\n }\n else {\n s12 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c46);\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$c5;\n peg$currPos++;\n }\n else {\n s15 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c6);\n }\n }\n if (s15 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c47(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$c3;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c4);\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$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 s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 6) === peg$c48) {\n s7 = peg$c48;\n peg$currPos += 6;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c49);\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$c23;\n peg$currPos++;\n }\n else {\n s9 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\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$c5;\n peg$currPos++;\n }\n else {\n s13 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c6);\n }\n }\n if (s13 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c50(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$c51;\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c52);\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;\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$c3;\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c4);\n }\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parsemessage();\n if (s5 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s6 = peg$c5;\n peg$currPos++;\n }\n else {\n s6 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c6);\n }\n }\n if (s6 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c53(s2, s5);\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 return s0;\n }\n function peg$parsepluralOption() {\n var s0, s1, s2, s3, s4, s5, s6;\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$c3;\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c4);\n }\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parsemessage();\n if (s5 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s6 = peg$c5;\n peg$currPos++;\n }\n else {\n s6 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c6);\n }\n }\n if (s6 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c54(s2, s5);\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 return s0;\n }\n function peg$parsepatternWhiteSpace() {\n var s0, s1;\n peg$silentFails++;\n if (peg$c56.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$c57);\n }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c55);\n }\n }\n return s0;\n }\n function peg$parsepatternSyntax() {\n var s0, s1;\n peg$silentFails++;\n if (peg$c59.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$c60);\n }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c58);\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$parsepatternWhiteSpace();\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsepatternWhiteSpace();\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$c61);\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$c63;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c64);\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$c65(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$c62);\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$c28;\n peg$currPos++;\n }\n else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c66);\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$c68) {\n s1 = peg$c68;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c69);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c70();\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$c67);\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$c28;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n if (s1 !== peg$FAILED) {\n if (peg$c71.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$c72);\n }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$currPos;\n s4 = [];\n if (input.substr(peg$currPos, 2) === peg$c68) {\n s5 = peg$c68;\n peg$currPos += 2;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c69);\n }\n }\n if (s5 === peg$FAILED) {\n if (peg$c30.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$c31);\n }\n }\n }\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n if (input.substr(peg$currPos, 2) === peg$c68) {\n s5 = peg$c68;\n peg$currPos += 2;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c69);\n }\n }\n if (s5 === peg$FAILED) {\n if (peg$c30.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$c31);\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$c28;\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 peg$savedPos = s0;\n s1 = peg$c73(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;\n s0 = peg$currPos;\n if (peg$c74.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$c75);\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$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$c76);\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$c78;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c79);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c80();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$currPos;\n if (peg$c81.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$c82);\n }\n }\n if (s2 !== peg$FAILED) {\n s3 = [];\n if (peg$c83.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$c84);\n }\n }\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n if (peg$c83.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$c84);\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$c85(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$c77);\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$parsepatternWhiteSpace();\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$c11);\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$parsepatternWhiteSpace();\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$c11);\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$c86);\n }\n }\n return s0;\n }\n function insertLocation() {\n return options && options.captureLocation ? {\n location: location()\n } : {};\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","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","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+)(\\+|#+)?)?$/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 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 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) {\n // precision-integer case\n if (match === '.') {\n result.maximumFractionDigits = 0;\n }\n // .000+ case\n else if (g2 === '+') {\n result.minimumFractionDigits = g2.length;\n }\n // .### case\n else if (g1[0] === '#') {\n result.maximumFractionDigits = g1.length;\n }\n // .00## or .000 case\n else {\n result.minimumFractionDigits = g1.length;\n result.maximumFractionDigits =\n g1.length + (typeof g2 === 'string' ? g2.length : 0);\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","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","/*\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","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})();\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};\nimport { convertNumberSkeletonToNumberFormatOptions, isArgumentElement, isDateElement, isDateTimeSkeleton, isLiteralElement, isNumberElement, isNumberSkeleton, isPluralElement, isSelectElement, isTimeElement, parseDateTimeSkeleton, } from 'intl-messageformat-parser';\nvar ESCAPE_HASH_REGEX = /\\\\#/g;\nvar PLURAL_HASH = /(^|[^\\\\])#/g;\nvar FormatError = /** @class */ (function (_super) {\n __extends(FormatError, _super);\n function FormatError(msg, variableId) {\n var _this = _super.call(this, msg) || this;\n _this.variableId = variableId;\n return _this;\n }\n return FormatError;\n}(Error));\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}\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 var value = els[0].value;\n if (typeof currentPluralValue === 'number') {\n value = value.replace(PLURAL_HASH, '$1' + formatters.getNumberFormat(locales).format(currentPluralValue));\n }\n return [\n {\n type: 0 /* literal */,\n value: value.replace(ESCAPE_HASH_REGEX, '#'),\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 var value_1 = el.value;\n if (typeof currentPluralValue === 'number') {\n value_1 = value_1.replace(PLURAL_HASH, '$1' + formatters.getNumberFormat(locales).format(currentPluralValue));\n }\n result.push({\n type: 0 /* literal */,\n value: value_1.replace(ESCAPE_HASH_REGEX, '#'),\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 FormatError(\"The intl string context variable \\\"\" + varName + \"\\\" was not provided to the string \\\"\" + 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: 1 /* argument */,\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' ? formats.date[el.style] : 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 (isSelectElement(el)) {\n var opt = el.options[value] || el.options.other;\n if (!opt) {\n throw new RangeError(\"Invalid values for \\\"\" + el.value + \"\\\": \\\"\" + value + \"\\\". Options are \\\"\" + Object.keys(el.options).join('\", \"') + \"\\\"\");\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\");\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 RangeError(\"Invalid values for \\\"\" + el.value + \"\\\": \\\"\" + value + \"\\\". Options are \\\"\" + Object.keys(el.options).join('\", \"') + \"\\\"\");\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}\nexport function formatToString(els, locales, formatters, formats, values, \n// For debugging\noriginalMessage) {\n var parts = formatToParts(els, locales, formatters, formats, values, undefined, originalMessage);\n // Hot path for straight simple msg translations\n if (parts.length === 1) {\n return parts[0].value;\n }\n return parts.reduce(function (all, part) { return (all += part.value); }, '');\n}\n// Singleton\nvar domParser;\nvar TOKEN_DELIMITER = '@@';\nvar TOKEN_REGEX = /@@(\\d+_\\d+)@@/g;\nvar counter = 0;\nfunction generateId() {\n return Date.now() + \"_\" + ++counter;\n}\nfunction restoreRichPlaceholderMessage(text, objectParts) {\n return text\n .split(TOKEN_REGEX)\n .filter(Boolean)\n .map(function (c) { return (objectParts[c] != null ? objectParts[c] : c); })\n .reduce(function (all, c) {\n if (!all.length) {\n all.push(c);\n }\n else if (typeof c === 'string' &&\n typeof all[all.length - 1] === 'string') {\n all[all.length - 1] += c;\n }\n else {\n all.push(c);\n }\n return all;\n }, []);\n}\n/**\n * Not exhaustive, just for sanity check\n */\nvar SIMPLE_XML_REGEX = /(<([0-9a-zA-Z-_]*?)>(.*?)<\\/([0-9a-zA-Z-_]*?)>)|(<[0-9a-zA-Z-_]*?\\/>)/;\nvar TEMPLATE_ID = Date.now() + '@@';\nvar VOID_ELEMENTS = [\n 'area',\n 'base',\n 'br',\n 'col',\n 'embed',\n 'hr',\n 'img',\n 'input',\n 'link',\n 'meta',\n 'param',\n 'source',\n 'track',\n 'wbr',\n];\nfunction formatHTMLElement(el, objectParts, values) {\n var tagName = el.tagName;\n var outerHTML = el.outerHTML, textContent = el.textContent, childNodes = el.childNodes;\n // Regular text\n if (!tagName) {\n return restoreRichPlaceholderMessage(textContent || '', objectParts);\n }\n tagName = tagName.toLowerCase();\n var isVoidElement = ~VOID_ELEMENTS.indexOf(tagName);\n var formatFnOrValue = values[tagName];\n if (formatFnOrValue && isVoidElement) {\n throw new FormatError(tagName + \" is a self-closing tag and can not be used, please use another tag name.\");\n }\n if (!childNodes.length) {\n return [outerHTML];\n }\n var chunks = Array.prototype.slice.call(childNodes).reduce(function (all, child) {\n return all.concat(formatHTMLElement(child, objectParts, values));\n }, []);\n // Legacy HTML\n if (!formatFnOrValue) {\n return __spreadArrays([\"<\" + tagName + \">\"], chunks, [\"</\" + tagName + \">\"]);\n }\n // HTML Tag replacement\n if (typeof formatFnOrValue === 'function') {\n return [formatFnOrValue.apply(void 0, chunks)];\n }\n return [formatFnOrValue];\n}\nexport function formatHTMLMessage(els, locales, formatters, formats, values, \n// For debugging\noriginalMessage) {\n var parts = formatToParts(els, locales, formatters, formats, values, undefined, originalMessage);\n var objectParts = {};\n var formattedMessage = parts.reduce(function (all, part) {\n if (part.type === 0 /* literal */) {\n return (all += part.value);\n }\n var id = generateId();\n objectParts[id] = part.value;\n return (all += \"\" + TOKEN_DELIMITER + id + TOKEN_DELIMITER);\n }, '');\n // Not designed to filter out aggressively\n if (!SIMPLE_XML_REGEX.test(formattedMessage)) {\n return restoreRichPlaceholderMessage(formattedMessage, objectParts);\n }\n if (!values) {\n throw new FormatError('Message has placeholders but no values was given');\n }\n if (typeof DOMParser === 'undefined') {\n throw new FormatError('Cannot format XML message without DOMParser');\n }\n if (!domParser) {\n domParser = new DOMParser();\n }\n var content = domParser\n .parseFromString(\"<formatted-message id=\\\"\" + TEMPLATE_ID + \"\\\">\" + formattedMessage + \"</formatted-message>\", 'text/html')\n .getElementById(TEMPLATE_ID);\n if (!content) {\n throw new FormatError(\"Malformed HTML message \" + formattedMessage);\n }\n var tagsToFormat = Object.keys(values).filter(function (varName) { return !!content.getElementsByTagName(varName).length; });\n // No tags to format\n if (!tagsToFormat.length) {\n return restoreRichPlaceholderMessage(formattedMessage, objectParts);\n }\n var caseSensitiveTags = tagsToFormat.filter(function (tagName) { return tagName !== tagName.toLowerCase(); });\n if (caseSensitiveTags.length) {\n throw new FormatError(\"HTML tag must be lowercased but the following tags are not: \" + caseSensitiveTags.join(', '));\n }\n // We're doing this since top node is `<formatted-message/>` which does not have a formatter\n return Array.prototype.slice\n .call(content.childNodes)\n .reduce(function (all, child) { return all.concat(formatHTMLElement(child, objectParts, values)); }, []);\n}\n","/*\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 { formatToString, formatToParts, formatHTMLMessage, } 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 return formatToString(_this.ast, _this.locales, _this.formatters, _this.formats, values, _this.message);\n };\n this.formatToParts = function (values) {\n return formatToParts(_this.ast, _this.locales, _this.formatters, _this.formats, values, undefined, _this.message);\n };\n this.formatHTMLMessage = function (values) {\n return formatHTMLMessage(_this.ast, _this.locales, _this.formatters, _this.formats, values, _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 });\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 IntlMessageFormat.defaultLocale = new Intl.NumberFormat().resolvedOptions().locale;\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","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nimport IntlMessageFormat from './core';\nexport * from './formatters';\nexport * from './core';\nexport default IntlMessageFormat;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar NODE_ENV = process.env.NODE_ENV;\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","/*\nHTML escaping is the same as React's\n(on purpose.) Therefore, it has the following Copyright and Licensing:\n\nCopyright 2013-2014, Facebook, Inc.\nAll rights reserved.\n\nThis source code is licensed under the BSD-style license found in the LICENSE\nfile in the root directory of React's source tree.\n*/\nimport * as React from 'react';\nimport IntlMessageFormat from 'intl-messageformat';\nimport memoizeIntlConstructor from 'intl-format-cache';\n// Since rollup cannot deal with namespace being a function,\n// this is to interop with TypeScript since `invariant`\n// does not export a default\n// https://github.com/rollup/rollup/issues/1267\nimport * as invariant_ from 'invariant';\nconst invariant = invariant_.default || invariant_;\nconst ESCAPED_CHARS = {\n 38: '&',\n 62: '>',\n 60: '<',\n 34: '"',\n 39: ''',\n};\nconst UNSAFE_CHARS_REGEX = /[&><\"']/g;\nexport function escape(str) {\n return ('' + str).replace(UNSAFE_CHARS_REGEX, match => ESCAPED_CHARS[match.charCodeAt(0)]);\n}\nexport function filterProps(props, whitelist, defaults = {}) {\n return whitelist.reduce((filtered, name) => {\n if (name in props) {\n filtered[name] = props[name];\n }\n else if (name in defaults) {\n filtered[name] = defaults[name];\n }\n return filtered;\n }, {});\n}\nexport function invariantIntlContext(intl) {\n invariant(intl, '[React Intl] Could not find required `intl` object. ' +\n '<IntlProvider> needs to exist in the component ancestry.');\n}\nexport function createError(message, exception) {\n const eMsg = exception ? `\\n${exception.stack}` : '';\n return `[React Intl] ${message}${eMsg}`;\n}\nexport function defaultErrorHandler(error) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(error);\n }\n}\nexport const DEFAULT_INTL_CONFIG = {\n formats: {},\n messages: {},\n timeZone: undefined,\n textComponent: React.Fragment,\n defaultLocale: 'en',\n defaultFormats: {},\n onError: defaultErrorHandler,\n};\nexport function createIntlCache() {\n return {\n dateTime: {},\n number: {},\n message: {},\n relativeTime: {},\n pluralRules: {},\n list: {},\n };\n}\n/**\n * Create intl formatters and populate cache\n * @param cache explicit cache to prevent leaking memory\n */\nexport function createFormatters(cache = createIntlCache()) {\n const RelativeTimeFormat = Intl.RelativeTimeFormat;\n const ListFormat = Intl.ListFormat;\n return {\n getDateTimeFormat: memoizeIntlConstructor(Intl.DateTimeFormat, cache.dateTime),\n getNumberFormat: memoizeIntlConstructor(Intl.NumberFormat, cache.number),\n getMessageFormat: memoizeIntlConstructor(IntlMessageFormat, cache.message),\n getRelativeTimeFormat: memoizeIntlConstructor(RelativeTimeFormat, cache.relativeTime),\n getPluralRules: memoizeIntlConstructor(Intl.PluralRules, cache.pluralRules),\n getListFormat: memoizeIntlConstructor(ListFormat, cache.list),\n };\n}\nexport function getNamedFormat(formats, type, name, onError) {\n const formatType = formats && formats[type];\n let format;\n if (formatType) {\n format = formatType[name];\n }\n if (format) {\n return format;\n }\n onError(createError(`No ${type} format named: ${name}`));\n}\n","/** @license React v16.8.6\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\n\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace;\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' ||\n // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE);\n}\n\n/**\n * Forked from fbjs/warning:\n * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js\n *\n * Only change is we use console.warn instead of console.error,\n * and do nothing when 'console' is not supported.\n * This really simplifies the code.\n * ---\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar lowPriorityWarning = function () {};\n\n{\n var printWarning = function (format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.warn(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n lowPriorityWarning = function (condition, format) {\n if (format === undefined) {\n throw new Error('`lowPriorityWarning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n}\n\nvar lowPriorityWarning$1 = lowPriorityWarning;\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n default:\n return $$typeof;\n }\n }\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n}\n\n// AsyncMode is deprecated along with isAsyncMode\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\n\nvar hasWarnedAboutDeprecatedIsAsyncMode = false;\n\n// AsyncMode should be deprecated\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true;\n lowPriorityWarning$1(false, 'The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.typeOf = typeOf;\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isValidElementType = isValidElementType;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\n\nfunction getStatics(component) {\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n }\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","import * as React from 'react';\nimport * as hoistNonReactStatics_ from 'hoist-non-react-statics';\n// Since rollup cannot deal with namespace being a function,\n// this is to interop with TypeScript since `invariant`\n// does not export a default\n// https://github.com/rollup/rollup/issues/1267\nconst hoistNonReactStatics = hoistNonReactStatics_.default || hoistNonReactStatics_;\nimport { invariantIntlContext } from '../utils';\nfunction getDisplayName(Component) {\n return Component.displayName || Component.name || 'Component';\n}\n// TODO: We should provide initial value here\nconst IntlContext = React.createContext(null);\nconst { Consumer: IntlConsumer, Provider: IntlProvider } = IntlContext;\nexport const Provider = IntlProvider;\nexport const Context = IntlContext;\nexport default function injectIntl(WrappedComponent, options) {\n const { intlPropName = 'intl', forwardRef = false, enforceContext = true } = options || {};\n const WithIntl = props => (React.createElement(IntlConsumer, null, (intl) => {\n if (enforceContext) {\n invariantIntlContext(intl);\n }\n return (React.createElement(WrappedComponent, Object.assign({}, props, {\n [intlPropName]: intl,\n }, { ref: forwardRef ? props.forwardedRef : null })));\n }));\n WithIntl.displayName = `injectIntl(${getDisplayName(WrappedComponent)})`;\n WithIntl.WrappedComponent = WrappedComponent;\n if (forwardRef) {\n return hoistNonReactStatics(React.forwardRef((props, ref) => (React.createElement(WithIntl, Object.assign({}, props, { forwardedRef: ref })))), WrappedComponent);\n }\n return hoistNonReactStatics(WithIntl, WrappedComponent);\n}\n","var __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\nimport * as React from 'react';\nimport { invariantIntlContext } from '../utils';\nimport { Context } from './injectIntl';\nvar DisplayName;\n(function (DisplayName) {\n DisplayName[\"formatDate\"] = \"FormattedDate\";\n DisplayName[\"formatTime\"] = \"FormattedTime\";\n DisplayName[\"formatNumber\"] = \"FormattedNumber\";\n DisplayName[\"formatList\"] = \"FormattedList\";\n})(DisplayName || (DisplayName = {}));\nvar DisplayNameParts;\n(function (DisplayNameParts) {\n DisplayNameParts[\"formatDate\"] = \"FormattedDateParts\";\n DisplayNameParts[\"formatTime\"] = \"FormattedTimeParts\";\n DisplayNameParts[\"formatNumber\"] = \"FormattedNumberParts\";\n DisplayNameParts[\"formatList\"] = \"FormattedListParts\";\n})(DisplayNameParts || (DisplayNameParts = {}));\nexport const FormattedNumberParts = props => (React.createElement(Context.Consumer, null, (intl) => {\n invariantIntlContext(intl);\n const { value, children } = props, formatProps = __rest(props, [\"value\", \"children\"]);\n return children(intl.formatNumberToParts(value, formatProps));\n}));\nFormattedNumberParts.displayName = 'FormattedNumberParts';\nexport function createFormattedDateTimePartsComponent(name) {\n const ComponentParts = props => (React.createElement(Context.Consumer, null, (intl) => {\n invariantIntlContext(intl);\n const { value, children } = props, formatProps = __rest(props, [\"value\", \"children\"]);\n const date = typeof value === 'string' ? new Date(value || 0) : value;\n const formattedParts = name === 'formatDate'\n ? intl.formatDateToParts(date, formatProps)\n : intl.formatTimeToParts(date, formatProps);\n return children(formattedParts);\n }));\n ComponentParts.displayName = DisplayNameParts[name];\n return ComponentParts;\n}\nexport function createFormattedComponent(name) {\n const Component = props => (React.createElement(Context.Consumer, null, (intl) => {\n invariantIntlContext(intl);\n const { value, children } = props, formatProps = __rest(props, [\"value\", \"children\"]);\n // TODO: fix TS type definition for localeMatcher upstream\n const formattedValue = intl[name](value, formatProps);\n if (typeof children === 'function') {\n return children(formattedValue);\n }\n const Text = intl.textComponent || React.Fragment;\n return React.createElement(Text, null, formattedValue);\n }));\n Component.displayName = DisplayName[name];\n return Component;\n}\n","import { useContext } from 'react';\nimport { Context } from './injectIntl';\nimport { invariantIntlContext } from '../utils';\nexport default function useIntl() {\n const intl = useContext(Context);\n invariantIntlContext(intl);\n return intl;\n}\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nexport default function areIntlLocalesSupported(locales, constructorsToCheck) {\n if (typeof Intl === 'undefined') {\n return false;\n }\n if (!locales) {\n throw new Error('locales must be supplied.');\n }\n if (!Array.isArray(locales)) {\n locales = [locales];\n }\n var intlConstructors = constructorsToCheck || [\n Intl.DateTimeFormat,\n Intl.NumberFormat,\n Intl.PluralRules,\n ];\n intlConstructors = intlConstructors.filter(Boolean);\n if (intlConstructors.length === 0 ||\n (constructorsToCheck &&\n intlConstructors.length !== constructorsToCheck.length)) {\n return false;\n }\n return intlConstructors.every(function (intlConstructor) {\n return intlConstructor.supportedLocalesOf(locales).length === locales.length;\n });\n}\n","import { getNamedFormat, filterProps, createError } from '../utils';\nconst NUMBER_FORMAT_OPTIONS = [\n 'localeMatcher',\n 'style',\n 'currency',\n 'currencyDisplay',\n 'unit',\n 'unitDisplay',\n 'useGrouping',\n 'minimumIntegerDigits',\n 'minimumFractionDigits',\n 'maximumFractionDigits',\n 'minimumSignificantDigits',\n 'maximumSignificantDigits',\n // Unified NumberFormat (Stage 3 as of 10/22/19)\n 'compactDisplay',\n 'currencyDisplay',\n 'currencySign',\n 'notation',\n 'signDisplay',\n 'unit',\n 'unitDisplay',\n];\nexport function getFormatter({ locale, formats, onError, }, getNumberFormat, options = {}) {\n const { format } = options;\n const defaults = ((format &&\n getNamedFormat(formats, 'number', format, onError)) ||\n {});\n const filteredOptions = filterProps(options, NUMBER_FORMAT_OPTIONS, defaults);\n return getNumberFormat(locale, filteredOptions);\n}\nexport function formatNumber(config, getNumberFormat, value, options = {}) {\n try {\n return getFormatter(config, getNumberFormat, options).format(value);\n }\n catch (e) {\n config.onError(createError('Error formatting number.', e));\n }\n return String(value);\n}\nexport function formatNumberToParts(config, getNumberFormat, value, options = {}) {\n try {\n return getFormatter(config, getNumberFormat, options).formatToParts(value);\n }\n catch (e) {\n config.onError(createError('Error formatting number.', e));\n }\n return [];\n}\n","import { getNamedFormat, filterProps, createError } from '../utils';\nconst RELATIVE_TIME_FORMAT_OPTIONS = [\n 'numeric',\n 'style',\n];\nfunction getFormatter({ locale, formats, onError, }, getRelativeTimeFormat, options = {}) {\n const { format } = options;\n const defaults = (!!format && getNamedFormat(formats, 'relative', format, onError)) || {};\n const filteredOptions = filterProps(options, RELATIVE_TIME_FORMAT_OPTIONS, defaults);\n return getRelativeTimeFormat(locale, filteredOptions);\n}\nexport function formatRelativeTime(config, getRelativeTimeFormat, value, unit, options = {}) {\n if (!unit) {\n unit = 'second';\n }\n const RelativeTimeFormat = Intl.RelativeTimeFormat;\n if (!RelativeTimeFormat) {\n config.onError(createError(`Intl.RelativeTimeFormat is not available in this environment.\nTry polyfilling it using \"@formatjs/intl-relativetimeformat\"\n`));\n }\n try {\n return getFormatter(config, getRelativeTimeFormat, options).format(value, unit);\n }\n catch (e) {\n config.onError(createError('Error formatting relative time.', e));\n }\n return String(value);\n}\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport { createError, filterProps, getNamedFormat } from '../utils';\nconst DATE_TIME_FORMAT_OPTIONS = [\n 'localeMatcher',\n 'formatMatcher',\n 'timeZone',\n 'hour12',\n 'weekday',\n 'era',\n 'year',\n 'month',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'timeZoneName',\n];\nexport function getFormatter({ locale, formats, onError, timeZone, }, type, getDateTimeFormat, options = {}) {\n const { format } = options;\n const defaults = Object.assign({}, (timeZone && { timeZone }), (format && getNamedFormat(formats, type, format, onError)));\n let filteredOptions = filterProps(options, DATE_TIME_FORMAT_OPTIONS, defaults);\n if (type === 'time' &&\n !filteredOptions.hour &&\n !filteredOptions.minute &&\n !filteredOptions.second) {\n // Add default formatting options if hour, minute, or second isn't defined.\n filteredOptions = Object.assign({}, filteredOptions, { hour: 'numeric', minute: 'numeric' });\n }\n return getDateTimeFormat(locale, filteredOptions);\n}\nexport function formatDate(config, getDateTimeFormat, value, options = {}) {\n const date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'date', getDateTimeFormat, options).format(date);\n }\n catch (e) {\n config.onError(createError('Error formatting date.', e));\n }\n return String(date);\n}\nexport function formatTime(config, getDateTimeFormat, value, options = {}) {\n const date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'time', getDateTimeFormat, options).format(date);\n }\n catch (e) {\n config.onError(createError('Error formatting time.', e));\n }\n return String(date);\n}\nexport function formatDateToParts(config, getDateTimeFormat, value, options = {}) {\n const date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'date', getDateTimeFormat, options).formatToParts(date);\n }\n catch (e) {\n config.onError(createError('Error formatting date.', e));\n }\n return [];\n}\nexport function formatTimeToParts(config, getDateTimeFormat, value, options = {}) {\n const date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'time', getDateTimeFormat, options).formatToParts(date);\n }\n catch (e) {\n config.onError(createError('Error formatting time.', e));\n }\n return [];\n}\n","import { filterProps, createError } from '../utils';\nconst PLURAL_FORMAT_OPTIONS = [\n 'localeMatcher',\n 'type',\n];\nexport function formatPlural({ locale, onError }, getPluralRules, value, options = {}) {\n if (!Intl.PluralRules) {\n onError(createError(`Intl.PluralRules is not available in this environment.\nTry polyfilling it using \"@formatjs/intl-pluralrules\"\n`));\n }\n const filteredOptions = filterProps(options, PLURAL_FORMAT_OPTIONS);\n try {\n return getPluralRules(locale, filteredOptions).select(value);\n }\n catch (e) {\n onError(createError('Error formatting plural.', e));\n }\n return 'other';\n}\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n// Since rollup cannot deal with namespace being a function,\n// this is to interop with TypeScript since `invariant`\n// does not export a default\n// https://github.com/rollup/rollup/issues/1267\nimport * as invariant_ from 'invariant';\nconst invariant = invariant_.default || invariant_;\nimport { createError, escape } from '../utils';\nimport IntlMessageFormat from 'intl-messageformat';\nfunction setTimeZoneInOptions(opts, timeZone) {\n return Object.keys(opts).reduce((all, k) => {\n all[k] = Object.assign({ timeZone }, opts[k]);\n return all;\n }, {});\n}\nfunction deepMergeOptions(opts1, opts2) {\n const keys = Object.keys(Object.assign({}, opts1, opts2));\n return keys.reduce((all, k) => {\n all[k] = Object.assign({}, (opts1[k] || {}), (opts2[k] || {}));\n return all;\n }, {});\n}\nfunction deepMergeFormatsAndSetTimeZone(f1, timeZone) {\n if (!timeZone) {\n return f1;\n }\n const mfFormats = IntlMessageFormat.formats;\n return Object.assign({}, mfFormats, f1, { date: deepMergeOptions(setTimeZoneInOptions(mfFormats.date, timeZone), setTimeZoneInOptions(f1.date || {}, timeZone)), time: deepMergeOptions(setTimeZoneInOptions(mfFormats.time, timeZone), setTimeZoneInOptions(f1.time || {}, timeZone)) });\n}\nexport function formatMessage({ locale, formats, messages, defaultLocale, defaultFormats, onError, timeZone, }, state, messageDescriptor = { id: '' }, values = {}) {\n const { id, defaultMessage } = messageDescriptor;\n // `id` is a required field of a Message Descriptor.\n invariant(id, '[React Intl] An `id` must be provided to format a message.');\n if (!id) {\n throw new Error('[React Intl] An `id` must be provided to format a message.');\n }\n const message = messages && messages[id];\n formats = deepMergeFormatsAndSetTimeZone(formats, timeZone);\n defaultFormats = deepMergeFormatsAndSetTimeZone(defaultFormats, timeZone);\n let formattedMessageParts = [];\n if (message) {\n try {\n const formatter = state.getMessageFormat(message, locale, formats, {\n formatters: state,\n });\n formattedMessageParts = formatter.formatHTMLMessage(values);\n }\n catch (e) {\n onError(createError(`Error formatting message: \"${id}\" for locale: \"${locale}\"` +\n (defaultMessage ? ', using default message as fallback.' : ''), e));\n }\n }\n else {\n // This prevents warnings from littering the console in development\n // when no `messages` are passed into the <IntlProvider> for the\n // default locale, and a default message is in the source.\n if (!defaultMessage ||\n (locale && locale.toLowerCase() !== defaultLocale.toLowerCase())) {\n onError(createError(`Missing message: \"${id}\" for locale: \"${locale}\"` +\n (defaultMessage ? ', using default message as fallback.' : '')));\n }\n }\n if (!formattedMessageParts.length && defaultMessage) {\n try {\n const formatter = state.getMessageFormat(defaultMessage, defaultLocale, defaultFormats);\n formattedMessageParts = formatter.formatHTMLMessage(values);\n }\n catch (e) {\n onError(createError(`Error formatting the default message for: \"${id}\"`, e));\n }\n }\n if (!formattedMessageParts.length) {\n onError(createError(`Cannot format message: \"${id}\", ` +\n `using message ${message || defaultMessage ? 'source' : 'id'} as fallback.`));\n if (typeof message === 'string') {\n return message || defaultMessage || id;\n }\n return defaultMessage || id;\n }\n if (formattedMessageParts.length === 1 &&\n typeof formattedMessageParts[0] === 'string') {\n return formattedMessageParts[0] || defaultMessage || id;\n }\n return formattedMessageParts;\n}\nexport function formatHTMLMessage(config, state, messageDescriptor = { id: '' }, rawValues = {}) {\n // Process all the values before they are used when formatting the ICU\n // Message string. Since the formatted message might be injected via\n // `innerHTML`, all String-based values need to be HTML-escaped.\n const escapedValues = Object.keys(rawValues).reduce((escaped, name) => {\n const value = rawValues[name];\n escaped[name] = typeof value === 'string' ? escape(value) : value;\n return escaped;\n }, {});\n return formatMessage(config, state, messageDescriptor, escapedValues);\n}\n","'use strict';\n\nfunction shallowEqualObjects(objA, objB) {\n if (objA === objB) {\n return true;\n }\n\n if (!objA || !objB) {\n return false;\n }\n\n var aKeys = Object.keys(objA);\n var bKeys = Object.keys(objB);\n var len = aKeys.length;\n\n if (bKeys.length !== len) {\n return false;\n }\n\n for (var i = 0; i < len; i++) {\n var key = aKeys[i];\n\n if (objA[key] !== objB[key] || !Object.prototype.hasOwnProperty.call(objB, key)) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = shallowEqualObjects;\n","import { filterProps, createError } from '../utils';\nconst LIST_FORMAT_OPTIONS = [\n 'localeMatcher',\n 'type',\n 'style',\n];\nconst now = Date.now();\nfunction generateToken(i) {\n return `${now}_${i}_${now}`;\n}\nexport function formatList({ locale, onError }, getListFormat, values, options = {}) {\n const ListFormat = Intl.ListFormat;\n if (!ListFormat) {\n onError(createError(`Intl.ListFormat is not available in this environment.\nTry polyfilling it using \"@formatjs/intl-listformat\"\n`));\n }\n const filteredOptions = filterProps(options, LIST_FORMAT_OPTIONS);\n try {\n const richValues = {};\n const serializedValues = values.map((v, i) => {\n if (typeof v === 'object') {\n const id = generateToken(i);\n richValues[id] = v;\n return id;\n }\n return String(v);\n });\n if (!Object.keys(richValues).length) {\n return getListFormat(locale, filteredOptions).format(serializedValues);\n }\n const parts = getListFormat(locale, filteredOptions).formatToParts(serializedValues);\n return parts.reduce((all, el) => {\n const val = el.value;\n if (richValues[val]) {\n all.push(richValues[val]);\n }\n else if (typeof all[all.length - 1] === 'string') {\n all[all.length - 1] += val;\n }\n else {\n all.push(val);\n }\n return all;\n }, []);\n }\n catch (e) {\n onError(createError('Error formatting list.', e));\n }\n return values;\n}\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport * as React from 'react';\nimport { Provider } from './injectIntl';\nimport { createError, DEFAULT_INTL_CONFIG, createFormatters, invariantIntlContext, createIntlCache, } from '../utils';\nimport areIntlLocalesSupported from 'intl-locales-supported';\nimport { formatNumber, formatNumberToParts } from '../formatters/number';\nimport { formatRelativeTime } from '../formatters/relativeTime';\nimport { formatDate, formatTime, formatDateToParts, formatTimeToParts, } from '../formatters/dateTime';\nimport { formatPlural } from '../formatters/plural';\nimport { formatMessage, formatHTMLMessage } from '../formatters/message';\nimport * as shallowEquals_ from 'shallow-equal/objects';\nimport { formatList } from '../formatters/list';\nconst shallowEquals = shallowEquals_.default || shallowEquals_;\nfunction processIntlConfig(config) {\n return {\n locale: config.locale,\n timeZone: config.timeZone,\n formats: config.formats,\n textComponent: config.textComponent,\n messages: config.messages,\n defaultLocale: config.defaultLocale,\n defaultFormats: config.defaultFormats,\n onError: config.onError,\n };\n}\n/**\n * Create intl object\n * @param config intl config\n * @param cache cache for formatter instances to prevent memory leak\n */\nexport function createIntl(config, cache) {\n const formatters = createFormatters(cache);\n const resolvedConfig = Object.assign({}, DEFAULT_INTL_CONFIG, config);\n if (!resolvedConfig.locale ||\n !areIntlLocalesSupported(resolvedConfig.locale)) {\n const { locale, defaultLocale, onError } = resolvedConfig;\n if (typeof onError === 'function') {\n onError(createError(`Missing locale data for locale: \"${locale}\". ` +\n `Using default locale: \"${defaultLocale}\" as fallback.`));\n }\n // Since there's no registered locale data for `locale`, this will\n // fallback to the `defaultLocale` to make sure things can render.\n // The `messages` are overridden to the `defaultProps` empty object\n // to maintain referential equality across re-renders. It's assumed\n // each <FormattedMessage> contains a `defaultMessage` prop.\n resolvedConfig.locale = resolvedConfig.defaultLocale || 'en';\n }\n return Object.assign({}, resolvedConfig, { formatters, formatNumber: formatNumber.bind(null, resolvedConfig, formatters.getNumberFormat), formatNumberToParts: formatNumberToParts.bind(null, resolvedConfig, formatters.getNumberFormat), formatRelativeTime: formatRelativeTime.bind(null, resolvedConfig, formatters.getRelativeTimeFormat), formatDate: formatDate.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatDateToParts: formatDateToParts.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatTime: formatTime.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatTimeToParts: formatTimeToParts.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatPlural: formatPlural.bind(null, resolvedConfig, formatters.getPluralRules), formatMessage: formatMessage.bind(null, resolvedConfig, formatters), formatHTMLMessage: formatHTMLMessage.bind(null, resolvedConfig, formatters), formatList: formatList.bind(null, resolvedConfig, formatters.getListFormat) });\n}\nexport default class IntlProvider extends React.PureComponent {\n constructor() {\n super(...arguments);\n this.cache = createIntlCache();\n this.state = {\n cache: this.cache,\n intl: createIntl(processIntlConfig(this.props), this.cache),\n prevConfig: processIntlConfig(this.props),\n };\n }\n static getDerivedStateFromProps(props, { prevConfig, cache }) {\n const config = processIntlConfig(props);\n if (!shallowEquals(prevConfig, config)) {\n return {\n intl: createIntl(config, cache),\n prevConfig: config,\n };\n }\n return null;\n }\n render() {\n invariantIntlContext(this.state.intl);\n return React.createElement(Provider, { value: this.state.intl }, this.props.children);\n }\n}\nIntlProvider.displayName = 'IntlProvider';\nIntlProvider.defaultProps = DEFAULT_INTL_CONFIG;\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport * as React from 'react';\nimport { Context } from './injectIntl';\nimport { invariantIntlContext } from '../utils';\n// Since rollup cannot deal with namespace being a function,\n// this is to interop with TypeScript since `invariant`\n// does not export a default\n// https://github.com/rollup/rollup/issues/1267\nimport * as invariant_ from 'invariant';\nconst invariant = invariant_.default || invariant_;\nconst MINUTE = 60;\nconst HOUR = 60 * 60;\nconst DAY = 60 * 60 * 24;\nfunction selectUnit(seconds) {\n const absValue = Math.abs(seconds);\n if (absValue < MINUTE) {\n return 'second';\n }\n if (absValue < HOUR) {\n return 'minute';\n }\n if (absValue < DAY) {\n return 'hour';\n }\n return 'day';\n}\nfunction getDurationInSeconds(unit) {\n switch (unit) {\n case 'second':\n return 1;\n case 'minute':\n return MINUTE;\n case 'hour':\n return HOUR;\n default:\n return DAY;\n }\n}\nfunction valueToSeconds(value, unit) {\n if (!value) {\n return 0;\n }\n switch (unit) {\n case 'second':\n return value;\n case 'minute':\n return value * MINUTE;\n default:\n return value * HOUR;\n }\n}\nconst INCREMENTABLE_UNITS = ['second', 'minute', 'hour'];\nfunction canIncrement(unit = 'second') {\n return INCREMENTABLE_UNITS.includes(unit);\n}\nfunction verifyProps(updateIntervalInSeconds, unit) {\n invariant(!updateIntervalInSeconds || (updateIntervalInSeconds && canIncrement(unit)), 'Cannot schedule update with unit longer than hour');\n}\nexport class FormattedRelativeTime extends React.PureComponent {\n constructor(props) {\n super(props);\n // Public for testing\n this._updateTimer = null;\n this.state = {\n prevUnit: this.props.unit,\n prevValue: this.props.value,\n currentValueInSeconds: canIncrement(this.props.unit)\n ? valueToSeconds(this.props.value, this.props.unit)\n : 0,\n };\n verifyProps(props.updateIntervalInSeconds, props.unit);\n }\n scheduleNextUpdate({ updateIntervalInSeconds, unit }, { currentValueInSeconds }) {\n clearTimeout(this._updateTimer);\n this._updateTimer = null;\n // If there's no interval and we cannot increment this unit, do nothing\n if (!updateIntervalInSeconds || !canIncrement(unit)) {\n return;\n }\n // Figure out the next interesting time\n const nextValueInSeconds = currentValueInSeconds - updateIntervalInSeconds;\n const nextUnit = selectUnit(nextValueInSeconds);\n // We've reached the max auto incrementable unit, don't schedule another update\n if (nextUnit === 'day') {\n return;\n }\n const unitDuration = getDurationInSeconds(nextUnit);\n const remainder = nextValueInSeconds % unitDuration;\n const prevInterestingValueInSeconds = nextValueInSeconds - remainder;\n const nextInterestingValueInSeconds = prevInterestingValueInSeconds >= currentValueInSeconds\n ? prevInterestingValueInSeconds - unitDuration\n : prevInterestingValueInSeconds;\n const delayInSeconds = Math.abs(nextInterestingValueInSeconds - currentValueInSeconds);\n this._updateTimer = setTimeout(() => this.setState({\n currentValueInSeconds: nextInterestingValueInSeconds,\n }), delayInSeconds * 1e3);\n }\n componentDidMount() {\n this.scheduleNextUpdate(this.props, this.state);\n }\n componentDidUpdate() {\n this.scheduleNextUpdate(this.props, this.state);\n }\n componentWillUnmount() {\n clearTimeout(this._updateTimer);\n this._updateTimer = null;\n }\n static getDerivedStateFromProps(props, state) {\n if (props.unit !== state.prevUnit || props.value !== state.prevValue) {\n return {\n prevValue: props.value,\n prevUnit: props.unit,\n currentValueInSeconds: canIncrement(props.unit)\n ? valueToSeconds(props.value, props.unit)\n : 0,\n };\n }\n return null;\n }\n render() {\n return (React.createElement(Context.Consumer, null, (intl) => {\n invariantIntlContext(intl);\n const { formatRelativeTime, textComponent: Text } = intl;\n const { children, value, unit, updateIntervalInSeconds } = this.props;\n const { currentValueInSeconds } = this.state;\n let currentValue = value || 0;\n let currentUnit = unit;\n if (canIncrement(unit) &&\n typeof currentValueInSeconds === 'number' &&\n updateIntervalInSeconds) {\n currentUnit = selectUnit(currentValueInSeconds);\n const unitDuration = getDurationInSeconds(currentUnit);\n currentValue = Math.round(currentValueInSeconds / unitDuration);\n }\n const formattedRelativeTime = formatRelativeTime(currentValue, currentUnit, Object.assign({}, this.props));\n if (typeof children === 'function') {\n return children(formattedRelativeTime);\n }\n if (Text) {\n return React.createElement(Text, null, formattedRelativeTime);\n }\n return formattedRelativeTime;\n }));\n }\n}\nFormattedRelativeTime.displayName = 'FormattedRelativeTime';\nFormattedRelativeTime.defaultProps = {\n value: 0,\n unit: 'second',\n};\nexport default FormattedRelativeTime;\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport * as React from 'react';\nimport withIntl from './injectIntl';\nconst FormattedPlural = props => {\n const { value, other, children, intl: { formatPlural, textComponent: Text }, } = props;\n const pluralCategory = formatPlural(value, props);\n const formattedPlural = props[pluralCategory] || other;\n if (typeof children === 'function') {\n return children(formattedPlural);\n }\n if (Text) {\n return React.createElement(Text, null, formattedPlural);\n }\n // Work around @types/react where React.FC cannot return string\n return formattedPlural;\n};\nFormattedPlural.defaultProps = {\n type: 'cardinal',\n};\nFormattedPlural.displayName = 'FormattedPlural';\nexport default withIntl(FormattedPlural);\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\nimport * as React from 'react';\nimport { Context } from './injectIntl';\nimport { formatMessage } from '../formatters/message';\nimport { invariantIntlContext, DEFAULT_INTL_CONFIG, createFormatters, } from '../utils';\nimport * as shallowEquals_ from 'shallow-equal/objects';\nconst shallowEquals = shallowEquals_.default || shallowEquals_;\nconst defaultFormatMessage = (descriptor, values) => {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Could not find required `intl` object. <IntlProvider> needs to exist in the component ancestry. Using default message as fallback.');\n }\n return formatMessage(Object.assign({}, DEFAULT_INTL_CONFIG, { locale: 'en' }), createFormatters(), descriptor, values);\n};\nclass FormattedMessage extends React.Component {\n shouldComponentUpdate(nextProps) {\n const _a = this.props, { values } = _a, otherProps = __rest(_a, [\"values\"]);\n const { values: nextValues } = nextProps, nextOtherProps = __rest(nextProps, [\"values\"]);\n return (!shallowEquals(nextValues, values) ||\n !shallowEquals(otherProps, nextOtherProps));\n }\n render() {\n return (React.createElement(Context.Consumer, null, (intl) => {\n if (!this.props.defaultMessage) {\n invariantIntlContext(intl);\n }\n const { formatMessage = defaultFormatMessage, textComponent: Text = React.Fragment, } = intl || {};\n const { id, description, defaultMessage, values, children, tagName: Component = Text, } = this.props;\n const descriptor = { id, description, defaultMessage };\n let nodes = formatMessage(descriptor, values);\n if (!Array.isArray(nodes)) {\n nodes = [nodes];\n }\n if (typeof children === 'function') {\n return children(...nodes);\n }\n if (Component) {\n // Needs to use `createElement()` instead of JSX, otherwise React will\n // warn about a missing `key` prop with rich-text message formatting.\n return React.createElement(Component, null, ...nodes);\n }\n return nodes;\n }));\n }\n}\nFormattedMessage.displayName = 'FormattedMessage';\nFormattedMessage.defaultProps = {\n values: {},\n};\nexport default FormattedMessage;\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport * as React from 'react';\nimport FormattedMessage from './message';\nimport { Context } from './injectIntl';\nimport { invariantIntlContext } from '../utils';\nclass FormattedHTMLMessage extends FormattedMessage {\n render() {\n return (React.createElement(Context.Consumer, null, (intl) => {\n if (!this.props.defaultMessage) {\n invariantIntlContext(intl);\n }\n const { formatHTMLMessage, textComponent } = intl;\n const { id, description, defaultMessage, values: rawValues, children, } = this.props;\n let { tagName: Component } = this.props;\n // This is bc of TS3.3 doesn't recognize `defaultProps`\n if (!Component) {\n Component = textComponent || 'span';\n }\n const descriptor = { id, description, defaultMessage };\n const formattedHTMLMessage = formatHTMLMessage(descriptor, rawValues);\n if (typeof children === 'function') {\n return children(formattedHTMLMessage);\n }\n // Since the message presumably has HTML in it, we need to set\n // `innerHTML` in order for it to be rendered and not escaped by React.\n // To be safe, all string prop values were escaped when formatting the\n // message. It is assumed that the message is not UGC, and came from the\n // developer making it more like a template.\n //\n // Note: There's a perf impact of using this component since there's no\n // way for React to do its virtual DOM diffing.\n const html = { __html: formattedHTMLMessage };\n return React.createElement(Component, { dangerouslySetInnerHTML: html });\n }));\n }\n}\nFormattedHTMLMessage.displayName = 'FormattedHTMLMessage';\nFormattedHTMLMessage.defaultProps = Object.assign({}, FormattedMessage.defaultProps, { tagName: 'span' });\nexport default FormattedHTMLMessage;\n","export { defineMessages } from '@formatjs/macro';\nimport { createFormattedComponent, createFormattedDateTimePartsComponent, } from './components/createFormattedComponent';\nexport { default as injectIntl, Provider as RawIntlProvider, Context as IntlContext, } from './components/injectIntl';\nexport { default as useIntl } from './components/useIntl';\nexport { default as IntlProvider, createIntl } from './components/provider';\n// IMPORTANT: Explicit here to prevent api-extractor from outputing `import('./types').CustomFormatConfig`\nexport const FormattedDate = createFormattedComponent('formatDate');\nexport const FormattedTime = createFormattedComponent('formatTime');\nexport const FormattedNumber = createFormattedComponent('formatNumber');\nexport const FormattedList = createFormattedComponent('formatList');\nexport const FormattedDateParts = createFormattedDateTimePartsComponent('formatDate');\nexport const FormattedTimeParts = createFormattedDateTimePartsComponent('formatTime');\nexport { FormattedNumberParts } from './components/createFormattedComponent';\nexport { default as FormattedRelativeTime } from './components/relative';\nexport { default as FormattedPlural } from './components/plural';\nexport { default as FormattedMessage } from './components/message';\nexport { default as FormattedHTMLMessage } from './components/html-message';\nexport { createIntlCache } from './utils';\n"],"names":["TYPE","isLiteralElement","el","type","literal","isArgumentElement","argument","isNumberElement","number","isDateElement","date","isTimeElement","time","isSelectElement","select","isPluralElement","plural","isNumberSkeleton","isDateTimeSkeleton","__extends","this","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__","constructor","prototype","create","__assign","assign","t","s","i","n","arguments","length","call","apply","SyntaxError","_super","message","expected","found","location","_this","name","Error","captureStackTrace","buildMessage","hex","ch","charCodeAt","toString","toUpperCase","literalEscape","replace","classEscape","describeExpectation","expectation","text","escapedParts","parts","map","part","isArray","inverted","description","describeExpected","expected1","descriptions","j","sort","slice","join","describeFound","found1","peg$parse","input","options","undefined","peg$FAILED","peg$startRuleFunctions","start","peg$parsestart","peg$startRuleFunction","peg$c0","peg$c1","messageText","value","insertLocation","peg$c2","peg$otherExpectation","peg$c3","peg$c4","peg$literalExpectation","peg$c5","peg$c6","peg$c7","peg$c8","peg$c9","peg$c10","peg$classExpectation","peg$c11","peg$anyExpectation","peg$c12","peg$c13","peg$c14","peg$c15","option","peg$c16","peg$c17","stem","peg$c18","tokens","peg$c19","peg$c20","peg$c21","skeleton","peg$c22","style","peg$c23","peg$c24","peg$c25","peg$c26","peg$c27","peg$c28","peg$c29","peg$c30","peg$c31","peg$c32","peg$c33","peg$c34","peg$c35","peg$c36","pattern","peg$c37","peg$c38","peg$c39","peg$c40","peg$c41","peg$c42","peg$c43","peg$c44","peg$c45","peg$c46","peg$c47","pluralType","offset","reduce","all","_a","id","optionLocation","error","peg$c48","peg$c49","peg$c50","peg$c51","peg$c52","peg$c53","peg$c54","peg$c55","peg$c56","peg$c57","peg$c58","peg$c59","peg$c60","peg$c61","peg$c62","peg$c63","peg$c64","peg$c65","negative","num","peg$c67","peg$c68","peg$c69","peg$c70","peg$c71","peg$c72","peg$c73","escapedChar","quotedChars","peg$c74","peg$c75","peg$c76","peg$c77","peg$c78","peg$c79","peg$c80","peg$c81","peg$c82","peg$c83","peg$c84","peg$c85","digits","parseInt","peg$c86","peg$currPos","peg$savedPos","peg$posDetailsCache","line","column","peg$maxFailPos","peg$maxFailExpected","peg$silentFails","peg$result","startRule","substring","peg$computeLocation","location1","peg$buildSimpleError","text1","ignoreCase","peg$endExpectation","peg$computePosDetails","pos","details","startPos","endPos","startPosDetails","endPosDetails","end","peg$fail","push","peg$buildStructuredError","s0","peg$parsemessage","s1","peg$parsemessageElement","peg$parseliteralElement","peg$parseargumentElement","peg$parsesimpleFormatElement","peg$parsepluralElement","peg$parseselectElement","peg$parsemessageText","s2","peg$parsedoubleApostrophes","peg$parsequotedString","peg$parseunquotedString","s3","s4","s5","peg$parse_","peg$parseargNameOrNumber","peg$parsenumberSkeletonId","peg$parsepatternWhiteSpace","test","charAt","peg$parsenumberSkeletonTokenOption","peg$parsenumberSkeletonToken","peg$parsenumberSkeleton","peg$parsenumberArgStyle","substr","peg$parsenumberFormatElement","s6","s7","s8","s9","s10","s11","s12","peg$parsedateTimeSkeletonLiteral","peg$parsedateTimeSkeletonPattern","peg$parsedateTimeSkeleton","peg$parsedateOrTimeArgStyle","peg$parsedateOrTimeFormatElement","s13","s14","s15","peg$parsenumber","peg$parsepluralOption","peg$parseselectOption","peg$parsepluralRuleSelectValue","peg$parseargName","peg$parsepatternSyntax","peg$parseargNumber","captureLocation","pegParse","__spreadArrays","il","r","k","a","jl","PLURAL_HASHTAG_REGEX","normalizeHashtagInPlural","els","forEach","keys","opt","matchingLiteralElIndex","literalEl","el_1","newValue","newEls","splice","DATE_TIME_REGEX","parseDateTimeSkeleton","result","match","len","era","year","RangeError","month","day","weekday","hour12","hourCycle","hour","minute","second","timeZoneName","icuUnitToEcma","unit","FRACTION_PRECISION_REGEX","SIGNIFICANT_PRECISION_REGEX","parseSignificantPrecision","str","_","g1","g2","minimumSignificantDigits","maximumSignificantDigits","parseSign","signDisplay","currencySign","parseNotationOptions","signOpts","convertNumberSkeletonToNumberFormatOptions","_i","tokens_1","token","currency","useGrouping","maximumFractionDigits","notation","compactDisplay","currencyDisplay","unitDisplay","minimumFractionDigits","parse","opts","getCacheId","inputs","JSON","stringify","orderedProps","obj","memoizeFormatConstructor","FormatConstructor","cache","args","cacheId","format","bind","ESCAPE_HASH_REGEX","PLURAL_HASH","FormatError","msg","variableId","mergeLiteral","lastPart","formatToParts","locales","formatters","formats","values","currentPluralValue","originalMessage","getNumberFormat","els_1","value_1","varName","String","getDateTimeFormat","other","Intl","PluralRules","rule","getPluralRules","formatToString","domParser","TOKEN_DELIMITER","TOKEN_REGEX","counter","generateId","Date","now","restoreRichPlaceholderMessage","objectParts","split","filter","Boolean","c","SIMPLE_XML_REGEX","TEMPLATE_ID","VOID_ELEMENTS","formatHTMLElement","tagName","outerHTML","textContent","childNodes","toLowerCase","isVoidElement","indexOf","formatFnOrValue","chunks","child","concat","formatHTMLMessage","formattedMessage","DOMParser","content","parseFromString","getElementById","tagsToFormat","getElementsByTagName","caseSensitiveTags","mergeConfig","c1","c2","mergeConfigs","defaultConfig","configs","createDefaultFormatters","dateTime","pluralRules","memoizeIntlConstructor","NumberFormat","DateTimeFormat","IntlMessageFormat","overrideFormats","defaultLocale","formatterCache","ast","resolvedOptions","locale","supportedLocalesOf","getAst","__parse","TypeError","percent","short","medium","long","full","invariant","condition","e","f","argIndex","framesToPop","invariant_","ESCAPED_CHARS","UNSAFE_CHARS_REGEX","escape","filterProps","props","whitelist","defaults","filtered","invariantIntlContext","intl","createError","exception","eMsg","stack","defaultErrorHandler","console","DEFAULT_INTL_CONFIG","messages","timeZone","textComponent","React","defaultFormats","onError","createIntlCache","relativeTime","list","createFormatters","RelativeTimeFormat","ListFormat","getMessageFormat","getRelativeTimeFormat","getListFormat","getNamedFormat","formatType","defineProperty","exports","hasSymbol","Symbol","for","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_PROVIDER_TYPE","REACT_CONTEXT_TYPE","REACT_ASYNC_MODE_TYPE","REACT_CONCURRENT_MODE_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","isValidElementType","$$typeof","lowPriorityWarning","printWarning","_len","_key","warn","x","_len2","_key2","lowPriorityWarning$1","typeOf","object","$$typeofType","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","ForwardRef","Fragment","Lazy","Memo","Portal","Profiler","StrictMode","Suspense","hasWarnedAboutDeprecatedIsAsyncMode","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","module","require$$0","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","KNOWN_STATICS","caller","callee","arity","FORWARD_REF_STATICS","render","MEMO_STATICS","compare","TYPE_STATICS","reactIs","getStatics","component","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","key","descriptor","hoistNonReactStatics_","getDisplayName","Component","IntlContext","IntlConsumer","Consumer","IntlProvider","Provider","Context","injectIntl","WrappedComponent","intlPropName","forwardRef","enforceContext","WithIntl","ref","forwardedRef","__rest","DisplayName","DisplayNameParts","FormattedNumberParts","children","formatProps","formatNumberToParts","createFormattedDateTimePartsComponent","ComponentParts","formattedParts","formatDateToParts","formatTimeToParts","createFormattedComponent","formattedValue","Text","useIntl","useContext","areIntlLocalesSupported","constructorsToCheck","intlConstructors","every","intlConstructor","NUMBER_FORMAT_OPTIONS","getFormatter","filteredOptions","formatNumber","config","RELATIVE_TIME_FORMAT_OPTIONS","formatRelativeTime","DATE_TIME_FORMAT_OPTIONS","formatDate","formatTime","PLURAL_FORMAT_OPTIONS","formatPlural","setTimeZoneInOptions","deepMergeOptions","opts1","opts2","deepMergeFormatsAndSetTimeZone","f1","mfFormats","formatMessage","state","messageDescriptor","defaultMessage","formattedMessageParts","formatter","rawValues","escapedValues","escaped","shallowEqualObjects","objA","objB","aKeys","bKeys","LIST_FORMAT_OPTIONS","generateToken","formatList","richValues","serializedValues","v","val","shallowEquals","shallowEquals_","processIntlConfig","createIntl","resolvedConfig","prevConfig","MINUTE","HOUR","DAY","selectUnit","seconds","absValue","Math","abs","getDurationInSeconds","valueToSeconds","INCREMENTABLE_UNITS","canIncrement","includes","verifyProps","updateIntervalInSeconds","FormattedRelativeTime","_updateTimer","prevUnit","prevValue","currentValueInSeconds","clearTimeout","nextValueInSeconds","nextUnit","unitDuration","remainder","prevInterestingValueInSeconds","nextInterestingValueInSeconds","delayInSeconds","setTimeout","setState","scheduleNextUpdate","currentValue","currentUnit","round","formattedRelativeTime","FormattedPlural","pluralCategory","formattedPlural","withIntl","defaultFormatMessage","FormattedMessage","nextProps","otherProps","nextValues","nextOtherProps","nodes","FormattedHTMLMessage","formattedHTMLMessage","html","__html","dangerouslySetInnerHTML","FormattedDate","FormattedTime","FormattedNumber","FormattedList","FormattedDateParts","FormattedTimeParts"],"mappings":"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"}
|