{"version":3,"sources":["node_modules/devextreme/esm/core/utils/type.js","node_modules/devextreme/esm/core/utils/extend.js","node_modules/devextreme/esm/core/utils/console.js","node_modules/devextreme/esm/core/utils/string.js","node_modules/devextreme/esm/core/version.js","node_modules/devextreme/esm/core/utils/error.js","node_modules/devextreme/esm/core/errors.js","node_modules/devextreme/esm/core/config.js","node_modules/devextreme/esm/core/utils/callbacks.js","node_modules/devextreme/esm/core/utils/deferred.js","node_modules/@babel/runtime/helpers/esm/extends.js","node_modules/devextreme/esm/core/class.js","node_modules/devextreme/esm/core/guid.js","node_modules/devextreme/esm/core/utils/iterator.js","node_modules/devextreme/esm/core/utils/dependency_injector.js","node_modules/devextreme/esm/core/utils/variable_wrapper.js","node_modules/devextreme/esm/core/utils/object.js","node_modules/devextreme/esm/core/utils/data.js","node_modules/devextreme/esm/core/utils/common.js","node_modules/devextreme/esm/localization/cldr-data/parent_locales.js","node_modules/devextreme/esm/localization/parentLocale.js","node_modules/devextreme/esm/localization/core.js","node_modules/devextreme/esm/core/utils/inflector.js","node_modules/devextreme/esm/localization/default_messages.js","node_modules/devextreme/esm/localization/message.js","node_modules/devextreme/esm/core/utils/math.js","node_modules/devextreme/esm/localization/utils.js","node_modules/devextreme/esm/localization/ldml/number.js","node_modules/devextreme/esm/localization/currency.js","node_modules/devextreme/esm/localization/open_xml_currency_format.js","node_modules/devextreme/esm/localization/cldr-data/accounting_formats.js","node_modules/devextreme/esm/localization/intl/number.js","node_modules/devextreme/esm/localization/number.js","node_modules/devextreme/esm/localization/ldml/date.formatter.js","node_modules/devextreme/esm/localization/ldml/date.format.js","node_modules/devextreme/esm/localization/ldml/date.parser.js","node_modules/devextreme/esm/localization/default_date_names.js","node_modules/devextreme/esm/localization/cldr-data/first_day_of_week_data.js","node_modules/devextreme/esm/localization/intl/date.js","node_modules/devextreme/esm/localization/date.js","node_modules/devextreme/esm/localization.js"],"sourcesContent":["/**\r\n * DevExtreme (esm/core/utils/type.js)\r\n * Version: 24.1.7\r\n * Build date: Wed Oct 30 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\nconst types = {\n \"[object Array]\": \"array\",\n \"[object Date]\": \"date\",\n \"[object Object]\": \"object\",\n \"[object String]\": \"string\"\n};\nconst type = function (object) {\n if (null === object) {\n return \"null\";\n }\n const typeOfObject = Object.prototype.toString.call(object);\n return \"object\" === typeof object ? types[typeOfObject] || \"object\" : typeof object;\n};\nconst isBoolean = function (object) {\n return \"boolean\" === typeof object;\n};\nconst isExponential = function (value) {\n return isNumeric(value) && -1 !== value.toString().indexOf(\"e\");\n};\nconst isDate = function (object) {\n return \"date\" === type(object);\n};\nconst isDefined = function (object) {\n return null !== object && void 0 !== object;\n};\nconst isFunction = function (object) {\n return \"function\" === typeof object;\n};\nconst isString = function (object) {\n return \"string\" === typeof object;\n};\nconst isNumeric = function (object) {\n return \"number\" === typeof object && isFinite(object) || !isNaN(object - parseFloat(object));\n};\nconst isObject = function (object) {\n return \"object\" === type(object);\n};\nconst isEmptyObject = function (object) {\n let property;\n for (property in object) {\n return false;\n }\n return true;\n};\nconst isPlainObject = function (object) {\n if (!object || \"object\" !== type(object)) {\n return false;\n }\n const proto = Object.getPrototypeOf(object);\n if (!proto) {\n return true;\n }\n const ctor = Object.hasOwnProperty.call(proto, \"constructor\") && proto.constructor;\n return \"function\" === typeof ctor && Object.toString.call(ctor) === Object.toString.call(Object);\n};\nconst isPrimitive = function (value) {\n return -1 === [\"object\", \"array\", \"function\"].indexOf(type(value));\n};\nconst isWindow = function (object) {\n return null != object && object === object.window;\n};\nconst isRenderer = function (object) {\n return !!object && !!(object.jquery || object.dxRenderer);\n};\nconst isPromise = function (object) {\n return !!object && isFunction(object.then);\n};\nconst isDeferred = function (object) {\n return !!object && isFunction(object.done) && isFunction(object.fail);\n};\nconst isEvent = function (object) {\n return !!(object && object.preventDefault);\n};\nexport { isBoolean, isExponential, isDate, isDefined, isFunction, isString, isNumeric, isObject, isEmptyObject, isPlainObject, isPrimitive, isWindow, isRenderer, isPromise, isDeferred, type, isEvent };","/**\r\n * DevExtreme (esm/core/utils/extend.js)\r\n * Version: 24.1.7\r\n * Build date: Wed Oct 30 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\nimport { isPlainObject } from \"./type\";\nexport const extendFromObject = function (target, source, overrideExistingValues) {\n target = target || {};\n for (const prop in source) {\n if (Object.prototype.hasOwnProperty.call(source, prop)) {\n const value = source[prop];\n if (!(prop in target) || overrideExistingValues) {\n target[prop] = value;\n }\n }\n }\n return target;\n};\nexport const extend = function (target) {\n target = target || {};\n let i = 1;\n let deep = false;\n if (\"boolean\" === typeof target) {\n deep = target;\n target = arguments[1] || {};\n i++;\n }\n for (; i < arguments.length; i++) {\n const source = arguments[i];\n if (null == source) {\n continue;\n }\n for (const key in source) {\n const targetValue = target[key];\n const sourceValue = source[key];\n let sourceValueIsArray = false;\n let clone;\n if (\"__proto__\" === key || \"constructor\" === key || target === sourceValue) {\n continue;\n }\n if (deep && sourceValue && (isPlainObject(sourceValue) || (sourceValueIsArray = Array.isArray(sourceValue)))) {\n if (sourceValueIsArray) {\n clone = targetValue && Array.isArray(targetValue) ? targetValue : [];\n } else {\n clone = targetValue && isPlainObject(targetValue) ? targetValue : {};\n }\n target[key] = extend(deep, clone, sourceValue);\n } else if (void 0 !== sourceValue) {\n target[key] = sourceValue;\n }\n }\n }\n return target;\n};","/**\r\n * DevExtreme (esm/core/utils/console.js)\r\n * Version: 24.1.7\r\n * Build date: Wed Oct 30 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\nimport { isFunction } from \"./type\";\nconst noop = function () {};\nconst getConsoleMethod = function (method) {\n if (\"undefined\" === typeof console || !isFunction(console[method])) {\n return noop;\n }\n return console[method].bind(console);\n};\nexport const logger = {\n log: getConsoleMethod(\"log\"),\n info: getConsoleMethod(\"info\"),\n warn: getConsoleMethod(\"warn\"),\n error: getConsoleMethod(\"error\")\n};\nexport const debug = function () {\n function assert(condition, message) {\n if (!condition) {\n throw new Error(message);\n }\n }\n return {\n assert: assert,\n assertParam: function (parameter, message) {\n assert(null !== parameter && void 0 !== parameter, message);\n }\n };\n}();","/**\r\n * DevExtreme (esm/core/utils/string.js)\r\n * Version: 24.1.7\r\n * Build date: Wed Oct 30 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\nimport { isFunction, isString } from \"./type\";\nexport const encodeHtml = function () {\n const encodeRegExp = [new RegExp(\"&\", \"g\"), new RegExp('\"', \"g\"), new RegExp(\"'\", \"g\"), new RegExp(\"<\", \"g\"), new RegExp(\">\", \"g\")];\n return function (str) {\n return String(str).replace(encodeRegExp[0], \"&\").replace(encodeRegExp[1], \""\").replace(encodeRegExp[2], \"'\").replace(encodeRegExp[3], \"<\").replace(encodeRegExp[4], \">\");\n };\n}();\nconst splitQuad = function (raw) {\n switch (typeof raw) {\n case \"string\":\n return raw.split(/\\s+/, 4);\n case \"object\":\n return [raw.x || raw.h || raw.left, raw.y || raw.v || raw.top, raw.x || raw.h || raw.right, raw.y || raw.v || raw.bottom];\n case \"number\":\n return [raw];\n default:\n return raw;\n }\n};\nexport const quadToObject = function (raw) {\n const quad = splitQuad(raw);\n let left = parseInt(quad && quad[0], 10);\n let top = parseInt(quad && quad[1], 10);\n let right = parseInt(quad && quad[2], 10);\n let bottom = parseInt(quad && quad[3], 10);\n if (!isFinite(left)) {\n left = 0;\n }\n if (!isFinite(top)) {\n top = left;\n }\n if (!isFinite(right)) {\n right = left;\n }\n if (!isFinite(bottom)) {\n bottom = top;\n }\n return {\n top: top,\n right: right,\n bottom: bottom,\n left: left\n };\n};\nexport function format(template) {\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n values[_key - 1] = arguments[_key];\n }\n if (isFunction(template)) {\n return template(...values);\n }\n values.forEach((value, index) => {\n if (isString(value)) {\n value = value.replace(/\\$/g, \"$$$$\");\n }\n const placeholderReg = new RegExp(\"\\\\{\" + index + \"\\\\}\", \"gm\");\n template = template.replace(placeholderReg, value);\n });\n return template;\n}\nexport const isEmpty = function () {\n const SPACE_REGEXP = /\\s/g;\n return function (text) {\n return !text || !text.replace(SPACE_REGEXP, \"\");\n };\n}();","/**\r\n * DevExtreme (esm/core/version.js)\r\n * Version: 24.1.7\r\n * Build date: Wed Oct 30 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\nexport const version = \"24.1.7\";\nexport const fullVersion = \"24.1.7\";","/**\r\n * DevExtreme (esm/core/utils/error.js)\r\n * Version: 24.1.7\r\n * Build date: Wed Oct 30 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\nimport { extend } from \"./extend\";\nimport { logger } from \"./console\";\nimport { format } from \"./string\";\nimport { version } from \"../version\";\nconst ERROR_URL = \"https://js.devexpress.com/error/\" + version.split(\".\").slice(0, 2).join(\"_\") + \"/\";\nexport default function (baseErrors, errors) {\n const exports = {\n ERROR_MESSAGES: extend(errors, baseErrors),\n Error: function () {\n return function (args) {\n const id = args[0];\n args = args.slice(1);\n const details = formatDetails(id, args);\n const url = getErrorUrl(id);\n const message = formatMessage(id, details);\n return extend(new Error(message), {\n __id: id,\n __details: details,\n url: url\n });\n }([].slice.call(arguments));\n },\n log: function (id) {\n let method = \"log\";\n if (/^E\\d+$/.test(id)) {\n method = \"error\";\n } else if (/^W\\d+$/.test(id)) {\n method = \"warn\";\n }\n logger[method](\"log\" === method ? id : function (args) {\n const id = args[0];\n args = args.slice(1);\n return formatMessage(id, formatDetails(id, args));\n }([].slice.call(arguments)));\n }\n };\n function formatDetails(id, args) {\n args = [exports.ERROR_MESSAGES[id]].concat(args);\n return format.apply(this, args).replace(/\\.*\\s*?$/, \"\");\n }\n function formatMessage(id, details) {\n const kind = null !== id && void 0 !== id && id.startsWith(\"W\") ? \"warning\" : \"error\";\n return format.apply(this, [\"{0} - {1}.\\n\\nFor additional information on this {2} message, see: {3}\", id, details, kind, getErrorUrl(id)]);\n }\n function getErrorUrl(id) {\n return ERROR_URL + id;\n }\n return exports;\n}","/**\r\n * DevExtreme (esm/core/errors.js)\r\n * Version: 24.1.7\r\n * Build date: Wed Oct 30 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\nimport errorUtils from \"./utils/error\";\nexport default errorUtils({\n E0001: \"Method is not implemented\",\n E0002: \"Member name collision: {0}\",\n E0003: \"A class must be instantiated using the 'new' keyword\",\n E0004: \"The NAME property of the component is not specified\",\n E0005: \"Unknown device\",\n E0006: \"Unknown endpoint key is requested\",\n E0007: \"'Invalidate' method is called outside the update transaction\",\n E0008: \"Type of the option name is not appropriate to create an action\",\n E0009: \"Component '{0}' has not been initialized for an element\",\n E0010: \"Animation configuration with the '{0}' type requires '{1}' configuration as {2}\",\n E0011: \"Unknown animation type '{0}'\",\n E0012: \"jQuery version is too old. Please upgrade jQuery to 1.10.0 or later\",\n E0013: \"KnockoutJS version is too old. Please upgrade KnockoutJS to 2.3.0 or later\",\n E0014: \"The 'release' method shouldn't be called for an unlocked Lock object\",\n E0015: \"Queued task returned an unexpected result\",\n E0017: \"Event namespace is not defined\",\n E0018: \"DevExpress.ui.DevExpressPopup widget is required\",\n E0020: \"Template engine '{0}' is not supported\",\n E0021: \"Unknown theme is set: {0}\",\n E0022: \"LINK[rel=DevExpress-theme] tags must go before DevExpress included scripts\",\n E0023: \"Template name is not specified\",\n E0024: \"DevExtreme bundle already included\",\n E0025: \"Unexpected argument type\",\n E0100: \"Unknown validation type is detected\",\n E0101: \"Misconfigured range validation rule is detected\",\n E0102: \"Misconfigured comparison validation rule is detected\",\n E0103: \"validationCallback of an asynchronous rule should return a jQuery or a native promise\",\n E0110: \"Unknown validation group is detected\",\n E0120: \"Adapter for a DevExpressValidator component cannot be configured\",\n E0121: \"The 'customItem' parameter of the 'onCustomItemCreating' function is empty or contains invalid data. Assign a custom object or a Promise that is resolved after the item is created.\",\n W0000: \"'{0}' is deprecated in {1}. {2}\",\n W0001: \"{0} - '{1}' option is deprecated in {2}. {3}\",\n W0002: \"{0} - '{1}' method is deprecated in {2}. {3}\",\n W0003: \"{0} - '{1}' property is deprecated in {2}. {3}\",\n W0004: \"Timeout for theme loading is over: {0}\",\n W0005: \"'{0}' event is deprecated in {1}. {2}\",\n W0006: \"Invalid recurrence rule: '{0}'\",\n W0007: \"'{0}' Globalize culture is not defined\",\n W0008: \"Invalid view name: '{0}'\",\n W0009: \"Invalid time zone name: '{0}'\",\n W0010: \"{0} is deprecated in {1}. {2}\",\n W0011: \"Number parsing is invoked while the parser is not defined\",\n W0012: \"Date parsing is invoked while the parser is not defined\",\n W0013: \"'{0}' file is deprecated in {1}. {2}\",\n W0014: \"{0} - '{1}' type is deprecated in {2}. {3}\",\n W0015: \"Instead of returning a value from the '{0}' function, write it into the '{1}' field of the function's parameter.\",\n W0016: 'The \"{0}\" option does not accept the \"{1}\" value since v{2}. {3}.',\n W0017: 'Setting the \"{0}\" property with a function is deprecated since v21.2',\n W0018: 'Setting the \"position\" property with a function is deprecated since v21.2',\n W0019: \"DevExtreme: Unable to Locate a Valid License Key.\\n\\nDetailed license/registration related information and instructions: https://js.devexpress.com/Documentation/Licensing/.\\n\\nIf you are using a 30-day trial version of DevExtreme, you must uninstall all copies of DevExtreme once your 30-day trial period expires. For terms and conditions that govern use of DevExtreme UI components/libraries, please refer to the DevExtreme End User License Agreement: https://js.devexpress.com/EULAs/DevExtremeComplete.\\n\\nTo use DevExtreme in a commercial project, you must purchase a license. For pricing/licensing options, please visit: https://js.devexpress.com/Buy.\\n\\nIf you have licensing-related questions or need help with a purchase, please email clientservices@devexpress.com.\\n\\n\",\n W0020: \"DevExtreme: License Key Has Expired.\\n\\nDetailed license/registration related information and instructions: https://js.devexpress.com/Documentation/Licensing/.\\n\\nA mismatch exists between the license key used and the DevExtreme version referenced in this project.\\n\\nTo proceed, you can:\\n\\u2022 use a version of DevExtreme linked to your license key: https://www.devexpress.com/ClientCenter/DownloadManager\\n\\u2022 renew your DevExpress Subscription: https://www.devexpress.com/buy/renew (once you renew your subscription, you will be entitled to product updates and support service as defined in the DevExtreme End User License Agreement)\\n\\nIf you have licensing-related questions or need help with a renewal, please email clientservices@devexpress.com.\\n\\n\",\n W0021: \"DevExtreme: License Key Verification Has Failed.\\n\\nDetailed license/registration related information and instructions: https://js.devexpress.com/Documentation/Licensing/.\\n\\nTo verify your DevExtreme license, make certain to specify a correct key in the GlobalConfig. If you continue to encounter this error, please visit https://www.devexpress.com/ClientCenter/DownloadManager to obtain a valid license key.\\n\\nIf you have a valid license and this problem persists, please submit a support ticket via the DevExpress Support Center. We will be happy to follow-up: https://supportcenter.devexpress.com/ticket/create.\\n\\n\",\n W0022: \"DevExtreme: Pre-release software. Not suitable for commercial use.\\n\\nDetailed license/registration related information and instructions: https://js.devexpress.com/Documentation/Licensing/.\\n\\nPre-release software may contain deficiencies and as such, should not be considered for use or integrated in any mission critical application.\\n\\n\",\n W0023: \"DevExtreme: the following 'devextreme' package version does not match versions of other DevExpress products used in this application:\\n\\n{0}\\n\\nInteroperability between different versions of the products listed herein cannot be guaranteed.\\n\\n\"\n});","/**\r\n * DevExtreme (esm/core/config.js)\r\n * Version: 24.1.7\r\n * Build date: Wed Oct 30 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\nimport { extend } from \"./utils/extend\";\nimport errors from \"./errors\";\nconst config = {\n rtlEnabled: false,\n defaultCurrency: \"USD\",\n defaultUseCurrencyAccountingStyle: true,\n oDataFilterToLower: true,\n serverDecimalSeparator: \".\",\n decimalSeparator: \".\",\n thousandsSeparator: \",\",\n forceIsoDateParsing: true,\n wrapActionsBeforeExecute: true,\n useLegacyStoreResult: false,\n useJQuery: void 0,\n editorStylingMode: void 0,\n useLegacyVisibleIndex: false,\n floatingActionButtonConfig: {\n icon: \"add\",\n closeIcon: \"close\",\n label: \"\",\n position: {\n at: \"right bottom\",\n my: \"right bottom\",\n offset: {\n x: -16,\n y: -16\n }\n },\n maxSpeedDialActionCount: 5,\n shading: false,\n direction: \"auto\"\n },\n optionsParser: optionsString => {\n if (\"{\" !== optionsString.trim().charAt(0)) {\n optionsString = \"{\" + optionsString + \"}\";\n }\n try {\n return JSON.parse(optionsString);\n } catch (ex) {\n try {\n return JSON.parse(normalizeToJSONString(optionsString));\n } catch (exNormalize) {\n throw errors.Error(\"E3018\", ex, optionsString);\n }\n }\n }\n};\nconst normalizeToJSONString = optionsString => optionsString.replace(/'/g, '\"').replace(/,\\s*([\\]}])/g, \"$1\").replace(/([{,])\\s*([^\":\\s]+)\\s*:/g, '$1\"$2\":');\nconst deprecatedFields = [\"decimalSeparator\", \"thousandsSeparator\"];\nconst configMethod = function () {\n if (!arguments.length) {\n return config;\n }\n const newConfig = arguments.length <= 0 ? void 0 : arguments[0];\n deprecatedFields.forEach(deprecatedField => {\n if (newConfig[deprecatedField]) {\n const message = `Now, the ${deprecatedField} is selected based on the specified locale.`;\n errors.log(\"W0003\", \"config\", deprecatedField, \"19.2\", message);\n }\n });\n extend(config, newConfig);\n};\nif (\"undefined\" !== typeof DevExpress && DevExpress.config) {\n configMethod(DevExpress.config);\n}\nexport default configMethod;","/**\r\n * DevExtreme (esm/core/utils/callbacks.js)\r\n * Version: 24.1.7\r\n * Build date: Wed Oct 30 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\nconst Callback = function (options) {\n this._options = options || {};\n this._list = [];\n this._queue = [];\n this._firing = false;\n this._fired = false;\n this._firingIndexes = [];\n};\nCallback.prototype._fireCore = function (context, args) {\n const firingIndexes = this._firingIndexes;\n const list = this._list;\n const stopOnFalse = this._options.stopOnFalse;\n const step = firingIndexes.length;\n for (firingIndexes[step] = 0; firingIndexes[step] < list.length; firingIndexes[step]++) {\n const result = list[firingIndexes[step]].apply(context, args);\n if (false === result && stopOnFalse) {\n break;\n }\n }\n firingIndexes.pop();\n};\nCallback.prototype.add = function (fn) {\n if (\"function\" === typeof fn && (!this._options.unique || !this.has(fn))) {\n this._list.push(fn);\n }\n return this;\n};\nCallback.prototype.remove = function (fn) {\n const list = this._list;\n const firingIndexes = this._firingIndexes;\n const index = list.indexOf(fn);\n if (index > -1) {\n list.splice(index, 1);\n if (this._firing && firingIndexes.length) {\n for (let step = 0; step < firingIndexes.length; step++) {\n if (index <= firingIndexes[step]) {\n firingIndexes[step]--;\n }\n }\n }\n }\n return this;\n};\nCallback.prototype.has = function (fn) {\n const list = this._list;\n return fn ? list.indexOf(fn) > -1 : !!list.length;\n};\nCallback.prototype.empty = function (fn) {\n this._list = [];\n return this;\n};\nCallback.prototype.fireWith = function (context, args) {\n const queue = this._queue;\n args = args || [];\n args = args.slice ? args.slice() : args;\n if (this._options.syncStrategy) {\n this._firing = true;\n this._fireCore(context, args);\n } else {\n queue.push([context, args]);\n if (this._firing) {\n return;\n }\n this._firing = true;\n while (queue.length) {\n const memory = queue.shift();\n this._fireCore(memory[0], memory[1]);\n }\n }\n this._firing = false;\n this._fired = true;\n return this;\n};\nCallback.prototype.fire = function () {\n this.fireWith(this, arguments);\n};\nCallback.prototype.fired = function () {\n return this._fired;\n};\nconst Callbacks = function (options) {\n return new Callback(options);\n};\nexport default Callbacks;","/**\r\n * DevExtreme (esm/core/utils/deferred.js)\r\n * Version: 24.1.7\r\n * Build date: Wed Oct 30 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\nimport { isDeferred, isDefined, isPromise } from \"../utils/type\";\nimport { extend } from \"../utils/extend\";\nimport Callbacks from \"../utils/callbacks\";\nconst deferredConfig = [{\n method: \"resolve\",\n handler: \"done\",\n state: \"resolved\"\n}, {\n method: \"reject\",\n handler: \"fail\",\n state: \"rejected\"\n}, {\n method: \"notify\",\n handler: \"progress\"\n}];\nlet DeferredObj = function () {\n const that = this;\n this._state = \"pending\";\n this._promise = {};\n deferredConfig.forEach(function (config) {\n const methodName = config.method;\n this[methodName + \"Callbacks\"] = Callbacks();\n this[methodName] = function () {\n return this[methodName + \"With\"](this._promise, arguments);\n }.bind(this);\n this._promise[config.handler] = function (handler) {\n if (!handler) {\n return this;\n }\n const callbacks = that[methodName + \"Callbacks\"];\n if (callbacks.fired()) {\n handler.apply(that[methodName + \"Context\"], that[methodName + \"Args\"]);\n } else {\n callbacks.add(function (context, args) {\n handler.apply(context, args);\n }.bind(this));\n }\n return this;\n };\n }.bind(this));\n this._promise.always = function (handler) {\n return this.done(handler).fail(handler);\n };\n this._promise.catch = function (handler) {\n return this.then(null, handler);\n };\n this._promise.then = function (resolve, reject) {\n const result = new DeferredObj();\n [\"done\", \"fail\"].forEach(function (method) {\n const callback = \"done\" === method ? resolve : reject;\n this[method](function () {\n if (!callback) {\n result[\"done\" === method ? \"resolve\" : \"reject\"].apply(this, arguments);\n return;\n }\n const callbackResult = callback && callback.apply(this, arguments);\n if (isDeferred(callbackResult)) {\n callbackResult.done(result.resolve).fail(result.reject);\n } else if (isPromise(callbackResult)) {\n callbackResult.then(result.resolve, result.reject);\n } else {\n result.resolve.apply(this, isDefined(callbackResult) ? [callbackResult] : arguments);\n }\n });\n }.bind(this));\n return result.promise();\n };\n this._promise.state = function () {\n return that._state;\n };\n this._promise.promise = function (args) {\n return args ? extend(args, that._promise) : that._promise;\n };\n this._promise.promise(this);\n};\ndeferredConfig.forEach(function (config) {\n const methodName = config.method;\n const state = config.state;\n DeferredObj.prototype[methodName + \"With\"] = function (context, args) {\n const callbacks = this[methodName + \"Callbacks\"];\n if (\"pending\" === this.state()) {\n this[methodName + \"Args\"] = args;\n this[methodName + \"Context\"] = context;\n if (state) {\n this._state = state;\n }\n callbacks.fire(context, args);\n if (\"pending\" !== state) {\n this.resolveCallbacks.empty();\n this.rejectCallbacks.empty();\n }\n }\n return this;\n };\n});\nexport function fromPromise(promise, context) {\n if (isDeferred(promise)) {\n return promise;\n } else if (isPromise(promise)) {\n const d = new DeferredObj();\n promise.then(function () {\n d.resolveWith.apply(d, [context].concat([[].slice.call(arguments)]));\n }, function () {\n d.rejectWith.apply(d, [context].concat([[].slice.call(arguments)]));\n });\n return d;\n }\n return new DeferredObj().resolveWith(context, [promise]);\n}\nlet whenFunc = function () {\n if (1 === arguments.length) {\n return fromPromise(arguments[0]);\n }\n const values = [].slice.call(arguments);\n const contexts = [];\n let resolvedCount = 0;\n const deferred = new DeferredObj();\n const updateState = function (i) {\n return function (value) {\n contexts[i] = this;\n values[i] = arguments.length > 1 ? [].slice.call(arguments) : value;\n resolvedCount++;\n if (resolvedCount === values.length) {\n deferred.resolveWith(contexts, values);\n }\n };\n };\n for (let i = 0; i < values.length; i++) {\n if (isDeferred(values[i])) {\n values[i].promise().done(updateState(i)).fail(deferred.reject);\n } else {\n resolvedCount++;\n }\n }\n if (resolvedCount === values.length) {\n deferred.resolveWith(contexts, values);\n }\n return deferred.promise();\n};\nexport function setStrategy(value) {\n DeferredObj = value.Deferred;\n whenFunc = value.when;\n}\nexport function Deferred() {\n return new DeferredObj();\n}\nexport function when() {\n return whenFunc.apply(this, arguments);\n}","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","/**\r\n * DevExtreme (esm/core/class.js)\r\n * Version: 24.1.7\r\n * Build date: Wed Oct 30 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\nimport errors from \"./errors\";\nimport { isWindow } from \"./utils/type\";\nconst wrapOverridden = function (baseProto, methodName, method) {\n return function () {\n const prevCallBase = this.callBase;\n this.callBase = baseProto[methodName];\n try {\n return method.apply(this, arguments);\n } finally {\n this.callBase = prevCallBase;\n }\n };\n};\nconst clonePrototype = function (obj) {\n const func = function () {};\n func.prototype = obj.prototype;\n return new func();\n};\nconst redefine = function (members) {\n const that = this;\n let overridden;\n let memberName;\n let member;\n if (!members) {\n return that;\n }\n for (memberName in members) {\n member = members[memberName];\n overridden = \"function\" === typeof that.prototype[memberName] && \"function\" === typeof member;\n that.prototype[memberName] = overridden ? wrapOverridden(that.parent.prototype, memberName, member) : member;\n }\n return that;\n};\nconst include = function () {\n const classObj = this;\n let argument;\n let name;\n let i;\n const hasClassObjOwnProperty = Object.prototype.hasOwnProperty.bind(classObj);\n const isES6Class = !hasClassObjOwnProperty(\"_includedCtors\") && !hasClassObjOwnProperty(\"_includedPostCtors\");\n if (isES6Class) {\n classObj._includedCtors = classObj._includedCtors.slice(0);\n classObj._includedPostCtors = classObj._includedPostCtors.slice(0);\n }\n for (i = 0; i < arguments.length; i++) {\n argument = arguments[i];\n if (argument.ctor) {\n classObj._includedCtors.push(argument.ctor);\n }\n if (argument.postCtor) {\n classObj._includedPostCtors.push(argument.postCtor);\n }\n for (name in argument) {\n if (\"ctor\" === name || \"postCtor\" === name || \"default\" === name) {\n continue;\n }\n classObj.prototype[name] = argument[name];\n }\n }\n return classObj;\n};\nconst subclassOf = function (parentClass) {\n const hasParentProperty = Object.prototype.hasOwnProperty.bind(this)(\"parent\");\n const isES6Class = !hasParentProperty && this.parent;\n if (isES6Class) {\n const baseClass = Object.getPrototypeOf(this);\n return baseClass === parentClass || baseClass.subclassOf(parentClass);\n } else {\n if (this.parent === parentClass) {\n return true;\n }\n if (!this.parent || !this.parent.subclassOf) {\n return false;\n }\n return this.parent.subclassOf(parentClass);\n }\n};\nconst abstract = function () {\n throw errors.Error(\"E0001\");\n};\nconst copyStatic = function () {\n const hasOwn = Object.prototype.hasOwnProperty;\n return function (source, destination) {\n for (const key in source) {\n if (!hasOwn.call(source, key)) {\n return;\n }\n destination[key] = source[key];\n }\n };\n}();\nconst classImpl = function () {};\nclassImpl.inherit = function (members) {\n const inheritor = function () {\n if (!this || isWindow(this) || \"function\" !== typeof this.constructor) {\n throw errors.Error(\"E0003\");\n }\n const instance = this;\n const ctor = instance.ctor;\n const includedCtors = instance.constructor._includedCtors;\n const includedPostCtors = instance.constructor._includedPostCtors;\n let i;\n for (i = 0; i < includedCtors.length; i++) {\n includedCtors[i].call(instance);\n }\n if (ctor) {\n ctor.apply(instance, arguments);\n }\n for (i = 0; i < includedPostCtors.length; i++) {\n includedPostCtors[i].call(instance);\n }\n };\n inheritor.prototype = clonePrototype(this);\n copyStatic(this, inheritor);\n inheritor.inherit = this.inherit;\n inheritor.abstract = abstract;\n inheritor.redefine = redefine;\n inheritor.include = include;\n inheritor.subclassOf = subclassOf;\n inheritor.parent = this;\n inheritor._includedCtors = this._includedCtors ? this._includedCtors.slice(0) : [];\n inheritor._includedPostCtors = this._includedPostCtors ? this._includedPostCtors.slice(0) : [];\n inheritor.prototype.constructor = inheritor;\n inheritor.redefine(members);\n return inheritor;\n};\nclassImpl.abstract = abstract;\nexport default classImpl;","/**\r\n * DevExtreme (esm/core/guid.js)\r\n * Version: 24.1.7\r\n * Build date: Wed Oct 30 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\nimport Class from \"./class\";\nconst Guid = Class.inherit({\n ctor: function (value) {\n if (value) {\n value = String(value);\n }\n this._value = this._normalize(value || this._generate());\n },\n _normalize: function (value) {\n value = value.replace(/[^a-f0-9]/gi, \"\").toLowerCase();\n while (value.length < 32) {\n value += \"0\";\n }\n return [value.substr(0, 8), value.substr(8, 4), value.substr(12, 4), value.substr(16, 4), value.substr(20, 12)].join(\"-\");\n },\n _generate: function () {\n let value = \"\";\n for (let i = 0; i < 32; i++) {\n value += Math.round(15 * Math.random()).toString(16);\n }\n return value;\n },\n toString: function () {\n return this._value;\n },\n valueOf: function () {\n return this._value;\n },\n toJSON: function () {\n return this._value;\n }\n});\nexport default Guid;","/**\r\n * DevExtreme (esm/core/utils/iterator.js)\r\n * Version: 24.1.7\r\n * Build date: Wed Oct 30 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\nconst map = (values, callback) => {\n if (Array.isArray(values)) {\n return values.map(callback);\n }\n const result = [];\n for (const key in values) {\n result.push(callback(values[key], key));\n }\n return result;\n};\nconst each = (values, callback) => {\n if (!values) {\n return;\n }\n if (\"length\" in values) {\n for (let i = 0; i < values.length; i++) {\n if (false === callback.call(values[i], i, values[i])) {\n break;\n }\n }\n } else {\n for (const key in values) {\n if (false === callback.call(values[key], key, values[key])) {\n break;\n }\n }\n }\n return values;\n};\nconst reverseEach = (array, callback) => {\n if (!array || !(\"length\" in array) || 0 === array.length) {\n return;\n }\n for (let i = array.length - 1; i >= 0; i--) {\n if (false === callback.call(array[i], i, array[i])) {\n break;\n }\n }\n};\nexport { map, each, reverseEach };","/**\r\n * DevExtreme (esm/core/utils/dependency_injector.js)\r\n * Version: 24.1.7\r\n * Build date: Wed Oct 30 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\nimport { extend } from \"./extend\";\nimport { isFunction } from \"./type\";\nimport { each } from \"./iterator\";\nimport Class from \"../class\";\nexport default function (object) {\n const BaseClass = Class.inherit(object);\n let InjectedClass = BaseClass;\n let instance = new InjectedClass(object);\n const initialFields = {};\n const injectFields = function (injectionObject, initial) {\n each(injectionObject, function (key) {\n if (isFunction(instance[key])) {\n if (initial || !object[key]) {\n object[key] = function () {\n return instance[key].apply(object, arguments);\n };\n }\n } else {\n if (initial) {\n initialFields[key] = object[key];\n }\n object[key] = instance[key];\n }\n });\n };\n injectFields(object, true);\n object.inject = function (injectionObject) {\n InjectedClass = InjectedClass.inherit(injectionObject);\n instance = new InjectedClass();\n injectFields(injectionObject);\n };\n object.resetInjection = function () {\n extend(object, initialFields);\n InjectedClass = BaseClass;\n instance = new BaseClass();\n };\n return object;\n}","/**\r\n * DevExtreme (esm/core/utils/variable_wrapper.js)\r\n * Version: 24.1.7\r\n * Build date: Wed Oct 30 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\nimport { logger } from \"./console\";\nimport dependencyInjector from \"./dependency_injector\";\nexport default dependencyInjector({\n isWrapped: function () {\n return false;\n },\n isWritableWrapped: function () {\n return false;\n },\n wrap: function (value) {\n return value;\n },\n unwrap: function (value) {\n return value;\n },\n assign: function () {\n logger.error(\"Method 'assign' should not be used for not wrapped variables. Use 'isWrapped' method for ensuring.\");\n }\n});","/**\r\n * DevExtreme (esm/core/utils/object.js)\r\n * Version: 24.1.7\r\n * Build date: Wed Oct 30 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\nimport { isNumeric, isPlainObject, isObject } from \"./type\";\nimport variableWrapper from \"./variable_wrapper\";\nconst clone = function () {\n function Clone() {}\n return function (obj) {\n Clone.prototype = obj;\n return new Clone();\n };\n}();\nconst orderEach = function (map, func) {\n const keys = [];\n let key;\n let i;\n for (key in map) {\n if (Object.prototype.hasOwnProperty.call(map, key)) {\n keys.push(key);\n }\n }\n keys.sort(function (x, y) {\n const isNumberX = isNumeric(x);\n const isNumberY = isNumeric(y);\n if (isNumberX && isNumberY) {\n return x - y;\n }\n if (isNumberX && !isNumberY) {\n return -1;\n }\n if (!isNumberX && isNumberY) {\n return 1;\n }\n if (x < y) {\n return -1;\n }\n if (x > y) {\n return 1;\n }\n return 0;\n });\n for (i = 0; i < keys.length; i++) {\n key = keys[i];\n func(key, map[key]);\n }\n};\nconst assignValueToProperty = function (target, property, value, assignByReference) {\n if (!assignByReference && variableWrapper.isWrapped(target[property])) {\n variableWrapper.assign(target[property], value);\n } else {\n target[property] = value;\n }\n};\nconst deepExtendArraySafe = function (target, changes, extendComplexObject, assignByReference) {\n let prevValue;\n let newValue;\n for (const name in changes) {\n prevValue = target[name];\n newValue = changes[name];\n if (\"__proto__\" === name || \"constructor\" === name || target === newValue) {\n continue;\n }\n if (isPlainObject(newValue)) {\n const goDeeper = extendComplexObject ? isObject(prevValue) : isPlainObject(prevValue);\n newValue = deepExtendArraySafe(goDeeper ? prevValue : {}, newValue, extendComplexObject, assignByReference);\n }\n if (void 0 !== newValue && prevValue !== newValue) {\n assignValueToProperty(target, name, newValue, assignByReference);\n }\n }\n return target;\n};\nexport { clone, orderEach, deepExtendArraySafe };","/**\r\n * DevExtreme (esm/core/utils/data.js)\r\n * Version: 24.1.7\r\n * Build date: Wed Oct 30 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\nimport errors from \"../errors\";\nimport Class from \"../class\";\nimport { deepExtendArraySafe } from \"./object\";\nimport { isObject, isPlainObject, isFunction, isDefined } from \"./type\";\nimport { each } from \"./iterator\";\nimport variableWrapper from \"./variable_wrapper\";\nconst unwrapVariable = variableWrapper.unwrap;\nconst isWrapped = variableWrapper.isWrapped;\nconst assign = variableWrapper.assign;\nconst bracketsToDots = function (expr) {\n return expr.replace(/\\[/g, \".\").replace(/\\]/g, \"\");\n};\nexport const getPathParts = function (name) {\n return bracketsToDots(name).split(\".\");\n};\nconst readPropValue = function (obj, propName, options) {\n options = options || {};\n if (\"this\" === propName) {\n return unwrap(obj, options);\n }\n return unwrap(obj[propName], options);\n};\nconst assignPropValue = function (obj, propName, value, options) {\n if (\"this\" === propName) {\n throw new errors.Error(\"E4016\");\n }\n const propValue = obj[propName];\n if (options.unwrapObservables && isWrapped(propValue)) {\n assign(propValue, value);\n } else {\n obj[propName] = value;\n }\n};\nconst prepareOptions = function (options) {\n options = options || {};\n options.unwrapObservables = void 0 !== options.unwrapObservables ? options.unwrapObservables : true;\n return options;\n};\nfunction unwrap(value, options) {\n return options.unwrapObservables ? unwrapVariable(value) : value;\n}\nexport const compileGetter = function (expr) {\n if (arguments.length > 1) {\n expr = [].slice.call(arguments);\n }\n if (!expr || \"this\" === expr) {\n return function (obj) {\n return obj;\n };\n }\n if (\"string\" === typeof expr) {\n const path = getPathParts(expr);\n return function (obj, options) {\n options = prepareOptions(options);\n const functionAsIs = options.functionsAsIs;\n const hasDefaultValue = \"defaultValue\" in options;\n let current = unwrap(obj, options);\n for (let i = 0; i < path.length; i++) {\n if (!current) {\n if (null == current && hasDefaultValue) {\n return options.defaultValue;\n }\n break;\n }\n const pathPart = path[i];\n if (hasDefaultValue && isObject(current) && !(pathPart in current)) {\n return options.defaultValue;\n }\n let next = unwrap(current[pathPart], options);\n if (!functionAsIs && isFunction(next)) {\n next = next.call(current);\n }\n current = next;\n }\n return current;\n };\n }\n if (Array.isArray(expr)) {\n return combineGetters(expr);\n }\n if (isFunction(expr)) {\n return expr;\n }\n};\nfunction combineGetters(getters) {\n const compiledGetters = {};\n for (let i = 0, l = getters.length; i < l; i++) {\n const getter = getters[i];\n compiledGetters[getter] = compileGetter(getter);\n }\n return function (obj, options) {\n let result;\n each(compiledGetters, function (name) {\n const value = this(obj, options);\n if (void 0 === value) {\n return;\n }\n let current = result || (result = {});\n const path = name.split(\".\");\n const last = path.length - 1;\n for (let i = 0; i < last; i++) {\n const pathItem = path[i];\n if (!(pathItem in current)) {\n current[pathItem] = {};\n }\n current = current[pathItem];\n }\n current[path[last]] = value;\n });\n return result;\n };\n}\nfunction toLowerCase(value, options) {\n return null !== options && void 0 !== options && options.locale ? value.toLocaleLowerCase(options.locale) : value.toLowerCase();\n}\nfunction toUpperCase(value, options) {\n return null !== options && void 0 !== options && options.locale ? value.toLocaleUpperCase(options.locale) : value.toUpperCase();\n}\nconst ensurePropValueDefined = function (obj, propName, value, options) {\n if (isDefined(value)) {\n return value;\n }\n const newValue = {};\n assignPropValue(obj, propName, newValue, options);\n return newValue;\n};\nexport const compileSetter = function (expr) {\n expr = getPathParts(expr || \"this\");\n const lastLevelIndex = expr.length - 1;\n return function (obj, value, options) {\n options = prepareOptions(options);\n let currentValue = unwrap(obj, options);\n expr.forEach(function (propertyName, levelIndex) {\n let propertyValue = readPropValue(currentValue, propertyName, options);\n const isPropertyFunc = !options.functionsAsIs && isFunction(propertyValue) && !isWrapped(propertyValue);\n if (levelIndex === lastLevelIndex) {\n if (options.merge && isPlainObject(value) && (!isDefined(propertyValue) || isPlainObject(propertyValue))) {\n propertyValue = ensurePropValueDefined(currentValue, propertyName, propertyValue, options);\n deepExtendArraySafe(propertyValue, value, false, true);\n } else if (isPropertyFunc) {\n currentValue[propertyName](value);\n } else {\n assignPropValue(currentValue, propertyName, value, options);\n }\n } else {\n propertyValue = ensurePropValueDefined(currentValue, propertyName, propertyValue, options);\n if (isPropertyFunc) {\n propertyValue = propertyValue.call(currentValue);\n }\n currentValue = propertyValue;\n }\n });\n };\n};\nexport const toComparable = function (value, caseSensitive) {\n var _options$collatorOpti;\n let options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\n if (value instanceof Date) {\n return value.getTime();\n }\n if (value && value instanceof Class && value.valueOf) {\n return value.valueOf();\n }\n const isCaseSensitive = \"case\" === (null === options || void 0 === options || null === (_options$collatorOpti = options.collatorOptions) || void 0 === _options$collatorOpti ? void 0 : _options$collatorOpti.sensitivity) || caseSensitive;\n if (!isCaseSensitive && \"string\" === typeof value) {\n var _options$collatorOpti2, _options$locale;\n if (\"base\" === (null === options || void 0 === options || null === (_options$collatorOpti2 = options.collatorOptions) || void 0 === _options$collatorOpti2 ? void 0 : _options$collatorOpti2.sensitivity)) {\n const REMOVE_DIACRITICAL_MARKS_REGEXP = /[\\u0300-\\u036f]/g;\n value = value.normalize(\"NFD\").replace(REMOVE_DIACRITICAL_MARKS_REGEXP, \"\");\n }\n const locale = null === options || void 0 === options || null === (_options$locale = options.locale) || void 0 === _options$locale ? void 0 : _options$locale.toLowerCase();\n const useUpperCase = locale && !![\"hy\", \"el\"].find(code => locale === code || locale.startsWith(`${code}-`));\n return (useUpperCase ? toUpperCase : toLowerCase)(value, options);\n }\n return value;\n};","/**\r\n * DevExtreme (esm/core/utils/common.js)\r\n * Version: 24.1.7\r\n * Build date: Wed Oct 30 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport config from \"../config\";\nimport Guid from \"../guid\";\nimport { when, Deferred } from \"../utils/deferred\";\nimport { toComparable } from \"./data\";\nimport { each } from \"./iterator\";\nimport { isDefined, isFunction, isString, isObject, type } from \"./type\";\nexport const ensureDefined = function (value, defaultValue) {\n return isDefined(value) ? value : defaultValue;\n};\nexport const executeAsync = function (action, context) {\n const deferred = new Deferred();\n const normalizedContext = context || this;\n const task = {\n promise: deferred.promise(),\n abort: function () {\n clearTimeout(timerId);\n deferred.rejectWith(normalizedContext);\n }\n };\n const timerId = (arguments[2] || setTimeout)(function () {\n const result = action.call(normalizedContext);\n if (result && result.done && isFunction(result.done)) {\n result.done(function () {\n deferred.resolveWith(normalizedContext);\n });\n } else {\n deferred.resolveWith(normalizedContext);\n }\n }, \"number\" === typeof context ? context : 0);\n return task;\n};\nconst delayedFuncs = [];\nconst delayedNames = [];\nconst delayedDeferreds = [];\nlet executingName;\nconst deferExecute = function (name, func, deferred) {\n if (executingName && executingName !== name) {\n delayedFuncs.push(func);\n delayedNames.push(name);\n deferred = deferred || new Deferred();\n delayedDeferreds.push(deferred);\n return deferred;\n } else {\n const oldExecutingName = executingName;\n const currentDelayedCount = delayedDeferreds.length;\n executingName = name;\n let result = func();\n if (!result) {\n if (delayedDeferreds.length > currentDelayedCount) {\n result = when.apply(this, delayedDeferreds.slice(currentDelayedCount));\n } else if (deferred) {\n deferred.resolve();\n }\n }\n executingName = oldExecutingName;\n if (deferred && result && result.done) {\n result.done(deferred.resolve).fail(deferred.reject);\n }\n if (!executingName && delayedFuncs.length) {\n (\"render\" === delayedNames.shift() ? deferRender : deferUpdate)(delayedFuncs.shift(), delayedDeferreds.shift());\n }\n return result || when();\n }\n};\nexport const deferRender = function (func, deferred) {\n return deferExecute(\"render\", func, deferred);\n};\nexport const deferUpdate = function (func, deferred) {\n return deferExecute(\"update\", func, deferred);\n};\nexport const deferRenderer = function (func) {\n return function () {\n const that = this;\n return deferExecute(\"render\", function () {\n return func.call(that);\n });\n };\n};\nexport const deferUpdater = function (func) {\n return function () {\n const that = this;\n return deferExecute(\"update\", function () {\n return func.call(that);\n });\n };\n};\nexport const findBestMatches = function (targetFilter, items, mapFn) {\n const bestMatches = [];\n let maxMatchCount = 0;\n each(items, (index, itemSrc) => {\n let matchCount = 0;\n const item = mapFn ? mapFn(itemSrc) : itemSrc;\n each(targetFilter, (paramName, targetValue) => {\n const value = item[paramName];\n if (void 0 === value) {\n return;\n }\n if (match(value, targetValue)) {\n matchCount++;\n return;\n }\n matchCount = -1;\n return false;\n });\n if (matchCount < maxMatchCount) {\n return;\n }\n if (matchCount > maxMatchCount) {\n bestMatches.length = 0;\n maxMatchCount = matchCount;\n }\n bestMatches.push(itemSrc);\n });\n return bestMatches;\n};\nconst match = function (value, targetValue) {\n if (Array.isArray(value) && Array.isArray(targetValue)) {\n let mismatch = false;\n each(value, (index, valueItem) => {\n if (valueItem !== targetValue[index]) {\n mismatch = true;\n return false;\n }\n });\n if (mismatch) {\n return false;\n }\n return true;\n }\n if (value === targetValue) {\n return true;\n }\n return false;\n};\nexport const splitPair = function (raw) {\n switch (type(raw)) {\n case \"string\":\n return raw.split(/\\s+/, 2);\n case \"object\":\n return [raw.x ?? raw.h, raw.y ?? raw.v];\n case \"number\":\n return [raw];\n case \"array\":\n return raw;\n default:\n return null;\n }\n};\nexport const normalizeKey = function (id) {\n let key = isString(id) ? id : id.toString();\n const arr = key.match(/[^a-zA-Z0-9_]/g);\n arr && each(arr, (_, sign) => {\n key = key.replace(sign, \"__\" + sign.charCodeAt() + \"__\");\n });\n return key;\n};\nexport const denormalizeKey = function (key) {\n const arr = key.match(/__\\d+__/g);\n arr && arr.forEach(char => {\n const charCode = parseInt(char.replace(\"__\", \"\"));\n key = key.replace(char, String.fromCharCode(charCode));\n });\n return key;\n};\nexport const pairToObject = function (raw, preventRound) {\n const pair = splitPair(raw);\n let h = preventRound ? parseFloat(pair && pair[0]) : parseInt(pair && pair[0], 10);\n let v = preventRound ? parseFloat(pair && pair[1]) : parseInt(pair && pair[1], 10);\n if (!isFinite(h)) {\n h = 0;\n }\n if (!isFinite(v)) {\n v = h;\n }\n return {\n h: h,\n v: v\n };\n};\nexport const getKeyHash = function (key) {\n if (key instanceof Guid) {\n return key.toString();\n } else if (isObject(key) || Array.isArray(key)) {\n try {\n const keyHash = JSON.stringify(key);\n return \"{}\" === keyHash ? key : keyHash;\n } catch (e) {\n return key;\n }\n }\n return key;\n};\nexport const escapeRegExp = function (string) {\n return string.replace(/[[\\]{}\\-()*+?.\\\\^$|\\s]/g, \"\\\\$&\");\n};\nexport const applyServerDecimalSeparator = function (value) {\n const separator = config().serverDecimalSeparator;\n if (isDefined(value)) {\n value = value.toString().replace(\".\", separator);\n }\n return value;\n};\nexport const noop = function () {};\nexport const asyncNoop = function () {\n return new Deferred().resolve().promise();\n};\nexport const grep = function (elements, checkFunction, invert) {\n const result = [];\n let check;\n const expectedCheck = !invert;\n for (let i = 0; i < elements.length; i++) {\n check = !!checkFunction(elements[i], i);\n if (check === expectedCheck) {\n result.push(elements[i]);\n }\n }\n return result;\n};\nconst compareArrays = (array1, array2, depth, options) => {\n if (array1.length !== array2.length) {\n return false;\n }\n return !array1.some((item, idx) => !compareByValue(item, array2[idx], depth + 1, _extends({}, options, {\n strict: true\n })));\n};\nconst compareObjects = (object1, object2, depth, options) => {\n const keys1 = Object.keys(object1);\n const keys2 = Object.keys(object2);\n if (keys1.length !== keys2.length) {\n return false;\n }\n const keys2Set = new Set(keys2);\n return !keys1.some(key => !keys2Set.has(key) || !compareByValue(object1[key], object2[key], depth + 1, options));\n};\nconst DEFAULT_EQUAL_BY_VALUE_OPTS = {\n maxDepth: 3,\n strict: true\n};\nconst compareByValue = (value1, value2, depth, options) => {\n const {\n strict: strict,\n maxDepth: maxDepth\n } = options;\n const comparable1 = toComparable(value1, true);\n const comparable2 = toComparable(value2, true);\n const comparisonResult = strict ? comparable1 === comparable2 : comparable1 == comparable2;\n switch (true) {\n case comparisonResult:\n case depth >= maxDepth:\n return true;\n case isObject(comparable1) && isObject(comparable2):\n return compareObjects(comparable1, comparable2, depth, options);\n case Array.isArray(comparable1) && Array.isArray(comparable2):\n return compareArrays(comparable1, comparable2, depth, options);\n default:\n return false;\n }\n};\nexport const equalByValue = function (value1, value2) {\n let options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : DEFAULT_EQUAL_BY_VALUE_OPTS;\n const compareOptions = _extends({}, DEFAULT_EQUAL_BY_VALUE_OPTS, options);\n return compareByValue(value1, value2, 0, compareOptions);\n};","/**\r\n * DevExtreme (esm/localization/cldr-data/parent_locales.js)\r\n * Version: 24.1.7\r\n * Build date: Wed Oct 30 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\n// !!! AUTO-GENERATED FILE, DO NOT EDIT\nexport default {\n \"en-150\": \"en-001\",\n \"en-AG\": \"en-001\",\n \"en-AI\": \"en-001\",\n \"en-AU\": \"en-001\",\n \"en-BB\": \"en-001\",\n \"en-BM\": \"en-001\",\n \"en-BS\": \"en-001\",\n \"en-BW\": \"en-001\",\n \"en-BZ\": \"en-001\",\n \"en-CC\": \"en-001\",\n \"en-CK\": \"en-001\",\n \"en-CM\": \"en-001\",\n \"en-CX\": \"en-001\",\n \"en-CY\": \"en-001\",\n \"en-DG\": \"en-001\",\n \"en-DM\": \"en-001\",\n \"en-ER\": \"en-001\",\n \"en-FJ\": \"en-001\",\n \"en-FK\": \"en-001\",\n \"en-FM\": \"en-001\",\n \"en-GB\": \"en-001\",\n \"en-GD\": \"en-001\",\n \"en-GG\": \"en-001\",\n \"en-GH\": \"en-001\",\n \"en-GI\": \"en-001\",\n \"en-GM\": \"en-001\",\n \"en-GY\": \"en-001\",\n \"en-HK\": \"en-001\",\n \"en-IE\": \"en-001\",\n \"en-IL\": \"en-001\",\n \"en-IM\": \"en-001\",\n \"en-IN\": \"en-001\",\n \"en-IO\": \"en-001\",\n \"en-JE\": \"en-001\",\n \"en-JM\": \"en-001\",\n \"en-KE\": \"en-001\",\n \"en-KI\": \"en-001\",\n \"en-KN\": \"en-001\",\n \"en-KY\": \"en-001\",\n \"en-LC\": \"en-001\",\n \"en-LR\": \"en-001\",\n \"en-LS\": \"en-001\",\n \"en-MG\": \"en-001\",\n \"en-MO\": \"en-001\",\n \"en-MS\": \"en-001\",\n \"en-MT\": \"en-001\",\n \"en-MU\": \"en-001\",\n \"en-MV\": \"en-001\",\n \"en-MW\": \"en-001\",\n \"en-MY\": \"en-001\",\n \"en-NA\": \"en-001\",\n \"en-NF\": \"en-001\",\n \"en-NG\": \"en-001\",\n \"en-NR\": \"en-001\",\n \"en-NU\": \"en-001\",\n \"en-NZ\": \"en-001\",\n \"en-PG\": \"en-001\",\n \"en-PK\": \"en-001\",\n \"en-PN\": \"en-001\",\n \"en-PW\": \"en-001\",\n \"en-RW\": \"en-001\",\n \"en-SB\": \"en-001\",\n \"en-SC\": \"en-001\",\n \"en-SD\": \"en-001\",\n \"en-SG\": \"en-001\",\n \"en-SH\": \"en-001\",\n \"en-SL\": \"en-001\",\n \"en-SS\": \"en-001\",\n \"en-SX\": \"en-001\",\n \"en-SZ\": \"en-001\",\n \"en-TC\": \"en-001\",\n \"en-TK\": \"en-001\",\n \"en-TO\": \"en-001\",\n \"en-TT\": \"en-001\",\n \"en-TV\": \"en-001\",\n \"en-TZ\": \"en-001\",\n \"en-UG\": \"en-001\",\n \"en-VC\": \"en-001\",\n \"en-VG\": \"en-001\",\n \"en-VU\": \"en-001\",\n \"en-WS\": \"en-001\",\n \"en-ZA\": \"en-001\",\n \"en-ZM\": \"en-001\",\n \"en-ZW\": \"en-001\",\n \"en-AT\": \"en-150\",\n \"en-BE\": \"en-150\",\n \"en-CH\": \"en-150\",\n \"en-DE\": \"en-150\",\n \"en-DK\": \"en-150\",\n \"en-FI\": \"en-150\",\n \"en-NL\": \"en-150\",\n \"en-SE\": \"en-150\",\n \"en-SI\": \"en-150\",\n \"hi-Latn\": \"en-IN\",\n \"es-AR\": \"es-419\",\n \"es-BO\": \"es-419\",\n \"es-BR\": \"es-419\",\n \"es-BZ\": \"es-419\",\n \"es-CL\": \"es-419\",\n \"es-CO\": \"es-419\",\n \"es-CR\": \"es-419\",\n \"es-CU\": \"es-419\",\n \"es-DO\": \"es-419\",\n \"es-EC\": \"es-419\",\n \"es-GT\": \"es-419\",\n \"es-HN\": \"es-419\",\n \"es-MX\": \"es-419\",\n \"es-NI\": \"es-419\",\n \"es-PA\": \"es-419\",\n \"es-PE\": \"es-419\",\n \"es-PR\": \"es-419\",\n \"es-PY\": \"es-419\",\n \"es-SV\": \"es-419\",\n \"es-US\": \"es-419\",\n \"es-UY\": \"es-419\",\n \"es-VE\": \"es-419\",\n nb: \"no\",\n nn: \"no\",\n \"pt-AO\": \"pt-PT\",\n \"pt-CH\": \"pt-PT\",\n \"pt-CV\": \"pt-PT\",\n \"pt-FR\": \"pt-PT\",\n \"pt-GQ\": \"pt-PT\",\n \"pt-GW\": \"pt-PT\",\n \"pt-LU\": \"pt-PT\",\n \"pt-MO\": \"pt-PT\",\n \"pt-MZ\": \"pt-PT\",\n \"pt-ST\": \"pt-PT\",\n \"pt-TL\": \"pt-PT\",\n \"az-Arab\": \"und\",\n \"az-Cyrl\": \"und\",\n \"bal-Latn\": \"und\",\n \"blt-Latn\": \"und\",\n \"bm-Nkoo\": \"und\",\n \"bs-Cyrl\": \"und\",\n \"byn-Latn\": \"und\",\n \"cu-Glag\": \"und\",\n \"dje-Arab\": \"und\",\n \"dyo-Arab\": \"und\",\n \"en-Dsrt\": \"und\",\n \"en-Shaw\": \"und\",\n \"ff-Adlm\": \"und\",\n \"ff-Arab\": \"und\",\n \"ha-Arab\": \"und\",\n \"iu-Latn\": \"und\",\n \"kk-Arab\": \"und\",\n \"ks-Deva\": \"und\",\n \"ku-Arab\": \"und\",\n \"ky-Arab\": \"und\",\n \"ky-Latn\": \"und\",\n \"ml-Arab\": \"und\",\n \"mn-Mong\": \"und\",\n \"mni-Mtei\": \"und\",\n \"ms-Arab\": \"und\",\n \"pa-Arab\": \"und\",\n \"sat-Deva\": \"und\",\n \"sd-Deva\": \"und\",\n \"sd-Khoj\": \"und\",\n \"sd-Sind\": \"und\",\n \"shi-Latn\": \"und\",\n \"so-Arab\": \"und\",\n \"sr-Latn\": \"und\",\n \"sw-Arab\": \"und\",\n \"tg-Arab\": \"und\",\n \"ug-Cyrl\": \"und\",\n \"uz-Arab\": \"und\",\n \"uz-Cyrl\": \"und\",\n \"vai-Latn\": \"und\",\n \"wo-Arab\": \"und\",\n \"yo-Arab\": \"und\",\n \"yue-Hans\": \"und\",\n \"zh-Hant\": \"und\",\n \"zh-Hant-MO\": \"zh-Hant-HK\"\n};","/**\r\n * DevExtreme (esm/localization/parentLocale.js)\r\n * Version: 24.1.7\r\n * Build date: Wed Oct 30 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\nconst PARENT_LOCALE_SEPARATOR = \"-\";\nexport default ((parentLocales, locale) => {\n const parentLocale = parentLocales[locale];\n if (parentLocale) {\n return \"root\" !== parentLocale && parentLocale;\n }\n return locale.substr(0, locale.lastIndexOf(\"-\"));\n});","/**\r\n * DevExtreme (esm/localization/core.js)\r\n * Version: 24.1.7\r\n * Build date: Wed Oct 30 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\nimport dependencyInjector from \"../core/utils/dependency_injector\";\nimport parentLocales from \"./cldr-data/parent_locales\";\nimport getParentLocale from \"./parentLocale\";\nconst DEFAULT_LOCALE = \"en\";\nexport default dependencyInjector({\n locale: (() => {\n let currentLocale = \"en\";\n return locale => {\n if (!locale) {\n return currentLocale;\n }\n currentLocale = locale;\n };\n })(),\n getValueByClosestLocale: function (getter) {\n let locale = this.locale();\n let value = getter(locale);\n let isRootLocale;\n while (!value && !isRootLocale) {\n locale = getParentLocale(parentLocales, locale);\n if (locale) {\n value = getter(locale);\n } else {\n isRootLocale = true;\n }\n }\n if (void 0 === value && \"en\" !== locale) {\n return getter(\"en\");\n }\n return value;\n }\n});","/**\r\n * DevExtreme (esm/core/utils/inflector.js)\r\n * Version: 24.1.7\r\n * Build date: Wed Oct 30 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\nimport { map } from \"./iterator\";\nconst _normalize = function (text) {\n if (void 0 === text || null === text) {\n return \"\";\n }\n return String(text);\n};\nconst _upperCaseFirst = function (text) {\n return _normalize(text).charAt(0).toUpperCase() + text.substr(1);\n};\nconst _chop = function (text) {\n return _normalize(text).replace(/([a-z\\d])([A-Z])/g, \"$1 $2\").split(/[\\s_-]+/);\n};\nexport const dasherize = function (text) {\n return map(_chop(text), function (p) {\n return p.toLowerCase();\n }).join(\"-\");\n};\nexport const underscore = function (text) {\n return dasherize(text).replace(/-/g, \"_\");\n};\nexport const camelize = function (text, upperFirst) {\n return map(_chop(text), function (p, i) {\n p = p.toLowerCase();\n if (upperFirst || i > 0) {\n p = _upperCaseFirst(p);\n }\n return p;\n }).join(\"\");\n};\nexport const humanize = function (text) {\n return _upperCaseFirst(dasherize(text).replace(/-/g, \" \"));\n};\nexport const titleize = function (text) {\n return map(_chop(text), function (p) {\n return _upperCaseFirst(p.toLowerCase());\n }).join(\" \");\n};\nconst DIGIT_CHARS = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"];\nexport const captionize = function (name) {\n const captionList = [];\n let i;\n let char;\n let isPrevCharNewWord = false;\n let isNewWord = false;\n for (i = 0; i < name.length; i++) {\n char = name.charAt(i);\n isNewWord = char === char.toUpperCase() && \"-\" !== char && \")\" !== char && \"/\" !== char || char in DIGIT_CHARS;\n if (\"_\" === char || \".\" === char) {\n char = \" \";\n isNewWord = true;\n } else if (0 === i) {\n char = char.toUpperCase();\n isNewWord = true;\n } else if (!isPrevCharNewWord && isNewWord) {\n if (captionList.length > 0) {\n captionList.push(\" \");\n }\n }\n captionList.push(char);\n isPrevCharNewWord = isNewWord;\n }\n return captionList.join(\"\");\n};","/**\r\n * DevExtreme (esm/localization/default_messages.js)\r\n * Version: 24.1.7\r\n * Build date: Wed Oct 30 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\n// !!! AUTO-GENERATED FILE, DO NOT EDIT\nexport const defaultMessages = {\n en: {\n Yes: \"Yes\",\n No: \"No\",\n Cancel: \"Cancel\",\n CheckState: \"Check state\",\n Close: \"Close\",\n Clear: \"Clear\",\n Done: \"Done\",\n Loading: \"Loading...\",\n Select: \"Select...\",\n Search: \"Search\",\n Back: \"Back\",\n OK: \"OK\",\n \"dxCollectionWidget-noDataText\": \"No data to display\",\n \"dxDropDownEditor-selectLabel\": \"Select\",\n \"validation-required\": \"Required\",\n \"validation-required-formatted\": \"{0} is required\",\n \"validation-numeric\": \"Value must be a number\",\n \"validation-numeric-formatted\": \"{0} must be a number\",\n \"validation-range\": \"Value is out of range\",\n \"validation-range-formatted\": \"{0} is out of range\",\n \"validation-stringLength\": \"The length of the value is not correct\",\n \"validation-stringLength-formatted\": \"The length of {0} is not correct\",\n \"validation-custom\": \"Value is invalid\",\n \"validation-custom-formatted\": \"{0} is invalid\",\n \"validation-async\": \"Value is invalid\",\n \"validation-async-formatted\": \"{0} is invalid\",\n \"validation-compare\": \"Values do not match\",\n \"validation-compare-formatted\": \"{0} does not match\",\n \"validation-pattern\": \"Value does not match pattern\",\n \"validation-pattern-formatted\": \"{0} does not match pattern\",\n \"validation-email\": \"Email is invalid\",\n \"validation-email-formatted\": \"{0} is invalid\",\n \"validation-mask\": \"Value is invalid\",\n \"dxLookup-searchPlaceholder\": \"Minimum character number: {0}\",\n \"dxList-pullingDownText\": \"Pull down to refresh...\",\n \"dxList-pulledDownText\": \"Release to refresh...\",\n \"dxList-refreshingText\": \"Refreshing...\",\n \"dxList-pageLoadingText\": \"Loading...\",\n \"dxList-nextButtonText\": \"More\",\n \"dxList-selectAll\": \"Select All\",\n \"dxList-listAriaLabel\": \"Items\",\n \"dxList-listAriaLabel-deletable\": \"Deletable items\",\n \"dxListEditDecorator-delete\": \"Delete\",\n \"dxListEditDecorator-more\": \"More\",\n \"dxList-selectAll-indeterminate\": \"Half-checked\",\n \"dxList-selectAll-checked\": \"Checked\",\n \"dxList-selectAll-notChecked\": \"Not checked\",\n \"dxScrollView-pullingDownText\": \"Pull down to refresh...\",\n \"dxScrollView-pulledDownText\": \"Release to refresh...\",\n \"dxScrollView-refreshingText\": \"Refreshing...\",\n \"dxScrollView-reachBottomText\": \"Loading...\",\n \"dxDateBox-simulatedDataPickerTitleTime\": \"Select time\",\n \"dxDateBox-simulatedDataPickerTitleDate\": \"Select date\",\n \"dxDateBox-simulatedDataPickerTitleDateTime\": \"Select date and time\",\n \"dxDateBox-validation-datetime\": \"Value must be a date or time\",\n \"dxDateRangeBox-invalidStartDateMessage\": \"Start value must be a date\",\n \"dxDateRangeBox-invalidEndDateMessage\": \"End value must be a date\",\n \"dxDateRangeBox-startDateOutOfRangeMessage\": \"Start date is out of range\",\n \"dxDateRangeBox-endDateOutOfRangeMessage\": \"End date is out of range\",\n \"dxDateRangeBox-startDateLabel\": \"Start Date\",\n \"dxDateRangeBox-endDateLabel\": \"End Date\",\n \"dxFileUploader-selectFile\": \"Select a file\",\n \"dxFileUploader-dropFile\": \"or Drop a file here\",\n \"dxFileUploader-bytes\": \"bytes\",\n \"dxFileUploader-kb\": \"KB\",\n \"dxFileUploader-Mb\": \"MB\",\n \"dxFileUploader-Gb\": \"GB\",\n \"dxFileUploader-upload\": \"Upload\",\n \"dxFileUploader-uploaded\": \"Uploaded\",\n \"dxFileUploader-readyToUpload\": \"Ready to upload\",\n \"dxFileUploader-uploadAbortedMessage\": \"Upload cancelled\",\n \"dxFileUploader-uploadFailedMessage\": \"Upload failed\",\n \"dxFileUploader-invalidFileExtension\": \"File type is not allowed\",\n \"dxFileUploader-invalidMaxFileSize\": \"File is too large\",\n \"dxFileUploader-invalidMinFileSize\": \"File is too small\",\n \"dxRangeSlider-ariaFrom\": \"From\",\n \"dxRangeSlider-ariaTill\": \"Till\",\n \"dxSwitch-switchedOnText\": \"ON\",\n \"dxSwitch-switchedOffText\": \"OFF\",\n \"dxForm-optionalMark\": \"optional\",\n \"dxForm-requiredMessage\": \"{0} is required\",\n \"dxNumberBox-invalidValueMessage\": \"Value must be a number\",\n \"dxNumberBox-noDataText\": \"No data\",\n \"dxDataGrid-emptyHeaderWithColumnChooserText\": \"Use {0} to display columns\",\n \"dxDataGrid-emptyHeaderWithGroupPanelText\": \"Drag a column from the group panel here\",\n \"dxDataGrid-emptyHeaderWithColumnChooserAndGroupPanelText\": \"Use {0} or drag a column from the group panel\",\n \"dxDataGrid-emptyHeaderColumnChooserText\": \"column chooser\",\n \"dxDataGrid-columnChooserTitle\": \"Column Chooser\",\n \"dxDataGrid-columnChooserEmptyText\": \"Drag a column here to hide it\",\n \"dxDataGrid-groupContinuesMessage\": \"Continues on the next page\",\n \"dxDataGrid-groupContinuedMessage\": \"Continued from the previous page\",\n \"dxDataGrid-groupHeaderText\": \"Group by This Column\",\n \"dxDataGrid-ungroupHeaderText\": \"Ungroup\",\n \"dxDataGrid-ungroupAllText\": \"Ungroup All\",\n \"dxDataGrid-editingEditRow\": \"Edit\",\n \"dxDataGrid-editingSaveRowChanges\": \"Save\",\n \"dxDataGrid-editingCancelRowChanges\": \"Cancel\",\n \"dxDataGrid-editingDeleteRow\": \"Delete\",\n \"dxDataGrid-editingUndeleteRow\": \"Undelete\",\n \"dxDataGrid-editingConfirmDeleteMessage\": \"Are you sure you want to delete this record?\",\n \"dxDataGrid-validationCancelChanges\": \"Cancel changes\",\n \"dxDataGrid-groupPanelEmptyText\": \"Drag a column header here to group by that column\",\n \"dxDataGrid-noDataText\": \"No data\",\n \"dxDataGrid-searchPanelPlaceholder\": \"Search...\",\n \"dxDataGrid-filterRowShowAllText\": \"(All)\",\n \"dxDataGrid-filterRowResetOperationText\": \"Reset\",\n \"dxDataGrid-filterRowOperationEquals\": \"Equals\",\n \"dxDataGrid-filterRowOperationNotEquals\": \"Does not equal\",\n \"dxDataGrid-filterRowOperationLess\": \"Less than\",\n \"dxDataGrid-filterRowOperationLessOrEquals\": \"Less than or equal to\",\n \"dxDataGrid-filterRowOperationGreater\": \"Greater than\",\n \"dxDataGrid-filterRowOperationGreaterOrEquals\": \"Greater than or equal to\",\n \"dxDataGrid-filterRowOperationStartsWith\": \"Starts with\",\n \"dxDataGrid-filterRowOperationContains\": \"Contains\",\n \"dxDataGrid-filterRowOperationNotContains\": \"Does not contain\",\n \"dxDataGrid-filterRowOperationEndsWith\": \"Ends with\",\n \"dxDataGrid-filterRowOperationBetween\": \"Between\",\n \"dxDataGrid-filterRowOperationBetweenStartText\": \"Start\",\n \"dxDataGrid-filterRowOperationBetweenEndText\": \"End\",\n \"dxDataGrid-ariaSearchBox\": \"Search box\",\n \"dxDataGrid-applyFilterText\": \"Apply filter\",\n \"dxDataGrid-trueText\": \"true\",\n \"dxDataGrid-falseText\": \"false\",\n \"dxDataGrid-sortingAscendingText\": \"Sort Ascending\",\n \"dxDataGrid-sortingDescendingText\": \"Sort Descending\",\n \"dxDataGrid-sortingClearText\": \"Clear Sorting\",\n \"dxDataGrid-ariaNotSortedColumn\": \"Not sorted column\",\n \"dxDataGrid-ariaSortedAscendingColumn\": \"Column sorted in ascending order\",\n \"dxDataGrid-ariaSortedDescendingColumn\": \"Column sorted in descending order\",\n \"dxDataGrid-ariaSortIndex\": \"Sort index {0}\",\n \"dxDataGrid-editingSaveAllChanges\": \"Save changes\",\n \"dxDataGrid-editingCancelAllChanges\": \"Discard changes\",\n \"dxDataGrid-editingAddRow\": \"Add a row\",\n \"dxDataGrid-summaryMin\": \"Min: {0}\",\n \"dxDataGrid-summaryMinOtherColumn\": \"Min of {1} is {0}\",\n \"dxDataGrid-summaryMax\": \"Max: {0}\",\n \"dxDataGrid-summaryMaxOtherColumn\": \"Max of {1} is {0}\",\n \"dxDataGrid-summaryAvg\": \"Avg: {0}\",\n \"dxDataGrid-summaryAvgOtherColumn\": \"Avg of {1} is {0}\",\n \"dxDataGrid-summarySum\": \"Sum: {0}\",\n \"dxDataGrid-summarySumOtherColumn\": \"Sum of {1} is {0}\",\n \"dxDataGrid-summaryCount\": \"Count: {0}\",\n \"dxDataGrid-columnFixingFix\": \"Fix\",\n \"dxDataGrid-columnFixingUnfix\": \"Unfix\",\n \"dxDataGrid-columnFixingLeftPosition\": \"To the left\",\n \"dxDataGrid-columnFixingRightPosition\": \"To the right\",\n \"dxDataGrid-exportTo\": \"Export\",\n \"dxDataGrid-exportToExcel\": \"Export to Excel file\",\n \"dxDataGrid-exporting\": \"Exporting...\",\n \"dxDataGrid-excelFormat\": \"Excel file\",\n \"dxDataGrid-selectedRows\": \"Selected rows\",\n \"dxDataGrid-exportSelectedRows\": \"Export selected rows to {0}\",\n \"dxDataGrid-exportAll\": \"Export all data to {0}\",\n \"dxDataGrid-headerFilterLabel\": \"Filter options\",\n \"dxDataGrid-headerFilterIndicatorLabel\": \"Show filter options for column '{0}'\",\n \"dxDataGrid-headerFilterEmptyValue\": \"(Blanks)\",\n \"dxDataGrid-headerFilterOK\": \"OK\",\n \"dxDataGrid-headerFilterCancel\": \"Cancel\",\n \"dxDataGrid-ariaAdaptiveCollapse\": \"Hide additional data\",\n \"dxDataGrid-ariaAdaptiveExpand\": \"Display additional data\",\n \"dxDataGrid-ariaColumn\": \"Column\",\n \"dxDataGrid-ariaColumnHeader\": \"Column header\",\n \"dxDataGrid-ariaValue\": \"Value\",\n \"dxDataGrid-ariaError\": \"Error\",\n \"dxDataGrid-ariaRevertButton\": \"Press Escape to discard the changes\",\n \"dxDataGrid-ariaFilterCell\": \"Filter cell\",\n \"dxDataGrid-ariaCollapse\": \"Collapse\",\n \"dxDataGrid-ariaModifiedCell\": \"Modified\",\n \"dxDataGrid-ariaDeletedCell\": \"Deleted\",\n \"dxDataGrid-ariaEditableCell\": \"Editable\",\n \"dxDataGrid-ariaExpand\": \"Expand\",\n \"dxDataGrid-ariaCollapsedRow\": \"Collapsed row\",\n \"dxDataGrid-ariaExpandedRow\": \"Expanded row\",\n \"dxDataGrid-ariaDataGrid\": \"Data grid with {0} rows and {1} columns\",\n \"dxDataGrid-ariaSearchInGrid\": \"Search in the data grid\",\n \"dxDataGrid-ariaSelectAll\": \"Select all\",\n \"dxDataGrid-ariaSelectRow\": \"Select row\",\n \"dxDataGrid-ariaToolbar\": \"Data grid toolbar\",\n \"dxDataGrid-ariaEditForm\": \"Edit form\",\n \"dxDataGrid-filterBuilderPopupTitle\": \"Filter Builder\",\n \"dxDataGrid-filterPanelCreateFilter\": \"Create Filter\",\n \"dxDataGrid-filterPanelClearFilter\": \"Clear\",\n \"dxDataGrid-filterPanelFilterEnabledHint\": \"Enable the filter\",\n \"dxDataGrid-masterDetail\": \"Cell with details\",\n \"dxTreeList-ariaTreeList\": \"Tree list with {0} rows and {1} columns\",\n \"dxTreeList-ariaSearchInGrid\": \"Search in the tree list\",\n \"dxTreeList-ariaToolbar\": \"Tree list toolbar\",\n \"dxTreeList-editingAddRowToNode\": \"Add\",\n \"dxPager-infoText\": \"Page {0} of {1} ({2} items)\",\n \"dxPager-pagesCountText\": \"of\",\n \"dxPager-pageSize\": \"Items per page: {0}\",\n \"dxPager-pageSizesAllText\": \"All\",\n \"dxPager-page\": \"Page {0}\",\n \"dxPager-prevPage\": \"Previous Page\",\n \"dxPager-nextPage\": \"Next Page\",\n \"dxPager-ariaLabel\": \"Page Navigation\",\n \"dxPager-ariaPageSize\": \"Page size\",\n \"dxPager-ariaPageNumber\": \"Page number\",\n \"dxPivotGrid-grandTotal\": \"Grand Total\",\n \"dxPivotGrid-total\": \"{0} Total\",\n \"dxPivotGrid-fieldChooserTitle\": \"Field Chooser\",\n \"dxPivotGrid-showFieldChooser\": \"Show Field Chooser\",\n \"dxPivotGrid-expandAll\": \"Expand All\",\n \"dxPivotGrid-collapseAll\": \"Collapse All\",\n \"dxPivotGrid-sortColumnBySummary\": 'Sort \"{0}\" by This Column',\n \"dxPivotGrid-sortRowBySummary\": 'Sort \"{0}\" by This Row',\n \"dxPivotGrid-removeAllSorting\": \"Remove All Sorting\",\n \"dxPivotGrid-dataNotAvailable\": \"N/A\",\n \"dxPivotGrid-rowFields\": \"Row Fields\",\n \"dxPivotGrid-columnFields\": \"Column Fields\",\n \"dxPivotGrid-dataFields\": \"Data Fields\",\n \"dxPivotGrid-filterFields\": \"Filter Fields\",\n \"dxPivotGrid-allFields\": \"All Fields\",\n \"dxPivotGrid-columnFieldArea\": \"Drop Column Fields Here\",\n \"dxPivotGrid-dataFieldArea\": \"Drop Data Fields Here\",\n \"dxPivotGrid-rowFieldArea\": \"Drop Row Fields Here\",\n \"dxPivotGrid-filterFieldArea\": \"Drop Filter Fields Here\",\n \"dxScheduler-editorLabelTitle\": \"Subject\",\n \"dxScheduler-editorLabelStartDate\": \"Start Date\",\n \"dxScheduler-editorLabelEndDate\": \"End Date\",\n \"dxScheduler-editorLabelDescription\": \"Description\",\n \"dxScheduler-editorLabelRecurrence\": \"Repeat\",\n \"dxScheduler-openAppointment\": \"Open appointment\",\n \"dxScheduler-recurrenceNever\": \"Never\",\n \"dxScheduler-recurrenceMinutely\": \"Every minute\",\n \"dxScheduler-recurrenceHourly\": \"Hourly\",\n \"dxScheduler-recurrenceDaily\": \"Daily\",\n \"dxScheduler-recurrenceWeekly\": \"Weekly\",\n \"dxScheduler-recurrenceMonthly\": \"Monthly\",\n \"dxScheduler-recurrenceYearly\": \"Yearly\",\n \"dxScheduler-recurrenceRepeatEvery\": \"Repeat Every\",\n \"dxScheduler-recurrenceRepeatOn\": \"Repeat On\",\n \"dxScheduler-recurrenceEnd\": \"End repeat\",\n \"dxScheduler-recurrenceAfter\": \"After\",\n \"dxScheduler-recurrenceOn\": \"On\",\n \"dxScheduler-recurrenceRepeatMinutely\": \"minute(s)\",\n \"dxScheduler-recurrenceRepeatHourly\": \"hour(s)\",\n \"dxScheduler-recurrenceRepeatDaily\": \"day(s)\",\n \"dxScheduler-recurrenceRepeatWeekly\": \"week(s)\",\n \"dxScheduler-recurrenceRepeatMonthly\": \"month(s)\",\n \"dxScheduler-recurrenceRepeatYearly\": \"year(s)\",\n \"dxScheduler-switcherDay\": \"Day\",\n \"dxScheduler-switcherWeek\": \"Week\",\n \"dxScheduler-switcherWorkWeek\": \"Work Week\",\n \"dxScheduler-switcherMonth\": \"Month\",\n \"dxScheduler-switcherAgenda\": \"Agenda\",\n \"dxScheduler-switcherTimelineDay\": \"Timeline Day\",\n \"dxScheduler-switcherTimelineWeek\": \"Timeline Week\",\n \"dxScheduler-switcherTimelineWorkWeek\": \"Timeline Work Week\",\n \"dxScheduler-switcherTimelineMonth\": \"Timeline Month\",\n \"dxScheduler-recurrenceRepeatOnDate\": \"on date\",\n \"dxScheduler-recurrenceRepeatCount\": \"occurrence(s)\",\n \"dxScheduler-allDay\": \"All day\",\n \"dxScheduler-confirmRecurrenceEditTitle\": \"Edit Recurring Appointment\",\n \"dxScheduler-confirmRecurrenceDeleteTitle\": \"Delete Recurring Appointment\",\n \"dxScheduler-confirmRecurrenceEditMessage\": \"Do you want to edit only this appointment or the whole series?\",\n \"dxScheduler-confirmRecurrenceDeleteMessage\": \"Do you want to delete only this appointment or the whole series?\",\n \"dxScheduler-confirmRecurrenceEditSeries\": \"Edit series\",\n \"dxScheduler-confirmRecurrenceDeleteSeries\": \"Delete series\",\n \"dxScheduler-confirmRecurrenceEditOccurrence\": \"Edit appointment\",\n \"dxScheduler-confirmRecurrenceDeleteOccurrence\": \"Delete appointment\",\n \"dxScheduler-noTimezoneTitle\": \"No timezone\",\n \"dxScheduler-moreAppointments\": \"{0} more\",\n \"dxCalendar-currentDay\": \"Today\",\n \"dxCalendar-currentMonth\": \"Current month\",\n \"dxCalendar-currentYear\": \"Current year\",\n \"dxCalendar-currentYearRange\": \"Current year range\",\n \"dxCalendar-todayButtonText\": \"Today\",\n \"dxCalendar-ariaWidgetName\": \"Calendar\",\n \"dxCalendar-previousMonthButtonLabel\": \"Previous month\",\n \"dxCalendar-previousYearButtonLabel\": \"Previous year\",\n \"dxCalendar-previousDecadeButtonLabel\": \"Previous decade\",\n \"dxCalendar-previousCenturyButtonLabel\": \"Previous century\",\n \"dxCalendar-nextMonthButtonLabel\": \"Next month\",\n \"dxCalendar-nextYearButtonLabel\": \"Next year\",\n \"dxCalendar-nextDecadeButtonLabel\": \"Next decade\",\n \"dxCalendar-nextCenturyButtonLabel\": \"Next century\",\n \"dxCalendar-captionMonthLabel\": \"Month selection\",\n \"dxCalendar-captionYearLabel\": \"Year selection\",\n \"dxCalendar-captionDecadeLabel\": \"Decade selection\",\n \"dxCalendar-captionCenturyLabel\": \"Century selection\",\n \"dxCalendar-selectedDate\": \"The selected date is {0}\",\n \"dxCalendar-selectedDateRange\": \"The selected date range is from {0} to {1}\",\n \"dxColorView-ariaRed\": \"Red\",\n \"dxColorView-ariaGreen\": \"Green\",\n \"dxColorView-ariaBlue\": \"Blue\",\n \"dxColorView-ariaAlpha\": \"Transparency\",\n \"dxColorView-ariaHex\": \"Color code\",\n \"dxTagBox-selected\": \"{0} selected\",\n \"dxTagBox-allSelected\": \"All selected ({0})\",\n \"dxTagBox-moreSelected\": \"{0} more\",\n \"dxTagBox-tagRoleDescription\": \"Tag. Press the delete button to remove this tag\",\n \"vizExport-printingButtonText\": \"Print\",\n \"vizExport-titleMenuText\": \"Exporting/Printing\",\n \"vizExport-exportButtonText\": \"{0} file\",\n \"dxFilterBuilder-and\": \"And\",\n \"dxFilterBuilder-or\": \"Or\",\n \"dxFilterBuilder-notAnd\": \"Not And\",\n \"dxFilterBuilder-notOr\": \"Not Or\",\n \"dxFilterBuilder-addCondition\": \"Add Condition\",\n \"dxFilterBuilder-addGroup\": \"Add Group\",\n \"dxFilterBuilder-enterValueText\": \"\",\n \"dxFilterBuilder-filterOperationEquals\": \"Equals\",\n \"dxFilterBuilder-filterOperationNotEquals\": \"Does not equal\",\n \"dxFilterBuilder-filterOperationLess\": \"Is less than\",\n \"dxFilterBuilder-filterOperationLessOrEquals\": \"Is less than or equal to\",\n \"dxFilterBuilder-filterOperationGreater\": \"Is greater than\",\n \"dxFilterBuilder-filterOperationGreaterOrEquals\": \"Is greater than or equal to\",\n \"dxFilterBuilder-filterOperationStartsWith\": \"Starts with\",\n \"dxFilterBuilder-filterOperationContains\": \"Contains\",\n \"dxFilterBuilder-filterOperationNotContains\": \"Does not contain\",\n \"dxFilterBuilder-filterOperationEndsWith\": \"Ends with\",\n \"dxFilterBuilder-filterOperationIsBlank\": \"Is blank\",\n \"dxFilterBuilder-filterOperationIsNotBlank\": \"Is not blank\",\n \"dxFilterBuilder-filterOperationBetween\": \"Is between\",\n \"dxFilterBuilder-filterOperationAnyOf\": \"Is any of\",\n \"dxFilterBuilder-filterOperationNoneOf\": \"Is none of\",\n \"dxHtmlEditor-dialogColorCaption\": \"Change Font Color\",\n \"dxHtmlEditor-dialogBackgroundCaption\": \"Change Background Color\",\n \"dxHtmlEditor-dialogLinkCaption\": \"Add Link\",\n \"dxHtmlEditor-dialogLinkUrlField\": \"URL\",\n \"dxHtmlEditor-dialogLinkTextField\": \"Text\",\n \"dxHtmlEditor-dialogLinkTargetField\": \"Open link in new window\",\n \"dxHtmlEditor-dialogImageCaption\": \"Add Image\",\n \"dxHtmlEditor-dialogImageUrlField\": \"URL\",\n \"dxHtmlEditor-dialogImageAltField\": \"Alternate text\",\n \"dxHtmlEditor-dialogImageWidthField\": \"Width (px)\",\n \"dxHtmlEditor-dialogImageHeightField\": \"Height (px)\",\n \"dxHtmlEditor-dialogInsertTableRowsField\": \"Rows\",\n \"dxHtmlEditor-dialogInsertTableColumnsField\": \"Columns\",\n \"dxHtmlEditor-dialogInsertTableCaption\": \"Insert Table\",\n \"dxHtmlEditor-dialogUpdateImageCaption\": \"Update Image\",\n \"dxHtmlEditor-dialogImageUpdateButton\": \"Update\",\n \"dxHtmlEditor-dialogImageAddButton\": \"Add\",\n \"dxHtmlEditor-dialogImageSpecifyUrl\": \"From the Web\",\n \"dxHtmlEditor-dialogImageSelectFile\": \"From This Device\",\n \"dxHtmlEditor-dialogImageKeepAspectRatio\": \"Keep Aspect Ratio\",\n \"dxHtmlEditor-dialogImageEncodeToBase64\": \"Encode to Base64\",\n \"dxHtmlEditor-heading\": \"Heading\",\n \"dxHtmlEditor-normalText\": \"Normal text\",\n \"dxHtmlEditor-background\": \"Background Color\",\n \"dxHtmlEditor-bold\": \"Bold\",\n \"dxHtmlEditor-color\": \"Font Color\",\n \"dxHtmlEditor-font\": \"Font\",\n \"dxHtmlEditor-italic\": \"Italic\",\n \"dxHtmlEditor-link\": \"Add Link\",\n \"dxHtmlEditor-image\": \"Add Image\",\n \"dxHtmlEditor-size\": \"Size\",\n \"dxHtmlEditor-strike\": \"Strikethrough\",\n \"dxHtmlEditor-subscript\": \"Subscript\",\n \"dxHtmlEditor-superscript\": \"Superscript\",\n \"dxHtmlEditor-underline\": \"Underline\",\n \"dxHtmlEditor-blockquote\": \"Blockquote\",\n \"dxHtmlEditor-header\": \"Header\",\n \"dxHtmlEditor-increaseIndent\": \"Increase Indent\",\n \"dxHtmlEditor-decreaseIndent\": \"Decrease Indent\",\n \"dxHtmlEditor-orderedList\": \"Ordered List\",\n \"dxHtmlEditor-bulletList\": \"Bullet List\",\n \"dxHtmlEditor-alignLeft\": \"Align Left\",\n \"dxHtmlEditor-alignCenter\": \"Align Center\",\n \"dxHtmlEditor-alignRight\": \"Align Right\",\n \"dxHtmlEditor-alignJustify\": \"Align Justify\",\n \"dxHtmlEditor-codeBlock\": \"Code Block\",\n \"dxHtmlEditor-variable\": \"Add Variable\",\n \"dxHtmlEditor-undo\": \"Undo\",\n \"dxHtmlEditor-redo\": \"Redo\",\n \"dxHtmlEditor-clear\": \"Clear Formatting\",\n \"dxHtmlEditor-insertTable\": \"Insert Table\",\n \"dxHtmlEditor-insertHeaderRow\": \"Insert Header Row\",\n \"dxHtmlEditor-insertRowAbove\": \"Insert Row Above\",\n \"dxHtmlEditor-insertRowBelow\": \"Insert Row Below\",\n \"dxHtmlEditor-insertColumnLeft\": \"Insert Column Left\",\n \"dxHtmlEditor-insertColumnRight\": \"Insert Column Right\",\n \"dxHtmlEditor-deleteColumn\": \"Delete Column\",\n \"dxHtmlEditor-deleteRow\": \"Delete Row\",\n \"dxHtmlEditor-deleteTable\": \"Delete Table\",\n \"dxHtmlEditor-cellProperties\": \"Cell Properties\",\n \"dxHtmlEditor-tableProperties\": \"Table Properties\",\n \"dxHtmlEditor-insert\": \"Insert\",\n \"dxHtmlEditor-delete\": \"Delete\",\n \"dxHtmlEditor-border\": \"Border\",\n \"dxHtmlEditor-style\": \"Style\",\n \"dxHtmlEditor-width\": \"Width\",\n \"dxHtmlEditor-height\": \"Height\",\n \"dxHtmlEditor-borderColor\": \"Color\",\n \"dxHtmlEditor-borderWidth\": \"Border Width\",\n \"dxHtmlEditor-tableBackground\": \"Background\",\n \"dxHtmlEditor-dimensions\": \"Dimensions\",\n \"dxHtmlEditor-alignment\": \"Alignment\",\n \"dxHtmlEditor-horizontal\": \"Horizontal\",\n \"dxHtmlEditor-vertical\": \"Vertical\",\n \"dxHtmlEditor-paddingVertical\": \"Vertical Padding\",\n \"dxHtmlEditor-paddingHorizontal\": \"Horizontal Padding\",\n \"dxHtmlEditor-pixels\": \"Pixels\",\n \"dxHtmlEditor-list\": \"List\",\n \"dxHtmlEditor-ordered\": \"Ordered\",\n \"dxHtmlEditor-bullet\": \"Bullet\",\n \"dxHtmlEditor-align\": \"Align\",\n \"dxHtmlEditor-center\": \"Center\",\n \"dxHtmlEditor-left\": \"Left\",\n \"dxHtmlEditor-right\": \"Right\",\n \"dxHtmlEditor-indent\": \"Indent\",\n \"dxHtmlEditor-justify\": \"Justify\",\n \"dxHtmlEditor-borderStyleNone\": \"none\",\n \"dxHtmlEditor-borderStyleHidden\": \"hidden\",\n \"dxHtmlEditor-borderStyleDotted\": \"dotted\",\n \"dxHtmlEditor-borderStyleDashed\": \"dashed\",\n \"dxHtmlEditor-borderStyleSolid\": \"solid\",\n \"dxHtmlEditor-borderStyleDouble\": \"double\",\n \"dxHtmlEditor-borderStyleGroove\": \"groove\",\n \"dxHtmlEditor-borderStyleRidge\": \"ridge\",\n \"dxHtmlEditor-borderStyleInset\": \"inset\",\n \"dxHtmlEditor-borderStyleOutset\": \"outset\",\n \"dxFileManager-newDirectoryName\": \"Untitled directory\",\n \"dxFileManager-rootDirectoryName\": \"Files\",\n \"dxFileManager-errorNoAccess\": \"Access Denied. Operation could not be completed.\",\n \"dxFileManager-errorDirectoryExistsFormat\": \"Directory '{0}' already exists.\",\n \"dxFileManager-errorFileExistsFormat\": \"File '{0}' already exists.\",\n \"dxFileManager-errorFileNotFoundFormat\": \"File '{0}' not found.\",\n \"dxFileManager-errorDirectoryNotFoundFormat\": \"Directory '{0}' not found.\",\n \"dxFileManager-errorWrongFileExtension\": \"File extension is not allowed.\",\n \"dxFileManager-errorMaxFileSizeExceeded\": \"File size exceeds the maximum allowed size.\",\n \"dxFileManager-errorInvalidSymbols\": \"This name contains invalid characters.\",\n \"dxFileManager-errorDefault\": \"Unspecified error.\",\n \"dxFileManager-errorDirectoryOpenFailed\": \"The directory cannot be opened\",\n \"dxFileManager-commandCreate\": \"New directory\",\n \"dxFileManager-commandRename\": \"Rename\",\n \"dxFileManager-commandMove\": \"Move to\",\n \"dxFileManager-commandCopy\": \"Copy to\",\n \"dxFileManager-commandDelete\": \"Delete\",\n \"dxFileManager-commandDownload\": \"Download\",\n \"dxFileManager-commandUpload\": \"Upload files\",\n \"dxFileManager-commandRefresh\": \"Refresh\",\n \"dxFileManager-commandThumbnails\": \"Thumbnails View\",\n \"dxFileManager-commandDetails\": \"Details View\",\n \"dxFileManager-commandClearSelection\": \"Clear selection\",\n \"dxFileManager-commandShowNavPane\": \"Toggle navigation pane\",\n \"dxFileManager-dialogDirectoryChooserMoveTitle\": \"Move to\",\n \"dxFileManager-dialogDirectoryChooserMoveButtonText\": \"Move\",\n \"dxFileManager-dialogDirectoryChooserCopyTitle\": \"Copy to\",\n \"dxFileManager-dialogDirectoryChooserCopyButtonText\": \"Copy\",\n \"dxFileManager-dialogRenameItemTitle\": \"Rename\",\n \"dxFileManager-dialogRenameItemButtonText\": \"Save\",\n \"dxFileManager-dialogCreateDirectoryTitle\": \"New directory\",\n \"dxFileManager-dialogCreateDirectoryButtonText\": \"Create\",\n \"dxFileManager-dialogDeleteItemTitle\": \"Delete\",\n \"dxFileManager-dialogDeleteItemButtonText\": \"Delete\",\n \"dxFileManager-dialogDeleteItemSingleItemConfirmation\": \"Are you sure you want to delete {0}?\",\n \"dxFileManager-dialogDeleteItemMultipleItemsConfirmation\": \"Are you sure you want to delete {0} items?\",\n \"dxFileManager-dialogButtonCancel\": \"Cancel\",\n \"dxFileManager-editingCreateSingleItemProcessingMessage\": \"Creating a directory inside {0}\",\n \"dxFileManager-editingCreateSingleItemSuccessMessage\": \"Created a directory inside {0}\",\n \"dxFileManager-editingCreateSingleItemErrorMessage\": \"Directory was not created\",\n \"dxFileManager-editingCreateCommonErrorMessage\": \"Directory was not created\",\n \"dxFileManager-editingRenameSingleItemProcessingMessage\": \"Renaming an item inside {0}\",\n \"dxFileManager-editingRenameSingleItemSuccessMessage\": \"Renamed an item inside {0}\",\n \"dxFileManager-editingRenameSingleItemErrorMessage\": \"Item was not renamed\",\n \"dxFileManager-editingRenameCommonErrorMessage\": \"Item was not renamed\",\n \"dxFileManager-editingDeleteSingleItemProcessingMessage\": \"Deleting an item from {0}\",\n \"dxFileManager-editingDeleteMultipleItemsProcessingMessage\": \"Deleting {0} items from {1}\",\n \"dxFileManager-editingDeleteSingleItemSuccessMessage\": \"Deleted an item from {0}\",\n \"dxFileManager-editingDeleteMultipleItemsSuccessMessage\": \"Deleted {0} items from {1}\",\n \"dxFileManager-editingDeleteSingleItemErrorMessage\": \"Item was not deleted\",\n \"dxFileManager-editingDeleteMultipleItemsErrorMessage\": \"{0} items were not deleted\",\n \"dxFileManager-editingDeleteCommonErrorMessage\": \"Some items were not deleted\",\n \"dxFileManager-editingMoveSingleItemProcessingMessage\": \"Moving an item to {0}\",\n \"dxFileManager-editingMoveMultipleItemsProcessingMessage\": \"Moving {0} items to {1}\",\n \"dxFileManager-editingMoveSingleItemSuccessMessage\": \"Moved an item to {0}\",\n \"dxFileManager-editingMoveMultipleItemsSuccessMessage\": \"Moved {0} items to {1}\",\n \"dxFileManager-editingMoveSingleItemErrorMessage\": \"Item was not moved\",\n \"dxFileManager-editingMoveMultipleItemsErrorMessage\": \"{0} items were not moved\",\n \"dxFileManager-editingMoveCommonErrorMessage\": \"Some items were not moved\",\n \"dxFileManager-editingCopySingleItemProcessingMessage\": \"Copying an item to {0}\",\n \"dxFileManager-editingCopyMultipleItemsProcessingMessage\": \"Copying {0} items to {1}\",\n \"dxFileManager-editingCopySingleItemSuccessMessage\": \"Copied an item to {0}\",\n \"dxFileManager-editingCopyMultipleItemsSuccessMessage\": \"Copied {0} items to {1}\",\n \"dxFileManager-editingCopySingleItemErrorMessage\": \"Item was not copied\",\n \"dxFileManager-editingCopyMultipleItemsErrorMessage\": \"{0} items were not copied\",\n \"dxFileManager-editingCopyCommonErrorMessage\": \"Some items were not copied\",\n \"dxFileManager-editingUploadSingleItemProcessingMessage\": \"Uploading an item to {0}\",\n \"dxFileManager-editingUploadMultipleItemsProcessingMessage\": \"Uploading {0} items to {1}\",\n \"dxFileManager-editingUploadSingleItemSuccessMessage\": \"Uploaded an item to {0}\",\n \"dxFileManager-editingUploadMultipleItemsSuccessMessage\": \"Uploaded {0} items to {1}\",\n \"dxFileManager-editingUploadSingleItemErrorMessage\": \"Item was not uploaded\",\n \"dxFileManager-editingUploadMultipleItemsErrorMessage\": \"{0} items were not uploaded\",\n \"dxFileManager-editingUploadCanceledMessage\": \"Canceled\",\n \"dxFileManager-editingDownloadSingleItemErrorMessage\": \"Item was not downloaded\",\n \"dxFileManager-editingDownloadMultipleItemsErrorMessage\": \"{0} items were not downloaded\",\n \"dxFileManager-listDetailsColumnCaptionName\": \"Name\",\n \"dxFileManager-listDetailsColumnCaptionDateModified\": \"Date Modified\",\n \"dxFileManager-listDetailsColumnCaptionFileSize\": \"File Size\",\n \"dxFileManager-listThumbnailsTooltipTextSize\": \"Size\",\n \"dxFileManager-listThumbnailsTooltipTextDateModified\": \"Date Modified\",\n \"dxFileManager-notificationProgressPanelTitle\": \"Progress\",\n \"dxFileManager-notificationProgressPanelEmptyListText\": \"No operations\",\n \"dxFileManager-notificationProgressPanelOperationCanceled\": \"Canceled\",\n \"dxDiagram-categoryGeneral\": \"General\",\n \"dxDiagram-categoryFlowchart\": \"Flowchart\",\n \"dxDiagram-categoryOrgChart\": \"Org Chart\",\n \"dxDiagram-categoryContainers\": \"Containers\",\n \"dxDiagram-categoryCustom\": \"Custom\",\n \"dxDiagram-commandExportToSvg\": \"Export to SVG\",\n \"dxDiagram-commandExportToPng\": \"Export to PNG\",\n \"dxDiagram-commandExportToJpg\": \"Export to JPEG\",\n \"dxDiagram-commandUndo\": \"Undo\",\n \"dxDiagram-commandRedo\": \"Redo\",\n \"dxDiagram-commandFontName\": \"Font Name\",\n \"dxDiagram-commandFontSize\": \"Font Size\",\n \"dxDiagram-commandBold\": \"Bold\",\n \"dxDiagram-commandItalic\": \"Italic\",\n \"dxDiagram-commandUnderline\": \"Underline\",\n \"dxDiagram-commandTextColor\": \"Font Color\",\n \"dxDiagram-commandLineColor\": \"Line Color\",\n \"dxDiagram-commandLineWidth\": \"Line Width\",\n \"dxDiagram-commandLineStyle\": \"Line Style\",\n \"dxDiagram-commandLineStyleSolid\": \"Solid\",\n \"dxDiagram-commandLineStyleDotted\": \"Dotted\",\n \"dxDiagram-commandLineStyleDashed\": \"Dashed\",\n \"dxDiagram-commandFillColor\": \"Fill Color\",\n \"dxDiagram-commandAlignLeft\": \"Align Left\",\n \"dxDiagram-commandAlignCenter\": \"Align Center\",\n \"dxDiagram-commandAlignRight\": \"Align Right\",\n \"dxDiagram-commandConnectorLineType\": \"Connector Line Type\",\n \"dxDiagram-commandConnectorLineStraight\": \"Straight\",\n \"dxDiagram-commandConnectorLineOrthogonal\": \"Orthogonal\",\n \"dxDiagram-commandConnectorLineStart\": \"Connector Line Start\",\n \"dxDiagram-commandConnectorLineEnd\": \"Connector Line End\",\n \"dxDiagram-commandConnectorLineNone\": \"None\",\n \"dxDiagram-commandConnectorLineArrow\": \"Arrow\",\n \"dxDiagram-commandFullscreen\": \"Full Screen\",\n \"dxDiagram-commandUnits\": \"Units\",\n \"dxDiagram-commandPageSize\": \"Page Size\",\n \"dxDiagram-commandPageOrientation\": \"Page Orientation\",\n \"dxDiagram-commandPageOrientationLandscape\": \"Landscape\",\n \"dxDiagram-commandPageOrientationPortrait\": \"Portrait\",\n \"dxDiagram-commandPageColor\": \"Page Color\",\n \"dxDiagram-commandShowGrid\": \"Show Grid\",\n \"dxDiagram-commandSnapToGrid\": \"Snap to Grid\",\n \"dxDiagram-commandGridSize\": \"Grid Size\",\n \"dxDiagram-commandZoomLevel\": \"Zoom Level\",\n \"dxDiagram-commandAutoZoom\": \"Auto Zoom\",\n \"dxDiagram-commandFitToContent\": \"Fit to Content\",\n \"dxDiagram-commandFitToWidth\": \"Fit to Width\",\n \"dxDiagram-commandAutoZoomByContent\": \"Auto Zoom by Content\",\n \"dxDiagram-commandAutoZoomByWidth\": \"Auto Zoom by Width\",\n \"dxDiagram-commandSimpleView\": \"Simple View\",\n \"dxDiagram-commandCut\": \"Cut\",\n \"dxDiagram-commandCopy\": \"Copy\",\n \"dxDiagram-commandPaste\": \"Paste\",\n \"dxDiagram-commandSelectAll\": \"Select All\",\n \"dxDiagram-commandDelete\": \"Delete\",\n \"dxDiagram-commandBringToFront\": \"Bring to Front\",\n \"dxDiagram-commandSendToBack\": \"Send to Back\",\n \"dxDiagram-commandLock\": \"Lock\",\n \"dxDiagram-commandUnlock\": \"Unlock\",\n \"dxDiagram-commandInsertShapeImage\": \"Insert Image...\",\n \"dxDiagram-commandEditShapeImage\": \"Change Image...\",\n \"dxDiagram-commandDeleteShapeImage\": \"Delete Image\",\n \"dxDiagram-commandLayoutLeftToRight\": \"Left-to-right\",\n \"dxDiagram-commandLayoutRightToLeft\": \"Right-to-left\",\n \"dxDiagram-commandLayoutTopToBottom\": \"Top-to-bottom\",\n \"dxDiagram-commandLayoutBottomToTop\": \"Bottom-to-top\",\n \"dxDiagram-unitIn\": \"in\",\n \"dxDiagram-unitCm\": \"cm\",\n \"dxDiagram-unitPx\": \"px\",\n \"dxDiagram-dialogButtonOK\": \"OK\",\n \"dxDiagram-dialogButtonCancel\": \"Cancel\",\n \"dxDiagram-dialogInsertShapeImageTitle\": \"Insert Image\",\n \"dxDiagram-dialogEditShapeImageTitle\": \"Change Image\",\n \"dxDiagram-dialogEditShapeImageSelectButton\": \"Select image\",\n \"dxDiagram-dialogEditShapeImageLabelText\": \"or drop a file here\",\n \"dxDiagram-uiExport\": \"Export\",\n \"dxDiagram-uiProperties\": \"Properties\",\n \"dxDiagram-uiSettings\": \"Settings\",\n \"dxDiagram-uiShowToolbox\": \"Show Toolbox\",\n \"dxDiagram-uiSearch\": \"Search\",\n \"dxDiagram-uiStyle\": \"Style\",\n \"dxDiagram-uiLayout\": \"Layout\",\n \"dxDiagram-uiLayoutTree\": \"Tree\",\n \"dxDiagram-uiLayoutLayered\": \"Layered\",\n \"dxDiagram-uiDiagram\": \"Diagram\",\n \"dxDiagram-uiText\": \"Text\",\n \"dxDiagram-uiObject\": \"Object\",\n \"dxDiagram-uiConnector\": \"Connector\",\n \"dxDiagram-uiPage\": \"Page\",\n \"dxDiagram-shapeText\": \"Text\",\n \"dxDiagram-shapeRectangle\": \"Rectangle\",\n \"dxDiagram-shapeEllipse\": \"Ellipse\",\n \"dxDiagram-shapeCross\": \"Cross\",\n \"dxDiagram-shapeTriangle\": \"Triangle\",\n \"dxDiagram-shapeDiamond\": \"Diamond\",\n \"dxDiagram-shapeHeart\": \"Heart\",\n \"dxDiagram-shapePentagon\": \"Pentagon\",\n \"dxDiagram-shapeHexagon\": \"Hexagon\",\n \"dxDiagram-shapeOctagon\": \"Octagon\",\n \"dxDiagram-shapeStar\": \"Star\",\n \"dxDiagram-shapeArrowLeft\": \"Left Arrow\",\n \"dxDiagram-shapeArrowUp\": \"Up Arrow\",\n \"dxDiagram-shapeArrowRight\": \"Right Arrow\",\n \"dxDiagram-shapeArrowDown\": \"Down Arrow\",\n \"dxDiagram-shapeArrowUpDown\": \"Up Down Arrow\",\n \"dxDiagram-shapeArrowLeftRight\": \"Left Right Arrow\",\n \"dxDiagram-shapeProcess\": \"Process\",\n \"dxDiagram-shapeDecision\": \"Decision\",\n \"dxDiagram-shapeTerminator\": \"Terminator\",\n \"dxDiagram-shapePredefinedProcess\": \"Predefined Process\",\n \"dxDiagram-shapeDocument\": \"Document\",\n \"dxDiagram-shapeMultipleDocuments\": \"Multiple Documents\",\n \"dxDiagram-shapeManualInput\": \"Manual Input\",\n \"dxDiagram-shapePreparation\": \"Preparation\",\n \"dxDiagram-shapeData\": \"Data\",\n \"dxDiagram-shapeDatabase\": \"Database\",\n \"dxDiagram-shapeHardDisk\": \"Hard Disk\",\n \"dxDiagram-shapeInternalStorage\": \"Internal Storage\",\n \"dxDiagram-shapePaperTape\": \"Paper Tape\",\n \"dxDiagram-shapeManualOperation\": \"Manual Operation\",\n \"dxDiagram-shapeDelay\": \"Delay\",\n \"dxDiagram-shapeStoredData\": \"Stored Data\",\n \"dxDiagram-shapeDisplay\": \"Display\",\n \"dxDiagram-shapeMerge\": \"Merge\",\n \"dxDiagram-shapeConnector\": \"Connector\",\n \"dxDiagram-shapeOr\": \"Or\",\n \"dxDiagram-shapeSummingJunction\": \"Summing Junction\",\n \"dxDiagram-shapeContainerDefaultText\": \"Container\",\n \"dxDiagram-shapeVerticalContainer\": \"Vertical Container\",\n \"dxDiagram-shapeHorizontalContainer\": \"Horizontal Container\",\n \"dxDiagram-shapeCardDefaultText\": \"Person's Name\",\n \"dxDiagram-shapeCardWithImageOnLeft\": \"Card with Image on the Left\",\n \"dxDiagram-shapeCardWithImageOnTop\": \"Card with Image on the Top\",\n \"dxDiagram-shapeCardWithImageOnRight\": \"Card with Image on the Right\",\n \"dxGantt-dialogTitle\": \"Title\",\n \"dxGantt-dialogStartTitle\": \"Start\",\n \"dxGantt-dialogEndTitle\": \"End\",\n \"dxGantt-dialogProgressTitle\": \"Progress\",\n \"dxGantt-dialogResourcesTitle\": \"Resources\",\n \"dxGantt-dialogResourceManagerTitle\": \"Resource Manager\",\n \"dxGantt-dialogTaskDetailsTitle\": \"Task Details\",\n \"dxGantt-dialogEditResourceListHint\": \"Edit Resource List\",\n \"dxGantt-dialogEditNoResources\": \"No resources\",\n \"dxGantt-dialogButtonAdd\": \"Add\",\n \"dxGantt-contextMenuNewTask\": \"New Task\",\n \"dxGantt-contextMenuNewSubtask\": \"New Subtask\",\n \"dxGantt-contextMenuDeleteTask\": \"Delete Task\",\n \"dxGantt-contextMenuDeleteDependency\": \"Delete Dependency\",\n \"dxGantt-dialogTaskDeleteConfirmation\": \"Deleting a task also deletes all its dependencies and subtasks. Are you sure you want to delete this task?\",\n \"dxGantt-dialogDependencyDeleteConfirmation\": \"Are you sure you want to delete the dependency from the task?\",\n \"dxGantt-dialogResourcesDeleteConfirmation\": \"Deleting a resource also deletes it from tasks to which this resource is assigned. Are you sure you want to delete these resources? Resources: {0}\",\n \"dxGantt-dialogConstraintCriticalViolationMessage\": \"The task you are attempting to move is linked to a second task by a dependency relation. This change would conflict with dependency rules. How would you like to proceed?\",\n \"dxGantt-dialogConstraintViolationMessage\": \"The task you are attempting to move is linked to a second task by a dependency relation. How would you like to proceed?\",\n \"dxGantt-dialogCancelOperationMessage\": \"Cancel the operation\",\n \"dxGantt-dialogDeleteDependencyMessage\": \"Delete the dependency\",\n \"dxGantt-dialogMoveTaskAndKeepDependencyMessage\": \"Move the task and keep the dependency\",\n \"dxGantt-dialogConstraintCriticalViolationSeveralTasksMessage\": \"The task you are attempting to move is linked to another tasks by dependency relations. This change would conflict with dependency rules. How would you like to proceed?\",\n \"dxGantt-dialogConstraintViolationSeveralTasksMessage\": \"The task you are attempting to move is linked to another tasks by dependency relations. How would you like to proceed?\",\n \"dxGantt-dialogDeleteDependenciesMessage\": \"Delete the dependency relations\",\n \"dxGantt-dialogMoveTaskAndKeepDependenciesMessage\": \"Move the task and keep the dependencies\",\n \"dxGantt-undo\": \"Undo\",\n \"dxGantt-redo\": \"Redo\",\n \"dxGantt-expandAll\": \"Expand All\",\n \"dxGantt-collapseAll\": \"Collapse All\",\n \"dxGantt-addNewTask\": \"Add New Task\",\n \"dxGantt-deleteSelectedTask\": \"Delete Selected Task\",\n \"dxGantt-zoomIn\": \"Zoom In\",\n \"dxGantt-zoomOut\": \"Zoom Out\",\n \"dxGantt-fullScreen\": \"Full Screen\",\n \"dxGantt-quarter\": \"Q{0}\",\n \"dxGantt-sortingAscendingText\": \"Sort Ascending\",\n \"dxGantt-sortingDescendingText\": \"Sort Descending\",\n \"dxGantt-sortingClearText\": \"Clear Sorting\",\n \"dxGantt-showResources\": \"Show Resources\",\n \"dxGantt-showDependencies\": \"Show Dependencies\",\n \"dxGantt-dialogStartDateValidation\": \"Start date must be after {0}\",\n \"dxGantt-dialogEndDateValidation\": \"End date must be after {0}\",\n \"dxGallery-itemName\": \"Gallery item\",\n \"dxMultiView-elementAriaRoleDescription\": \"MultiView\",\n \"dxMultiView-elementAriaLabel\": \"Use the arrow keys or swipe to navigate between views\",\n \"dxMultiView-itemAriaRoleDescription\": \"View\",\n \"dxMultiView-itemAriaLabel\": \"{0} of {1}\",\n \"dxSplitter-resizeHandleAriaLabel\": \"Split bar\"\n }\n};","/**\r\n * DevExtreme (esm/localization/message.js)\r\n * Version: 24.1.7\r\n * Build date: Wed Oct 30 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\nimport dependencyInjector from \"../core/utils/dependency_injector\";\nimport { extend } from \"../core/utils/extend\";\nimport { format as stringFormat } from \"../core/utils/string\";\nimport { humanize } from \"../core/utils/inflector\";\nimport coreLocalization from \"./core\";\nimport { defaultMessages } from \"./default_messages\";\nconst baseDictionary = extend(true, {}, defaultMessages);\nconst getDataByLocale = (localeData, locale) => {\n var _Object$entries$find;\n return localeData[locale] || (null === locale || void 0 === locale ? void 0 : locale.toLowerCase) && (null === (_Object$entries$find = Object.entries(localeData).find(_ref => {\n let [key] = _ref;\n return key.toLowerCase() === locale.toLowerCase();\n })) || void 0 === _Object$entries$find ? void 0 : _Object$entries$find[1]) || {};\n};\nconst newMessages = {};\nconst messageLocalization = dependencyInjector({\n engine: function () {\n return \"base\";\n },\n _dictionary: baseDictionary,\n load: function (messages) {\n extend(true, this._dictionary, messages);\n },\n _localizablePrefix: \"@\",\n setup: function (localizablePrefix) {\n this._localizablePrefix = localizablePrefix;\n },\n localizeString: function (text) {\n const that = this;\n const regex = new RegExp(\"(^|[^a-zA-Z_0-9\" + that._localizablePrefix + \"-]+)(\" + that._localizablePrefix + \"{1,2})([a-zA-Z_0-9-]+)\", \"g\");\n const escapeString = that._localizablePrefix + that._localizablePrefix;\n return text.replace(regex, (str, prefix, escape, localizationKey) => {\n const defaultResult = that._localizablePrefix + localizationKey;\n let result;\n if (escape !== escapeString) {\n result = that.format(localizationKey);\n }\n if (!result) {\n newMessages[localizationKey] = humanize(localizationKey);\n }\n return prefix + (result || defaultResult);\n });\n },\n getMessagesByLocales: function () {\n return this._dictionary;\n },\n getDictionary: function (onlyNew) {\n if (onlyNew) {\n return newMessages;\n }\n return extend({}, newMessages, this.getMessagesByLocales()[coreLocalization.locale()]);\n },\n getFormatter: function (key) {\n return this._getFormatterBase(key) || this._getFormatterBase(key, \"en\");\n },\n _getFormatterBase: function (key, locale) {\n const message = coreLocalization.getValueByClosestLocale(locale => getDataByLocale(this._dictionary, locale)[key]);\n if (message) {\n return function () {\n const args = 1 === arguments.length && Array.isArray(arguments[0]) ? arguments[0].slice(0) : Array.prototype.slice.call(arguments, 0);\n args.unshift(message);\n return stringFormat.apply(this, args);\n };\n }\n },\n format: function (key) {\n const formatter = this.getFormatter(key);\n const values = Array.prototype.slice.call(arguments, 1);\n return formatter && formatter.apply(this, values) || \"\";\n }\n});\nexport default messageLocalization;","/**\r\n * DevExtreme (esm/core/utils/math.js)\r\n * Version: 24.1.7\r\n * Build date: Wed Oct 30 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\nimport { isExponential } from \"./type\";\nconst sign = function (value) {\n if (0 === value) {\n return 0;\n }\n return value / Math.abs(value);\n};\nconst fitIntoRange = function (value, minValue, maxValue) {\n const isMinValueUndefined = !minValue && 0 !== minValue;\n const isMaxValueUndefined = !maxValue && 0 !== maxValue;\n isMinValueUndefined && (minValue = !isMaxValueUndefined ? Math.min(value, maxValue) : value);\n isMaxValueUndefined && (maxValue = !isMinValueUndefined ? Math.max(value, minValue) : value);\n return Math.min(Math.max(value, minValue), maxValue);\n};\nconst inRange = function (value, minValue, maxValue) {\n return value >= minValue && value <= maxValue;\n};\nfunction getExponent(value) {\n return Math.abs(parseInt(value.toExponential().split(\"e\")[1]));\n}\nfunction getExponentialNotation(value) {\n const parts = value.toExponential().split(\"e\");\n const mantissa = parseFloat(parts[0]);\n const exponent = parseInt(parts[1]);\n return {\n exponent: exponent,\n mantissa: mantissa\n };\n}\nfunction multiplyInExponentialForm(value, exponentShift) {\n const exponentialNotation = getExponentialNotation(value);\n return parseFloat(`${exponentialNotation.mantissa}e${exponentialNotation.exponent + exponentShift}`);\n}\nfunction _isEdgeBug() {\n return \"0.000300\" !== 3e-4.toPrecision(3);\n}\nfunction adjust(value, interval) {\n let precision = getPrecision(interval || 0) + 2;\n const separatedValue = value.toString().split(\".\");\n const sourceValue = value;\n const absValue = Math.abs(value);\n let separatedAdjustedValue;\n const isExponentValue = isExponential(value);\n const integerPart = absValue > 1 ? 10 : 0;\n if (1 === separatedValue.length) {\n return value;\n }\n if (!isExponentValue) {\n if (isExponential(interval)) {\n precision = separatedValue[0].length + getExponent(interval);\n }\n value = absValue;\n value = value - Math.floor(value) + integerPart;\n }\n precision = _isEdgeBug() && getExponent(value) > 6 || precision > 7 ? 15 : 7;\n if (!isExponentValue) {\n separatedAdjustedValue = parseFloat(value.toPrecision(precision)).toString().split(\".\");\n if (separatedAdjustedValue[0] === integerPart.toString()) {\n return parseFloat(separatedValue[0] + \".\" + separatedAdjustedValue[1]);\n }\n }\n return parseFloat(sourceValue.toPrecision(precision));\n}\nfunction getPrecision(value) {\n const str = value.toString();\n if (str.indexOf(\".\") < 0) {\n return 0;\n }\n const mantissa = str.split(\".\");\n const positionOfDelimiter = mantissa[1].indexOf(\"e\");\n return positionOfDelimiter >= 0 ? positionOfDelimiter : mantissa[1].length;\n}\nfunction getRoot(x, n) {\n if (x < 0 && n % 2 !== 1) {\n return NaN;\n }\n const y = Math.pow(Math.abs(x), 1 / n);\n return n % 2 === 1 && x < 0 ? -y : y;\n}\nfunction solveCubicEquation(a, b, c, d) {\n if (Math.abs(a) < 1e-8) {\n a = b;\n b = c;\n c = d;\n if (Math.abs(a) < 1e-8) {\n a = b;\n b = c;\n if (Math.abs(a) < 1e-8) {\n return [];\n }\n return [-b / a];\n }\n const D2 = b * b - 4 * a * c;\n if (Math.abs(D2) < 1e-8) {\n return [-b / (2 * a)];\n } else if (D2 > 0) {\n return [(-b + Math.sqrt(D2)) / (2 * a), (-b - Math.sqrt(D2)) / (2 * a)];\n }\n return [];\n }\n const p = (3 * a * c - b * b) / (3 * a * a);\n const q = (2 * b * b * b - 9 * a * b * c + 27 * a * a * d) / (27 * a * a * a);\n let roots;\n let u;\n if (Math.abs(p) < 1e-8) {\n roots = [getRoot(-q, 3)];\n } else if (Math.abs(q) < 1e-8) {\n roots = [0].concat(p < 0 ? [Math.sqrt(-p), -Math.sqrt(-p)] : []);\n } else {\n const D3 = q * q / 4 + p * p * p / 27;\n if (Math.abs(D3) < 1e-8) {\n roots = [-1.5 * q / p, 3 * q / p];\n } else if (D3 > 0) {\n u = getRoot(-q / 2 - Math.sqrt(D3), 3);\n roots = [u - p / (3 * u)];\n } else {\n u = 2 * Math.sqrt(-p / 3);\n const t = Math.acos(3 * q / p / u) / 3;\n const k = 2 * Math.PI / 3;\n roots = [u * Math.cos(t), u * Math.cos(t - k), u * Math.cos(t - 2 * k)];\n }\n }\n for (let i = 0; i < roots.length; i++) {\n roots[i] -= b / (3 * a);\n }\n return roots;\n}\nfunction trunc(value) {\n return Math.trunc ? Math.trunc(value) : value > 0 ? Math.floor(value) : Math.ceil(value);\n}\nfunction getRemainderByDivision(dividend, divider, digitsCount) {\n if (divider === parseInt(divider)) {\n return dividend % divider;\n }\n const quotient = roundFloatPart(dividend / divider, digitsCount);\n return (quotient - parseInt(quotient)) * divider;\n}\nfunction getExponentLength(value) {\n var _valueString$split$;\n const valueString = value.toString();\n return (null === (_valueString$split$ = valueString.split(\".\")[1]) || void 0 === _valueString$split$ ? void 0 : _valueString$split$.length) || parseInt(valueString.split(\"e-\")[1]) || 0;\n}\nfunction roundFloatPart(value) {\n let digitsCount = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0;\n return parseFloat(value.toFixed(digitsCount));\n}\nexport { sign, fitIntoRange, inRange, adjust, getPrecision, getExponent, getRoot, solveCubicEquation, trunc, roundFloatPart, getExponentLength, getRemainderByDivision, multiplyInExponentialForm };","/**\r\n * DevExtreme (esm/localization/utils.js)\r\n * Version: 24.1.7\r\n * Build date: Wed Oct 30 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\nimport { sign, multiplyInExponentialForm } from \"../core/utils/math\";\nconst DECIMAL_BASE = 10;\nfunction roundByAbs(value) {\n const valueSign = sign(value);\n return valueSign * Math.round(Math.abs(value));\n}\nfunction adjustValue(value, precision) {\n const precisionMultiplier = Math.pow(DECIMAL_BASE, precision);\n const intermediateValue = multiplyInExponentialForm(value, precision);\n return roundByAbs(intermediateValue) / precisionMultiplier;\n}\nexport function toFixed(value, precision) {\n const valuePrecision = precision || 0;\n const adjustedValue = valuePrecision > 0 ? adjustValue(...arguments) : value;\n return adjustedValue.toFixed(valuePrecision);\n}","/**\r\n * DevExtreme (esm/localization/ldml/number.js)\r\n * Version: 24.1.7\r\n * Build date: Wed Oct 30 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\nimport { fitIntoRange, multiplyInExponentialForm } from \"../../core/utils/math\";\nimport { toFixed } from \"../utils\";\nconst DEFAULT_CONFIG = {\n thousandsSeparator: \",\",\n decimalSeparator: \".\"\n};\nconst ESCAPING_CHAR = \"'\";\nconst MAXIMUM_NUMBER_LENGTH = 15;\nconst PERCENT_EXPONENT_SHIFT = 2;\nfunction getGroupSizes(formatString) {\n return formatString.split(\",\").slice(1).map(function (str) {\n let singleQuotesLeft = 0;\n return str.split(\"\").filter(function (char, index) {\n singleQuotesLeft += \"'\" === char;\n const isDigit = \"#\" === char || \"0\" === char;\n const isInStub = singleQuotesLeft % 2;\n return isDigit && !isInStub;\n }).length;\n });\n}\nfunction getSignParts(format) {\n const signParts = format.split(\";\");\n if (1 === signParts.length) {\n signParts.push(\"-\" + signParts[0]);\n }\n return signParts;\n}\nfunction reverseString(str) {\n return str.toString().split(\"\").reverse().join(\"\");\n}\nfunction isPercentFormat(format) {\n return -1 !== format.indexOf(\"%\") && !format.match(/'[^']*%[^']*'/g);\n}\nfunction removeStubs(str) {\n return str.replace(/'.+'/g, \"\");\n}\nfunction getNonRequiredDigitCount(floatFormat) {\n if (!floatFormat) {\n return 0;\n }\n const format = removeStubs(floatFormat);\n return format.length - format.replace(/[#]/g, \"\").length;\n}\nfunction getRequiredDigitCount(floatFormat) {\n if (!floatFormat) {\n return 0;\n }\n const format = removeStubs(floatFormat);\n return format.length - format.replace(/[0]/g, \"\").length;\n}\nfunction normalizeValueString(valuePart, minDigitCount, maxDigitCount) {\n if (!valuePart) {\n return \"\";\n }\n if (valuePart.length > maxDigitCount) {\n valuePart = valuePart.substr(0, maxDigitCount);\n }\n while (valuePart.length > minDigitCount && \"0\" === valuePart.slice(-1)) {\n valuePart = valuePart.substr(0, valuePart.length - 1);\n }\n while (valuePart.length < minDigitCount) {\n valuePart += \"0\";\n }\n return valuePart;\n}\nfunction applyGroups(valueString, groupSizes, thousandsSeparator) {\n if (!groupSizes.length) {\n return valueString;\n }\n const groups = [];\n let index = 0;\n while (valueString) {\n const groupSize = groupSizes[index];\n if (!groupSize) {\n break;\n }\n groups.push(valueString.slice(0, groupSize));\n valueString = valueString.slice(groupSize);\n if (index < groupSizes.length - 1) {\n index++;\n }\n }\n return groups.join(thousandsSeparator);\n}\nfunction formatNumberPart(format, valueString) {\n return format.split(ESCAPING_CHAR).map(function (formatPart, escapeIndex) {\n const isEscape = escapeIndex % 2;\n if (!formatPart && isEscape) {\n return ESCAPING_CHAR;\n }\n return isEscape ? formatPart : formatPart.replace(/[,#0]+/, valueString);\n }).join(\"\");\n}\nfunction getFloatPointIndex(format) {\n let isEscape = false;\n for (let index = 0; index < format.length; index++) {\n if (\"'\" === format[index]) {\n isEscape = !isEscape;\n }\n if (\".\" === format[index] && !isEscape) {\n return index;\n }\n }\n return format.length;\n}\nexport function getFormatter(format, config) {\n config = config || DEFAULT_CONFIG;\n return function (value) {\n if (\"number\" !== typeof value || isNaN(value)) {\n return \"\";\n }\n const signFormatParts = getSignParts(format);\n const isPositiveZero = 1 / value === 1 / 0;\n const isPositive = value > 0 || isPositiveZero;\n const numberFormat = signFormatParts[isPositive ? 0 : 1];\n const floatPointIndex = getFloatPointIndex(numberFormat);\n const floatFormatParts = [numberFormat.substr(0, floatPointIndex), numberFormat.substr(floatPointIndex + 1)];\n const minFloatPrecision = getRequiredDigitCount(floatFormatParts[1]);\n const maxFloatPrecision = minFloatPrecision + getNonRequiredDigitCount(floatFormatParts[1]);\n if (isPercentFormat(numberFormat)) {\n value = multiplyInExponentialForm(value, 2);\n }\n if (!isPositive) {\n value = -value;\n }\n const minIntegerPrecision = getRequiredDigitCount(floatFormatParts[0]);\n const maxIntegerPrecision = getNonRequiredDigitCount(floatFormatParts[0]) || config.unlimitedIntegerDigits ? void 0 : minIntegerPrecision;\n const integerLength = Math.floor(value).toString().length;\n const floatPrecision = fitIntoRange(maxFloatPrecision, 0, 15 - integerLength);\n const groupSizes = getGroupSizes(floatFormatParts[0]).reverse();\n const valueParts = toFixed(value, floatPrecision < 0 ? 0 : floatPrecision).split(\".\");\n let valueIntegerPart = normalizeValueString(reverseString(valueParts[0]), minIntegerPrecision, maxIntegerPrecision);\n const valueFloatPart = normalizeValueString(valueParts[1], minFloatPrecision, maxFloatPrecision);\n valueIntegerPart = applyGroups(valueIntegerPart, groupSizes, config.thousandsSeparator);\n const integerString = reverseString(formatNumberPart(reverseString(floatFormatParts[0]), valueIntegerPart));\n const floatString = maxFloatPrecision ? formatNumberPart(floatFormatParts[1], valueFloatPart) : \"\";\n const result = integerString + (floatString.match(/\\d/) ? config.decimalSeparator : \"\") + floatString;\n return result;\n };\n}\nfunction parseValue(text, isPercent, isNegative) {\n const value = (isPercent ? .01 : 1) * parseFloat(text) || 0;\n return isNegative ? -value : value;\n}\nfunction prepareValueText(valueText, formatter, isPercent, isIntegerPart) {\n let nextValueText = valueText;\n let char;\n let text;\n let nextText;\n do {\n if (nextText) {\n char = text.length === nextText.length ? \"0\" : \"1\";\n valueText = isIntegerPart ? char + valueText : valueText + char;\n }\n text = nextText || formatter(parseValue(nextValueText, isPercent));\n nextValueText = isIntegerPart ? \"1\" + nextValueText : nextValueText + \"1\";\n nextText = formatter(parseValue(nextValueText, isPercent));\n } while (text !== nextText && (isIntegerPart ? text.length === nextText.length : text.length <= nextText.length));\n if (isIntegerPart && nextText.length > text.length) {\n const hasGroups = -1 === formatter(12345).indexOf(\"12345\");\n do {\n valueText = \"1\" + valueText;\n } while (hasGroups && parseValue(valueText, isPercent) < 1e5);\n }\n return valueText;\n}\nfunction getFormatByValueText(valueText, formatter, isPercent, isNegative) {\n let format = formatter(parseValue(valueText, isPercent, isNegative));\n const valueTextParts = valueText.split(\".\");\n const valueTextWithModifiedFloat = valueTextParts[0] + \".3\" + valueTextParts[1].slice(1);\n const valueWithModifiedFloat = parseValue(valueTextWithModifiedFloat, isPercent, isNegative);\n const decimalSeparatorIndex = formatter(valueWithModifiedFloat).indexOf(\"3\") - 1;\n format = format.replace(/(\\d)\\D(\\d)/g, \"$1,$2\");\n if (decimalSeparatorIndex >= 0) {\n format = format.slice(0, decimalSeparatorIndex) + \".\" + format.slice(decimalSeparatorIndex + 1);\n }\n format = format.replace(/1+/, \"1\").replace(/1/g, \"#\");\n if (!isPercent) {\n format = format.replace(/%/g, \"'%'\");\n }\n return format;\n}\nexport function getFormat(formatter) {\n let valueText = \".\";\n const isPercent = formatter(1).indexOf(\"100\") >= 0;\n valueText = prepareValueText(valueText, formatter, isPercent, true);\n valueText = prepareValueText(valueText, formatter, isPercent, false);\n const positiveFormat = getFormatByValueText(valueText, formatter, isPercent, false);\n const negativeFormat = getFormatByValueText(valueText, formatter, isPercent, true);\n return negativeFormat === \"-\" + positiveFormat ? positiveFormat : positiveFormat + \";\" + negativeFormat;\n}","/**\r\n * DevExtreme (esm/localization/currency.js)\r\n * Version: 24.1.7\r\n * Build date: Wed Oct 30 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\nimport { extend } from \"../core/utils/extend\";\nexport default {\n _formatNumberCore: function (value, format, formatConfig) {\n if (\"currency\" === format) {\n formatConfig.precision = formatConfig.precision || 0;\n let result = this.format(value, extend({}, formatConfig, {\n type: \"fixedpoint\"\n }));\n const currencyPart = this.getCurrencySymbol().symbol.replace(/\\$/g, \"$$$$\");\n result = result.replace(/^(\\D*)(\\d.*)/, \"$1\" + currencyPart + \"$2\");\n return result;\n }\n return this.callBase.apply(this, arguments);\n },\n getCurrencySymbol: function () {\n return {\n symbol: \"$\"\n };\n },\n getOpenXmlCurrencyFormat: function () {\n return \"$#,##0{0}_);\\\\($#,##0{0}\\\\)\";\n }\n};","/**\r\n * DevExtreme (esm/localization/open_xml_currency_format.js)\r\n * Version: 24.1.7\r\n * Build date: Wed Oct 30 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\nexport default ((currencySymbol, accountingFormat) => {\n if (!accountingFormat) {\n return;\n }\n let encodedCurrencySymbol = currencySymbol;\n if (\"string\" === typeof currencySymbol) {\n encodedCurrencySymbol = \"\";\n for (let i = 0; i < currencySymbol.length; i++) {\n if (\"$\" !== currencySymbol[i]) {\n encodedCurrencySymbol += \"\\\\\";\n }\n encodedCurrencySymbol += currencySymbol[i];\n }\n }\n const encodeSymbols = {\n \".00\": \"{0}\",\n \"'\": \"\\\\'\",\n \"\\\\(\": \"\\\\(\",\n \"\\\\)\": \"\\\\)\",\n \" \": \"\\\\ \",\n '\"': \""\",\n \"\\\\\\xa4\": encodedCurrencySymbol\n };\n const result = accountingFormat.split(\";\");\n for (let i = 0; i < result.length; i++) {\n for (const symbol in encodeSymbols) {\n if (Object.prototype.hasOwnProperty.call(encodeSymbols, symbol)) {\n result[i] = result[i].replace(new RegExp(symbol, \"g\"), encodeSymbols[symbol]);\n }\n }\n }\n return 2 === result.length ? result[0] + \"_);\" + result[1] : result[0];\n});","/**\r\n * DevExtreme (esm/localization/cldr-data/accounting_formats.js)\r\n * Version: 24.1.7\r\n * Build date: Wed Oct 30 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\n// !!! AUTO-GENERATED FILE, DO NOT EDIT\nexport default {\n af: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"af-NA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n agq: \"#,##0.00\\xa4\",\n ak: \"\\xa4#,##0.00\",\n am: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n ar: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"ar-AE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"ar-BH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"ar-DJ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"ar-DZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"ar-EG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"ar-EH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"ar-ER\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"ar-IL\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"ar-IQ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"ar-JO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"ar-KM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"ar-KW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"ar-LB\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"ar-LY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"ar-MA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"ar-MR\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"ar-OM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"ar-PS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"ar-QA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"ar-SA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"ar-SD\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"ar-SO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"ar-SS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"ar-SY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"ar-TD\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"ar-TN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"ar-YE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n as: \"\\xa4\\xa0#,##,##0.00\",\n asa: \"#,##0.00\\xa0\\xa4\",\n ast: \"#,##0.00\\xa0\\xa4\",\n az: \"#,##0.00\\xa0\\xa4\",\n \"az-Cyrl\": \"#,##0.00\\xa0\\xa4\",\n \"az-Latn\": \"#,##0.00\\xa0\\xa4\",\n bas: \"#,##0.00\\xa0\\xa4\",\n be: \"#,##0.00\\xa0\\xa4\",\n \"be-tarask\": \"#,##0.00\\xa0\\xa4\",\n bem: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n bez: \"#,##0.00\\xa4\",\n bg: \"0.00\\xa0\\xa4;(0.00\\xa0\\xa4)\",\n bm: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n bn: \"#,##,##0.00\\xa4;(#,##,##0.00\\xa4)\",\n \"bn-IN\": \"#,##,##0.00\\xa4;(#,##,##0.00\\xa4)\",\n bo: \"\\xa4\\xa0#,##0.00\",\n \"bo-IN\": \"\\xa4\\xa0#,##0.00\",\n br: \"#,##0.00\\xa0\\xa4\",\n brx: \"\\xa4\\xa0#,##,##0.00\",\n bs: \"#,##0.00\\xa0\\xa4\",\n \"bs-Cyrl\": \"#,##0.00\\xa0\\xa4\",\n \"bs-Latn\": \"#,##0.00\\xa0\\xa4\",\n ca: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"ca-AD\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"ca-ES-valencia\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"ca-FR\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"ca-IT\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n ccp: \"#,##,##0.00\\xa4;(#,##,##0.00\\xa4)\",\n \"ccp-IN\": \"#,##,##0.00\\xa4;(#,##,##0.00\\xa4)\",\n ce: \"#,##0.00\\xa0\\xa4\",\n ceb: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n cgg: \"\\xa4#,##0.00\",\n chr: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n ckb: \"\\xa4\\xa0#,##0.00\",\n \"ckb-IR\": \"\\xa4\\xa0#,##0.00\",\n cs: \"#,##0.00\\xa0\\xa4\",\n cy: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n da: \"#,##0.00\\xa0\\xa4\",\n \"da-GL\": \"#,##0.00\\xa0\\xa4\",\n dav: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n de: \"#,##0.00\\xa0\\xa4\",\n \"de-AT\": \"#,##0.00\\xa0\\xa4\",\n \"de-BE\": \"#,##0.00\\xa0\\xa4\",\n \"de-CH\": \"#,##0.00\\xa0\\xa4\",\n \"de-IT\": \"#,##0.00\\xa0\\xa4\",\n \"de-LI\": \"#,##0.00\\xa0\\xa4\",\n \"de-LU\": \"#,##0.00\\xa0\\xa4\",\n dje: \"#,##0.00\\xa4\",\n doi: \"\\xa4#,##0.00\",\n dsb: \"#,##0.00\\xa0\\xa4\",\n dua: \"#,##0.00\\xa0\\xa4\",\n dyo: \"#,##0.00\\xa0\\xa4\",\n dz: \"\\xa4#,##,##0.00\",\n ebu: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n ee: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"ee-TG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n el: \"#,##0.00\\xa0\\xa4\",\n \"el-CY\": \"#,##0.00\\xa0\\xa4\",\n en: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-001\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-150\": \"#,##0.00\\xa0\\xa4\",\n \"en-AE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-AG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-AI\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-AS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-AT\": \"\\xa4\\xa0#,##0.00\",\n \"en-AU\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-BB\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-BE\": \"#,##0.00\\xa0\\xa4\",\n \"en-BI\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-BM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-BS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-BW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-BZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-CA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-CC\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-CH\": \"\\xa4\\xa0#,##0.00;\\xa4-#,##0.00\",\n \"en-CK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-CM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-CX\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-CY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-DE\": \"#,##0.00\\xa0\\xa4\",\n \"en-DG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-DK\": \"#,##0.00\\xa0\\xa4\",\n \"en-DM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-ER\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-FI\": \"#,##0.00\\xa0\\xa4\",\n \"en-FJ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-FK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-FM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-GB\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-GD\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-GG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-GH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-GI\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-GM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-GU\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-GY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-HK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-IE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-IL\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-IM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-IN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-IO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-JE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-JM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-KE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-KI\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-KN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-KY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-LC\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-LR\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-LS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-MG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-MH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-MO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-MP\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-MS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-MT\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-MU\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-MV\": \"\\xa4\\xa0#,##0.00\",\n \"en-MW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-MY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-NA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-NF\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-NG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-NL\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\n \"en-NR\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-NU\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-NZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-PG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-PH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-PK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-PN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-PR\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-PW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-RW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-SB\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-SC\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-SD\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-SE\": \"#,##0.00\\xa0\\xa4\",\n \"en-SG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-SH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-SI\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"en-SL\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-SS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-SX\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-SZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-TC\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-TK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-TO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-TT\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-TV\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-TZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-UG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-UM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-VC\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-VG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-VI\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-VU\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-WS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-ZA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-ZM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"en-ZW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n eo: \"\\xa4\\xa0#,##0.00\",\n es: \"#,##0.00\\xa0\\xa4\",\n \"es-419\": \"\\xa4#,##0.00\",\n \"es-AR\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\n \"es-BO\": \"\\xa4#,##0.00\",\n \"es-BR\": \"\\xa4#,##0.00\",\n \"es-BZ\": \"\\xa4#,##0.00\",\n \"es-CL\": \"\\xa4#,##0.00\",\n \"es-CO\": \"\\xa4#,##0.00\",\n \"es-CR\": \"\\xa4#,##0.00\",\n \"es-CU\": \"\\xa4#,##0.00\",\n \"es-DO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"es-EA\": \"#,##0.00\\xa0\\xa4\",\n \"es-EC\": \"\\xa4#,##0.00\",\n \"es-GQ\": \"#,##0.00\\xa0\\xa4\",\n \"es-GT\": \"\\xa4#,##0.00\",\n \"es-HN\": \"\\xa4#,##0.00\",\n \"es-IC\": \"#,##0.00\\xa0\\xa4\",\n \"es-MX\": \"\\xa4#,##0.00\",\n \"es-NI\": \"\\xa4#,##0.00\",\n \"es-PA\": \"\\xa4#,##0.00\",\n \"es-PE\": \"\\xa4#,##0.00\",\n \"es-PH\": \"#,##0.00\\xa0\\xa4\",\n \"es-PR\": \"\\xa4#,##0.00\",\n \"es-PY\": \"\\xa4#,##0.00\",\n \"es-SV\": \"\\xa4#,##0.00\",\n \"es-US\": \"\\xa4#,##0.00\",\n \"es-UY\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\n \"es-VE\": \"\\xa4#,##0.00\",\n et: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n eu: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n ewo: \"#,##0.00\\xa0\\xa4\",\n fa: \"\\u200e\\xa4\\xa0#,##0.00;\\u200e(\\xa4\\xa0#,##0.00)\",\n \"fa-AF\": \"\\xa4\\xa0#,##0.00;\\u200e(\\xa4\\xa0#,##0.00)\",\n ff: \"#,##0.00\\xa0\\xa4\",\n \"ff-Adlm\": \"\\xa4\\xa0#,##0.00\",\n \"ff-Adlm-BF\": \"\\xa4\\xa0#,##0.00\",\n \"ff-Adlm-CM\": \"\\xa4\\xa0#,##0.00\",\n \"ff-Adlm-GH\": \"\\xa4\\xa0#,##0.00\",\n \"ff-Adlm-GM\": \"\\xa4\\xa0#,##0.00\",\n \"ff-Adlm-GW\": \"\\xa4\\xa0#,##0.00\",\n \"ff-Adlm-LR\": \"\\xa4\\xa0#,##0.00\",\n \"ff-Adlm-MR\": \"\\xa4\\xa0#,##0.00\",\n \"ff-Adlm-NE\": \"\\xa4\\xa0#,##0.00\",\n \"ff-Adlm-NG\": \"\\xa4\\xa0#,##0.00\",\n \"ff-Adlm-SL\": \"\\xa4\\xa0#,##0.00\",\n \"ff-Adlm-SN\": \"\\xa4\\xa0#,##0.00\",\n \"ff-Latn\": \"#,##0.00\\xa0\\xa4\",\n \"ff-Latn-BF\": \"#,##0.00\\xa0\\xa4\",\n \"ff-Latn-CM\": \"#,##0.00\\xa0\\xa4\",\n \"ff-Latn-GH\": \"#,##0.00\\xa0\\xa4\",\n \"ff-Latn-GM\": \"#,##0.00\\xa0\\xa4\",\n \"ff-Latn-GN\": \"#,##0.00\\xa0\\xa4\",\n \"ff-Latn-GW\": \"#,##0.00\\xa0\\xa4\",\n \"ff-Latn-LR\": \"#,##0.00\\xa0\\xa4\",\n \"ff-Latn-MR\": \"#,##0.00\\xa0\\xa4\",\n \"ff-Latn-NE\": \"#,##0.00\\xa0\\xa4\",\n \"ff-Latn-NG\": \"#,##0.00\\xa0\\xa4\",\n \"ff-Latn-SL\": \"#,##0.00\\xa0\\xa4\",\n fi: \"#,##0.00\\xa0\\xa4\",\n fil: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n fo: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fo-DK\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n fr: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-BE\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-BF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-BI\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-BJ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-BL\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-CA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-CD\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-CF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-CG\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-CH\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-CI\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-CM\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-DJ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-DZ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-GA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-GF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-GN\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-GP\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-GQ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-HT\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-KM\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-LU\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-MA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-MC\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-MF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-MG\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-ML\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-MQ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-MR\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-MU\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-NC\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-NE\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-PF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-PM\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-RE\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-RW\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-SC\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-SN\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-SY\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-TD\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-TG\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-TN\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-VU\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-WF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"fr-YT\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n fur: \"\\xa4\\xa0#,##0.00\",\n fy: \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\n ga: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"ga-GB\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n gd: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n gl: \"#,##0.00\\xa0\\xa4\",\n gsw: \"#,##0.00\\xa0\\xa4\",\n \"gsw-FR\": \"#,##0.00\\xa0\\xa4\",\n \"gsw-LI\": \"#,##0.00\\xa0\\xa4\",\n gu: \"\\xa4#,##,##0.00;(\\xa4#,##,##0.00)\",\n guz: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n gv: \"\\xa4#,##0.00\",\n ha: \"\\xa4\\xa0#,##0.00\",\n \"ha-GH\": \"\\xa4\\xa0#,##0.00\",\n \"ha-NE\": \"\\xa4\\xa0#,##0.00\",\n haw: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n he: \"#,##0.00\\xa0\\xa4\",\n hi: \"\\xa4#,##,##0.00\",\n \"hi-Latn\": \"\\xa4#,##,##0.00\",\n hr: \"#,##0.00\\xa0\\xa4\",\n \"hr-BA\": \"#,##0.00\\xa0\\xa4\",\n hsb: \"#,##0.00\\xa0\\xa4\",\n hu: \"#,##0.00\\xa0\\xa4\",\n hy: \"#,##0.00\\xa0\\xa4\",\n ia: \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\n id: \"\\xa4#,##0.00\",\n ig: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n ii: \"\\xa4\\xa0#,##0.00\",\n is: \"#,##0.00\\xa0\\xa4\",\n it: \"#,##0.00\\xa0\\xa4\",\n \"it-CH\": \"#,##0.00\\xa0\\xa4\",\n \"it-SM\": \"#,##0.00\\xa0\\xa4\",\n \"it-VA\": \"#,##0.00\\xa0\\xa4\",\n ja: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n jgo: \"\\xa4\\xa0#,##0.00\",\n jmc: \"\\xa4#,##0.00\",\n jv: \"\\xa4\\xa0#,##0.00\",\n ka: \"#,##0.00\\xa0\\xa4\",\n kab: \"#,##0.00\\xa4\",\n kam: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n kde: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n kea: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n kgp: \"\\xa4\\xa0#,##0.00\",\n khq: \"#,##0.00\\xa4\",\n ki: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n kk: \"#,##0.00\\xa0\\xa4\",\n kkj: \"\\xa4\\xa0#,##0.00\",\n kl: \"\\xa4#,##0.00;\\xa4-#,##0.00\",\n kln: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n km: \"#,##0.00\\xa4;(#,##0.00\\xa4)\",\n kn: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n ko: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"ko-KP\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n kok: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n ks: \"\\xa4#,##0.00\",\n \"ks-Arab\": \"\\xa4#,##0.00\",\n \"ks-Deva\": \"\\xa4\\xa0#,##0.00\",\n ksb: \"#,##0.00\\xa4\",\n ksf: \"#,##0.00\\xa0\\xa4\",\n ksh: \"#,##0.00\\xa0\\xa4\",\n ku: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n kw: \"\\xa4#,##0.00\",\n ky: \"#,##0.00\\xa0\\xa4\",\n lag: \"\\xa4\\xa0#,##0.00\",\n lb: \"#,##0.00\\xa0\\xa4\",\n lg: \"#,##0.00\\xa4\",\n lkt: \"\\xa4\\xa0#,##0.00\",\n ln: \"#,##0.00\\xa0\\xa4\",\n \"ln-AO\": \"#,##0.00\\xa0\\xa4\",\n \"ln-CF\": \"#,##0.00\\xa0\\xa4\",\n \"ln-CG\": \"#,##0.00\\xa0\\xa4\",\n lo: \"\\xa4#,##0.00;\\xa4-#,##0.00\",\n lrc: \"\\xa4\\xa0#,##0.00\",\n \"lrc-IQ\": \"\\xa4\\xa0#,##0.00\",\n lt: \"#,##0.00\\xa0\\xa4\",\n lu: \"#,##0.00\\xa4\",\n luo: \"#,##0.00\\xa4\",\n luy: \"\\xa4#,##0.00;\\xa4-\\xa0#,##0.00\",\n lv: \"#,##0.00\\xa0\\xa4\",\n mai: \"\\xa4\\xa0#,##0.00\",\n mas: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"mas-TZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n mer: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n mfe: \"\\xa4\\xa0#,##0.00\",\n mg: \"\\xa4#,##0.00\",\n mgh: \"\\xa4\\xa0#,##0.00\",\n mgo: \"\\xa4\\xa0#,##0.00\",\n mi: \"\\xa4\\xa0#,##0.00\",\n mk: \"#,##0.00\\xa0\\xa4\",\n ml: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n mn: \"\\xa4\\xa0#,##0.00\",\n mni: \"\\xa4\\xa0#,##0.00\",\n \"mni-Beng\": \"\\xa4\\xa0#,##0.00\",\n mr: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n ms: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"ms-BN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"ms-ID\": \"\\xa4#,##0.00\",\n \"ms-SG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n mt: \"\\xa4#,##0.00\",\n mua: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n my: \"\\xa4\\xa0#,##0.00\",\n mzn: \"\\xa4\\xa0#,##0.00\",\n naq: \"\\xa4#,##0.00\",\n nb: \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\n \"nb-SJ\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\n nd: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n nds: \"\\xa4\\xa0#,##0.00\",\n \"nds-NL\": \"\\xa4\\xa0#,##0.00\",\n ne: \"\\xa4\\xa0#,##,##0.00\",\n \"ne-IN\": \"\\xa4\\xa0#,##,##0.00\",\n nl: \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\n \"nl-AW\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\n \"nl-BE\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\n \"nl-BQ\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\n \"nl-CW\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\n \"nl-SR\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\n \"nl-SX\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\n nmg: \"#,##0.00\\xa0\\xa4\",\n nn: \"#,##0.00\\xa0\\xa4\",\n nnh: \"\\xa4\\xa0#,##0.00\",\n no: \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\n nus: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n nyn: \"\\xa4#,##0.00\",\n om: \"\\xa4#,##0.00\",\n \"om-KE\": \"\\xa4#,##0.00\",\n or: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n os: \"\\xa4\\xa0#,##0.00\",\n \"os-RU\": \"\\xa4\\xa0#,##0.00\",\n pa: \"\\xa4\\xa0#,##0.00\",\n \"pa-Arab\": \"\\xa4\\xa0#,##0.00\",\n \"pa-Guru\": \"\\xa4\\xa0#,##0.00\",\n pcm: \"\\xa4#,##0.00\",\n pl: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n ps: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"ps-PK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n pt: \"\\xa4\\xa0#,##0.00\",\n \"pt-AO\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"pt-CH\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"pt-CV\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"pt-GQ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"pt-GW\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"pt-LU\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"pt-MO\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"pt-MZ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"pt-PT\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"pt-ST\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"pt-TL\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n qu: \"\\xa4\\xa0#,##0.00\",\n \"qu-BO\": \"\\xa4\\xa0#,##0.00\",\n \"qu-EC\": \"\\xa4\\xa0#,##0.00\",\n rm: \"#,##0.00\\xa0\\xa4\",\n rn: \"#,##0.00\\xa4\",\n ro: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"ro-MD\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n rof: \"\\xa4#,##0.00\",\n ru: \"#,##0.00\\xa0\\xa4\",\n \"ru-BY\": \"#,##0.00\\xa0\\xa4\",\n \"ru-KG\": \"#,##0.00\\xa0\\xa4\",\n \"ru-KZ\": \"#,##0.00\\xa0\\xa4\",\n \"ru-MD\": \"#,##0.00\\xa0\\xa4\",\n \"ru-UA\": \"#,##0.00\\xa0\\xa4\",\n rw: \"\\xa4\\xa0#,##0.00\",\n rwk: \"#,##0.00\\xa4\",\n sa: \"\\xa4\\xa0#,##0.00\",\n sah: \"#,##0.00\\xa0\\xa4\",\n saq: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n sat: \"\\xa4\\xa0#,##0.00\",\n \"sat-Olck\": \"\\xa4\\xa0#,##0.00\",\n sbp: \"#,##0.00\\xa4\",\n sc: \"#,##0.00\\xa0\\xa4\",\n sd: \"\\xa4\\xa0#,##0.00\",\n \"sd-Arab\": \"\\xa4\\xa0#,##0.00\",\n \"sd-Deva\": \"\\xa4\\xa0#,##0.00\",\n se: \"#,##0.00\\xa0\\xa4\",\n \"se-FI\": \"#,##0.00\\xa0\\xa4\",\n \"se-SE\": \"#,##0.00\\xa0\\xa4\",\n seh: \"#,##0.00\\xa4\",\n ses: \"#,##0.00\\xa4\",\n sg: \"\\xa4#,##0.00;\\xa4-#,##0.00\",\n shi: \"#,##0.00\\xa4\",\n \"shi-Latn\": \"#,##0.00\\xa4\",\n \"shi-Tfng\": \"#,##0.00\\xa4\",\n si: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n sk: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n sl: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n smn: \"#,##0.00\\xa0\\xa4\",\n sn: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n so: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"so-DJ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"so-ET\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"so-KE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n sq: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"sq-MK\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"sq-XK\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n sr: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"sr-Cyrl\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"sr-Cyrl-BA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"sr-Cyrl-ME\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"sr-Cyrl-XK\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"sr-Latn\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"sr-Latn-BA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"sr-Latn-ME\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n \"sr-Latn-XK\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n su: \"\\xa4#,##0.00\",\n \"su-Latn\": \"\\xa4#,##0.00\",\n sv: \"#,##0.00\\xa0\\xa4\",\n \"sv-AX\": \"#,##0.00\\xa0\\xa4\",\n \"sv-FI\": \"#,##0.00\\xa0\\xa4\",\n sw: \"\\xa4\\xa0#,##0.00\",\n \"sw-CD\": \"\\xa4\\xa0#,##0.00\",\n \"sw-KE\": \"\\xa4\\xa0#,##0.00\",\n \"sw-UG\": \"\\xa4\\xa0#,##0.00\",\n ta: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"ta-LK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"ta-MY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"ta-SG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n te: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n teo: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"teo-KE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n tg: \"#,##0.00\\xa0\\xa4\",\n th: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n ti: \"\\xa4#,##0.00\",\n \"ti-ER\": \"\\xa4#,##0.00\",\n tk: \"#,##0.00\\xa0\\xa4\",\n to: \"\\xa4\\xa0#,##0.00\",\n tr: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"tr-CY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n tt: \"#,##0.00\\xa0\\xa4\",\n twq: \"#,##0.00\\xa4\",\n tzm: \"#,##0.00\\xa0\\xa4\",\n ug: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n uk: \"#,##0.00\\xa0\\xa4\",\n und: \"\\xa4\\xa0#,##0.00\",\n ur: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"ur-IN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n uz: \"#,##0.00\\xa0\\xa4\",\n \"uz-Arab\": \"\\xa4\\xa0#,##0.00\",\n \"uz-Cyrl\": \"#,##0.00\\xa0\\xa4\",\n \"uz-Latn\": \"#,##0.00\\xa0\\xa4\",\n vai: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"vai-Latn\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"vai-Vaii\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n vi: \"#,##0.00\\xa0\\xa4\",\n vun: \"\\xa4#,##0.00\",\n wae: \"\\xa4\\xa0#,##0.00\",\n wo: \"\\xa4\\xa0#,##0.00\",\n xh: \"\\xa4#,##0.00\",\n xog: \"#,##0.00\\xa0\\xa4\",\n yav: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\n yi: \"\\xa4\\xa0#,##0.00\",\n yo: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"yo-BJ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n yrl: \"\\xa4\\xa0#,##0.00\",\n \"yrl-CO\": \"\\xa4\\xa0#,##0.00\",\n \"yrl-VE\": \"\\xa4\\xa0#,##0.00\",\n yue: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"yue-Hans\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"yue-Hant\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n zgh: \"#,##0.00\\xa4\",\n zh: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"zh-Hans\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"zh-Hans-HK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"zh-Hans-MO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"zh-Hans-SG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"zh-Hant\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"zh-Hant-HK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n \"zh-Hant-MO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\n zu: \"\\xa4#,##0.00;(\\xa4#,##0.00)\"\n};","/**\r\n * DevExtreme (esm/localization/intl/number.js)\r\n * Version: 24.1.7\r\n * Build date: Wed Oct 30 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\nimport dxConfig from \"../../core/config\";\nimport localizationCoreUtils from \"../core\";\nimport openXmlCurrencyFormat from \"../open_xml_currency_format\";\nimport accountingFormats from \"../cldr-data/accounting_formats\";\nconst CURRENCY_STYLES = [\"standard\", \"accounting\"];\nconst MAX_FRACTION_DIGITS = 20;\nconst detectCurrencySymbolRegex = /([^\\s0]+)?(\\s*)0*[.,]*0*(\\s*)([^\\s0]+)?/;\nconst formattersCache = {};\nconst getFormatter = format => {\n const key = localizationCoreUtils.locale() + \"/\" + JSON.stringify(format);\n if (!formattersCache[key]) {\n formattersCache[key] = new Intl.NumberFormat(localizationCoreUtils.locale(), format).format;\n }\n return formattersCache[key];\n};\nconst getCurrencyFormatter = currency => new Intl.NumberFormat(localizationCoreUtils.locale(), {\n style: \"currency\",\n currency: currency\n});\nexport default {\n engine: function () {\n return \"intl\";\n },\n _formatNumberCore: function (value, format, formatConfig) {\n if (\"exponential\" === format) {\n return this.callBase.apply(this, arguments);\n }\n return getFormatter(this._normalizeFormatConfig(format, formatConfig, value))(value);\n },\n _normalizeFormatConfig: function (format, formatConfig, value) {\n let config;\n if (\"decimal\" === format) {\n const fractionDigits = String(value).split(\".\")[1];\n config = {\n minimumIntegerDigits: formatConfig.precision || void 0,\n useGrouping: false,\n maximumFractionDigits: fractionDigits && fractionDigits.length,\n round: value < 0 ? \"ceil\" : \"floor\"\n };\n } else {\n config = this._getPrecisionConfig(formatConfig.precision);\n }\n if (\"percent\" === format) {\n config.style = \"percent\";\n } else if (\"currency\" === format) {\n const useAccountingStyle = formatConfig.useCurrencyAccountingStyle ?? dxConfig().defaultUseCurrencyAccountingStyle;\n config.style = \"currency\";\n config.currency = formatConfig.currency || dxConfig().defaultCurrency;\n config.currencySign = CURRENCY_STYLES[+useAccountingStyle];\n }\n return config;\n },\n _getPrecisionConfig: function (precision) {\n let config;\n if (null === precision) {\n config = {\n minimumFractionDigits: 0,\n maximumFractionDigits: 20\n };\n } else {\n config = {\n minimumFractionDigits: precision || 0,\n maximumFractionDigits: precision || 0\n };\n }\n return config;\n },\n format: function (value, format) {\n if (\"number\" !== typeof value) {\n return value;\n }\n format = this._normalizeFormat(format);\n if (\"default\" === format.currency) {\n format.currency = dxConfig().defaultCurrency;\n }\n if (!format || \"function\" !== typeof format && !format.type && !format.formatter) {\n return getFormatter(format)(value);\n }\n return this.callBase.apply(this, arguments);\n },\n _getCurrencySymbolInfo: function (currency) {\n const formatter = getCurrencyFormatter(currency);\n return this._extractCurrencySymbolInfo(formatter.format(0));\n },\n _extractCurrencySymbolInfo: function (currencyValueString) {\n const match = detectCurrencySymbolRegex.exec(currencyValueString) || [];\n const position = match[1] ? \"before\" : \"after\";\n const symbol = match[1] || match[4] || \"\";\n const delimiter = match[2] || match[3] || \"\";\n return {\n position: position,\n symbol: symbol,\n delimiter: delimiter\n };\n },\n getCurrencySymbol: function (currency) {\n if (!currency) {\n currency = dxConfig().defaultCurrency;\n }\n const symbolInfo = this._getCurrencySymbolInfo(currency);\n return {\n symbol: symbolInfo.symbol\n };\n },\n getOpenXmlCurrencyFormat: function (currency) {\n const targetCurrency = currency || dxConfig().defaultCurrency;\n const currencySymbol = this._getCurrencySymbolInfo(targetCurrency).symbol;\n const closestAccountingFormat = localizationCoreUtils.getValueByClosestLocale(locale => accountingFormats[locale]);\n return openXmlCurrencyFormat(currencySymbol, closestAccountingFormat);\n }\n};","/**\r\n * DevExtreme (esm/localization/number.js)\r\n * Version: 24.1.7\r\n * Build date: Wed Oct 30 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\nimport dependencyInjector from \"../core/utils/dependency_injector\";\nimport { escapeRegExp } from \"../core/utils/common\";\nimport { each } from \"../core/utils/iterator\";\nimport { isPlainObject } from \"../core/utils/type\";\nimport { getFormatter } from \"./ldml/number\";\nimport config from \"../core/config\";\nimport errors from \"../core/errors\";\nimport { toFixed } from \"./utils\";\nimport currencyLocalization from \"./currency\";\nimport intlNumberLocalization from \"./intl/number\";\nconst hasIntl = \"undefined\" !== typeof Intl;\nconst MAX_LARGE_NUMBER_POWER = 4;\nconst DECIMAL_BASE = 10;\nconst NUMERIC_FORMATS = [\"currency\", \"fixedpoint\", \"exponential\", \"percent\", \"decimal\"];\nconst LargeNumberFormatPostfixes = {\n 1: \"K\",\n 2: \"M\",\n 3: \"B\",\n 4: \"T\"\n};\nconst LargeNumberFormatPowers = {\n largenumber: \"auto\",\n thousands: 1,\n millions: 2,\n billions: 3,\n trillions: 4\n};\nconst numberLocalization = dependencyInjector({\n engine: function () {\n return \"base\";\n },\n numericFormats: NUMERIC_FORMATS,\n defaultLargeNumberFormatPostfixes: LargeNumberFormatPostfixes,\n _parseNumberFormatString: function (formatType) {\n const formatObject = {};\n if (!formatType || \"string\" !== typeof formatType) {\n return;\n }\n const formatList = formatType.toLowerCase().split(\" \");\n each(formatList, (index, value) => {\n if (NUMERIC_FORMATS.includes(value)) {\n formatObject.formatType = value;\n } else if (value in LargeNumberFormatPowers) {\n formatObject.power = LargeNumberFormatPowers[value];\n }\n });\n if (formatObject.power && !formatObject.formatType) {\n formatObject.formatType = \"fixedpoint\";\n }\n if (formatObject.formatType) {\n return formatObject;\n }\n },\n _calculateNumberPower: function (value, base, minPower, maxPower) {\n let number = Math.abs(value);\n let power = 0;\n if (number > 1) {\n while (number && number >= base && (void 0 === maxPower || power < maxPower)) {\n power++;\n number /= base;\n }\n } else if (number > 0 && number < 1) {\n while (number < 1 && (void 0 === minPower || power > minPower)) {\n power--;\n number *= base;\n }\n }\n return power;\n },\n _getNumberByPower: function (number, power, base) {\n let result = number;\n while (power > 0) {\n result /= base;\n power--;\n }\n while (power < 0) {\n result *= base;\n power++;\n }\n return result;\n },\n _formatNumber: function (value, formatObject, formatConfig) {\n if (\"auto\" === formatObject.power) {\n formatObject.power = this._calculateNumberPower(value, 1e3, 0, 4);\n }\n if (formatObject.power) {\n value = this._getNumberByPower(value, formatObject.power, 1e3);\n }\n const powerPostfix = this.defaultLargeNumberFormatPostfixes[formatObject.power] || \"\";\n let result = this._formatNumberCore(value, formatObject.formatType, formatConfig);\n result = result.replace(/(\\d|.$)(\\D*)$/, \"$1\" + powerPostfix + \"$2\");\n return result;\n },\n _formatNumberExponential: function (value, formatConfig) {\n let power = this._calculateNumberPower(value, 10);\n let number = this._getNumberByPower(value, power, 10);\n if (void 0 === formatConfig.precision) {\n formatConfig.precision = 1;\n }\n if (number.toFixed(formatConfig.precision || 0) >= 10) {\n power++;\n number /= 10;\n }\n const powString = (power >= 0 ? \"+\" : \"\") + power.toString();\n return this._formatNumberCore(number, \"fixedpoint\", formatConfig) + \"E\" + powString;\n },\n _addZeroes: function (value, precision) {\n const multiplier = Math.pow(10, precision);\n const sign = value < 0 ? \"-\" : \"\";\n value = (Math.abs(value) * multiplier >>> 0) / multiplier;\n let result = value.toString();\n while (result.length < precision) {\n result = \"0\" + result;\n }\n return sign + result;\n },\n _addGroupSeparators: function (value) {\n const parts = value.toString().split(\".\");\n return parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, config().thousandsSeparator) + (parts[1] ? config().decimalSeparator + parts[1] : \"\");\n },\n _formatNumberCore: function (value, format, formatConfig) {\n if (\"exponential\" === format) {\n return this._formatNumberExponential(value, formatConfig);\n }\n if (\"decimal\" !== format && null !== formatConfig.precision) {\n formatConfig.precision = formatConfig.precision || 0;\n }\n if (\"percent\" === format) {\n value *= 100;\n }\n if (void 0 !== formatConfig.precision) {\n if (\"decimal\" === format) {\n value = this._addZeroes(value, formatConfig.precision);\n } else {\n value = null === formatConfig.precision ? value.toPrecision() : toFixed(value, formatConfig.precision);\n }\n }\n if (\"decimal\" !== format) {\n value = this._addGroupSeparators(value);\n } else {\n value = value.toString().replace(\".\", config().decimalSeparator);\n }\n if (\"percent\" === format) {\n value += \"%\";\n }\n return value;\n },\n _normalizeFormat: function (format) {\n if (!format) {\n return {};\n }\n if (\"function\" === typeof format) {\n return format;\n }\n if (!isPlainObject(format)) {\n format = {\n type: format\n };\n }\n return format;\n },\n _getSeparators: function () {\n return {\n decimalSeparator: this.getDecimalSeparator(),\n thousandsSeparator: this.getThousandsSeparator()\n };\n },\n getThousandsSeparator: function () {\n return this.format(1e4, \"fixedPoint\")[2];\n },\n getDecimalSeparator: function () {\n return this.format(1.2, {\n type: \"fixedPoint\",\n precision: 1\n })[1];\n },\n convertDigits: function (value, toStandard) {\n const digits = this.format(90, \"decimal\");\n if (\"string\" !== typeof value || \"0\" === digits[1]) {\n return value;\n }\n const fromFirstDigit = toStandard ? digits[1] : \"0\";\n const toFirstDigit = toStandard ? \"0\" : digits[1];\n const fromLastDigit = toStandard ? digits[0] : \"9\";\n const regExp = new RegExp(\"[\" + fromFirstDigit + \"-\" + fromLastDigit + \"]\", \"g\");\n return value.replace(regExp, char => String.fromCharCode(char.charCodeAt(0) + (toFirstDigit.charCodeAt(0) - fromFirstDigit.charCodeAt(0))));\n },\n getNegativeEtalonRegExp: function (format) {\n const separators = this._getSeparators();\n const digitalRegExp = new RegExp(\"[0-9\" + escapeRegExp(separators.decimalSeparator + separators.thousandsSeparator) + \"]+\", \"g\");\n let negativeEtalon = this.format(-1, format).replace(digitalRegExp, \"1\");\n [\"\\\\\", \"(\", \")\", \"[\", \"]\", \"*\", \"+\", \"$\", \"^\", \"?\", \"|\", \"{\", \"}\"].forEach(char => {\n negativeEtalon = negativeEtalon.replace(new RegExp(`\\\\${char}`, \"g\"), `\\\\${char}`);\n });\n negativeEtalon = negativeEtalon.replace(/ /g, \"\\\\s\");\n negativeEtalon = negativeEtalon.replace(/1/g, \".*\");\n return new RegExp(negativeEtalon, \"g\");\n },\n getSign: function (text, format) {\n if (!format) {\n if (\"-\" === text.replace(/[^0-9-]/g, \"\").charAt(0)) {\n return -1;\n }\n return 1;\n }\n const negativeEtalon = this.getNegativeEtalonRegExp(format);\n return text.match(negativeEtalon) ? -1 : 1;\n },\n format: function (value, format) {\n if (\"number\" !== typeof value) {\n return value;\n }\n if (\"number\" === typeof format) {\n return value;\n }\n format = format && format.formatter || format;\n if (\"function\" === typeof format) {\n return format(value);\n }\n format = this._normalizeFormat(format);\n if (!format.type) {\n format.type = \"decimal\";\n }\n const numberConfig = this._parseNumberFormatString(format.type);\n if (!numberConfig) {\n const formatterConfig = this._getSeparators();\n formatterConfig.unlimitedIntegerDigits = format.unlimitedIntegerDigits;\n return this.convertDigits(getFormatter(format.type, formatterConfig)(value));\n }\n return this._formatNumber(value, numberConfig, format);\n },\n parse: function (text, format) {\n if (!text) {\n return;\n }\n if (format && format.parser) {\n return format.parser(text);\n }\n text = this.convertDigits(text, true);\n if (format && \"string\" !== typeof format) {\n errors.log(\"W0011\");\n }\n const decimalSeparator = this.getDecimalSeparator();\n const regExp = new RegExp(\"[^0-9\" + escapeRegExp(decimalSeparator) + \"]\", \"g\");\n const cleanedText = text.replace(regExp, \"\").replace(decimalSeparator, \".\").replace(/\\.$/g, \"\");\n if (\".\" === cleanedText || \"\" === cleanedText) {\n return null;\n }\n if (this._calcSignificantDigits(cleanedText) > 15) {\n return NaN;\n }\n let parsed = +cleanedText * this.getSign(text, format);\n format = this._normalizeFormat(format);\n const formatConfig = this._parseNumberFormatString(format.type);\n let power = null === formatConfig || void 0 === formatConfig ? void 0 : formatConfig.power;\n if (power) {\n if (\"auto\" === power) {\n const match = text.match(/\\d(K|M|B|T)/);\n if (match) {\n power = Object.keys(LargeNumberFormatPostfixes).find(power => LargeNumberFormatPostfixes[power] === match[1]);\n }\n }\n parsed *= Math.pow(10, 3 * power);\n }\n if (\"percent\" === (null === formatConfig || void 0 === formatConfig ? void 0 : formatConfig.formatType)) {\n parsed /= 100;\n }\n return parsed;\n },\n _calcSignificantDigits: function (text) {\n const [integer, fractional] = text.split(\".\");\n const calcDigitsAfterLeadingZeros = digits => {\n let index = -1;\n for (let i = 0; i < digits.length; i++) {\n if (\"0\" !== digits[i]) {\n index = i;\n break;\n }\n }\n return index > -1 ? digits.length - index : 0;\n };\n let result = 0;\n if (integer) {\n result += calcDigitsAfterLeadingZeros(integer.split(\"\"));\n }\n if (fractional) {\n result += calcDigitsAfterLeadingZeros(fractional.split(\"\").reverse());\n }\n return result;\n }\n});\nnumberLocalization.inject(currencyLocalization);\nif (hasIntl) {\n numberLocalization.inject(intlNumberLocalization);\n}\nexport default numberLocalization;","/**\r\n * DevExtreme (esm/localization/ldml/date.formatter.js)\r\n * Version: 24.1.7\r\n * Build date: Wed Oct 30 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\nfunction leftPad(text, length) {\n while (text.length < length) {\n text = \"0\" + text;\n }\n return text;\n}\nconst FORMAT_TYPES = {\n 3: \"abbreviated\",\n 4: \"wide\",\n 5: \"narrow\"\n};\nconst LDML_FORMATTERS = {\n y: function (date, count, useUtc) {\n let year = date[useUtc ? \"getUTCFullYear\" : \"getFullYear\"]();\n if (2 === count) {\n year %= 100;\n }\n return leftPad(year.toString(), count);\n },\n M: function (date, count, useUtc, dateParts) {\n const month = date[useUtc ? \"getUTCMonth\" : \"getMonth\"]();\n const formatType = FORMAT_TYPES[count];\n if (formatType) {\n return dateParts.getMonthNames(formatType, \"format\")[month];\n }\n return leftPad((month + 1).toString(), Math.min(count, 2));\n },\n L: function (date, count, useUtc, dateParts) {\n const month = date[useUtc ? \"getUTCMonth\" : \"getMonth\"]();\n const formatType = FORMAT_TYPES[count];\n if (formatType) {\n return dateParts.getMonthNames(formatType, \"standalone\")[month];\n }\n return leftPad((month + 1).toString(), Math.min(count, 2));\n },\n Q: function (date, count, useUtc, dateParts) {\n const month = date[useUtc ? \"getUTCMonth\" : \"getMonth\"]();\n const quarter = Math.floor(month / 3);\n const formatType = FORMAT_TYPES[count];\n if (formatType) {\n return dateParts.getQuarterNames(formatType)[quarter];\n }\n return leftPad((quarter + 1).toString(), Math.min(count, 2));\n },\n E: function (date, count, useUtc, dateParts) {\n const day = date[useUtc ? \"getUTCDay\" : \"getDay\"]();\n const formatType = FORMAT_TYPES[count < 3 ? 3 : count];\n return dateParts.getDayNames(formatType)[day];\n },\n a: function (date, count, useUtc, dateParts) {\n const hours = date[useUtc ? \"getUTCHours\" : \"getHours\"]();\n const period = hours < 12 ? 0 : 1;\n const formatType = FORMAT_TYPES[count];\n return dateParts.getPeriodNames(formatType)[period];\n },\n d: function (date, count, useUtc) {\n return leftPad(date[useUtc ? \"getUTCDate\" : \"getDate\"]().toString(), Math.min(count, 2));\n },\n H: function (date, count, useUtc) {\n return leftPad(date[useUtc ? \"getUTCHours\" : \"getHours\"]().toString(), Math.min(count, 2));\n },\n h: function (date, count, useUtc) {\n const hours = date[useUtc ? \"getUTCHours\" : \"getHours\"]();\n return leftPad((hours % 12 || 12).toString(), Math.min(count, 2));\n },\n m: function (date, count, useUtc) {\n return leftPad(date[useUtc ? \"getUTCMinutes\" : \"getMinutes\"]().toString(), Math.min(count, 2));\n },\n s: function (date, count, useUtc) {\n return leftPad(date[useUtc ? \"getUTCSeconds\" : \"getSeconds\"]().toString(), Math.min(count, 2));\n },\n S: function (date, count, useUtc) {\n return leftPad(date[useUtc ? \"getUTCMilliseconds\" : \"getMilliseconds\"]().toString(), 3).substr(0, count);\n },\n x: function (date, count, useUtc) {\n const timezoneOffset = useUtc ? 0 : date.getTimezoneOffset();\n const signPart = timezoneOffset > 0 ? \"-\" : \"+\";\n const timezoneOffsetAbs = Math.abs(timezoneOffset);\n const hours = Math.floor(timezoneOffsetAbs / 60);\n const minutes = timezoneOffsetAbs % 60;\n const hoursPart = leftPad(hours.toString(), 2);\n const minutesPart = leftPad(minutes.toString(), 2);\n return signPart + hoursPart + (count >= 3 ? \":\" : \"\") + (count > 1 || minutes ? minutesPart : \"\");\n },\n X: function (date, count, useUtc) {\n if (useUtc || !date.getTimezoneOffset()) {\n return \"Z\";\n }\n return LDML_FORMATTERS.x(date, count, useUtc);\n },\n Z: function (date, count, useUtc) {\n return LDML_FORMATTERS.X(date, count >= 5 ? 3 : 2, useUtc);\n }\n};\nexport const getFormatter = function (format, dateParts) {\n return function (date) {\n let charIndex;\n let formatter;\n let char;\n let charCount = 0;\n let isEscaping = false;\n let isCurrentCharEqualsNext;\n let result = \"\";\n if (!date) {\n return null;\n }\n if (!format) {\n return date;\n }\n const useUtc = \"Z\" === format[format.length - 1] || \"'Z'\" === format.slice(-3);\n for (charIndex = 0; charIndex < format.length; charIndex++) {\n char = format[charIndex];\n formatter = LDML_FORMATTERS[char];\n isCurrentCharEqualsNext = char === format[charIndex + 1];\n charCount++;\n if (!isCurrentCharEqualsNext) {\n if (formatter && !isEscaping) {\n result += formatter(date, charCount, useUtc, dateParts);\n }\n charCount = 0;\n }\n if (\"'\" === char && !isCurrentCharEqualsNext) {\n isEscaping = !isEscaping;\n } else if (isEscaping || !formatter) {\n result += char;\n }\n if (\"'\" === char && isCurrentCharEqualsNext) {\n charIndex++;\n }\n }\n return result;\n };\n};","/**\r\n * DevExtreme (esm/localization/ldml/date.format.js)\r\n * Version: 24.1.7\r\n * Build date: Wed Oct 30 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\nimport numberLocalization from \"../number\";\nconst ARABIC_COMMA = \"\\u060c\";\nconst FORMAT_SEPARATORS = \" .,:;/\\\\<>()-[]\\u060c\";\nconst AM_PM_PATTERN = \". m.\";\nconst checkDigit = function (char) {\n const code = char && numberLocalization.convertDigits(char, false).charCodeAt(0);\n const zeroCode = numberLocalization.convertDigits(\"0\", false).charCodeAt(0);\n return zeroCode <= code && code < zeroCode + 10;\n};\nconst checkPatternContinue = function (text, patterns, index, isDigit) {\n const char = text[index];\n const nextChar = text[index + 1];\n if (!isDigit) {\n if (\".\" === char || \" \" === char && \". m.\" === text.slice(index - 1, index + 3)) {\n return true;\n }\n if (\"-\" === char && !checkDigit(nextChar)) {\n return true;\n }\n }\n const isDigitChanged = isDigit && patterns.some(pattern => text[index] !== pattern[index]);\n return FORMAT_SEPARATORS.indexOf(char) < 0 && isDigit === checkDigit(char) && (!isDigit || isDigitChanged);\n};\nconst getPatternStartIndex = function (defaultPattern, index) {\n if (!checkDigit(defaultPattern[index])) {\n while (index > 0 && !checkDigit(defaultPattern[index - 1]) && (\".\" === defaultPattern[index - 1] || FORMAT_SEPARATORS.indexOf(defaultPattern[index - 1]) < 0)) {\n index--;\n }\n }\n return index;\n};\nconst getDifference = function (defaultPattern, patterns, processedIndexes, isDigit) {\n let i = 0;\n const result = [];\n const patternsFilter = function (pattern) {\n return defaultPattern[i] !== pattern[i] && (void 0 === isDigit || checkDigit(defaultPattern[i]) === isDigit);\n };\n if (!Array.isArray(patterns)) {\n patterns = [patterns];\n }\n for (i = 0; i < defaultPattern.length; i++) {\n if (processedIndexes.indexOf(i) < 0 && patterns.filter(patternsFilter).length) {\n i = getPatternStartIndex(defaultPattern, i);\n do {\n isDigit = checkDigit(defaultPattern[i]);\n if (!result.length && !isDigit && checkDigit(patterns[0][i])) {\n break;\n }\n result.push(i);\n processedIndexes.unshift(i);\n i++;\n } while (defaultPattern[i] && checkPatternContinue(defaultPattern, patterns, i, isDigit));\n break;\n }\n }\n if (1 === result.length && (\"0\" === defaultPattern[processedIndexes[0] - 1] || \"\\u0660\" === defaultPattern[processedIndexes[0] - 1])) {\n processedIndexes.unshift(processedIndexes[0] - 1);\n }\n return result;\n};\nconst replaceCharsCore = function (pattern, indexes, char, patternPositions) {\n const baseCharIndex = indexes[0];\n const patternIndex = baseCharIndex < patternPositions.length ? patternPositions[baseCharIndex] : baseCharIndex;\n indexes.forEach(function (_, index) {\n pattern = pattern.substr(0, patternIndex + index) + (char.length > 1 ? char[index] : char) + pattern.substr(patternIndex + index + 1);\n });\n if (1 === indexes.length) {\n pattern = pattern.replace(\"0\" + char, char + char);\n pattern = pattern.replace(\"\\u0660\" + char, char + char);\n }\n return pattern;\n};\nconst replaceChars = function (pattern, indexes, char, patternPositions) {\n let i;\n let index;\n let patternIndex;\n if (!checkDigit(pattern[indexes[0]] || \"0\")) {\n const letterCount = Math.max(indexes.length <= 3 ? 3 : 4, char.length);\n while (indexes.length > letterCount) {\n index = indexes.pop();\n patternIndex = patternPositions[index];\n patternPositions[index] = -1;\n for (i = index + 1; i < patternPositions.length; i++) {\n patternPositions[i]--;\n }\n pattern = pattern.substr(0, patternIndex) + pattern.substr(patternIndex + 1);\n }\n index = indexes[indexes.length - 1] + 1, patternIndex = index < patternPositions.length ? patternPositions[index] : index;\n while (indexes.length < letterCount) {\n indexes.push(indexes[indexes.length - 1] + 1);\n for (i = index; i < patternPositions.length; i++) {\n patternPositions[i]++;\n }\n pattern = pattern.substr(0, patternIndex) + \" \" + pattern.substr(patternIndex);\n }\n }\n pattern = replaceCharsCore(pattern, indexes, char, patternPositions);\n return pattern;\n};\nconst formatValue = function (value, formatter) {\n if (Array.isArray(value)) {\n return value.map(function (value) {\n return (formatter(value) || \"\").toString();\n });\n }\n return (formatter(value) || \"\").toString();\n};\nconst ESCAPE_CHARS_REGEXP = /[a-zA-Z]/g;\nconst escapeChars = function (pattern, defaultPattern, processedIndexes, patternPositions) {\n const escapeIndexes = defaultPattern.split(\"\").map(function (char, index) {\n if (processedIndexes.indexOf(index) < 0 && (char.match(ESCAPE_CHARS_REGEXP) || \"'\" === char)) {\n return patternPositions[index];\n }\n return -1;\n });\n pattern = pattern.split(\"\").map(function (char, index) {\n let result = char;\n const isCurrentCharEscaped = escapeIndexes.indexOf(index) >= 0;\n const isPrevCharEscaped = index > 0 && escapeIndexes.indexOf(index - 1) >= 0;\n const isNextCharEscaped = escapeIndexes.indexOf(index + 1) >= 0;\n if (isCurrentCharEscaped) {\n if (!isPrevCharEscaped) {\n result = \"'\" + result;\n }\n if (!isNextCharEscaped) {\n result += \"'\";\n }\n }\n return result;\n }).join(\"\");\n return pattern;\n};\nexport const getFormat = function (formatter) {\n const processedIndexes = [];\n const defaultPattern = formatValue(new Date(2009, 8, 8, 6, 5, 4), formatter);\n const patternPositions = defaultPattern.split(\"\").map(function (_, index) {\n return index;\n });\n let result = defaultPattern;\n const replacedPatterns = {};\n const datePatterns = [{\n date: new Date(2009, 8, 8, 6, 5, 4, 111),\n pattern: \"S\"\n }, {\n date: new Date(2009, 8, 8, 6, 5, 2),\n pattern: \"s\"\n }, {\n date: new Date(2009, 8, 8, 6, 2, 4),\n pattern: \"m\"\n }, {\n date: new Date(2009, 8, 8, 18, 5, 4),\n pattern: \"H\",\n isDigit: true\n }, {\n date: new Date(2009, 8, 8, 2, 5, 4),\n pattern: \"h\",\n isDigit: true\n }, {\n date: new Date(2009, 8, 8, 18, 5, 4),\n pattern: \"a\",\n isDigit: false\n }, {\n date: new Date(2009, 8, 1, 6, 5, 4),\n pattern: \"d\"\n }, {\n date: [new Date(2009, 8, 2, 6, 5, 4), new Date(2009, 8, 3, 6, 5, 4), new Date(2009, 8, 4, 6, 5, 4)],\n pattern: \"E\"\n }, {\n date: new Date(2009, 9, 6, 6, 5, 4),\n pattern: \"M\"\n }, {\n date: new Date(1998, 8, 8, 6, 5, 4),\n pattern: \"y\"\n }];\n if (!result) {\n return;\n }\n datePatterns.forEach(function (test) {\n const diff = getDifference(defaultPattern, formatValue(test.date, formatter), processedIndexes, test.isDigit);\n const pattern = \"M\" === test.pattern && !replacedPatterns.d ? \"L\" : test.pattern;\n result = replaceChars(result, diff, pattern, patternPositions);\n replacedPatterns[pattern] = diff.length;\n });\n result = escapeChars(result, defaultPattern, processedIndexes, patternPositions);\n if (processedIndexes.length) {\n return result;\n }\n};","/**\r\n * DevExtreme (esm/localization/ldml/date.parser.js)\r\n * Version: 24.1.7\r\n * Build date: Wed Oct 30 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\nimport { escapeRegExp } from \"../../core/utils/common\";\nimport { logger } from \"../../core/utils/console\";\nconst FORMAT_TYPES = {\n 3: \"abbreviated\",\n 4: \"wide\",\n 5: \"narrow\"\n};\nconst monthRegExpGenerator = function (count, dateParts) {\n if (count > 2) {\n return Object.keys(FORMAT_TYPES).map(function (count) {\n return [\"format\", \"standalone\"].map(function (type) {\n return dateParts.getMonthNames(FORMAT_TYPES[count], type).join(\"|\");\n }).join(\"|\");\n }).join(\"|\");\n }\n return 2 === count ? \"1[012]|0?[1-9]\" : \"0??[1-9]|1[012]\";\n};\nconst PATTERN_REGEXPS = {\n \":\": function (count, dateParts) {\n const countSuffix = count > 1 ? `{${count}}` : \"\";\n let timeSeparator = escapeRegExp(dateParts.getTimeSeparator());\n \":\" !== timeSeparator && (timeSeparator = `${timeSeparator}|:`);\n return `${timeSeparator}${countSuffix}`;\n },\n y: function (count) {\n return 2 === count ? `[0-9]{${count}}` : \"[0-9]+?\";\n },\n M: monthRegExpGenerator,\n L: monthRegExpGenerator,\n Q: function (count, dateParts) {\n if (count > 2) {\n return dateParts.getQuarterNames(FORMAT_TYPES[count], \"format\").join(\"|\");\n }\n return \"0?[1-4]\";\n },\n E: function (count, dateParts) {\n return \"\\\\D*\";\n },\n a: function (count, dateParts) {\n return dateParts.getPeriodNames(FORMAT_TYPES[count < 3 ? 3 : count], \"format\").join(\"|\");\n },\n d: function (count) {\n return 2 === count ? \"3[01]|[12][0-9]|0?[1-9]\" : \"0??[1-9]|[12][0-9]|3[01]\";\n },\n H: function (count) {\n return 2 === count ? \"2[0-3]|1[0-9]|0?[0-9]\" : \"0??[0-9]|1[0-9]|2[0-3]\";\n },\n h: function (count) {\n return 2 === count ? \"1[012]|0?[1-9]\" : \"0??[1-9]|1[012]\";\n },\n m: function (count) {\n return 2 === count ? \"[1-5][0-9]|0?[0-9]\" : \"0??[0-9]|[1-5][0-9]\";\n },\n s: function (count) {\n return 2 === count ? \"[1-5][0-9]|0?[0-9]\" : \"0??[0-9]|[1-5][0-9]\";\n },\n S: function (count) {\n return `[0-9]{1,${count}}`;\n },\n w: function (count) {\n return 2 === count ? \"[1-5][0-9]|0?[0-9]\" : \"0??[0-9]|[1-5][0-9]\";\n },\n x: function (count) {\n return 3 === count ? \"[+-](?:2[0-3]|[01][0-9]):(?:[0-5][0-9])|Z\" : \"[+-](?:2[0-3]|[01][0-9])(?:[0-5][0-9])|Z\";\n }\n};\nconst parseNumber = Number;\nconst caseInsensitiveIndexOf = function (array, value) {\n return array.map(item => item.toLowerCase()).indexOf(value.toLowerCase());\n};\nconst monthPatternParser = function (text, count, dateParts) {\n if (count > 2) {\n return [\"format\", \"standalone\"].map(function (type) {\n return Object.keys(FORMAT_TYPES).map(function (count) {\n const monthNames = dateParts.getMonthNames(FORMAT_TYPES[count], type);\n return caseInsensitiveIndexOf(monthNames, text);\n });\n }).reduce(function (a, b) {\n return a.concat(b);\n }).filter(function (index) {\n return index >= 0;\n })[0];\n }\n return parseNumber(text) - 1;\n};\nconst PATTERN_PARSERS = {\n y: function (text, count) {\n const year = parseNumber(text);\n if (2 === count) {\n return year < 30 ? 2e3 + year : 1900 + year;\n }\n return year;\n },\n M: monthPatternParser,\n L: monthPatternParser,\n Q: function (text, count, dateParts) {\n if (count > 2) {\n return dateParts.getQuarterNames(FORMAT_TYPES[count], \"format\").indexOf(text);\n }\n return parseNumber(text) - 1;\n },\n E: function (text, count, dateParts) {\n const dayNames = dateParts.getDayNames(FORMAT_TYPES[count < 3 ? 3 : count], \"format\");\n return caseInsensitiveIndexOf(dayNames, text);\n },\n a: function (text, count, dateParts) {\n const periodNames = dateParts.getPeriodNames(FORMAT_TYPES[count < 3 ? 3 : count], \"format\");\n return caseInsensitiveIndexOf(periodNames, text);\n },\n d: parseNumber,\n H: parseNumber,\n h: parseNumber,\n m: parseNumber,\n s: parseNumber,\n S: function (text, count) {\n count = Math.max(count, 3);\n text = text.slice(0, 3);\n while (count < 3) {\n text += \"0\";\n count++;\n }\n return parseNumber(text);\n }\n};\nconst ORDERED_PATTERNS = [\"y\", \"M\", \"d\", \"h\", \"m\", \"s\", \"S\"];\nconst PATTERN_SETTERS = {\n y: \"setFullYear\",\n M: \"setMonth\",\n L: \"setMonth\",\n a: function (date, value, datePartValues) {\n let hours = date.getHours();\n const hourPartValue = datePartValues.h;\n if (void 0 !== hourPartValue && hourPartValue !== hours) {\n hours--;\n }\n if (!value && 12 === hours) {\n hours = 0;\n } else if (value && 12 !== hours) {\n hours += 12;\n }\n date.setHours(hours);\n },\n d: \"setDate\",\n H: \"setHours\",\n h: \"setHours\",\n m: \"setMinutes\",\n s: \"setSeconds\",\n S: \"setMilliseconds\"\n};\nconst getSameCharCount = function (text, index) {\n const char = text[index];\n if (!char) {\n return 0;\n }\n let count = 0;\n do {\n index++;\n count++;\n } while (text[index] === char);\n return count;\n};\nconst createPattern = function (char, count) {\n let result = \"\";\n for (let i = 0; i < count; i++) {\n result += char;\n }\n return result;\n};\nexport const getRegExpInfo = function (format, dateParts) {\n let regexpText = \"\";\n let stubText = \"\";\n let isEscaping;\n const patterns = [];\n const addPreviousStub = function () {\n if (stubText) {\n patterns.push(`'${stubText}'`);\n regexpText += `${escapeRegExp(stubText)})`;\n stubText = \"\";\n }\n };\n for (let i = 0; i < format.length; i++) {\n const char = format[i];\n const isEscapeChar = \"'\" === char;\n const regexpPart = PATTERN_REGEXPS[char];\n if (isEscapeChar) {\n isEscaping = !isEscaping;\n if (\"'\" !== format[i - 1]) {\n continue;\n }\n }\n if (regexpPart && !isEscaping) {\n const count = getSameCharCount(format, i);\n const pattern = createPattern(char, count);\n addPreviousStub();\n patterns.push(pattern);\n regexpText += `(${regexpPart(count, dateParts)})`;\n i += count - 1;\n } else {\n if (!stubText) {\n regexpText += \"(\";\n }\n stubText += char;\n }\n }\n addPreviousStub();\n if (!isPossibleForParsingFormat(patterns)) {\n logger.warn(`The following format may be parsed incorrectly: ${format}.`);\n }\n return {\n patterns: patterns,\n regexp: new RegExp(`^${regexpText}$`, \"i\")\n };\n};\nconst digitFieldSymbols = [\"d\", \"H\", \"h\", \"m\", \"s\", \"w\", \"M\", \"L\", \"Q\"];\nexport const isPossibleForParsingFormat = function (patterns) {\n const isDigitPattern = pattern => {\n if (!pattern) {\n return false;\n }\n const char = pattern[0];\n return [\"y\", \"S\"].includes(char) || digitFieldSymbols.includes(char) && pattern.length < 3;\n };\n let possibleForParsing = true;\n let ambiguousDigitPatternsCount = 0;\n return patterns.every((pattern, index, patterns) => {\n if (isDigitPattern(pattern)) {\n if ((pattern => \"S\" !== pattern[0] && 2 !== pattern.length)(pattern)) {\n possibleForParsing = ++ambiguousDigitPatternsCount < 2;\n }\n if (!isDigitPattern(patterns[index + 1])) {\n ambiguousDigitPatternsCount = 0;\n }\n }\n return possibleForParsing;\n });\n};\nexport const getPatternSetters = function () {\n return PATTERN_SETTERS;\n};\nconst setPatternPart = function (date, pattern, text, dateParts, datePartValues) {\n const patternChar = pattern[0];\n const partSetter = PATTERN_SETTERS[patternChar];\n const partParser = PATTERN_PARSERS[patternChar];\n if (partSetter && partParser) {\n const value = partParser(text, pattern.length, dateParts);\n datePartValues[pattern] = value;\n if (date[partSetter]) {\n date[partSetter](value);\n } else {\n partSetter(date, value, datePartValues);\n }\n }\n};\nconst setPatternPartFromNow = function (date, pattern, now) {\n const setterName = PATTERN_SETTERS[pattern];\n const getterName = \"g\" + setterName.substr(1);\n const value = now[getterName]();\n date[setterName](value);\n};\nconst getShortPatterns = function (fullPatterns) {\n return fullPatterns.map(function (pattern) {\n if (\"'\" === pattern[0]) {\n return \"\";\n } else {\n return \"H\" === pattern[0] ? \"h\" : pattern[0];\n }\n });\n};\nconst getMaxOrderedPatternIndex = function (patterns) {\n const indexes = patterns.map(function (pattern) {\n return ORDERED_PATTERNS.indexOf(pattern);\n });\n return Math.max.apply(Math, indexes);\n};\nconst getOrderedFormatPatterns = function (formatPatterns) {\n const otherPatterns = formatPatterns.filter(function (pattern) {\n return ORDERED_PATTERNS.indexOf(pattern) < 0;\n });\n return ORDERED_PATTERNS.concat(otherPatterns);\n};\nexport const getParser = function (format, dateParts) {\n const regExpInfo = getRegExpInfo(format, dateParts);\n return function (text) {\n const regExpResult = regExpInfo.regexp.exec(text);\n if (regExpResult) {\n const now = new Date();\n const date = new Date(now.getFullYear(), 0, 1);\n const formatPatterns = getShortPatterns(regExpInfo.patterns);\n const maxPatternIndex = getMaxOrderedPatternIndex(formatPatterns);\n const orderedFormatPatterns = getOrderedFormatPatterns(formatPatterns);\n const datePartValues = {};\n orderedFormatPatterns.forEach(function (pattern, index) {\n if (!pattern || index < ORDERED_PATTERNS.length && index > maxPatternIndex) {\n return;\n }\n const patternIndex = formatPatterns.indexOf(pattern);\n if (patternIndex >= 0) {\n const regExpPattern = regExpInfo.patterns[patternIndex];\n const regExpText = regExpResult[patternIndex + 1];\n setPatternPart(date, regExpPattern, regExpText, dateParts, datePartValues);\n } else {\n setPatternPartFromNow(date, pattern, now);\n }\n });\n return date;\n }\n return null;\n };\n};","/**\r\n * DevExtreme (esm/localization/default_date_names.js)\r\n * Version: 24.1.7\r\n * Build date: Wed Oct 30 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\nimport { map } from \"../core/utils/iterator\";\nconst MONTHS = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];\nconst DAYS = [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"];\nconst PERIODS = [\"AM\", \"PM\"];\nconst QUARTERS = [\"Q1\", \"Q2\", \"Q3\", \"Q4\"];\nconst cutCaptions = (captions, format) => {\n const lengthByFormat = {\n abbreviated: 3,\n short: 2,\n narrow: 1\n };\n return map(captions, caption => caption.substr(0, lengthByFormat[format]));\n};\nexport default {\n getMonthNames: function (format) {\n return cutCaptions(MONTHS, format);\n },\n getDayNames: function (format) {\n return cutCaptions(DAYS, format);\n },\n getQuarterNames: function (format) {\n return QUARTERS;\n },\n getPeriodNames: function (format) {\n return PERIODS;\n }\n};","/**\r\n * DevExtreme (esm/localization/cldr-data/first_day_of_week_data.js)\r\n * Version: 24.1.7\r\n * Build date: Wed Oct 30 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\n// !!! AUTO-GENERATED FILE, DO NOT EDIT\nexport default {\n \"af-NA\": 1,\n agq: 1,\n ak: 1,\n ar: 6,\n \"ar-EH\": 1,\n \"ar-ER\": 1,\n \"ar-KM\": 1,\n \"ar-LB\": 1,\n \"ar-MA\": 1,\n \"ar-MR\": 1,\n \"ar-PS\": 1,\n \"ar-SO\": 1,\n \"ar-SS\": 1,\n \"ar-TD\": 1,\n \"ar-TN\": 1,\n asa: 1,\n ast: 1,\n az: 1,\n \"az-Cyrl\": 1,\n bas: 1,\n be: 1,\n bem: 1,\n bez: 1,\n bg: 1,\n bm: 1,\n br: 1,\n bs: 1,\n \"bs-Cyrl\": 1,\n ca: 1,\n ce: 1,\n cgg: 1,\n ckb: 6,\n cs: 1,\n cy: 1,\n da: 1,\n de: 1,\n dje: 1,\n dsb: 1,\n dua: 1,\n dyo: 1,\n ee: 1,\n el: 1,\n \"en-001\": 1,\n \"en-AE\": 6,\n \"en-BI\": 1,\n \"en-MP\": 1,\n \"en-MV\": 5,\n \"en-SD\": 6,\n eo: 1,\n es: 1,\n et: 1,\n eu: 1,\n ewo: 1,\n fa: 6,\n ff: 1,\n \"ff-Adlm\": 1,\n fi: 1,\n fo: 1,\n fr: 1,\n \"fr-DJ\": 6,\n \"fr-DZ\": 6,\n \"fr-SY\": 6,\n fur: 1,\n fy: 1,\n ga: 1,\n gd: 1,\n gl: 1,\n gsw: 1,\n gv: 1,\n ha: 1,\n hr: 1,\n hsb: 1,\n hu: 1,\n hy: 1,\n ia: 1,\n ig: 1,\n is: 1,\n it: 1,\n jgo: 1,\n jmc: 1,\n ka: 1,\n kab: 6,\n kde: 1,\n kea: 1,\n khq: 1,\n kk: 1,\n kkj: 1,\n kl: 1,\n \"ko-KP\": 1,\n ksb: 1,\n ksf: 1,\n ksh: 1,\n ku: 1,\n kw: 1,\n ky: 1,\n lag: 1,\n lb: 1,\n lg: 1,\n ln: 1,\n lrc: 6,\n lt: 1,\n lu: 1,\n lv: 1,\n \"mas-TZ\": 1,\n mfe: 1,\n mg: 1,\n mgo: 1,\n mi: 1,\n mk: 1,\n mn: 1,\n ms: 1,\n mua: 1,\n mzn: 6,\n naq: 1,\n nds: 1,\n nl: 1,\n nmg: 1,\n nnh: 1,\n no: 1,\n nus: 1,\n nyn: 1,\n os: 1,\n pcm: 1,\n pl: 1,\n ps: 6,\n \"pt-AO\": 1,\n \"pt-CH\": 1,\n \"pt-CV\": 1,\n \"pt-GQ\": 1,\n \"pt-GW\": 1,\n \"pt-LU\": 1,\n \"pt-ST\": 1,\n \"pt-TL\": 1,\n \"qu-BO\": 1,\n \"qu-EC\": 1,\n rm: 1,\n rn: 1,\n ro: 1,\n rof: 1,\n ru: 1,\n rw: 1,\n rwk: 1,\n sah: 1,\n sbp: 1,\n sc: 1,\n se: 1,\n ses: 1,\n sg: 1,\n shi: 1,\n \"shi-Latn\": 1,\n si: 1,\n sk: 1,\n sl: 1,\n smn: 1,\n so: 1,\n \"so-DJ\": 6,\n sq: 1,\n sr: 1,\n \"sr-Latn\": 1,\n sv: 1,\n sw: 1,\n \"ta-LK\": 1,\n \"ta-MY\": 1,\n teo: 1,\n tg: 1,\n \"ti-ER\": 1,\n tk: 1,\n to: 1,\n tr: 1,\n tt: 1,\n twq: 1,\n tzm: 1,\n uk: 1,\n uz: 1,\n \"uz-Arab\": 6,\n \"uz-Cyrl\": 1,\n vai: 1,\n \"vai-Latn\": 1,\n vi: 1,\n vun: 1,\n wae: 1,\n wo: 1,\n xog: 1,\n yav: 1,\n yi: 1,\n yo: 1,\n zgh: 1\n};","/**\r\n * DevExtreme (esm/localization/intl/date.js)\r\n * Version: 24.1.7\r\n * Build date: Wed Oct 30 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\nimport { extend } from \"../../core/utils/extend\";\nimport localizationCoreUtils from \"../core\";\nconst SYMBOLS_TO_REMOVE_REGEX = /[\\u200E\\u200F]/g;\nconst NARROW_NO_BREAK_SPACE_REGEX = /[\\u202F]/g;\nconst getIntlFormatter = format => date => {\n if (!format.timeZoneName) {\n const year = date.getFullYear();\n const recognizableAsTwentyCentury = String(year).length < 3;\n const safeYearShift = 400;\n const temporaryYearValue = recognizableAsTwentyCentury ? year + safeYearShift : year;\n const utcDate = new Date(Date.UTC(temporaryYearValue, date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()));\n if (recognizableAsTwentyCentury) {\n utcDate.setFullYear(year);\n }\n const utcFormat = extend({\n timeZone: \"UTC\"\n }, format);\n return formatDateTime(utcDate, utcFormat);\n }\n return formatDateTime(date, format);\n};\nconst formattersCache = {};\nconst getFormatter = format => {\n const key = localizationCoreUtils.locale() + \"/\" + JSON.stringify(format);\n if (!formattersCache[key]) {\n formattersCache[key] = new Intl.DateTimeFormat(localizationCoreUtils.locale(), format).format;\n }\n return formattersCache[key];\n};\nfunction formatDateTime(date, format) {\n return getFormatter(format)(date).replace(SYMBOLS_TO_REMOVE_REGEX, \"\").replace(NARROW_NO_BREAK_SPACE_REGEX, \" \");\n}\nconst formatNumber = number => new Intl.NumberFormat(localizationCoreUtils.locale()).format(number);\nconst getAlternativeNumeralsMap = (() => {\n const numeralsMapCache = {};\n return locale => {\n if (!(locale in numeralsMapCache)) {\n if (\"0\" === formatNumber(0)) {\n numeralsMapCache[locale] = false;\n return false;\n }\n numeralsMapCache[locale] = {};\n for (let i = 0; i < 10; ++i) {\n numeralsMapCache[locale][formatNumber(i)] = i;\n }\n }\n return numeralsMapCache[locale];\n };\n})();\nconst normalizeNumerals = dateString => {\n const alternativeNumeralsMap = getAlternativeNumeralsMap(localizationCoreUtils.locale());\n if (!alternativeNumeralsMap) {\n return dateString;\n }\n return dateString.split(\"\").map(sign => sign in alternativeNumeralsMap ? String(alternativeNumeralsMap[sign]) : sign).join(\"\");\n};\nconst removeLeadingZeroes = str => str.replace(/(\\D)0+(\\d)/g, \"$1$2\");\nconst dateStringEquals = (actual, expected) => removeLeadingZeroes(actual) === removeLeadingZeroes(expected);\nconst normalizeMonth = text => text.replace(\"d\\u2019\", \"de \");\nconst intlFormats = {\n day: {\n day: \"numeric\"\n },\n date: {\n year: \"numeric\",\n month: \"long\",\n day: \"numeric\"\n },\n dayofweek: {\n weekday: \"long\"\n },\n longdate: {\n weekday: \"long\",\n year: \"numeric\",\n month: \"long\",\n day: \"numeric\"\n },\n longdatelongtime: {\n weekday: \"long\",\n year: \"numeric\",\n month: \"long\",\n day: \"numeric\",\n hour: \"numeric\",\n minute: \"numeric\",\n second: \"numeric\"\n },\n longtime: {\n hour: \"numeric\",\n minute: \"numeric\",\n second: \"numeric\"\n },\n month: {\n month: \"long\"\n },\n monthandday: {\n month: \"long\",\n day: \"numeric\"\n },\n monthandyear: {\n year: \"numeric\",\n month: \"long\"\n },\n shortdate: {},\n shorttime: {\n hour: \"numeric\",\n minute: \"numeric\"\n },\n shortyear: {\n year: \"2-digit\"\n },\n year: {\n year: \"numeric\"\n }\n};\nObject.defineProperty(intlFormats, \"shortdateshorttime\", {\n get: function () {\n const defaultOptions = Intl.DateTimeFormat(localizationCoreUtils.locale()).resolvedOptions();\n return {\n year: defaultOptions.year,\n month: defaultOptions.month,\n day: defaultOptions.day,\n hour: \"numeric\",\n minute: \"numeric\"\n };\n }\n});\nconst getIntlFormat = format => \"string\" === typeof format && intlFormats[format.toLowerCase()];\nconst monthNameStrategies = {\n standalone: function (monthIndex, monthFormat) {\n const date = new Date(1999, monthIndex, 13, 1);\n const dateString = getIntlFormatter({\n month: monthFormat\n })(date);\n return dateString;\n },\n format: function (monthIndex, monthFormat) {\n const date = new Date(0, monthIndex, 13, 1);\n const dateString = normalizeMonth(getIntlFormatter({\n day: \"numeric\",\n month: monthFormat\n })(date));\n const parts = dateString.split(\" \").filter(part => part.indexOf(\"13\") < 0);\n if (1 === parts.length) {\n return parts[0];\n } else if (2 === parts.length) {\n return parts[0].length > parts[1].length ? parts[0] : parts[1];\n }\n return monthNameStrategies.standalone(monthIndex, monthFormat);\n }\n};\nexport default {\n engine: function () {\n return \"intl\";\n },\n getMonthNames: function (format, type) {\n const monthFormat = {\n wide: \"long\",\n abbreviated: \"short\",\n narrow: \"narrow\"\n }[format || \"wide\"];\n type = \"format\" === type ? type : \"standalone\";\n return Array.apply(null, new Array(12)).map((_, monthIndex) => monthNameStrategies[type](monthIndex, monthFormat));\n },\n getDayNames: function (format) {\n const result = (format => Array.apply(null, new Array(7)).map((_, dayIndex) => getIntlFormatter({\n weekday: format\n })(new Date(0, 0, dayIndex))))({\n wide: \"long\",\n abbreviated: \"short\",\n short: \"narrow\",\n narrow: \"narrow\"\n }[format || \"wide\"]);\n return result;\n },\n getPeriodNames: function () {\n const hour12Formatter = getIntlFormatter({\n hour: \"numeric\",\n hour12: true\n });\n return [1, 13].map(hours => {\n const hourNumberText = formatNumber(1);\n const timeParts = hour12Formatter(new Date(0, 0, 1, hours)).split(hourNumberText);\n if (2 !== timeParts.length) {\n return \"\";\n }\n const biggerPart = timeParts[0].length > timeParts[1].length ? timeParts[0] : timeParts[1];\n return biggerPart.trim();\n });\n },\n format: function (date, format) {\n if (!date) {\n return;\n }\n if (!format) {\n return date;\n }\n if (\"function\" !== typeof format && !format.formatter) {\n format = format.type || format;\n }\n const intlFormat = getIntlFormat(format);\n if (intlFormat) {\n return getIntlFormatter(intlFormat)(date);\n }\n const formatType = typeof format;\n if (format.formatter || \"function\" === formatType || \"string\" === formatType) {\n return this.callBase.apply(this, arguments);\n }\n return getIntlFormatter(format)(date);\n },\n parse: function (dateString, format) {\n let formatter;\n if (format && !format.parser && \"string\" === typeof dateString) {\n dateString = normalizeMonth(dateString);\n formatter = date => normalizeMonth(this.format(date, format));\n }\n return this.callBase(dateString, formatter || format);\n },\n _parseDateBySimpleFormat: function (dateString, format) {\n dateString = normalizeNumerals(dateString);\n const formatParts = this.getFormatParts(format);\n const dateParts = dateString.split(/\\D+/).filter(part => part.length > 0);\n if (formatParts.length !== dateParts.length) {\n return;\n }\n const dateArgs = this._generateDateArgs(formatParts, dateParts);\n const constructValidDate = ampmShift => {\n const parsedDate = ((dateArgs, ampmShift) => {\n const hoursShift = ampmShift ? 12 : 0;\n return new Date(dateArgs.year, dateArgs.month, dateArgs.day, (dateArgs.hours + hoursShift) % 24, dateArgs.minutes, dateArgs.seconds);\n })(dateArgs, ampmShift);\n if (dateStringEquals(normalizeNumerals(this.format(parsedDate, format)), dateString)) {\n return parsedDate;\n }\n };\n return constructValidDate(false) || constructValidDate(true);\n },\n _generateDateArgs: function (formatParts, dateParts) {\n const currentDate = new Date();\n const dateArgs = {\n year: currentDate.getFullYear(),\n month: currentDate.getMonth(),\n day: currentDate.getDate(),\n hours: 0,\n minutes: 0,\n seconds: 0\n };\n formatParts.forEach((formatPart, index) => {\n const datePart = dateParts[index];\n let parsed = parseInt(datePart, 10);\n if (\"month\" === formatPart) {\n parsed -= 1;\n }\n dateArgs[formatPart] = parsed;\n });\n return dateArgs;\n },\n formatUsesMonthName: function (format) {\n if (\"object\" === typeof format && !(format.type || format.format)) {\n return \"long\" === format.month;\n }\n return this.callBase.apply(this, arguments);\n },\n formatUsesDayName: function (format) {\n if (\"object\" === typeof format && !(format.type || format.format)) {\n return \"long\" === format.weekday;\n }\n return this.callBase.apply(this, arguments);\n },\n getTimeSeparator: function () {\n return normalizeNumerals(formatDateTime(new Date(2001, 1, 1, 11, 11), {\n hour: \"numeric\",\n minute: \"numeric\",\n hour12: false\n })).replace(/\\d/g, \"\");\n },\n getFormatParts: function (format) {\n if (\"string\" === typeof format) {\n return this.callBase(format);\n }\n const intlFormat = extend({}, intlFormats[format.toLowerCase()]);\n const date = new Date(2001, 2, 4, 5, 6, 7);\n let formattedDate = getIntlFormatter(intlFormat)(date);\n formattedDate = normalizeNumerals(formattedDate);\n return [{\n name: \"year\",\n value: 1\n }, {\n name: \"month\",\n value: 3\n }, {\n name: \"day\",\n value: 4\n }, {\n name: \"hours\",\n value: 5\n }, {\n name: \"minutes\",\n value: 6\n }, {\n name: \"seconds\",\n value: 7\n }].map(part => ({\n name: part.name,\n index: formattedDate.indexOf(part.value)\n })).filter(part => part.index > -1).sort((a, b) => a.index - b.index).map(part => part.name);\n }\n};","/**\r\n * DevExtreme (esm/localization/date.js)\r\n * Version: 24.1.7\r\n * Build date: Wed Oct 30 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\nimport dependencyInjector from \"../core/utils/dependency_injector\";\nimport { isString } from \"../core/utils/type\";\nimport { each } from \"../core/utils/iterator\";\nimport errors from \"../core/errors\";\nimport { getFormatter as getLDMLDateFormatter } from \"./ldml/date.formatter\";\nimport { getFormat as getLDMLDateFormat } from \"./ldml/date.format\";\nimport { getParser as getLDMLDateParser } from \"./ldml/date.parser\";\nimport defaultDateNames from \"./default_date_names\";\nimport firstDayOfWeekData from \"./cldr-data/first_day_of_week_data\";\nimport localizationCore from \"./core\";\nimport numberLocalization from \"./number\";\nimport intlDateLocalization from \"./intl/date\";\nconst DEFAULT_DAY_OF_WEEK_INDEX = 0;\nconst hasIntl = \"undefined\" !== typeof Intl;\nconst FORMATS_TO_PATTERN_MAP = {\n shortdate: \"M/d/y\",\n shorttime: \"h:mm a\",\n longdate: \"EEEE, MMMM d, y\",\n longtime: \"h:mm:ss a\",\n monthandday: \"MMMM d\",\n monthandyear: \"MMMM y\",\n quarterandyear: \"QQQ y\",\n day: \"d\",\n year: \"y\",\n shortdateshorttime: \"M/d/y, h:mm a\",\n longdatelongtime: \"EEEE, MMMM d, y, h:mm:ss a\",\n month: \"LLLL\",\n shortyear: \"yy\",\n dayofweek: \"EEEE\",\n quarter: \"QQQ\",\n hour: \"HH\",\n minute: \"mm\",\n second: \"ss\",\n millisecond: \"SSS\",\n \"datetime-local\": \"yyyy-MM-ddTHH':'mm':'ss\"\n};\nconst possiblePartPatterns = {\n year: [\"y\", \"yy\", \"yyyy\"],\n day: [\"d\", \"dd\"],\n month: [\"M\", \"MM\", \"MMM\", \"MMMM\"],\n hours: [\"H\", \"HH\", \"h\", \"hh\", \"ah\"],\n minutes: [\"m\", \"mm\"],\n seconds: [\"s\", \"ss\"],\n milliseconds: [\"S\", \"SS\", \"SSS\"]\n};\nconst dateLocalization = dependencyInjector({\n engine: function () {\n return \"base\";\n },\n _getPatternByFormat: function (format) {\n return FORMATS_TO_PATTERN_MAP[format.toLowerCase()];\n },\n _expandPattern: function (pattern) {\n return this._getPatternByFormat(pattern) || pattern;\n },\n formatUsesMonthName: function (format) {\n return -1 !== this._expandPattern(format).indexOf(\"MMMM\");\n },\n formatUsesDayName: function (format) {\n return -1 !== this._expandPattern(format).indexOf(\"EEEE\");\n },\n getFormatParts: function (format) {\n const pattern = this._getPatternByFormat(format) || format;\n const result = [];\n each(pattern.split(/\\W+/), (_, formatPart) => {\n each(possiblePartPatterns, (partName, possiblePatterns) => {\n if (possiblePatterns.includes(formatPart)) {\n result.push(partName);\n }\n });\n });\n return result;\n },\n getMonthNames: function (format) {\n return defaultDateNames.getMonthNames(format);\n },\n getDayNames: function (format) {\n return defaultDateNames.getDayNames(format);\n },\n getQuarterNames: function (format) {\n return defaultDateNames.getQuarterNames(format);\n },\n getPeriodNames: function (format) {\n return defaultDateNames.getPeriodNames(format);\n },\n getTimeSeparator: function () {\n return \":\";\n },\n is24HourFormat: function (format) {\n const amTime = new Date(2017, 0, 20, 11, 0, 0, 0);\n const pmTime = new Date(2017, 0, 20, 23, 0, 0, 0);\n const amTimeFormatted = this.format(amTime, format);\n const pmTimeFormatted = this.format(pmTime, format);\n for (let i = 0; i < amTimeFormatted.length; i++) {\n if (amTimeFormatted[i] !== pmTimeFormatted[i]) {\n return !isNaN(parseInt(amTimeFormatted[i]));\n }\n }\n },\n format: function (date, format) {\n if (!date) {\n return;\n }\n if (!format) {\n return date;\n }\n let formatter;\n if (\"function\" === typeof format) {\n formatter = format;\n } else if (format.formatter) {\n formatter = format.formatter;\n } else {\n format = format.type || format;\n if (isString(format)) {\n format = FORMATS_TO_PATTERN_MAP[format.toLowerCase()] || format;\n return numberLocalization.convertDigits(getLDMLDateFormatter(format, this)(date));\n }\n }\n if (!formatter) {\n return;\n }\n return formatter(date);\n },\n parse: function (text, format) {\n const that = this;\n let ldmlFormat;\n let formatter;\n if (!text) {\n return;\n }\n if (!format) {\n return this.parse(text, \"shortdate\");\n }\n if (format.parser) {\n return format.parser(text);\n }\n if (\"string\" === typeof format && !FORMATS_TO_PATTERN_MAP[format.toLowerCase()]) {\n ldmlFormat = format;\n } else {\n formatter = value => {\n const text = that.format(value, format);\n return numberLocalization.convertDigits(text, true);\n };\n try {\n ldmlFormat = getLDMLDateFormat(formatter);\n } catch (e) {}\n }\n if (ldmlFormat) {\n text = numberLocalization.convertDigits(text, true);\n return getLDMLDateParser(ldmlFormat, this)(text);\n }\n errors.log(\"W0012\");\n const result = new Date(text);\n if (!result || isNaN(result.getTime())) {\n return;\n }\n return result;\n },\n firstDayOfWeekIndex: function () {\n const index = localizationCore.getValueByClosestLocale(locale => firstDayOfWeekData[locale]);\n return void 0 === index ? 0 : index;\n }\n});\nif (hasIntl) {\n dateLocalization.inject(intlDateLocalization);\n}\nexport default dateLocalization;","/**\r\n * DevExtreme (esm/localization.js)\r\n * Version: 24.1.7\r\n * Build date: Wed Oct 30 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\nimport core from \"./localization/core\";\nimport message from \"./localization/message\";\nimport number from \"./localization/number\";\nimport date from \"./localization/date\";\nimport \"./localization/currency\";\nexport const locale = core.locale.bind(core);\nexport const loadMessages = message.load.bind(message);\nexport const formatMessage = message.format.bind(message);\nexport const formatNumber = number.format.bind(number);\nexport const parseNumber = number.parse.bind(number);\nexport const formatDate = date.format.bind(date);\nexport const parseDate = date.parse.bind(date);\nexport { message, number, date };\nexport function disableIntl() {\n if (\"intl\" === number.engine()) {\n number.resetInjection();\n }\n if (\"intl\" === date.engine()) {\n date.resetInjection();\n }\n}"],"mappings":"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AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,WAAW;AAAA,EACX,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;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S;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,UAAU;AAAA,EACV,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAA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","names":["clone","formatMessage","id","config","map","locale","sign","noop","locale","locale","locale","format","config","format","getFormatter","format","config","match","locale","sign","format","match","power","number_default","getFormatter","format","number_default","value","getFormat","FORMAT_TYPES","count","type","format","patterns","pattern","format","format","formattersCache","getFormatter","locale","sign","type","dateArgs","ampmShift","hasIntl","format","number_default","getFormatter","text","getFormat","locale","date_default","formatNumber","number_default","parseNumber","date_default"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40]}