@tolgee/core 4.3.0 → 4.4.0
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/dist/tolgee.cjs.js +2 -1
- package/dist/tolgee.cjs.js.map +1 -1
- package/dist/tolgee.cjs.min.js +1 -1
- package/dist/tolgee.cjs.min.js.map +1 -1
- package/dist/tolgee.esm.js +1 -1
- package/dist/tolgee.esm.js.map +1 -1
- package/dist/tolgee.umd.js +2 -1
- package/dist/tolgee.umd.js.map +1 -1
- package/dist/tolgee.umd.min.js +1 -1
- package/dist/tolgee.umd.min.js.map +1 -1
- package/lib/Properties.d.ts +1 -0
- package/lib/services/CoreService.d.ts +2 -2
- package/lib/services/TranslationService.d.ts +1 -0
- package/lib/types/apiSchema.generated.d.ts +2129 -969
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tolgee.umd.min.js","sources":["../node_modules/tslib/tslib.es6.js","../src/Properties.ts","../src/Constants/ModifierKey.ts","../src/services/Subscription.ts","../src/services/EventEmitter.ts","../src/services/EventService.ts","../src/Errors/ApiHttpError.ts","../src/services/ApiHttpService.ts","../src/types/DTOs.ts","../src/services/TranslationService.ts","../src/services/TextService.ts","../src/highlighter/MouseEventHandler.ts","../src/highlighter/TranslationHighlighter.ts","../src/Constants/Global.ts","../src/helpers/NodeHelper.ts","../src/services/ElementRegistrar.ts","../src/Observer.ts","../src/services/CoreService.ts","../src/TolgeeConfig.ts","../src/toolsManager/PluginManager.ts","../src/helpers/sleep.ts","../src/toolsManager/Messages.ts","../src/highlighter/HighlightFunctionsInitializer.ts","../src/services/ScreenshotService.ts","../src/services/ModuleService.ts","../src/wrappers/NodeHandler.ts","../src/wrappers/text/AttributeHandler.ts","../src/helpers/TextHelper.ts","../src/wrappers/text/Coder.ts","../src/wrappers/text/CoreHandler.ts","../src/wrappers/text/ContentHandler.ts","../src/wrappers/WrappedHandler.ts","../src/wrappers/text/TextWrapper.ts","../src/helpers/encoderPolyfill.ts","../node_modules/@formatjs/icu-messageformat-parser/lib/error.js","../node_modules/@formatjs/icu-messageformat-parser/lib/types.js","../src/helpers/secret.ts","../src/wrappers/invisible/AttributeHandler.ts","../src/wrappers/invisible/ValueMemory.ts","../src/wrappers/invisible/Coder.ts","../src/wrappers/invisible/CoreHandler.ts","../src/wrappers/invisible/ContentHandler.ts","../src/wrappers/invisible/InvisibleWrapper.ts","../src/services/DependencyService.ts","../src/Tolgee.ts","../node_modules/@formatjs/icu-messageformat-parser/lib/regex.generated.js","../node_modules/@formatjs/icu-skeleton-parser/lib/date-time.js","../node_modules/@formatjs/icu-skeleton-parser/lib/regex.generated.js","../node_modules/@formatjs/icu-skeleton-parser/lib/number.js","../node_modules/@formatjs/icu-messageformat-parser/lib/parser.js","../node_modules/@formatjs/icu-messageformat-parser/lib/index.js","../node_modules/@formatjs/fast-memoize/lib/index.js","../node_modules/intl-messageformat/lib/src/error.js","../node_modules/intl-messageformat/lib/src/formatters.js","../node_modules/intl-messageformat/lib/src/core.js","../node_modules/intl-messageformat/lib/index.js","../src/modules/IcuFormatter.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"export var ErrorKind;\n(function (ErrorKind) {\n /** Argument is unclosed (e.g. `{0`) */\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_CLOSING_BRACE\"] = 1] = \"EXPECT_ARGUMENT_CLOSING_BRACE\";\n /** Argument is empty (e.g. `{}`). */\n ErrorKind[ErrorKind[\"EMPTY_ARGUMENT\"] = 2] = \"EMPTY_ARGUMENT\";\n /** Argument is malformed (e.g. `{foo!}``) */\n ErrorKind[ErrorKind[\"MALFORMED_ARGUMENT\"] = 3] = \"MALFORMED_ARGUMENT\";\n /** Expect an argument type (e.g. `{foo,}`) */\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_TYPE\"] = 4] = \"EXPECT_ARGUMENT_TYPE\";\n /** Unsupported argument type (e.g. `{foo,foo}`) */\n ErrorKind[ErrorKind[\"INVALID_ARGUMENT_TYPE\"] = 5] = \"INVALID_ARGUMENT_TYPE\";\n /** Expect an argument style (e.g. `{foo, number, }`) */\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_STYLE\"] = 6] = \"EXPECT_ARGUMENT_STYLE\";\n /** The number skeleton is invalid. */\n ErrorKind[ErrorKind[\"INVALID_NUMBER_SKELETON\"] = 7] = \"INVALID_NUMBER_SKELETON\";\n /** The date time skeleton is invalid. */\n ErrorKind[ErrorKind[\"INVALID_DATE_TIME_SKELETON\"] = 8] = \"INVALID_DATE_TIME_SKELETON\";\n /** Exepct a number skeleton following the `::` (e.g. `{foo, number, ::}`) */\n ErrorKind[ErrorKind[\"EXPECT_NUMBER_SKELETON\"] = 9] = \"EXPECT_NUMBER_SKELETON\";\n /** Exepct a date time skeleton following the `::` (e.g. `{foo, date, ::}`) */\n ErrorKind[ErrorKind[\"EXPECT_DATE_TIME_SKELETON\"] = 10] = \"EXPECT_DATE_TIME_SKELETON\";\n /** Unmatched apostrophes in the argument style (e.g. `{foo, number, 'test`) */\n ErrorKind[ErrorKind[\"UNCLOSED_QUOTE_IN_ARGUMENT_STYLE\"] = 11] = \"UNCLOSED_QUOTE_IN_ARGUMENT_STYLE\";\n /** Missing select argument options (e.g. `{foo, select}`) */\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_OPTIONS\"] = 12] = \"EXPECT_SELECT_ARGUMENT_OPTIONS\";\n /** Expecting an offset value in `plural` or `selectordinal` argument (e.g `{foo, plural, offset}`) */\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE\"] = 13] = \"EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE\";\n /** Offset value in `plural` or `selectordinal` is invalid (e.g. `{foo, plural, offset: x}`) */\n ErrorKind[ErrorKind[\"INVALID_PLURAL_ARGUMENT_OFFSET_VALUE\"] = 14] = \"INVALID_PLURAL_ARGUMENT_OFFSET_VALUE\";\n /** Expecting a selector in `select` argument (e.g `{foo, select}`) */\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_SELECTOR\"] = 15] = \"EXPECT_SELECT_ARGUMENT_SELECTOR\";\n /** Expecting a selector in `plural` or `selectordinal` argument (e.g `{foo, plural}`) */\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_SELECTOR\"] = 16] = \"EXPECT_PLURAL_ARGUMENT_SELECTOR\";\n /** Expecting a message fragment after the `select` selector (e.g. `{foo, select, apple}`) */\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\"] = 17] = \"EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\";\n /**\n * Expecting a message fragment after the `plural` or `selectordinal` selector\n * (e.g. `{foo, plural, one}`)\n */\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT\"] = 18] = \"EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT\";\n /** Selector in `plural` or `selectordinal` is malformed (e.g. `{foo, plural, =x {#}}`) */\n ErrorKind[ErrorKind[\"INVALID_PLURAL_ARGUMENT_SELECTOR\"] = 19] = \"INVALID_PLURAL_ARGUMENT_SELECTOR\";\n /**\n * Duplicate selectors in `plural` or `selectordinal` argument.\n * (e.g. {foo, plural, one {#} one {#}})\n */\n ErrorKind[ErrorKind[\"DUPLICATE_PLURAL_ARGUMENT_SELECTOR\"] = 20] = \"DUPLICATE_PLURAL_ARGUMENT_SELECTOR\";\n /** Duplicate selectors in `select` argument.\n * (e.g. {foo, select, apple {apple} apple {apple}})\n */\n ErrorKind[ErrorKind[\"DUPLICATE_SELECT_ARGUMENT_SELECTOR\"] = 21] = \"DUPLICATE_SELECT_ARGUMENT_SELECTOR\";\n /** Plural or select argument option must have `other` clause. */\n ErrorKind[ErrorKind[\"MISSING_OTHER_CLAUSE\"] = 22] = \"MISSING_OTHER_CLAUSE\";\n /** The tag is malformed. (e.g. `<bold!>foo</bold!>) */\n ErrorKind[ErrorKind[\"INVALID_TAG\"] = 23] = \"INVALID_TAG\";\n /** The tag name is invalid. (e.g. `<123>foo</123>`) */\n ErrorKind[ErrorKind[\"INVALID_TAG_NAME\"] = 25] = \"INVALID_TAG_NAME\";\n /** The closing tag does not match the opening tag. (e.g. `<bold>foo</italic>`) */\n ErrorKind[ErrorKind[\"UNMATCHED_CLOSING_TAG\"] = 26] = \"UNMATCHED_CLOSING_TAG\";\n /** The opening tag has unmatched closing tag. (e.g. `<bold>foo`) */\n ErrorKind[ErrorKind[\"UNCLOSED_TAG\"] = 27] = \"UNCLOSED_TAG\";\n})(ErrorKind || (ErrorKind = {}));\n","export var TYPE;\n(function (TYPE) {\n /**\n * Raw text\n */\n TYPE[TYPE[\"literal\"] = 0] = \"literal\";\n /**\n * Variable w/o any format, e.g `var` in `this is a {var}`\n */\n TYPE[TYPE[\"argument\"] = 1] = \"argument\";\n /**\n * Variable w/ number format\n */\n TYPE[TYPE[\"number\"] = 2] = \"number\";\n /**\n * Variable w/ date format\n */\n TYPE[TYPE[\"date\"] = 3] = \"date\";\n /**\n * Variable w/ time format\n */\n TYPE[TYPE[\"time\"] = 4] = \"time\";\n /**\n * Variable w/ select format\n */\n TYPE[TYPE[\"select\"] = 5] = \"select\";\n /**\n * Variable w/ plural format\n */\n TYPE[TYPE[\"plural\"] = 6] = \"plural\";\n /**\n * Only possible within plural argument.\n * This is the `#` symbol that will be substituted with the count.\n */\n TYPE[TYPE[\"pound\"] = 7] = \"pound\";\n /**\n * XML-like tag\n */\n TYPE[TYPE[\"tag\"] = 8] = \"tag\";\n})(TYPE || (TYPE = {}));\nexport var SKELETON_TYPE;\n(function (SKELETON_TYPE) {\n SKELETON_TYPE[SKELETON_TYPE[\"number\"] = 0] = \"number\";\n SKELETON_TYPE[SKELETON_TYPE[\"dateTime\"] = 1] = \"dateTime\";\n})(SKELETON_TYPE || (SKELETON_TYPE = {}));\n/**\n * Type Guards\n */\nexport function isLiteralElement(el) {\n return el.type === TYPE.literal;\n}\nexport function isArgumentElement(el) {\n return el.type === TYPE.argument;\n}\nexport function isNumberElement(el) {\n return el.type === TYPE.number;\n}\nexport function isDateElement(el) {\n return el.type === TYPE.date;\n}\nexport function isTimeElement(el) {\n return el.type === TYPE.time;\n}\nexport function isSelectElement(el) {\n return el.type === TYPE.select;\n}\nexport function isPluralElement(el) {\n return el.type === TYPE.plural;\n}\nexport function isPoundElement(el) {\n return el.type === TYPE.pound;\n}\nexport function isTagElement(el) {\n return el.type === TYPE.tag;\n}\nexport function isNumberSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === SKELETON_TYPE.number);\n}\nexport function isDateTimeSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === SKELETON_TYPE.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",null,null,null,null,null,null,null,null,null,"// @generated from regex-gen.ts\nexport var SPACE_SEPARATOR_REGEX = /[ \\xA0\\u1680\\u2000-\\u200A\\u202F\\u205F\\u3000]/;\nexport var WHITE_SPACE_REGEX = /[\\t-\\r \\x85\\u200E\\u200F\\u2028\\u2029]/;\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) patterns 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) patterns are not supported, use `z` instead');\n }\n return '';\n });\n return result;\n}\n","// @generated from regex-gen.ts\nexport var WHITE_SPACE_REGEX = /[\\t-\\r \\x85\\u200E\\u200F\\u2028\\u2029]/i;\n","import { __assign } from \"tslib\";\nimport { WHITE_SPACE_REGEX } from './regex.generated';\nexport function parseNumberSkeletonFromString(skeleton) {\n if (skeleton.length === 0) {\n throw new Error('Number skeleton cannot be empty');\n }\n // Parse the skeleton\n var stringTokens = skeleton\n .split(WHITE_SPACE_REGEX)\n .filter(function (x) { return x.length > 0; });\n var tokens = [];\n for (var _i = 0, stringTokens_1 = stringTokens; _i < stringTokens_1.length; _i++) {\n var stringToken = stringTokens_1[_i];\n var stemAndOptions = stringToken.split('/');\n if (stemAndOptions.length === 0) {\n throw new Error('Invalid number skeleton');\n }\n var stem = stemAndOptions[0], options = stemAndOptions.slice(1);\n for (var _a = 0, options_1 = options; _a < options_1.length; _a++) {\n var option = options_1[_a];\n if (option.length === 0) {\n throw new Error('Invalid number skeleton');\n }\n }\n tokens.push({ stem: stem, options: options });\n }\n return tokens;\n}\nfunction icuUnitToEcma(unit) {\n return unit.replace(/^(.*?)-/, '');\n}\nvar FRACTION_PRECISION_REGEX = /^\\.(?:(0+)(\\*)?|(#+)|(0+)(#+))$/g;\nvar SIGNIFICANT_PRECISION_REGEX = /^(@+)?(\\+|#+)?[rs]?$/g;\nvar INTEGER_WIDTH_REGEX = /(\\*)(0+)|(#+)(0+)|(0+)/g;\nvar CONCISE_INTEGER_WIDTH_REGEX = /^(0+)$/;\nfunction parseSignificantPrecision(str) {\n var result = {};\n if (str[str.length - 1] === 'r') {\n result.roundingPriority = 'morePrecision';\n }\n else if (str[str.length - 1] === 's') {\n result.roundingPriority = 'lessPrecision';\n }\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 case '()':\n return {\n currencySign: 'accounting',\n };\n case 'sign-always':\n case '+!':\n return {\n signDisplay: 'always',\n };\n case 'sign-accounting-always':\n case '()!':\n return {\n signDisplay: 'always',\n currencySign: 'accounting',\n };\n case 'sign-except-zero':\n case '+?':\n return {\n signDisplay: 'exceptZero',\n };\n case 'sign-accounting-except-zero':\n case '()?':\n return {\n signDisplay: 'exceptZero',\n currencySign: 'accounting',\n };\n case 'sign-never':\n case '+_':\n return {\n signDisplay: 'never',\n };\n }\n}\nfunction parseConciseScientificAndEngineeringStem(stem) {\n // Engineering\n var result;\n if (stem[0] === 'E' && stem[1] === 'E') {\n result = {\n notation: 'engineering',\n };\n stem = stem.slice(2);\n }\n else if (stem[0] === 'E') {\n result = {\n notation: 'scientific',\n };\n stem = stem.slice(1);\n }\n if (result) {\n var signDisplay = stem.slice(0, 2);\n if (signDisplay === '+!') {\n result.signDisplay = 'always';\n stem = stem.slice(2);\n }\n else if (signDisplay === '+?') {\n result.signDisplay = 'exceptZero';\n stem = stem.slice(2);\n }\n if (!CONCISE_INTEGER_WIDTH_REGEX.test(stem)) {\n throw new Error('Malformed concise eng/scientific notation');\n }\n result.minimumIntegerDigits = stem.length;\n }\n return result;\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 parseNumberSkeleton(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 case '%':\n result.style = 'percent';\n continue;\n case '%x100':\n result.style = 'percent';\n result.scale = 100;\n continue;\n case 'currency':\n result.style = 'currency';\n result.currency = token.options[0];\n continue;\n case 'group-off':\n case ',_':\n result.useGrouping = false;\n continue;\n case 'precision-integer':\n case '.':\n result.maximumFractionDigits = 0;\n continue;\n case 'measure-unit':\n case 'unit':\n result.style = 'unit';\n result.unit = icuUnitToEcma(token.options[0]);\n continue;\n case 'compact-short':\n case 'K':\n result.notation = 'compact';\n result.compactDisplay = 'short';\n continue;\n case 'compact-long':\n case 'KK':\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 case 'scale':\n result.scale = parseFloat(token.options[0]);\n continue;\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#integer-width\n case 'integer-width':\n if (token.options.length > 1) {\n throw new RangeError('integer-width stems only accept a single optional option');\n }\n token.options[0].replace(INTEGER_WIDTH_REGEX, function (_, g1, g2, g3, g4, g5) {\n if (g1) {\n result.minimumIntegerDigits = g2.length;\n }\n else if (g3 && g4) {\n throw new Error('We currently do not support maximum integer digits');\n }\n else if (g5) {\n throw new Error('We currently do not support exact integer digits');\n }\n return '';\n });\n continue;\n }\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#integer-width\n if (CONCISE_INTEGER_WIDTH_REGEX.test(token.stem)) {\n result.minimumIntegerDigits = token.stem.length;\n continue;\n }\n if (FRACTION_PRECISION_REGEX.test(token.stem)) {\n // Precision\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#fraction-precision\n // precision-integer case\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 (_, g1, g2, g3, g4, g5) {\n // .000* case (before ICU67 it was .000+)\n if (g2 === '*') {\n result.minimumFractionDigits = g1.length;\n }\n // .### case\n else if (g3 && g3[0] === '#') {\n result.maximumFractionDigits = g3.length;\n }\n // .00## case\n else if (g4 && g5) {\n result.minimumFractionDigits = g4.length;\n result.maximumFractionDigits = g4.length + g5.length;\n }\n else {\n result.minimumFractionDigits = g1.length;\n result.maximumFractionDigits = g1.length;\n }\n return '';\n });\n var opt = token.options[0];\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#trailing-zero-display\n if (opt === 'w') {\n result = __assign(__assign({}, result), { trailingZeroDisplay: 'stripIfInteger' });\n }\n else if (opt) {\n result = __assign(__assign({}, result), parseSignificantPrecision(opt));\n }\n continue;\n }\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#significant-digits-precision\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 var conciseScientificAndEngineeringOpts = parseConciseScientificAndEngineeringStem(token.stem);\n if (conciseScientificAndEngineeringOpts) {\n result = __assign(__assign({}, result), conciseScientificAndEngineeringOpts);\n }\n }\n return result;\n}\n","var _a;\nimport { __assign } from \"tslib\";\nimport { ErrorKind } from './error';\nimport { SKELETON_TYPE, TYPE, } from './types';\nimport { SPACE_SEPARATOR_REGEX } from './regex.generated';\nimport { parseNumberSkeleton, parseNumberSkeletonFromString, parseDateTimeSkeleton, } from '@formatjs/icu-skeleton-parser';\nvar SPACE_SEPARATOR_START_REGEX = new RegExp(\"^\".concat(SPACE_SEPARATOR_REGEX.source, \"*\"));\nvar SPACE_SEPARATOR_END_REGEX = new RegExp(\"\".concat(SPACE_SEPARATOR_REGEX.source, \"*$\"));\nfunction createLocation(start, end) {\n return { start: start, end: end };\n}\n// #region Ponyfills\n// Consolidate these variables up top for easier toggling during debugging\nvar hasNativeStartsWith = !!String.prototype.startsWith;\nvar hasNativeFromCodePoint = !!String.fromCodePoint;\nvar hasNativeFromEntries = !!Object.fromEntries;\nvar hasNativeCodePointAt = !!String.prototype.codePointAt;\nvar hasTrimStart = !!String.prototype.trimStart;\nvar hasTrimEnd = !!String.prototype.trimEnd;\nvar hasNativeIsSafeInteger = !!Number.isSafeInteger;\nvar isSafeInteger = hasNativeIsSafeInteger\n ? Number.isSafeInteger\n : function (n) {\n return (typeof n === 'number' &&\n isFinite(n) &&\n Math.floor(n) === n &&\n Math.abs(n) <= 0x1fffffffffffff);\n };\n// IE11 does not support y and u.\nvar REGEX_SUPPORTS_U_AND_Y = true;\ntry {\n var re = RE('([^\\\\p{White_Space}\\\\p{Pattern_Syntax}]*)', 'yu');\n /**\n * legacy Edge or Xbox One browser\n * Unicode flag support: supported\n * Pattern_Syntax support: not supported\n * See https://github.com/formatjs/formatjs/issues/2822\n */\n REGEX_SUPPORTS_U_AND_Y = ((_a = re.exec('a')) === null || _a === void 0 ? void 0 : _a[0]) === 'a';\n}\ncatch (_) {\n REGEX_SUPPORTS_U_AND_Y = false;\n}\nvar startsWith = hasNativeStartsWith\n ? // Native\n function startsWith(s, search, position) {\n return s.startsWith(search, position);\n }\n : // For IE11\n function startsWith(s, search, position) {\n return s.slice(position, position + search.length) === search;\n };\nvar fromCodePoint = hasNativeFromCodePoint\n ? String.fromCodePoint\n : // IE11\n function fromCodePoint() {\n var codePoints = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n codePoints[_i] = arguments[_i];\n }\n var elements = '';\n var length = codePoints.length;\n var i = 0;\n var code;\n while (length > i) {\n code = codePoints[i++];\n if (code > 0x10ffff)\n throw RangeError(code + ' is not a valid code point');\n elements +=\n code < 0x10000\n ? String.fromCharCode(code)\n : String.fromCharCode(((code -= 0x10000) >> 10) + 0xd800, (code % 0x400) + 0xdc00);\n }\n return elements;\n };\nvar fromEntries = \n// native\nhasNativeFromEntries\n ? Object.fromEntries\n : // Ponyfill\n function fromEntries(entries) {\n var obj = {};\n for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\n var _a = entries_1[_i], k = _a[0], v = _a[1];\n obj[k] = v;\n }\n return obj;\n };\nvar codePointAt = hasNativeCodePointAt\n ? // Native\n function codePointAt(s, index) {\n return s.codePointAt(index);\n }\n : // IE 11\n function codePointAt(s, index) {\n var size = s.length;\n if (index < 0 || index >= size) {\n return undefined;\n }\n var first = s.charCodeAt(index);\n var second;\n return first < 0xd800 ||\n first > 0xdbff ||\n index + 1 === size ||\n (second = s.charCodeAt(index + 1)) < 0xdc00 ||\n second > 0xdfff\n ? first\n : ((first - 0xd800) << 10) + (second - 0xdc00) + 0x10000;\n };\nvar trimStart = hasTrimStart\n ? // Native\n function trimStart(s) {\n return s.trimStart();\n }\n : // Ponyfill\n function trimStart(s) {\n return s.replace(SPACE_SEPARATOR_START_REGEX, '');\n };\nvar trimEnd = hasTrimEnd\n ? // Native\n function trimEnd(s) {\n return s.trimEnd();\n }\n : // Ponyfill\n function trimEnd(s) {\n return s.replace(SPACE_SEPARATOR_END_REGEX, '');\n };\n// Prevent minifier to translate new RegExp to literal form that might cause syntax error on IE11.\nfunction RE(s, flag) {\n return new RegExp(s, flag);\n}\n// #endregion\nvar matchIdentifierAtIndex;\nif (REGEX_SUPPORTS_U_AND_Y) {\n // Native\n var IDENTIFIER_PREFIX_RE_1 = RE('([^\\\\p{White_Space}\\\\p{Pattern_Syntax}]*)', 'yu');\n matchIdentifierAtIndex = function matchIdentifierAtIndex(s, index) {\n var _a;\n IDENTIFIER_PREFIX_RE_1.lastIndex = index;\n var match = IDENTIFIER_PREFIX_RE_1.exec(s);\n return (_a = match[1]) !== null && _a !== void 0 ? _a : '';\n };\n}\nelse {\n // IE11\n matchIdentifierAtIndex = function matchIdentifierAtIndex(s, index) {\n var match = [];\n while (true) {\n var c = codePointAt(s, index);\n if (c === undefined || _isWhiteSpace(c) || _isPatternSyntax(c)) {\n break;\n }\n match.push(c);\n index += c >= 0x10000 ? 2 : 1;\n }\n return fromCodePoint.apply(void 0, match);\n };\n}\nvar Parser = /** @class */ (function () {\n function Parser(message, options) {\n if (options === void 0) { options = {}; }\n this.message = message;\n this.position = { offset: 0, line: 1, column: 1 };\n this.ignoreTag = !!options.ignoreTag;\n this.requiresOtherClause = !!options.requiresOtherClause;\n this.shouldParseSkeletons = !!options.shouldParseSkeletons;\n }\n Parser.prototype.parse = function () {\n if (this.offset() !== 0) {\n throw Error('parser can only be used once');\n }\n return this.parseMessage(0, '', false);\n };\n Parser.prototype.parseMessage = function (nestingLevel, parentArgType, expectingCloseTag) {\n var elements = [];\n while (!this.isEOF()) {\n var char = this.char();\n if (char === 123 /* `{` */) {\n var result = this.parseArgument(nestingLevel, expectingCloseTag);\n if (result.err) {\n return result;\n }\n elements.push(result.val);\n }\n else if (char === 125 /* `}` */ && nestingLevel > 0) {\n break;\n }\n else if (char === 35 /* `#` */ &&\n (parentArgType === 'plural' || parentArgType === 'selectordinal')) {\n var position = this.clonePosition();\n this.bump();\n elements.push({\n type: TYPE.pound,\n location: createLocation(position, this.clonePosition()),\n });\n }\n else if (char === 60 /* `<` */ &&\n !this.ignoreTag &&\n this.peek() === 47 // char code for '/'\n ) {\n if (expectingCloseTag) {\n break;\n }\n else {\n return this.error(ErrorKind.UNMATCHED_CLOSING_TAG, createLocation(this.clonePosition(), this.clonePosition()));\n }\n }\n else if (char === 60 /* `<` */ &&\n !this.ignoreTag &&\n _isAlpha(this.peek() || 0)) {\n var result = this.parseTag(nestingLevel, parentArgType);\n if (result.err) {\n return result;\n }\n elements.push(result.val);\n }\n else {\n var result = this.parseLiteral(nestingLevel, parentArgType);\n if (result.err) {\n return result;\n }\n elements.push(result.val);\n }\n }\n return { val: elements, err: null };\n };\n /**\n * A tag name must start with an ASCII lower/upper case letter. The grammar is based on the\n * [custom element name][] except that a dash is NOT always mandatory and uppercase letters\n * are accepted:\n *\n * ```\n * tag ::= \"<\" tagName (whitespace)* \"/>\" | \"<\" tagName (whitespace)* \">\" message \"</\" tagName (whitespace)* \">\"\n * tagName ::= [a-z] (PENChar)*\n * PENChar ::=\n * \"-\" | \".\" | [0-9] | \"_\" | [a-z] | [A-Z] | #xB7 | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x37D] |\n * [#x37F-#x1FFF] | [#x200C-#x200D] | [#x203F-#x2040] | [#x2070-#x218F] | [#x2C00-#x2FEF] |\n * [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]\n * ```\n *\n * [custom element name]: https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name\n * NOTE: We're a bit more lax here since HTML technically does not allow uppercase HTML element but we do\n * since other tag-based engines like React allow it\n */\n Parser.prototype.parseTag = function (nestingLevel, parentArgType) {\n var startPosition = this.clonePosition();\n this.bump(); // `<`\n var tagName = this.parseTagName();\n this.bumpSpace();\n if (this.bumpIf('/>')) {\n // Self closing tag\n return {\n val: {\n type: TYPE.literal,\n value: \"<\".concat(tagName, \"/>\"),\n location: createLocation(startPosition, this.clonePosition()),\n },\n err: null,\n };\n }\n else if (this.bumpIf('>')) {\n var childrenResult = this.parseMessage(nestingLevel + 1, parentArgType, true);\n if (childrenResult.err) {\n return childrenResult;\n }\n var children = childrenResult.val;\n // Expecting a close tag\n var endTagStartPosition = this.clonePosition();\n if (this.bumpIf('</')) {\n if (this.isEOF() || !_isAlpha(this.char())) {\n return this.error(ErrorKind.INVALID_TAG, createLocation(endTagStartPosition, this.clonePosition()));\n }\n var closingTagNameStartPosition = this.clonePosition();\n var closingTagName = this.parseTagName();\n if (tagName !== closingTagName) {\n return this.error(ErrorKind.UNMATCHED_CLOSING_TAG, createLocation(closingTagNameStartPosition, this.clonePosition()));\n }\n this.bumpSpace();\n if (!this.bumpIf('>')) {\n return this.error(ErrorKind.INVALID_TAG, createLocation(endTagStartPosition, this.clonePosition()));\n }\n return {\n val: {\n type: TYPE.tag,\n value: tagName,\n children: children,\n location: createLocation(startPosition, this.clonePosition()),\n },\n err: null,\n };\n }\n else {\n return this.error(ErrorKind.UNCLOSED_TAG, createLocation(startPosition, this.clonePosition()));\n }\n }\n else {\n return this.error(ErrorKind.INVALID_TAG, createLocation(startPosition, this.clonePosition()));\n }\n };\n /**\n * This method assumes that the caller has peeked ahead for the first tag character.\n */\n Parser.prototype.parseTagName = function () {\n var startOffset = this.offset();\n this.bump(); // the first tag name character\n while (!this.isEOF() && _isPotentialElementNameChar(this.char())) {\n this.bump();\n }\n return this.message.slice(startOffset, this.offset());\n };\n Parser.prototype.parseLiteral = function (nestingLevel, parentArgType) {\n var start = this.clonePosition();\n var value = '';\n while (true) {\n var parseQuoteResult = this.tryParseQuote(parentArgType);\n if (parseQuoteResult) {\n value += parseQuoteResult;\n continue;\n }\n var parseUnquotedResult = this.tryParseUnquoted(nestingLevel, parentArgType);\n if (parseUnquotedResult) {\n value += parseUnquotedResult;\n continue;\n }\n var parseLeftAngleResult = this.tryParseLeftAngleBracket();\n if (parseLeftAngleResult) {\n value += parseLeftAngleResult;\n continue;\n }\n break;\n }\n var location = createLocation(start, this.clonePosition());\n return {\n val: { type: TYPE.literal, value: value, location: location },\n err: null,\n };\n };\n Parser.prototype.tryParseLeftAngleBracket = function () {\n if (!this.isEOF() &&\n this.char() === 60 /* `<` */ &&\n (this.ignoreTag ||\n // If at the opening tag or closing tag position, bail.\n !_isAlphaOrSlash(this.peek() || 0))) {\n this.bump(); // `<`\n return '<';\n }\n return null;\n };\n /**\n * Starting with ICU 4.8, an ASCII apostrophe only starts quoted text if it immediately precedes\n * a character that requires quoting (that is, \"only where needed\"), and works the same in\n * nested messages as on the top level of the pattern. The new behavior is otherwise compatible.\n */\n Parser.prototype.tryParseQuote = function (parentArgType) {\n if (this.isEOF() || this.char() !== 39 /* `'` */) {\n return null;\n }\n // Parse escaped char following the apostrophe, or early return if there is no escaped char.\n // Check if is valid escaped character\n switch (this.peek()) {\n case 39 /* `'` */:\n // double quote, should return as a single quote.\n this.bump();\n this.bump();\n return \"'\";\n // '{', '<', '>', '}'\n case 123:\n case 60:\n case 62:\n case 125:\n break;\n case 35: // '#'\n if (parentArgType === 'plural' || parentArgType === 'selectordinal') {\n break;\n }\n return null;\n default:\n return null;\n }\n this.bump(); // apostrophe\n var codePoints = [this.char()]; // escaped char\n this.bump();\n // read chars until the optional closing apostrophe is found\n while (!this.isEOF()) {\n var ch = this.char();\n if (ch === 39 /* `'` */) {\n if (this.peek() === 39 /* `'` */) {\n codePoints.push(39);\n // Bump one more time because we need to skip 2 characters.\n this.bump();\n }\n else {\n // Optional closing apostrophe.\n this.bump();\n break;\n }\n }\n else {\n codePoints.push(ch);\n }\n this.bump();\n }\n return fromCodePoint.apply(void 0, codePoints);\n };\n Parser.prototype.tryParseUnquoted = function (nestingLevel, parentArgType) {\n if (this.isEOF()) {\n return null;\n }\n var ch = this.char();\n if (ch === 60 /* `<` */ ||\n ch === 123 /* `{` */ ||\n (ch === 35 /* `#` */ &&\n (parentArgType === 'plural' || parentArgType === 'selectordinal')) ||\n (ch === 125 /* `}` */ && nestingLevel > 0)) {\n return null;\n }\n else {\n this.bump();\n return fromCodePoint(ch);\n }\n };\n Parser.prototype.parseArgument = function (nestingLevel, expectingCloseTag) {\n var openingBracePosition = this.clonePosition();\n this.bump(); // `{`\n this.bumpSpace();\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n if (this.char() === 125 /* `}` */) {\n this.bump();\n return this.error(ErrorKind.EMPTY_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n }\n // argument name\n var value = this.parseIdentifierIfPossible().value;\n if (!value) {\n return this.error(ErrorKind.MALFORMED_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n }\n this.bumpSpace();\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n switch (this.char()) {\n // Simple argument: `{name}`\n case 125 /* `}` */: {\n this.bump(); // `}`\n return {\n val: {\n type: TYPE.argument,\n // value does not include the opening and closing braces.\n value: value,\n location: createLocation(openingBracePosition, this.clonePosition()),\n },\n err: null,\n };\n }\n // Argument with options: `{name, format, ...}`\n case 44 /* `,` */: {\n this.bump(); // `,`\n this.bumpSpace();\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n return this.parseArgumentOptions(nestingLevel, expectingCloseTag, value, openingBracePosition);\n }\n default:\n return this.error(ErrorKind.MALFORMED_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n }\n };\n /**\n * Advance the parser until the end of the identifier, if it is currently on\n * an identifier character. Return an empty string otherwise.\n */\n Parser.prototype.parseIdentifierIfPossible = function () {\n var startingPosition = this.clonePosition();\n var startOffset = this.offset();\n var value = matchIdentifierAtIndex(this.message, startOffset);\n var endOffset = startOffset + value.length;\n this.bumpTo(endOffset);\n var endPosition = this.clonePosition();\n var location = createLocation(startingPosition, endPosition);\n return { value: value, location: location };\n };\n Parser.prototype.parseArgumentOptions = function (nestingLevel, expectingCloseTag, value, openingBracePosition) {\n var _a;\n // Parse this range:\n // {name, type, style}\n // ^---^\n var typeStartPosition = this.clonePosition();\n var argType = this.parseIdentifierIfPossible().value;\n var typeEndPosition = this.clonePosition();\n switch (argType) {\n case '':\n // Expecting a style string number, date, time, plural, selectordinal, or select.\n return this.error(ErrorKind.EXPECT_ARGUMENT_TYPE, createLocation(typeStartPosition, typeEndPosition));\n case 'number':\n case 'date':\n case 'time': {\n // Parse this range:\n // {name, number, style}\n // ^-------^\n this.bumpSpace();\n var styleAndLocation = null;\n if (this.bumpIf(',')) {\n this.bumpSpace();\n var styleStartPosition = this.clonePosition();\n var result = this.parseSimpleArgStyleIfPossible();\n if (result.err) {\n return result;\n }\n var style = trimEnd(result.val);\n if (style.length === 0) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_STYLE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n var styleLocation = createLocation(styleStartPosition, this.clonePosition());\n styleAndLocation = { style: style, styleLocation: styleLocation };\n }\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n if (argCloseResult.err) {\n return argCloseResult;\n }\n var location_1 = createLocation(openingBracePosition, this.clonePosition());\n // Extract style or skeleton\n if (styleAndLocation && startsWith(styleAndLocation === null || styleAndLocation === void 0 ? void 0 : styleAndLocation.style, '::', 0)) {\n // Skeleton starts with `::`.\n var skeleton = trimStart(styleAndLocation.style.slice(2));\n if (argType === 'number') {\n var result = this.parseNumberSkeletonFromString(skeleton, styleAndLocation.styleLocation);\n if (result.err) {\n return result;\n }\n return {\n val: { type: TYPE.number, value: value, location: location_1, style: result.val },\n err: null,\n };\n }\n else {\n if (skeleton.length === 0) {\n return this.error(ErrorKind.EXPECT_DATE_TIME_SKELETON, location_1);\n }\n var style = {\n type: SKELETON_TYPE.dateTime,\n pattern: skeleton,\n location: styleAndLocation.styleLocation,\n parsedOptions: this.shouldParseSkeletons\n ? parseDateTimeSkeleton(skeleton)\n : {},\n };\n var type = argType === 'date' ? TYPE.date : TYPE.time;\n return {\n val: { type: type, value: value, location: location_1, style: style },\n err: null,\n };\n }\n }\n // Regular style or no style.\n return {\n val: {\n type: argType === 'number'\n ? TYPE.number\n : argType === 'date'\n ? TYPE.date\n : TYPE.time,\n value: value,\n location: location_1,\n style: (_a = styleAndLocation === null || styleAndLocation === void 0 ? void 0 : styleAndLocation.style) !== null && _a !== void 0 ? _a : null,\n },\n err: null,\n };\n }\n case 'plural':\n case 'selectordinal':\n case 'select': {\n // Parse this range:\n // {name, plural, options}\n // ^---------^\n var typeEndPosition_1 = this.clonePosition();\n this.bumpSpace();\n if (!this.bumpIf(',')) {\n return this.error(ErrorKind.EXPECT_SELECT_ARGUMENT_OPTIONS, createLocation(typeEndPosition_1, __assign({}, typeEndPosition_1)));\n }\n this.bumpSpace();\n // Parse offset:\n // {name, plural, offset:1, options}\n // ^-----^\n //\n // or the first option:\n //\n // {name, plural, one {...} other {...}}\n // ^--^\n var identifierAndLocation = this.parseIdentifierIfPossible();\n var pluralOffset = 0;\n if (argType !== 'select' && identifierAndLocation.value === 'offset') {\n if (!this.bumpIf(':')) {\n return this.error(ErrorKind.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n this.bumpSpace();\n var result = this.tryParseDecimalInteger(ErrorKind.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE, ErrorKind.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE);\n if (result.err) {\n return result;\n }\n // Parse another identifier for option parsing\n this.bumpSpace();\n identifierAndLocation = this.parseIdentifierIfPossible();\n pluralOffset = result.val;\n }\n var optionsResult = this.tryParsePluralOrSelectOptions(nestingLevel, argType, expectingCloseTag, identifierAndLocation);\n if (optionsResult.err) {\n return optionsResult;\n }\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n if (argCloseResult.err) {\n return argCloseResult;\n }\n var location_2 = createLocation(openingBracePosition, this.clonePosition());\n if (argType === 'select') {\n return {\n val: {\n type: TYPE.select,\n value: value,\n options: fromEntries(optionsResult.val),\n location: location_2,\n },\n err: null,\n };\n }\n else {\n return {\n val: {\n type: TYPE.plural,\n value: value,\n options: fromEntries(optionsResult.val),\n offset: pluralOffset,\n pluralType: argType === 'plural' ? 'cardinal' : 'ordinal',\n location: location_2,\n },\n err: null,\n };\n }\n }\n default:\n return this.error(ErrorKind.INVALID_ARGUMENT_TYPE, createLocation(typeStartPosition, typeEndPosition));\n }\n };\n Parser.prototype.tryParseArgumentClose = function (openingBracePosition) {\n // Parse: {value, number, ::currency/GBP }\n //\n if (this.isEOF() || this.char() !== 125 /* `}` */) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n this.bump(); // `}`\n return { val: true, err: null };\n };\n /**\n * See: https://github.com/unicode-org/icu/blob/af7ed1f6d2298013dc303628438ec4abe1f16479/icu4c/source/common/messagepattern.cpp#L659\n */\n Parser.prototype.parseSimpleArgStyleIfPossible = function () {\n var nestedBraces = 0;\n var startPosition = this.clonePosition();\n while (!this.isEOF()) {\n var ch = this.char();\n switch (ch) {\n case 39 /* `'` */: {\n // Treat apostrophe as quoting but include it in the style part.\n // Find the end of the quoted literal text.\n this.bump();\n var apostrophePosition = this.clonePosition();\n if (!this.bumpUntil(\"'\")) {\n return this.error(ErrorKind.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE, createLocation(apostrophePosition, this.clonePosition()));\n }\n this.bump();\n break;\n }\n case 123 /* `{` */: {\n nestedBraces += 1;\n this.bump();\n break;\n }\n case 125 /* `}` */: {\n if (nestedBraces > 0) {\n nestedBraces -= 1;\n }\n else {\n return {\n val: this.message.slice(startPosition.offset, this.offset()),\n err: null,\n };\n }\n break;\n }\n default:\n this.bump();\n break;\n }\n }\n return {\n val: this.message.slice(startPosition.offset, this.offset()),\n err: null,\n };\n };\n Parser.prototype.parseNumberSkeletonFromString = function (skeleton, location) {\n var tokens = [];\n try {\n tokens = parseNumberSkeletonFromString(skeleton);\n }\n catch (e) {\n return this.error(ErrorKind.INVALID_NUMBER_SKELETON, location);\n }\n return {\n val: {\n type: SKELETON_TYPE.number,\n tokens: tokens,\n location: location,\n parsedOptions: this.shouldParseSkeletons\n ? parseNumberSkeleton(tokens)\n : {},\n },\n err: null,\n };\n };\n /**\n * @param nesting_level The current nesting level of messages.\n * This can be positive when parsing message fragment in select or plural argument options.\n * @param parent_arg_type The parent argument's type.\n * @param parsed_first_identifier If provided, this is the first identifier-like selector of\n * the argument. It is a by-product of a previous parsing attempt.\n * @param expecting_close_tag If true, this message is directly or indirectly nested inside\n * between a pair of opening and closing tags. The nested message will not parse beyond\n * the closing tag boundary.\n */\n Parser.prototype.tryParsePluralOrSelectOptions = function (nestingLevel, parentArgType, expectCloseTag, parsedFirstIdentifier) {\n var _a;\n var hasOtherClause = false;\n var options = [];\n var parsedSelectors = new Set();\n var selector = parsedFirstIdentifier.value, selectorLocation = parsedFirstIdentifier.location;\n // Parse:\n // one {one apple}\n // ^--^\n while (true) {\n if (selector.length === 0) {\n var startPosition = this.clonePosition();\n if (parentArgType !== 'select' && this.bumpIf('=')) {\n // Try parse `={number}` selector\n var result = this.tryParseDecimalInteger(ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR, ErrorKind.INVALID_PLURAL_ARGUMENT_SELECTOR);\n if (result.err) {\n return result;\n }\n selectorLocation = createLocation(startPosition, this.clonePosition());\n selector = this.message.slice(startPosition.offset, this.offset());\n }\n else {\n break;\n }\n }\n // Duplicate selector clauses\n if (parsedSelectors.has(selector)) {\n return this.error(parentArgType === 'select'\n ? ErrorKind.DUPLICATE_SELECT_ARGUMENT_SELECTOR\n : ErrorKind.DUPLICATE_PLURAL_ARGUMENT_SELECTOR, selectorLocation);\n }\n if (selector === 'other') {\n hasOtherClause = true;\n }\n // Parse:\n // one {one apple}\n // ^----------^\n this.bumpSpace();\n var openingBracePosition = this.clonePosition();\n if (!this.bumpIf('{')) {\n return this.error(parentArgType === 'select'\n ? ErrorKind.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\n : ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT, createLocation(this.clonePosition(), this.clonePosition()));\n }\n var fragmentResult = this.parseMessage(nestingLevel + 1, parentArgType, expectCloseTag);\n if (fragmentResult.err) {\n return fragmentResult;\n }\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n if (argCloseResult.err) {\n return argCloseResult;\n }\n options.push([\n selector,\n {\n value: fragmentResult.val,\n location: createLocation(openingBracePosition, this.clonePosition()),\n },\n ]);\n // Keep track of the existing selectors\n parsedSelectors.add(selector);\n // Prep next selector clause.\n this.bumpSpace();\n (_a = this.parseIdentifierIfPossible(), selector = _a.value, selectorLocation = _a.location);\n }\n if (options.length === 0) {\n return this.error(parentArgType === 'select'\n ? ErrorKind.EXPECT_SELECT_ARGUMENT_SELECTOR\n : ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR, createLocation(this.clonePosition(), this.clonePosition()));\n }\n if (this.requiresOtherClause && !hasOtherClause) {\n return this.error(ErrorKind.MISSING_OTHER_CLAUSE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n return { val: options, err: null };\n };\n Parser.prototype.tryParseDecimalInteger = function (expectNumberError, invalidNumberError) {\n var sign = 1;\n var startingPosition = this.clonePosition();\n if (this.bumpIf('+')) {\n }\n else if (this.bumpIf('-')) {\n sign = -1;\n }\n var hasDigits = false;\n var decimal = 0;\n while (!this.isEOF()) {\n var ch = this.char();\n if (ch >= 48 /* `0` */ && ch <= 57 /* `9` */) {\n hasDigits = true;\n decimal = decimal * 10 + (ch - 48);\n this.bump();\n }\n else {\n break;\n }\n }\n var location = createLocation(startingPosition, this.clonePosition());\n if (!hasDigits) {\n return this.error(expectNumberError, location);\n }\n decimal *= sign;\n if (!isSafeInteger(decimal)) {\n return this.error(invalidNumberError, location);\n }\n return { val: decimal, err: null };\n };\n Parser.prototype.offset = function () {\n return this.position.offset;\n };\n Parser.prototype.isEOF = function () {\n return this.offset() === this.message.length;\n };\n Parser.prototype.clonePosition = function () {\n // This is much faster than `Object.assign` or spread.\n return {\n offset: this.position.offset,\n line: this.position.line,\n column: this.position.column,\n };\n };\n /**\n * Return the code point at the current position of the parser.\n * Throws if the index is out of bound.\n */\n Parser.prototype.char = function () {\n var offset = this.position.offset;\n if (offset >= this.message.length) {\n throw Error('out of bound');\n }\n var code = codePointAt(this.message, offset);\n if (code === undefined) {\n throw Error(\"Offset \".concat(offset, \" is at invalid UTF-16 code unit boundary\"));\n }\n return code;\n };\n Parser.prototype.error = function (kind, location) {\n return {\n val: null,\n err: {\n kind: kind,\n message: this.message,\n location: location,\n },\n };\n };\n /** Bump the parser to the next UTF-16 code unit. */\n Parser.prototype.bump = function () {\n if (this.isEOF()) {\n return;\n }\n var code = this.char();\n if (code === 10 /* '\\n' */) {\n this.position.line += 1;\n this.position.column = 1;\n this.position.offset += 1;\n }\n else {\n this.position.column += 1;\n // 0 ~ 0x10000 -> unicode BMP, otherwise skip the surrogate pair.\n this.position.offset += code < 0x10000 ? 1 : 2;\n }\n };\n /**\n * If the substring starting at the current position of the parser has\n * the given prefix, then bump the parser to the character immediately\n * following the prefix and return true. Otherwise, don't bump the parser\n * and return false.\n */\n Parser.prototype.bumpIf = function (prefix) {\n if (startsWith(this.message, prefix, this.offset())) {\n for (var i = 0; i < prefix.length; i++) {\n this.bump();\n }\n return true;\n }\n return false;\n };\n /**\n * Bump the parser until the pattern character is found and return `true`.\n * Otherwise bump to the end of the file and return `false`.\n */\n Parser.prototype.bumpUntil = function (pattern) {\n var currentOffset = this.offset();\n var index = this.message.indexOf(pattern, currentOffset);\n if (index >= 0) {\n this.bumpTo(index);\n return true;\n }\n else {\n this.bumpTo(this.message.length);\n return false;\n }\n };\n /**\n * Bump the parser to the target offset.\n * If target offset is beyond the end of the input, bump the parser to the end of the input.\n */\n Parser.prototype.bumpTo = function (targetOffset) {\n if (this.offset() > targetOffset) {\n throw Error(\"targetOffset \".concat(targetOffset, \" must be greater than or equal to the current offset \").concat(this.offset()));\n }\n targetOffset = Math.min(targetOffset, this.message.length);\n while (true) {\n var offset = this.offset();\n if (offset === targetOffset) {\n break;\n }\n if (offset > targetOffset) {\n throw Error(\"targetOffset \".concat(targetOffset, \" is at invalid UTF-16 code unit boundary\"));\n }\n this.bump();\n if (this.isEOF()) {\n break;\n }\n }\n };\n /** advance the parser through all whitespace to the next non-whitespace code unit. */\n Parser.prototype.bumpSpace = function () {\n while (!this.isEOF() && _isWhiteSpace(this.char())) {\n this.bump();\n }\n };\n /**\n * Peek at the *next* Unicode codepoint in the input without advancing the parser.\n * If the input has been exhausted, then this returns null.\n */\n Parser.prototype.peek = function () {\n if (this.isEOF()) {\n return null;\n }\n var code = this.char();\n var offset = this.offset();\n var nextCode = this.message.charCodeAt(offset + (code >= 0x10000 ? 2 : 1));\n return nextCode !== null && nextCode !== void 0 ? nextCode : null;\n };\n return Parser;\n}());\nexport { Parser };\n/**\n * This check if codepoint is alphabet (lower & uppercase)\n * @param codepoint\n * @returns\n */\nfunction _isAlpha(codepoint) {\n return ((codepoint >= 97 && codepoint <= 122) ||\n (codepoint >= 65 && codepoint <= 90));\n}\nfunction _isAlphaOrSlash(codepoint) {\n return _isAlpha(codepoint) || codepoint === 47; /* '/' */\n}\n/** See `parseTag` function docs. */\nfunction _isPotentialElementNameChar(c) {\n return (c === 45 /* '-' */ ||\n c === 46 /* '.' */ ||\n (c >= 48 && c <= 57) /* 0..9 */ ||\n c === 95 /* '_' */ ||\n (c >= 97 && c <= 122) /** a..z */ ||\n (c >= 65 && c <= 90) /* A..Z */ ||\n c == 0xb7 ||\n (c >= 0xc0 && c <= 0xd6) ||\n (c >= 0xd8 && c <= 0xf6) ||\n (c >= 0xf8 && c <= 0x37d) ||\n (c >= 0x37f && c <= 0x1fff) ||\n (c >= 0x200c && c <= 0x200d) ||\n (c >= 0x203f && c <= 0x2040) ||\n (c >= 0x2070 && c <= 0x218f) ||\n (c >= 0x2c00 && c <= 0x2fef) ||\n (c >= 0x3001 && c <= 0xd7ff) ||\n (c >= 0xf900 && c <= 0xfdcf) ||\n (c >= 0xfdf0 && c <= 0xfffd) ||\n (c >= 0x10000 && c <= 0xeffff));\n}\n/**\n * Code point equivalent of regex `\\p{White_Space}`.\n * From: https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt\n */\nfunction _isWhiteSpace(c) {\n return ((c >= 0x0009 && c <= 0x000d) ||\n c === 0x0020 ||\n c === 0x0085 ||\n (c >= 0x200e && c <= 0x200f) ||\n c === 0x2028 ||\n c === 0x2029);\n}\n/**\n * Code point equivalent of regex `\\p{Pattern_Syntax}`.\n * See https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt\n */\nfunction _isPatternSyntax(c) {\n return ((c >= 0x0021 && c <= 0x0023) ||\n c === 0x0024 ||\n (c >= 0x0025 && c <= 0x0027) ||\n c === 0x0028 ||\n c === 0x0029 ||\n c === 0x002a ||\n c === 0x002b ||\n c === 0x002c ||\n c === 0x002d ||\n (c >= 0x002e && c <= 0x002f) ||\n (c >= 0x003a && c <= 0x003b) ||\n (c >= 0x003c && c <= 0x003e) ||\n (c >= 0x003f && c <= 0x0040) ||\n c === 0x005b ||\n c === 0x005c ||\n c === 0x005d ||\n c === 0x005e ||\n c === 0x0060 ||\n c === 0x007b ||\n c === 0x007c ||\n c === 0x007d ||\n c === 0x007e ||\n c === 0x00a1 ||\n (c >= 0x00a2 && c <= 0x00a5) ||\n c === 0x00a6 ||\n c === 0x00a7 ||\n c === 0x00a9 ||\n c === 0x00ab ||\n c === 0x00ac ||\n c === 0x00ae ||\n c === 0x00b0 ||\n c === 0x00b1 ||\n c === 0x00b6 ||\n c === 0x00bb ||\n c === 0x00bf ||\n c === 0x00d7 ||\n c === 0x00f7 ||\n (c >= 0x2010 && c <= 0x2015) ||\n (c >= 0x2016 && c <= 0x2017) ||\n c === 0x2018 ||\n c === 0x2019 ||\n c === 0x201a ||\n (c >= 0x201b && c <= 0x201c) ||\n c === 0x201d ||\n c === 0x201e ||\n c === 0x201f ||\n (c >= 0x2020 && c <= 0x2027) ||\n (c >= 0x2030 && c <= 0x2038) ||\n c === 0x2039 ||\n c === 0x203a ||\n (c >= 0x203b && c <= 0x203e) ||\n (c >= 0x2041 && c <= 0x2043) ||\n c === 0x2044 ||\n c === 0x2045 ||\n c === 0x2046 ||\n (c >= 0x2047 && c <= 0x2051) ||\n c === 0x2052 ||\n c === 0x2053 ||\n (c >= 0x2055 && c <= 0x205e) ||\n (c >= 0x2190 && c <= 0x2194) ||\n (c >= 0x2195 && c <= 0x2199) ||\n (c >= 0x219a && c <= 0x219b) ||\n (c >= 0x219c && c <= 0x219f) ||\n c === 0x21a0 ||\n (c >= 0x21a1 && c <= 0x21a2) ||\n c === 0x21a3 ||\n (c >= 0x21a4 && c <= 0x21a5) ||\n c === 0x21a6 ||\n (c >= 0x21a7 && c <= 0x21ad) ||\n c === 0x21ae ||\n (c >= 0x21af && c <= 0x21cd) ||\n (c >= 0x21ce && c <= 0x21cf) ||\n (c >= 0x21d0 && c <= 0x21d1) ||\n c === 0x21d2 ||\n c === 0x21d3 ||\n c === 0x21d4 ||\n (c >= 0x21d5 && c <= 0x21f3) ||\n (c >= 0x21f4 && c <= 0x22ff) ||\n (c >= 0x2300 && c <= 0x2307) ||\n c === 0x2308 ||\n c === 0x2309 ||\n c === 0x230a ||\n c === 0x230b ||\n (c >= 0x230c && c <= 0x231f) ||\n (c >= 0x2320 && c <= 0x2321) ||\n (c >= 0x2322 && c <= 0x2328) ||\n c === 0x2329 ||\n c === 0x232a ||\n (c >= 0x232b && c <= 0x237b) ||\n c === 0x237c ||\n (c >= 0x237d && c <= 0x239a) ||\n (c >= 0x239b && c <= 0x23b3) ||\n (c >= 0x23b4 && c <= 0x23db) ||\n (c >= 0x23dc && c <= 0x23e1) ||\n (c >= 0x23e2 && c <= 0x2426) ||\n (c >= 0x2427 && c <= 0x243f) ||\n (c >= 0x2440 && c <= 0x244a) ||\n (c >= 0x244b && c <= 0x245f) ||\n (c >= 0x2500 && c <= 0x25b6) ||\n c === 0x25b7 ||\n (c >= 0x25b8 && c <= 0x25c0) ||\n c === 0x25c1 ||\n (c >= 0x25c2 && c <= 0x25f7) ||\n (c >= 0x25f8 && c <= 0x25ff) ||\n (c >= 0x2600 && c <= 0x266e) ||\n c === 0x266f ||\n (c >= 0x2670 && c <= 0x2767) ||\n c === 0x2768 ||\n c === 0x2769 ||\n c === 0x276a ||\n c === 0x276b ||\n c === 0x276c ||\n c === 0x276d ||\n c === 0x276e ||\n c === 0x276f ||\n c === 0x2770 ||\n c === 0x2771 ||\n c === 0x2772 ||\n c === 0x2773 ||\n c === 0x2774 ||\n c === 0x2775 ||\n (c >= 0x2794 && c <= 0x27bf) ||\n (c >= 0x27c0 && c <= 0x27c4) ||\n c === 0x27c5 ||\n c === 0x27c6 ||\n (c >= 0x27c7 && c <= 0x27e5) ||\n c === 0x27e6 ||\n c === 0x27e7 ||\n c === 0x27e8 ||\n c === 0x27e9 ||\n c === 0x27ea ||\n c === 0x27eb ||\n c === 0x27ec ||\n c === 0x27ed ||\n c === 0x27ee ||\n c === 0x27ef ||\n (c >= 0x27f0 && c <= 0x27ff) ||\n (c >= 0x2800 && c <= 0x28ff) ||\n (c >= 0x2900 && c <= 0x2982) ||\n c === 0x2983 ||\n c === 0x2984 ||\n c === 0x2985 ||\n c === 0x2986 ||\n c === 0x2987 ||\n c === 0x2988 ||\n c === 0x2989 ||\n c === 0x298a ||\n c === 0x298b ||\n c === 0x298c ||\n c === 0x298d ||\n c === 0x298e ||\n c === 0x298f ||\n c === 0x2990 ||\n c === 0x2991 ||\n c === 0x2992 ||\n c === 0x2993 ||\n c === 0x2994 ||\n c === 0x2995 ||\n c === 0x2996 ||\n c === 0x2997 ||\n c === 0x2998 ||\n (c >= 0x2999 && c <= 0x29d7) ||\n c === 0x29d8 ||\n c === 0x29d9 ||\n c === 0x29da ||\n c === 0x29db ||\n (c >= 0x29dc && c <= 0x29fb) ||\n c === 0x29fc ||\n c === 0x29fd ||\n (c >= 0x29fe && c <= 0x2aff) ||\n (c >= 0x2b00 && c <= 0x2b2f) ||\n (c >= 0x2b30 && c <= 0x2b44) ||\n (c >= 0x2b45 && c <= 0x2b46) ||\n (c >= 0x2b47 && c <= 0x2b4c) ||\n (c >= 0x2b4d && c <= 0x2b73) ||\n (c >= 0x2b74 && c <= 0x2b75) ||\n (c >= 0x2b76 && c <= 0x2b95) ||\n c === 0x2b96 ||\n (c >= 0x2b97 && c <= 0x2bff) ||\n (c >= 0x2e00 && c <= 0x2e01) ||\n c === 0x2e02 ||\n c === 0x2e03 ||\n c === 0x2e04 ||\n c === 0x2e05 ||\n (c >= 0x2e06 && c <= 0x2e08) ||\n c === 0x2e09 ||\n c === 0x2e0a ||\n c === 0x2e0b ||\n c === 0x2e0c ||\n c === 0x2e0d ||\n (c >= 0x2e0e && c <= 0x2e16) ||\n c === 0x2e17 ||\n (c >= 0x2e18 && c <= 0x2e19) ||\n c === 0x2e1a ||\n c === 0x2e1b ||\n c === 0x2e1c ||\n c === 0x2e1d ||\n (c >= 0x2e1e && c <= 0x2e1f) ||\n c === 0x2e20 ||\n c === 0x2e21 ||\n c === 0x2e22 ||\n c === 0x2e23 ||\n c === 0x2e24 ||\n c === 0x2e25 ||\n c === 0x2e26 ||\n c === 0x2e27 ||\n c === 0x2e28 ||\n c === 0x2e29 ||\n (c >= 0x2e2a && c <= 0x2e2e) ||\n c === 0x2e2f ||\n (c >= 0x2e30 && c <= 0x2e39) ||\n (c >= 0x2e3a && c <= 0x2e3b) ||\n (c >= 0x2e3c && c <= 0x2e3f) ||\n c === 0x2e40 ||\n c === 0x2e41 ||\n c === 0x2e42 ||\n (c >= 0x2e43 && c <= 0x2e4f) ||\n (c >= 0x2e50 && c <= 0x2e51) ||\n c === 0x2e52 ||\n (c >= 0x2e53 && c <= 0x2e7f) ||\n (c >= 0x3001 && c <= 0x3003) ||\n c === 0x3008 ||\n c === 0x3009 ||\n c === 0x300a ||\n c === 0x300b ||\n c === 0x300c ||\n c === 0x300d ||\n c === 0x300e ||\n c === 0x300f ||\n c === 0x3010 ||\n c === 0x3011 ||\n (c >= 0x3012 && c <= 0x3013) ||\n c === 0x3014 ||\n c === 0x3015 ||\n c === 0x3016 ||\n c === 0x3017 ||\n c === 0x3018 ||\n c === 0x3019 ||\n c === 0x301a ||\n c === 0x301b ||\n c === 0x301c ||\n c === 0x301d ||\n (c >= 0x301e && c <= 0x301f) ||\n c === 0x3020 ||\n c === 0x3030 ||\n c === 0xfd3e ||\n c === 0xfd3f ||\n (c >= 0xfe45 && c <= 0xfe46));\n}\n","import { __assign } from \"tslib\";\nimport { ErrorKind } from './error';\nimport { Parser } from './parser';\nimport { isDateElement, isDateTimeSkeleton, isNumberElement, isNumberSkeleton, isPluralElement, isSelectElement, isTagElement, isTimeElement, } from './types';\nfunction pruneLocation(els) {\n els.forEach(function (el) {\n delete el.location;\n if (isSelectElement(el) || isPluralElement(el)) {\n for (var k in el.options) {\n delete el.options[k].location;\n pruneLocation(el.options[k].value);\n }\n }\n else if (isNumberElement(el) && isNumberSkeleton(el.style)) {\n delete el.style.location;\n }\n else if ((isDateElement(el) || isTimeElement(el)) &&\n isDateTimeSkeleton(el.style)) {\n delete el.style.location;\n }\n else if (isTagElement(el)) {\n pruneLocation(el.children);\n }\n });\n}\nexport function parse(message, opts) {\n if (opts === void 0) { opts = {}; }\n opts = __assign({ shouldParseSkeletons: true, requiresOtherClause: true }, opts);\n var result = new Parser(message, opts).parse();\n if (result.err) {\n var error = SyntaxError(ErrorKind[result.err.kind]);\n // @ts-expect-error Assign to error object\n error.location = result.err.location;\n // @ts-expect-error Assign to error object\n error.originalMessage = result.err.message;\n throw error;\n }\n if (!(opts === null || opts === void 0 ? void 0 : opts.captureLocation)) {\n pruneLocation(result.val);\n }\n return result.val;\n}\nexport * from './types';\n","//\n// Main\n//\nexport default function memoize(fn, options) {\n var cache = options && options.cache ? options.cache : cacheDefault;\n var serializer = options && options.serializer ? options.serializer : serializerDefault;\n var strategy = options && options.strategy ? options.strategy : strategyDefault;\n return strategy(fn, {\n cache: cache,\n serializer: serializer,\n });\n}\n//\n// Strategy\n//\nfunction isPrimitive(value) {\n return (value == null || typeof value === 'number' || typeof value === 'boolean'); // || typeof value === \"string\" 'unsafe' primitive for our needs\n}\nfunction monadic(fn, cache, serializer, arg) {\n var cacheKey = isPrimitive(arg) ? arg : serializer(arg);\n var computedValue = cache.get(cacheKey);\n if (typeof computedValue === 'undefined') {\n computedValue = fn.call(this, arg);\n cache.set(cacheKey, computedValue);\n }\n return computedValue;\n}\nfunction variadic(fn, cache, serializer) {\n var args = Array.prototype.slice.call(arguments, 3);\n var cacheKey = serializer(args);\n var computedValue = cache.get(cacheKey);\n if (typeof computedValue === 'undefined') {\n computedValue = fn.apply(this, args);\n cache.set(cacheKey, computedValue);\n }\n return computedValue;\n}\nfunction assemble(fn, context, strategy, cache, serialize) {\n return strategy.bind(context, fn, cache, serialize);\n}\nfunction strategyDefault(fn, options) {\n var strategy = fn.length === 1 ? monadic : variadic;\n return assemble(fn, this, strategy, options.cache.create(), options.serializer);\n}\nfunction strategyVariadic(fn, options) {\n return assemble(fn, this, variadic, options.cache.create(), options.serializer);\n}\nfunction strategyMonadic(fn, options) {\n return assemble(fn, this, monadic, options.cache.create(), options.serializer);\n}\n//\n// Serializer\n//\nvar serializerDefault = function () {\n return JSON.stringify(arguments);\n};\n//\n// Cache\n//\nfunction ObjectWithoutPrototypeCache() {\n this.cache = Object.create(null);\n}\nObjectWithoutPrototypeCache.prototype.get = function (key) {\n return this.cache[key];\n};\nObjectWithoutPrototypeCache.prototype.set = function (key, value) {\n this.cache[key] = value;\n};\nvar cacheDefault = {\n create: function create() {\n // @ts-ignore\n return new ObjectWithoutPrototypeCache();\n },\n};\nexport var strategies = {\n variadic: strategyVariadic,\n monadic: strategyMonadic,\n};\n","import { __extends } from \"tslib\";\nexport var ErrorCode;\n(function (ErrorCode) {\n // When we have a placeholder but no value to format\n ErrorCode[\"MISSING_VALUE\"] = \"MISSING_VALUE\";\n // When value supplied is invalid\n ErrorCode[\"INVALID_VALUE\"] = \"INVALID_VALUE\";\n // When we need specific Intl API but it's not available\n ErrorCode[\"MISSING_INTL_API\"] = \"MISSING_INTL_API\";\n})(ErrorCode || (ErrorCode = {}));\nvar FormatError = /** @class */ (function (_super) {\n __extends(FormatError, _super);\n function FormatError(msg, code, originalMessage) {\n var _this = _super.call(this, msg) || this;\n _this.code = code;\n _this.originalMessage = originalMessage;\n return _this;\n }\n FormatError.prototype.toString = function () {\n return \"[formatjs Error: \".concat(this.code, \"] \").concat(this.message);\n };\n return FormatError;\n}(Error));\nexport { FormatError };\nvar InvalidValueError = /** @class */ (function (_super) {\n __extends(InvalidValueError, _super);\n function InvalidValueError(variableId, value, options, originalMessage) {\n return _super.call(this, \"Invalid values for \\\"\".concat(variableId, \"\\\": \\\"\").concat(value, \"\\\". Options are \\\"\").concat(Object.keys(options).join('\", \"'), \"\\\"\"), ErrorCode.INVALID_VALUE, originalMessage) || this;\n }\n return InvalidValueError;\n}(FormatError));\nexport { InvalidValueError };\nvar InvalidValueTypeError = /** @class */ (function (_super) {\n __extends(InvalidValueTypeError, _super);\n function InvalidValueTypeError(value, type, originalMessage) {\n return _super.call(this, \"Value for \\\"\".concat(value, \"\\\" must be of type \").concat(type), ErrorCode.INVALID_VALUE, originalMessage) || this;\n }\n return InvalidValueTypeError;\n}(FormatError));\nexport { InvalidValueTypeError };\nvar MissingValueError = /** @class */ (function (_super) {\n __extends(MissingValueError, _super);\n function MissingValueError(variableId, originalMessage) {\n return _super.call(this, \"The intl string context variable \\\"\".concat(variableId, \"\\\" was not provided to the string \\\"\").concat(originalMessage, \"\\\"\"), ErrorCode.MISSING_VALUE, originalMessage) || this;\n }\n return MissingValueError;\n}(FormatError));\nexport { MissingValueError };\n","import { isArgumentElement, isDateElement, isDateTimeSkeleton, isLiteralElement, isNumberElement, isNumberSkeleton, isPluralElement, isPoundElement, isSelectElement, isTimeElement, isTagElement, } from '@formatjs/icu-messageformat-parser';\nimport { MissingValueError, InvalidValueError, ErrorCode, FormatError, InvalidValueTypeError, } from './error';\nexport var PART_TYPE;\n(function (PART_TYPE) {\n PART_TYPE[PART_TYPE[\"literal\"] = 0] = \"literal\";\n PART_TYPE[PART_TYPE[\"object\"] = 1] = \"object\";\n})(PART_TYPE || (PART_TYPE = {}));\nfunction mergeLiteral(parts) {\n if (parts.length < 2) {\n return parts;\n }\n return parts.reduce(function (all, part) {\n var lastPart = all[all.length - 1];\n if (!lastPart ||\n lastPart.type !== PART_TYPE.literal ||\n part.type !== PART_TYPE.literal) {\n all.push(part);\n }\n else {\n lastPart.value += part.value;\n }\n return all;\n }, []);\n}\nexport function isFormatXMLElementFn(el) {\n return typeof el === 'function';\n}\n// TODO(skeleton): add skeleton support\nexport function formatToParts(els, locales, formatters, formats, values, currentPluralValue, \n// For debugging\noriginalMessage) {\n // Hot path for straight simple msg translations\n if (els.length === 1 && isLiteralElement(els[0])) {\n return [\n {\n type: PART_TYPE.literal,\n value: els[0].value,\n },\n ];\n }\n var result = [];\n for (var _i = 0, els_1 = els; _i < els_1.length; _i++) {\n var el = els_1[_i];\n // Exit early for string parts.\n if (isLiteralElement(el)) {\n result.push({\n type: PART_TYPE.literal,\n value: el.value,\n });\n continue;\n }\n // TODO: should this part be literal type?\n // Replace `#` in plural rules with the actual numeric value.\n if (isPoundElement(el)) {\n if (typeof currentPluralValue === 'number') {\n result.push({\n type: PART_TYPE.literal,\n value: formatters.getNumberFormat(locales).format(currentPluralValue),\n });\n }\n continue;\n }\n var varName = el.value;\n // Enforce that all required values are provided by the caller.\n if (!(values && varName in values)) {\n throw new MissingValueError(varName, originalMessage);\n }\n var value = values[varName];\n if (isArgumentElement(el)) {\n if (!value || typeof value === 'string' || typeof value === 'number') {\n value =\n typeof value === 'string' || typeof value === 'number'\n ? String(value)\n : '';\n }\n result.push({\n type: typeof value === 'string' ? PART_TYPE.literal : PART_TYPE.object,\n value: value,\n });\n continue;\n }\n // Recursively format plural and select parts' option — which can be a\n // nested pattern structure. The choosing of the option to use is\n // abstracted-by and delegated-to the part helper object.\n if (isDateElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.date[el.style]\n : isDateTimeSkeleton(el.style)\n ? el.style.parsedOptions\n : undefined;\n result.push({\n type: PART_TYPE.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 ? el.style.parsedOptions\n : undefined;\n result.push({\n type: PART_TYPE.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 ? el.style.parsedOptions\n : undefined;\n if (style && style.scale) {\n value =\n value *\n (style.scale || 1);\n }\n result.push({\n type: PART_TYPE.literal,\n value: formatters\n .getNumberFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isTagElement(el)) {\n var children = el.children, value_1 = el.value;\n var formatFn = values[value_1];\n if (!isFormatXMLElementFn(formatFn)) {\n throw new InvalidValueTypeError(value_1, 'function', originalMessage);\n }\n var parts = formatToParts(children, locales, formatters, formats, values, currentPluralValue);\n var chunks = formatFn(parts.map(function (p) { return p.value; }));\n if (!Array.isArray(chunks)) {\n chunks = [chunks];\n }\n result.push.apply(result, chunks.map(function (c) {\n return {\n type: typeof c === 'string' ? PART_TYPE.literal : PART_TYPE.object,\n value: c,\n };\n }));\n }\n if (isSelectElement(el)) {\n var opt = el.options[value] || el.options.other;\n if (!opt) {\n throw new InvalidValueError(el.value, value, Object.keys(el.options), originalMessage);\n }\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values));\n continue;\n }\n if (isPluralElement(el)) {\n var opt = el.options[\"=\".concat(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\", ErrorCode.MISSING_INTL_API, originalMessage);\n }\n var rule = formatters\n .getPluralRules(locales, { type: el.pluralType })\n .select(value - (el.offset || 0));\n opt = el.options[rule] || el.options.other;\n }\n if (!opt) {\n throw new InvalidValueError(el.value, value, Object.keys(el.options), originalMessage);\n }\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values, value - (el.offset || 0)));\n continue;\n }\n }\n return mergeLiteral(result);\n}\n","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nimport { __assign, __spreadArray } from \"tslib\";\nimport { parse } from '@formatjs/icu-messageformat-parser';\nimport memoize, { strategies } from '@formatjs/fast-memoize';\nimport { formatToParts, PART_TYPE, } 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}\nfunction createFastMemoizeCache(store) {\n return {\n create: function () {\n return {\n get: function (key) {\n return store[key];\n },\n set: function (key, value) {\n store[key] = value;\n },\n };\n },\n };\n}\nfunction createDefaultFormatters(cache) {\n if (cache === void 0) { cache = {\n number: {},\n dateTime: {},\n pluralRules: {},\n }; }\n return {\n getNumberFormat: memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.NumberFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.number),\n strategy: strategies.variadic,\n }),\n getDateTimeFormat: memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.DateTimeFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.dateTime),\n strategy: strategies.variadic,\n }),\n getPluralRules: memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.PluralRules).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.pluralRules),\n strategy: strategies.variadic,\n }),\n };\n}\nvar IntlMessageFormat = /** @class */ (function () {\n function IntlMessageFormat(message, locales, overrideFormats, opts) {\n var _this = this;\n if (locales === void 0) { locales = IntlMessageFormat.defaultLocale; }\n this.formatterCache = {\n number: {},\n dateTime: {},\n pluralRules: {},\n };\n this.format = function (values) {\n var parts = _this.formatToParts(values);\n // Hot path for straight simple msg translations\n if (parts.length === 1) {\n return parts[0].value;\n }\n var result = parts.reduce(function (all, part) {\n if (!all.length ||\n part.type !== PART_TYPE.literal ||\n typeof all[all.length - 1] !== 'string') {\n all.push(part.value);\n }\n else {\n all[all.length - 1] += part.value;\n }\n return all;\n }, []);\n if (result.length <= 1) {\n return result[0] || '';\n }\n return result;\n };\n this.formatToParts = function (values) {\n return formatToParts(_this.ast, _this.locales, _this.formatters, _this.formats, values, undefined, _this.message);\n };\n this.resolvedOptions = function () { return ({\n locale: Intl.NumberFormat.supportedLocalesOf(_this.locales)[0],\n }); };\n this.getAst = function () { return _this.ast; };\n if (typeof message === 'string') {\n this.message = message;\n if (!IntlMessageFormat.__parse) {\n throw new TypeError('IntlMessageFormat.__parse must be set to process `message` of type `string`');\n }\n // Parse string messages into an AST.\n this.ast = IntlMessageFormat.__parse(message, {\n ignoreTag: opts === null || opts === void 0 ? void 0 : opts.ignoreTag,\n });\n }\n else {\n this.ast = message;\n }\n if (!Array.isArray(this.ast)) {\n throw new TypeError('A message must be provided as a String or AST.');\n }\n // Creates a new object with the specified `formats` merged with the default\n // formats.\n this.formats = mergeConfigs(IntlMessageFormat.formats, overrideFormats);\n // Defined first because it's used to build the format pattern.\n this.locales = locales;\n this.formatters =\n (opts && opts.formatters) || createDefaultFormatters(this.formatterCache);\n }\n Object.defineProperty(IntlMessageFormat, \"defaultLocale\", {\n get: function () {\n if (!IntlMessageFormat.memoizedDefaultLocale) {\n IntlMessageFormat.memoizedDefaultLocale =\n new Intl.NumberFormat().resolvedOptions().locale;\n }\n return IntlMessageFormat.memoizedDefaultLocale;\n },\n enumerable: false,\n configurable: true\n });\n IntlMessageFormat.memoizedDefaultLocale = null;\n IntlMessageFormat.__parse = parse;\n // Default format options used as the prototype of the `formats` provided to the\n // constructor. These are used when constructing the internal Intl.NumberFormat\n // and Intl.DateTimeFormat instances.\n IntlMessageFormat.formats = {\n number: {\n integer: {\n maximumFractionDigits: 0,\n },\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 };\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 './src/core';\nexport * from './src/formatters';\nexport * from './src/core';\nexport * from './src/error';\nexport default IntlMessageFormat;\n",null],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__extends","TypeError","String","__","this","constructor","create","__assign","assign","t","s","i","n","arguments","length","apply","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","v","op","pop","push","__values","o","m","__read","r","ar","error","__spreadArray","to","from","pack","l","slice","concat","ModifierKey","PREFERRED_LANGUAGES_LOCAL_STORAGE_KEY","CURRENT_LANGUAGE_LOCAL_STORAGE_KEY","Properties","defineProperty","get","config","_a","forceLanguage","_currentLanguage","getInitialLanguage","set","language","Error","enableLanguageStore","localStorage","setItem","Set","JSON","parse","getItem","languages","stringify","storedLanguage","getStoredLanguage","enableLanguageDetection","detectedLanguage","getLanguageByNavigator","defaultLanguage","availableLanguages","indexOf","window","preferred_1","navigator","exactMatch","find","getTwoLetters_1","fullTag","replace","preferredTwoLetter_1","twoLetterMatch","Subscription","onUnsubscribe","unsubscribe","EventEmitterImpl","idCounter","_subscriptions","Map","emit","data","promiseReturns","_b","subscriptions","values","_c","returned","callback","all","subscribe","_this","newId","subscription","id","delete","console","warn","EventService","TRANSLATION_CHANGED","LANGUAGE_CHANGED","LANGUAGE_LOADED","ELEMENT_REGISTERED","ApiHttpError","_super","response","code","ApiHttpService","properties","handleErrors","status","json","fetch","args","_i","url","getUrl","rest","fetchJson","res","post","init","method","headers","postJson","path","querySeparator","apiUrl","apiKey","TranslationData","key","translations","TranslationService","coreService","apiHttpService","eventService","translationsCache","fetchPromises","fetchedDev","updateTranslationInCache","entries","forEach","lang","translation","cachedData","name","text","getTranslationsOfKey","currentLanguage","checkScope","languagesArray","languagesQuery","map","join","encodeURIComponent","_e","translationData_1","reduce","acc","curr","firstItem","_embedded","keys","langs","_d","selectedLanguages","tag","e_1","getLanguages","preferredLanguages","location","reload","translationByValue","message","defaultValue","initStatic","staticData","setLanguageData","getCachedTranslations","loadTranslations","isFetchNeeded","fetchTranslations","undefined","getTranslation","getFromCache","fallbackLang","fallbackLanguage","updateKeyComplex","screenshotUploadedImageIds","screenshotIdsToDelete","createKey","setTranslations","translationData","keyId","keyName","changeTranslations","old","getFromCacheOrFallback","isDevMode","mode","dataPresent","devFetched","Boolean","fetchTranslationsDevelopment","fetchTranslationsProduction","langStaticData","filesUrlPrefix","setEmptyLanguageData","loadApiKeyDetails","e_4","makeFlat","flatKey","flatValue","root","TextService","translationService","moduleService","format","params","formatter","translate","orEmpty","formatTranslation","instant","exports","MouseEventHandler","keysDown","mouseOn","mouseOnChanged","keysChanged","onConditionsChanged","unhighlight","areKeysDown","getMouseOn","highlight","_tolgee","highlighted","onMouseOut","element","preventClean","onMouseOver","filterMouseOn","add","run","initKeyListener","handle","onclick","listeningForHighlighting","initEventListeners","onClick","currentTarget","stopPropagation","preventDefault","addEventListener","capture","onMouseDownOrUp","removeAllEventListeners","removeEventListener","mouseOnArray","modifierKey","el","document","contains","highlightKeys","has","TranslationHighlighter","dependencies","translationEdit","getRenderer","renderer","getKeyAndDefault","renderViewer","getKeyOptions","node","nodes","k","listen","highlightFunctionInitializer","initFunctions","mouseEventHandler","_renderer","possibleProviders","ui","possibleProviders_1","possibleProviders_1_1","possiblePromise","possibleProvider","possibleObject","UI","mouseEvent","wrappedWithElementOnlyKey","wrappedWithElementOnlyDefaultHtml","keysWithDefaults","keySet","keyWithDefault","size","getKey","openEvent","selectedKey_1","found","kwd","RESTRICTED_ASCENDANT_ATTRIBUTE","TOLGEE_ATTRIBUTE_NAME","TOLGEE_TARGET_ATTRIBUTE","TOLGEE_WRAPPED_ONLY_DATA_ATTRIBUTE","NodeHelper","evaluate","evaluateGenerator","evaluateToSingle","arr","closestElement","Text","parentElement","getParentElement","ownerElement","isElementTargetElement","hasAttribute","markElementAsTargetElement","setAttribute","unmarkElementAsTargetElement","removeAttribute","nodeContains","descendant","Attr","ownerContainsAttr","attributes","expression","targetNode","evaluated","XPathResult","ANY_TYPE","iterateNext","getNodeText","textContent","setNodeText","ElementRegistrar","translationHighlighter","registeredElements","register","getActiveNodes","refreshAll","cleanElementInactiveNodes","cleanElement","cleanAll","registeredElement","findAllByKey","_f","findIndex","keyWithParams","isElementActive","targetElement","Observer","textWrapper","nodeRegistrar","_observer","_observing","MutationObserver","mutationsList","mutationsList_1","mutationsList_1_1","mutation","type","handleText","target","handleSubtree","handleAttribute","observe","observer","childList","subtree","characterData","stopObserving","disconnect","CoreService","languagePromise","bind","filter","getLanguagesFull","getApiKeyDetails","isAuthorizedTo","scope","scopes","details","projectId","DEFAULT_TARGET_ELEMENT_SUPPLIER","TolgeeConfig","inputPrefix","inputSuffix","tagAttributes","textarea","input","img","Alt","passToParent","restrictedElements","highlightColor","wrapperMode","preloadFallback","_targetElement","sessionStorage","watch","PluginManager","messages","elementRegistrar","handshakeSucceed","takeScreenshot","revertChange","highlightAllByKey","ms","setTimeout","send","cancel_1","unhighlightAllByKey","catch","handshake","sharedConfiguration","uiPresent","uiVersion","timer","ping","finish","clearInterval","counter","setInterval","startListening","stop","stopListening","Messages","listeners","receiveMessage","event","source","listener","_stopListening","listenerInfo","splice","postMessage","origin","HighlightFunctionsInitializer","initHighlightFunction","initUnhighlightFunction","initialBackgroundColor","style","backgroundColor","ScreenshotService","uploadImage","blob","formData","FormData","append","deleteImages","ids","ModuleService","addModule","module","instance","NodeHandler","wrapper","initParentElement","filterRestricted","tagName","toLowerCase","closest","handleNodes","nodes_1","nodes_1_1","textNode","tolgeeData","locked","lockNode","unwrap","translatedNode","translateChildNode","unlockNode","newValue","oldTextContent","parent","getSuitableParent","domParent","isArray","elementTagName","AttributeHandler","nodeHandler","attributes_1","attributes_1_1","attribute","TextHelper","splitOnNonEscapedDelimiter","string","delimiter","actual","escaped","char","isCharEscaped","position","fullString","escapeCharsCount","removeEscapes","Coder","textService","escapeForRegExp","escapeParam","param","toString","escapedPrefix","escapedSuffix","parseUnwrapped","unwrappedString","paramName","readingState","unwrappedString_1","unwrappedString_1_1","match","matchRegexp","RegExp","rawUnWrapRegex","keysAndParams","matched","start","exec","pre","fullMatch","wrapped","unwrapped","index","substr","translated","getTranslatedWithMetadata","substring","wrap","paramString","defaultString","CoreHandler","textHandler","attributeHandler","coder","wrappedHandler","refresh","ContentHandler","xPath","filtered","WrappedHandler","elementWithMeta","getAttribute","innerHTML","TextWrapper","coreHandler","PTextEncoder","PTextDecoder","encode","octets","codePoint","codePointAt","c","bits","decode","octet","bytesNeeded","fromCodePoint","ErrorKind","TYPE","SKELETON_TYPE","Encoder","TextEncoder","Decoder","TextDecoder","INVISIBLE_CHARACTERS","INVISIBLE_REGEX","encodeMessage","binary","toBytes","Number","byte","needsToAdd","repeat","padToWholeBytes","decodeMessage","bytes","textBytes","character","codes","Uint8Array","parseInt","ValueMemory","valueToNumber","numberToValue","num","keyMemory","defaultMemory","invisibleMessages","decodeFromText","msg","text_1","text_1_1","stringToCodePoints","keyCode","defaultCode","removeSecrets","_params","invisibleMark","InvisibleWrapper","DependencyService","screenshotService","pluginManager","Tolgee","dependencyService","newLanguage","emitLangChangeEvent","currentLang","fallbackPreloading","isStaticDataProvided","use","changeLanguage","keyOrProps","noWrap","props","onLangChange","isLiteralElement","literal","isArgumentElement","argument","isNumberElement","number","isDateElement","date","isTimeElement","time","isSelectElement","select","isPluralElement","plural","isPoundElement","pound","isTagElement","isNumberSkeleton","isDateTimeSkeleton","dateTime","SPACE_SEPARATOR_REGEX","DATE_TIME_REGEX","parseDateTimeSkeleton","skeleton","len","era","year","RangeError","month","day","weekday","hour12","hourCycle","hour","minute","second","timeZoneName","WHITE_SPACE_REGEX","FRACTION_PRECISION_REGEX","SIGNIFICANT_PRECISION_REGEX","INTEGER_WIDTH_REGEX","CONCISE_INTEGER_WIDTH_REGEX","parseSignificantPrecision","str","roundingPriority","g1","g2","minimumSignificantDigits","maximumSignificantDigits","parseSign","signDisplay","currencySign","parseConciseScientificAndEngineeringStem","stem","notation","test","minimumIntegerDigits","parseNotationOptions","opt","signOpts","parseNumberSkeleton","tokens","tokens_1","token","scale","currency","options","useGrouping","maximumFractionDigits","unit","compactDisplay","currencyDisplay","unitDisplay","parseFloat","g3","g4","g5","minimumFractionDigits","trailingZeroDisplay","conciseScientificAndEngineeringOpts","SPACE_SEPARATOR_START_REGEX","SPACE_SEPARATOR_END_REGEX","createLocation","end","hasNativeStartsWith","startsWith","hasNativeFromCodePoint","hasNativeFromEntries","fromEntries","hasNativeCodePointAt","hasTrimStart","trimStart","hasTrimEnd","trimEnd","isSafeInteger","isFinite","Math","floor","abs","REGEX_SUPPORTS_U_AND_Y","RE","matchIdentifierAtIndex","search","codePoints","elements","fromCharCode","obj","entries_1","first","charCodeAt","flag","IDENTIFIER_PREFIX_RE_1","lastIndex","_isWhiteSpace","_isPatternSyntax","Parser","offset","line","column","ignoreTag","requiresOtherClause","shouldParseSkeletons","parseMessage","nestingLevel","parentArgType","expectingCloseTag","isEOF","parseArgument","err","val","peek","UNMATCHED_CLOSING_TAG","clonePosition","_isAlpha","parseTag","parseLiteral","bump","startPosition","parseTagName","bumpSpace","bumpIf","childrenResult","children","endTagStartPosition","INVALID_TAG","closingTagNameStartPosition","UNCLOSED_TAG","startOffset","parseQuoteResult","tryParseQuote","parseUnquotedResult","tryParseUnquoted","parseLeftAngleResult","tryParseLeftAngleBracket","codepoint","ch","openingBracePosition","EXPECT_ARGUMENT_CLOSING_BRACE","EMPTY_ARGUMENT","parseIdentifierIfPossible","MALFORMED_ARGUMENT","parseArgumentOptions","startingPosition","endOffset","bumpTo","typeStartPosition","argType","typeEndPosition","EXPECT_ARGUMENT_TYPE","styleAndLocation","styleStartPosition","parseSimpleArgStyleIfPossible","EXPECT_ARGUMENT_STYLE","styleLocation","argCloseResult","tryParseArgumentClose","location_1","parseNumberSkeletonFromString","EXPECT_DATE_TIME_SKELETON","pattern","parsedOptions","typeEndPosition_1","EXPECT_SELECT_ARGUMENT_OPTIONS","identifierAndLocation","pluralOffset","EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE","tryParseDecimalInteger","INVALID_PLURAL_ARGUMENT_OFFSET_VALUE","optionsResult","tryParsePluralOrSelectOptions","location_2","pluralType","INVALID_ARGUMENT_TYPE","nestedBraces","apostrophePosition","bumpUntil","UNCLOSED_QUOTE_IN_ARGUMENT_STYLE","stringTokens_1","split","x","stemAndOptions","options_1","INVALID_NUMBER_SKELETON","expectCloseTag","parsedFirstIdentifier","hasOtherClause","parsedSelectors","selector","selectorLocation","EXPECT_PLURAL_ARGUMENT_SELECTOR","INVALID_PLURAL_ARGUMENT_SELECTOR","DUPLICATE_SELECT_ARGUMENT_SELECTOR","DUPLICATE_PLURAL_ARGUMENT_SELECTOR","EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT","EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT","fragmentResult","EXPECT_SELECT_ARGUMENT_SELECTOR","MISSING_OTHER_CLAUSE","expectNumberError","invalidNumberError","sign","hasDigits","decimal","kind","prefix","currentOffset","targetOffset","min","nextCode","pruneLocation","els","opts","SyntaxError","originalMessage","captureLocation","memoize","fn","cache","cacheDefault","serializer","serializerDefault","strategy","strategyDefault","monadic","arg","cacheKey","computedValue","variadic","assemble","context","serialize","ObjectWithoutPrototypeCache","ErrorCode","strategies","PART_TYPE","FormatError","InvalidValueError","variableId","INVALID_VALUE","InvalidValueTypeError","MissingValueError","MISSING_VALUE","isFormatXMLElementFn","formatToParts","locales","formatters","formats","currentPluralValue","els_1","getNumberFormat","varName","object","getDateTimeFormat","value_1","formatFn","chunks","other","Intl","PluralRules","MISSING_INTL_API","rule","getPluralRules","parts","part","lastPart","mergeLiteral","mergeConfigs","defaultConfig","configs","c1","c2","createFastMemoizeCache","store","IntlMessageFormat","overrideFormats","defaultLocale","formatterCache","pluralRules","ast","resolvedOptions","locale","NumberFormat","supportedLocalesOf","getAst","__parse","DateTimeFormat","memoizedDefaultLocale","enumerable","configurable","integer","percent","short","medium","long","full","IcuFormatter","class_1"],"mappings":";;;;;;;;;;;;;;oFAgBA,IAAIA,EAAgB,SAASC,EAAGC,GAI5B,OAHAF,EAAgBG,OAAOC,gBAClB,CAAEC,UAAW,cAAgBC,OAAS,SAAUL,EAAGC,GAAKD,EAAEI,UAAYH,IACvE,SAAUD,EAAGC,GAAK,IAAK,IAAIK,KAAKL,EAAOC,OAAOK,UAAUC,eAAeC,KAAKR,EAAGK,KAAIN,EAAEM,GAAKL,EAAEK,MAC3EN,EAAGC,IAGrB,SAASS,EAAUV,EAAGC,GACzB,GAAiB,mBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIU,UAAU,uBAAyBC,OAAOX,GAAK,iCAE7D,SAASY,IAAOC,KAAKC,YAAcf,EADnCD,EAAcC,EAAGC,GAEjBD,EAAEO,UAAkB,OAANN,EAAaC,OAAOc,OAAOf,IAAMY,EAAGN,UAAYN,EAAEM,UAAW,IAAIM,GAG5E,IAAII,EAAW,WAQlB,OAPAA,EAAWf,OAAOgB,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAIf,KADTc,EAAIG,UAAUF,GACOnB,OAAOK,UAAUC,eAAeC,KAAKW,EAAGd,KAAIa,EAAEb,GAAKc,EAAEd,IAE9E,OAAOa,IAEKM,MAAMX,KAAMS,YA8BzB,SAASG,EAAUC,EAASC,EAAYC,EAAGC,GAE9C,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUC,GAAS,IAAMC,EAAKN,EAAUO,KAAKF,IAAW,MAAOG,GAAKL,EAAOK,IACpF,SAASC,EAASJ,GAAS,IAAMC,EAAKN,EAAiB,MAAEK,IAAW,MAAOG,GAAKL,EAAOK,IACvF,SAASF,EAAKI,GAJlB,IAAeL,EAIaK,EAAOC,KAAOT,EAAQQ,EAAOL,QAJ1CA,EAIyDK,EAAOL,MAJhDA,aAAiBN,EAAIM,EAAQ,IAAIN,GAAE,SAAUG,GAAWA,EAAQG,OAITO,KAAKR,EAAWK,GAClGH,GAAMN,EAAYA,EAAUL,MAAME,EAASC,GAAc,KAAKS,WAI/D,SAASM,EAAYhB,EAASiB,GACjC,IAAsGC,EAAGC,EAAG3B,EAAG4B,EAA3GC,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAP/B,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,IAAOgC,KAAM,GAAIC,IAAK,IAChG,OAAOL,EAAI,CAAEV,KAAMgB,EAAK,GAAIC,MAASD,EAAK,GAAIE,OAAUF,EAAK,IAAwB,mBAAXG,SAA0BT,EAAES,OAAOC,UAAY,WAAa,OAAO3C,OAAUiC,EACvJ,SAASM,EAAK/B,GAAK,OAAO,SAAUoC,GAAK,OACzC,SAAcC,GACV,GAAId,EAAG,MAAM,IAAIlC,UAAU,mCAC3B,KAAOqC,OACH,GAAIH,EAAI,EAAGC,IAAM3B,EAAY,EAARwC,EAAG,GAASb,EAAU,OAAIa,EAAG,GAAKb,EAAS,SAAO3B,EAAI2B,EAAU,SAAM3B,EAAEV,KAAKqC,GAAI,GAAKA,EAAET,SAAWlB,EAAIA,EAAEV,KAAKqC,EAAGa,EAAG,KAAKlB,KAAM,OAAOtB,EAE3J,OADI2B,EAAI,EAAG3B,IAAGwC,EAAK,CAAS,EAARA,EAAG,GAAQxC,EAAEgB,QACzBwB,EAAG,IACP,KAAK,EAAG,KAAK,EAAGxC,EAAIwC,EAAI,MACxB,KAAK,EAAc,OAAXX,EAAEC,QAAgB,CAAEd,MAAOwB,EAAG,GAAIlB,MAAM,GAChD,KAAK,EAAGO,EAAEC,QAASH,EAAIa,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKX,EAAEI,IAAIQ,MAAOZ,EAAEG,KAAKS,MAAO,SACxC,QACI,KAAMzC,EAAI6B,EAAEG,MAAMhC,EAAIA,EAAEK,OAAS,GAAKL,EAAEA,EAAEK,OAAS,KAAkB,IAAVmC,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAEX,EAAI,EAAG,SACjG,GAAc,IAAVW,EAAG,MAAcxC,GAAMwC,EAAG,GAAKxC,EAAE,IAAMwC,EAAG,GAAKxC,EAAE,IAAM,CAAE6B,EAAEC,MAAQU,EAAG,GAAI,MAC9E,GAAc,IAAVA,EAAG,IAAYX,EAAEC,MAAQ9B,EAAE,GAAI,CAAE6B,EAAEC,MAAQ9B,EAAE,GAAIA,EAAIwC,EAAI,MAC7D,GAAIxC,GAAK6B,EAAEC,MAAQ9B,EAAE,GAAI,CAAE6B,EAAEC,MAAQ9B,EAAE,GAAI6B,EAAEI,IAAIS,KAAKF,GAAK,MACvDxC,EAAE,IAAI6B,EAAEI,IAAIQ,MAChBZ,EAAEG,KAAKS,MAAO,SAEtBD,EAAKf,EAAKnC,KAAKkB,EAASqB,GAC1B,MAAOV,GAAKqB,EAAK,CAAC,EAAGrB,GAAIQ,EAAI,EAAa,QAAED,EAAI1B,EAAI,EACtD,GAAY,EAARwC,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAExB,MAAOwB,EAAG,GAAKA,EAAG,QAAK,EAAQlB,MAAM,GArB9BL,CAAK,CAACd,EAAGoC,MAqCtD,SAASI,EAASC,GACrB,IAAI3C,EAAsB,mBAAXoC,QAAyBA,OAAOC,SAAUO,EAAI5C,GAAK2C,EAAE3C,GAAIC,EAAI,EAC5E,GAAI2C,EAAG,OAAOA,EAAEvD,KAAKsD,GACrB,GAAIA,GAAyB,iBAAbA,EAAEvC,OAAqB,MAAO,CAC1Ca,KAAM,WAEF,OADI0B,GAAK1C,GAAK0C,EAAEvC,SAAQuC,OAAI,GACrB,CAAE5B,MAAO4B,GAAKA,EAAE1C,KAAMoB,MAAOsB,KAG5C,MAAM,IAAIpD,UAAUS,EAAI,0BAA4B,mCAGjD,SAAS6C,EAAOF,EAAGzC,GACtB,IAAI0C,EAAsB,mBAAXR,QAAyBO,EAAEP,OAAOC,UACjD,IAAKO,EAAG,OAAOD,EACf,IAAmBG,EAAY5B,EAA3BjB,EAAI2C,EAAEvD,KAAKsD,GAAOI,EAAK,GAC3B,IACI,WAAc,IAAN7C,GAAgBA,KAAM,MAAQ4C,EAAI7C,EAAEgB,QAAQI,MAAM0B,EAAGN,KAAKK,EAAE/B,OAExE,MAAOiC,GAAS9B,EAAI,CAAE8B,MAAOA,GACrB,QACJ,IACQF,IAAMA,EAAEzB,OAASuB,EAAI3C,EAAU,SAAI2C,EAAEvD,KAAKY,GAE1C,QAAE,GAAIiB,EAAG,MAAMA,EAAE8B,OAE7B,OAAOD,EAmBJ,SAASE,EAAcC,EAAIC,EAAMC,GACpC,GAAIA,GAA6B,IAArBjD,UAAUC,OAAc,IAAK,IAA4B2C,EAAxB9C,EAAI,EAAGoD,EAAIF,EAAK/C,OAAYH,EAAIoD,EAAGpD,KACxE8C,GAAQ9C,KAAKkD,IACRJ,IAAIA,EAAK9D,MAAME,UAAUmE,MAAMjE,KAAK8D,EAAM,EAAGlD,IAClD8C,EAAG9C,GAAKkD,EAAKlD,IAGrB,OAAOiD,EAAGK,OAAOR,GAAM9D,MAAME,UAAUmE,MAAMjE,KAAK8D,ICxKtD,ICHYK,EDGNC,EAAwC,8BACxCC,EAAqC,2BAE3CC,EAAA,WAAA,SAAAA,KAuGA,OAjGE7E,OAAA8E,eAAID,EAAexE,UAAA,kBAAA,CAAnB0E,IAAA,iBACE,OAAe,UAAXnE,KAAKoE,cAAM,IAAAC,OAAA,EAAAA,EAAEC,eACRtE,KAAKoE,OAAOE,eAGhBtE,KAAKuE,mBACRvE,KAAKuE,iBAAmBvE,KAAKwE,sBAGxBxE,KAAKuE,mBAGdE,IAAA,SAAoBC,SAClB,IAAKA,EACH,MAAM,IAAIC,MAAM,yCAAkCD,IAEpD1E,KAAKuE,iBAAmBG,WAGtBL,EAAArE,KAAKoE,6BAAQQ,sBACW,oBAAjBC,cAEPA,aAAaC,QAAQd,EAAoCU,oCAI7DtF,OAAA8E,eAAID,EAAkBxE,UAAA,qBAAA,CAAtB0E,IAAA,WACE,OAAO,IAAIY,IACTC,KAAKC,MAAMJ,aAAaK,QAAQnB,MAIpCU,IAAA,SAAuBU,GACrBN,aAAaC,QACXf,EACAiB,KAAKI,UAAU7F,MAAMkE,KAAK0B,sCAItBlB,EAAAxE,UAAA+E,mBAAR,WACE,GAAIxE,KAAKoE,OAAOQ,oBAAqB,CACnC,IAAMS,EAAiBrF,KAAKsF,oBAC5B,GAAID,EACF,OAAOA,EAIX,GAAIrF,KAAKoE,OAAOmB,wBAAyB,CACvC,IAAMC,EAAmBxF,KAAKyF,yBAC9B,GAAID,EACF,OAAOA,EAIX,OAAOxF,KAAKoE,OAAOsB,iBAGbzB,EAAAxE,UAAA6F,kBAAR,WACE,GAA4B,oBAAjBT,aAA8B,CACvC,IAAMQ,EAAiBR,aAAaK,QAClClB,GAGF,IAAKhE,KAAKoE,OAAOuB,mBACf,OAAON,EAMT,GAFErF,KAAKoE,OAAOuB,mBAAmBC,QAAQP,IAAmB,EAG1D,OAAOA,IAKLpB,EAAAxE,UAAAgG,uBAAR,WACE,GAAsB,oBAAXI,QAA0B7F,KAAKoE,OAAOuB,mBAAoB,CACnE,IAAMG,EAAYD,OAAOE,UAAUrB,SAC7BsB,EAAahG,KAAKoE,OAAOuB,mBAAmBM,MAChD,SAACtC,GAAM,OAAAA,IAAMmC,KAEf,GAAIE,EACF,OAAOA,EAGT,IAAME,EAAgB,SAACC,GAAY,OAAAA,EAAQC,QAAQ,gBAAiB,OAE9DC,EAAqBH,EAAcL,OAAOE,UAAUrB,UACpD4B,EAAiBtG,KAAKoE,OAAOuB,mBAAmBM,MACpD,SAACtC,GAAM,OAAAuC,EAAcvC,KAAO0C,KAE9B,GAAIC,EACF,OAAOA,IAIdrC,KE7GDsC,EAAA,WACE,SAAAA,EAAoBC,GAAAxG,KAAawG,cAAbA,EAKtB,OAHED,EAAA9G,UAAAgH,YAAA,WACEzG,KAAKwG,iBAERD,KCEDG,EAAA,WAAA,SAAAA,IACU1G,KAAS2G,UAAG,EACZ3G,KAAA4G,eAA+C,IAAIC,IAyC7D,OApCEzH,OAAA8E,eAAYwC,EAAajH,UAAA,gBAAA,CAAzB0E,IAAA,WACE,OAAOnE,KAAK4G,gDAGPF,EAAIjH,UAAAqH,KAAX,SAAYC,WACJC,EAAiB,OACvB,IAAuB,IAAAC,EAAAjE,EAAAhD,KAAKkH,cAAcC,UAAQC,EAAAH,EAAA1F,QAAE6F,EAAAzF,KAAAyF,EAAAH,EAAA1F,OAAA,CAA/C,IACG8F,GAAWC,EADAF,EAAA/F,OACS0F,GACQ,mBAAvBM,MAAAA,OAAQ,EAARA,EAAiB,OAC1BL,EAAejE,KAAKsE,qGAIxB,GAA8B,IAA1BL,EAAetG,OAInB,OAAO,IAAIO,SAAQ,SAACC,GAClB,OAAAD,QAAQsG,IAAIP,GAAgBpF,MAAK,WAAM,OAAAV,WAIpCwF,EAASjH,UAAA+H,UAAhB,SAAiBF,GAAjB,IAKCG,EAAAzH,KAJO0H,EAAQ1H,KAAK2G,YACbgB,EAAe,IAAIpB,GAAa,WAAM,OAAAkB,EAAKhB,YAAYiB,MAE7D,OADA1H,KAAKkH,cAAczC,IAAIiD,EAAOJ,GACvBK,GAGDjB,EAAWjH,UAAAgH,YAAnB,SAAoBmB,GACC5H,KAAK4G,eAAeiB,OAAOD,IAG5CE,QAAQC,KAAK,uCAGlBrB,KC/CDsB,EAAA,WACkBhI,KAAAiI,oBACd,IAAIvB,EACU1G,KAAAkI,iBACd,IAAIxB,EACU1G,KAAAmI,gBACd,IAAIzB,EACU1G,KAAAoI,mBACd,IAAI1B,GCZR2B,EAAA,SAAAC,GACE,SAAmBD,EAAAE,EAA2BC,GAA9C,IACEf,EAAAa,EAAA3I,KAAAK,KAAM,mBAIPA,YALkByH,EAAQc,SAARA,EAA2Bd,EAAIe,KAAJA,EAI5CpJ,OAAOC,eAAeoI,EAAMY,EAAa5I,aAE7C,OAPkCG,EAAKyI,EAAAC,GAOtCD,EAPD,CAAkC1D,OCelC8D,EAAA,WACE,SAAAA,EAAoBC,GAAA1I,KAAU0I,WAAVA,EAoEtB,OAlEuBD,EAAYE,aAAjC,SAAkCJ,qGAC5B,KAAAA,EAASK,QAAU,KAAnB,MAAsB,CAAA,EAAA,GAClBtF,EAAQ,IAAI+E,EAAaE,oBAEhB,6BAAA,CAAA,EAAMA,EAASM,sBAAtB9B,EAAO1C,EAAqBjC,OAClCkB,EAAMkF,KAAOzB,EAAKyB,kCAGlBV,QAAQC,KAAK,2DAEf,KAAA,EAAA,MAAMzE,EAER,KAAA,EAAA,MAAA,CAAA,EAAOiF,WAGHE,EAAAhJ,UAAAqJ,MAAN,eAAY,IAAoCC,EAAA,GAAAC,EAAA,EAApCA,EAAoCvI,UAAAC,OAApCsI,IAAAD,EAAoCC,GAAAvI,UAAAuI,gFAC9C,MAAuB,iBAAZD,EAAK,GACP,CAAA,EAAAD,MAAW3I,EAAAA,EAAA,GAAA4I,EAAK,IAAI,CAAAE,IAAKjJ,KAAKkJ,OAAOH,EAAK,GAAGE,QAAQrH,MAAK,SAACwB,GAChE,OAAAqF,EAAeE,aAAavF,QAG1BiB,EAAAlB,EAAiB4F,GAAhBE,EAAG5E,EAAA,GAAK8E,EAAI9E,EAAAT,MAAA,GACnB,CAAA,EAAOkF,MAAKnI,WAAA,EAAA4C,EAAA,CAACvD,KAAKkJ,OAAOD,IAAI9F,EAAKgG,IAAI,IAAEvH,MAAK,SAACwB,GAC5C,OAAAqF,EAAeE,aAAavF,eAI1BqF,EAAAhJ,UAAA2J,UAAN,eAAgB,IAAoCL,EAAA,GAAAC,EAAA,EAApCA,EAAoCvI,UAAAC,OAApCsI,IAAAD,EAAoCC,GAAAvI,UAAAuI,sEAClD,MAAO,CAAA,EAAAhJ,KAAK8I,MAALnI,MAAAX,KAAcuD,EAAA,GAAAJ,EAAA4F,IAAM,IAAAnH,MAAK,SAACyH,GAC/B,OAAOA,EAAIR,kBAITJ,EAAAhJ,UAAA6J,KAAN,SACEL,EACAnH,EACAyH,QAAA,IAAAA,IAAAA,EAAgC,QAChC,IAAuCJ,EAAA,GAAAH,EAAA,EAAvCA,EAAuCvI,UAAAC,OAAvCsI,IAAAG,EAAuCH,EAAA,GAAAvI,UAAAuI,sEAEvC,MAAO,CAAA,EAAAhJ,KAAK8I,MAAKnI,MAAVX,KACLuD,EAAA,CAAA0F,EAEE9I,EAAA,CAAA2B,KAAMkD,KAAKI,UAAUtD,GACrB0H,OAAQ,OACRC,QAAS,CACP,eAAgB,qBAEfF,IAEFpG,EAAAgG,IACH,YAGEV,EAAAhJ,UAAAiK,SAAN,SACET,EACAnH,EACAyH,QAAA,IAAAA,IAAAA,EAAgC,QAChC,IAAuCJ,EAAA,GAAAH,EAAA,EAAvCA,EAAuCvI,UAAAC,OAAvCsI,IAAAG,EAAuCH,EAAA,GAAAvI,UAAAuI,sEAEvC,MAAO,CAAA,EAAAhJ,KAAKsJ,KAAL3I,MAAAX,KAAUuD,EAAA,CAAA0F,EAAKnH,EAAMyH,GAASpG,EAAAgG,IAAM,IAAAvH,MAAK,SAACyH,GAAQ,OAAAA,EAAIR,kBAGvDJ,EAAMhJ,UAAAyJ,OAAd,SAAeS,GACb,IAAMC,EAAiBD,EAAK/D,QAAQ,KAAO,EAAI,IAAM,IACrD,MAAO,GAAA/B,OAAG7D,KAAK0I,WAAWtE,OAAOyF,OAAU,KAAAhG,OAAA8F,UAAOC,EAAc,OAAA/F,OAAM7D,KAAK0I,WAAWtE,OAAO0F,SAEhGrB,KClFDsB,EACE,SACSC,EACAC,EACArC,GAFA5H,KAAGgK,IAAHA,EACAhK,KAAYiK,aAAZA,EACAjK,KAAE4H,GAAFA,GCqBXsC,EAAA,WAWE,SAAAA,EACUxB,EACAyB,EACAC,EACAC,GAJV,IAKI5C,EAAAzH,KAJMA,KAAU0I,WAAVA,EACA1I,KAAWmK,YAAXA,EACAnK,KAAcoK,eAAdA,EACApK,KAAYqK,aAAZA,EAdFrK,KAAAsK,kBAA+C,IAAIzD,IAInD7G,KAAauK,cAAoC,GAIjDvK,KAAUwK,WAA+B,GAsCjDxK,KAAwByK,yBAAG,SAAO1D,GAAS,OAAAnG,EAAA6G,OAAA,OAAA,GAAA,0EASzC,OARM/F,EAAiC,GACvCtC,OAAOsL,QAAQ3D,EAAKkD,cAAcU,SAAQ,SAACtG,GAAA,IAAA4C,EAAA9D,OAACyH,EAAI3D,EAAA,GAAE4D,EAAW5D,EAAA,GACrD6D,EAAarD,EAAK6C,kBAAkBnG,IAAIyG,GAC1CE,IACFA,EAAW/D,EAAKgE,MAAQF,EAAYG,MAEtCtJ,EAAOkJ,GAAQC,EAAYG,QAG3B,CAAA,EAAAhL,KAAKqK,aAAapC,oBAClBnB,KAAK,IAAIiD,EAAgBhD,EAAKgE,KAAMrJ,EAAQqF,EAAKa,oBAFnDvD,EAAAjC,mBA6JFpC,KAAAiL,qBAAuB,SACrBjB,EACA7E,eAAA,IAAAA,IAAAA,EAA6B,IAAAJ,IAAI,CAAC0C,EAAKiB,WAAWwC,6HAElDlL,KAAKmK,YAAYgB,WAAW,sCAMb,6BAJPC,EAAc7H,EAAA,GAAAJ,EAAOgC,IAAS,GAC9BkG,EAAiBD,EACpBE,KAAI,SAAC3H,GAAM,MAAA,oBAAaA,MACxB4H,KAAK,KACK,CAAA,EAAMvL,KAAKoK,eAAehB,UACrC,4BAAAvF,OAA4BwH,EAAc,mBAAAxH,OAAkB2H,mBAC1DxB,aAsBJ,OAxBMjD,EAAO0E,EAIZrJ,OAEKsJ,EAAkBN,EAAeO,QACrC,SAACC,EAAKC,SAAS,cAAMD,KAAGvH,EAAA,IAAGwH,GAAO,GAAKxH,MACvC,KAOEyH,OAJEA,EAAgC,QAApB1E,EAAc,QAAdH,EAAAF,EAAKgF,iBAAS,IAAA9E,OAAA,EAAAA,EAAE+E,YAAI,IAAA5E,OAAA,EAAAA,EAAG,WAIrC0E,EAAW7B,eACb7K,OAAOsL,QAAQoB,EAAU7B,cAAcU,SACrC,SAACtG,GAAA,IAAA4C,EAAA9D,OAACuB,EAAQuC,EAAA,GAAE4D,EAAW5D,EAAA,GACrB,OAACyE,EAAgBhH,GAAamG,EAAoBG,QAIlDiB,EAA8B,QAAtBC,EAAAnF,EAAKoF,yBAAiB,IAAAD,OAAA,EAAAA,EAAEZ,KAAI,SAAC3H,GAAM,OAAAA,EAAEyI,OAEnD,CAAA,EAAO,CAACN,EAAWG,wCAGJ5D,GACS,MAAtBgE,EAAE9D,SAASK,QACA,uBAAXyD,EAAE7D,MAIFnE,EAAArE,KAAK0I,WACH,CAAA,EAAM1I,KAAKmK,YAAYmC,iBALM,CAAA,EAAA,iBAI/BjI,EAAgBkI,mBACdd,EAAArJ,OAEF0F,QAAQxE,MAAM,sDACdkJ,SAASC,eAET,KAAA,EAAA,MAAMJ,8CAuHd,OA3WiBnC,EAAAwC,mBAAf,SAAkCC,EAAiBC,GACjD,OAAID,IAIAC,QAAJ,IAOF1C,EAAAzK,UAAAoN,WAAA,WAAA,MAWCpF,EAAAzH,KAVmD,iBAAf,QAAxBqE,EAAArE,KAAK0I,WAAWtE,cAAQ,IAAAC,OAAA,EAAAA,EAAAyI,aACjC1N,OAAOsL,QAAQ1K,KAAK0I,WAAWtE,OAAO0I,YAAYnC,SAChD,SAACtG,GAAA,IAAA4C,EAAA9D,OAACuB,EAAQuC,EAAA,GAAEF,EAAIE,EAAA,GAEM,mBAATF,GACTU,EAAKsF,gBAAgBrI,EAAUqC,OAOzCmD,EAAAzK,UAAAuN,sBAAA,WACE,OAAOhN,KAAKsK,mBAiBRJ,EAAgBzK,UAAAwN,iBAAtB,SAAuBrC,eAAA,IAAAA,IAAAA,EAAe5K,KAAK0I,WAAWwC,oGAChD,OAAAlL,KAAKkN,cAActC,IACf5K,KAAKuK,cAAcK,aAAiB3J,UACxCjB,KAAKuK,cAAcK,GAAQ5K,KAAKmN,kBAAkBvC,IAEpD,CAAA,EAAM5K,KAAKuK,cAAcK,KAJC,CAAA,EAAA,UAI1BvG,EAAAjC,OACCpC,KAAKqK,aAAalC,gBAA6CrB,KAC9D8D,oBAIJ,OADA5K,KAAKuK,cAAcK,QAAQwC,EACpB,CAAA,EAAApN,KAAKsK,kBAAkBnG,IAAIyG,YAG9BV,EAAAzK,UAAA4N,eAAN,SACErD,EACAY,EACAgC,eADA,IAAAhC,IAAAA,EAAe5K,KAAK0I,WAAWwC,4GAG3B,OAAAlL,KAAKkN,cAActC,GACrB,CAAA,EAAM5K,KAAKiN,iBAAiBrC,IADF,CAAA,EAAA,UAC1BvG,EAAAjC,+BAEEuK,EAAU3M,KAAKsN,aAAatD,EAAKY,IAEzB,CAAA,EAAA,IAEJ2C,EAAevN,KAAK0I,WAAWtE,OAAOoJ,iBACxCxN,KAAKkN,cAAcK,GACrB,CAAA,EAAMvN,KAAKiN,iBAAiBjN,KAAK0I,WAAWtE,OAAOoJ,mBADjB,CAAA,EAAA,WAClCnJ,EAAAjC,wBAEFuK,EAAU3M,KAAKsN,aAAatD,EAAKhK,KAAK0I,WAAWtE,OAAOoJ,mCAG1D,MAAO,CAAA,EAAAtD,EAAmBwC,mBAAmBC,EAASC,YAGlD1C,EAAAzK,UAAAgO,iBAAN,SACE7F,EACAb,2GAGgB,OADhB/G,KAAKmK,YAAYgB,WAAW,qBACN,CAAA,EAAAnL,KAAKoK,eAAeV,SACxC,oBAAA7F,OAAoB+D,EAAmB,mBAAAzH,EAAAA,EAAA,GAElC4G,GACH,CAAA2G,oCAA4BrJ,EAAA0C,EAAK2G,iDAA4BhN,QACzDqG,EAAK2G,gCACLN,EACJO,uBAAiD,QAA1B1G,EAAAF,EAAK4G,6BAAqB,IAAA1G,OAAA,EAAAA,EAAEvG,QAC/CqG,EAAK4G,2BACLP,IAEN,CAAE5D,OAAQ,gBAGZ,OAdM9H,EAAU0F,EAAAhF,OAchB,CAAA,EAAMpC,KAAKyK,yBAAyB/I,WAEpC,OAFA0F,EAAAhF,OAEA,CAAA,EAAOV,WAGHwI,EAASzK,UAAAmO,UAAf,SAAgB7G,yGAEE,OADhB/G,KAAKmK,YAAYgB,WAAW,aACZ,CAAA,EAAMnL,KAAKoK,eAAeV,SACxC,0BAEKvJ,EAAAA,EAAA,GAAA4G,GACH,CAAA2G,oCAA4BrJ,EAAA0C,EAAK2G,iDAA4BhN,QACzDqG,EAAK2G,gCACLN,aAIR,OAVM1L,EAAUuF,EAAA7E,OAUhB,CAAA,EAAMpC,KAAKyK,yBAAyB/I,WAEpC,OAFAuF,EAAA7E,OAEA,CAAA,EAAOV,WAGHwI,EAAezK,UAAAoO,gBAArB,SACEC,mGAGgB,OADhB9N,KAAKmK,YAAYgB,WAAW,qBACN,CAAA,EAAAnL,KAAKoK,eAAeV,SACxC,2BACAoE,WAGF,OALMpM,EAAU2C,EAAAjC,OAKV,CAAA,EAAApC,KAAKyK,yBAAyB,CAClC7C,GAAIlG,EAAOqM,MACXhD,KAAMrJ,EAAOsM,QACb/D,aAAcvI,EAAOuI,uBAGvB,OANA5F,EAAAjC,OAMA,CAAA,EAAOV,WAUHwI,EAAkBzK,UAAAwO,mBAAxB,SAAyB5J,OACvB2F,EAAG3F,EAAA2F,IACHC,EAAY5F,EAAA4F,oHAYZ,OAVMiE,EAA8B,GAEpC9O,OAAOsL,QAAQT,GAAcU,SAAQ,SAACtG,GAAA,IAAA4C,EAAA9D,OAACuB,EAAQuC,EAAA,GAAE5F,EAAK4F,EAAA,GAC9CF,EAAOU,EAAK6C,kBAAkBnG,IAAIO,GACpCqC,IACFmH,EAAIxJ,GAAYqC,EAAKiD,GACrBjD,EAAKiD,GAAO3I,MAIhB,CAAA,EACErB,KAAKqK,aAAapC,oBAClBnB,KAAK,CACLkD,IAAGA,EACHC,aAAYA,YAId,OARAhD,EAAA7E,OAQO,CAAA,EAAA,WAAA,OAAAxB,EAAA6G,OAAA,OAAA,GAAA,wEAOL,OANArI,OAAOsL,QAAQwD,GAAKvD,SAAQ,SAACtG,GAAA,IAAA4C,EAAA9D,OAACuB,EAAQuC,EAAA,GAAE5F,EAAK4F,EAAA,GACrCF,EAAOU,EAAK6C,kBAAkBnG,IAAIO,GACpCqC,IACFA,EAAKiD,GAAO3I,MAId,CAAA,EAAArB,KAAKqK,aACFpC,oBACHnB,KAAK,CACLkD,IAAGA,EACHC,aAAciE,mBALhB7J,EAAAjC,4BAUJ8H,EAAAzK,UAAA0O,uBAAA,SACEnE,EACAY,EACAgC,QADA,IAAAhC,IAAAA,EAAe5K,KAAK0I,WAAWwC,iBAG/B,IAAMyB,EACJ3M,KAAKsN,aAAatD,EAAKY,IACvB5K,KAAKsN,aAAatD,EAAKhK,KAAK0I,WAAWtE,OAAOoJ,kBAChD,OAAOtD,EAAmBwC,mBAAmBC,EAASC,IAyDhD1C,EAAazK,UAAAyN,cAArB,SAAsBtC,GACpB,IAAMwD,EAA4C,gBAAhCpO,KAAK0I,WAAWtE,OAAOiK,KACnCC,OAAmDlB,IAArCpN,KAAKsK,kBAAkBnG,IAAIyG,GACzC2D,EAAaC,QAAQxO,KAAKwK,WAAWI,IAC3C,OAAQwD,IAAcG,IAAgBD,GAG1BpE,EAAiBzK,UAAA0N,kBAA/B,SAAgCvC,6FAE1B,MAD8C,gBAAhC5K,KAAK0I,WAAWtE,OAAOiK,KAEhC,CAAA,EAAMrO,KAAKyO,6BAA6B7D,IADpC,CAAA,EAAA,GACX,KAAA,EAAA,MAAA,CAAA,EAAOvG,UAEA,KAAA,EAAA,MAAA,CAAA,EAAMrE,KAAK0O,4BAA4B9D,IAA9C,KAAA,EAAA,MAAA,CAAA,EAAOvG,kBAIG6F,EAA2BzK,UAAAiP,4BAAzC,SAA0ChK,iHAGpC,MAA0B,mBAFxBiK,EAAsD,QAArC1H,EAAwB,QAAxB5C,EAAArE,KAAK0I,WAAWtE,cAAQ,IAAAC,OAAA,EAAAA,EAAAyI,kBAAa,IAAA7F,OAAA,EAAAA,EAAAvC,IAEpB,CAAA,EAAA,GACnB,CAAA,EAAAiK,YAEnB,OAFM5H,EAAOK,EAAsBhF,OACnCpC,KAAK+M,gBAAgBrI,EAAUqC,GACxB,CAAA,UACF,QAAuBqG,IAAnBuB,EAET,OADA3O,KAAK+M,gBAAgBrI,EAAUiK,GACxB,CAAA,oBAGH1F,EAAM,GAAApF,OACV7D,KAAK0I,WAAWtE,OAAOwK,gBAAkB,KACxC/K,OAAAa,4BAEc,+BAAA,CAAA,EAAMoE,MAAMG,WAC3B,IADMvH,EAAS0F,EAAgBhF,QACpBwG,QAAU,IAOnB,OAJAd,QAAQxE,MACN,uEAEFtD,KAAK+M,gBAAgBrI,EAAU,IACxB,CAAA,oBAGM,6BAAA,CAAA,EAAMhD,EAAOmH,sBAApB9B,EAAOK,EAAmBhF,OAChCpC,KAAK+M,gBAAgBrI,EAAUqC,gCAG/Be,QAAQxE,MAAM,4CAAqC2F,EAAG,MACtDjJ,KAAK6O,qBAAqBnK,qDAI5BoD,QAAQxE,MAAM,gDAAyC2F,EAAG,MAC1DjJ,KAAK6O,qBAAqBnK,oCAIhBwF,EAA4BzK,UAAAgP,6BAA1C,SAA2C/J,8FACzC,KAAA,EAAA,MAAA,CAAA,EAAM1E,KAAKmK,YAAY2E,4BAAvBzK,EAAAjC,OACApC,KAAKmK,YAAYgB,WAAW,sCAEb,6BAAM,CAAA,EAAAnL,KAAKoK,eAAehB,UACrC,4BAA4BvF,OAAAa,mBADxBqC,EAAO1C,EAEZjC,OACDpC,KAAKwK,WAAW9F,IAAY,EAC5B1E,KAAK+M,gBAAgBrI,EAAUqC,EAAKrC,IAAa,iBAKjD,kBAFAoD,QAAQxE,MAAM,mDAAoDyL,GAClE/O,KAAK6O,qBAAqBnK,GACnB,CAAA,4BAIHwF,EAAoBzK,UAAAoP,qBAA5B,SAA6BnK,GAC3B1E,KAAKsK,kBAAkB7F,IAAIC,EAAU,KAG/BwF,EAAAzK,UAAAsN,gBAAR,SAAwBrI,EAAkBqC,GAExC,IAAMiI,EAAW,SAACjI,GAChB,IAAMrF,EAAiC,GAcvC,OAbAtC,OAAOsL,QAAQ3D,GAAM4D,SAAQ,SAACtG,GAAA,IAAA4C,EAAA9D,OAAC6G,EAAG/C,EAAA,GAAE5F,EAAK4F,EAAA,GAElC5F,IAGgB,iBAAVA,EAMXK,EAAOsI,GAAO3I,EALZjC,OAAOsL,QAAQsE,EAAS3N,IAAQsJ,SAAQ,SAACtG,GAAA,IAAA4C,EAAA9D,OAAC8L,EAAOhI,EAAA,GAAEiI,EAASjI,EAAA,GAC1DvF,EAAOsI,EAAM,IAAMiF,GAAWC,SAM7BxN,GAGT1B,KAAKsK,kBAAkB7F,IAAIC,EAAUsK,EAASjI,KAGxCmD,EAAAzK,UAAA6N,aAAR,SACEtD,EACAY,QAAA,IAAAA,IAAAA,EAAe5K,KAAK0I,WAAWwC,iBAE/B,IAAMiE,EAA8BnP,KAAKsK,kBAAkBnG,IAAIyG,GAG/D,QAAawC,IAAT+B,EAIJ,OAAOA,EAAKnF,IAEfE,KCnZDkF,EAAA,WACE,SAAAA,EACU1G,EACA2G,EACAC,GAHV,IAII7H,EAAAzH,KAHMA,KAAU0I,WAAVA,EACA1I,KAAkBqP,mBAAlBA,EACArP,KAAasP,cAAbA,EAkDOtP,KAAAuP,OAAS,SACxB1E,EACA2E,EACA5E,GAEA,IAEE,IAAIlJ,EAA+BmJ,EAQnC,OAPIpD,EAAK6H,cAAcG,YACrB/N,EAAS+F,EAAK6H,cAAcG,UAAUF,OAAO,CAC3C1E,YAAanJ,EACb8N,OAAMA,EACN9K,SAAUkG,GAAQnD,EAAKiB,WAAWwC,mBAG/BxJ,EACP,MAAOF,GAGPsG,QAAQxE,MAAM9B,KAGpB,OArEQ4N,EAAS3P,UAAAiQ,UAAf,SACE1F,EACAwF,EACA5E,EACA+E,EACA/C,eAFA,IAAAhC,IAAAA,EAAO5K,KAAK0I,WAAWwC,mGAIH,KAAA,EAAA,MAAA,CAAA,EAAMlL,KAAKqP,mBAAmBhC,eAChDrD,EACAY,EACAgC,WAEF,OALM/B,EAAcxG,EAInBjC,OACD,CAAA,EAAOpC,KAAK4P,kBAAkB5F,EAAKa,EAAa2E,EAAQ5E,EAAM+E,YAGhEP,EAAO3P,UAAAoQ,QAAP,SACE7F,EACAwF,EACA5E,EACA+E,EACA/C,QAFA,IAAAhC,IAAAA,EAAO5K,KAAK0I,WAAWwC,iBAIvB,IAAML,EAAc7K,KAAKqP,mBAAmBlB,uBAC1CnE,EACAY,EACAgC,GAGF,OAAO5M,KAAK4P,kBAAkB5F,EAAKa,EAAa2E,EAAQ5E,EAAM+E,IAGxDP,EAAiB3P,UAAAmQ,kBAAzB,SACE5F,EACAa,EACA2E,EACA5E,EACA+E,GAEA,YAAoBvC,IAAhBvC,EACK7K,KAAKuP,OAAO1E,EAAa2E,EAAQ5E,GAErC+E,EAGE,GAFE3F,GA2BZoF,KR5EAU,EAAAhM,iBAAA,GALWA,EAAAA,EAAWA,cAAXA,cAKX,KAJCA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,QAAA,GAAA,UACAA,EAAAA,EAAA,MAAA,GAAA,QACAA,EAAAA,EAAA,KAAA,GAAA,OSCF,IAAAiM,EAAA,WAQE,SAAAA,EAAoBrH,GAApB,IAA8CjB,EAAAzH,KAA1BA,KAAU0I,WAAVA,EAPZ1I,KAAAgQ,SAAW,IAAIjL,IACf/E,KAAAiQ,QAAgC,IAAIlL,IAEpC/E,KAAAkQ,eAAiB,IAAIxJ,EACrB1G,KAAAmQ,YACN,IAAIzJ,EA0EW1G,KAAAoQ,oBAAsB,WACrC3I,EAAK4I,cACD5I,EAAK6I,eAAiB7I,EAAK8I,cAC7B9I,EAAK+I,aAIQxQ,KAAAwQ,UAAY,WAC3B/I,EAAK8I,aAAaE,QAAQD,YAC1B/I,EAAKiJ,YAAcjJ,EAAK8I,cAGTvQ,KAAAqQ,YAAc,WACzB5I,EAAKiJ,cACPjJ,EAAKiJ,YAAYD,QAAQJ,cACzB5I,EAAKiJ,YAAc,OAIN1Q,KAAU2Q,WAAG,SAACC,GAC7BA,EAAQH,QAAQI,cAAe,EAC/BpJ,EAAKwI,QAAQpI,OAAO+I,GACpBnJ,EAAKyI,eAAepJ,KAAKW,EAAK8I,eAGfvQ,KAAW8Q,YAAG,SAC7BF,GAEAnJ,EAAKsJ,gBACLH,EAAQH,QAAQI,cAAe,EAC/BpJ,EAAKwI,QAAQpI,OAAO+I,GACpBnJ,EAAKwI,QAAQe,IAAIJ,GACjBnJ,EAAKyI,eAAepJ,KAAKW,EAAK8I,eA2ClC,OAjJER,EAAAtQ,UAAAwR,IAAA,WACwB,oBAAXpL,QACT7F,KAAKkR,mBAKTnB,EAAAtQ,UAAA0R,OAAA,SACEP,EACAQ,GAFF,IAwBC3J,EAAAzH,KApBK4Q,EAAQH,QAAQY,yBAElBvJ,QAAQxE,MACN,8EAIJsN,EAAQH,QAAQY,0BAA2B,EAE3CrR,KAAKsR,mBAAmBV,EAASQ,GAEjCpR,KAAKkQ,eAAe1I,WAAU,WACxBC,EAAKiJ,cAAgBjJ,EAAK8I,cAC5B9I,EAAK2I,yBAITpQ,KAAKmQ,YAAY3I,WAAU,WACzBC,EAAK2I,2BAIDL,EAAAtQ,UAAA6R,mBAAR,SACEV,EACAQ,GAFF,IAmCC3J,EAAAzH,KA/BO8Q,EAAc,WAAM,OAAArJ,EAAKqJ,YAAYF,IACrCD,EAAa,WAAM,OAAAlJ,EAAKkJ,WAAWC,IACnCW,EAAU,SAAC/P,GACXiG,EAAK6I,eAAiB7I,EAAKiJ,cAAgBlP,EAAEgQ,gBAC/ChQ,EAAEiQ,kBACFjQ,EAAEkQ,iBACFN,EAAQ5P,KAIZoP,EAAQe,iBAAiB,YAAab,GACtCF,EAAQe,iBAAiB,QAASJ,EAAS,CAAEK,SAAS,IAEtD,IAAMC,EAAkB,SAACrQ,GACnBiG,EAAK6I,gBACP9O,EAAEiQ,kBACFjQ,EAAEkQ,mBAINd,EAAQe,iBAAiB,YAAaE,GACtCjB,EAAQe,iBAAiB,UAAWE,GACpCjB,EAAQe,iBAAiB,WAAYhB,GAErCC,EAAQH,QAAQqB,wBAA0B,WACxClB,EAAQmB,oBAAoB,YAAaF,GACzCjB,EAAQmB,oBAAoB,UAAWF,GACvCjB,EAAQmB,oBAAoB,YAAajB,GACzCF,EAAQmB,oBAAoB,QAASR,EAAS,CAAEK,SAAS,IACzDhB,EAAQmB,oBAAoB,WAAYpB,KAuCpCZ,EAAAtQ,UAAA8Q,WAAR,WACE,IAAMyB,EAAezS,MAAMkE,KAAKzD,KAAKiQ,SACrC,OAAO+B,EAAatR,OAASsR,EAAa,QAAK5E,GAGzC2C,EAAAtQ,UAAAyR,gBAAR,WAAA,IAiBCzJ,EAAAzH,KAhBC6F,OAAO8L,iBAAiB,QAAQ,WAC9BlK,EAAKuI,SAAW,IAAIjL,IACpB0C,EAAK0I,YAAYrJ,KAAKW,EAAK6I,kBAG7BzK,OAAO8L,iBAAiB,WAAW,SAACnQ,GAClC,IAAMyQ,EAAcnO,EAAAA,YAAYtC,EAAEwI,UACdoD,IAAhB6E,IACFxK,EAAKuI,SAASgB,IAAIiB,GAClBxK,EAAK0I,YAAYrJ,KAAKW,EAAK6I,mBAG/BzK,OAAO8L,iBAAiB,SAAS,SAACnQ,GAChCiG,EAAKuI,SAASnI,OAAO/D,EAAWA,YAACtC,EAAEwI,MACnCvC,EAAK0I,YAAYrJ,KAAKW,EAAK6I,mBAIvBP,EAAAtQ,UAAAsR,cAAR,WAAA,IAMCtJ,EAAAzH,KALCA,KAAKiQ,QAAQtF,SAAQ,SAACuH,GACfC,SAASC,SAASF,IACrBzK,EAAKwI,QAAQpI,OAAOqK,OAKlBnC,EAAAtQ,UAAA6Q,YAAR,uBACE,IAAkB,IAAArJ,EAAAjE,EAAAhD,KAAK0I,WAAWtE,OAAOiO,eAAajL,EAAAH,EAAA1F,QAAE6F,EAAAzF,KAAAyF,EAAAH,EAAA1F,OAAA,CAAnD,IAAMyI,EAAG5C,EAAA/F,MACZ,IAAKrB,KAAKgQ,SAASsC,IAAItI,GACrB,OAAO,oGAGX,OAAO,GAEV+F,KC1JDwC,EAAA,WAIE,SAAAA,EAAoBC,GAApB,IAAuD/K,EAAAzH,KAAnCA,KAAYwS,aAAZA,EA+FZxS,KAAAyS,gBAAkB,SAAOjR,EAAeoP,GAAwB,OAAAhQ,EAAA6G,OAAA,OAAA,GAAA,8DACrD,KAAA,EAAA,MAAA,CAAA,EAAMzH,KAAK0S,sBACxB,MAAoB,iBADlBC,EAAWtO,EAAwBjC,QACT,CAAA,EAAA,GACZ,CAAA,EAAApC,KAAK4S,iBAAiBpR,EAAGoP,WAC3C,OADM5G,EAAM3F,EAAuCjC,SAEjDuQ,EAASE,aAAa7I,EAAIA,IAAKA,EAAI4C,cAC5B,CAAA,IAEF,CAAA,4BAGb,OAxGiB2F,EAAaO,cAA5B,SAA6BC,GAE3B,OADcxT,MAAMkE,KAAKsP,EAAKtC,QAAQuC,OACzBrH,QACX,SAACC,EAAKC,GAAS,OAAAtI,EAAAA,EAAA,GAAAJ,EACVyI,IAAG,GAAAzI,EACH0I,EAAK4E,QAAQzE,KAAKV,KAAI,SAAC2H,GAAM,MAAC,CAC/BjJ,IAAKiJ,EAAEjJ,IACP4C,aAAcqG,EAAErG,mBACf,KAEL,KAIJ2F,EAAM9S,UAAAyT,OAAN,SAAOtC,GAAP,IAMCnJ,EAAAzH,KALCA,KAAKwS,aAAaW,6BAA6BC,cAAcxC,GAC7D5Q,KAAKwS,aAAaa,kBAAkBlC,OAClCP,GACA,SAAOpP,GAAC,OAAAZ,EAAA6G,OAAA,OAAA,GAAA,WAAA,OAAA5F,EAAA7B,MAAA,SAAAqE,0BAAK,MAAM,CAAA,EAAArE,KAAKyS,gBAAgBjR,EAAGoP,IAA9B,KAAA,EAAA,MAAA,CAAA,EAAAvM,qBAIHkO,EAAA9S,UAAAiT,YAAd,6HACM,QAAmBtF,IAAnBpN,KAAKsT,UAAL,MAA4B,CAAA,EAAA,IACxBC,EAAoB,CACxBvT,KAAKwS,aAAa9J,WAAWtE,OAAOoP,GACpC3N,OAAO,wDAEqB4N,EAAAzQ,EAAAuQ,GAAiBG,EAAAD,EAAAlS,6CAApCoS,EAAeD,EAAArS,iBAGKJ,QACvB,CAAA,EAAM0S,GADwB,CAAA,EAAA,iBAC9BtP,EAAA+C,sBACA/C,EAAAsP,mBAQN,GAAgC,mBAL1BC,EACsB,iBAPtBC,EAGexP,GAKfwP,MAAAA,OAAA,EAAAA,EAAgBC,GAChBD,GAIJ,OADA7T,KAAKsT,UAAY,IAAIM,EAAiB5T,KAAKwS,cACrC,CAAA,EAAA,6MAGapF,IAAnBpN,KAAKsT,WAEPxL,QAAQC,KACN,uLAKN,MAAO,CAAA,EAAA/H,KAAKsT,mBAGAf,EAAA9S,UAAAmT,iBAAd,SACEmB,EACAnD,yGAEA,OAAIA,EAAQH,QAAQuD,0BACX,CAAA,EAAA,CACLhK,IAAK4G,EAAQH,QAAQuD,0BACrBpH,aAAcgE,EAAQH,QAAQwD,qCAG5BC,EAAmB3B,EAAuBO,cAAclC,IAGxDuD,EAAS,IAAIpP,IACjBmP,EAAiB5I,KAAI,SAAC8I,GAAmB,OAAAA,EAAepK,SAE/CqK,KAAO,EACC,CAAA,EAAMrU,KAAK0S,eADX,CAAA,EAAA,WAGG,MAAM,CAAA,EAFTrO,EAAwBjC,OAENkS,OAAO,CACxCtI,KAAMmI,EACNI,UAAWR,YAIb,GANMS,EAAcnQ,EAGlBjC,OAEIqS,EAAQP,EAAiBjO,MAAK,SAACyO,GAAQ,OAAAA,EAAI1K,MAAQwK,KAEvD,MAAA,CAAA,EAAOC,oBAGX,OAAoB,IAAhBN,EAAOE,KACT,CAAA,EAAOH,EAAiB,KAG1BpM,QAAQxE,MAAM,sEAcjBiP,KCpHYoC,EAAiC,yBAEjCC,EAAwB,UACxBC,EAA0B,iBAC1BC,EAAqC,uBCDlDC,EAAA,WAAA,SAAAA,KAsFA,OArFSA,EAAAC,SAAP,eACE,IAA2DjM,EAAA,GAAAC,EAAA,EAA3DA,EAA2DvI,UAAAC,OAA3DsI,IAAAD,EAA2DC,GAAAvI,UAAAuI,GAE3D,OAAOzJ,MAAMkE,KAAKzD,KAAKiV,kBAAiBtU,MAAtBX,KAAIuD,EAAA,GAAAJ,EAAsB4F,IAAI,MAG3CgM,EAAAG,iBAAP,eACE,IAA2DnM,EAAA,GAAAC,EAAA,EAA3DA,EAA2DvI,UAAAC,OAA3DsI,IAAAD,EAA2DC,GAAAvI,UAAAuI,GAE3D,IAAMmM,EAAMnV,KAAKgV,eAALhV,KAAIuD,EAAA,GAAAJ,EAAgB4F,IAAI,IACpC,GAAmB,IAAfoM,EAAIzU,OACN,OAAOyU,EAAI,GAEb,GAAIA,EAAIzU,OAAS,EACf,MAAM,IAAIiE,MAAM,oBAElB,MAAM,IAAIA,MAAM,4BAGJoQ,EAAcK,eAA5B,SAA6BrC,GAC3B,OAAIA,aAAgBsC,KACXtC,EAAKuC,cAEPvC,GAGFgC,EAAgBQ,iBAAvB,SAAwBxC,GACtB,OAAIA,EAAKuC,cACAvC,EAAKuC,cAETvC,EAAcyC,aACTzC,EAAcyC,kBADxB,GAKKT,EAAsBU,uBAA7B,SAA8B7E,GAC5B,OAAOA,EAAQ8E,aAAab,IAGvBE,EAA0BY,2BAAjC,SAAkC/E,GAChCA,EAAQgF,aAAaf,EAAyB,KAGzCE,EAA4Bc,6BAAnC,SAAoCjF,GAClCA,EAAQkF,gBAAgBjB,IAGnBE,EAAAgB,aAAP,SAAoBC,EAAkBjD,GACpC,GAAIiD,EAAW5D,SAASW,GACtB,OAAO,EAET,GAAIA,aAAgBkD,KAAM,CACxB,IAAMC,EACJnD,EAAKyC,cACLpW,OAAO+H,OAAO4L,EAAKyC,aAAaW,YAAYvQ,QAAQmN,IAAS,EAC/D,GAAIiD,EAAW5D,SAASW,EAAKyC,eAAiBU,EAC5C,OAAO,EAGX,OAAO,GAGOnB,EAAAE,kBAAhB,SACEmB,EACAC,6DAGMC,EAAYnE,SAAS6C,SACzBoB,EACAC,OACAjJ,EACAmJ,YAAYC,kCAE8B,QAApCzD,EAAOuD,EAAUG,eAAuB,CAAA,EAAA,GAC9C,CAAA,EAAM1D,iBAAN1O,EAAAjC,mCAIG2S,EAAW2B,YAAlB,SAAmB3D,GACjB,OAAOA,EAAK4D,aAGP5B,EAAA6B,YAAP,SAAmB7D,EAAY/H,GAC7B+H,EAAK4D,YAAc3L,GAEtB+J,KCjFD8B,EAAA,WAGE,SAAAA,EACUnO,EACAoO,EACAzM,GAFArK,KAAU0I,WAAVA,EACA1I,KAAsB8W,uBAAtBA,EACA9W,KAAYqK,aAAZA,EALFrK,KAAA+W,mBAA2C,IAAIhS,IAkGzD,OA1FE8R,EAAQpX,UAAAuX,SAAR,SAASpG,SAGyCxD,IAA9CpN,KAAKiX,eAAerG,GAASrP,OAAOF,OACnCuP,EAAQH,QAAQuD,6BAKe,gBAAhChU,KAAK0I,WAAWtE,OAAOiK,MACtBrO,KAAK+W,mBAAmBzE,IAAI1B,IAE7B5Q,KAAK8W,uBAAuB5D,OAAOtC,GAErC5Q,KAAK+W,mBAAmB/F,IAAIJ,GAE1B5Q,KAAKqK,aAAajC,mBAClBtB,KAAK8J,KAGTiG,EAAApX,UAAAyX,WAAA,uBACE,IAAsB,IAAAjQ,EAAAjE,EAAAhD,KAAK+W,gCAAoB3P,EAAAzF,KAAAyF,EAAAH,EAAA1F,OAAA,CAA1C,IAAMqP,EAAOxJ,EAAA/F,MACXuP,EAAQH,QAAQI,eACnB7Q,KAAKmX,0BAA0BvG,GAEE,IAA/BA,EAAQH,QAAQuC,MAAMqB,MACrBzD,EAAQH,QAAQuD,2BAEjBhU,KAAKoX,aAAaxG,wGAM1BiG,EAAApX,UAAA4X,SAAA,uBACE,IAAgC,IAAApQ,EAAAjE,EAAAhD,KAAK+W,gCAAoB3P,EAAAzF,KAAAyF,EAAAH,EAAA1F,OAAA,CAApD,IAAM+V,EAAiBlQ,EAAA/F,MAC1BrB,KAAKoX,aAAaE,uGAItBT,EAAYpX,UAAA8X,aAAZ,SAAavN,eACLtI,EAA4B,OAClC,IAAgC,IAAA0F,EAAApE,EAAAhD,KAAK+W,gCAAoB7K,EAAAvK,KAAAuK,EAAA9E,EAAA7F,OAAA,CAApD,IAAM+V,EAAiBpL,EAAA7K,MAC1B,GAAIiW,EAAkB7G,QAAQuD,4BAA8BhK,MAI5D,IAAmB,IAAAyB,GAAAsD,OAAA,EAAA/L,EAAAsU,EAAkB7G,QAAQuC,QAAKwE,EAAA/L,EAAAlK,QAAEiW,EAAA7V,KAAA6V,EAAA/L,EAAAlK,OAAA,CAClD,GADaiW,EAAAnW,MAENoP,QAAQzE,KAAKyL,WAChB,SAACC,GAAkB,OAAAA,EAAc1N,MAAQA,MACtC,EACL,CACAtI,EAAOqB,KAAKuU,GACZ,8GAVF5V,EAAOqB,KAAKuU,qGAchB,OAAO5V,GAGDmV,EAAyBpX,UAAA0X,0BAAjC,SAAkCvG,GAC5B5Q,KAAK2X,gBAAgB/G,KACvBA,EAAQH,QAAQuC,MAAQ,IAAIjO,IAAI/E,KAAKiX,eAAerG,MAKhDiG,EAAYpX,UAAA2X,aAApB,SAAqBxG,GACdA,EAAQH,QAAQI,eACoC,mBAA5CD,EAAQH,QAAQqB,yBACzBlB,EAAQH,QAAQqB,0BAElBlB,EAAQkF,gBAAgBlB,UACjBhE,EAAQH,QACfzQ,KAAK+W,mBAAmBlP,OAAO+I,KAI1BiG,EAAcpX,UAAAwX,eAAvB,SAAwBrG,4FACHvM,EAAArB,EAAA4N,EAAQH,QAAQuC,OAAK/L,EAAA5C,EAAA9C,6CAA7BwR,EAAI9L,EAAA5F,MACT0T,EAAWgB,aAAa/V,KAAK0I,WAAWtE,OAAOwT,cAAe7E,GAChE,CAAA,EAAMA,GAD+D,CAAA,EAAA,WACrE7G,EAAA9J,wNAKEyU,EAAepX,UAAAkY,gBAAvB,SAAwB/G,GACtB,OAAO5Q,KAAK0I,WAAWtE,OAAOwT,cAAcxF,SAASxB,IAExDiG,KCvGDgB,EAAA,WACE,SAAAA,EACUnP,EACAoP,EACAC,GAFA/X,KAAU0I,WAAVA,EACA1I,KAAW8X,YAAXA,EACA9X,KAAa+X,cAAbA,EAGF/X,KAASgY,eAAG5K,EACZpN,KAAUiY,YAAG,EAuDvB,OArDE7Y,OAAA8E,eAAY2T,EAAQpY,UAAA,WAAA,CAApB0E,IAAA,WAAA,IA4BCsD,EAAAzH,KADC,OA1BKA,KAAKgY,WAA+B,oBAAXnS,SAC5B7F,KAAKgY,UAAY,IAAIE,kBACnB,SAAOC,GAA+B,OAAAvX,EAAA6G,OAAA,OAAA,GAAA,sGACb2Q,EAAApV,EAAAmV,GAAaE,EAAAD,EAAA7W,6CAAzB+W,EAAQD,EAAAhX,MACZrB,KAAKiY,WAIY,kBAAlBK,EAASC,KAAwB,CAAA,EAAA,GAC7B,CAAA,EAAAvY,KAAK8X,YAAYU,WAAWF,EAASG,SAHpC,CAAA,WAIP,OADAxR,EAAA7E,OACS,CAAA,EAAA,UAEP,MAAkB,cAAlBkW,EAASC,KAAoB,CAAA,EAAA,GACzB,CAAA,EAAAvY,KAAK8X,YAAYY,cAAcJ,EAASG,gBAC9C,OADAxR,EAAA7E,OACS,CAAA,EAAA,UAEP,MAAkB,eAAlBkW,EAASC,KAAqB,CAAA,EAAA,GAC1B,CAAA,EAAAvY,KAAK8X,YAAYa,gBACrBL,EAASG,gBADXxR,EAAA7E,oNAKJpC,KAAK+X,cAAcb,4BAIlBlX,KAAKgY,2CAGPH,EAAApY,UAAAmZ,QAAP,WACE,GAAK5Y,KAAK6Y,SAAV,CAGA,GAAI7Y,KAAKiY,WACP,MAAM,IAAItT,MAAM,uCAElB3E,KAAKiY,YAAa,EAClBjY,KAAK6Y,SAASD,QAAQ5Y,KAAK0I,WAAWtE,OAAOwT,cAAe,CAC1DzB,YAAY,EACZ2C,WAAW,EACXC,SAAS,EACTC,eAAe,MAIZnB,EAAApY,UAAAwZ,cAAP,WACOjZ,KAAK6Y,WAGV7Y,KAAKiY,YAAa,EAClBjY,KAAK6Y,SAASK,eAEjBrB,KC3DDsB,EAAA,WAGE,SACUA,EAAAzQ,EACA0B,GADApK,KAAU0I,WAAVA,EACA1I,KAAcoK,eAAdA,EA4DZ,OAzDQ+O,EAAA1Z,UAAA6M,aAAN,6GAQK,OAPGtM,KAAKoZ,2BAA2BnY,UACpCjB,KAAKoZ,gBAAkBpZ,KAAKoK,eAAehB,UACzC,sCAIkBrE,IAAGsU,KAChB,CAAA,EAAArZ,KAAKoZ,wBAOd,OARMjU,EAAY,IAAId,EAAA1D,MAAAoE,IACpB,MAAA,EAACkC,SAA4B8E,UAAU5G,UAAUmG,KAAI,SAAC3H,GAAM,OAAAA,EAAEyI,UAEhEpM,KAAK0I,WAAW6D,mBAAqB,IAAIxH,IACvCxF,MAAMkE,KAAKzD,KAAK0I,WAAW6D,oBAAoB+M,QAAO,SAAC3V,GACrD,OAAAwB,EAAUmN,IAAI3O,OAGlB,CAAA,EAAOwB,WAGHgU,EAAA1Z,UAAA8Z,iBAAN,qGAEoB,OADlBvZ,KAAKsM,eACmB,CAAA,EAAAtM,KAAKoZ,wBAC7B,MAAA,CAAA,EADkB/U,EAA0BjC,OAC3B2J,UAAU5G,mBAGvBgU,EAAA1Z,UAAA+Z,iBAAN,2GAEW,6BAAM,CAAA,EAAAxZ,KAAKoK,eAAehB,UAAU,wBAA3C,KAAA,EAAA,MAAA,CAAA,EAAO/E,mCAGPyD,QAAQxE,MAAM+I,GAEdvE,QAAQxE,MACN,8DAEFtD,KAAK0I,WAAWtE,OAAOiK,KAAO,4CAIlC8K,EAAc1Z,UAAAga,eAAd,SAAeC,GACb,OAAO1Z,KAAK0I,WAAWiR,OAAO/T,QAAQ8T,IAAU,GAGlDP,EAAU1Z,UAAA0L,WAAV,SAAWuO,GACT,IAAK1Z,KAAKyZ,eAAeC,GACvB,MAAM,IAAI/U,MACR,4EAKAwU,EAAA1Z,UAAAqP,kBAAN,uHACiC1B,IAA3BpN,KAAK0I,WAAWiR,OAAoB,CAAA,EAAA,GACtB,CAAA,EAAM3Z,KAAKwZ,2BAArBI,EAAUvV,EAA6BjC,OAC7CpC,KAAK0I,WAAWiR,OAASC,EAAQD,OACjC3Z,KAAK0I,WAAWmR,UAAYD,EAAQC,6CAGzCV,KClEKW,EAAkC,WACtC,GAAwB,oBAAb3H,SACT,OAAOA,SAASrQ,MAgBpBiY,EA2DE,SAAY3V,GAvDZpE,KAAWga,YAAY,aACvBha,KAAWia,YAAY,MAQvBja,KAAe0F,gBAAY,KAa3B1F,KAAmB4E,qBAAa,EAIhC5E,KAAuBuF,yBAAa,EACpCvF,KAAc4O,eAAY,QAI1B5O,KAAAka,cAA8C,CAC5CC,SAAU,CAAC,eACXC,MAAO,CAAC,QAAS,eACjBC,IAAK,CAAC,OACN,IAAK,CAAC,aAAc,UAEtBra,KAAAqS,cAAgC,CAACvO,EAAWA,YAACwW,KAC7Cta,KAAAua,aAEmC,CAAC,SAAU,YAC9Cva,KAAAwa,mBAAgC,CAAC,SAAU,SAC3Cxa,KAAcya,eAAY,mBAK1Bza,KAAW0a,YAA0B,OAKrC1a,KAAe2a,iBAAa,EAK1Bvb,OAAO8E,eAAelE,KAAM,gBAAiB,CAC3CyE,IAAA,SAAImT,GACF,QAA2BxK,IAAvBpN,KAAK4X,cACP,MAAM,IAAIjT,MAAM,sCAKlB,QAHsByI,IAAlBwK,IACF5X,KAAK4a,eAAiBd,KAEpB/E,EAAWU,uBAAuBmC,GAGpC,MADA9P,QAAQxE,MAAM,mBAAoBtD,KAAK4a,gBACjC,IAAIjW,MACR,6DAGJ3E,KAAK4a,eAAiBhD,EACtB7C,EAAWY,2BAA2B3V,KAAK4a,iBAE7CzW,IAAG,WACD,OAAOnE,KAAK4a,kBAIhBxb,OAAOgB,OAAOJ,KAAMoE,GAAU,IACA,oBAAnByW,iBACT7a,KAAK6J,OACHgR,eAAe3V,QA3GO,oBA2G2BlF,KAAK6J,OACxD7J,KAAK8J,OACH+Q,eAAe3V,QA9GO,oBA8G2BlF,KAAK8J,aAE9BsD,IAAxBpN,KAAK4a,iBACP5a,KAAK4a,eAAiBd,KAExB9Z,KAAKqO,KAAOrO,KAAKqO,OAASrO,KAAK8J,OAAS,cAAgB,cACxD9J,KAAKwN,iBAAmBxN,KAAKwN,kBAAoBxN,KAAK0F,qBACnC0H,IAAfpN,KAAK8a,QACP9a,KAAK8a,MAAsB,gBAAd9a,KAAKqO,WAEYjB,IAA5BpN,KAAK2F,oBAAoC3F,KAAK8M,aAChD9M,KAAK2F,mBAAqBvG,OAAO4M,KAAKhM,KAAK8M,cCpHjDiO,EAAA,WAGE,SACUA,EAAAC,EACAtS,EACA2B,EACA4Q,EACA5L,GALV,IAMI5H,EAAAzH,KALMA,KAAQgb,SAARA,EACAhb,KAAU0I,WAAVA,EACA1I,KAAYqK,aAAZA,EACArK,KAAgBib,iBAAhBA,EACAjb,KAAkBqP,mBAAlBA,EAPHrP,KAAgBkb,kBAAG,EA4BVlb,KAAcmb,eAAG,SAC/BrN,GAEA,OAAO,IAAI7M,SAAQ,SAACC,EAASC,GAC3BsG,EAAK4H,mBACFpB,mBAAmBH,GACnBlM,MAAK,SAAOwZ,GAAY,OAAAxa,EAAA6G,OAAA,OAAA,GAAA,4EAGrB,6BADAzH,KAAKqb,kBAAkBvN,EAAgB9D,KACvC,CAAA,GC/CUsR,ED+CE,IC9CtB,IAAIra,SAAQ,SAACC,GAAY,OAAAqa,WAAWra,EAASoa,sBD8CnCjX,EAAAjC,OACApC,KAAKgb,SAASQ,KAAK,0BACbC,EAASzb,KAAKgb,SAAS9H,OAC3B,2BACA,SAACnM,GACCU,EAAKiU,oBAAoB5N,EAAgB9D,KACzC9I,EAAQ6F,GACRqU,IACAK,sCAIJL,IACAja,EAAOkL,0BC5DE,IAACiP,WD+DbK,OAAM,SAACna,GACNL,EAAOK,UAiBExB,KAAA4b,UAAY,WAC3B,IAAMC,EAAmB1b,EAAAA,EAAA,GAKpBsH,EAAKiB,YAAU,CAClBtE,OAAQjE,EACHA,EAAA,GAAAsH,EAAKiB,WAAWtE,QAAM,CAEzB0I,gBAAYM,EACZwK,mBAAexK,EACfwN,oBAAgBxN,EAChBoG,QAAIpG,IAEN0O,UAAWtN,QAAQ/G,EAAKiB,WAAWtE,OAAOoP,IAC1CuI,UAAW,UAGTC,EAAsB,KAEpBC,EAAO,WACXxU,EAAKuT,SAASQ,KAAK,eAAgBK,IAE/BK,EAAS,WACbC,cAAcH,IAGhBvU,EAAKuT,SAAS9H,OAAO,uBAAuB,WAC1CzL,EAAKyT,kBAAmB,EACxBzT,EAAKuT,SAASQ,KAAK,eAAgBK,GACnCK,OAGFD,IAGA,IAAIG,EAAU,EACdJ,EAAQK,aAAY,YACb5U,EAAKyT,kBAAoBkB,EAAU,GACtCH,IACAG,GAAW,GAEXF,MAED,MAEP,OA5GEnB,EAAAtb,UAAAwR,IAAA,WACE,IACEjR,KAAKgb,SAASsB,iBACdtc,KAAK4b,YACL,MAAOpa,GAEPsG,QAAQC,KAAKvG,GAEbsG,QAAQC,KACN,0EAKNgT,EAAAtb,UAAA8c,KAAA,WACEvc,KAAKgb,SAASwB,iBAkCRzB,EAAiBtb,UAAA4b,kBAAzB,SAA0BrR,GACxBhK,KAAKib,iBACF1D,aAAavN,GACbW,SAAQ,SAACuH,GAAO,OAAAA,EAAGzB,QAAQD,gBAGxBuK,EAAmBtb,UAAAic,oBAA3B,SAA4B1R,GAC1BhK,KAAKib,iBACF1D,aAAavN,GACbW,SAAQ,SAACuH,GAAO,OAAAA,EAAGzB,QAAQJ,kBAkDjC0K,KElHD0B,EAAA,WAAA,SAAAA,IAAA,IA6CChV,EAAAzH,KA5CSA,KAAS0c,UAAe,GAGvB1c,KAAAsc,eAAiB,WACxB,IAAMK,EAAiB,SAACC,GAClBA,EAAMC,QAAUhX,QAGpB4B,EAAKiV,UAAU/R,SAAQ,SAACmS,GAClBA,EAASvE,MAAQqE,EAAM7V,KAAKwR,MAC9BuE,EAASxV,SAASsV,EAAM7V,KAAKA,UAKnClB,OAAO8L,iBAAiB,UAAWgL,GAAgB,GAEpB,mBAAxBlV,EAAKsV,gBAAiCtV,EAAKsV,iBAClDtV,EAAKsV,eAAiB,WACpBlX,OAAOkM,oBAAoB,UAAW4K,GAAgB,KAQjD3c,KAAAkT,OAAS,SAACqF,EAAcjR,GAC/B,IAAM0V,EAAe,CAAEzE,OAAMjR,SAAQA,GAGrC,OAFAG,EAAKiV,UAAU3Z,KAAKia,GAEb,WACLvV,EAAKiV,UAAUO,OAAOxV,EAAKiV,UAAU9W,QAAQoX,GAAe,KAIvDhd,KAAAwb,KAAO,SAACjD,EAAcxR,GAC7B,IACElB,OAAOqX,YAAY,CAAE3E,KAAIA,EAAExR,KAAIA,GAAIlB,OAAOsX,QAC1C,MAAO3b,GAEPsG,QAAQC,KAAK,uBAAwBvG,KAG3C,OArBSib,EAAAhd,UAAA+c,cAAP,WACExc,KAAK+c,kBAoBRN,KCxDDW,EAAA,WACE,SAAAA,EAAoB1U,GAAA1I,KAAU0I,WAAVA,EAmBtB,OAjBE0U,EAAa3d,UAAA2T,cAAb,SAAcxC,GACZ5Q,KAAKqd,sBAAsBzM,GAC3B5Q,KAAKsd,wBAAwB1M,IAGvBwM,EAAqB3d,UAAA4d,sBAA7B,SAA8BzM,GAA9B,IAKCnJ,EAAAzH,KAJC4Q,EAAQH,QAAQD,UAAY,WAC1BI,EAAQH,QAAQ8M,uBAAyB3M,EAAQ4M,MAAMC,gBACvD7M,EAAQ4M,MAAMC,gBAAkBhW,EAAKiB,WAAWtE,OAAOqW,iBAInD2C,EAAuB3d,UAAA6d,wBAA/B,SAAgC1M,GAC9BA,EAAQH,QAAQJ,YAAc,WAC5BO,EAAQ4M,MAAMC,gBAAkB7M,EAAQH,QAAQ8M,yBAGrDH,KCnBDM,EAAA,WACE,SACUA,EAAAvT,EACAC,GADApK,KAAWmK,YAAXA,EACAnK,KAAcoK,eAAdA,EAuBZ,OApBQsT,EAAWje,UAAAke,YAAjB,SAAkBC,4EAKhB,OAJMC,EAAW,IAAIC,UAEZC,OAAO,QAASH,GAElB,CAAA,EAAA5d,KAAKoK,eAAeV,SAAS,uBAAmB0D,EAAW,CAChE3D,QAAS,GACT3H,KAAM+b,YAIJH,EAAYje,UAAAue,aAAlB,SAAmBC,sEACjB,MAAA,CAAA,EAAOje,KAAKoK,eAAed,KACzB,mBAAmBzF,OAAAoa,EAAI1S,KAAK,WAC5B6B,EACA,CACE5D,OAAQ,mBAIfkU,KC5BDQ,EAAA,WAAA,IAWCzW,EAAAzH,KAVCA,KAASyP,UAAqB,KAE9BzP,KAASme,UAAG,SAACC,GACX,GAAoB,cAAhBA,EAAO7F,KAIT,MAAM,IAAI5T,MAAM,4BAHhB,IAAM0Z,EAAW,IAAID,EACrB3W,EAAKgI,UAAY4O,ICUvBC,EAAA,WACE,SAAAA,EACU5V,EACAuS,EACAsD,GAFAve,KAAU0I,WAAVA,EACA1I,KAAgBib,iBAAhBA,EACAjb,KAAOue,QAAPA,EAqHZ,OAlHSD,EAAiBE,kBAAxB,SAAyB5N,GAQvB,YAPuCxD,IAAnCwD,EAA6B,UAC/BA,EAA6B,QAAI,CAC/BoC,MAAO,IAAIjO,KAEb6L,EAAQgF,aAAahB,EAAuB,KAGvChE,GAGT0N,EAAgB7e,UAAAgf,iBAAhB,SAA2CzL,GACzC,IAAMwH,EAAqBxa,KAAK0I,WAAWtE,OAAOoW,mBAClD,OAAOxH,EAAMsG,QAAO,SAAC9Y,GACnB,IAAMgB,EAAIuT,EAAWK,eAAe5U,GACpC,OAC2D,IAAzDga,EAAmB5U,QAAQpE,EAAEkd,QAAQC,gBACuB,OAA5Dnd,EAAEod,QAAQ,IAAI/a,OAAA8Q,mBAKd2J,EAAW7e,UAAAof,YAAjB,SAAkB7L,gJACO8L,EAAA9b,EAAAgQ,GAAK+L,EAAAD,EAAAvd,kDACc6L,KAD/B4R,EAAQD,EAAA1d,OACiB,UAChC2d,EAA8B,QAAI,KAMT,KAAvBC,OAJEA,EAAaD,EAA8B,cAI7C,EAAAC,EAAYC,QAAe,CAAA,EAAA,IAC7Blf,KAAKmf,SAASH,GACC,CAAA,EAAMhf,KAAKue,QAAQa,OAChCrK,EAAW2B,YAAYsI,eADnBtd,EAASuF,EAEd7E,UAES4I,EAAetJ,EAAXsJ,KAAEgB,EAAStK,OACjB2d,EAAiBrf,KAAKsf,mBAAmBN,EAAUhU,EAAMgB,IACzDsJ,EAAgBtV,KAAKuV,iBAAiB8J,IAC9B5O,QAAQuC,MAAMhC,IAAIqO,GAChCrf,KAAKib,iBAAiBjE,SAAS1B,IAEjCtV,KAAKuf,WAAWP,uNAKtBV,EAAA7e,UAAA6f,mBAAA,SACEvM,EACAyM,EACAxT,GAOA,OALA+G,EAA0B,QAAI,CAC5B0M,eAAgB1K,EAAW2B,YAAY3D,GACvC/G,KAAIA,GAEN+I,EAAW6B,YAAY7D,EAAMyM,GACtBzM,GAGDuL,EAAQ7e,UAAA0f,SAAhB,SAAiBpM,QACqB3F,IAAhC2F,EAA0B,UAC5BA,EAA0B,QAAI,IAGhC,IAAMkM,EAAalM,EAA0B,QAK7C,OAJ2B,KAAvBkM,MAAAA,OAAU,EAAVA,EAAYC,UACdD,EAAWC,QAAS,GAGfnM,GAGDuL,EAAU7e,UAAA8f,WAAlB,SAAmBxM,GACbA,EAA0B,UAC5BA,EAA0B,QAAEmM,QAAS,IAIjCZ,EAAgB7e,UAAA8V,iBAAxB,SAAyBxC,GACvB,IAAM2M,EAAS1f,KAAK2f,kBAAkB5M,GACtC,OAAOuL,EAAYE,kBAAkBkB,IAG/BpB,EAAiB7e,UAAAkgB,kBAAzB,SAA0B5M,GACxB,IAAM6M,EAAY7K,EAAWQ,iBAAiBxC,GAE9C,QAAkB3F,IAAdwS,EAGF,MADA9X,QAAQxE,MAAMyP,GACR,IAAIpO,MAAM,4CAGlB,IAAK3E,KAAK0I,WAAWtE,OAAOmW,aAC1B,OAAOqF,EAGT,GAAIrgB,MAAMsgB,QAAQ7f,KAAK0I,WAAWtE,OAAOmW,cAAe,CAGtD,IAAsE,IAAlEva,KAAK0I,WAAWtE,OAAOmW,aAAa9C,WAFlB,SAACqI,GACrB,OAAAF,EAAUlB,QAAQC,gBAAkBmB,EAAenB,iBAEnD,OAAOiB,EAIX,MAAmD,mBAAxC5f,KAAK0I,WAAWtE,OAAOmW,cAC3Bva,KAAK0I,WAAWtE,OAAOmW,aAAaqF,GAKpC5f,KAAK2f,kBAAkBC,GAJnBA,GAMdtB,KCvIDyB,EAAA,WACE,SACUA,EAAArX,EACAsX,GADAhgB,KAAU0I,WAAVA,EACA1I,KAAWggB,YAAXA,EAiBZ,OAdQD,EAAMtgB,UAAA0R,OAAZ,SAAa4B,qIACLiH,EAAcha,KAAK0I,WAAWtE,OAAO4V,YACrCC,EAAcja,KAAK0I,WAAWtE,OAAO6V,uDAEX5V,EAAArB,EAAA5D,OAAOsL,QACrC1K,KAAK0I,WAAWtE,OAAO8V,gBACxBjT,EAAA5C,EAAA9C,+CAFU6F,EAAAjE,aAACiJ,EAAGhF,EAAA,GAAE+O,EAAU/O,EAAA,4CAGDiF,OAAA,EAAA4T,EAAAjd,EAAAmT,GAAU+J,EAAAD,EAAA1e,6CAAvB4e,EAASD,EAAA7e,MACZ+U,EAAa,uBAAuBvS,OAAAuI,EAAQ,MAAAvI,OAAAsc,2BAA0BnG,EAAW,wBAAAnW,OAAuBoW,EAAW,OACnHjH,EAA4B+B,EAAWC,SAASoB,EAAYrD,GAC5D,CAAA,EAAA/S,KAAKggB,YAAYnB,YAAY7L,YAAnCwE,EAAApV,qZAIP2d,KCxBDK,EAAA,WAAA,SAAAA,KAyDA,OAxDgBA,EAAAC,2BAAd,SACEC,EACAC,GAKA,IAHA,IAAM7e,EAAS,GACX8e,EAAS,GACTC,GAAU,EACLlgB,EAAI,EAAGA,EAAI+f,EAAO5f,OAAQH,IAAK,CACtC,IAAMmgB,EAAOJ,EAAO/f,GACP,OAATmgB,GAAkBD,EAIlBA,GACFA,GAAU,EACVD,GAAUE,GAGRA,IAASH,EAKbC,GAAUE,GAJRhf,EAAOqB,KAAKyd,GACZA,EAAS,IAVTC,GAAU,EAgBd,OADA/e,EAAOqB,KAAKyd,GACL9e,GAGK0e,EAAAO,cAAd,SAA4BC,EAAkBC,GAE5C,IADA,IAAIC,EAAmB,EAChBF,GAAY,GAAkC,OAA7BC,EAAWD,EAAW,IAC5CE,IACAF,IAEF,OAAOE,EAAmB,GAAK,GAGnBV,EAAaW,cAA3B,SAA4BT,GAG1B,IAFA,IAAI5e,EAAS,GACT+e,GAAU,EACLlgB,EAAI,EAAGA,EAAI+f,EAAO5f,OAAQH,IAAK,CACtC,IAAMmgB,EAAOJ,EAAO/f,GACP,OAATmgB,GAAkBD,EAIlBA,GACFA,GAAU,EACV/e,GAAUgf,GAGZhf,GAAUgf,EARRD,GAAU,EAUd,OAAO/e,GAEV0e,KC9CDY,EAAA,WACE,SACUA,EAAAtY,EACAuY,GADAjhB,KAAU0I,WAAVA,EACA1I,KAAWihB,YAAXA,EA0KOjhB,KAAekhB,gBAAG,SAACZ,GAClC,OAAOA,EAAOla,QAAQ,sBAAuB,SAG9BpG,KAAWmhB,YAAG,SAACC,GAC9B,MAAqB,iBAAVA,EACFA,EAAMhb,QAAQ,WAAY,QAEd,iBAAVgb,GAAuC,iBAAVA,EAC/BA,EAAMC,YAGfvZ,QAAQC,KACN,uBAAAlE,cAA8Bud,EAAK,gDAE9BA,IAEX,OAxLEhiB,OAAA8E,eAAY8c,EAAcvhB,UAAA,iBAAA,CAA1B0E,IAAA,WACE,IAAMmd,EAAgBthB,KAAKkhB,gBACzBlhB,KAAK0I,WAAWtE,OAAO4V,aAEnBuH,EAAgBvhB,KAAKkhB,gBACzBlhB,KAAK0I,WAAWtE,OAAO6V,aAEzB,MAAO,WAAWpW,OAAAyd,EAAqB,SAAAzd,OAAA0d,wCAG1BP,EAAcQ,eAA7B,SAA8BC,WACxBhB,GAAU,EACVD,EAAS,GACTkB,EAAY,GACZC,EACF,MAEIjgB,EAAS,CACbsI,IAAK,GACLwF,OAAQ,GACR5C,kBAAcQ,OAGhB,IAAmB,IAAAwU,EAAA5e,EAAAye,eAAiBI,EAAAlgB,KAAAkgB,EAAAD,EAAArgB,OAAA,CAA/B,IAAMmf,EAAImB,EAAAxgB,MACA,OAATqf,GAAkBD,EAIlBA,GACFA,GAAU,EACVD,GAAUE,GAGS,QAAjBiB,GAAmC,MAATjB,EAOT,QAAjBiB,GAAmC,MAATjB,EAOT,kBAAjBiB,GAA6C,MAATjB,EAOnB,eAAjBiB,GAA0C,MAATjB,EAOhB,gBAAjBiB,GAA2C,MAATjB,EAMtCF,GAAUE,GALRiB,EAAe,aACfjgB,EAAO8N,OAAOkS,GAAalB,EAC3BA,EAAS,KATTmB,EAAe,cACfD,EAAYlB,EACZA,EAAS,KATTmB,EAAe,aACfjgB,EAAOkL,aAAe4T,EACtBA,EAAS,KATTmB,EAAe,aACfjgB,EAAOsI,IAAMwW,EACbA,EAAS,KATTmB,EAAe,gBACfjgB,EAAOsI,IAAMwW,EACbA,EAAS,IAXTC,GAAU,oGAyDd,MAZqB,QAAjBkB,IACFjgB,EAAOsI,IAAMwW,GAGM,kBAAjBmB,IACFjgB,EAAOkL,aAAe4T,GAGH,gBAAjBmB,IACFjgB,EAAO8N,OAAOkS,GAAalB,GAGtB9e,GAGTsf,EAAMvhB,UAAA2f,OAAN,SAAOpU,GAUL,IATA,IAMI8W,EANEC,EAAc,IAAIC,OAAOhiB,KAAKiiB,eAAgB,MAE9CC,EAAyC,GAE3CC,GAAU,EAGVC,EAAQ,EACR1gB,EAAS,GAC+B,QAApCogB,EAAQC,EAAYM,KAAKrX,KAAiB,CAChD,IAAIsX,EAAMR,EAAM,GACVzd,EAAAlB,EAAqC2e,EAK1C,GALMS,EAASle,EAAA,GAAGA,EAAA,GAAE,IAAAme,EAAOne,EAAA,GAAEoe,OAMtBC,EAAiBZ,EAAKY,MAG9B,GAFAhhB,GADyBogB,EAAK1H,MACduI,OAAOP,EAAOM,EAAQN,GACtCA,EAAQM,EAAQH,EAAU7hB,OACd,OAAR4hB,EAAc,CAChB,IAAKlC,EAAWO,cAAc+B,EAAO1X,GAAO,CAC1CtJ,GAAU8gB,EACV,SAEFF,EAAM,GAER,IAAMM,EAAa5iB,KAAK6iB,0BAA0BJ,GAClDP,EAAcnf,KAAK,CACjBiH,IAAK4Y,EAAW5Y,IAChBwF,OAAQoT,EAAWpT,OACnB5C,aAAcgW,EAAWhW,eAE3BuV,GAAU,EACVzgB,GAAU4gB,EAAMM,EAAWA,WAK7B,GAFAlhB,GAAUsJ,EAAK8X,UAAUV,GAErBD,EACF,MAAO,CAAEnX,KAAMtJ,EAAQsK,KAAMkW,IAM1BlB,EAAAvhB,UAAAsjB,KAAP,SACE/Y,EACAwF,EACA5C,GAHF,IAmBCnF,EAAAzH,UAjBC,IAAAwP,IAAAA,EAA8B,SAC9B,IAAA5C,IAAAA,OAA4CQ,GAE5C,IAAI4V,EAAc5jB,OAAOsL,QAAQ8E,GAC9BlE,KACC,SAACjH,GAAA,IAAA4C,EAAA9D,OAAC4H,EAAI9D,EAAA,GAAE5F,EAAK4F,EAAA,GACX,MAAA,GAAGpD,OAAA4D,EAAK0Z,YAAYpW,GAAS,KAAAlH,OAAA4D,EAAK0Z,YAAY9f,OAEjDkK,KAAK,KACRyX,EAAcA,EAAYtiB,OAAS,IAAImD,OAAAmf,GAAgB,GAEvD,IAAMC,OACa7V,IAAjBR,EAA6B,IAAI/I,OAAA7D,KAAKmhB,YAAYvU,IAAkB,GAEtE,MAAO,GAAG/I,OAAA7D,KAAK0I,WAAWtE,OAAO4V,aAAcnW,OAAA7D,KAAKmhB,YAClDnX,IACDnG,OAAGof,GAAapf,OAAGmf,GAAWnf,OAAG7D,KAAK0I,WAAWtE,OAAO6V,cAGnD+G,EAAyBvhB,UAAAojB,0BAAjC,SACE7X,GAEM,IAAA3G,EAAgC2c,EAAMQ,eAAexW,GAAnDhB,EAAG3F,EAAA2F,IAAEwF,EAAMnL,EAAAmL,OAAE5C,iBAQrB,MAAO,CAAEgW,WAPU5iB,KAAKihB,YAAYpR,QAClC7F,EACAwF,OACApC,GACA,EACAR,GAEmB5C,IAAGA,EAAEwF,OAAMA,EAAE5C,aAAYA,IAoBjDoU,KChMDkC,EAAA,WACE,SACUA,EAAAC,EACA9Y,EACA3B,EACA0a,EACAC,EACAC,GALAtjB,KAAWmjB,YAAXA,EACAnjB,KAAYqK,aAAZA,EACArK,KAAU0I,WAAVA,EACA1I,KAAgBojB,iBAAhBA,EACApjB,KAAKqjB,MAALA,EACArjB,KAAcsjB,eAAdA,EAEc,oBAAXzd,SACTwE,EAAanC,iBAAiBV,UAAUxH,KAAKujB,QAAQlK,KAAKrZ,OAC1DqK,EAAapC,oBAAoBT,UAAUxH,KAAKujB,QAAQlK,KAAKrZ,QAwBnE,OApBekjB,EAAazjB,UAAAiZ,cAA1B,SAA2BD,6FACzB,MAAM,CAAA,EAAAzY,KAAKojB,iBAAiBjS,OAAOsH,WACnC,OADApU,EAAAjC,OACM,CAAA,EAAApC,KAAKmjB,YAAYhS,OAAOsH,WAC9B,OADApU,EAAAjC,OACM,CAAA,EAAApC,KAAKsjB,eAAenS,OAAOsH,kBAAjCpU,EAAAjC,mBAGY8gB,EAAAzjB,UAAA8jB,QAAd,qIACQvQ,EAA2B+B,EAAWC,SAC1C,gBACAhV,KAAK0I,WAAWtE,OAAOwT,0DAENkH,EAAA9b,EAAAgQ,GAAK+L,EAAAD,EAAAvd,+CAAbwR,EAAIgM,EAAA1d,+CACUgL,OAAA,EAAAhI,EAAArB,EAAA+P,EAAKtC,QAAQuC,OAAK/L,EAAA5C,EAAA9C,6CAA9Byd,EAAQ/X,EAAA5F,MACF,CAAA,EAAMrB,KAAKqjB,MAAMjE,OAAOJ,EAASvO,QAAQgP,0BAAlD/d,EAAS+J,EAAwDrJ,SAErE2S,EAAW6B,YAAYoI,EAAUtd,EAAOsJ,oZAKjDkY,KCxCDM,EAAA,WACE,SACUA,EAAA9a,EACAsX,GADAhgB,KAAU0I,WAAVA,EACA1I,KAAWggB,YAAXA,EAaZ,OAVQwD,EAAM/jB,UAAA0R,OAAZ,SAAa4B,2GAQX,OAPMiH,EAAcha,KAAK0I,WAAWtE,OAAO4V,YACrCC,EAAcja,KAAK0I,WAAWtE,OAAO6V,YAErCwJ,EAAQ,6CAA6C5f,OAAAmW,EAAkC,wBAAAnW,OAAAoW,SACvFjH,EAAQ+B,EAAWC,SAASyO,EAAO1Q,GACnC2Q,EAAmB1jB,KAAKggB,YAAYvB,iBAAiBzL,GAErD,CAAA,EAAAhT,KAAKggB,YAAYnB,YAAY6E,kBAAnCrf,EAAAjC,mBAEHohB,KCfDG,EAAA,WACE,SACUA,EAAA1I,EACA+E,GADAhgB,KAAgBib,iBAAhBA,EACAjb,KAAWggB,YAAXA,EAmBZ,OAhBQ2D,EAAMlkB,UAAA0R,OAAZ,SAAa4B,4FACL0Q,EAAQ,4BAAA5f,OAA4BiR,EAAkC,KACtE9B,EAAQ+B,EAAWC,SAASyO,EAAO1Q,GACb/S,KAAKggB,YAAYvB,iBAC3CzL,GAEOrI,SAAQ,SAACiG,GAChB,IAAMgT,EAAkBtF,EAAYE,kBAAkB5N,GACtDgT,EAAgBnT,QAAQuD,0BAA4BpD,EAAQiT,aAC1D/O,GAEF8O,EAAgBnT,QAAQwD,kCACtBrD,EAAQkT,UACVrc,EAAKwT,iBAAiBjE,SAAS4M,iBAGpCD,KCdDI,EAAA,WAOE,SAAAA,EACE1Z,EACA3B,EACAuY,EACAhG,GAEAjb,KAAKqjB,MAAQ,IAAIrC,EAAMtY,EAAYuY,GACnCjhB,KAAKggB,YAAc,IAAI1B,EAAY5V,EAAYuS,EAAkBjb,MACjEA,KAAKmjB,YAAc,IAAIK,EAAe9a,EAAY1I,KAAKggB,aACvDhgB,KAAKojB,iBAAmB,IAAIrD,EAAiBrX,EAAY1I,KAAKggB,aAC9DhgB,KAAKsjB,eAAiB,IAAIK,EACxB1I,EACAjb,KAAKggB,aAEPhgB,KAAKgkB,YAAc,IAAId,EACrBljB,KAAKmjB,YACL9Y,EACA3B,EACA1I,KAAKojB,iBACLpjB,KAAKqjB,MACLrjB,KAAKsjB,gBA4BX,OAxBSS,EAAUtkB,UAAA+Y,WAAjB,SAAkBzF,GAChB,OAAO/S,KAAKmjB,YAAYhS,OAAO4B,IAG1BgR,EAAatkB,UAAAiZ,cAApB,SAAqB3F,GACnB,OAAO/S,KAAKgkB,YAAYtL,cAAc3F,IAGjCgR,EAAetkB,UAAAkZ,gBAAtB,SAAuB5F,GACrB,OAAO/S,KAAKojB,iBAAiBjS,OAAO4B,IAG/BgR,EAAItkB,UAAAsjB,KAAX,SACE/Y,EACAwF,EACA5C,EACA/B,GAEA,YAJA,IAAA2E,IAAAA,EAA8B,SAC9B,IAAA5C,IAAAA,OAA4CQ,GAGrCpN,KAAKqjB,MAAMN,KAAK/Y,EAAKwF,EAAQ5C,IAG/BmX,EAAMtkB,UAAA2f,OAAb,SAAcpU,GACZ,OAAOhL,KAAKqjB,MAAMjE,OAAOpU,IAE5B+Y,KCnDD,SAASE,KAkCT,SAASC,KAhCTD,EAAaxkB,UAAU0kB,OAAS,SAAU7D,GAIxC,IAHA,IAAM8D,EAAS,GACT1jB,EAAS4f,EAAO5f,OAClBH,EAAI,EACDA,EAAIG,GAAQ,CACjB,IAAM2jB,EAAY/D,EAAOgE,YAAY/jB,GACjCgkB,EAAI,EACJC,EAAO,EAgBX,IAfIH,GAAa,KACfE,EAAI,EACJC,EAAO,GACEH,GAAa,MACtBE,EAAI,EACJC,EAAO,KACEH,GAAa,OACtBE,EAAI,GACJC,EAAO,KACEH,GAAa,UACtBE,EAAI,GACJC,EAAO,KAETJ,EAAOrhB,KAAKyhB,EAAQH,GAAaE,GACjCA,GAAK,EACEA,GAAK,GACVH,EAAOrhB,KAAK,IAASshB,GAAaE,EAAK,IACvCA,GAAK,EAEPhkB,GAAK8jB,GAAa,MAAU,EAAI,EAElC,OAAOD,GAKTF,EAAazkB,UAAUglB,OAAS,SAAUL,GAGxC,IAFA,IAAI9D,EAAS,GACT/f,EAAI,EACDA,EAAI6jB,EAAO1jB,QAAQ,CACxB,IAAIgkB,EAAQN,EAAO7jB,GACfokB,EAAc,EACdN,EAAY,EAchB,GAbIK,GAAS,KACXC,EAAc,EACdN,EAAoB,IAARK,GACHA,GAAS,KAClBC,EAAc,EACdN,EAAoB,GAARK,GACHA,GAAS,KAClBC,EAAc,EACdN,EAAoB,GAARK,GACHA,GAAS,MAClBC,EAAc,EACdN,EAAoB,EAARK,GAEVN,EAAO1jB,OAASH,EAAIokB,EAAc,EAEpC,IADA,IAAI1R,EAAI,EACDA,EAAI0R,GAETN,EAAaA,GAAa,EAAc,IADxCK,EAAQN,EAAO7jB,EAAI0S,EAAI,IAEvBA,GAAK,OAGPoR,EAAY,MACZM,EAAcP,EAAO1jB,OAASH,EAEhC+f,GAAUxgB,OAAO8kB,cAAcP,GAC/B9jB,GAAKokB,EAAc,EAErB,OAAOrE,GAGF,IC1FIuE,ECAAC,EAwCAC,EFkDEC,EAAkC,oBAAhBC,YAC3BhB,EACAgB,YACSC,EAAkC,oBAAhBC,YAC3BjB,EACAiB,YG7FSC,EAAuB,CAAC,IAAU,KAElCC,GAAkBrD,OAC7B,KAAKne,OAAAuhB,EAAqB7Z,KAAK,cAC/B,MAgBW+Z,GAAgB,SAACta,GAC5B,IACMua,EAfQ,SAACva,GACf,OAAOzL,MAAMkE,MAAK,IAAIuhB,GAAUb,OAAOnZ,IAazBwa,CAAQxa,GAAMM,IAAIma,QAE7Bna,KAAI,SAACoa,GAAS,OARK,SAACH,GACvB,IAAMI,EAAa,EAAIJ,EAAO7kB,OAC9B,MAAO,IAAIklB,OAAOD,GAAcJ,EAMfM,CAAgBH,EAAKrE,SAAS,IAAM,OAClD9V,KAAK,IAMR,OAJehM,MAAMkE,KAAK8hB,GACvBja,KAAI,SAACnM,GAAM,OAAAimB,EAAqBK,OAAOtmB,OACvCoM,KAAK,KAKJua,GAAgB,SAACnZ,GACrB,IAvBiBoZ,EA8BXC,EAPSzmB,MAAMkE,KAAKkJ,GACvBrB,KAAI,SAAC2a,GACJ,OAAOb,EAAqBxf,QAAQqgB,MAErC3a,IAAIxL,QACJyL,KAAK,IAEiBuW,MAAM,WACzBoE,EAAQC,WAAW1iB,KACvBuiB,EAAU1a,KAAI,SAACoa,GAAS,OAAAU,SAASV,EAAK9hB,MAAM,EAAG,GAAI,OAErD,OAlCiBmiB,EAkCAG,GAjCV,IAAIhB,GAAUT,OAAO,IAAI0B,WAAWJ,KCT7ChG,GAAA,WACE,SACUA,EAAArX,EACAsX,GADAhgB,KAAU0I,WAAVA,EACA1I,KAAWggB,YAAXA,EAcZ,OAXQD,EAAMtgB,UAAA0R,OAAZ,SAAa4B,2JACqB1O,EAAArB,EAAA5D,OAAOsL,QACrC1K,KAAK0I,WAAWtE,OAAO8V,gBACxBjT,EAAA5C,EAAA9C,+CAFU6F,EAAAjE,aAACiJ,EAAGhF,EAAA,GAAE+O,EAAU/O,EAAA,2CAGDiF,OAAA,EAAA4T,EAAAjd,EAAAmT,GAAU+J,EAAAD,EAAA1e,6CAAvB4e,EAASD,EAAA7e,MACZ+U,EAAa,uBAAuBvS,OAAAuI,EAAQ,MAAAvI,OAAAsc,EAA0B,kBAAAtc,OAAAuhB,EAAqB,GAAE,OAC7FpS,EAA4B+B,EAAWC,SAASoB,EAAYrD,GAC5D,CAAA,EAAA/S,KAAKggB,YAAYnB,YAAY7L,YAAnCwE,EAAApV,kZAIP2d,KCtBDsG,GAAA,WAAA,SAAAA,IACUrmB,KAAMmH,OAAa,GAc7B,OAZSkf,EAAa5mB,UAAA6mB,cAApB,SAAqBtc,GACnB,IAAI0Y,EAAQ1iB,KAAKmH,OAAOvB,QAAQoE,GAKhC,OAJe,IAAX0Y,IACFA,EAAQ1iB,KAAKmH,OAAOzG,OACpBV,KAAKmH,OAAOpE,KAAKiH,IAEZ0Y,GAGF2D,EAAa5mB,UAAA8mB,cAApB,SAAqBC,GACnB,OAAOxmB,KAAKmH,OAAOqf,IAEtBH,KCDDrF,GAAA,WAAA,SAAAA,IACUhhB,KAAAymB,UAAY,IAAIJ,GAChBrmB,KAAA0mB,cAAgB,IAAIL,GAgD9B,OA9CErF,EAAMvhB,UAAA2f,OAAN,SAAOpU,GAAP,IAwBCvD,EAAAzH,KAvBOkiB,EAAgB,IH+BI,SAAClX,SACvB2b,UAAoBtiB,EAAA2G,EACvB8W,MAAMuD,0BACL/L,QAAO,SAACpW,GAAM,OAAAA,EAAExC,OAAS,KAC7B,OAAOimB,MAAAA,OAAA,EAAAA,EAAmBrb,IAAIwa,MAAkB,IGlC7Bc,CAAe5b,GAEvBL,SAAQ,SAACkc,GACV,IAAAxiB,EAAAlB,EHsCsB,SAAC6H,WAC3BtJ,EAAmB,OACzB,IAAwB,IAAAolB,EAAA9jB,EAAAgI,eAAM+b,EAAAplB,KAAAolB,EAAAD,EAAAvlB,OAAA,CAAzB,IAAM8iB,EAAS0C,EAAA1lB,MAClBK,EAAOqB,KAAKshB,EAAUC,YAAY,sGAEpC,OAAO5iB,EG3C4BslB,CAAmBH,GAAI,GAA/CI,EAAO5iB,EAAA,GAAE6iB,OACVld,EAAMvC,EAAKgf,UAAUF,cAAcU,GACnCra,OACYQ,IAAhB8Z,EACIzf,EAAKif,cAAcH,cAAcW,QACjC9Z,EACN8U,EAAcnf,KAAK,CACjBiH,IAAKA,EACLwF,YAAQpC,EACRR,aAAYA,OAIhB,IAAMlL,EHqBmB,SAACsJ,GAC5B,OAAOA,EAAK5E,QAAQif,GAAiB,IGtBpB8B,CAAcnc,GAE7B,GAAIkX,EAAcxhB,OAChB,MAAO,CAAEsK,KAAMtJ,EAAQsK,KAAMkW,IAK1BlB,EAAIvhB,UAAAsjB,KAAX,SACE/Y,EACAod,EACAxa,EACA/B,QADA,IAAA+B,IAAAA,OAA4CQ,QAC5C,IAAAvC,IAAAA,OAAmDuC,GAEnD,IAAM8Y,EAAQ,CAAClmB,KAAKymB,UAAUH,cAActc,IACxC4C,GACFsZ,EAAMnjB,KAAK/C,KAAK0mB,cAAcJ,cAAc1Z,IAG9C,IAAMvL,EAAQwJ,GAAe,GACvBwc,EAAgB/B,GAAcxlB,OAAO8kB,cAAajkB,MAApBb,OAAMyD,EAAA,GAAAJ,EAAkB+iB,IAAK,KAEjE,MAAwB,iBAAV7kB,EACVA,EAAQgmB,EACR9nB,MAAMsgB,QAAQxe,GACVkC,EAAAA,EAAA,GAAAJ,EAAA9B,IAAO,GAAA,CAAAgmB,IACb,GAAE,CAAChmB,EAAOgmB,IAEfrG,KC5DDkC,GAAA,WACE,SAAAA,EACUC,EACAC,EACAE,GAFAtjB,KAAWmjB,YAAXA,EACAnjB,KAAgBojB,iBAAhBA,EACApjB,KAAcsjB,eAAdA,EAQZ,OALeJ,EAAazjB,UAAAiZ,cAA1B,SAA2BD,6FACzB,MAAM,CAAA,EAAAzY,KAAKojB,iBAAiBjS,OAAOsH,WACnC,OADApU,EAAAjC,OACM,CAAA,EAAApC,KAAKmjB,YAAYhS,OAAOsH,WAC9B,OADApU,EAAAjC,OACM,CAAA,EAAApC,KAAKsjB,eAAenS,OAAOsH,kBAAjCpU,EAAAjC,mBAEH8gB,KCZDM,GAAA,WACE,SAAAA,EAAoBxD,GAAAhgB,KAAWggB,YAAXA,EAStB,OAPQwD,EAAM/jB,UAAA0R,OAAZ,SAAa4B,uGAKX,OAJM0Q,EAAQ,6CAA6C5f,OAAAuhB,EAAqB,UAC1EpS,EAAQ+B,EAAWC,SAASyO,EAAO1Q,GACnC2Q,EAAmB1jB,KAAKggB,YAAYvB,iBAAiBzL,GAErD,CAAA,EAAAhT,KAAKggB,YAAYnB,YAAY6E,kBAAnCrf,EAAAjC,mBAEHohB,KCHD8D,GAAA,WAOE,SAAYA,EAAA5e,EAAwBuS,GAClCjb,KAAKqjB,MAAQ,IAAIrC,GACjBhhB,KAAKggB,YAAc,IAAI1B,EAAY5V,EAAYuS,EAAkBjb,MACjEA,KAAKmjB,YAAc,IAAIK,GAAexjB,KAAKggB,aAC3ChgB,KAAKojB,iBAAmB,IAAIrD,GAAiBrX,EAAY1I,KAAKggB,aAC9DhgB,KAAKsjB,eAAiB,IAAIK,EACxB1I,EACAjb,KAAKggB,aAEPhgB,KAAKgkB,YAAc,IAAId,GACrBljB,KAAKmjB,YACLnjB,KAAKojB,iBACLpjB,KAAKsjB,gBA4BX,OAxBSgE,EAAU7nB,UAAA+Y,WAAjB,SAAkBzF,GAChB,OAAO/S,KAAKmjB,YAAYhS,OAAO4B,IAG1BuU,EAAa7nB,UAAAiZ,cAApB,SAAqB3F,GACnB,OAAO/S,KAAKgkB,YAAYtL,cAAc3F,IAGjCuU,EAAe7nB,UAAAkZ,gBAAtB,SAAuB5F,GACrB,OAAO/S,KAAKojB,iBAAiBjS,OAAO4B,IAG/BuU,EAAI7nB,UAAAsjB,KAAX,SACE/Y,EACAwF,EACA5C,EACA/B,GAEA,YAJA,IAAA2E,IAAAA,EAA8B,SAC9B,IAAA5C,IAAAA,OAA4CQ,QAC5C,IAAAvC,IAAAA,EAAgB,IAET7K,KAAKqjB,MAAMN,KAAK/Y,EAAKwF,EAAQ5C,EAAc/B,IAG7Cyc,EAAM7nB,UAAA2f,OAAb,SAAcpU,GACZ,OAAOhL,KAAKqjB,MAAMjE,OAAOpU,IAE5Bsc,KCrCDC,GAAA,WAgDE,SAAAA,IAAA,IAEC9f,EAAAzH,KAjDMA,KAAA0I,WAAyB,IAAIzE,EAC7BjE,KAAAqK,aAA6B,IAAIrC,EACjChI,KAAcoK,eAAmB,IAAI3B,EAAezI,KAAK0I,YACzD1I,KAAiBqT,kBAAG,IAAItD,EAAkB/P,KAAK0I,YAC/C1I,KAAAsP,cAAgB,IAAI4O,EACpBle,KAAAmK,YAA2B,IAAIgP,EACpCnZ,KAAK0I,WACL1I,KAAKoK,gBAEApK,KAAAwnB,kBAAoB,IAAI9J,EAC7B1d,KAAKmK,YACLnK,KAAKoK,gBAEApK,KAAkBqP,mBAAuB,IAAInF,EAClDlK,KAAK0I,WACL1I,KAAKmK,YACLnK,KAAKoK,eACLpK,KAAKqK,cAEArK,KAAAihB,YAA2B,IAAI7R,EACpCpP,KAAK0I,WACL1I,KAAKqP,mBACLrP,KAAKsP,eAGAtP,KAA4BmT,6BAAG,IAAIiK,EACxCpd,KAAK0I,YAGA1I,KAAA8W,uBAAyB,IAAIvE,EAAuBvS,MAEpDA,KAAAib,iBAAqC,IAAIpE,EAC9C7W,KAAK0I,WACL1I,KAAK8W,uBACL9W,KAAKqK,cAGArK,KAAAgb,SAAqB,IAAIyB,EAEzBzc,KAAaynB,cAAkB,IAAI1M,EACxC/a,KAAKgb,SACLhb,KAAK0I,WACL1I,KAAKqK,aACLrK,KAAKib,iBACLjb,KAAKqP,oBAqCPrP,KAAAiR,IAAM,WACJxJ,EAAK4L,kBAAkBpC,OAGzBjR,KAAAuc,KAAO,WACL9U,EAAKoR,SAASI,gBACdxR,EAAKwT,iBAAiB5D,WACtBtC,EAAWc,6BACTpO,EAAKiB,WAAWtE,OAAOwT,gBAzCzB5X,KAAK8W,uBAAuB2Q,cAAgBznB,KAAKynB,cA4CrD,OAtCEF,EAAI9nB,UAAA8J,KAAJ,SAAKnF,GACH,GAAIpE,KAAK0I,WAAWtE,OAClB,MAAM,IAAIO,MAAM,sCAElB3E,KAAK0I,WAAWtE,OAAS,IAAI2V,EAAa3V,GACC,cAAvCpE,KAAK0I,WAAWtE,OAAOsW,YACzB1a,KAAKue,QAAU,IAAI+I,GACjBtnB,KAAK0I,WACL1I,KAAKib,kBAGPjb,KAAKue,QAAU,IAAIwF,EACjB/jB,KAAKqK,aACLrK,KAAK0I,WACL1I,KAAKihB,YACLjhB,KAAKib,kBAITjb,KAAK6Y,SAAW,IAAIhB,EAClB7X,KAAK0I,WACL1I,KAAKue,QACLve,KAAKib,kBAEPjb,KAAKqP,mBAAmBxC,cAc3B0a,KCnGDG,GAAA,WAGE,SAAAA,IAAA,IAECjgB,EAAAzH,KA+SMA,KAAAuc,KAAO,WACZ9U,EAAKkgB,kBAAkBpL,QAjTvBvc,KAAK2nB,kBAAoB,IAAIJ,GAwTjC,OArTEnoB,OAAA8E,eAAIwjB,EAAUjoB,UAAA,aAAA,CAAd0E,IAAA,WACE,OAAOnE,KAAK2nB,kBAAkBjf,4CAGhCtJ,OAAA8E,eAAWwjB,EAAIjoB,UAAA,OAAA,CAAf0E,IAAA,WACE,OAAOnE,KAAK0I,WAAWwC,iBAWzBzG,IAAA,SAAgBmjB,GAAhB,IAQCngB,EAAAzH,KAPCA,KAAK0I,WAAWwC,gBAAkB0c,EAElC5nB,KAAK2nB,kBAAkBtY,mBACpBpC,iBAAiB2a,GACjBhmB,MAAK,WACJ6F,EAAKogB,oBAAoBD,uCAI/BxoB,OAAA8E,eAAWwjB,EAAejoB,UAAA,kBAAA,CAA1B0E,IAAA,WACE,OAAOnE,KAAK0I,WAAWtE,OAAOsB,iDAGhCtG,OAAA8E,eAAWwjB,EAAYjoB,UAAA,eAAA,CAAvB0E,IAAA,WACE,OAAOnE,KAAK2nB,kBAAkBtd,aAAanC,kDAG7C9I,OAAA8E,eAAWwjB,EAAmBjoB,UAAA,sBAAA,CAA9B0E,IAAA,WACE,OAAOnE,KAAK2nB,kBAAkBtd,aAAapC,qDAO7C7I,OAAA8E,eAAWwjB,EAAYjoB,UAAA,eAAA,CAAvB0E,IAAA,WACE,OAAOnE,KAAK2nB,kBAAkBtd,aAAalC,iDAS7C/I,OAAA8E,eAAIwjB,EAAcjoB,UAAA,iBAAA,CAAlB0E,IAAA,mBACQ2jB,EAAc9nB,KAAK0I,WAAWwC,gBAC9BqC,EAAevN,KAAK0I,WAAWtE,OAAOoJ,iBACtCua,EAAqB/nB,KAAK0I,WAAWtE,OAAOuW,gBAC5CqN,EAAuB,SAACjhB,GAC5B,YAAgBqG,IAATrG,GAAsC,mBAATA,GAGtC,OACGihB,EAAyD,UAApChoB,KAAK0I,WAAWtE,OAAO0I,kBAAa,IAAAzI,OAAA,EAAAA,EAAAyjB,OACvDC,IACAC,UACC/gB,EAAAjH,KAAK0I,WAAWtE,OAAO0I,iCAAaS,qCAK5CnO,OAAA8E,eAAYwjB,EAAWjoB,UAAA,cAAA,CAAvB0E,IAAA,WACE,OAAOnE,KAAK2nB,kBAAkBxd,6CAGzBud,EAAGO,IAAV,SAAW7J,GACT,OAAO,IAAIsJ,GAASO,IAAI7J,IAGnBsJ,EAAIne,KAAX,SAAYnF,GACV,OAAO,IAAIsjB,GAASne,KAAKnF,IAWdsjB,EAAcjoB,UAAAyoB,eAA3B,SAA4BN,6FAC1B,MAAM,CAAA,EAAA5nB,KAAK2nB,kBAAkBtY,mBAAmBpC,iBAC9C2a,kBADFvjB,EAAAjC,OAGApC,KAAK0I,WAAWwC,gBAAkB0c,EAClC5nB,KAAK6nB,oBAAoBD,eAG3BF,EAAGjoB,UAAAwoB,IAAH,SAAI7J,GAEF,OADApe,KAAK2nB,kBAAkBrY,cAAc6O,UAAUC,GACxCpe,MAGT0nB,EAAIjoB,UAAA8J,KAAJ,SAAKnF,GAEH,OADApE,KAAK2nB,kBAAkBpe,KAAKnF,GACrBpE,MAGI0nB,EAAAjoB,UAAAwR,IAAb,8GACEjR,KAAK2nB,kBAAkB1W,MACa,gBAAhCjR,KAAK0I,WAAWtE,OAAOiK,KAAvB,MAA6C,CAAA,EAAA,oBAE7C,6BAAA,CAAA,EAAMrO,KAAKmK,YAAY2E,mCAAvBzK,EAAAjC,sCAGA0F,QAAQxE,MAAM,8BAEdwE,QAAQxE,MAAM+I,GACdrM,KAAK0I,WAAWtE,OAAOiK,KAAO,0BAIlC,MAAM,CAAA,EAAArO,KAAK2nB,kBAAkBtY,mBAAmBpC,2BAChD,OADA5I,EAAAjC,OACM,CAAA,EAAApC,KAAK2nB,kBAAkBF,cAAcxW,cAEvC,OAFJ5M,EAAAjC,OAEIpC,KAAK0I,WAAWtE,OAAOuW,gBACzB,CAAA,EAAM3a,KAAK2nB,kBAAkBtY,mBAAmBpC,iBAC9CjN,KAAK0I,WAAWtE,OAAOoJ,mBAFe,CAAA,EAAA,UACxCnJ,EAAAjC,iBAKF,KAAA,EAAA,MAAA,CAAA,EAAMpC,KAAKujB,yBAAXlf,EAAAjC,OAEIpC,KAAK0I,WAAWtE,OAAO0W,OACzB9a,KAAK2nB,kBAAkB9O,SAASD,sBAIvB8O,EAAAjoB,UAAA8jB,QAAb,8EACE,MAAA,CAAA,EAAOvjB,KAAK2nB,kBAAkBpJ,QAAQ7F,cACpC1Y,KAAK0I,WAAWtE,OAAOwT,uBAoBrB8P,EAASjoB,UAAAiQ,UAAf,SACEyY,EACA3Y,EACA4Y,EACAxb,eAFA,IAAA4C,IAAAA,EAAuC,SACvC,IAAA4Y,IAAAA,GAAc,QACd,IAAAxb,IAAAA,OAA4CQ,kGAexB,OAbdpD,EAA4B,iBAAfme,EAA0BA,EAAaA,EAAWne,IACjE2F,OAAUvC,EACY,iBAAf+a,IAIT3Y,OAA0BpC,KAHpBib,EAAQF,GAGC3Y,OAAuB6Y,EAAM7Y,OAASA,EACrD4Y,OAA0Bhb,IAAjBib,EAAMD,OAAuBC,EAAMD,OAASA,EACrDxb,OACyBQ,IAAvBib,EAAMzb,aAA6Byb,EAAMzb,aAAeA,EAC1D+C,EAAU0Y,EAAM1Y,SAGE,CAAA,EAAM3P,KAAK2nB,kBAAkB1G,YAAYvR,UAC3D1F,EACAwF,OACApC,EACAuC,EACA/C,WAGE,OARE/B,EAAcxG,EAMnBjC,OAEmC,gBAAhCpC,KAAK0I,WAAWtE,OAAOiK,MAA2B+Z,EAAM,CAAA,EAAA,GAC1D,CAAA,EAAMpoB,KAAKmK,YAAY2E,4BACvB,OADAzK,EAAAjC,OACA,CAAA,EAAOpC,KAAK2nB,kBAAkBpJ,QAAQwE,KACpC/Y,EACAwF,EACA5C,EACA/B,IAIJ,KAAA,EAAA,MAAA,CAAA,EAAOA,WAgBT6c,EAAIjoB,UAAAsjB,KAAJ,SACE/Y,EACAwF,EACA5C,EACA/B,GAEA,MAAoC,gBAAhC7K,KAAK0I,WAAWtE,OAAOiK,KAClBrO,KAAK2nB,kBAAkBpJ,QAAQwE,KACpC/Y,EACAwF,EACA5C,EACA/B,GAGKA,GAAe+B,GAsB1B8a,EAAOjoB,UAAAoQ,QAAP,SACEsY,EACA3Y,EACA4Y,EACAzY,EACA/C,QAHA,IAAA4C,IAAAA,EAA8B,SAC9B,IAAA4Y,IAAAA,GAAc,GAId,IAAMpe,EAA4B,iBAAfme,EAA0BA,EAAaA,EAAWne,IACrE,GAA0B,iBAAfme,EAAyB,CAClC,IAAME,EAAQF,EAGd3Y,OAA0BpC,IAAjBib,EAAM7Y,OAAuB6Y,EAAM7Y,OAASA,EACrD4Y,OAA0Bhb,IAAjBib,EAAMD,OAAuBC,EAAMD,OAASA,EACrDxb,OACyBQ,IAAvBib,EAAMzb,aAA6Byb,EAAMzb,aAAeA,EAC1D+C,OAA4BvC,IAAlBib,EAAM1Y,QAAwB0Y,EAAM1Y,QAAUA,EAG1D,IAAM9E,EAAc7K,KAAK2nB,kBAAkB1G,YAAYpR,QACrD7F,EACAwF,OACApC,EACAuC,EACA/C,GAGF,MAAoC,gBAAhC5M,KAAK0I,WAAWtE,OAAOiK,MAA2B+Z,EAQ/Cvd,EAPE7K,KAAK2nB,kBAAkBpJ,QAAQwE,KACpC/Y,EACAwF,EACA5C,EACA/B,IASC6c,EAAAjoB,UAAAuN,sBAAP,WACE,OAAOhN,KAAK2nB,kBAAkBtY,mBAAmBrC,yBAO5C0a,EAAgBjoB,UAAAwN,iBAAvB,SAAwBrC,GACtB,OAAO5K,KAAK2nB,kBAAkBtY,mBAAmBpC,iBAAiBrC,IAO5D8c,EAAmBjoB,UAAAooB,oBAA3B,SAA4BxmB,GACCrB,KAAKsoB,aACbxhB,KAAKzF,IAE3BqmB,KT3RM,SAASa,GAAiBrW,GAC7B,OAAOA,EAAGqG,OAASuM,EAAK0D,QAErB,SAASC,GAAkBvW,GAC9B,OAAOA,EAAGqG,OAASuM,EAAK4D,SAErB,SAASC,GAAgBzW,GAC5B,OAAOA,EAAGqG,OAASuM,EAAK8D,OAErB,SAASC,GAAc3W,GAC1B,OAAOA,EAAGqG,OAASuM,EAAKgE,KAErB,SAASC,GAAc7W,GAC1B,OAAOA,EAAGqG,OAASuM,EAAKkE,KAErB,SAASC,GAAgB/W,GAC5B,OAAOA,EAAGqG,OAASuM,EAAKoE,OAErB,SAASC,GAAgBjX,GAC5B,OAAOA,EAAGqG,OAASuM,EAAKsE,OAErB,SAASC,GAAenX,GAC3B,OAAOA,EAAGqG,OAASuM,EAAKwE,MAErB,SAASC,GAAarX,GACzB,OAAOA,EAAGqG,OAASuM,EAAK1Y,IAErB,SAASod,GAAiBtX,GAC7B,SAAUA,GAAoB,iBAAPA,GAAmBA,EAAGqG,OAASwM,EAAc6D,QAEjE,SAASa,GAAmBvX,GAC/B,SAAUA,GAAoB,iBAAPA,GAAmBA,EAAGqG,OAASwM,EAAc2E,WD9ExE,SAAW7E,GAEPA,EAAUA,EAAyC,8BAAI,GAAK,gCAE5DA,EAAUA,EAA0B,eAAI,GAAK,iBAE7CA,EAAUA,EAA8B,mBAAI,GAAK,qBAEjDA,EAAUA,EAAgC,qBAAI,GAAK,uBAEnDA,EAAUA,EAAiC,sBAAI,GAAK,wBAEpDA,EAAUA,EAAiC,sBAAI,GAAK,wBAEpDA,EAAUA,EAAmC,wBAAI,GAAK,0BAEtDA,EAAUA,EAAsC,2BAAI,GAAK,6BAEzDA,EAAUA,EAAkC,uBAAI,GAAK,yBAErDA,EAAUA,EAAqC,0BAAI,IAAM,4BAEzDA,EAAUA,EAA4C,iCAAI,IAAM,mCAEhEA,EAAUA,EAA0C,+BAAI,IAAM,iCAE9DA,EAAUA,EAA+C,oCAAI,IAAM,sCAEnEA,EAAUA,EAAgD,qCAAI,IAAM,uCAEpEA,EAAUA,EAA2C,gCAAI,IAAM,kCAE/DA,EAAUA,EAA2C,gCAAI,IAAM,kCAE/DA,EAAUA,EAAoD,yCAAI,IAAM,2CAKxEA,EAAUA,EAAoD,yCAAI,IAAM,2CAExEA,EAAUA,EAA4C,iCAAI,IAAM,mCAKhEA,EAAUA,EAA8C,mCAAI,IAAM,qCAIlEA,EAAUA,EAA8C,mCAAI,IAAM,qCAElEA,EAAUA,EAAgC,qBAAI,IAAM,uBAEpDA,EAAUA,EAAuB,YAAI,IAAM,cAE3CA,EAAUA,EAA4B,iBAAI,IAAM,mBAEhDA,EAAUA,EAAiC,sBAAI,IAAM,wBAErDA,EAAUA,EAAwB,aAAI,IAAM,eA5DhD,CA6DGA,IAAcA,EAAY,KC7D7B,SAAWC,GAIPA,EAAKA,EAAc,QAAI,GAAK,UAI5BA,EAAKA,EAAe,SAAI,GAAK,WAI7BA,EAAKA,EAAa,OAAI,GAAK,SAI3BA,EAAKA,EAAW,KAAI,GAAK,OAIzBA,EAAKA,EAAW,KAAI,GAAK,OAIzBA,EAAKA,EAAa,OAAI,GAAK,SAI3BA,EAAKA,EAAa,OAAI,GAAK,SAK3BA,EAAKA,EAAY,MAAI,GAAK,QAI1BA,EAAKA,EAAU,IAAI,GAAK,MArC5B,CAsCGA,IAASA,EAAO,KAEnB,SAAWC,GACPA,EAAcA,EAAsB,OAAI,GAAK,SAC7CA,EAAcA,EAAwB,SAAI,GAAK,WAFnD,CAGGA,IAAkBA,EAAgB,KU3C9B,IAAI4E,GAAwB,+CCI/BC,GAAkB,4KAOf,SAASC,GAAsBC,GAClC,IAAIpoB,EAAS,GA0Gb,OAzGAooB,EAAS1jB,QAAQwjB,IAAiB,SAAU9H,GACxC,IAAIiI,EAAMjI,EAAMphB,OAChB,OAAQohB,EAAM,IAEV,IAAK,IACDpgB,EAAOsoB,IAAc,IAARD,EAAY,OAAiB,IAARA,EAAY,SAAW,QACzD,MAEJ,IAAK,IACDroB,EAAOuoB,KAAe,IAARF,EAAY,UAAY,UACtC,MACJ,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACD,MAAM,IAAIG,WAAW,gEAEzB,IAAK,IACL,IAAK,IACD,MAAM,IAAIA,WAAW,8CAEzB,IAAK,IACL,IAAK,IACDxoB,EAAOyoB,MAAQ,CAAC,UAAW,UAAW,QAAS,OAAQ,UAAUJ,EAAM,GACvE,MAEJ,IAAK,IACL,IAAK,IACD,MAAM,IAAIG,WAAW,2CACzB,IAAK,IACDxoB,EAAO0oB,IAAM,CAAC,UAAW,WAAWL,EAAM,GAC1C,MACJ,IAAK,IACL,IAAK,IACL,IAAK,IACD,MAAM,IAAIG,WAAW,6DAEzB,IAAK,IACDxoB,EAAO2oB,QAAkB,IAARN,EAAY,QAAkB,IAARA,EAAY,SAAW,QAC9D,MACJ,IAAK,IACD,GAAIA,EAAM,EACN,MAAM,IAAIG,WAAW,iDAEzBxoB,EAAO2oB,QAAU,CAAC,QAAS,OAAQ,SAAU,SAASN,EAAM,GAC5D,MACJ,IAAK,IACD,GAAIA,EAAM,EACN,MAAM,IAAIG,WAAW,iDAEzBxoB,EAAO2oB,QAAU,CAAC,QAAS,OAAQ,SAAU,SAASN,EAAM,GAC5D,MAEJ,IAAK,IACDroB,EAAO4oB,QAAS,EAChB,MACJ,IAAK,IACL,IAAK,IACD,MAAM,IAAIJ,WAAW,8DAEzB,IAAK,IACDxoB,EAAO6oB,UAAY,MACnB7oB,EAAO8oB,KAAO,CAAC,UAAW,WAAWT,EAAM,GAC3C,MACJ,IAAK,IACDroB,EAAO6oB,UAAY,MACnB7oB,EAAO8oB,KAAO,CAAC,UAAW,WAAWT,EAAM,GAC3C,MACJ,IAAK,IACDroB,EAAO6oB,UAAY,MACnB7oB,EAAO8oB,KAAO,CAAC,UAAW,WAAWT,EAAM,GAC3C,MACJ,IAAK,IACDroB,EAAO6oB,UAAY,MACnB7oB,EAAO8oB,KAAO,CAAC,UAAW,WAAWT,EAAM,GAC3C,MACJ,IAAK,IACL,IAAK,IACL,IAAK,IACD,MAAM,IAAIG,WAAW,oEAEzB,IAAK,IACDxoB,EAAO+oB,OAAS,CAAC,UAAW,WAAWV,EAAM,GAC7C,MAEJ,IAAK,IACDroB,EAAOgpB,OAAS,CAAC,UAAW,WAAWX,EAAM,GAC7C,MACJ,IAAK,IACL,IAAK,IACD,MAAM,IAAIG,WAAW,8DAEzB,IAAK,IACDxoB,EAAOipB,aAAeZ,EAAM,EAAI,QAAU,OAC1C,MACJ,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACD,MAAM,IAAIG,WAAW,wEAE7B,MAAO,MAEJxoB,ECtHJ,IAAIkpB,GAAoB,wCC8B/B,IC/BIvmB,GD+BAwmB,GAA2B,mCAC3BC,GAA8B,wBAC9BC,GAAsB,0BACtBC,GAA8B,SAClC,SAASC,GAA0BC,GAC/B,IAAIxpB,EAAS,GA6Bb,MA5B4B,MAAxBwpB,EAAIA,EAAIxqB,OAAS,GACjBgB,EAAOypB,iBAAmB,gBAEG,MAAxBD,EAAIA,EAAIxqB,OAAS,KACtBgB,EAAOypB,iBAAmB,iBAE9BD,EAAI9kB,QAAQ0kB,IAA6B,SAAU5oB,EAAGkpB,EAAIC,GAoBtD,MAlBkB,iBAAPA,GACP3pB,EAAO4pB,yBAA2BF,EAAG1qB,OACrCgB,EAAO6pB,yBAA2BH,EAAG1qB,QAGzB,MAAP2qB,EACL3pB,EAAO4pB,yBAA2BF,EAAG1qB,OAGtB,MAAV0qB,EAAG,GACR1pB,EAAO6pB,yBAA2BH,EAAG1qB,QAIrCgB,EAAO4pB,yBAA2BF,EAAG1qB,OACrCgB,EAAO6pB,yBACHH,EAAG1qB,QAAwB,iBAAP2qB,EAAkBA,EAAG3qB,OAAS,IAEnD,MAEJgB,EAEX,SAAS8pB,GAAUN,GACf,OAAQA,GACJ,IAAK,YACD,MAAO,CACHO,YAAa,QAErB,IAAK,kBACL,IAAK,KACD,MAAO,CACHC,aAAc,cAEtB,IAAK,cACL,IAAK,KACD,MAAO,CACHD,YAAa,UAErB,IAAK,yBACL,IAAK,MACD,MAAO,CACHA,YAAa,SACbC,aAAc,cAEtB,IAAK,mBACL,IAAK,KACD,MAAO,CACHD,YAAa,cAErB,IAAK,8BACL,IAAK,MACD,MAAO,CACHA,YAAa,aACbC,aAAc,cAEtB,IAAK,aACL,IAAK,KACD,MAAO,CACHD,YAAa,UAI7B,SAASE,GAAyCC,GAE9C,IAAIlqB,EAaJ,GAZgB,MAAZkqB,EAAK,IAA0B,MAAZA,EAAK,IACxBlqB,EAAS,CACLmqB,SAAU,eAEdD,EAAOA,EAAKhoB,MAAM,IAED,MAAZgoB,EAAK,KACVlqB,EAAS,CACLmqB,SAAU,cAEdD,EAAOA,EAAKhoB,MAAM,IAElBlC,EAAQ,CACR,IAAI+pB,EAAcG,EAAKhoB,MAAM,EAAG,GAShC,GARoB,OAAhB6nB,GACA/pB,EAAO+pB,YAAc,SACrBG,EAAOA,EAAKhoB,MAAM,IAEG,OAAhB6nB,IACL/pB,EAAO+pB,YAAc,aACrBG,EAAOA,EAAKhoB,MAAM,KAEjBonB,GAA4Bc,KAAKF,GAClC,MAAM,IAAIjnB,MAAM,6CAEpBjD,EAAOqqB,qBAAuBH,EAAKlrB,OAEvC,OAAOgB,EAEX,SAASsqB,GAAqBC,GAC1B,IACIC,EAAWV,GAAUS,GACzB,OAAIC,GAFS,GAUV,SAASC,GAAoBC,GAEhC,IADA,IAAI1qB,EAAS,GACJsH,EAAK,EAAGqjB,EAAWD,EAAQpjB,EAAKqjB,EAAS3rB,OAAQsI,IAAM,CAC5D,IAAIsjB,EAAQD,EAASrjB,GACrB,OAAQsjB,EAAMV,MACV,IAAK,UACL,IAAK,IACDlqB,EAAO8b,MAAQ,UACf,SACJ,IAAK,QACD9b,EAAO8b,MAAQ,UACf9b,EAAO6qB,MAAQ,IACf,SACJ,IAAK,WACD7qB,EAAO8b,MAAQ,WACf9b,EAAO8qB,SAAWF,EAAMG,QAAQ,GAChC,SACJ,IAAK,YACL,IAAK,KACD/qB,EAAOgrB,aAAc,EACrB,SACJ,IAAK,oBACL,IAAK,IACDhrB,EAAOirB,sBAAwB,EAC/B,SACJ,IAAK,eACL,IAAK,OACDjrB,EAAO8b,MAAQ,OACf9b,EAAOkrB,KAAqBN,EAAMG,QAAQ,GArJ1CrmB,QAAQ,UAAW,IAsJnB,SACJ,IAAK,gBACL,IAAK,IACD1E,EAAOmqB,SAAW,UAClBnqB,EAAOmrB,eAAiB,QACxB,SACJ,IAAK,eACL,IAAK,KACDnrB,EAAOmqB,SAAW,UAClBnqB,EAAOmrB,eAAiB,OACxB,SACJ,IAAK,aACDnrB,EAASvB,EAASA,EAASA,EAAS,GAAIuB,GAAS,CAAEmqB,SAAU,eAAiBS,EAAMG,QAAQ9gB,QAAO,SAAUpE,EAAK0kB,GAAO,OAAQ9rB,EAASA,EAAS,GAAIoH,GAAMykB,GAAqBC,MAAW,KAC7L,SACJ,IAAK,cACDvqB,EAASvB,EAASA,EAASA,EAAS,GAAIuB,GAAS,CAAEmqB,SAAU,gBAAkBS,EAAMG,QAAQ9gB,QAAO,SAAUpE,EAAK0kB,GAAO,OAAQ9rB,EAASA,EAAS,GAAIoH,GAAMykB,GAAqBC,MAAW,KAC9L,SACJ,IAAK,kBACDvqB,EAAOmqB,SAAW,WAClB,SAEJ,IAAK,oBACDnqB,EAAOorB,gBAAkB,eACzBprB,EAAOqrB,YAAc,SACrB,SACJ,IAAK,mBACDrrB,EAAOorB,gBAAkB,OACzBprB,EAAOqrB,YAAc,QACrB,SACJ,IAAK,uBACDrrB,EAAOorB,gBAAkB,OACzBprB,EAAOqrB,YAAc,OACrB,SACJ,IAAK,sBACDrrB,EAAOorB,gBAAkB,SACzB,SACJ,IAAK,QACDprB,EAAO6qB,MAAQS,WAAWV,EAAMG,QAAQ,IACxC,SAEJ,IAAK,gBACD,GAAIH,EAAMG,QAAQ/rB,OAAS,EACvB,MAAM,IAAIwpB,WAAW,4DAEzBoC,EAAMG,QAAQ,GAAGrmB,QAAQ2kB,IAAqB,SAAU7oB,EAAGkpB,EAAIC,EAAI4B,EAAIC,EAAIC,GACvE,GAAI/B,EACA1pB,EAAOqqB,qBAAuBV,EAAG3qB,WAEhC,CAAA,GAAIusB,GAAMC,EACX,MAAM,IAAIvoB,MAAM,sDAEf,GAAIwoB,EACL,MAAM,IAAIxoB,MAAM,oDAEpB,MAAO,MAEX,SAGR,GAAIqmB,GAA4Bc,KAAKQ,EAAMV,MACvClqB,EAAOqqB,qBAAuBO,EAAMV,KAAKlrB,YAG7C,GAAImqB,GAAyBiB,KAAKQ,EAAMV,MAAxC,CAII,GAAIU,EAAMG,QAAQ/rB,OAAS,EACvB,MAAM,IAAIwpB,WAAW,iEAEzBoC,EAAMV,KAAKxlB,QAAQykB,IAA0B,SAAU3oB,EAAGkpB,EAAIC,EAAI4B,EAAIC,EAAIC,GAkBtE,MAhBW,MAAP9B,EACA3pB,EAAO0rB,sBAAwBhC,EAAG1qB,OAG7BusB,GAAgB,MAAVA,EAAG,GACdvrB,EAAOirB,sBAAwBM,EAAGvsB,OAG7BwsB,GAAMC,GACXzrB,EAAO0rB,sBAAwBF,EAAGxsB,OAClCgB,EAAOirB,sBAAwBO,EAAGxsB,OAASysB,EAAGzsB,SAG9CgB,EAAO0rB,sBAAwBhC,EAAG1qB,OAClCgB,EAAOirB,sBAAwBvB,EAAG1qB,QAE/B,MAEX,IAAIurB,EAAMK,EAAMG,QAAQ,GAEZ,MAARR,EACAvqB,EAASvB,EAASA,EAAS,GAAIuB,GAAS,CAAE2rB,oBAAqB,mBAE1DpB,IACLvqB,EAASvB,EAASA,EAAS,GAAIuB,GAASupB,GAA0BgB,UAK1E,GAAInB,GAA4BgB,KAAKQ,EAAMV,MACvClqB,EAASvB,EAASA,EAAS,GAAIuB,GAASupB,GAA0BqB,EAAMV,WAD5E,CAIA,IAAIM,EAAWV,GAAUc,EAAMV,MAC3BM,IACAxqB,EAASvB,EAASA,EAAS,GAAIuB,GAASwqB,IAE5C,IAAIoB,EAAsC3B,GAAyCW,EAAMV,MACrF0B,IACA5rB,EAASvB,EAASA,EAAS,GAAIuB,GAAS4rB,KAGhD,OAAO5rB,EC/RX,IAAI6rB,GAA8B,IAAIvL,OAAO,IAAIne,OAAO8lB,GAAsB9M,OAAQ,MAClF2Q,GAA4B,IAAIxL,OAAO,GAAGne,OAAO8lB,GAAsB9M,OAAQ,OACnF,SAAS4Q,GAAerL,EAAOsL,GAC3B,MAAO,CAAEtL,MAAOA,EAAOsL,IAAKA,GAIhC,IAAIC,KAAwB7tB,OAAOL,UAAUmuB,WACzCC,KAA2B/tB,OAAO8kB,cAClCkJ,KAAyB1uB,OAAO2uB,YAChCC,KAAyBluB,OAAOL,UAAU6kB,YAC1C2J,KAAiBnuB,OAAOL,UAAUyuB,UAClCC,KAAeruB,OAAOL,UAAU2uB,QAEhCC,KAD2B5I,OAAO4I,cAEhC5I,OAAO4I,cACP,SAAU7tB,GACR,MAAqB,iBAANA,GACX8tB,SAAS9tB,IACT+tB,KAAKC,MAAMhuB,KAAOA,GAClB+tB,KAAKE,IAAIjuB,IAAM,kBAGvBkuB,IAAyB,EAC7B,IAQIA,GAA8F,OAA5C,QAAvBrqB,GAPlBsqB,GAAG,4CAA6C,MAOtBtM,KAAK,YAAyB,IAAPhe,QAAgB,EAASA,GAAG,IAE1F,MAAOnC,GACHwsB,IAAyB,EAE7B,IAyFIE,GAzFAhB,GAAaD,GAET,SAAoBrtB,EAAGuuB,EAAQjO,GAC3B,OAAOtgB,EAAEstB,WAAWiB,EAAQjO,IAGhC,SAAoBtgB,EAAGuuB,EAAQjO,GAC3B,OAAOtgB,EAAEsD,MAAMgd,EAAUA,EAAWiO,EAAOnuB,UAAYmuB,GAE/DjK,GAAgBiJ,GACd/tB,OAAO8kB,cAEL,WAEI,IADA,IAAIkK,EAAa,GACR9lB,EAAK,EAAGA,EAAKvI,UAAUC,OAAQsI,IACpC8lB,EAAW9lB,GAAMvI,UAAUuI,GAM/B,IAJA,IAGIR,EAHAumB,EAAW,GACXruB,EAASouB,EAAWpuB,OACpBH,EAAI,EAEDG,EAASH,GAAG,CAEf,IADAiI,EAAOsmB,EAAWvuB,MACP,QACP,MAAM2pB,WAAW1hB,EAAO,8BAC5BumB,GACIvmB,EAAO,MACD1I,OAAOkvB,aAAaxmB,GACpB1I,OAAOkvB,aAAyC,QAA1BxmB,GAAQ,QAAY,IAAeA,EAAO,KAAS,OAEvF,OAAOumB,GAEfhB,GAEJD,GACM1uB,OAAO2uB,YAEL,SAAqBrjB,GAEjB,IADA,IAAIukB,EAAM,GACDjmB,EAAK,EAAGkmB,EAAYxkB,EAAS1B,EAAKkmB,EAAUxuB,OAAQsI,IAAM,CAC/D,IAAI3E,EAAK6qB,EAAUlmB,GAAKiK,EAAI5O,EAAG,GAAIzB,EAAIyB,EAAG,GAC1C4qB,EAAIhc,GAAKrQ,EAEb,OAAOqsB,GAEf3K,GAAc0J,GAEV,SAAqB1tB,EAAGoiB,GACpB,OAAOpiB,EAAEgkB,YAAY5B,IAGzB,SAAqBpiB,EAAGoiB,GACpB,IAAIrO,EAAO/T,EAAEI,OACb,KAAIgiB,EAAQ,GAAKA,GAASrO,GAA1B,CAGA,IACIqW,EADAyE,EAAQ7uB,EAAE8uB,WAAW1M,GAEzB,OAAOyM,EAAQ,OACXA,EAAQ,OACRzM,EAAQ,IAAMrO,IACbqW,EAASpqB,EAAE8uB,WAAW1M,EAAQ,IAAM,OACrCgI,EAAS,MACPyE,EAC4BzE,EAAS,OAAnCyE,EAAQ,OAAW,IAA0B,QAE7DjB,GAAYD,GAER,SAAmB3tB,GACf,OAAOA,EAAE4tB,aAGb,SAAmB5tB,GACf,OAAOA,EAAE8F,QAAQmnB,GAA6B,KAEtDa,GAAUD,GAEN,SAAiB7tB,GACb,OAAOA,EAAE8tB,WAGb,SAAiB9tB,GACb,OAAOA,EAAE8F,QAAQonB,GAA2B,KAGxD,SAASmB,GAAGruB,EAAG+uB,GACX,OAAO,IAAIrN,OAAO1hB,EAAG+uB,GAIzB,GAAIX,GAAwB,CAExB,IAAIY,GAAyBX,GAAG,4CAA6C,MAC7EC,GAAyB,SAAgCtuB,EAAGoiB,GACxD,IAAIre,EAGJ,OAFAirB,GAAuBC,UAAY7M,EAER,QAAnBre,EADIirB,GAAuBjN,KAAK/hB,GACrB,UAAuB,IAAP+D,EAAgBA,EAAK,SAK5DuqB,GAAyB,SAAgCtuB,EAAGoiB,GAExD,IADA,IAAIZ,EAAQ,KACC,CACT,IAAIyC,EAAID,GAAYhkB,EAAGoiB,GACvB,QAAUtV,IAANmX,GAAmBiL,GAAcjL,IAAMkL,GAAiBlL,GACxD,MAEJzC,EAAM/e,KAAKwhB,GACX7B,GAAS6B,GAAK,MAAU,EAAI,EAEhC,OAAOK,GAAcjkB,WAAM,EAAQmhB,IAG3C,IAAI4N,GAAwB,WACxB,SAASA,EAAO/iB,EAAS8f,QACL,IAAZA,IAAsBA,EAAU,IACpCzsB,KAAK2M,QAAUA,EACf3M,KAAK4gB,SAAW,CAAE+O,OAAQ,EAAGC,KAAM,EAAGC,OAAQ,GAC9C7vB,KAAK8vB,YAAcrD,EAAQqD,UAC3B9vB,KAAK+vB,sBAAwBtD,EAAQsD,oBACrC/vB,KAAKgwB,uBAAyBvD,EAAQuD,qBA+xB1C,OA7xBAN,EAAOjwB,UAAUwF,MAAQ,WACrB,GAAsB,IAAlBjF,KAAK2vB,SACL,MAAMhrB,MAAM,gCAEhB,OAAO3E,KAAKiwB,aAAa,EAAG,IAAI,IAEpCP,EAAOjwB,UAAUwwB,aAAe,SAAUC,EAAcC,EAAeC,GAEnE,IADA,IAAIrB,EAAW,IACP/uB,KAAKqwB,SAAS,CAClB,IAAI3P,EAAO1gB,KAAK0gB,OAChB,GAAa,MAATA,EAAwB,CAExB,IADIhf,EAAS1B,KAAKswB,cAAcJ,EAAcE,IACnCG,IACP,OAAO7uB,EAEXqtB,EAAShsB,KAAKrB,EAAO8uB,SAEpB,CAAA,GAAa,MAAT9P,GAA0BwP,EAAe,EAC9C,MAEC,GAAa,KAATxP,GACc,WAAlByP,GAAgD,kBAAlBA,EAQ9B,CAAA,GAAa,KAATzP,IACJ1gB,KAAK8vB,WACU,KAAhB9vB,KAAKywB,OACP,CACE,GAAIL,EACA,MAGA,OAAOpwB,KAAKsD,MAAMuhB,EAAU6L,sBAAuBjD,GAAeztB,KAAK2wB,gBAAiB3wB,KAAK2wB,kBAGhG,GAAa,KAATjQ,IACJ1gB,KAAK8vB,WACNc,GAAS5wB,KAAKywB,QAAU,GAAI,CAE5B,IADI/uB,EAAS1B,KAAK6wB,SAASX,EAAcC,IAC9BI,IACP,OAAO7uB,EAEXqtB,EAAShsB,KAAKrB,EAAO8uB,SAEpB,CACD,IAAI9uB,EACJ,IADIA,EAAS1B,KAAK8wB,aAAaZ,EAAcC,IAClCI,IACP,OAAO7uB,EAEXqtB,EAAShsB,KAAKrB,EAAO8uB,UAjC8C,CACnE,IAAI5P,EAAW5gB,KAAK2wB,gBACpB3wB,KAAK+wB,OACLhC,EAAShsB,KAAK,CACVwV,KAAMuM,EAAKwE,MACX9c,SAAUihB,GAAe7M,EAAU5gB,KAAK2wB,qBA+BpD,MAAO,CAAEH,IAAKzB,EAAUwB,IAAK,OAoBjCb,EAAOjwB,UAAUoxB,SAAW,SAAUX,EAAcC,GAChD,IAAIa,EAAgBhxB,KAAK2wB,gBACzB3wB,KAAK+wB,OACL,IAAIrS,EAAU1e,KAAKixB,eAEnB,GADAjxB,KAAKkxB,YACDlxB,KAAKmxB,OAAO,MAEZ,MAAO,CACHX,IAAK,CACDjY,KAAMuM,EAAK0D,QACXnnB,MAAO,IAAIwC,OAAO6a,EAAS,MAC3BlS,SAAUihB,GAAeuD,EAAehxB,KAAK2wB,kBAEjDJ,IAAK,MAGR,GAAIvwB,KAAKmxB,OAAO,KAAM,CACvB,IAAIC,EAAiBpxB,KAAKiwB,aAAaC,EAAe,EAAGC,GAAe,GACxE,GAAIiB,EAAeb,IACf,OAAOa,EAEX,IAAIC,EAAWD,EAAeZ,IAE1Bc,EAAsBtxB,KAAK2wB,gBAC/B,GAAI3wB,KAAKmxB,OAAO,MAAO,CACnB,GAAInxB,KAAKqwB,UAAYO,GAAS5wB,KAAK0gB,QAC/B,OAAO1gB,KAAKsD,MAAMuhB,EAAU0M,YAAa9D,GAAe6D,EAAqBtxB,KAAK2wB,kBAEtF,IAAIa,EAA8BxxB,KAAK2wB,gBAEvC,OAAIjS,IADiB1e,KAAKixB,eAEfjxB,KAAKsD,MAAMuhB,EAAU6L,sBAAuBjD,GAAe+D,EAA6BxxB,KAAK2wB,mBAExG3wB,KAAKkxB,YACAlxB,KAAKmxB,OAAO,KAGV,CACHX,IAAK,CACDjY,KAAMuM,EAAK1Y,IACX/K,MAAOqd,EACP2S,SAAUA,EACV7kB,SAAUihB,GAAeuD,EAAehxB,KAAK2wB,kBAEjDJ,IAAK,MATEvwB,KAAKsD,MAAMuhB,EAAU0M,YAAa9D,GAAe6D,EAAqBtxB,KAAK2wB,mBAatF,OAAO3wB,KAAKsD,MAAMuhB,EAAU4M,aAAchE,GAAeuD,EAAehxB,KAAK2wB,kBAIjF,OAAO3wB,KAAKsD,MAAMuhB,EAAU0M,YAAa9D,GAAeuD,EAAehxB,KAAK2wB,mBAMpFjB,EAAOjwB,UAAUwxB,aAAe,WAC5B,IAqqB6B1M,EArqBzBmN,EAAc1xB,KAAK2vB,SAEvB,IADA3vB,KAAK+wB,QACG/wB,KAAKqwB,UAoqBH,MADmB9L,EAnqBuBvkB,KAAK0gB,SAqqBnD,KAAN6D,GACCA,GAAK,IAAMA,GAAK,IACX,KAANA,GACCA,GAAK,IAAMA,GAAK,KAChBA,GAAK,IAAMA,GAAK,IACZ,KAALA,GACCA,GAAK,KAAQA,GAAK,KAClBA,GAAK,KAAQA,GAAK,KAClBA,GAAK,KAAQA,GAAK,KAClBA,GAAK,KAASA,GAAK,MACnBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAWA,GAAK,SArrBlBvkB,KAAK+wB,OAET,OAAO/wB,KAAK2M,QAAQ/I,MAAM8tB,EAAa1xB,KAAK2vB,WAEhDD,EAAOjwB,UAAUqxB,aAAe,SAAUZ,EAAcC,GAGpD,IAFA,IAAI/N,EAAQpiB,KAAK2wB,gBACbtvB,EAAQ,KACC,CACT,IAAIswB,EAAmB3xB,KAAK4xB,cAAczB,GAC1C,GAAIwB,EACAtwB,GAASswB,MADb,CAIA,IAAIE,EAAsB7xB,KAAK8xB,iBAAiB5B,EAAcC,GAC9D,GAAI0B,EACAxwB,GAASwwB,MADb,CAIA,IAAIE,EAAuB/xB,KAAKgyB,2BAChC,IAAID,EAIJ,MAHI1wB,GAAS0wB,IAKjB,IAAIvlB,EAAWihB,GAAerL,EAAOpiB,KAAK2wB,iBAC1C,MAAO,CACHH,IAAK,CAAEjY,KAAMuM,EAAK0D,QAASnnB,MAAOA,EAAOmL,SAAUA,GACnD+jB,IAAK,OAGbb,EAAOjwB,UAAUuyB,yBAA2B,WACxC,OAAKhyB,KAAKqwB,SACU,KAAhBrwB,KAAK0gB,SACJ1gB,KAAK8vB,YA6nBPc,GADcqB,EA1nBQjyB,KAAKywB,QAAU,IA2nBA,KAAdwB,GAvnBnB,MAHHjyB,KAAK+wB,OACE,KAwnBnB,IAAyBkB,GA/mBrBvC,EAAOjwB,UAAUmyB,cAAgB,SAAUzB,GACvC,GAAInwB,KAAKqwB,SAA2B,KAAhBrwB,KAAK0gB,OACrB,OAAO,KAIX,OAAQ1gB,KAAKywB,QACT,KAAK,GAID,OAFAzwB,KAAK+wB,OACL/wB,KAAK+wB,OACE,IAEX,KAAK,IACL,KAAK,GACL,KAAK,GACL,KAAK,IACD,MACJ,KAAK,GACD,GAAsB,WAAlBZ,GAAgD,kBAAlBA,EAC9B,MAEJ,OAAO,KACX,QACI,OAAO,KAEfnwB,KAAK+wB,OACL,IAAIjC,EAAa,CAAC9uB,KAAK0gB,QAGvB,IAFA1gB,KAAK+wB,QAEG/wB,KAAKqwB,SAAS,CAClB,IAAI6B,EAAKlyB,KAAK0gB,OACd,GAAW,KAAPwR,EAAqB,CACrB,GAAoB,KAAhBlyB,KAAKywB,OAKJ,CAEDzwB,KAAK+wB,OACL,MAPAjC,EAAW/rB,KAAK,IAEhB/C,KAAK+wB,YASTjC,EAAW/rB,KAAKmvB,GAEpBlyB,KAAK+wB,OAET,OAAOnM,GAAcjkB,WAAM,EAAQmuB,IAEvCY,EAAOjwB,UAAUqyB,iBAAmB,SAAU5B,EAAcC,GACxD,GAAInwB,KAAKqwB,QACL,OAAO,KAEX,IAAI6B,EAAKlyB,KAAK0gB,OACd,OAAW,KAAPwR,GACO,MAAPA,GACQ,KAAPA,IACsB,WAAlB/B,GAAgD,kBAAlBA,IAC3B,MAAP+B,GAAwBhC,EAAe,EACjC,MAGPlwB,KAAK+wB,OACEnM,GAAcsN,KAG7BxC,EAAOjwB,UAAU6wB,cAAgB,SAAUJ,EAAcE,GACrD,IAAI+B,EAAuBnyB,KAAK2wB,gBAGhC,GAFA3wB,KAAK+wB,OACL/wB,KAAKkxB,YACDlxB,KAAKqwB,QACL,OAAOrwB,KAAKsD,MAAMuhB,EAAUuN,8BAA+B3E,GAAe0E,EAAsBnyB,KAAK2wB,kBAEzG,GAAoB,MAAhB3wB,KAAK0gB,OAEL,OADA1gB,KAAK+wB,OACE/wB,KAAKsD,MAAMuhB,EAAUwN,eAAgB5E,GAAe0E,EAAsBnyB,KAAK2wB,kBAG1F,IAAItvB,EAAQrB,KAAKsyB,4BAA4BjxB,MAC7C,IAAKA,EACD,OAAOrB,KAAKsD,MAAMuhB,EAAU0N,mBAAoB9E,GAAe0E,EAAsBnyB,KAAK2wB,kBAG9F,GADA3wB,KAAKkxB,YACDlxB,KAAKqwB,QACL,OAAOrwB,KAAKsD,MAAMuhB,EAAUuN,8BAA+B3E,GAAe0E,EAAsBnyB,KAAK2wB,kBAEzG,OAAQ3wB,KAAK0gB,QAET,KAAK,IAED,OADA1gB,KAAK+wB,OACE,CACHP,IAAK,CACDjY,KAAMuM,EAAK4D,SAEXrnB,MAAOA,EACPmL,SAAUihB,GAAe0E,EAAsBnyB,KAAK2wB,kBAExDJ,IAAK,MAIb,KAAK,GAGD,OAFAvwB,KAAK+wB,OACL/wB,KAAKkxB,YACDlxB,KAAKqwB,QACErwB,KAAKsD,MAAMuhB,EAAUuN,8BAA+B3E,GAAe0E,EAAsBnyB,KAAK2wB,kBAElG3wB,KAAKwyB,qBAAqBtC,EAAcE,EAAmB/uB,EAAO8wB,GAE7E,QACI,OAAOnyB,KAAKsD,MAAMuhB,EAAU0N,mBAAoB9E,GAAe0E,EAAsBnyB,KAAK2wB,oBAOtGjB,EAAOjwB,UAAU6yB,0BAA4B,WACzC,IAAIG,EAAmBzyB,KAAK2wB,gBACxBe,EAAc1xB,KAAK2vB,SACnBtuB,EAAQutB,GAAuB5uB,KAAK2M,QAAS+kB,GAC7CgB,EAAYhB,EAAcrwB,EAAMX,OAIpC,OAHAV,KAAK2yB,OAAOD,GAGL,CAAErxB,MAAOA,EAAOmL,SADRihB,GAAegF,EADZzyB,KAAK2wB,mBAI3BjB,EAAOjwB,UAAU+yB,qBAAuB,SAAUtC,EAAcE,EAAmB/uB,EAAO8wB,GACtF,IAAI9tB,EAIAuuB,EAAoB5yB,KAAK2wB,gBACzBkC,EAAU7yB,KAAKsyB,4BAA4BjxB,MAC3CyxB,EAAkB9yB,KAAK2wB,gBAC3B,OAAQkC,GACJ,IAAK,GAED,OAAO7yB,KAAKsD,MAAMuhB,EAAUkO,qBAAsBtF,GAAemF,EAAmBE,IACxF,IAAK,SACL,IAAK,OACL,IAAK,OAID9yB,KAAKkxB,YACL,IAAI8B,EAAmB,KACvB,GAAIhzB,KAAKmxB,OAAO,KAAM,CAClBnxB,KAAKkxB,YACL,IAAI+B,EAAqBjzB,KAAK2wB,gBAE9B,IADIjvB,EAAS1B,KAAKkzB,iCACP3C,IACP,OAAO7uB,EAGX,GAAqB,KADjB8b,EAAQ4Q,GAAQ1sB,EAAO8uB,MACjB9vB,OACN,OAAOV,KAAKsD,MAAMuhB,EAAUsO,sBAAuB1F,GAAeztB,KAAK2wB,gBAAiB3wB,KAAK2wB,kBAGjGqC,EAAmB,CAAExV,MAAOA,EAAO4V,cADf3F,GAAewF,EAAoBjzB,KAAK2wB,kBAIhE,IADI0C,EAAiBrzB,KAAKszB,sBAAsBnB,IAC7B5B,IACf,OAAO8C,EAEX,IAAIE,EAAa9F,GAAe0E,EAAsBnyB,KAAK2wB,iBAE3D,GAAIqC,GAAoBpF,GAAWoF,MAAAA,OAA2D,EAASA,EAAiBxV,MAAO,KAAM,GAAI,CAErI,IAAIsM,EAAWoE,GAAU8E,EAAiBxV,MAAM5Z,MAAM,IACtD,GAAgB,WAAZivB,EAEA,OADInxB,EAAS1B,KAAKwzB,8BAA8B1J,EAAUkJ,EAAiBI,gBAChE7C,IACA7uB,EAEJ,CACH8uB,IAAK,CAAEjY,KAAMuM,EAAK8D,OAAQvnB,MAAOA,EAAOmL,SAAU+mB,EAAY/V,MAAO9b,EAAO8uB,KAC5ED,IAAK,MAIT,GAAwB,IAApBzG,EAASppB,OACT,OAAOV,KAAKsD,MAAMuhB,EAAU4O,0BAA2BF,GAE3D,IAAI/V,EAAQ,CACRjF,KAAMwM,EAAc2E,SACpBgK,QAAS5J,EACTtd,SAAUwmB,EAAiBI,cAC3BO,cAAe3zB,KAAKgwB,qBACdnG,GAAsBC,GACtB,IAGV,MAAO,CACH0G,IAAK,CAAEjY,KAFY,SAAZsa,EAAqB/N,EAAKgE,KAAOhE,EAAKkE,KAE1B3nB,MAAOA,EAAOmL,SAAU+mB,EAAY/V,MAAOA,GAC9D+S,IAAK,MAKjB,MAAO,CACHC,IAAK,CACDjY,KAAkB,WAAZsa,EACA/N,EAAK8D,OACO,SAAZiK,EACI/N,EAAKgE,KACLhE,EAAKkE,KACf3nB,MAAOA,EACPmL,SAAU+mB,EACV/V,MAA6G,QAArGnZ,EAAK2uB,MAAAA,OAA2D,EAASA,EAAiBxV,aAA0B,IAAPnZ,EAAgBA,EAAK,MAE9IksB,IAAK,MAGb,IAAK,SACL,IAAK,gBACL,IAAK,SAID,IAAIqD,EAAoB5zB,KAAK2wB,gBAE7B,GADA3wB,KAAKkxB,aACAlxB,KAAKmxB,OAAO,KACb,OAAOnxB,KAAKsD,MAAMuhB,EAAUgP,+BAAgCpG,GAAemG,EAAmBzzB,EAAS,GAAIyzB,KAE/G5zB,KAAKkxB,YASL,IAAI4C,EAAwB9zB,KAAKsyB,4BAC7ByB,EAAe,EACnB,GAAgB,WAAZlB,GAAwD,WAAhCiB,EAAsBzyB,MAAoB,CAClE,IAAKrB,KAAKmxB,OAAO,KACb,OAAOnxB,KAAKsD,MAAMuhB,EAAUmP,oCAAqCvG,GAAeztB,KAAK2wB,gBAAiB3wB,KAAK2wB,kBAG/G,IAAIjvB,EACJ,GAFA1B,KAAKkxB,aACDxvB,EAAS1B,KAAKi0B,uBAAuBpP,EAAUmP,oCAAqCnP,EAAUqP,uCACvF3D,IACP,OAAO7uB,EAGX1B,KAAKkxB,YACL4C,EAAwB9zB,KAAKsyB,4BAC7ByB,EAAeryB,EAAO8uB,IAE1B,IAII6C,EAJAc,EAAgBn0B,KAAKo0B,8BAA8BlE,EAAc2C,EAASzC,EAAmB0D,GACjG,GAAIK,EAAc5D,IACd,OAAO4D,EAGX,IADId,EAAiBrzB,KAAKszB,sBAAsBnB,IAC7B5B,IACf,OAAO8C,EAEX,IAAIgB,EAAa5G,GAAe0E,EAAsBnyB,KAAK2wB,iBAC3D,MAAgB,WAAZkC,EACO,CACHrC,IAAK,CACDjY,KAAMuM,EAAKoE,OACX7nB,MAAOA,EACPorB,QAASsB,GAAYoG,EAAc3D,KACnChkB,SAAU6nB,GAEd9D,IAAK,MAIF,CACHC,IAAK,CACDjY,KAAMuM,EAAKsE,OACX/nB,MAAOA,EACPorB,QAASsB,GAAYoG,EAAc3D,KACnCb,OAAQoE,EACRO,WAAwB,WAAZzB,EAAuB,WAAa,UAChDrmB,SAAU6nB,GAEd9D,IAAK,MAIjB,QACI,OAAOvwB,KAAKsD,MAAMuhB,EAAU0P,sBAAuB9G,GAAemF,EAAmBE,MAGjGpD,EAAOjwB,UAAU6zB,sBAAwB,SAAUnB,GAG/C,OAAInyB,KAAKqwB,SAA2B,MAAhBrwB,KAAK0gB,OACd1gB,KAAKsD,MAAMuhB,EAAUuN,8BAA+B3E,GAAe0E,EAAsBnyB,KAAK2wB,mBAEzG3wB,KAAK+wB,OACE,CAAEP,KAAK,EAAMD,IAAK,QAK7Bb,EAAOjwB,UAAUyzB,8BAAgC,WAG7C,IAFA,IAAIsB,EAAe,EACfxD,EAAgBhxB,KAAK2wB,iBACjB3wB,KAAKqwB,SAAS,CAElB,OADSrwB,KAAK0gB,QAEV,KAAK,GAGD1gB,KAAK+wB,OACL,IAAI0D,EAAqBz0B,KAAK2wB,gBAC9B,IAAK3wB,KAAK00B,UAAU,KAChB,OAAO10B,KAAKsD,MAAMuhB,EAAU8P,iCAAkClH,GAAegH,EAAoBz0B,KAAK2wB,kBAE1G3wB,KAAK+wB,OACL,MAEJ,KAAK,IACDyD,GAAgB,EAChBx0B,KAAK+wB,OACL,MAEJ,KAAK,IACD,KAAIyD,EAAe,GAIf,MAAO,CACHhE,IAAKxwB,KAAK2M,QAAQ/I,MAAMotB,EAAcrB,OAAQ3vB,KAAK2vB,UACnDY,IAAK,MALTiE,GAAgB,EAQpB,MAEJ,QACIx0B,KAAK+wB,QAIjB,MAAO,CACHP,IAAKxwB,KAAK2M,QAAQ/I,MAAMotB,EAAcrB,OAAQ3vB,KAAK2vB,UACnDY,IAAK,OAGbb,EAAOjwB,UAAU+zB,8BAAgC,SAAU1J,EAAUtd,GACjE,IAAI4f,EAAS,GACb,IACIA,ED5rBL,SAAuCtC,GAC1C,GAAwB,IAApBA,EAASppB,OACT,MAAM,IAAIiE,MAAM,mCAOpB,IAJA,IAGIynB,EAAS,GACJpjB,EAAK,EAAG4rB,EAJE9K,EACd+K,MAAMjK,IACNtR,QAAO,SAAUwb,GAAK,OAAOA,EAAEp0B,OAAS,KAEGsI,EAAK4rB,EAAel0B,OAAQsI,IAAM,CAC9E,IACI+rB,EADcH,EAAe5rB,GACA6rB,MAAM,KACvC,GAA8B,IAA1BE,EAAer0B,OACf,MAAM,IAAIiE,MAAM,2BAGpB,IADA,IAAIinB,EAAOmJ,EAAe,GAAItI,EAAUsI,EAAenxB,MAAM,GACpDS,EAAK,EAAG2wB,EAAYvI,EAASpoB,EAAK2wB,EAAUt0B,OAAQ2D,IAEzD,GAAsB,IADT2wB,EAAU3wB,GACZ3D,OACP,MAAM,IAAIiE,MAAM,2BAGxBynB,EAAOrpB,KAAK,CAAE6oB,KAAMA,EAAMa,QAASA,IAEvC,OAAOL,ECoqBUoH,CAA8B1J,GAE3C,MAAOtoB,GACH,OAAOxB,KAAKsD,MAAMuhB,EAAUoQ,wBAAyBzoB,GAEzD,MAAO,CACHgkB,IAAK,CACDjY,KAAMwM,EAAc6D,OACpBwD,OAAQA,EACR5f,SAAUA,EACVmnB,cAAe3zB,KAAKgwB,qBACd7D,GAAoBC,GACpB,IAEVmE,IAAK,OAabb,EAAOjwB,UAAU20B,8BAAgC,SAAUlE,EAAcC,EAAe+E,EAAgBC,GASpG,IARA,IAAI9wB,EACA+wB,GAAiB,EACjB3I,EAAU,GACV4I,EAAkB,IAAItwB,IACtBuwB,EAAWH,EAAsB9zB,MAAOk0B,EAAmBJ,EAAsB3oB,WAIxE,CACT,GAAwB,IAApB8oB,EAAS50B,OAAc,CACvB,IAAIswB,EAAgBhxB,KAAK2wB,gBACzB,GAAsB,WAAlBR,IAA8BnwB,KAAKmxB,OAAO,KAU1C,MARA,IAAIzvB,EAAS1B,KAAKi0B,uBAAuBpP,EAAU2Q,gCAAiC3Q,EAAU4Q,kCAC9F,GAAI/zB,EAAO6uB,IACP,OAAO7uB,EAEX6zB,EAAmB9H,GAAeuD,EAAehxB,KAAK2wB,iBACtD2E,EAAWt1B,KAAK2M,QAAQ/I,MAAMotB,EAAcrB,OAAQ3vB,KAAK2vB,UAOjE,GAAI0F,EAAgB/iB,IAAIgjB,GACpB,OAAOt1B,KAAKsD,MAAwB,WAAlB6sB,EACZtL,EAAU6Q,mCACV7Q,EAAU8Q,mCAAoCJ,GAEvC,UAAbD,IACAF,GAAiB,GAKrBp1B,KAAKkxB,YACL,IAAIiB,EAAuBnyB,KAAK2wB,gBAChC,IAAK3wB,KAAKmxB,OAAO,KACb,OAAOnxB,KAAKsD,MAAwB,WAAlB6sB,EACZtL,EAAU+Q,yCACV/Q,EAAUgR,yCAA0CpI,GAAeztB,KAAK2wB,gBAAiB3wB,KAAK2wB,kBAExG,IAAImF,EAAiB91B,KAAKiwB,aAAaC,EAAe,EAAGC,EAAe+E,GACxE,GAAIY,EAAevF,IACf,OAAOuF,EAEX,IAAIzC,EAAiBrzB,KAAKszB,sBAAsBnB,GAChD,GAAIkB,EAAe9C,IACf,OAAO8C,EAEX5G,EAAQ1pB,KAAK,CACTuyB,EACA,CACIj0B,MAAOy0B,EAAetF,IACtBhkB,SAAUihB,GAAe0E,EAAsBnyB,KAAK2wB,oBAI5D0E,EAAgBrkB,IAAIskB,GAEpBt1B,KAAKkxB,YACmCoE,GAAvCjxB,EAAKrE,KAAKsyB,6BAA2CjxB,MAAOk0B,EAAmBlxB,EAAGmI,SAEvF,OAAuB,IAAnBigB,EAAQ/rB,OACDV,KAAKsD,MAAwB,WAAlB6sB,EACZtL,EAAUkR,gCACVlR,EAAU2Q,gCAAiC/H,GAAeztB,KAAK2wB,gBAAiB3wB,KAAK2wB,kBAE3F3wB,KAAK+vB,sBAAwBqF,EACtBp1B,KAAKsD,MAAMuhB,EAAUmR,qBAAsBvI,GAAeztB,KAAK2wB,gBAAiB3wB,KAAK2wB,kBAEzF,CAAEH,IAAK/D,EAAS8D,IAAK,OAEhCb,EAAOjwB,UAAUw0B,uBAAyB,SAAUgC,EAAmBC,GACnE,IAAIC,EAAO,EACP1D,EAAmBzyB,KAAK2wB,gBACxB3wB,KAAKmxB,OAAO,MAEPnxB,KAAKmxB,OAAO,OACjBgF,GAAQ,GAIZ,IAFA,IAAIC,GAAY,EACZC,EAAU,GACNr2B,KAAKqwB,SAAS,CAClB,IAAI6B,EAAKlyB,KAAK0gB,OACd,KAAIwR,GAAM,IAAgBA,GAAM,IAM5B,MALAkE,GAAY,EACZC,EAAoB,GAAVA,GAAgBnE,EAAK,IAC/BlyB,KAAK+wB,OAMb,IAAIvkB,EAAWihB,GAAegF,EAAkBzyB,KAAK2wB,iBACrD,OAAKyF,EAIA/H,GADLgI,GAAWF,GAIJ,CAAE3F,IAAK6F,EAAS9F,IAAK,MAFjBvwB,KAAKsD,MAAM4yB,EAAoB1pB,GAJ/BxM,KAAKsD,MAAM2yB,EAAmBzpB,IAQ7CkjB,EAAOjwB,UAAUkwB,OAAS,WACtB,OAAO3vB,KAAK4gB,SAAS+O,QAEzBD,EAAOjwB,UAAU4wB,MAAQ,WACrB,OAAOrwB,KAAK2vB,WAAa3vB,KAAK2M,QAAQjM,QAE1CgvB,EAAOjwB,UAAUkxB,cAAgB,WAE7B,MAAO,CACHhB,OAAQ3vB,KAAK4gB,SAAS+O,OACtBC,KAAM5vB,KAAK4gB,SAASgP,KACpBC,OAAQ7vB,KAAK4gB,SAASiP,SAO9BH,EAAOjwB,UAAUihB,KAAO,WACpB,IAAIiP,EAAS3vB,KAAK4gB,SAAS+O,OAC3B,GAAIA,GAAU3vB,KAAK2M,QAAQjM,OACvB,MAAMiE,MAAM,gBAEhB,IAAI6D,EAAO8b,GAAYtkB,KAAK2M,QAASgjB,GACrC,QAAaviB,IAAT5E,EACA,MAAM7D,MAAM,UAAUd,OAAO8rB,EAAQ,6CAEzC,OAAOnnB,GAEXknB,EAAOjwB,UAAU6D,MAAQ,SAAUgzB,EAAM9pB,GACrC,MAAO,CACHgkB,IAAK,KACLD,IAAK,CACD+F,KAAMA,EACN3pB,QAAS3M,KAAK2M,QACdH,SAAUA,KAKtBkjB,EAAOjwB,UAAUsxB,KAAO,WACpB,IAAI/wB,KAAKqwB,QAAT,CAGA,IAAI7nB,EAAOxI,KAAK0gB,OACH,KAATlY,GACAxI,KAAK4gB,SAASgP,MAAQ,EACtB5vB,KAAK4gB,SAASiP,OAAS,EACvB7vB,KAAK4gB,SAAS+O,QAAU,IAGxB3vB,KAAK4gB,SAASiP,QAAU,EAExB7vB,KAAK4gB,SAAS+O,QAAUnnB,EAAO,MAAU,EAAI,KASrDknB,EAAOjwB,UAAU0xB,OAAS,SAAUoF,GAChC,GAAI3I,GAAW5tB,KAAK2M,QAAS4pB,EAAQv2B,KAAK2vB,UAAW,CACjD,IAAK,IAAIpvB,EAAI,EAAGA,EAAIg2B,EAAO71B,OAAQH,IAC/BP,KAAK+wB,OAET,OAAO,EAEX,OAAO,GAMXrB,EAAOjwB,UAAUi1B,UAAY,SAAUhB,GACnC,IAAI8C,EAAgBx2B,KAAK2vB,SACrBjN,EAAQ1iB,KAAK2M,QAAQ/G,QAAQ8tB,EAAS8C,GAC1C,OAAI9T,GAAS,GACT1iB,KAAK2yB,OAAOjQ,IACL,IAGP1iB,KAAK2yB,OAAO3yB,KAAK2M,QAAQjM,SAClB,IAOfgvB,EAAOjwB,UAAUkzB,OAAS,SAAU8D,GAChC,GAAIz2B,KAAK2vB,SAAW8G,EAChB,MAAM9xB,MAAM,gBAAgBd,OAAO4yB,EAAc,yDAAyD5yB,OAAO7D,KAAK2vB,WAG1H,IADA8G,EAAelI,KAAKmI,IAAID,EAAcz2B,KAAK2M,QAAQjM,UACtC,CACT,IAAIivB,EAAS3vB,KAAK2vB,SAClB,GAAIA,IAAW8G,EACX,MAEJ,GAAI9G,EAAS8G,EACT,MAAM9xB,MAAM,gBAAgBd,OAAO4yB,EAAc,6CAGrD,GADAz2B,KAAK+wB,OACD/wB,KAAKqwB,QACL,QAKZX,EAAOjwB,UAAUyxB,UAAY,WACzB,MAAQlxB,KAAKqwB,SAAWb,GAAcxvB,KAAK0gB,SACvC1gB,KAAK+wB,QAObrB,EAAOjwB,UAAUgxB,KAAO,WACpB,GAAIzwB,KAAKqwB,QACL,OAAO,KAEX,IAAI7nB,EAAOxI,KAAK0gB,OACZiP,EAAS3vB,KAAK2vB,SACdgH,EAAW32B,KAAK2M,QAAQyiB,WAAWO,GAAUnnB,GAAQ,MAAU,EAAI,IACvE,OAAOmuB,MAAAA,EAA2CA,EAAW,MAE1DjH,KAQX,SAASkB,GAASqB,GACd,OAASA,GAAa,IAAMA,GAAa,KACpCA,GAAa,IAAMA,GAAa,GA+BzC,SAASzC,GAAcjL,GACnB,OAASA,GAAK,GAAUA,GAAK,IACnB,KAANA,GACM,MAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,EAMR,SAASkL,GAAiBlL,GACtB,OAASA,GAAK,IAAUA,GAAK,IACnB,KAANA,GACCA,GAAK,IAAUA,GAAK,IACf,KAANA,GACM,KAANA,GACM,KAANA,GACM,KAANA,GACM,KAANA,GACM,KAANA,GACCA,GAAK,IAAUA,GAAK,IACpBA,GAAK,IAAUA,GAAK,IACpBA,GAAK,IAAUA,GAAK,IACpBA,GAAK,IAAUA,GAAK,IACf,KAANA,GACM,KAANA,GACM,KAANA,GACM,KAANA,GACM,KAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACCA,GAAK,KAAUA,GAAK,KACf,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,KACf,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,MC7uC7B,SAASqS,GAAcC,GACnBA,EAAIlsB,SAAQ,SAAUuH,GAElB,UADOA,EAAG1F,SACNyc,GAAgB/W,IAAOiX,GAAgBjX,GACvC,IAAK,IAAIe,KAAKf,EAAGua,eACNva,EAAGua,QAAQxZ,GAAGzG,SACrBoqB,GAAc1kB,EAAGua,QAAQxZ,GAAG5R,YAG3BsnB,GAAgBzW,IAAOsX,GAAiBtX,EAAGsL,SAG1CqL,GAAc3W,IAAO6W,GAAc7W,KACzCuX,GAAmBvX,EAAGsL,cAHftL,EAAGsL,MAAMhR,SAMX+c,GAAarX,IAClB0kB,GAAc1kB,EAAGmf,aAI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"}
|
|
1
|
+
{"version":3,"file":"tolgee.umd.min.js","sources":["../node_modules/tslib/tslib.es6.js","../src/Properties.ts","../src/Constants/ModifierKey.ts","../src/services/Subscription.ts","../src/services/EventEmitter.ts","../src/services/EventService.ts","../src/Errors/ApiHttpError.ts","../src/services/ApiHttpService.ts","../src/types/DTOs.ts","../src/services/TranslationService.ts","../src/services/TextService.ts","../src/highlighter/MouseEventHandler.ts","../src/highlighter/TranslationHighlighter.ts","../src/Constants/Global.ts","../src/helpers/NodeHelper.ts","../src/services/ElementRegistrar.ts","../src/Observer.ts","../src/services/CoreService.ts","../src/TolgeeConfig.ts","../src/toolsManager/PluginManager.ts","../src/helpers/sleep.ts","../src/toolsManager/Messages.ts","../src/highlighter/HighlightFunctionsInitializer.ts","../src/services/ScreenshotService.ts","../src/services/ModuleService.ts","../src/wrappers/NodeHandler.ts","../src/wrappers/text/AttributeHandler.ts","../src/helpers/TextHelper.ts","../src/wrappers/text/Coder.ts","../src/wrappers/text/CoreHandler.ts","../src/wrappers/text/ContentHandler.ts","../src/wrappers/WrappedHandler.ts","../src/wrappers/text/TextWrapper.ts","../src/helpers/encoderPolyfill.ts","../node_modules/@formatjs/icu-messageformat-parser/lib/error.js","../node_modules/@formatjs/icu-messageformat-parser/lib/types.js","../src/helpers/secret.ts","../src/wrappers/invisible/AttributeHandler.ts","../src/wrappers/invisible/ValueMemory.ts","../src/wrappers/invisible/Coder.ts","../src/wrappers/invisible/CoreHandler.ts","../src/wrappers/invisible/ContentHandler.ts","../src/wrappers/invisible/InvisibleWrapper.ts","../src/services/DependencyService.ts","../src/Tolgee.ts","../node_modules/@formatjs/icu-messageformat-parser/lib/regex.generated.js","../node_modules/@formatjs/icu-skeleton-parser/lib/date-time.js","../node_modules/@formatjs/icu-skeleton-parser/lib/regex.generated.js","../node_modules/@formatjs/icu-skeleton-parser/lib/number.js","../node_modules/@formatjs/icu-messageformat-parser/lib/parser.js","../node_modules/@formatjs/icu-messageformat-parser/lib/index.js","../node_modules/@formatjs/fast-memoize/lib/index.js","../node_modules/intl-messageformat/lib/src/error.js","../node_modules/intl-messageformat/lib/src/formatters.js","../node_modules/intl-messageformat/lib/src/core.js","../node_modules/intl-messageformat/lib/index.js","../src/modules/IcuFormatter.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"export var ErrorKind;\n(function (ErrorKind) {\n /** Argument is unclosed (e.g. `{0`) */\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_CLOSING_BRACE\"] = 1] = \"EXPECT_ARGUMENT_CLOSING_BRACE\";\n /** Argument is empty (e.g. `{}`). */\n ErrorKind[ErrorKind[\"EMPTY_ARGUMENT\"] = 2] = \"EMPTY_ARGUMENT\";\n /** Argument is malformed (e.g. `{foo!}``) */\n ErrorKind[ErrorKind[\"MALFORMED_ARGUMENT\"] = 3] = \"MALFORMED_ARGUMENT\";\n /** Expect an argument type (e.g. `{foo,}`) */\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_TYPE\"] = 4] = \"EXPECT_ARGUMENT_TYPE\";\n /** Unsupported argument type (e.g. `{foo,foo}`) */\n ErrorKind[ErrorKind[\"INVALID_ARGUMENT_TYPE\"] = 5] = \"INVALID_ARGUMENT_TYPE\";\n /** Expect an argument style (e.g. `{foo, number, }`) */\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_STYLE\"] = 6] = \"EXPECT_ARGUMENT_STYLE\";\n /** The number skeleton is invalid. */\n ErrorKind[ErrorKind[\"INVALID_NUMBER_SKELETON\"] = 7] = \"INVALID_NUMBER_SKELETON\";\n /** The date time skeleton is invalid. */\n ErrorKind[ErrorKind[\"INVALID_DATE_TIME_SKELETON\"] = 8] = \"INVALID_DATE_TIME_SKELETON\";\n /** Exepct a number skeleton following the `::` (e.g. `{foo, number, ::}`) */\n ErrorKind[ErrorKind[\"EXPECT_NUMBER_SKELETON\"] = 9] = \"EXPECT_NUMBER_SKELETON\";\n /** Exepct a date time skeleton following the `::` (e.g. `{foo, date, ::}`) */\n ErrorKind[ErrorKind[\"EXPECT_DATE_TIME_SKELETON\"] = 10] = \"EXPECT_DATE_TIME_SKELETON\";\n /** Unmatched apostrophes in the argument style (e.g. `{foo, number, 'test`) */\n ErrorKind[ErrorKind[\"UNCLOSED_QUOTE_IN_ARGUMENT_STYLE\"] = 11] = \"UNCLOSED_QUOTE_IN_ARGUMENT_STYLE\";\n /** Missing select argument options (e.g. `{foo, select}`) */\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_OPTIONS\"] = 12] = \"EXPECT_SELECT_ARGUMENT_OPTIONS\";\n /** Expecting an offset value in `plural` or `selectordinal` argument (e.g `{foo, plural, offset}`) */\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE\"] = 13] = \"EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE\";\n /** Offset value in `plural` or `selectordinal` is invalid (e.g. `{foo, plural, offset: x}`) */\n ErrorKind[ErrorKind[\"INVALID_PLURAL_ARGUMENT_OFFSET_VALUE\"] = 14] = \"INVALID_PLURAL_ARGUMENT_OFFSET_VALUE\";\n /** Expecting a selector in `select` argument (e.g `{foo, select}`) */\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_SELECTOR\"] = 15] = \"EXPECT_SELECT_ARGUMENT_SELECTOR\";\n /** Expecting a selector in `plural` or `selectordinal` argument (e.g `{foo, plural}`) */\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_SELECTOR\"] = 16] = \"EXPECT_PLURAL_ARGUMENT_SELECTOR\";\n /** Expecting a message fragment after the `select` selector (e.g. `{foo, select, apple}`) */\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\"] = 17] = \"EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\";\n /**\n * Expecting a message fragment after the `plural` or `selectordinal` selector\n * (e.g. `{foo, plural, one}`)\n */\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT\"] = 18] = \"EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT\";\n /** Selector in `plural` or `selectordinal` is malformed (e.g. `{foo, plural, =x {#}}`) */\n ErrorKind[ErrorKind[\"INVALID_PLURAL_ARGUMENT_SELECTOR\"] = 19] = \"INVALID_PLURAL_ARGUMENT_SELECTOR\";\n /**\n * Duplicate selectors in `plural` or `selectordinal` argument.\n * (e.g. {foo, plural, one {#} one {#}})\n */\n ErrorKind[ErrorKind[\"DUPLICATE_PLURAL_ARGUMENT_SELECTOR\"] = 20] = \"DUPLICATE_PLURAL_ARGUMENT_SELECTOR\";\n /** Duplicate selectors in `select` argument.\n * (e.g. {foo, select, apple {apple} apple {apple}})\n */\n ErrorKind[ErrorKind[\"DUPLICATE_SELECT_ARGUMENT_SELECTOR\"] = 21] = \"DUPLICATE_SELECT_ARGUMENT_SELECTOR\";\n /** Plural or select argument option must have `other` clause. */\n ErrorKind[ErrorKind[\"MISSING_OTHER_CLAUSE\"] = 22] = \"MISSING_OTHER_CLAUSE\";\n /** The tag is malformed. (e.g. `<bold!>foo</bold!>) */\n ErrorKind[ErrorKind[\"INVALID_TAG\"] = 23] = \"INVALID_TAG\";\n /** The tag name is invalid. (e.g. `<123>foo</123>`) */\n ErrorKind[ErrorKind[\"INVALID_TAG_NAME\"] = 25] = \"INVALID_TAG_NAME\";\n /** The closing tag does not match the opening tag. (e.g. `<bold>foo</italic>`) */\n ErrorKind[ErrorKind[\"UNMATCHED_CLOSING_TAG\"] = 26] = \"UNMATCHED_CLOSING_TAG\";\n /** The opening tag has unmatched closing tag. (e.g. `<bold>foo`) */\n ErrorKind[ErrorKind[\"UNCLOSED_TAG\"] = 27] = \"UNCLOSED_TAG\";\n})(ErrorKind || (ErrorKind = {}));\n","export var TYPE;\n(function (TYPE) {\n /**\n * Raw text\n */\n TYPE[TYPE[\"literal\"] = 0] = \"literal\";\n /**\n * Variable w/o any format, e.g `var` in `this is a {var}`\n */\n TYPE[TYPE[\"argument\"] = 1] = \"argument\";\n /**\n * Variable w/ number format\n */\n TYPE[TYPE[\"number\"] = 2] = \"number\";\n /**\n * Variable w/ date format\n */\n TYPE[TYPE[\"date\"] = 3] = \"date\";\n /**\n * Variable w/ time format\n */\n TYPE[TYPE[\"time\"] = 4] = \"time\";\n /**\n * Variable w/ select format\n */\n TYPE[TYPE[\"select\"] = 5] = \"select\";\n /**\n * Variable w/ plural format\n */\n TYPE[TYPE[\"plural\"] = 6] = \"plural\";\n /**\n * Only possible within plural argument.\n * This is the `#` symbol that will be substituted with the count.\n */\n TYPE[TYPE[\"pound\"] = 7] = \"pound\";\n /**\n * XML-like tag\n */\n TYPE[TYPE[\"tag\"] = 8] = \"tag\";\n})(TYPE || (TYPE = {}));\nexport var SKELETON_TYPE;\n(function (SKELETON_TYPE) {\n SKELETON_TYPE[SKELETON_TYPE[\"number\"] = 0] = \"number\";\n SKELETON_TYPE[SKELETON_TYPE[\"dateTime\"] = 1] = \"dateTime\";\n})(SKELETON_TYPE || (SKELETON_TYPE = {}));\n/**\n * Type Guards\n */\nexport function isLiteralElement(el) {\n return el.type === TYPE.literal;\n}\nexport function isArgumentElement(el) {\n return el.type === TYPE.argument;\n}\nexport function isNumberElement(el) {\n return el.type === TYPE.number;\n}\nexport function isDateElement(el) {\n return el.type === TYPE.date;\n}\nexport function isTimeElement(el) {\n return el.type === TYPE.time;\n}\nexport function isSelectElement(el) {\n return el.type === TYPE.select;\n}\nexport function isPluralElement(el) {\n return el.type === TYPE.plural;\n}\nexport function isPoundElement(el) {\n return el.type === TYPE.pound;\n}\nexport function isTagElement(el) {\n return el.type === TYPE.tag;\n}\nexport function isNumberSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === SKELETON_TYPE.number);\n}\nexport function isDateTimeSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === SKELETON_TYPE.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",null,null,null,null,null,null,null,null,null,"// @generated from regex-gen.ts\nexport var SPACE_SEPARATOR_REGEX = /[ \\xA0\\u1680\\u2000-\\u200A\\u202F\\u205F\\u3000]/;\nexport var WHITE_SPACE_REGEX = /[\\t-\\r \\x85\\u200E\\u200F\\u2028\\u2029]/;\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) patterns 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) patterns are not supported, use `z` instead');\n }\n return '';\n });\n return result;\n}\n","// @generated from regex-gen.ts\nexport var WHITE_SPACE_REGEX = /[\\t-\\r \\x85\\u200E\\u200F\\u2028\\u2029]/i;\n","import { __assign } from \"tslib\";\nimport { WHITE_SPACE_REGEX } from './regex.generated';\nexport function parseNumberSkeletonFromString(skeleton) {\n if (skeleton.length === 0) {\n throw new Error('Number skeleton cannot be empty');\n }\n // Parse the skeleton\n var stringTokens = skeleton\n .split(WHITE_SPACE_REGEX)\n .filter(function (x) { return x.length > 0; });\n var tokens = [];\n for (var _i = 0, stringTokens_1 = stringTokens; _i < stringTokens_1.length; _i++) {\n var stringToken = stringTokens_1[_i];\n var stemAndOptions = stringToken.split('/');\n if (stemAndOptions.length === 0) {\n throw new Error('Invalid number skeleton');\n }\n var stem = stemAndOptions[0], options = stemAndOptions.slice(1);\n for (var _a = 0, options_1 = options; _a < options_1.length; _a++) {\n var option = options_1[_a];\n if (option.length === 0) {\n throw new Error('Invalid number skeleton');\n }\n }\n tokens.push({ stem: stem, options: options });\n }\n return tokens;\n}\nfunction icuUnitToEcma(unit) {\n return unit.replace(/^(.*?)-/, '');\n}\nvar FRACTION_PRECISION_REGEX = /^\\.(?:(0+)(\\*)?|(#+)|(0+)(#+))$/g;\nvar SIGNIFICANT_PRECISION_REGEX = /^(@+)?(\\+|#+)?[rs]?$/g;\nvar INTEGER_WIDTH_REGEX = /(\\*)(0+)|(#+)(0+)|(0+)/g;\nvar CONCISE_INTEGER_WIDTH_REGEX = /^(0+)$/;\nfunction parseSignificantPrecision(str) {\n var result = {};\n if (str[str.length - 1] === 'r') {\n result.roundingPriority = 'morePrecision';\n }\n else if (str[str.length - 1] === 's') {\n result.roundingPriority = 'lessPrecision';\n }\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 case '()':\n return {\n currencySign: 'accounting',\n };\n case 'sign-always':\n case '+!':\n return {\n signDisplay: 'always',\n };\n case 'sign-accounting-always':\n case '()!':\n return {\n signDisplay: 'always',\n currencySign: 'accounting',\n };\n case 'sign-except-zero':\n case '+?':\n return {\n signDisplay: 'exceptZero',\n };\n case 'sign-accounting-except-zero':\n case '()?':\n return {\n signDisplay: 'exceptZero',\n currencySign: 'accounting',\n };\n case 'sign-never':\n case '+_':\n return {\n signDisplay: 'never',\n };\n }\n}\nfunction parseConciseScientificAndEngineeringStem(stem) {\n // Engineering\n var result;\n if (stem[0] === 'E' && stem[1] === 'E') {\n result = {\n notation: 'engineering',\n };\n stem = stem.slice(2);\n }\n else if (stem[0] === 'E') {\n result = {\n notation: 'scientific',\n };\n stem = stem.slice(1);\n }\n if (result) {\n var signDisplay = stem.slice(0, 2);\n if (signDisplay === '+!') {\n result.signDisplay = 'always';\n stem = stem.slice(2);\n }\n else if (signDisplay === '+?') {\n result.signDisplay = 'exceptZero';\n stem = stem.slice(2);\n }\n if (!CONCISE_INTEGER_WIDTH_REGEX.test(stem)) {\n throw new Error('Malformed concise eng/scientific notation');\n }\n result.minimumIntegerDigits = stem.length;\n }\n return result;\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 parseNumberSkeleton(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 case '%':\n result.style = 'percent';\n continue;\n case '%x100':\n result.style = 'percent';\n result.scale = 100;\n continue;\n case 'currency':\n result.style = 'currency';\n result.currency = token.options[0];\n continue;\n case 'group-off':\n case ',_':\n result.useGrouping = false;\n continue;\n case 'precision-integer':\n case '.':\n result.maximumFractionDigits = 0;\n continue;\n case 'measure-unit':\n case 'unit':\n result.style = 'unit';\n result.unit = icuUnitToEcma(token.options[0]);\n continue;\n case 'compact-short':\n case 'K':\n result.notation = 'compact';\n result.compactDisplay = 'short';\n continue;\n case 'compact-long':\n case 'KK':\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 case 'scale':\n result.scale = parseFloat(token.options[0]);\n continue;\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#integer-width\n case 'integer-width':\n if (token.options.length > 1) {\n throw new RangeError('integer-width stems only accept a single optional option');\n }\n token.options[0].replace(INTEGER_WIDTH_REGEX, function (_, g1, g2, g3, g4, g5) {\n if (g1) {\n result.minimumIntegerDigits = g2.length;\n }\n else if (g3 && g4) {\n throw new Error('We currently do not support maximum integer digits');\n }\n else if (g5) {\n throw new Error('We currently do not support exact integer digits');\n }\n return '';\n });\n continue;\n }\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#integer-width\n if (CONCISE_INTEGER_WIDTH_REGEX.test(token.stem)) {\n result.minimumIntegerDigits = token.stem.length;\n continue;\n }\n if (FRACTION_PRECISION_REGEX.test(token.stem)) {\n // Precision\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#fraction-precision\n // precision-integer case\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 (_, g1, g2, g3, g4, g5) {\n // .000* case (before ICU67 it was .000+)\n if (g2 === '*') {\n result.minimumFractionDigits = g1.length;\n }\n // .### case\n else if (g3 && g3[0] === '#') {\n result.maximumFractionDigits = g3.length;\n }\n // .00## case\n else if (g4 && g5) {\n result.minimumFractionDigits = g4.length;\n result.maximumFractionDigits = g4.length + g5.length;\n }\n else {\n result.minimumFractionDigits = g1.length;\n result.maximumFractionDigits = g1.length;\n }\n return '';\n });\n var opt = token.options[0];\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#trailing-zero-display\n if (opt === 'w') {\n result = __assign(__assign({}, result), { trailingZeroDisplay: 'stripIfInteger' });\n }\n else if (opt) {\n result = __assign(__assign({}, result), parseSignificantPrecision(opt));\n }\n continue;\n }\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#significant-digits-precision\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 var conciseScientificAndEngineeringOpts = parseConciseScientificAndEngineeringStem(token.stem);\n if (conciseScientificAndEngineeringOpts) {\n result = __assign(__assign({}, result), conciseScientificAndEngineeringOpts);\n }\n }\n return result;\n}\n","var _a;\nimport { __assign } from \"tslib\";\nimport { ErrorKind } from './error';\nimport { SKELETON_TYPE, TYPE, } from './types';\nimport { SPACE_SEPARATOR_REGEX } from './regex.generated';\nimport { parseNumberSkeleton, parseNumberSkeletonFromString, parseDateTimeSkeleton, } from '@formatjs/icu-skeleton-parser';\nvar SPACE_SEPARATOR_START_REGEX = new RegExp(\"^\".concat(SPACE_SEPARATOR_REGEX.source, \"*\"));\nvar SPACE_SEPARATOR_END_REGEX = new RegExp(\"\".concat(SPACE_SEPARATOR_REGEX.source, \"*$\"));\nfunction createLocation(start, end) {\n return { start: start, end: end };\n}\n// #region Ponyfills\n// Consolidate these variables up top for easier toggling during debugging\nvar hasNativeStartsWith = !!String.prototype.startsWith;\nvar hasNativeFromCodePoint = !!String.fromCodePoint;\nvar hasNativeFromEntries = !!Object.fromEntries;\nvar hasNativeCodePointAt = !!String.prototype.codePointAt;\nvar hasTrimStart = !!String.prototype.trimStart;\nvar hasTrimEnd = !!String.prototype.trimEnd;\nvar hasNativeIsSafeInteger = !!Number.isSafeInteger;\nvar isSafeInteger = hasNativeIsSafeInteger\n ? Number.isSafeInteger\n : function (n) {\n return (typeof n === 'number' &&\n isFinite(n) &&\n Math.floor(n) === n &&\n Math.abs(n) <= 0x1fffffffffffff);\n };\n// IE11 does not support y and u.\nvar REGEX_SUPPORTS_U_AND_Y = true;\ntry {\n var re = RE('([^\\\\p{White_Space}\\\\p{Pattern_Syntax}]*)', 'yu');\n /**\n * legacy Edge or Xbox One browser\n * Unicode flag support: supported\n * Pattern_Syntax support: not supported\n * See https://github.com/formatjs/formatjs/issues/2822\n */\n REGEX_SUPPORTS_U_AND_Y = ((_a = re.exec('a')) === null || _a === void 0 ? void 0 : _a[0]) === 'a';\n}\ncatch (_) {\n REGEX_SUPPORTS_U_AND_Y = false;\n}\nvar startsWith = hasNativeStartsWith\n ? // Native\n function startsWith(s, search, position) {\n return s.startsWith(search, position);\n }\n : // For IE11\n function startsWith(s, search, position) {\n return s.slice(position, position + search.length) === search;\n };\nvar fromCodePoint = hasNativeFromCodePoint\n ? String.fromCodePoint\n : // IE11\n function fromCodePoint() {\n var codePoints = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n codePoints[_i] = arguments[_i];\n }\n var elements = '';\n var length = codePoints.length;\n var i = 0;\n var code;\n while (length > i) {\n code = codePoints[i++];\n if (code > 0x10ffff)\n throw RangeError(code + ' is not a valid code point');\n elements +=\n code < 0x10000\n ? String.fromCharCode(code)\n : String.fromCharCode(((code -= 0x10000) >> 10) + 0xd800, (code % 0x400) + 0xdc00);\n }\n return elements;\n };\nvar fromEntries = \n// native\nhasNativeFromEntries\n ? Object.fromEntries\n : // Ponyfill\n function fromEntries(entries) {\n var obj = {};\n for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\n var _a = entries_1[_i], k = _a[0], v = _a[1];\n obj[k] = v;\n }\n return obj;\n };\nvar codePointAt = hasNativeCodePointAt\n ? // Native\n function codePointAt(s, index) {\n return s.codePointAt(index);\n }\n : // IE 11\n function codePointAt(s, index) {\n var size = s.length;\n if (index < 0 || index >= size) {\n return undefined;\n }\n var first = s.charCodeAt(index);\n var second;\n return first < 0xd800 ||\n first > 0xdbff ||\n index + 1 === size ||\n (second = s.charCodeAt(index + 1)) < 0xdc00 ||\n second > 0xdfff\n ? first\n : ((first - 0xd800) << 10) + (second - 0xdc00) + 0x10000;\n };\nvar trimStart = hasTrimStart\n ? // Native\n function trimStart(s) {\n return s.trimStart();\n }\n : // Ponyfill\n function trimStart(s) {\n return s.replace(SPACE_SEPARATOR_START_REGEX, '');\n };\nvar trimEnd = hasTrimEnd\n ? // Native\n function trimEnd(s) {\n return s.trimEnd();\n }\n : // Ponyfill\n function trimEnd(s) {\n return s.replace(SPACE_SEPARATOR_END_REGEX, '');\n };\n// Prevent minifier to translate new RegExp to literal form that might cause syntax error on IE11.\nfunction RE(s, flag) {\n return new RegExp(s, flag);\n}\n// #endregion\nvar matchIdentifierAtIndex;\nif (REGEX_SUPPORTS_U_AND_Y) {\n // Native\n var IDENTIFIER_PREFIX_RE_1 = RE('([^\\\\p{White_Space}\\\\p{Pattern_Syntax}]*)', 'yu');\n matchIdentifierAtIndex = function matchIdentifierAtIndex(s, index) {\n var _a;\n IDENTIFIER_PREFIX_RE_1.lastIndex = index;\n var match = IDENTIFIER_PREFIX_RE_1.exec(s);\n return (_a = match[1]) !== null && _a !== void 0 ? _a : '';\n };\n}\nelse {\n // IE11\n matchIdentifierAtIndex = function matchIdentifierAtIndex(s, index) {\n var match = [];\n while (true) {\n var c = codePointAt(s, index);\n if (c === undefined || _isWhiteSpace(c) || _isPatternSyntax(c)) {\n break;\n }\n match.push(c);\n index += c >= 0x10000 ? 2 : 1;\n }\n return fromCodePoint.apply(void 0, match);\n };\n}\nvar Parser = /** @class */ (function () {\n function Parser(message, options) {\n if (options === void 0) { options = {}; }\n this.message = message;\n this.position = { offset: 0, line: 1, column: 1 };\n this.ignoreTag = !!options.ignoreTag;\n this.requiresOtherClause = !!options.requiresOtherClause;\n this.shouldParseSkeletons = !!options.shouldParseSkeletons;\n }\n Parser.prototype.parse = function () {\n if (this.offset() !== 0) {\n throw Error('parser can only be used once');\n }\n return this.parseMessage(0, '', false);\n };\n Parser.prototype.parseMessage = function (nestingLevel, parentArgType, expectingCloseTag) {\n var elements = [];\n while (!this.isEOF()) {\n var char = this.char();\n if (char === 123 /* `{` */) {\n var result = this.parseArgument(nestingLevel, expectingCloseTag);\n if (result.err) {\n return result;\n }\n elements.push(result.val);\n }\n else if (char === 125 /* `}` */ && nestingLevel > 0) {\n break;\n }\n else if (char === 35 /* `#` */ &&\n (parentArgType === 'plural' || parentArgType === 'selectordinal')) {\n var position = this.clonePosition();\n this.bump();\n elements.push({\n type: TYPE.pound,\n location: createLocation(position, this.clonePosition()),\n });\n }\n else if (char === 60 /* `<` */ &&\n !this.ignoreTag &&\n this.peek() === 47 // char code for '/'\n ) {\n if (expectingCloseTag) {\n break;\n }\n else {\n return this.error(ErrorKind.UNMATCHED_CLOSING_TAG, createLocation(this.clonePosition(), this.clonePosition()));\n }\n }\n else if (char === 60 /* `<` */ &&\n !this.ignoreTag &&\n _isAlpha(this.peek() || 0)) {\n var result = this.parseTag(nestingLevel, parentArgType);\n if (result.err) {\n return result;\n }\n elements.push(result.val);\n }\n else {\n var result = this.parseLiteral(nestingLevel, parentArgType);\n if (result.err) {\n return result;\n }\n elements.push(result.val);\n }\n }\n return { val: elements, err: null };\n };\n /**\n * A tag name must start with an ASCII lower/upper case letter. The grammar is based on the\n * [custom element name][] except that a dash is NOT always mandatory and uppercase letters\n * are accepted:\n *\n * ```\n * tag ::= \"<\" tagName (whitespace)* \"/>\" | \"<\" tagName (whitespace)* \">\" message \"</\" tagName (whitespace)* \">\"\n * tagName ::= [a-z] (PENChar)*\n * PENChar ::=\n * \"-\" | \".\" | [0-9] | \"_\" | [a-z] | [A-Z] | #xB7 | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x37D] |\n * [#x37F-#x1FFF] | [#x200C-#x200D] | [#x203F-#x2040] | [#x2070-#x218F] | [#x2C00-#x2FEF] |\n * [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]\n * ```\n *\n * [custom element name]: https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name\n * NOTE: We're a bit more lax here since HTML technically does not allow uppercase HTML element but we do\n * since other tag-based engines like React allow it\n */\n Parser.prototype.parseTag = function (nestingLevel, parentArgType) {\n var startPosition = this.clonePosition();\n this.bump(); // `<`\n var tagName = this.parseTagName();\n this.bumpSpace();\n if (this.bumpIf('/>')) {\n // Self closing tag\n return {\n val: {\n type: TYPE.literal,\n value: \"<\".concat(tagName, \"/>\"),\n location: createLocation(startPosition, this.clonePosition()),\n },\n err: null,\n };\n }\n else if (this.bumpIf('>')) {\n var childrenResult = this.parseMessage(nestingLevel + 1, parentArgType, true);\n if (childrenResult.err) {\n return childrenResult;\n }\n var children = childrenResult.val;\n // Expecting a close tag\n var endTagStartPosition = this.clonePosition();\n if (this.bumpIf('</')) {\n if (this.isEOF() || !_isAlpha(this.char())) {\n return this.error(ErrorKind.INVALID_TAG, createLocation(endTagStartPosition, this.clonePosition()));\n }\n var closingTagNameStartPosition = this.clonePosition();\n var closingTagName = this.parseTagName();\n if (tagName !== closingTagName) {\n return this.error(ErrorKind.UNMATCHED_CLOSING_TAG, createLocation(closingTagNameStartPosition, this.clonePosition()));\n }\n this.bumpSpace();\n if (!this.bumpIf('>')) {\n return this.error(ErrorKind.INVALID_TAG, createLocation(endTagStartPosition, this.clonePosition()));\n }\n return {\n val: {\n type: TYPE.tag,\n value: tagName,\n children: children,\n location: createLocation(startPosition, this.clonePosition()),\n },\n err: null,\n };\n }\n else {\n return this.error(ErrorKind.UNCLOSED_TAG, createLocation(startPosition, this.clonePosition()));\n }\n }\n else {\n return this.error(ErrorKind.INVALID_TAG, createLocation(startPosition, this.clonePosition()));\n }\n };\n /**\n * This method assumes that the caller has peeked ahead for the first tag character.\n */\n Parser.prototype.parseTagName = function () {\n var startOffset = this.offset();\n this.bump(); // the first tag name character\n while (!this.isEOF() && _isPotentialElementNameChar(this.char())) {\n this.bump();\n }\n return this.message.slice(startOffset, this.offset());\n };\n Parser.prototype.parseLiteral = function (nestingLevel, parentArgType) {\n var start = this.clonePosition();\n var value = '';\n while (true) {\n var parseQuoteResult = this.tryParseQuote(parentArgType);\n if (parseQuoteResult) {\n value += parseQuoteResult;\n continue;\n }\n var parseUnquotedResult = this.tryParseUnquoted(nestingLevel, parentArgType);\n if (parseUnquotedResult) {\n value += parseUnquotedResult;\n continue;\n }\n var parseLeftAngleResult = this.tryParseLeftAngleBracket();\n if (parseLeftAngleResult) {\n value += parseLeftAngleResult;\n continue;\n }\n break;\n }\n var location = createLocation(start, this.clonePosition());\n return {\n val: { type: TYPE.literal, value: value, location: location },\n err: null,\n };\n };\n Parser.prototype.tryParseLeftAngleBracket = function () {\n if (!this.isEOF() &&\n this.char() === 60 /* `<` */ &&\n (this.ignoreTag ||\n // If at the opening tag or closing tag position, bail.\n !_isAlphaOrSlash(this.peek() || 0))) {\n this.bump(); // `<`\n return '<';\n }\n return null;\n };\n /**\n * Starting with ICU 4.8, an ASCII apostrophe only starts quoted text if it immediately precedes\n * a character that requires quoting (that is, \"only where needed\"), and works the same in\n * nested messages as on the top level of the pattern. The new behavior is otherwise compatible.\n */\n Parser.prototype.tryParseQuote = function (parentArgType) {\n if (this.isEOF() || this.char() !== 39 /* `'` */) {\n return null;\n }\n // Parse escaped char following the apostrophe, or early return if there is no escaped char.\n // Check if is valid escaped character\n switch (this.peek()) {\n case 39 /* `'` */:\n // double quote, should return as a single quote.\n this.bump();\n this.bump();\n return \"'\";\n // '{', '<', '>', '}'\n case 123:\n case 60:\n case 62:\n case 125:\n break;\n case 35: // '#'\n if (parentArgType === 'plural' || parentArgType === 'selectordinal') {\n break;\n }\n return null;\n default:\n return null;\n }\n this.bump(); // apostrophe\n var codePoints = [this.char()]; // escaped char\n this.bump();\n // read chars until the optional closing apostrophe is found\n while (!this.isEOF()) {\n var ch = this.char();\n if (ch === 39 /* `'` */) {\n if (this.peek() === 39 /* `'` */) {\n codePoints.push(39);\n // Bump one more time because we need to skip 2 characters.\n this.bump();\n }\n else {\n // Optional closing apostrophe.\n this.bump();\n break;\n }\n }\n else {\n codePoints.push(ch);\n }\n this.bump();\n }\n return fromCodePoint.apply(void 0, codePoints);\n };\n Parser.prototype.tryParseUnquoted = function (nestingLevel, parentArgType) {\n if (this.isEOF()) {\n return null;\n }\n var ch = this.char();\n if (ch === 60 /* `<` */ ||\n ch === 123 /* `{` */ ||\n (ch === 35 /* `#` */ &&\n (parentArgType === 'plural' || parentArgType === 'selectordinal')) ||\n (ch === 125 /* `}` */ && nestingLevel > 0)) {\n return null;\n }\n else {\n this.bump();\n return fromCodePoint(ch);\n }\n };\n Parser.prototype.parseArgument = function (nestingLevel, expectingCloseTag) {\n var openingBracePosition = this.clonePosition();\n this.bump(); // `{`\n this.bumpSpace();\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n if (this.char() === 125 /* `}` */) {\n this.bump();\n return this.error(ErrorKind.EMPTY_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n }\n // argument name\n var value = this.parseIdentifierIfPossible().value;\n if (!value) {\n return this.error(ErrorKind.MALFORMED_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n }\n this.bumpSpace();\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n switch (this.char()) {\n // Simple argument: `{name}`\n case 125 /* `}` */: {\n this.bump(); // `}`\n return {\n val: {\n type: TYPE.argument,\n // value does not include the opening and closing braces.\n value: value,\n location: createLocation(openingBracePosition, this.clonePosition()),\n },\n err: null,\n };\n }\n // Argument with options: `{name, format, ...}`\n case 44 /* `,` */: {\n this.bump(); // `,`\n this.bumpSpace();\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n return this.parseArgumentOptions(nestingLevel, expectingCloseTag, value, openingBracePosition);\n }\n default:\n return this.error(ErrorKind.MALFORMED_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n }\n };\n /**\n * Advance the parser until the end of the identifier, if it is currently on\n * an identifier character. Return an empty string otherwise.\n */\n Parser.prototype.parseIdentifierIfPossible = function () {\n var startingPosition = this.clonePosition();\n var startOffset = this.offset();\n var value = matchIdentifierAtIndex(this.message, startOffset);\n var endOffset = startOffset + value.length;\n this.bumpTo(endOffset);\n var endPosition = this.clonePosition();\n var location = createLocation(startingPosition, endPosition);\n return { value: value, location: location };\n };\n Parser.prototype.parseArgumentOptions = function (nestingLevel, expectingCloseTag, value, openingBracePosition) {\n var _a;\n // Parse this range:\n // {name, type, style}\n // ^---^\n var typeStartPosition = this.clonePosition();\n var argType = this.parseIdentifierIfPossible().value;\n var typeEndPosition = this.clonePosition();\n switch (argType) {\n case '':\n // Expecting a style string number, date, time, plural, selectordinal, or select.\n return this.error(ErrorKind.EXPECT_ARGUMENT_TYPE, createLocation(typeStartPosition, typeEndPosition));\n case 'number':\n case 'date':\n case 'time': {\n // Parse this range:\n // {name, number, style}\n // ^-------^\n this.bumpSpace();\n var styleAndLocation = null;\n if (this.bumpIf(',')) {\n this.bumpSpace();\n var styleStartPosition = this.clonePosition();\n var result = this.parseSimpleArgStyleIfPossible();\n if (result.err) {\n return result;\n }\n var style = trimEnd(result.val);\n if (style.length === 0) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_STYLE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n var styleLocation = createLocation(styleStartPosition, this.clonePosition());\n styleAndLocation = { style: style, styleLocation: styleLocation };\n }\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n if (argCloseResult.err) {\n return argCloseResult;\n }\n var location_1 = createLocation(openingBracePosition, this.clonePosition());\n // Extract style or skeleton\n if (styleAndLocation && startsWith(styleAndLocation === null || styleAndLocation === void 0 ? void 0 : styleAndLocation.style, '::', 0)) {\n // Skeleton starts with `::`.\n var skeleton = trimStart(styleAndLocation.style.slice(2));\n if (argType === 'number') {\n var result = this.parseNumberSkeletonFromString(skeleton, styleAndLocation.styleLocation);\n if (result.err) {\n return result;\n }\n return {\n val: { type: TYPE.number, value: value, location: location_1, style: result.val },\n err: null,\n };\n }\n else {\n if (skeleton.length === 0) {\n return this.error(ErrorKind.EXPECT_DATE_TIME_SKELETON, location_1);\n }\n var style = {\n type: SKELETON_TYPE.dateTime,\n pattern: skeleton,\n location: styleAndLocation.styleLocation,\n parsedOptions: this.shouldParseSkeletons\n ? parseDateTimeSkeleton(skeleton)\n : {},\n };\n var type = argType === 'date' ? TYPE.date : TYPE.time;\n return {\n val: { type: type, value: value, location: location_1, style: style },\n err: null,\n };\n }\n }\n // Regular style or no style.\n return {\n val: {\n type: argType === 'number'\n ? TYPE.number\n : argType === 'date'\n ? TYPE.date\n : TYPE.time,\n value: value,\n location: location_1,\n style: (_a = styleAndLocation === null || styleAndLocation === void 0 ? void 0 : styleAndLocation.style) !== null && _a !== void 0 ? _a : null,\n },\n err: null,\n };\n }\n case 'plural':\n case 'selectordinal':\n case 'select': {\n // Parse this range:\n // {name, plural, options}\n // ^---------^\n var typeEndPosition_1 = this.clonePosition();\n this.bumpSpace();\n if (!this.bumpIf(',')) {\n return this.error(ErrorKind.EXPECT_SELECT_ARGUMENT_OPTIONS, createLocation(typeEndPosition_1, __assign({}, typeEndPosition_1)));\n }\n this.bumpSpace();\n // Parse offset:\n // {name, plural, offset:1, options}\n // ^-----^\n //\n // or the first option:\n //\n // {name, plural, one {...} other {...}}\n // ^--^\n var identifierAndLocation = this.parseIdentifierIfPossible();\n var pluralOffset = 0;\n if (argType !== 'select' && identifierAndLocation.value === 'offset') {\n if (!this.bumpIf(':')) {\n return this.error(ErrorKind.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n this.bumpSpace();\n var result = this.tryParseDecimalInteger(ErrorKind.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE, ErrorKind.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE);\n if (result.err) {\n return result;\n }\n // Parse another identifier for option parsing\n this.bumpSpace();\n identifierAndLocation = this.parseIdentifierIfPossible();\n pluralOffset = result.val;\n }\n var optionsResult = this.tryParsePluralOrSelectOptions(nestingLevel, argType, expectingCloseTag, identifierAndLocation);\n if (optionsResult.err) {\n return optionsResult;\n }\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n if (argCloseResult.err) {\n return argCloseResult;\n }\n var location_2 = createLocation(openingBracePosition, this.clonePosition());\n if (argType === 'select') {\n return {\n val: {\n type: TYPE.select,\n value: value,\n options: fromEntries(optionsResult.val),\n location: location_2,\n },\n err: null,\n };\n }\n else {\n return {\n val: {\n type: TYPE.plural,\n value: value,\n options: fromEntries(optionsResult.val),\n offset: pluralOffset,\n pluralType: argType === 'plural' ? 'cardinal' : 'ordinal',\n location: location_2,\n },\n err: null,\n };\n }\n }\n default:\n return this.error(ErrorKind.INVALID_ARGUMENT_TYPE, createLocation(typeStartPosition, typeEndPosition));\n }\n };\n Parser.prototype.tryParseArgumentClose = function (openingBracePosition) {\n // Parse: {value, number, ::currency/GBP }\n //\n if (this.isEOF() || this.char() !== 125 /* `}` */) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n this.bump(); // `}`\n return { val: true, err: null };\n };\n /**\n * See: https://github.com/unicode-org/icu/blob/af7ed1f6d2298013dc303628438ec4abe1f16479/icu4c/source/common/messagepattern.cpp#L659\n */\n Parser.prototype.parseSimpleArgStyleIfPossible = function () {\n var nestedBraces = 0;\n var startPosition = this.clonePosition();\n while (!this.isEOF()) {\n var ch = this.char();\n switch (ch) {\n case 39 /* `'` */: {\n // Treat apostrophe as quoting but include it in the style part.\n // Find the end of the quoted literal text.\n this.bump();\n var apostrophePosition = this.clonePosition();\n if (!this.bumpUntil(\"'\")) {\n return this.error(ErrorKind.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE, createLocation(apostrophePosition, this.clonePosition()));\n }\n this.bump();\n break;\n }\n case 123 /* `{` */: {\n nestedBraces += 1;\n this.bump();\n break;\n }\n case 125 /* `}` */: {\n if (nestedBraces > 0) {\n nestedBraces -= 1;\n }\n else {\n return {\n val: this.message.slice(startPosition.offset, this.offset()),\n err: null,\n };\n }\n break;\n }\n default:\n this.bump();\n break;\n }\n }\n return {\n val: this.message.slice(startPosition.offset, this.offset()),\n err: null,\n };\n };\n Parser.prototype.parseNumberSkeletonFromString = function (skeleton, location) {\n var tokens = [];\n try {\n tokens = parseNumberSkeletonFromString(skeleton);\n }\n catch (e) {\n return this.error(ErrorKind.INVALID_NUMBER_SKELETON, location);\n }\n return {\n val: {\n type: SKELETON_TYPE.number,\n tokens: tokens,\n location: location,\n parsedOptions: this.shouldParseSkeletons\n ? parseNumberSkeleton(tokens)\n : {},\n },\n err: null,\n };\n };\n /**\n * @param nesting_level The current nesting level of messages.\n * This can be positive when parsing message fragment in select or plural argument options.\n * @param parent_arg_type The parent argument's type.\n * @param parsed_first_identifier If provided, this is the first identifier-like selector of\n * the argument. It is a by-product of a previous parsing attempt.\n * @param expecting_close_tag If true, this message is directly or indirectly nested inside\n * between a pair of opening and closing tags. The nested message will not parse beyond\n * the closing tag boundary.\n */\n Parser.prototype.tryParsePluralOrSelectOptions = function (nestingLevel, parentArgType, expectCloseTag, parsedFirstIdentifier) {\n var _a;\n var hasOtherClause = false;\n var options = [];\n var parsedSelectors = new Set();\n var selector = parsedFirstIdentifier.value, selectorLocation = parsedFirstIdentifier.location;\n // Parse:\n // one {one apple}\n // ^--^\n while (true) {\n if (selector.length === 0) {\n var startPosition = this.clonePosition();\n if (parentArgType !== 'select' && this.bumpIf('=')) {\n // Try parse `={number}` selector\n var result = this.tryParseDecimalInteger(ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR, ErrorKind.INVALID_PLURAL_ARGUMENT_SELECTOR);\n if (result.err) {\n return result;\n }\n selectorLocation = createLocation(startPosition, this.clonePosition());\n selector = this.message.slice(startPosition.offset, this.offset());\n }\n else {\n break;\n }\n }\n // Duplicate selector clauses\n if (parsedSelectors.has(selector)) {\n return this.error(parentArgType === 'select'\n ? ErrorKind.DUPLICATE_SELECT_ARGUMENT_SELECTOR\n : ErrorKind.DUPLICATE_PLURAL_ARGUMENT_SELECTOR, selectorLocation);\n }\n if (selector === 'other') {\n hasOtherClause = true;\n }\n // Parse:\n // one {one apple}\n // ^----------^\n this.bumpSpace();\n var openingBracePosition = this.clonePosition();\n if (!this.bumpIf('{')) {\n return this.error(parentArgType === 'select'\n ? ErrorKind.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\n : ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT, createLocation(this.clonePosition(), this.clonePosition()));\n }\n var fragmentResult = this.parseMessage(nestingLevel + 1, parentArgType, expectCloseTag);\n if (fragmentResult.err) {\n return fragmentResult;\n }\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n if (argCloseResult.err) {\n return argCloseResult;\n }\n options.push([\n selector,\n {\n value: fragmentResult.val,\n location: createLocation(openingBracePosition, this.clonePosition()),\n },\n ]);\n // Keep track of the existing selectors\n parsedSelectors.add(selector);\n // Prep next selector clause.\n this.bumpSpace();\n (_a = this.parseIdentifierIfPossible(), selector = _a.value, selectorLocation = _a.location);\n }\n if (options.length === 0) {\n return this.error(parentArgType === 'select'\n ? ErrorKind.EXPECT_SELECT_ARGUMENT_SELECTOR\n : ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR, createLocation(this.clonePosition(), this.clonePosition()));\n }\n if (this.requiresOtherClause && !hasOtherClause) {\n return this.error(ErrorKind.MISSING_OTHER_CLAUSE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n return { val: options, err: null };\n };\n Parser.prototype.tryParseDecimalInteger = function (expectNumberError, invalidNumberError) {\n var sign = 1;\n var startingPosition = this.clonePosition();\n if (this.bumpIf('+')) {\n }\n else if (this.bumpIf('-')) {\n sign = -1;\n }\n var hasDigits = false;\n var decimal = 0;\n while (!this.isEOF()) {\n var ch = this.char();\n if (ch >= 48 /* `0` */ && ch <= 57 /* `9` */) {\n hasDigits = true;\n decimal = decimal * 10 + (ch - 48);\n this.bump();\n }\n else {\n break;\n }\n }\n var location = createLocation(startingPosition, this.clonePosition());\n if (!hasDigits) {\n return this.error(expectNumberError, location);\n }\n decimal *= sign;\n if (!isSafeInteger(decimal)) {\n return this.error(invalidNumberError, location);\n }\n return { val: decimal, err: null };\n };\n Parser.prototype.offset = function () {\n return this.position.offset;\n };\n Parser.prototype.isEOF = function () {\n return this.offset() === this.message.length;\n };\n Parser.prototype.clonePosition = function () {\n // This is much faster than `Object.assign` or spread.\n return {\n offset: this.position.offset,\n line: this.position.line,\n column: this.position.column,\n };\n };\n /**\n * Return the code point at the current position of the parser.\n * Throws if the index is out of bound.\n */\n Parser.prototype.char = function () {\n var offset = this.position.offset;\n if (offset >= this.message.length) {\n throw Error('out of bound');\n }\n var code = codePointAt(this.message, offset);\n if (code === undefined) {\n throw Error(\"Offset \".concat(offset, \" is at invalid UTF-16 code unit boundary\"));\n }\n return code;\n };\n Parser.prototype.error = function (kind, location) {\n return {\n val: null,\n err: {\n kind: kind,\n message: this.message,\n location: location,\n },\n };\n };\n /** Bump the parser to the next UTF-16 code unit. */\n Parser.prototype.bump = function () {\n if (this.isEOF()) {\n return;\n }\n var code = this.char();\n if (code === 10 /* '\\n' */) {\n this.position.line += 1;\n this.position.column = 1;\n this.position.offset += 1;\n }\n else {\n this.position.column += 1;\n // 0 ~ 0x10000 -> unicode BMP, otherwise skip the surrogate pair.\n this.position.offset += code < 0x10000 ? 1 : 2;\n }\n };\n /**\n * If the substring starting at the current position of the parser has\n * the given prefix, then bump the parser to the character immediately\n * following the prefix and return true. Otherwise, don't bump the parser\n * and return false.\n */\n Parser.prototype.bumpIf = function (prefix) {\n if (startsWith(this.message, prefix, this.offset())) {\n for (var i = 0; i < prefix.length; i++) {\n this.bump();\n }\n return true;\n }\n return false;\n };\n /**\n * Bump the parser until the pattern character is found and return `true`.\n * Otherwise bump to the end of the file and return `false`.\n */\n Parser.prototype.bumpUntil = function (pattern) {\n var currentOffset = this.offset();\n var index = this.message.indexOf(pattern, currentOffset);\n if (index >= 0) {\n this.bumpTo(index);\n return true;\n }\n else {\n this.bumpTo(this.message.length);\n return false;\n }\n };\n /**\n * Bump the parser to the target offset.\n * If target offset is beyond the end of the input, bump the parser to the end of the input.\n */\n Parser.prototype.bumpTo = function (targetOffset) {\n if (this.offset() > targetOffset) {\n throw Error(\"targetOffset \".concat(targetOffset, \" must be greater than or equal to the current offset \").concat(this.offset()));\n }\n targetOffset = Math.min(targetOffset, this.message.length);\n while (true) {\n var offset = this.offset();\n if (offset === targetOffset) {\n break;\n }\n if (offset > targetOffset) {\n throw Error(\"targetOffset \".concat(targetOffset, \" is at invalid UTF-16 code unit boundary\"));\n }\n this.bump();\n if (this.isEOF()) {\n break;\n }\n }\n };\n /** advance the parser through all whitespace to the next non-whitespace code unit. */\n Parser.prototype.bumpSpace = function () {\n while (!this.isEOF() && _isWhiteSpace(this.char())) {\n this.bump();\n }\n };\n /**\n * Peek at the *next* Unicode codepoint in the input without advancing the parser.\n * If the input has been exhausted, then this returns null.\n */\n Parser.prototype.peek = function () {\n if (this.isEOF()) {\n return null;\n }\n var code = this.char();\n var offset = this.offset();\n var nextCode = this.message.charCodeAt(offset + (code >= 0x10000 ? 2 : 1));\n return nextCode !== null && nextCode !== void 0 ? nextCode : null;\n };\n return Parser;\n}());\nexport { Parser };\n/**\n * This check if codepoint is alphabet (lower & uppercase)\n * @param codepoint\n * @returns\n */\nfunction _isAlpha(codepoint) {\n return ((codepoint >= 97 && codepoint <= 122) ||\n (codepoint >= 65 && codepoint <= 90));\n}\nfunction _isAlphaOrSlash(codepoint) {\n return _isAlpha(codepoint) || codepoint === 47; /* '/' */\n}\n/** See `parseTag` function docs. */\nfunction _isPotentialElementNameChar(c) {\n return (c === 45 /* '-' */ ||\n c === 46 /* '.' */ ||\n (c >= 48 && c <= 57) /* 0..9 */ ||\n c === 95 /* '_' */ ||\n (c >= 97 && c <= 122) /** a..z */ ||\n (c >= 65 && c <= 90) /* A..Z */ ||\n c == 0xb7 ||\n (c >= 0xc0 && c <= 0xd6) ||\n (c >= 0xd8 && c <= 0xf6) ||\n (c >= 0xf8 && c <= 0x37d) ||\n (c >= 0x37f && c <= 0x1fff) ||\n (c >= 0x200c && c <= 0x200d) ||\n (c >= 0x203f && c <= 0x2040) ||\n (c >= 0x2070 && c <= 0x218f) ||\n (c >= 0x2c00 && c <= 0x2fef) ||\n (c >= 0x3001 && c <= 0xd7ff) ||\n (c >= 0xf900 && c <= 0xfdcf) ||\n (c >= 0xfdf0 && c <= 0xfffd) ||\n (c >= 0x10000 && c <= 0xeffff));\n}\n/**\n * Code point equivalent of regex `\\p{White_Space}`.\n * From: https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt\n */\nfunction _isWhiteSpace(c) {\n return ((c >= 0x0009 && c <= 0x000d) ||\n c === 0x0020 ||\n c === 0x0085 ||\n (c >= 0x200e && c <= 0x200f) ||\n c === 0x2028 ||\n c === 0x2029);\n}\n/**\n * Code point equivalent of regex `\\p{Pattern_Syntax}`.\n * See https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt\n */\nfunction _isPatternSyntax(c) {\n return ((c >= 0x0021 && c <= 0x0023) ||\n c === 0x0024 ||\n (c >= 0x0025 && c <= 0x0027) ||\n c === 0x0028 ||\n c === 0x0029 ||\n c === 0x002a ||\n c === 0x002b ||\n c === 0x002c ||\n c === 0x002d ||\n (c >= 0x002e && c <= 0x002f) ||\n (c >= 0x003a && c <= 0x003b) ||\n (c >= 0x003c && c <= 0x003e) ||\n (c >= 0x003f && c <= 0x0040) ||\n c === 0x005b ||\n c === 0x005c ||\n c === 0x005d ||\n c === 0x005e ||\n c === 0x0060 ||\n c === 0x007b ||\n c === 0x007c ||\n c === 0x007d ||\n c === 0x007e ||\n c === 0x00a1 ||\n (c >= 0x00a2 && c <= 0x00a5) ||\n c === 0x00a6 ||\n c === 0x00a7 ||\n c === 0x00a9 ||\n c === 0x00ab ||\n c === 0x00ac ||\n c === 0x00ae ||\n c === 0x00b0 ||\n c === 0x00b1 ||\n c === 0x00b6 ||\n c === 0x00bb ||\n c === 0x00bf ||\n c === 0x00d7 ||\n c === 0x00f7 ||\n (c >= 0x2010 && c <= 0x2015) ||\n (c >= 0x2016 && c <= 0x2017) ||\n c === 0x2018 ||\n c === 0x2019 ||\n c === 0x201a ||\n (c >= 0x201b && c <= 0x201c) ||\n c === 0x201d ||\n c === 0x201e ||\n c === 0x201f ||\n (c >= 0x2020 && c <= 0x2027) ||\n (c >= 0x2030 && c <= 0x2038) ||\n c === 0x2039 ||\n c === 0x203a ||\n (c >= 0x203b && c <= 0x203e) ||\n (c >= 0x2041 && c <= 0x2043) ||\n c === 0x2044 ||\n c === 0x2045 ||\n c === 0x2046 ||\n (c >= 0x2047 && c <= 0x2051) ||\n c === 0x2052 ||\n c === 0x2053 ||\n (c >= 0x2055 && c <= 0x205e) ||\n (c >= 0x2190 && c <= 0x2194) ||\n (c >= 0x2195 && c <= 0x2199) ||\n (c >= 0x219a && c <= 0x219b) ||\n (c >= 0x219c && c <= 0x219f) ||\n c === 0x21a0 ||\n (c >= 0x21a1 && c <= 0x21a2) ||\n c === 0x21a3 ||\n (c >= 0x21a4 && c <= 0x21a5) ||\n c === 0x21a6 ||\n (c >= 0x21a7 && c <= 0x21ad) ||\n c === 0x21ae ||\n (c >= 0x21af && c <= 0x21cd) ||\n (c >= 0x21ce && c <= 0x21cf) ||\n (c >= 0x21d0 && c <= 0x21d1) ||\n c === 0x21d2 ||\n c === 0x21d3 ||\n c === 0x21d4 ||\n (c >= 0x21d5 && c <= 0x21f3) ||\n (c >= 0x21f4 && c <= 0x22ff) ||\n (c >= 0x2300 && c <= 0x2307) ||\n c === 0x2308 ||\n c === 0x2309 ||\n c === 0x230a ||\n c === 0x230b ||\n (c >= 0x230c && c <= 0x231f) ||\n (c >= 0x2320 && c <= 0x2321) ||\n (c >= 0x2322 && c <= 0x2328) ||\n c === 0x2329 ||\n c === 0x232a ||\n (c >= 0x232b && c <= 0x237b) ||\n c === 0x237c ||\n (c >= 0x237d && c <= 0x239a) ||\n (c >= 0x239b && c <= 0x23b3) ||\n (c >= 0x23b4 && c <= 0x23db) ||\n (c >= 0x23dc && c <= 0x23e1) ||\n (c >= 0x23e2 && c <= 0x2426) ||\n (c >= 0x2427 && c <= 0x243f) ||\n (c >= 0x2440 && c <= 0x244a) ||\n (c >= 0x244b && c <= 0x245f) ||\n (c >= 0x2500 && c <= 0x25b6) ||\n c === 0x25b7 ||\n (c >= 0x25b8 && c <= 0x25c0) ||\n c === 0x25c1 ||\n (c >= 0x25c2 && c <= 0x25f7) ||\n (c >= 0x25f8 && c <= 0x25ff) ||\n (c >= 0x2600 && c <= 0x266e) ||\n c === 0x266f ||\n (c >= 0x2670 && c <= 0x2767) ||\n c === 0x2768 ||\n c === 0x2769 ||\n c === 0x276a ||\n c === 0x276b ||\n c === 0x276c ||\n c === 0x276d ||\n c === 0x276e ||\n c === 0x276f ||\n c === 0x2770 ||\n c === 0x2771 ||\n c === 0x2772 ||\n c === 0x2773 ||\n c === 0x2774 ||\n c === 0x2775 ||\n (c >= 0x2794 && c <= 0x27bf) ||\n (c >= 0x27c0 && c <= 0x27c4) ||\n c === 0x27c5 ||\n c === 0x27c6 ||\n (c >= 0x27c7 && c <= 0x27e5) ||\n c === 0x27e6 ||\n c === 0x27e7 ||\n c === 0x27e8 ||\n c === 0x27e9 ||\n c === 0x27ea ||\n c === 0x27eb ||\n c === 0x27ec ||\n c === 0x27ed ||\n c === 0x27ee ||\n c === 0x27ef ||\n (c >= 0x27f0 && c <= 0x27ff) ||\n (c >= 0x2800 && c <= 0x28ff) ||\n (c >= 0x2900 && c <= 0x2982) ||\n c === 0x2983 ||\n c === 0x2984 ||\n c === 0x2985 ||\n c === 0x2986 ||\n c === 0x2987 ||\n c === 0x2988 ||\n c === 0x2989 ||\n c === 0x298a ||\n c === 0x298b ||\n c === 0x298c ||\n c === 0x298d ||\n c === 0x298e ||\n c === 0x298f ||\n c === 0x2990 ||\n c === 0x2991 ||\n c === 0x2992 ||\n c === 0x2993 ||\n c === 0x2994 ||\n c === 0x2995 ||\n c === 0x2996 ||\n c === 0x2997 ||\n c === 0x2998 ||\n (c >= 0x2999 && c <= 0x29d7) ||\n c === 0x29d8 ||\n c === 0x29d9 ||\n c === 0x29da ||\n c === 0x29db ||\n (c >= 0x29dc && c <= 0x29fb) ||\n c === 0x29fc ||\n c === 0x29fd ||\n (c >= 0x29fe && c <= 0x2aff) ||\n (c >= 0x2b00 && c <= 0x2b2f) ||\n (c >= 0x2b30 && c <= 0x2b44) ||\n (c >= 0x2b45 && c <= 0x2b46) ||\n (c >= 0x2b47 && c <= 0x2b4c) ||\n (c >= 0x2b4d && c <= 0x2b73) ||\n (c >= 0x2b74 && c <= 0x2b75) ||\n (c >= 0x2b76 && c <= 0x2b95) ||\n c === 0x2b96 ||\n (c >= 0x2b97 && c <= 0x2bff) ||\n (c >= 0x2e00 && c <= 0x2e01) ||\n c === 0x2e02 ||\n c === 0x2e03 ||\n c === 0x2e04 ||\n c === 0x2e05 ||\n (c >= 0x2e06 && c <= 0x2e08) ||\n c === 0x2e09 ||\n c === 0x2e0a ||\n c === 0x2e0b ||\n c === 0x2e0c ||\n c === 0x2e0d ||\n (c >= 0x2e0e && c <= 0x2e16) ||\n c === 0x2e17 ||\n (c >= 0x2e18 && c <= 0x2e19) ||\n c === 0x2e1a ||\n c === 0x2e1b ||\n c === 0x2e1c ||\n c === 0x2e1d ||\n (c >= 0x2e1e && c <= 0x2e1f) ||\n c === 0x2e20 ||\n c === 0x2e21 ||\n c === 0x2e22 ||\n c === 0x2e23 ||\n c === 0x2e24 ||\n c === 0x2e25 ||\n c === 0x2e26 ||\n c === 0x2e27 ||\n c === 0x2e28 ||\n c === 0x2e29 ||\n (c >= 0x2e2a && c <= 0x2e2e) ||\n c === 0x2e2f ||\n (c >= 0x2e30 && c <= 0x2e39) ||\n (c >= 0x2e3a && c <= 0x2e3b) ||\n (c >= 0x2e3c && c <= 0x2e3f) ||\n c === 0x2e40 ||\n c === 0x2e41 ||\n c === 0x2e42 ||\n (c >= 0x2e43 && c <= 0x2e4f) ||\n (c >= 0x2e50 && c <= 0x2e51) ||\n c === 0x2e52 ||\n (c >= 0x2e53 && c <= 0x2e7f) ||\n (c >= 0x3001 && c <= 0x3003) ||\n c === 0x3008 ||\n c === 0x3009 ||\n c === 0x300a ||\n c === 0x300b ||\n c === 0x300c ||\n c === 0x300d ||\n c === 0x300e ||\n c === 0x300f ||\n c === 0x3010 ||\n c === 0x3011 ||\n (c >= 0x3012 && c <= 0x3013) ||\n c === 0x3014 ||\n c === 0x3015 ||\n c === 0x3016 ||\n c === 0x3017 ||\n c === 0x3018 ||\n c === 0x3019 ||\n c === 0x301a ||\n c === 0x301b ||\n c === 0x301c ||\n c === 0x301d ||\n (c >= 0x301e && c <= 0x301f) ||\n c === 0x3020 ||\n c === 0x3030 ||\n c === 0xfd3e ||\n c === 0xfd3f ||\n (c >= 0xfe45 && c <= 0xfe46));\n}\n","import { __assign } from \"tslib\";\nimport { ErrorKind } from './error';\nimport { Parser } from './parser';\nimport { isDateElement, isDateTimeSkeleton, isNumberElement, isNumberSkeleton, isPluralElement, isSelectElement, isTagElement, isTimeElement, } from './types';\nfunction pruneLocation(els) {\n els.forEach(function (el) {\n delete el.location;\n if (isSelectElement(el) || isPluralElement(el)) {\n for (var k in el.options) {\n delete el.options[k].location;\n pruneLocation(el.options[k].value);\n }\n }\n else if (isNumberElement(el) && isNumberSkeleton(el.style)) {\n delete el.style.location;\n }\n else if ((isDateElement(el) || isTimeElement(el)) &&\n isDateTimeSkeleton(el.style)) {\n delete el.style.location;\n }\n else if (isTagElement(el)) {\n pruneLocation(el.children);\n }\n });\n}\nexport function parse(message, opts) {\n if (opts === void 0) { opts = {}; }\n opts = __assign({ shouldParseSkeletons: true, requiresOtherClause: true }, opts);\n var result = new Parser(message, opts).parse();\n if (result.err) {\n var error = SyntaxError(ErrorKind[result.err.kind]);\n // @ts-expect-error Assign to error object\n error.location = result.err.location;\n // @ts-expect-error Assign to error object\n error.originalMessage = result.err.message;\n throw error;\n }\n if (!(opts === null || opts === void 0 ? void 0 : opts.captureLocation)) {\n pruneLocation(result.val);\n }\n return result.val;\n}\nexport * from './types';\n","//\n// Main\n//\nexport default function memoize(fn, options) {\n var cache = options && options.cache ? options.cache : cacheDefault;\n var serializer = options && options.serializer ? options.serializer : serializerDefault;\n var strategy = options && options.strategy ? options.strategy : strategyDefault;\n return strategy(fn, {\n cache: cache,\n serializer: serializer,\n });\n}\n//\n// Strategy\n//\nfunction isPrimitive(value) {\n return (value == null || typeof value === 'number' || typeof value === 'boolean'); // || typeof value === \"string\" 'unsafe' primitive for our needs\n}\nfunction monadic(fn, cache, serializer, arg) {\n var cacheKey = isPrimitive(arg) ? arg : serializer(arg);\n var computedValue = cache.get(cacheKey);\n if (typeof computedValue === 'undefined') {\n computedValue = fn.call(this, arg);\n cache.set(cacheKey, computedValue);\n }\n return computedValue;\n}\nfunction variadic(fn, cache, serializer) {\n var args = Array.prototype.slice.call(arguments, 3);\n var cacheKey = serializer(args);\n var computedValue = cache.get(cacheKey);\n if (typeof computedValue === 'undefined') {\n computedValue = fn.apply(this, args);\n cache.set(cacheKey, computedValue);\n }\n return computedValue;\n}\nfunction assemble(fn, context, strategy, cache, serialize) {\n return strategy.bind(context, fn, cache, serialize);\n}\nfunction strategyDefault(fn, options) {\n var strategy = fn.length === 1 ? monadic : variadic;\n return assemble(fn, this, strategy, options.cache.create(), options.serializer);\n}\nfunction strategyVariadic(fn, options) {\n return assemble(fn, this, variadic, options.cache.create(), options.serializer);\n}\nfunction strategyMonadic(fn, options) {\n return assemble(fn, this, monadic, options.cache.create(), options.serializer);\n}\n//\n// Serializer\n//\nvar serializerDefault = function () {\n return JSON.stringify(arguments);\n};\n//\n// Cache\n//\nfunction ObjectWithoutPrototypeCache() {\n this.cache = Object.create(null);\n}\nObjectWithoutPrototypeCache.prototype.get = function (key) {\n return this.cache[key];\n};\nObjectWithoutPrototypeCache.prototype.set = function (key, value) {\n this.cache[key] = value;\n};\nvar cacheDefault = {\n create: function create() {\n // @ts-ignore\n return new ObjectWithoutPrototypeCache();\n },\n};\nexport var strategies = {\n variadic: strategyVariadic,\n monadic: strategyMonadic,\n};\n","import { __extends } from \"tslib\";\nexport var ErrorCode;\n(function (ErrorCode) {\n // When we have a placeholder but no value to format\n ErrorCode[\"MISSING_VALUE\"] = \"MISSING_VALUE\";\n // When value supplied is invalid\n ErrorCode[\"INVALID_VALUE\"] = \"INVALID_VALUE\";\n // When we need specific Intl API but it's not available\n ErrorCode[\"MISSING_INTL_API\"] = \"MISSING_INTL_API\";\n})(ErrorCode || (ErrorCode = {}));\nvar FormatError = /** @class */ (function (_super) {\n __extends(FormatError, _super);\n function FormatError(msg, code, originalMessage) {\n var _this = _super.call(this, msg) || this;\n _this.code = code;\n _this.originalMessage = originalMessage;\n return _this;\n }\n FormatError.prototype.toString = function () {\n return \"[formatjs Error: \".concat(this.code, \"] \").concat(this.message);\n };\n return FormatError;\n}(Error));\nexport { FormatError };\nvar InvalidValueError = /** @class */ (function (_super) {\n __extends(InvalidValueError, _super);\n function InvalidValueError(variableId, value, options, originalMessage) {\n return _super.call(this, \"Invalid values for \\\"\".concat(variableId, \"\\\": \\\"\").concat(value, \"\\\". Options are \\\"\").concat(Object.keys(options).join('\", \"'), \"\\\"\"), ErrorCode.INVALID_VALUE, originalMessage) || this;\n }\n return InvalidValueError;\n}(FormatError));\nexport { InvalidValueError };\nvar InvalidValueTypeError = /** @class */ (function (_super) {\n __extends(InvalidValueTypeError, _super);\n function InvalidValueTypeError(value, type, originalMessage) {\n return _super.call(this, \"Value for \\\"\".concat(value, \"\\\" must be of type \").concat(type), ErrorCode.INVALID_VALUE, originalMessage) || this;\n }\n return InvalidValueTypeError;\n}(FormatError));\nexport { InvalidValueTypeError };\nvar MissingValueError = /** @class */ (function (_super) {\n __extends(MissingValueError, _super);\n function MissingValueError(variableId, originalMessage) {\n return _super.call(this, \"The intl string context variable \\\"\".concat(variableId, \"\\\" was not provided to the string \\\"\").concat(originalMessage, \"\\\"\"), ErrorCode.MISSING_VALUE, originalMessage) || this;\n }\n return MissingValueError;\n}(FormatError));\nexport { MissingValueError };\n","import { isArgumentElement, isDateElement, isDateTimeSkeleton, isLiteralElement, isNumberElement, isNumberSkeleton, isPluralElement, isPoundElement, isSelectElement, isTimeElement, isTagElement, } from '@formatjs/icu-messageformat-parser';\nimport { MissingValueError, InvalidValueError, ErrorCode, FormatError, InvalidValueTypeError, } from './error';\nexport var PART_TYPE;\n(function (PART_TYPE) {\n PART_TYPE[PART_TYPE[\"literal\"] = 0] = \"literal\";\n PART_TYPE[PART_TYPE[\"object\"] = 1] = \"object\";\n})(PART_TYPE || (PART_TYPE = {}));\nfunction mergeLiteral(parts) {\n if (parts.length < 2) {\n return parts;\n }\n return parts.reduce(function (all, part) {\n var lastPart = all[all.length - 1];\n if (!lastPart ||\n lastPart.type !== PART_TYPE.literal ||\n part.type !== PART_TYPE.literal) {\n all.push(part);\n }\n else {\n lastPart.value += part.value;\n }\n return all;\n }, []);\n}\nexport function isFormatXMLElementFn(el) {\n return typeof el === 'function';\n}\n// TODO(skeleton): add skeleton support\nexport function formatToParts(els, locales, formatters, formats, values, currentPluralValue, \n// For debugging\noriginalMessage) {\n // Hot path for straight simple msg translations\n if (els.length === 1 && isLiteralElement(els[0])) {\n return [\n {\n type: PART_TYPE.literal,\n value: els[0].value,\n },\n ];\n }\n var result = [];\n for (var _i = 0, els_1 = els; _i < els_1.length; _i++) {\n var el = els_1[_i];\n // Exit early for string parts.\n if (isLiteralElement(el)) {\n result.push({\n type: PART_TYPE.literal,\n value: el.value,\n });\n continue;\n }\n // TODO: should this part be literal type?\n // Replace `#` in plural rules with the actual numeric value.\n if (isPoundElement(el)) {\n if (typeof currentPluralValue === 'number') {\n result.push({\n type: PART_TYPE.literal,\n value: formatters.getNumberFormat(locales).format(currentPluralValue),\n });\n }\n continue;\n }\n var varName = el.value;\n // Enforce that all required values are provided by the caller.\n if (!(values && varName in values)) {\n throw new MissingValueError(varName, originalMessage);\n }\n var value = values[varName];\n if (isArgumentElement(el)) {\n if (!value || typeof value === 'string' || typeof value === 'number') {\n value =\n typeof value === 'string' || typeof value === 'number'\n ? String(value)\n : '';\n }\n result.push({\n type: typeof value === 'string' ? PART_TYPE.literal : PART_TYPE.object,\n value: value,\n });\n continue;\n }\n // Recursively format plural and select parts' option — which can be a\n // nested pattern structure. The choosing of the option to use is\n // abstracted-by and delegated-to the part helper object.\n if (isDateElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.date[el.style]\n : isDateTimeSkeleton(el.style)\n ? el.style.parsedOptions\n : undefined;\n result.push({\n type: PART_TYPE.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 ? el.style.parsedOptions\n : undefined;\n result.push({\n type: PART_TYPE.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 ? el.style.parsedOptions\n : undefined;\n if (style && style.scale) {\n value =\n value *\n (style.scale || 1);\n }\n result.push({\n type: PART_TYPE.literal,\n value: formatters\n .getNumberFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isTagElement(el)) {\n var children = el.children, value_1 = el.value;\n var formatFn = values[value_1];\n if (!isFormatXMLElementFn(formatFn)) {\n throw new InvalidValueTypeError(value_1, 'function', originalMessage);\n }\n var parts = formatToParts(children, locales, formatters, formats, values, currentPluralValue);\n var chunks = formatFn(parts.map(function (p) { return p.value; }));\n if (!Array.isArray(chunks)) {\n chunks = [chunks];\n }\n result.push.apply(result, chunks.map(function (c) {\n return {\n type: typeof c === 'string' ? PART_TYPE.literal : PART_TYPE.object,\n value: c,\n };\n }));\n }\n if (isSelectElement(el)) {\n var opt = el.options[value] || el.options.other;\n if (!opt) {\n throw new InvalidValueError(el.value, value, Object.keys(el.options), originalMessage);\n }\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values));\n continue;\n }\n if (isPluralElement(el)) {\n var opt = el.options[\"=\".concat(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\", ErrorCode.MISSING_INTL_API, originalMessage);\n }\n var rule = formatters\n .getPluralRules(locales, { type: el.pluralType })\n .select(value - (el.offset || 0));\n opt = el.options[rule] || el.options.other;\n }\n if (!opt) {\n throw new InvalidValueError(el.value, value, Object.keys(el.options), originalMessage);\n }\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values, value - (el.offset || 0)));\n continue;\n }\n }\n return mergeLiteral(result);\n}\n","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nimport { __assign, __spreadArray } from \"tslib\";\nimport { parse } from '@formatjs/icu-messageformat-parser';\nimport memoize, { strategies } from '@formatjs/fast-memoize';\nimport { formatToParts, PART_TYPE, } 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}\nfunction createFastMemoizeCache(store) {\n return {\n create: function () {\n return {\n get: function (key) {\n return store[key];\n },\n set: function (key, value) {\n store[key] = value;\n },\n };\n },\n };\n}\nfunction createDefaultFormatters(cache) {\n if (cache === void 0) { cache = {\n number: {},\n dateTime: {},\n pluralRules: {},\n }; }\n return {\n getNumberFormat: memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.NumberFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.number),\n strategy: strategies.variadic,\n }),\n getDateTimeFormat: memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.DateTimeFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.dateTime),\n strategy: strategies.variadic,\n }),\n getPluralRules: memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.PluralRules).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.pluralRules),\n strategy: strategies.variadic,\n }),\n };\n}\nvar IntlMessageFormat = /** @class */ (function () {\n function IntlMessageFormat(message, locales, overrideFormats, opts) {\n var _this = this;\n if (locales === void 0) { locales = IntlMessageFormat.defaultLocale; }\n this.formatterCache = {\n number: {},\n dateTime: {},\n pluralRules: {},\n };\n this.format = function (values) {\n var parts = _this.formatToParts(values);\n // Hot path for straight simple msg translations\n if (parts.length === 1) {\n return parts[0].value;\n }\n var result = parts.reduce(function (all, part) {\n if (!all.length ||\n part.type !== PART_TYPE.literal ||\n typeof all[all.length - 1] !== 'string') {\n all.push(part.value);\n }\n else {\n all[all.length - 1] += part.value;\n }\n return all;\n }, []);\n if (result.length <= 1) {\n return result[0] || '';\n }\n return result;\n };\n this.formatToParts = function (values) {\n return formatToParts(_this.ast, _this.locales, _this.formatters, _this.formats, values, undefined, _this.message);\n };\n this.resolvedOptions = function () { return ({\n locale: Intl.NumberFormat.supportedLocalesOf(_this.locales)[0],\n }); };\n this.getAst = function () { return _this.ast; };\n if (typeof message === 'string') {\n this.message = message;\n if (!IntlMessageFormat.__parse) {\n throw new TypeError('IntlMessageFormat.__parse must be set to process `message` of type `string`');\n }\n // Parse string messages into an AST.\n this.ast = IntlMessageFormat.__parse(message, {\n ignoreTag: opts === null || opts === void 0 ? void 0 : opts.ignoreTag,\n });\n }\n else {\n this.ast = message;\n }\n if (!Array.isArray(this.ast)) {\n throw new TypeError('A message must be provided as a String or AST.');\n }\n // Creates a new object with the specified `formats` merged with the default\n // formats.\n this.formats = mergeConfigs(IntlMessageFormat.formats, overrideFormats);\n // Defined first because it's used to build the format pattern.\n this.locales = locales;\n this.formatters =\n (opts && opts.formatters) || createDefaultFormatters(this.formatterCache);\n }\n Object.defineProperty(IntlMessageFormat, \"defaultLocale\", {\n get: function () {\n if (!IntlMessageFormat.memoizedDefaultLocale) {\n IntlMessageFormat.memoizedDefaultLocale =\n new Intl.NumberFormat().resolvedOptions().locale;\n }\n return IntlMessageFormat.memoizedDefaultLocale;\n },\n enumerable: false,\n configurable: true\n });\n IntlMessageFormat.memoizedDefaultLocale = null;\n IntlMessageFormat.__parse = parse;\n // Default format options used as the prototype of the `formats` provided to the\n // constructor. These are used when constructing the internal Intl.NumberFormat\n // and Intl.DateTimeFormat instances.\n IntlMessageFormat.formats = {\n number: {\n integer: {\n maximumFractionDigits: 0,\n },\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 };\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 './src/core';\nexport * from './src/formatters';\nexport * from './src/core';\nexport * from './src/error';\nexport default IntlMessageFormat;\n",null],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__extends","TypeError","String","__","this","constructor","create","__assign","assign","t","s","i","n","arguments","length","apply","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","v","op","pop","push","__values","o","m","__read","r","ar","error","__spreadArray","to","from","pack","l","slice","concat","ModifierKey","PREFERRED_LANGUAGES_LOCAL_STORAGE_KEY","CURRENT_LANGUAGE_LOCAL_STORAGE_KEY","Properties","defineProperty","get","config","_a","forceLanguage","_currentLanguage","getInitialLanguage","set","language","Error","enableLanguageStore","localStorage","setItem","Set","JSON","parse","getItem","languages","stringify","storedLanguage","getStoredLanguage","enableLanguageDetection","detectedLanguage","getLanguageByNavigator","defaultLanguage","availableLanguages","indexOf","window","preferred_1","navigator","exactMatch","find","getTwoLetters_1","fullTag","replace","preferredTwoLetter_1","twoLetterMatch","Subscription","onUnsubscribe","unsubscribe","EventEmitterImpl","idCounter","_subscriptions","Map","emit","data","promiseReturns","_b","subscriptions","values","_c","returned","callback","all","subscribe","_this","newId","subscription","id","delete","console","warn","EventService","TRANSLATION_CHANGED","LANGUAGE_CHANGED","LANGUAGE_LOADED","ELEMENT_REGISTERED","ApiHttpError","_super","response","code","ApiHttpService","properties","handleErrors","status","json","fetch","args","_i","url","getUrl","rest","fetchJson","res","post","init","method","headers","postJson","path","querySeparator","apiUrl","apiKey","TranslationData","key","translations","TranslationService","coreService","apiHttpService","eventService","translationsCache","fetchPromises","fetchedDev","updateTranslationInCache","entries","forEach","lang","translation","cachedData","name","text","getTranslationsOfKey","currentLanguage","checkScope","languagesArray","languagesQuery","map","join","encodeURIComponent","_e","translationData_1","reduce","acc","curr","firstItem","_embedded","keys","langs","_d","selectedLanguages","tag","e_1","getLanguages","preferredLanguages","location","reload","translationByValue","message","defaultValue","initStatic","staticData","setLanguageData","getCachedTranslations","loadTranslations","isFetchNeeded","fetchTranslations","undefined","getTranslation","getFromCache","fallbackLang","fallbackLanguage","updateKeyComplex","screenshotUploadedImageIds","screenshotIdsToDelete","createKey","setTranslations","translationData","keyId","keyName","changeTranslations","old","getFromCacheOrFallback","isDevMode","mode","dataPresent","devFetched","Boolean","fetchTranslationsDevelopment","fetchTranslationsProduction","langStaticData","filesUrlPrefix","setEmptyLanguageData","loadApiKeyDetails","e_4","makeFlat","flatKey","flatValue","root","TextService","translationService","moduleService","format","params","formatter","translate","orEmpty","formatTranslation","instant","exports","MouseEventHandler","keysDown","mouseOn","mouseOnChanged","keysChanged","onConditionsChanged","unhighlight","areKeysDown","getMouseOn","highlight","_tolgee","highlighted","onMouseOut","element","preventClean","onMouseOver","filterMouseOn","add","run","initKeyListener","handle","onclick","listeningForHighlighting","initEventListeners","onClick","currentTarget","stopPropagation","preventDefault","addEventListener","capture","onMouseDownOrUp","removeAllEventListeners","removeEventListener","mouseOnArray","modifierKey","el","document","contains","highlightKeys","has","TranslationHighlighter","dependencies","translationEdit","getRenderer","renderer","getKeyAndDefault","renderViewer","getKeyOptions","node","nodes","k","listen","highlightFunctionInitializer","initFunctions","mouseEventHandler","_renderer","possibleProviders","ui","possibleProviders_1","possibleProviders_1_1","possiblePromise","possibleProvider","possibleObject","UI","mouseEvent","wrappedWithElementOnlyKey","wrappedWithElementOnlyDefaultHtml","keysWithDefaults","keySet","keyWithDefault","size","getKey","openEvent","selectedKey_1","found","kwd","RESTRICTED_ASCENDANT_ATTRIBUTE","TOLGEE_ATTRIBUTE_NAME","TOLGEE_TARGET_ATTRIBUTE","TOLGEE_WRAPPED_ONLY_DATA_ATTRIBUTE","NodeHelper","evaluate","evaluateGenerator","evaluateToSingle","arr","closestElement","Text","parentElement","getParentElement","ownerElement","isElementTargetElement","hasAttribute","markElementAsTargetElement","setAttribute","unmarkElementAsTargetElement","removeAttribute","nodeContains","descendant","Attr","ownerContainsAttr","attributes","expression","targetNode","evaluated","XPathResult","ANY_TYPE","iterateNext","getNodeText","textContent","setNodeText","ElementRegistrar","translationHighlighter","registeredElements","register","getActiveNodes","refreshAll","cleanElementInactiveNodes","cleanElement","cleanAll","registeredElement","findAllByKey","_f","findIndex","keyWithParams","isElementActive","targetElement","Observer","textWrapper","nodeRegistrar","_observer","_observing","MutationObserver","mutationsList","mutationsList_1","mutationsList_1_1","mutation","type","handleText","target","handleSubtree","handleAttribute","observe","observer","childList","subtree","characterData","stopObserving","disconnect","CoreService","languagePromise","bind","filter","getLanguagesFull","getApiKeyDetails","isAuthorizedTo","scope","scopes","details","projectId","permittedLanguageIds","DEFAULT_TARGET_ELEMENT_SUPPLIER","TolgeeConfig","inputPrefix","inputSuffix","tagAttributes","textarea","input","img","Alt","passToParent","restrictedElements","highlightColor","wrapperMode","preloadFallback","_targetElement","sessionStorage","watch","PluginManager","messages","elementRegistrar","handshakeSucceed","takeScreenshot","revertChange","highlightAllByKey","ms","setTimeout","send","cancel_1","unhighlightAllByKey","catch","handshake","sharedConfiguration","uiPresent","uiVersion","timer","ping","finish","clearInterval","counter","setInterval","startListening","stop","stopListening","Messages","listeners","receiveMessage","event","source","listener","_stopListening","listenerInfo","splice","postMessage","origin","HighlightFunctionsInitializer","initHighlightFunction","initUnhighlightFunction","initialBackgroundColor","style","backgroundColor","ScreenshotService","uploadImage","blob","formData","FormData","append","deleteImages","ids","ModuleService","addModule","module","instance","NodeHandler","wrapper","initParentElement","filterRestricted","tagName","toLowerCase","closest","handleNodes","nodes_1","nodes_1_1","textNode","tolgeeData","locked","lockNode","unwrap","translatedNode","translateChildNode","unlockNode","newValue","oldTextContent","parent","getSuitableParent","domParent","isArray","elementTagName","AttributeHandler","nodeHandler","attributes_1","attributes_1_1","attribute","TextHelper","splitOnNonEscapedDelimiter","string","delimiter","actual","escaped","char","isCharEscaped","position","fullString","escapeCharsCount","removeEscapes","Coder","textService","escapeForRegExp","escapeParam","param","toString","escapedPrefix","escapedSuffix","parseUnwrapped","unwrappedString","paramName","readingState","unwrappedString_1","unwrappedString_1_1","match","matchRegexp","RegExp","rawUnWrapRegex","keysAndParams","matched","start","exec","pre","fullMatch","wrapped","unwrapped","index","substr","translated","getTranslatedWithMetadata","substring","wrap","paramString","defaultString","CoreHandler","textHandler","attributeHandler","coder","wrappedHandler","refresh","ContentHandler","xPath","filtered","WrappedHandler","elementWithMeta","getAttribute","innerHTML","TextWrapper","coreHandler","PTextEncoder","PTextDecoder","encode","octets","codePoint","codePointAt","c","bits","decode","octet","bytesNeeded","fromCodePoint","ErrorKind","TYPE","SKELETON_TYPE","Encoder","TextEncoder","Decoder","TextDecoder","INVISIBLE_CHARACTERS","INVISIBLE_REGEX","encodeMessage","binary","toBytes","Number","byte","needsToAdd","repeat","padToWholeBytes","decodeMessage","bytes","textBytes","character","codes","Uint8Array","parseInt","ValueMemory","valueToNumber","numberToValue","num","keyMemory","defaultMemory","invisibleMessages","decodeFromText","msg","text_1","text_1_1","stringToCodePoints","keyCode","defaultCode","removeSecrets","_params","invisibleMark","InvisibleWrapper","DependencyService","screenshotService","pluginManager","Tolgee","dependencyService","newLanguage","emitLangChangeEvent","currentLang","fallbackPreloading","isStaticDataProvided","use","changeLanguage","keyOrProps","noWrap","props","onLangChange","isLiteralElement","literal","isArgumentElement","argument","isNumberElement","number","isDateElement","date","isTimeElement","time","isSelectElement","select","isPluralElement","plural","isPoundElement","pound","isTagElement","isNumberSkeleton","isDateTimeSkeleton","dateTime","SPACE_SEPARATOR_REGEX","DATE_TIME_REGEX","parseDateTimeSkeleton","skeleton","len","era","year","RangeError","month","day","weekday","hour12","hourCycle","hour","minute","second","timeZoneName","WHITE_SPACE_REGEX","FRACTION_PRECISION_REGEX","SIGNIFICANT_PRECISION_REGEX","INTEGER_WIDTH_REGEX","CONCISE_INTEGER_WIDTH_REGEX","parseSignificantPrecision","str","roundingPriority","g1","g2","minimumSignificantDigits","maximumSignificantDigits","parseSign","signDisplay","currencySign","parseConciseScientificAndEngineeringStem","stem","notation","test","minimumIntegerDigits","parseNotationOptions","opt","signOpts","parseNumberSkeleton","tokens","tokens_1","token","scale","currency","options","useGrouping","maximumFractionDigits","unit","compactDisplay","currencyDisplay","unitDisplay","parseFloat","g3","g4","g5","minimumFractionDigits","trailingZeroDisplay","conciseScientificAndEngineeringOpts","SPACE_SEPARATOR_START_REGEX","SPACE_SEPARATOR_END_REGEX","createLocation","end","hasNativeStartsWith","startsWith","hasNativeFromCodePoint","hasNativeFromEntries","fromEntries","hasNativeCodePointAt","hasTrimStart","trimStart","hasTrimEnd","trimEnd","isSafeInteger","isFinite","Math","floor","abs","REGEX_SUPPORTS_U_AND_Y","RE","matchIdentifierAtIndex","search","codePoints","elements","fromCharCode","obj","entries_1","first","charCodeAt","flag","IDENTIFIER_PREFIX_RE_1","lastIndex","_isWhiteSpace","_isPatternSyntax","Parser","offset","line","column","ignoreTag","requiresOtherClause","shouldParseSkeletons","parseMessage","nestingLevel","parentArgType","expectingCloseTag","isEOF","parseArgument","err","val","peek","UNMATCHED_CLOSING_TAG","clonePosition","_isAlpha","parseTag","parseLiteral","bump","startPosition","parseTagName","bumpSpace","bumpIf","childrenResult","children","endTagStartPosition","INVALID_TAG","closingTagNameStartPosition","UNCLOSED_TAG","startOffset","parseQuoteResult","tryParseQuote","parseUnquotedResult","tryParseUnquoted","parseLeftAngleResult","tryParseLeftAngleBracket","codepoint","ch","openingBracePosition","EXPECT_ARGUMENT_CLOSING_BRACE","EMPTY_ARGUMENT","parseIdentifierIfPossible","MALFORMED_ARGUMENT","parseArgumentOptions","startingPosition","endOffset","bumpTo","typeStartPosition","argType","typeEndPosition","EXPECT_ARGUMENT_TYPE","styleAndLocation","styleStartPosition","parseSimpleArgStyleIfPossible","EXPECT_ARGUMENT_STYLE","styleLocation","argCloseResult","tryParseArgumentClose","location_1","parseNumberSkeletonFromString","EXPECT_DATE_TIME_SKELETON","pattern","parsedOptions","typeEndPosition_1","EXPECT_SELECT_ARGUMENT_OPTIONS","identifierAndLocation","pluralOffset","EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE","tryParseDecimalInteger","INVALID_PLURAL_ARGUMENT_OFFSET_VALUE","optionsResult","tryParsePluralOrSelectOptions","location_2","pluralType","INVALID_ARGUMENT_TYPE","nestedBraces","apostrophePosition","bumpUntil","UNCLOSED_QUOTE_IN_ARGUMENT_STYLE","stringTokens_1","split","x","stemAndOptions","options_1","INVALID_NUMBER_SKELETON","expectCloseTag","parsedFirstIdentifier","hasOtherClause","parsedSelectors","selector","selectorLocation","EXPECT_PLURAL_ARGUMENT_SELECTOR","INVALID_PLURAL_ARGUMENT_SELECTOR","DUPLICATE_SELECT_ARGUMENT_SELECTOR","DUPLICATE_PLURAL_ARGUMENT_SELECTOR","EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT","EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT","fragmentResult","EXPECT_SELECT_ARGUMENT_SELECTOR","MISSING_OTHER_CLAUSE","expectNumberError","invalidNumberError","sign","hasDigits","decimal","kind","prefix","currentOffset","targetOffset","min","nextCode","pruneLocation","els","opts","SyntaxError","originalMessage","captureLocation","memoize","fn","cache","cacheDefault","serializer","serializerDefault","strategy","strategyDefault","monadic","arg","cacheKey","computedValue","variadic","assemble","context","serialize","ObjectWithoutPrototypeCache","ErrorCode","strategies","PART_TYPE","FormatError","InvalidValueError","variableId","INVALID_VALUE","InvalidValueTypeError","MissingValueError","MISSING_VALUE","isFormatXMLElementFn","formatToParts","locales","formatters","formats","currentPluralValue","els_1","getNumberFormat","varName","object","getDateTimeFormat","value_1","formatFn","chunks","other","Intl","PluralRules","MISSING_INTL_API","rule","getPluralRules","parts","part","lastPart","mergeLiteral","mergeConfigs","defaultConfig","configs","c1","c2","createFastMemoizeCache","store","IntlMessageFormat","overrideFormats","defaultLocale","formatterCache","pluralRules","ast","resolvedOptions","locale","NumberFormat","supportedLocalesOf","getAst","__parse","DateTimeFormat","memoizedDefaultLocale","enumerable","configurable","integer","percent","short","medium","long","full","IcuFormatter","class_1"],"mappings":"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A,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,KACf,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,MC7uC7B,SAASqS,GAAcC,GACnBA,EAAInsB,SAAQ,SAAUuH,GAElB,UADOA,EAAG1F,SACN0c,GAAgBhX,IAAOkX,GAAgBlX,GACvC,IAAK,IAAIe,KAAKf,EAAGwa,eACNxa,EAAGwa,QAAQzZ,GAAGzG,SACrBqqB,GAAc3kB,EAAGwa,QAAQzZ,GAAG5R,YAG3BunB,GAAgB1W,IAAOuX,GAAiBvX,EAAGuL,SAG1CqL,GAAc5W,IAAO8W,GAAc9W,KACzCwX,GAAmBxX,EAAGuL,cAHfvL,EAAGuL,MAAMjR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"}
|