@openmrs/esm-utils 4.5.1-pre.804 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openmrs-esm-utils.js","mappings":"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","sources":["webpack://@openmrs/esm-utils/../../../node_modules/dayjs/plugin/isToday.js","webpack://@openmrs/esm-utils/../../../node_modules/dayjs/plugin/utc.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/classes/comparator.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/classes/range.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/classes/semver.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/functions/clean.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/functions/cmp.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/functions/coerce.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/functions/compare-build.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/functions/compare-loose.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/functions/compare.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/functions/diff.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/functions/eq.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/functions/gt.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/functions/gte.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/functions/inc.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/functions/lt.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/functions/lte.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/functions/major.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/functions/minor.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/functions/neq.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/functions/parse.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/functions/patch.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/functions/prerelease.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/functions/rcompare.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/functions/rsort.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/functions/satisfies.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/functions/sort.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/functions/valid.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/index.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/internal/constants.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/internal/debug.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/internal/identifiers.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/internal/re.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/ranges/gtr.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/ranges/intersects.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/ranges/ltr.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/ranges/max-satisfying.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/ranges/min-satisfying.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/ranges/min-version.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/ranges/outside.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/ranges/simplify.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/ranges/subset.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/ranges/to-comparators.js","webpack://@openmrs/esm-utils/../../../node_modules/semver/ranges/valid.js","webpack://@openmrs/esm-utils/../../../node_modules/systemjs-webpack-interop/auto-public-path/auto-public-path.js","webpack://@openmrs/esm-utils/../../../node_modules/systemjs-webpack-interop/public-path.js","webpack://@openmrs/esm-utils/external system \"dayjs\"","webpack://@openmrs/esm-utils/external system \"i18next\"","webpack://@openmrs/esm-utils/webpack/bootstrap","webpack://@openmrs/esm-utils/webpack/runtime/__system_context__","webpack://@openmrs/esm-utils/webpack/runtime/compat get default export","webpack://@openmrs/esm-utils/webpack/runtime/define property getters","webpack://@openmrs/esm-utils/webpack/runtime/global","webpack://@openmrs/esm-utils/webpack/runtime/hasOwnProperty shorthand","webpack://@openmrs/esm-utils/webpack/runtime/make namespace object","webpack://@openmrs/esm-utils/webpack/runtime/publicPath","webpack://@openmrs/esm-utils/../../../node_modules/systemjs-webpack-interop/auto-public-path/1.js","webpack://@openmrs/esm-utils/./src/age-helpers.tsx","webpack://@openmrs/esm-utils/./src/omrs-dates.ts","webpack://@openmrs/esm-utils/./src/translate.ts","webpack://@openmrs/esm-utils/./src/version.ts","webpack://@openmrs/esm-utils/./src/retry.ts"],"sourcesContent":["!function(e,o){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=o():\"function\"==typeof define&&define.amd?define(o):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isToday=o()}(this,(function(){\"use strict\";return function(e,o,t){o.prototype.isToday=function(){var e=\"YYYY-MM-DD\",o=t();return this.format(e)===o.format(e)}}}));","!function(t,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_utc=i()}(this,(function(){\"use strict\";var t=\"minute\",i=/[+-]\\d\\d(?::?\\d\\d)?/g,e=/([+-]|\\d\\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:!0,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:!0});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:!1})};var o=u.parse;u.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),o.call(this,t)};var r=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds()}else r.call(this)};var a=u.utcOffset;u.utcOffset=function(s,f){var n=this.$utils().u;if(n(s))return this.$u?0:n(this.$offset)?a.call(this):this.$offset;if(\"string\"==typeof s&&(s=function(t){void 0===t&&(t=\"\");var s=t.match(i);if(!s)return null;var f=(\"\"+s[0]).match(e)||[\"-\",0,0],n=f[0],u=60*+f[1]+ +f[2];return 0===u?0:\"+\"===n?u:-u}(s),null===s))return this;var u=Math.abs(s)<=16?60*s:s,o=this;if(f)return o.$offset=u,o.$u=0===s,o;if(0!==s){var r=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(o=this.local().add(u+r,t)).$offset=u,o.$x.$localOffset=r}else o=this.utc();return o};var h=u.format;u.format=function(t){var i=t||(this.$u?\"YYYY-MM-DDTHH:mm:ss[Z]\":\"\");return h.call(this,i)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return!!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l=u.toDate;u.toDate=function(t){return\"s\"===t&&this.$offset?n(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\")).toDate():l.call(this)};var c=u.diff;u.diff=function(t,i,e){if(t&&this.$u===t.$u)return c.call(this,t,i,e);var s=this.local(),f=n(t).local();return c.call(s,f,i,e)}}}));","const ANY = Symbol('SemVer ANY')\n// hoisted class for cyclic dependency\nclass Comparator {\n static get ANY () {\n return ANY\n }\n constructor (comp, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (comp instanceof Comparator) {\n if (comp.loose === !!options.loose) {\n return comp\n } else {\n comp = comp.value\n }\n }\n\n debug('comparator', comp, options)\n this.options = options\n this.loose = !!options.loose\n this.parse(comp)\n\n if (this.semver === ANY) {\n this.value = ''\n } else {\n this.value = this.operator + this.semver.version\n }\n\n debug('comp', this)\n }\n\n parse (comp) {\n const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]\n const m = comp.match(r)\n\n if (!m) {\n throw new TypeError(`Invalid comparator: ${comp}`)\n }\n\n this.operator = m[1] !== undefined ? m[1] : ''\n if (this.operator === '=') {\n this.operator = ''\n }\n\n // if it literally is just '>' or '' then allow anything.\n if (!m[2]) {\n this.semver = ANY\n } else {\n this.semver = new SemVer(m[2], this.options.loose)\n }\n }\n\n toString () {\n return this.value\n }\n\n test (version) {\n debug('Comparator.test', version, this.options.loose)\n\n if (this.semver === ANY || version === ANY) {\n return true\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n return cmp(version, this.operator, this.semver, this.options)\n }\n\n intersects (comp, options) {\n if (!(comp instanceof Comparator)) {\n throw new TypeError('a Comparator is required')\n }\n\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (this.operator === '') {\n if (this.value === '') {\n return true\n }\n return new Range(comp.value, options).test(this.value)\n } else if (comp.operator === '') {\n if (comp.value === '') {\n return true\n }\n return new Range(this.value, options).test(comp.semver)\n }\n\n const sameDirectionIncreasing =\n (this.operator === '>=' || this.operator === '>') &&\n (comp.operator === '>=' || comp.operator === '>')\n const sameDirectionDecreasing =\n (this.operator === '<=' || this.operator === '<') &&\n (comp.operator === '<=' || comp.operator === '<')\n const sameSemVer = this.semver.version === comp.semver.version\n const differentDirectionsInclusive =\n (this.operator === '>=' || this.operator === '<=') &&\n (comp.operator === '>=' || comp.operator === '<=')\n const oppositeDirectionsLessThan =\n cmp(this.semver, '<', comp.semver, options) &&\n (this.operator === '>=' || this.operator === '>') &&\n (comp.operator === '<=' || comp.operator === '<')\n const oppositeDirectionsGreaterThan =\n cmp(this.semver, '>', comp.semver, options) &&\n (this.operator === '<=' || this.operator === '<') &&\n (comp.operator === '>=' || comp.operator === '>')\n\n return (\n sameDirectionIncreasing ||\n sameDirectionDecreasing ||\n (sameSemVer && differentDirectionsInclusive) ||\n oppositeDirectionsLessThan ||\n oppositeDirectionsGreaterThan\n )\n }\n}\n\nmodule.exports = Comparator\n\nconst {re, t} = require('../internal/re')\nconst cmp = require('../functions/cmp')\nconst debug = require('../internal/debug')\nconst SemVer = require('./semver')\nconst Range = require('./range')\n","// hoisted class for cyclic dependency\nclass Range {\n constructor (range, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (range instanceof Range) {\n if (\n range.loose === !!options.loose &&\n range.includePrerelease === !!options.includePrerelease\n ) {\n return range\n } else {\n return new Range(range.raw, options)\n }\n }\n\n if (range instanceof Comparator) {\n // just put it in the set and return\n this.raw = range.value\n this.set = [[range]]\n this.format()\n return this\n }\n\n this.options = options\n this.loose = !!options.loose\n this.includePrerelease = !!options.includePrerelease\n\n // First, split based on boolean or ||\n this.raw = range\n this.set = range\n .split(/\\s*\\|\\|\\s*/)\n // map the range to a 2d array of comparators\n .map(range => this.parseRange(range.trim()))\n // throw out any comparator lists that are empty\n // this generally means that it was not a valid range, which is allowed\n // in loose mode, but will still throw if the WHOLE range is invalid.\n .filter(c => c.length)\n\n if (!this.set.length) {\n throw new TypeError(`Invalid SemVer Range: ${range}`)\n }\n\n this.format()\n }\n\n format () {\n this.range = this.set\n .map((comps) => {\n return comps.join(' ').trim()\n })\n .join('||')\n .trim()\n return this.range\n }\n\n toString () {\n return this.range\n }\n\n parseRange (range) {\n const loose = this.options.loose\n range = range.trim()\n // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`\n const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]\n range = range.replace(hr, hyphenReplace(this.options.includePrerelease))\n debug('hyphen replace', range)\n // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`\n range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace)\n debug('comparator trim', range, re[t.COMPARATORTRIM])\n\n // `~ 1.2.3` => `~1.2.3`\n range = range.replace(re[t.TILDETRIM], tildeTrimReplace)\n\n // `^ 1.2.3` => `^1.2.3`\n range = range.replace(re[t.CARETTRIM], caretTrimReplace)\n\n // normalize spaces\n range = range.split(/\\s+/).join(' ')\n\n // At this point, the range is completely trimmed and\n // ready to be split into comparators.\n\n const compRe = loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]\n return range\n .split(' ')\n .map(comp => parseComparator(comp, this.options))\n .join(' ')\n .split(/\\s+/)\n .map(comp => replaceGTE0(comp, this.options))\n // in loose mode, throw out any that are not valid comparators\n .filter(this.options.loose ? comp => !!comp.match(compRe) : () => true)\n .map(comp => new Comparator(comp, this.options))\n }\n\n intersects (range, options) {\n if (!(range instanceof Range)) {\n throw new TypeError('a Range is required')\n }\n\n return this.set.some((thisComparators) => {\n return (\n isSatisfiable(thisComparators, options) &&\n range.set.some((rangeComparators) => {\n return (\n isSatisfiable(rangeComparators, options) &&\n thisComparators.every((thisComparator) => {\n return rangeComparators.every((rangeComparator) => {\n return thisComparator.intersects(rangeComparator, options)\n })\n })\n )\n })\n )\n })\n }\n\n // if ANY of the sets match ALL of its comparators, then pass\n test (version) {\n if (!version) {\n return false\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n for (let i = 0; i < this.set.length; i++) {\n if (testSet(this.set[i], version, this.options)) {\n return true\n }\n }\n return false\n }\n}\nmodule.exports = Range\n\nconst Comparator = require('./comparator')\nconst debug = require('../internal/debug')\nconst SemVer = require('./semver')\nconst {\n re,\n t,\n comparatorTrimReplace,\n tildeTrimReplace,\n caretTrimReplace\n} = require('../internal/re')\n\n// take a set of comparators and determine whether there\n// exists a version which can satisfy it\nconst isSatisfiable = (comparators, options) => {\n let result = true\n const remainingComparators = comparators.slice()\n let testComparator = remainingComparators.pop()\n\n while (result && remainingComparators.length) {\n result = remainingComparators.every((otherComparator) => {\n return testComparator.intersects(otherComparator, options)\n })\n\n testComparator = remainingComparators.pop()\n }\n\n return result\n}\n\n// comprised of xranges, tildes, stars, and gtlt's at this point.\n// already replaced the hyphen ranges\n// turn into a set of JUST comparators.\nconst parseComparator = (comp, options) => {\n debug('comp', comp, options)\n comp = replaceCarets(comp, options)\n debug('caret', comp)\n comp = replaceTildes(comp, options)\n debug('tildes', comp)\n comp = replaceXRanges(comp, options)\n debug('xrange', comp)\n comp = replaceStars(comp, options)\n debug('stars', comp)\n return comp\n}\n\nconst isX = id => !id || id.toLowerCase() === 'x' || id === '*'\n\n// ~, ~> --> * (any, kinda silly)\n// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0\n// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0\n// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0\n// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0\n// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0\nconst replaceTildes = (comp, options) =>\n comp.trim().split(/\\s+/).map((comp) => {\n return replaceTilde(comp, options)\n }).join(' ')\n\nconst replaceTilde = (comp, options) => {\n const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]\n return comp.replace(r, (_, M, m, p, pr) => {\n debug('tilde', comp, _, M, m, p, pr)\n let ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = `>=${M}.0.0 <${+M + 1}.0.0-0`\n } else if (isX(p)) {\n // ~1.2 == >=1.2.0 <1.3.0-0\n ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`\n } else if (pr) {\n debug('replaceTilde pr', pr)\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${+m + 1}.0-0`\n } else {\n // ~1.2.3 == >=1.2.3 <1.3.0-0\n ret = `>=${M}.${m}.${p\n } <${M}.${+m + 1}.0-0`\n }\n\n debug('tilde return', ret)\n return ret\n })\n}\n\n// ^ --> * (any, kinda silly)\n// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0\n// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0\n// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0\n// ^1.2.3 --> >=1.2.3 <2.0.0-0\n// ^1.2.0 --> >=1.2.0 <2.0.0-0\nconst replaceCarets = (comp, options) =>\n comp.trim().split(/\\s+/).map((comp) => {\n return replaceCaret(comp, options)\n }).join(' ')\n\nconst replaceCaret = (comp, options) => {\n debug('caret', comp, options)\n const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]\n const z = options.includePrerelease ? '-0' : ''\n return comp.replace(r, (_, M, m, p, pr) => {\n debug('caret', comp, _, M, m, p, pr)\n let ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`\n } else if (isX(p)) {\n if (M === '0') {\n ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`\n } else {\n ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`\n }\n } else if (pr) {\n debug('replaceCaret pr', pr)\n if (M === '0') {\n if (m === '0') {\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${m}.${+p + 1}-0`\n } else {\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${+m + 1}.0-0`\n }\n } else {\n ret = `>=${M}.${m}.${p}-${pr\n } <${+M + 1}.0.0-0`\n }\n } else {\n debug('no pr')\n if (M === '0') {\n if (m === '0') {\n ret = `>=${M}.${m}.${p\n }${z} <${M}.${m}.${+p + 1}-0`\n } else {\n ret = `>=${M}.${m}.${p\n }${z} <${M}.${+m + 1}.0-0`\n }\n } else {\n ret = `>=${M}.${m}.${p\n } <${+M + 1}.0.0-0`\n }\n }\n\n debug('caret return', ret)\n return ret\n })\n}\n\nconst replaceXRanges = (comp, options) => {\n debug('replaceXRanges', comp, options)\n return comp.split(/\\s+/).map((comp) => {\n return replaceXRange(comp, options)\n }).join(' ')\n}\n\nconst replaceXRange = (comp, options) => {\n comp = comp.trim()\n const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]\n return comp.replace(r, (ret, gtlt, M, m, p, pr) => {\n debug('xRange', comp, ret, gtlt, M, m, p, pr)\n const xM = isX(M)\n const xm = xM || isX(m)\n const xp = xm || isX(p)\n const anyX = xp\n\n if (gtlt === '=' && anyX) {\n gtlt = ''\n }\n\n // if we're including prereleases in the match, then we need\n // to fix this to -0, the lowest possible prerelease value\n pr = options.includePrerelease ? '-0' : ''\n\n if (xM) {\n if (gtlt === '>' || gtlt === '<') {\n // nothing is allowed\n ret = '<0.0.0-0'\n } else {\n // nothing is forbidden\n ret = '*'\n }\n } else if (gtlt && anyX) {\n // we know patch is an x, because we have any x at all.\n // replace X with 0\n if (xm) {\n m = 0\n }\n p = 0\n\n if (gtlt === '>') {\n // >1 => >=2.0.0\n // >1.2 => >=1.3.0\n gtlt = '>='\n if (xm) {\n M = +M + 1\n m = 0\n p = 0\n } else {\n m = +m + 1\n p = 0\n }\n } else if (gtlt === '<=') {\n // <=0.7.x is actually <0.8.0, since any 0.7.x should\n // pass. Similarly, <=7.x is actually <8.0.0, etc.\n gtlt = '<'\n if (xm) {\n M = +M + 1\n } else {\n m = +m + 1\n }\n }\n\n if (gtlt === '<')\n pr = '-0'\n\n ret = `${gtlt + M}.${m}.${p}${pr}`\n } else if (xm) {\n ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`\n } else if (xp) {\n ret = `>=${M}.${m}.0${pr\n } <${M}.${+m + 1}.0-0`\n }\n\n debug('xRange return', ret)\n\n return ret\n })\n}\n\n// Because * is AND-ed with everything else in the comparator,\n// and '' means \"any version\", just remove the *s entirely.\nconst replaceStars = (comp, options) => {\n debug('replaceStars', comp, options)\n // Looseness is ignored here. star is always as loose as it gets!\n return comp.trim().replace(re[t.STAR], '')\n}\n\nconst replaceGTE0 = (comp, options) => {\n debug('replaceGTE0', comp, options)\n return comp.trim()\n .replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], '')\n}\n\n// This function is passed to string.replace(re[t.HYPHENRANGE])\n// M, m, patch, prerelease, build\n// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5\n// 1.2.3 - 3.4 => >=1.2.0 <3.5.0-0 Any 3.4.x will do\n// 1.2 - 3.4 => >=1.2.0 <3.5.0-0\nconst hyphenReplace = incPr => ($0,\n from, fM, fm, fp, fpr, fb,\n to, tM, tm, tp, tpr, tb) => {\n if (isX(fM)) {\n from = ''\n } else if (isX(fm)) {\n from = `>=${fM}.0.0${incPr ? '-0' : ''}`\n } else if (isX(fp)) {\n from = `>=${fM}.${fm}.0${incPr ? '-0' : ''}`\n } else if (fpr) {\n from = `>=${from}`\n } else {\n from = `>=${from}${incPr ? '-0' : ''}`\n }\n\n if (isX(tM)) {\n to = ''\n } else if (isX(tm)) {\n to = `<${+tM + 1}.0.0-0`\n } else if (isX(tp)) {\n to = `<${tM}.${+tm + 1}.0-0`\n } else if (tpr) {\n to = `<=${tM}.${tm}.${tp}-${tpr}`\n } else if (incPr) {\n to = `<${tM}.${tm}.${+tp + 1}-0`\n } else {\n to = `<=${to}`\n }\n\n return (`${from} ${to}`).trim()\n}\n\nconst testSet = (set, version, options) => {\n for (let i = 0; i < set.length; i++) {\n if (!set[i].test(version)) {\n return false\n }\n }\n\n if (version.prerelease.length && !options.includePrerelease) {\n // Find the set of versions that are allowed to have prereleases\n // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0\n // That should allow `1.2.3-pr.2` to pass.\n // However, `1.2.4-alpha.notready` should NOT be allowed,\n // even though it's within the range set by the comparators.\n for (let i = 0; i < set.length; i++) {\n debug(set[i].semver)\n if (set[i].semver === Comparator.ANY) {\n continue\n }\n\n if (set[i].semver.prerelease.length > 0) {\n const allowed = set[i].semver\n if (allowed.major === version.major &&\n allowed.minor === version.minor &&\n allowed.patch === version.patch) {\n return true\n }\n }\n }\n\n // Version has a -pre, but it's not one of the ones we like.\n return false\n }\n\n return true\n}\n","const debug = require('../internal/debug')\nconst { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants')\nconst { re, t } = require('../internal/re')\n\nconst { compareIdentifiers } = require('../internal/identifiers')\nclass SemVer {\n constructor (version, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose &&\n version.includePrerelease === !!options.includePrerelease) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n )\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n // this isn't actually relevant for versions, but keep it so that we\n // don't run into trouble passing this.options around.\n this.includePrerelease = !!options.includePrerelease\n\n const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])\n\n if (!m) {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n }\n\n format () {\n this.version = `${this.major}.${this.minor}.${this.patch}`\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join('.')}`\n }\n return this.version\n }\n\n toString () {\n return this.version\n }\n\n compare (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n if (typeof other === 'string' && other === this.version) {\n return 0\n }\n other = new SemVer(other, this.options)\n }\n\n if (other.version === this.version) {\n return 0\n }\n\n return this.compareMain(other) || this.comparePre(other)\n }\n\n compareMain (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return (\n compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n )\n }\n\n comparePre (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n let i = 0\n do {\n const a = this.prerelease[i]\n const b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n compareBuild (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n let i = 0\n do {\n const a = this.build[i]\n const b = other.build[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc (release, identifier) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier)\n this.inc('pre', identifier)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier)\n }\n this.inc('pre', identifier)\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (\n this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0\n ) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case 'pre':\n if (this.prerelease.length === 0) {\n this.prerelease = [0]\n } else {\n let i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n this.prerelease.push(0)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n if (this.prerelease[0] === identifier) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = [identifier, 0]\n }\n } else {\n this.prerelease = [identifier, 0]\n }\n }\n break\n\n default:\n throw new Error(`invalid increment argument: ${release}`)\n }\n this.format()\n this.raw = this.version\n return this\n }\n}\n\nmodule.exports = SemVer\n","const parse = require('./parse')\nconst clean = (version, options) => {\n const s = parse(version.trim().replace(/^[=v]+/, ''), options)\n return s ? s.version : null\n}\nmodule.exports = clean\n","const eq = require('./eq')\nconst neq = require('./neq')\nconst gt = require('./gt')\nconst gte = require('./gte')\nconst lt = require('./lt')\nconst lte = require('./lte')\n\nconst cmp = (a, op, b, loose) => {\n switch (op) {\n case '===':\n if (typeof a === 'object')\n a = a.version\n if (typeof b === 'object')\n b = b.version\n return a === b\n\n case '!==':\n if (typeof a === 'object')\n a = a.version\n if (typeof b === 'object')\n b = b.version\n return a !== b\n\n case '':\n case '=':\n case '==':\n return eq(a, b, loose)\n\n case '!=':\n return neq(a, b, loose)\n\n case '>':\n return gt(a, b, loose)\n\n case '>=':\n return gte(a, b, loose)\n\n case '<':\n return lt(a, b, loose)\n\n case '<=':\n return lte(a, b, loose)\n\n default:\n throw new TypeError(`Invalid operator: ${op}`)\n }\n}\nmodule.exports = cmp\n","const SemVer = require('../classes/semver')\nconst parse = require('./parse')\nconst {re, t} = require('../internal/re')\n\nconst coerce = (version, options) => {\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version === 'number') {\n version = String(version)\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n options = options || {}\n\n let match = null\n if (!options.rtl) {\n match = version.match(re[t.COERCE])\n } else {\n // Find the right-most coercible string that does not share\n // a terminus with a more left-ward coercible string.\n // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4'\n //\n // Walk through the string checking with a /g regexp\n // Manually set the index so as to pick up overlapping matches.\n // Stop when we get a match that ends at the string end, since no\n // coercible string can be more right-ward without the same terminus.\n let next\n while ((next = re[t.COERCERTL].exec(version)) &&\n (!match || match.index + match[0].length !== version.length)\n ) {\n if (!match ||\n next.index + next[0].length !== match.index + match[0].length) {\n match = next\n }\n re[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length\n }\n // leave it in a clean state\n re[t.COERCERTL].lastIndex = -1\n }\n\n if (match === null)\n return null\n\n return parse(`${match[2]}.${match[3] || '0'}.${match[4] || '0'}`, options)\n}\nmodule.exports = coerce\n","const SemVer = require('../classes/semver')\nconst compareBuild = (a, b, loose) => {\n const versionA = new SemVer(a, loose)\n const versionB = new SemVer(b, loose)\n return versionA.compare(versionB) || versionA.compareBuild(versionB)\n}\nmodule.exports = compareBuild\n","const compare = require('./compare')\nconst compareLoose = (a, b) => compare(a, b, true)\nmodule.exports = compareLoose\n","const SemVer = require('../classes/semver')\nconst compare = (a, b, loose) =>\n new SemVer(a, loose).compare(new SemVer(b, loose))\n\nmodule.exports = compare\n","const parse = require('./parse')\nconst eq = require('./eq')\n\nconst diff = (version1, version2) => {\n if (eq(version1, version2)) {\n return null\n } else {\n const v1 = parse(version1)\n const v2 = parse(version2)\n const hasPre = v1.prerelease.length || v2.prerelease.length\n const prefix = hasPre ? 'pre' : ''\n const defaultResult = hasPre ? 'prerelease' : ''\n for (const key in v1) {\n if (key === 'major' || key === 'minor' || key === 'patch') {\n if (v1[key] !== v2[key]) {\n return prefix + key\n }\n }\n }\n return defaultResult // may be undefined\n }\n}\nmodule.exports = diff\n","const compare = require('./compare')\nconst eq = (a, b, loose) => compare(a, b, loose) === 0\nmodule.exports = eq\n","const compare = require('./compare')\nconst gt = (a, b, loose) => compare(a, b, loose) > 0\nmodule.exports = gt\n","const compare = require('./compare')\nconst gte = (a, b, loose) => compare(a, b, loose) >= 0\nmodule.exports = gte\n","const SemVer = require('../classes/semver')\n\nconst inc = (version, release, options, identifier) => {\n if (typeof (options) === 'string') {\n identifier = options\n options = undefined\n }\n\n try {\n return new SemVer(version, options).inc(release, identifier).version\n } catch (er) {\n return null\n }\n}\nmodule.exports = inc\n","const compare = require('./compare')\nconst lt = (a, b, loose) => compare(a, b, loose) < 0\nmodule.exports = lt\n","const compare = require('./compare')\nconst lte = (a, b, loose) => compare(a, b, loose) <= 0\nmodule.exports = lte\n","const SemVer = require('../classes/semver')\nconst major = (a, loose) => new SemVer(a, loose).major\nmodule.exports = major\n","const SemVer = require('../classes/semver')\nconst minor = (a, loose) => new SemVer(a, loose).minor\nmodule.exports = minor\n","const compare = require('./compare')\nconst neq = (a, b, loose) => compare(a, b, loose) !== 0\nmodule.exports = neq\n","const {MAX_LENGTH} = require('../internal/constants')\nconst { re, t } = require('../internal/re')\nconst SemVer = require('../classes/semver')\n\nconst parse = (version, options) => {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n if (version.length > MAX_LENGTH) {\n return null\n }\n\n const r = options.loose ? re[t.LOOSE] : re[t.FULL]\n if (!r.test(version)) {\n return null\n }\n\n try {\n return new SemVer(version, options)\n } catch (er) {\n return null\n }\n}\n\nmodule.exports = parse\n","const SemVer = require('../classes/semver')\nconst patch = (a, loose) => new SemVer(a, loose).patch\nmodule.exports = patch\n","const parse = require('./parse')\nconst prerelease = (version, options) => {\n const parsed = parse(version, options)\n return (parsed && parsed.prerelease.length) ? parsed.prerelease : null\n}\nmodule.exports = prerelease\n","const compare = require('./compare')\nconst rcompare = (a, b, loose) => compare(b, a, loose)\nmodule.exports = rcompare\n","const compareBuild = require('./compare-build')\nconst rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose))\nmodule.exports = rsort\n","const Range = require('../classes/range')\nconst satisfies = (version, range, options) => {\n try {\n range = new Range(range, options)\n } catch (er) {\n return false\n }\n return range.test(version)\n}\nmodule.exports = satisfies\n","const compareBuild = require('./compare-build')\nconst sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose))\nmodule.exports = sort\n","const parse = require('./parse')\nconst valid = (version, options) => {\n const v = parse(version, options)\n return v ? v.version : null\n}\nmodule.exports = valid\n","// just pre-load all the stuff that index.js lazily exports\nconst internalRe = require('./internal/re')\nmodule.exports = {\n re: internalRe.re,\n src: internalRe.src,\n tokens: internalRe.t,\n SEMVER_SPEC_VERSION: require('./internal/constants').SEMVER_SPEC_VERSION,\n SemVer: require('./classes/semver'),\n compareIdentifiers: require('./internal/identifiers').compareIdentifiers,\n rcompareIdentifiers: require('./internal/identifiers').rcompareIdentifiers,\n parse: require('./functions/parse'),\n valid: require('./functions/valid'),\n clean: require('./functions/clean'),\n inc: require('./functions/inc'),\n diff: require('./functions/diff'),\n major: require('./functions/major'),\n minor: require('./functions/minor'),\n patch: require('./functions/patch'),\n prerelease: require('./functions/prerelease'),\n compare: require('./functions/compare'),\n rcompare: require('./functions/rcompare'),\n compareLoose: require('./functions/compare-loose'),\n compareBuild: require('./functions/compare-build'),\n sort: require('./functions/sort'),\n rsort: require('./functions/rsort'),\n gt: require('./functions/gt'),\n lt: require('./functions/lt'),\n eq: require('./functions/eq'),\n neq: require('./functions/neq'),\n gte: require('./functions/gte'),\n lte: require('./functions/lte'),\n cmp: require('./functions/cmp'),\n coerce: require('./functions/coerce'),\n Comparator: require('./classes/comparator'),\n Range: require('./classes/range'),\n satisfies: require('./functions/satisfies'),\n toComparators: require('./ranges/to-comparators'),\n maxSatisfying: require('./ranges/max-satisfying'),\n minSatisfying: require('./ranges/min-satisfying'),\n minVersion: require('./ranges/min-version'),\n validRange: require('./ranges/valid'),\n outside: require('./ranges/outside'),\n gtr: require('./ranges/gtr'),\n ltr: require('./ranges/ltr'),\n intersects: require('./ranges/intersects'),\n simplifyRange: require('./ranges/simplify'),\n subset: require('./ranges/subset'),\n}\n","// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nconst SEMVER_SPEC_VERSION = '2.0.0'\n\nconst MAX_LENGTH = 256\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n /* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nconst MAX_SAFE_COMPONENT_LENGTH = 16\n\nmodule.exports = {\n SEMVER_SPEC_VERSION,\n MAX_LENGTH,\n MAX_SAFE_INTEGER,\n MAX_SAFE_COMPONENT_LENGTH\n}\n","const debug = (\n typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)\n) ? (...args) => console.error('SEMVER', ...args)\n : () => {}\n\nmodule.exports = debug\n","const numeric = /^[0-9]+$/\nconst compareIdentifiers = (a, b) => {\n const anum = numeric.test(a)\n const bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nconst rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)\n\nmodule.exports = {\n compareIdentifiers,\n rcompareIdentifiers\n}\n","const { MAX_SAFE_COMPONENT_LENGTH } = require('./constants')\nconst debug = require('./debug')\nexports = module.exports = {}\n\n// The actual regexps go on exports.re\nconst re = exports.re = []\nconst src = exports.src = []\nconst t = exports.t = {}\nlet R = 0\n\nconst createToken = (name, value, isGlobal) => {\n const index = R++\n debug(index, value)\n t[name] = index\n src[index] = value\n re[index] = new RegExp(value, isGlobal ? 'g' : undefined)\n}\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\ncreateToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*')\ncreateToken('NUMERICIDENTIFIERLOOSE', '[0-9]+')\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\ncreateToken('NONNUMERICIDENTIFIER', '\\\\d*[a-zA-Z-][a-zA-Z0-9-]*')\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\ncreateToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})`)\n\ncreateToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})`)\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\ncreateToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\ncreateToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\ncreateToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`)\n\ncreateToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\ncreateToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+')\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\ncreateToken('BUILD', `(?:\\\\+(${src[t.BUILDIDENTIFIER]\n}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`)\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\ncreateToken('FULLPLAIN', `v?${src[t.MAINVERSION]\n}${src[t.PRERELEASE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('FULL', `^${src[t.FULLPLAIN]}$`)\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\ncreateToken('LOOSEPLAIN', `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]\n}${src[t.PRERELEASELOOSE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)\n\ncreateToken('GTLT', '((?:<|>)?=?)')\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\ncreateToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`)\ncreateToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`)\n\ncreateToken('XRANGEPLAIN', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:${src[t.PRERELEASE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGEPLAINLOOSE', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:${src[t.PRERELEASELOOSE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`)\ncreateToken('XRANGELOOSE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\ncreateToken('COERCE', `${'(^|[^\\\\d])' +\n '(\\\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:$|[^\\\\d])`)\ncreateToken('COERCERTL', src[t.COERCE], true)\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\ncreateToken('LONETILDE', '(?:~>?)')\n\ncreateToken('TILDETRIM', `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true)\nexports.tildeTrimReplace = '$1~'\n\ncreateToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\ncreateToken('LONECARET', '(?:\\\\^)')\n\ncreateToken('CARETTRIM', `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true)\nexports.caretTrimReplace = '$1^'\n\ncreateToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\ncreateToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`)\ncreateToken('COMPARATOR', `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`)\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\ncreateToken('COMPARATORTRIM', `(\\\\s*)${src[t.GTLT]\n}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)\nexports.comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\ncreateToken('HYPHENRANGE', `^\\\\s*(${src[t.XRANGEPLAIN]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAIN]})` +\n `\\\\s*$`)\n\ncreateToken('HYPHENRANGELOOSE', `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s*$`)\n\n// Star ranges basically just allow anything at all.\ncreateToken('STAR', '(<|>)?=?\\\\s*\\\\*')\n// >=0.0.0 is like a star\ncreateToken('GTE0', '^\\\\s*>=\\\\s*0\\.0\\.0\\\\s*$')\ncreateToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\.0\\.0-0\\\\s*$')\n","// Determine if version is greater than all the versions possible in the range.\nconst outside = require('./outside')\nconst gtr = (version, range, options) => outside(version, range, '>', options)\nmodule.exports = gtr\n","const Range = require('../classes/range')\nconst intersects = (r1, r2, options) => {\n r1 = new Range(r1, options)\n r2 = new Range(r2, options)\n return r1.intersects(r2)\n}\nmodule.exports = intersects\n","const outside = require('./outside')\n// Determine if version is less than all the versions possible in the range\nconst ltr = (version, range, options) => outside(version, range, '<', options)\nmodule.exports = ltr\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\n\nconst maxSatisfying = (versions, range, options) => {\n let max = null\n let maxSV = null\n let rangeObj = null\n try {\n rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach((v) => {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!max || maxSV.compare(v) === -1) {\n // compare(max, v, true)\n max = v\n maxSV = new SemVer(max, options)\n }\n }\n })\n return max\n}\nmodule.exports = maxSatisfying\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\nconst minSatisfying = (versions, range, options) => {\n let min = null\n let minSV = null\n let rangeObj = null\n try {\n rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach((v) => {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!min || minSV.compare(v) === 1) {\n // compare(min, v, true)\n min = v\n minSV = new SemVer(min, options)\n }\n }\n })\n return min\n}\nmodule.exports = minSatisfying\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\nconst gt = require('../functions/gt')\n\nconst minVersion = (range, loose) => {\n range = new Range(range, loose)\n\n let minver = new SemVer('0.0.0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = new SemVer('0.0.0-0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = null\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i]\n\n comparators.forEach((comparator) => {\n // Clone to avoid manipulating the comparator's semver object.\n const compver = new SemVer(comparator.semver.version)\n switch (comparator.operator) {\n case '>':\n if (compver.prerelease.length === 0) {\n compver.patch++\n } else {\n compver.prerelease.push(0)\n }\n compver.raw = compver.format()\n /* fallthrough */\n case '':\n case '>=':\n if (!minver || gt(minver, compver)) {\n minver = compver\n }\n break\n case '<':\n case '<=':\n /* Ignore maximum versions */\n break\n /* istanbul ignore next */\n default:\n throw new Error(`Unexpected operation: ${comparator.operator}`)\n }\n })\n }\n\n if (minver && range.test(minver)) {\n return minver\n }\n\n return null\n}\nmodule.exports = minVersion\n","const SemVer = require('../classes/semver')\nconst Comparator = require('../classes/comparator')\nconst {ANY} = Comparator\nconst Range = require('../classes/range')\nconst satisfies = require('../functions/satisfies')\nconst gt = require('../functions/gt')\nconst lt = require('../functions/lt')\nconst lte = require('../functions/lte')\nconst gte = require('../functions/gte')\n\nconst outside = (version, range, hilo, options) => {\n version = new SemVer(version, options)\n range = new Range(range, options)\n\n let gtfn, ltefn, ltfn, comp, ecomp\n switch (hilo) {\n case '>':\n gtfn = gt\n ltefn = lte\n ltfn = lt\n comp = '>'\n ecomp = '>='\n break\n case '<':\n gtfn = lt\n ltefn = gte\n ltfn = gt\n comp = '<'\n ecomp = '<='\n break\n default:\n throw new TypeError('Must provide a hilo val of \"<\" or \">\"')\n }\n\n // If it satisifes the range it is not outside\n if (satisfies(version, range, options)) {\n return false\n }\n\n // From now on, variable terms are as if we're in \"gtr\" mode.\n // but note that everything is flipped for the \"ltr\" function.\n\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i]\n\n let high = null\n let low = null\n\n comparators.forEach((comparator) => {\n if (comparator.semver === ANY) {\n comparator = new Comparator('>=0.0.0')\n }\n high = high || comparator\n low = low || comparator\n if (gtfn(comparator.semver, high.semver, options)) {\n high = comparator\n } else if (ltfn(comparator.semver, low.semver, options)) {\n low = comparator\n }\n })\n\n // If the edge version comparator has a operator then our version\n // isn't outside it\n if (high.operator === comp || high.operator === ecomp) {\n return false\n }\n\n // If the lowest version comparator has an operator and our version\n // is less than it then it isn't higher than the range\n if ((!low.operator || low.operator === comp) &&\n ltefn(version, low.semver)) {\n return false\n } else if (low.operator === ecomp && ltfn(version, low.semver)) {\n return false\n }\n }\n return true\n}\n\nmodule.exports = outside\n","// given a set of versions and a range, create a \"simplified\" range\n// that includes the same versions that the original range does\n// If the original range is shorter than the simplified one, return that.\nconst satisfies = require('../functions/satisfies.js')\nconst compare = require('../functions/compare.js')\nmodule.exports = (versions, range, options) => {\n const set = []\n let min = null\n let prev = null\n const v = versions.sort((a, b) => compare(a, b, options))\n for (const version of v) {\n const included = satisfies(version, range, options)\n if (included) {\n prev = version\n if (!min)\n min = version\n } else {\n if (prev) {\n set.push([min, prev])\n }\n prev = null\n min = null\n }\n }\n if (min)\n set.push([min, null])\n\n const ranges = []\n for (const [min, max] of set) {\n if (min === max)\n ranges.push(min)\n else if (!max && min === v[0])\n ranges.push('*')\n else if (!max)\n ranges.push(`>=${min}`)\n else if (min === v[0])\n ranges.push(`<=${max}`)\n else\n ranges.push(`${min} - ${max}`)\n }\n const simplified = ranges.join(' || ')\n const original = typeof range.raw === 'string' ? range.raw : String(range)\n return simplified.length < original.length ? simplified : range\n}\n","const Range = require('../classes/range.js')\nconst { ANY } = require('../classes/comparator.js')\nconst satisfies = require('../functions/satisfies.js')\nconst compare = require('../functions/compare.js')\n\n// Complex range `r1 || r2 || ...` is a subset of `R1 || R2 || ...` iff:\n// - Every simple range `r1, r2, ...` is a subset of some `R1, R2, ...`\n//\n// Simple range `c1 c2 ...` is a subset of simple range `C1 C2 ...` iff:\n// - If c is only the ANY comparator\n// - If C is only the ANY comparator, return true\n// - Else return false\n// - Let EQ be the set of = comparators in c\n// - If EQ is more than one, return true (null set)\n// - Let GT be the highest > or >= comparator in c\n// - Let LT be the lowest < or <= comparator in c\n// - If GT and LT, and GT.semver > LT.semver, return true (null set)\n// - If EQ\n// - If GT, and EQ does not satisfy GT, return true (null set)\n// - If LT, and EQ does not satisfy LT, return true (null set)\n// - If EQ satisfies every C, return true\n// - Else return false\n// - If GT\n// - If GT is lower than any > or >= comp in C, return false\n// - If GT is >=, and GT.semver does not satisfy every C, return false\n// - If LT\n// - If LT.semver is greater than that of any > comp in C, return false\n// - If LT is <=, and LT.semver does not satisfy every C, return false\n// - If any C is a = range, and GT or LT are set, return false\n// - Else return true\n\nconst subset = (sub, dom, options) => {\n sub = new Range(sub, options)\n dom = new Range(dom, options)\n let sawNonNull = false\n\n OUTER: for (const simpleSub of sub.set) {\n for (const simpleDom of dom.set) {\n const isSub = simpleSubset(simpleSub, simpleDom, options)\n sawNonNull = sawNonNull || isSub !== null\n if (isSub)\n continue OUTER\n }\n // the null set is a subset of everything, but null simple ranges in\n // a complex range should be ignored. so if we saw a non-null range,\n // then we know this isn't a subset, but if EVERY simple range was null,\n // then it is a subset.\n if (sawNonNull)\n return false\n }\n return true\n}\n\nconst simpleSubset = (sub, dom, options) => {\n if (sub.length === 1 && sub[0].semver === ANY)\n return dom.length === 1 && dom[0].semver === ANY\n\n const eqSet = new Set()\n let gt, lt\n for (const c of sub) {\n if (c.operator === '>' || c.operator === '>=')\n gt = higherGT(gt, c, options)\n else if (c.operator === '<' || c.operator === '<=')\n lt = lowerLT(lt, c, options)\n else\n eqSet.add(c.semver)\n }\n\n if (eqSet.size > 1)\n return null\n\n let gtltComp\n if (gt && lt) {\n gtltComp = compare(gt.semver, lt.semver, options)\n if (gtltComp > 0)\n return null\n else if (gtltComp === 0 && (gt.operator !== '>=' || lt.operator !== '<='))\n return null\n }\n\n // will iterate one or zero times\n for (const eq of eqSet) {\n if (gt && !satisfies(eq, String(gt), options))\n return null\n\n if (lt && !satisfies(eq, String(lt), options))\n return null\n\n for (const c of dom) {\n if (!satisfies(eq, String(c), options))\n return false\n }\n return true\n }\n\n let higher, lower\n let hasDomLT, hasDomGT\n for (const c of dom) {\n hasDomGT = hasDomGT || c.operator === '>' || c.operator === '>='\n hasDomLT = hasDomLT || c.operator === '<' || c.operator === '<='\n if (gt) {\n if (c.operator === '>' || c.operator === '>=') {\n higher = higherGT(gt, c, options)\n if (higher === c)\n return false\n } else if (gt.operator === '>=' && !satisfies(gt.semver, String(c), options))\n return false\n }\n if (lt) {\n if (c.operator === '<' || c.operator === '<=') {\n lower = lowerLT(lt, c, options)\n if (lower === c)\n return false\n } else if (lt.operator === '<=' && !satisfies(lt.semver, String(c), options))\n return false\n }\n if (!c.operator && (lt || gt) && gtltComp !== 0)\n return false\n }\n\n // if there was a < or >, and nothing in the dom, then must be false\n // UNLESS it was limited by another range in the other direction.\n // Eg, >1.0.0 <1.0.1 is still a subset of <2.0.0\n if (gt && hasDomLT && !lt && gtltComp !== 0)\n return false\n\n if (lt && hasDomGT && !gt && gtltComp !== 0)\n return false\n\n return true\n}\n\n// >=1.2.3 is lower than >1.2.3\nconst higherGT = (a, b, options) => {\n if (!a)\n return b\n const comp = compare(a.semver, b.semver, options)\n return comp > 0 ? a\n : comp < 0 ? b\n : b.operator === '>' && a.operator === '>=' ? b\n : a\n}\n\n// <=1.2.3 is higher than <1.2.3\nconst lowerLT = (a, b, options) => {\n if (!a)\n return b\n const comp = compare(a.semver, b.semver, options)\n return comp < 0 ? a\n : comp > 0 ? b\n : b.operator === '<' && a.operator === '<=' ? b\n : a\n}\n\nmodule.exports = subset\n","const Range = require('../classes/range')\n\n// Mostly just for testing and legacy API reasons\nconst toComparators = (range, options) =>\n new Range(range, options).set\n .map(comp => comp.map(c => c.value).join(' ').trim().split(' '))\n\nmodule.exports = toComparators\n","const Range = require('../classes/range')\nconst validRange = (range, options) => {\n try {\n // Return '*' instead of '' so that truthiness works.\n // This will throw if it's invalid anyway\n return new Range(range, options).range || '*'\n } catch (er) {\n return null\n }\n}\nmodule.exports = validRange\n","const resolveDirectory = require(\"../public-path\").resolveDirectory;\n\nexports.autoPublicPath = function autoPublicPath(rootDirLevel) {\n if (!rootDirLevel) {\n rootDirLevel = 1;\n }\n\n if (typeof __webpack_public_path__ !== \"undefined\") {\n if (typeof __system_context__ === \"undefined\") {\n throw Error(\n \"systemjs-webpack-interop requires webpack@>=5.0.0-beta.15 and output.libraryTarget set to 'system'\"\n );\n }\n\n if (!__system_context__.meta || !__system_context__.meta.url) {\n console.error(\"__system_context__\", __system_context__);\n throw Error(\n \"systemjs-webpack-interop was provided an unknown SystemJS context. Expected context.meta.url, but none was provided\"\n );\n }\n\n __webpack_public_path__ = resolveDirectory(\n __system_context__.meta.url,\n rootDirLevel\n );\n }\n};\n","exports.setPublicPath = function setPublicPath(\n systemjsModuleName,\n rootDirectoryLevel\n) {\n if (!rootDirectoryLevel) {\n rootDirectoryLevel = 1;\n }\n if (\n typeof systemjsModuleName !== \"string\" ||\n systemjsModuleName.trim().length === 0\n ) {\n throw Error(\n \"systemjs-webpack-interop: setPublicPath(systemjsModuleName) must be called with a non-empty string 'systemjsModuleName'\"\n );\n }\n\n if (\n typeof rootDirectoryLevel !== \"number\" ||\n rootDirectoryLevel <= 0 ||\n isNaN(rootDirectoryLevel) ||\n !isInteger(rootDirectoryLevel)\n ) {\n throw Error(\n \"systemjs-webpack-interop: setPublicPath(systemjsModuleName, rootDirectoryLevel) must be called with a positive integer 'rootDirectoryLevel'\"\n );\n }\n\n var moduleUrl;\n try {\n moduleUrl = window.System.resolve(systemjsModuleName);\n if (!moduleUrl) {\n throw Error();\n }\n } catch (err) {\n throw Error(\n \"systemjs-webpack-interop: There is no such module '\" +\n systemjsModuleName +\n \"' in the SystemJS registry. Did you misspell the name of your module?\"\n );\n }\n\n __webpack_public_path__ = resolveDirectory(moduleUrl, rootDirectoryLevel);\n};\n\nfunction resolveDirectory(urlString, rootDirectoryLevel) {\n // Our friend IE11 doesn't support new URL()\n // https://github.com/single-spa/single-spa/issues/612\n // https://gist.github.com/jlong/2428561\n\n var a = document.createElement(\"a\");\n a.href = urlString;\n\n var pathname = a.pathname[0] === \"/\" ? a.pathname : \"/\" + a.pathname;\n var numDirsProcessed = 0,\n index = pathname.length;\n while (numDirsProcessed !== rootDirectoryLevel && index >= 0) {\n var char = pathname[--index];\n if (char === \"/\") {\n numDirsProcessed++;\n }\n }\n\n if (numDirsProcessed !== rootDirectoryLevel) {\n throw Error(\n \"systemjs-webpack-interop: rootDirectoryLevel (\" +\n rootDirectoryLevel +\n \") is greater than the number of directories (\" +\n numDirsProcessed +\n \") in the URL path \" +\n urlString\n );\n }\n\n var finalPath = pathname.slice(0, index + 1);\n\n return a.protocol + \"//\" + a.host + finalPath;\n}\n\nexports.resolveDirectory = resolveDirectory;\n\n// borrowed from https://github.com/parshap/js-is-integer/blob/master/index.js\nvar isInteger =\n Number.isInteger ||\n function isInteger(val) {\n return typeof val === \"number\" && isFinite(val) && Math.floor(val) === val;\n };\n","module.exports = __WEBPACK_EXTERNAL_MODULE__9688__;","module.exports = __WEBPACK_EXTERNAL_MODULE__7064__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.y = __system_context__;","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) scriptUrl = scripts[scripts.length - 1].src\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","const autoPublicPath = require(\"./auto-public-path\").autoPublicPath;\n\nautoPublicPath(1);\n","/** @module @category Utility */\n\n/**\n * Gets the number of days in the year of the given date.\n * @param date The date to compute the days within the year.\n * @returns The number of days.\n */\nexport function daysIntoYear(date: Date) {\n return (\n (Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate()) -\n Date.UTC(date.getUTCFullYear(), 0, 0)) /\n 24 /\n 60 /\n 60 /\n 1000\n );\n}\n\n/**\n * Checks if two dates are representing the same day.\n * @param firstDate The first date.\n * @param secondDate The second date.\n * @returns True if both are located on the same day.\n */\nexport function isSameDay(firstDate: Date, secondDate: Date) {\n const firstISO = firstDate.toISOString();\n const secondISO = secondDate.toISOString();\n return (\n firstISO.slice(0, firstISO.indexOf(\"T\")) ===\n secondISO.slice(0, secondISO.indexOf(\"T\"))\n );\n}\n\n/**\n * Gets a human readable age represention of the provided date string.\n * @param dateString The stringified date.\n * @returns A human-readable string version of the age.\n */\nexport function age(dateString: string): string {\n // Based on http://www.gregoryschmidt.ca/writing/patient-age-display-ehr-conventions,\n // which is different from npm packages such as https://www.npmjs.com/package/timeago\n\n // First calculate the age in years\n const today = new Date();\n const birthDate = new Date(dateString);\n const monthDifference = today.getUTCMonth() - birthDate.getUTCMonth();\n const dateDifference = today.getUTCDate() - birthDate.getUTCDate();\n let age = today.getUTCFullYear() - birthDate.getUTCFullYear();\n if (monthDifference < 0 || (monthDifference === 0 && dateDifference < 0)) {\n age--;\n }\n\n // Now calculate the number of months in addition to the year's age\n let monthsAgo = monthDifference >= 0 ? monthDifference : monthDifference + 12;\n if (dateDifference < 0) {\n monthsAgo--;\n }\n const monthsAgoStr = monthsAgo > 0 ? `${monthsAgo} mo` : \"\";\n\n // For patients less than a year old, we calculate the number of days/weeks they have been alive\n let totalDaysAgo = daysIntoYear(today) - daysIntoYear(birthDate);\n if (totalDaysAgo < 0) {\n totalDaysAgo += 365;\n }\n const weeksAgo = Math.floor(totalDaysAgo / 7);\n\n // The \"remainder\" number of days after the weeksAgo number of weeks\n const remainderDaysInWeek = totalDaysAgo - weeksAgo * 7;\n\n // Depending on their age, return a different representation of their age.\n if (age === 0) {\n if (isSameDay(today, birthDate)) {\n return `Today`;\n } else if (weeksAgo < 4) {\n return `${totalDaysAgo} day`;\n } else if (weeksAgo === 0) {\n return `${totalDaysAgo} day`;\n } else if (remainderDaysInWeek > 0) {\n return `${weeksAgo} wk ${remainderDaysInWeek} d`;\n } else {\n return `${weeksAgo} week`;\n }\n } else if (age < 2) {\n return `${monthsAgoStr} ${age} yr`.trim();\n } else if (age < 18) {\n return `${age} yr ${monthsAgoStr}`.trim();\n } else {\n return `${age} years`;\n }\n}\n","/**\n * @module\n * @category Date and Time\n */\nimport { i18n } from \"i18next\";\nimport dayjs from \"dayjs\";\nimport utc from \"dayjs/plugin/utc\";\nimport isToday from \"dayjs/plugin/isToday\";\n\ndayjs.extend(utc);\ndayjs.extend(isToday);\n\ndeclare global {\n interface Window {\n i18next: i18n;\n }\n}\n\nexport type DateInput = string | number | Date;\n\nconst isoFormat = \"YYYY-MM-DDTHH:mm:ss.SSSZZ\";\n\n/**\n * This function is STRICT on checking whether a date string is the openmrs format.\n * The format should be YYYY-MM-DDTHH:mm:ss.SSSZZ\n */\nexport function isOmrsDateStrict(omrsPayloadString: string): boolean {\n // omrs format 2018-03-19T00:00:00.000+0300\n if (\n omrsPayloadString === null ||\n omrsPayloadString === undefined ||\n omrsPayloadString.trim().length !== 28\n ) {\n return false;\n }\n omrsPayloadString = omrsPayloadString.trim();\n\n // 11th character will always be T\n if (omrsPayloadString[10] !== \"T\") {\n return false;\n }\n\n // checking time format\n if (\n omrsPayloadString[13] !== \":\" ||\n omrsPayloadString[16] !== \":\" ||\n omrsPayloadString[19] !== \".\"\n ) {\n return false;\n }\n\n // checking UTC offset format\n if (!(omrsPayloadString[23] === \"+\" && omrsPayloadString[26] !== \":\")) {\n return false;\n }\n\n return dayjs(omrsPayloadString, isoFormat).isValid();\n}\n\n/**\n *\n * @param date Checks if the provided date is today.\n */\nexport function isOmrsDateToday(date: DateInput) {\n return dayjs(date).isToday();\n}\n\n/**\n * Converts the object to a date object if it is a valid ISO date time string.\n */\nexport function toDateObjectStrict(omrsDateString: string): Date | null {\n if (!isOmrsDateStrict(omrsDateString)) {\n return null;\n }\n\n return dayjs(omrsDateString, isoFormat).toDate();\n}\n\n/**\n * Formats the input as a date time string using the format \"YYYY-MM-DDTHH:mm:ss.SSSZZ\".\n */\nexport function toOmrsIsoString(date: DateInput, toUTC = false): string {\n let d = dayjs(date);\n\n if (toUTC) {\n d = d.utc();\n }\n\n return d.format(isoFormat);\n}\n\n/**\n * @deprecated use `formatTime`\n * Formats the input as a time string using the format \"HH:mm\".\n */\nexport function toOmrsTimeString24(date: DateInput) {\n return dayjs(date).format(\"HH:mm\");\n}\n\n/**\n * @deprecated use `formatTime`\n * Formats the input as a time string using the format \"HH:mm A\".\n */\nexport function toOmrsTimeString(date: DateInput) {\n return dayjs.utc(date).format(\"HH:mm A\");\n}\n\n/**\n * @deprecated use `formatDate(date, \"wide\")`\n * Formats the input as a date string using the format \"DD - MMM - YYYY\".\n */\nexport function toOmrsDayDateFormat(date: DateInput) {\n return toOmrsDateFormat(date, \"DD - MMM - YYYY\");\n}\n\n/**\n * @deprecated use `formatDate(date, \"no year\")`\n * Formats the input as a date string using the format \"DD-MMM\".\n */\nexport function toOmrsYearlessDateFormat(date: DateInput) {\n return toOmrsDateFormat(date, \"DD-MMM\");\n}\n\n/**\n * @deprecated use `formatDate(date)`\n * Formats the input as a date string. By default the format \"YYYY-MMM-DD\" is used.\n */\nexport function toOmrsDateFormat(date: DateInput, format = \"YYYY-MMM-DD\") {\n return dayjs(date).format(format);\n}\n\n/**\n * Utility function to parse an arbitrary string into a date.\n * Uses `dayjs(dateString)`.\n */\nexport function parseDate(dateString: string) {\n return dayjs(dateString).toDate();\n}\n\nexport type FormatDateMode = \"standard\" | \"wide\";\n\nexport type FormatDateOptions = {\n /**\n * - `standard`: \"03 Feb 2022\"\n * - `wide`: \"03 — Feb — 2022\"\n */\n mode: FormatDateMode;\n /**\n * Whether the time should be included in the output always (`true`),\n * never (`false`), or only when the input date is today (`for today`).\n */\n time: true | false | \"for today\";\n /** Whether to include the day number */\n day: boolean;\n /** Whether to include the year */\n year: boolean;\n};\n\nconst defaultOptions: FormatDateOptions = {\n mode: \"standard\",\n time: \"for today\",\n day: true,\n year: true,\n};\n\n/**\n * Formats the input date according to the current locale and the\n * given options.\n *\n * Default options:\n * - mode: \"standard\",\n * - time: \"for today\",\n * - day: true,\n * - year: true\n *\n * If the date is today then \"Today\" is produced (in the locale language).\n *\n * When time is included, it is appended with a comma and a space. This\n * agrees with the output of `Date.prototype.toLocaleString` for *most*\n * locales.\n *\n * TODO: Shouldn't throw on null input\n */\nexport function formatDate(date: Date, options?: Partial<FormatDateOptions>) {\n const { mode, time, day, year }: FormatDateOptions = {\n ...defaultOptions,\n ...options,\n };\n const formatterOptions: Intl.DateTimeFormatOptions = {\n year: year ? \"numeric\" : undefined,\n month: \"short\",\n day: day ? \"2-digit\" : undefined,\n };\n let locale = getLocale();\n let localeString: string;\n const isToday = dayjs(date).isToday();\n if (isToday) {\n // This produces the word \"Today\" in the language of `locale`\n const rtf = new Intl.RelativeTimeFormat(locale, { numeric: \"auto\" });\n localeString = rtf.format(0, \"day\");\n localeString =\n localeString[0].toLocaleUpperCase(locale) + localeString.slice(1);\n } else {\n if (locale == \"en\") {\n // This locale override is here rather than in `getLocale`\n // because Americans should see AM/PM for times.\n locale = \"en-GB\";\n }\n localeString = date.toLocaleDateString(locale, formatterOptions);\n if (locale == \"en-GB\" && mode == \"standard\" && year && day) {\n // Custom formatting for English. Use hyphens instead of spaces.\n localeString = localeString.replace(/ /g, \"-\");\n }\n if (mode == \"wide\") {\n localeString = localeString.replace(/ /g, \" — \"); // space-emdash-space\n if (/ru.*/.test(locale)) {\n // Remove the extra em-dash that gets added between the year and the suffix 'r.'\n const len = localeString.length;\n localeString =\n localeString.slice(0, len - 5) +\n localeString.slice(len - 5).replace(\" — \", \" \");\n }\n }\n }\n if (time === true || (isToday && time === \"for today\")) {\n localeString += `, ${formatTime(date)}`;\n }\n return localeString;\n}\n\n/**\n * Formats the input as a time, according to the current locale.\n * 12-hour or 24-hour clock depends on locale.\n */\nexport function formatTime(date: Date) {\n return date.toLocaleTimeString(getLocale(), {\n hour: \"2-digit\",\n minute: \"2-digit\",\n });\n}\n\n/**\n * Formats the input into a string showing the date and time, according\n * to the current locale. The `mode` parameter is as described for\n * `formatDate`.\n *\n * This is created by concatenating the results of `formatDate`\n * and `formatTime` with a comma and space. This agrees with the\n * output of `Date.prototype.toLocaleString` for *most* locales.\n */\nexport function formatDatetime(\n date: Date,\n options?: Partial<Omit<FormatDateOptions, \"time\">>\n) {\n return formatDate(date, { ...options, time: true });\n}\n\nfunction getLocale() {\n let language = window.i18next.language;\n language = language.replace(\"_\", \"-\"); // just in case\n // hack for `ht` until https://unicode-org.atlassian.net/browse/CLDR-14956 is fixed\n if (language === \"ht\") {\n language = \"fr-HT\";\n }\n return language;\n}\n","/** @module @category Utility */\nimport _i18n from \"i18next\";\n\nexport function translateFrom(\n moduleName: string,\n key: string,\n fallback?: string,\n options?: object\n) {\n const i18n: typeof _i18n = (_i18n as any).default || _i18n;\n return i18n.t(key, {\n ns: moduleName,\n defaultValue: fallback,\n ...options,\n });\n}\n","/** @module @category Utility */\nimport * as semver from \"semver\";\n\nfunction normalizeOnlyVersion(version: string) {\n const [major, minor, patch] = version.split(\".\");\n return `${major}.${minor}.${patch}`;\n}\n\nfunction normalizeFullVersion(version: string) {\n const idx = version.indexOf(\"-\");\n const prerelease = idx >= 0;\n\n if (prerelease) {\n const ver = normalizeOnlyVersion(version.slice(0, idx));\n const pre = version.slice(idx + 1);\n return `${ver}-${pre}`;\n }\n\n return normalizeOnlyVersion(version);\n}\n\nexport function isVersionSatisfied(\n requiredVersion: string,\n installedVersion: string\n) {\n const version = normalizeFullVersion(installedVersion);\n\n return semver.satisfies(version, requiredVersion, {\n includePrerelease: true,\n } as semver.Options);\n}\n","/** @module @category Utility */\n\n/**\n * Options for configuring the behavior of the {@link retry} function.\n */\nexport interface RetryOptions {\n /**\n * Determines whether the retry function should retry executing the function after it failed\n * with an error on the current attempt.\n * @param attempt The current (zero-based) retry attempt. `0` indicates the initial attempt.\n */\n shouldRetry?(attempt: number);\n /**\n * Calculates the next delay (in milliseconds) before a retry attempt.\n * Returning a value for the inital attempt (`0`) delays the initial function invocation.\n * @param attempt The current (zero-based) retry attempt. `0` indicates the initial attempt.\n */\n getDelay?(attempt: number): number;\n /**\n * Called when invoking the function resulted in an error.\n * Allows running side-effects on errors, e.g. logging.\n * @param e The error thrown by the function.\n * @param attempt The current (zero-based) retry attempt. `0` indicates the initial attempt.\n */\n onError?(e: any, attempt: number): void;\n}\n\n/**\n * Executes the specified function and retries executing on failure with a custom backoff strategy\n * defined by the options.\n *\n * If not configured otherwise, this function uses the following default options:\n * * Retries 5 times beyond the initial attempt.\n * * Uses an exponential backoff starting with an initial delay of 1000ms.\n * @param fn The function to be executed and retried on failure.\n * @param options Additional options which configure the retry behavior.\n * @returns The result of successfully executing `fn`.\n * @throws Rethrows the final error of running `fn` when the function stops retrying.\n */\nexport async function retry<T>(\n fn: () => Promise<T>,\n options: RetryOptions = {}\n) {\n let { shouldRetry, getDelay, onError } = options;\n shouldRetry = shouldRetry ?? ((attempt) => limitAttempts(attempt, 5));\n getDelay = getDelay ?? ((attempt) => getExponentialDelay(attempt, 1000));\n\n let attempt = 0;\n let lastError: any = undefined;\n\n do {\n try {\n await delay(getDelay(attempt));\n return await fn();\n } catch (e) {\n onError?.(e, attempt);\n lastError = e;\n }\n } while (shouldRetry(attempt++));\n\n // If we reach this fn errored and shouldn't retry anymore. Simply rethrow the final error as\n // a means of ending the retry process without a result.\n throw lastError;\n}\n\nfunction limitAttempts(attempt: number, maxAttempts: number) {\n return attempt <= maxAttempts;\n}\n\nfunction getExponentialDelay(\n attempt: number,\n startingDelay: number,\n initialDelay = false\n) {\n const exponent = initialDelay ? attempt + 1 : attempt;\n return startingDelay * Math.pow(2, exponent);\n}\n\nasync function delay(ms: number) {\n if (ms <= 0) {\n return;\n }\n\n return new Promise<void>((res) => setTimeout(res, ms));\n}\n"],"names":["module","exports","e","o","t","prototype","isToday","this","format","i","s","f","n","u","utc","date","args","arguments","toDate","locale","$L","add","utcOffset","local","parse","$u","$utils","$offset","call","r","init","$d","$y","getUTCFullYear","$M","getUTCMonth","$D","getUTCDate","$W","getUTCDay","$H","getUTCHours","$m","getUTCMinutes","$s","getUTCSeconds","$ms","getUTCMilliseconds","a","match","Math","abs","getTimezoneOffset","$x","$localOffset","h","valueOf","isUTC","toISOString","toString","toUTCString","l","c","diff","ANY","Symbol","Comparator","constructor","comp","options","loose","includePrerelease","value","debug","semver","operator","version","re","COMPARATORLOOSE","COMPARATOR","m","TypeError","undefined","SemVer","test","er","cmp","intersects","Range","sameDirectionIncreasing","sameDirectionDecreasing","sameSemVer","differentDirectionsInclusive","oppositeDirectionsLessThan","oppositeDirectionsGreaterThan","range","raw","set","split","map","parseRange","trim","filter","length","comps","join","hr","HYPHENRANGELOOSE","HYPHENRANGE","replace","hyphenReplace","COMPARATORTRIM","comparatorTrimReplace","TILDETRIM","tildeTrimReplace","CARETTRIM","caretTrimReplace","compRe","parseComparator","replaceGTE0","some","thisComparators","isSatisfiable","rangeComparators","every","thisComparator","rangeComparator","testSet","comparators","result","remainingComparators","slice","testComparator","pop","otherComparator","replaceCarets","replaceTildes","replaceXRanges","replaceStars","isX","id","toLowerCase","replaceTilde","TILDELOOSE","TILDE","_","M","p","pr","ret","replaceCaret","CARETLOOSE","CARET","z","replaceXRange","XRANGELOOSE","XRANGE","gtlt","xM","xm","xp","anyX","STAR","GTE0PRE","GTE0","incPr","$0","from","fM","fm","fp","fpr","fb","to","tM","tm","tp","tpr","tb","prerelease","allowed","major","minor","patch","MAX_LENGTH","MAX_SAFE_INTEGER","compareIdentifiers","LOOSE","FULL","num","build","compare","other","compareMain","comparePre","b","compareBuild","inc","release","identifier","push","isNaN","Error","eq","neq","gt","gte","lt","lte","op","String","rtl","next","COERCERTL","exec","index","lastIndex","COERCE","versionA","versionB","version1","version2","v1","v2","hasPre","prefix","defaultResult","key","parsed","list","sort","v","internalRe","src","tokens","SEMVER_SPEC_VERSION","rcompareIdentifiers","valid","clean","rcompare","compareLoose","rsort","coerce","satisfies","toComparators","maxSatisfying","minSatisfying","minVersion","validRange","outside","gtr","ltr","simplifyRange","subset","Number","MAX_SAFE_COMPONENT_LENGTH","process","env","NODE_DEBUG","console","error","numeric","anum","bnum","R","createToken","name","isGlobal","RegExp","NUMERICIDENTIFIER","NUMERICIDENTIFIERLOOSE","NONNUMERICIDENTIFIER","PRERELEASEIDENTIFIER","PRERELEASEIDENTIFIERLOOSE","BUILDIDENTIFIER","MAINVERSION","PRERELEASE","BUILD","FULLPLAIN","MAINVERSIONLOOSE","PRERELEASELOOSE","LOOSEPLAIN","XRANGEIDENTIFIER","XRANGEIDENTIFIERLOOSE","GTLT","XRANGEPLAIN","XRANGEPLAINLOOSE","LONETILDE","LONECARET","r1","r2","versions","max","maxSV","rangeObj","forEach","min","minSV","minver","comparator","compver","hilo","gtfn","ltefn","ltfn","ecomp","high","low","prev","ranges","simplified","original","simpleSubset","sub","dom","eqSet","Set","gtltComp","higher","lower","hasDomLT","hasDomGT","higherGT","lowerLT","size","sawNonNull","OUTER","simpleSub","simpleDom","isSub","resolveDirectory","rootDirLevel","meta","url","urlString","rootDirectoryLevel","document","createElement","href","pathname","numDirsProcessed","finalPath","protocol","host","isInteger","__WEBPACK_EXTERNAL_MODULE__9688__","__WEBPACK_EXTERNAL_MODULE__7064__","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","y","__system_context__","getter","__esModule","d","definition","Object","defineProperty","enumerable","get","g","globalThis","Function","window","obj","prop","hasOwnProperty","toStringTag","scriptUrl","importScripts","location","currentScript","scripts","getElementsByTagName","autoPublicPath","daysIntoYear","Date","UTC","isSameDay","firstDate","secondDate","firstISO","secondISO","indexOf","age","dateString","today","birthDate","monthDifference","dateDifference","monthsAgo","monthsAgoStr","totalDaysAgo","weeksAgo","floor","remainderDaysInWeek","dayjs","isoFormat","isOmrsDateStrict","omrsPayloadString","isValid","isOmrsDateToday","toDateObjectStrict","omrsDateString","toOmrsIsoString","toUTC","toOmrsTimeString24","toOmrsTimeString","toOmrsDayDateFormat","toOmrsDateFormat","toOmrsYearlessDateFormat","parseDate","defaultOptions","mode","time","day","year","formatDate","localeString","formatterOptions","month","getLocale","Intl","RelativeTimeFormat","toLocaleUpperCase","toLocaleDateString","len","formatTime","toLocaleTimeString","hour","minute","formatDatetime","language","i18next","translateFrom","moduleName","fallback","_i18n","ns","defaultValue","normalizeOnlyVersion","isVersionSatisfied","requiredVersion","installedVersion","idx","ver","pre","normalizeFullVersion","retry","fn","shouldRetry","getDelay","onError","attempt","lastError","limitAttempts","getExponentialDelay","delay","maxAttempts","startingDelay","initialDelay","exponent","pow","ms","Promise","res","setTimeout"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"openmrs-esm-utils.js","mappings":"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","sources":["webpack://_openmrs_esm_utils/../../../node_modules/dayjs/dayjs.min.js","webpack://_openmrs_esm_utils/../../../node_modules/dayjs/plugin/isToday.js","webpack://_openmrs_esm_utils/../../../node_modules/dayjs/plugin/utc.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/classes/comparator.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/classes/range.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/classes/semver.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/functions/clean.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/functions/cmp.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/functions/coerce.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/functions/compare-build.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/functions/compare-loose.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/functions/compare.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/functions/diff.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/functions/eq.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/functions/gt.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/functions/gte.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/functions/inc.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/functions/lt.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/functions/lte.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/functions/major.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/functions/minor.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/functions/neq.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/functions/parse.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/functions/patch.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/functions/prerelease.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/functions/rcompare.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/functions/rsort.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/functions/satisfies.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/functions/sort.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/functions/valid.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/index.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/internal/constants.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/internal/debug.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/internal/identifiers.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/internal/re.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/ranges/gtr.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/ranges/intersects.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/ranges/ltr.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/ranges/max-satisfying.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/ranges/min-satisfying.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/ranges/min-version.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/ranges/outside.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/ranges/simplify.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/ranges/subset.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/ranges/to-comparators.js","webpack://_openmrs_esm_utils/../../../node_modules/semver/ranges/valid.js","webpack://_openmrs_esm_utils/webpack/bootstrap","webpack://_openmrs_esm_utils/webpack/runtime/compat get default export","webpack://_openmrs_esm_utils/webpack/runtime/define property getters","webpack://_openmrs_esm_utils/webpack/runtime/hasOwnProperty shorthand","webpack://_openmrs_esm_utils/webpack/runtime/make namespace object","webpack://_openmrs_esm_utils/./src/age-helpers.tsx","webpack://_openmrs_esm_utils/./src/omrs-dates.ts","webpack://_openmrs_esm_utils/../../../node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://_openmrs_esm_utils/../../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://_openmrs_esm_utils/../../../node_modules/@babel/runtime/helpers/esm/objectSpread.js","webpack://_openmrs_esm_utils/../../../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://_openmrs_esm_utils/../../../node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://_openmrs_esm_utils/../../../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://_openmrs_esm_utils/../../../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://_openmrs_esm_utils/../../../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://_openmrs_esm_utils/../../../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://_openmrs_esm_utils/../../../node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://_openmrs_esm_utils/../../../node_modules/i18next/dist/esm/i18next.js","webpack://_openmrs_esm_utils/./src/translate.ts","webpack://_openmrs_esm_utils/./src/version.ts","webpack://_openmrs_esm_utils/./src/retry.ts"],"sourcesContent":["!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",f=\"month\",h=\"quarter\",c=\"year\",d=\"date\",$=\"Invalid Date\",l=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\")},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},g={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,f),s=n-i<0,u=e.clone().add(r+(s?-1:1),f);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:f,y:c,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:h}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},v=\"en\",D={};D[v]=M;var p=function(t){return t instanceof _},S=function t(e,n,r){var i;if(!e)return v;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(v=i),i||!r&&v},w=function(t,e){if(p(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},O=g;O.l=S,O.i=p,O.w=function(t,e){return w(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=S(t.locale,null,!0),this.parse(t)}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(O.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match(l);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.$x=t.x||{},this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return O},m.isValid=function(){return!(this.$d.toString()===$)},m.isSame=function(t,e){var n=w(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return w(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<w(t)},m.$g=function(t,e,n){return O.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!O.u(e)||e,h=O.p(t),$=function(t,e){var i=O.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},l=function(t,e){return O.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,g=\"set\"+(this.$u?\"UTC\":\"\");switch(h){case c:return r?$(1,0):$(31,11);case f:return r?$(1,M):$(0,M+1);case o:var v=this.$locale().weekStart||0,D=(y<v?y+7:y)-v;return $(r?m-D:m+(6-D),M);case a:case d:return l(g+\"Hours\",0);case u:return l(g+\"Minutes\",1);case s:return l(g+\"Seconds\",2);case i:return l(g+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=O.p(t),h=\"set\"+(this.$u?\"UTC\":\"\"),$=(n={},n[a]=h+\"Date\",n[d]=h+\"Date\",n[f]=h+\"Month\",n[c]=h+\"FullYear\",n[u]=h+\"Hours\",n[s]=h+\"Minutes\",n[i]=h+\"Seconds\",n[r]=h+\"Milliseconds\",n)[o],l=o===a?this.$D+(e-this.$W):e;if(o===f||o===c){var y=this.clone().set(d,1);y.$d[$](l),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else $&&this.$d[$](l);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[O.p(t)]()},m.add=function(r,h){var d,$=this;r=Number(r);var l=O.p(h),y=function(t){var e=w($);return O.w(e.date(e.date()+Math.round(t*r)),$)};if(l===f)return this.set(f,this.$M+r);if(l===c)return this.set(c,this.$y+r);if(l===a)return y(1);if(l===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[l]||1,m=this.$d.getTime()+r*M;return O.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||$;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=O.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,f=n.months,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},c=function(t){return O.s(s%12||12,t,\"0\")},d=n.meridiem||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r},l={YY:String(this.$y).slice(-2),YYYY:this.$y,M:a+1,MM:O.s(a+1,2,\"0\"),MMM:h(n.monthsShort,a,f,3),MMMM:h(f,a),D:this.$D,DD:O.s(this.$D,2,\"0\"),d:String(this.$W),dd:h(n.weekdaysMin,this.$W,o,2),ddd:h(n.weekdaysShort,this.$W,o,3),dddd:o[this.$W],H:String(s),HH:O.s(s,2,\"0\"),h:c(1),hh:c(2),a:d(s,u,!0),A:d(s,u,!1),m:String(u),mm:O.s(u,2,\"0\"),s:String(this.$s),ss:O.s(this.$s,2,\"0\"),SSS:O.s(this.$ms,3,\"0\"),Z:i};return r.replace(y,(function(t,e){return e||l[t]||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,$){var l,y=O.p(d),M=w(r),m=(M.utcOffset()-this.utcOffset())*e,g=this-M,v=O.m(this,M);return v=(l={},l[c]=v/12,l[f]=v,l[h]=v/3,l[o]=(g-m)/6048e5,l[a]=(g-m)/864e5,l[u]=g/n,l[s]=g/e,l[i]=g/t,l)[y]||g,$?v:O.a(v)},m.daysInMonth=function(){return this.endOf(f).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=S(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return O.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),T=_.prototype;return w.prototype=T,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",f],[\"$y\",c],[\"$D\",d]].forEach((function(t){T[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),w.extend=function(t,e){return t.$i||(t(e,_,w),t.$i=!0),w},w.locale=S,w.isDayjs=p,w.unix=function(t){return w(1e3*t)},w.en=D[v],w.Ls=D,w.p={},w}));","!function(e,o){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=o():\"function\"==typeof define&&define.amd?define(o):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isToday=o()}(this,(function(){\"use strict\";return function(e,o,t){o.prototype.isToday=function(){var e=\"YYYY-MM-DD\",o=t();return this.format(e)===o.format(e)}}}));","!function(t,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_utc=i()}(this,(function(){\"use strict\";var t=\"minute\",i=/[+-]\\d\\d(?::?\\d\\d)?/g,e=/([+-]|\\d\\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:!0,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:!0});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:!1})};var o=u.parse;u.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),o.call(this,t)};var r=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds()}else r.call(this)};var a=u.utcOffset;u.utcOffset=function(s,f){var n=this.$utils().u;if(n(s))return this.$u?0:n(this.$offset)?a.call(this):this.$offset;if(\"string\"==typeof s&&(s=function(t){void 0===t&&(t=\"\");var s=t.match(i);if(!s)return null;var f=(\"\"+s[0]).match(e)||[\"-\",0,0],n=f[0],u=60*+f[1]+ +f[2];return 0===u?0:\"+\"===n?u:-u}(s),null===s))return this;var u=Math.abs(s)<=16?60*s:s,o=this;if(f)return o.$offset=u,o.$u=0===s,o;if(0!==s){var r=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(o=this.local().add(u+r,t)).$offset=u,o.$x.$localOffset=r}else o=this.utc();return o};var h=u.format;u.format=function(t){var i=t||(this.$u?\"YYYY-MM-DDTHH:mm:ss[Z]\":\"\");return h.call(this,i)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return!!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l=u.toDate;u.toDate=function(t){return\"s\"===t&&this.$offset?n(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\")).toDate():l.call(this)};var c=u.diff;u.diff=function(t,i,e){if(t&&this.$u===t.$u)return c.call(this,t,i,e);var s=this.local(),f=n(t).local();return c.call(s,f,i,e)}}}));","const ANY = Symbol('SemVer ANY')\n// hoisted class for cyclic dependency\nclass Comparator {\n static get ANY () {\n return ANY\n }\n constructor (comp, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (comp instanceof Comparator) {\n if (comp.loose === !!options.loose) {\n return comp\n } else {\n comp = comp.value\n }\n }\n\n debug('comparator', comp, options)\n this.options = options\n this.loose = !!options.loose\n this.parse(comp)\n\n if (this.semver === ANY) {\n this.value = ''\n } else {\n this.value = this.operator + this.semver.version\n }\n\n debug('comp', this)\n }\n\n parse (comp) {\n const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]\n const m = comp.match(r)\n\n if (!m) {\n throw new TypeError(`Invalid comparator: ${comp}`)\n }\n\n this.operator = m[1] !== undefined ? m[1] : ''\n if (this.operator === '=') {\n this.operator = ''\n }\n\n // if it literally is just '>' or '' then allow anything.\n if (!m[2]) {\n this.semver = ANY\n } else {\n this.semver = new SemVer(m[2], this.options.loose)\n }\n }\n\n toString () {\n return this.value\n }\n\n test (version) {\n debug('Comparator.test', version, this.options.loose)\n\n if (this.semver === ANY || version === ANY) {\n return true\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n return cmp(version, this.operator, this.semver, this.options)\n }\n\n intersects (comp, options) {\n if (!(comp instanceof Comparator)) {\n throw new TypeError('a Comparator is required')\n }\n\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (this.operator === '') {\n if (this.value === '') {\n return true\n }\n return new Range(comp.value, options).test(this.value)\n } else if (comp.operator === '') {\n if (comp.value === '') {\n return true\n }\n return new Range(this.value, options).test(comp.semver)\n }\n\n const sameDirectionIncreasing =\n (this.operator === '>=' || this.operator === '>') &&\n (comp.operator === '>=' || comp.operator === '>')\n const sameDirectionDecreasing =\n (this.operator === '<=' || this.operator === '<') &&\n (comp.operator === '<=' || comp.operator === '<')\n const sameSemVer = this.semver.version === comp.semver.version\n const differentDirectionsInclusive =\n (this.operator === '>=' || this.operator === '<=') &&\n (comp.operator === '>=' || comp.operator === '<=')\n const oppositeDirectionsLessThan =\n cmp(this.semver, '<', comp.semver, options) &&\n (this.operator === '>=' || this.operator === '>') &&\n (comp.operator === '<=' || comp.operator === '<')\n const oppositeDirectionsGreaterThan =\n cmp(this.semver, '>', comp.semver, options) &&\n (this.operator === '<=' || this.operator === '<') &&\n (comp.operator === '>=' || comp.operator === '>')\n\n return (\n sameDirectionIncreasing ||\n sameDirectionDecreasing ||\n (sameSemVer && differentDirectionsInclusive) ||\n oppositeDirectionsLessThan ||\n oppositeDirectionsGreaterThan\n )\n }\n}\n\nmodule.exports = Comparator\n\nconst {re, t} = require('../internal/re')\nconst cmp = require('../functions/cmp')\nconst debug = require('../internal/debug')\nconst SemVer = require('./semver')\nconst Range = require('./range')\n","// hoisted class for cyclic dependency\nclass Range {\n constructor (range, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (range instanceof Range) {\n if (\n range.loose === !!options.loose &&\n range.includePrerelease === !!options.includePrerelease\n ) {\n return range\n } else {\n return new Range(range.raw, options)\n }\n }\n\n if (range instanceof Comparator) {\n // just put it in the set and return\n this.raw = range.value\n this.set = [[range]]\n this.format()\n return this\n }\n\n this.options = options\n this.loose = !!options.loose\n this.includePrerelease = !!options.includePrerelease\n\n // First, split based on boolean or ||\n this.raw = range\n this.set = range\n .split(/\\s*\\|\\|\\s*/)\n // map the range to a 2d array of comparators\n .map(range => this.parseRange(range.trim()))\n // throw out any comparator lists that are empty\n // this generally means that it was not a valid range, which is allowed\n // in loose mode, but will still throw if the WHOLE range is invalid.\n .filter(c => c.length)\n\n if (!this.set.length) {\n throw new TypeError(`Invalid SemVer Range: ${range}`)\n }\n\n this.format()\n }\n\n format () {\n this.range = this.set\n .map((comps) => {\n return comps.join(' ').trim()\n })\n .join('||')\n .trim()\n return this.range\n }\n\n toString () {\n return this.range\n }\n\n parseRange (range) {\n const loose = this.options.loose\n range = range.trim()\n // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`\n const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]\n range = range.replace(hr, hyphenReplace(this.options.includePrerelease))\n debug('hyphen replace', range)\n // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`\n range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace)\n debug('comparator trim', range, re[t.COMPARATORTRIM])\n\n // `~ 1.2.3` => `~1.2.3`\n range = range.replace(re[t.TILDETRIM], tildeTrimReplace)\n\n // `^ 1.2.3` => `^1.2.3`\n range = range.replace(re[t.CARETTRIM], caretTrimReplace)\n\n // normalize spaces\n range = range.split(/\\s+/).join(' ')\n\n // At this point, the range is completely trimmed and\n // ready to be split into comparators.\n\n const compRe = loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]\n return range\n .split(' ')\n .map(comp => parseComparator(comp, this.options))\n .join(' ')\n .split(/\\s+/)\n .map(comp => replaceGTE0(comp, this.options))\n // in loose mode, throw out any that are not valid comparators\n .filter(this.options.loose ? comp => !!comp.match(compRe) : () => true)\n .map(comp => new Comparator(comp, this.options))\n }\n\n intersects (range, options) {\n if (!(range instanceof Range)) {\n throw new TypeError('a Range is required')\n }\n\n return this.set.some((thisComparators) => {\n return (\n isSatisfiable(thisComparators, options) &&\n range.set.some((rangeComparators) => {\n return (\n isSatisfiable(rangeComparators, options) &&\n thisComparators.every((thisComparator) => {\n return rangeComparators.every((rangeComparator) => {\n return thisComparator.intersects(rangeComparator, options)\n })\n })\n )\n })\n )\n })\n }\n\n // if ANY of the sets match ALL of its comparators, then pass\n test (version) {\n if (!version) {\n return false\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n for (let i = 0; i < this.set.length; i++) {\n if (testSet(this.set[i], version, this.options)) {\n return true\n }\n }\n return false\n }\n}\nmodule.exports = Range\n\nconst Comparator = require('./comparator')\nconst debug = require('../internal/debug')\nconst SemVer = require('./semver')\nconst {\n re,\n t,\n comparatorTrimReplace,\n tildeTrimReplace,\n caretTrimReplace\n} = require('../internal/re')\n\n// take a set of comparators and determine whether there\n// exists a version which can satisfy it\nconst isSatisfiable = (comparators, options) => {\n let result = true\n const remainingComparators = comparators.slice()\n let testComparator = remainingComparators.pop()\n\n while (result && remainingComparators.length) {\n result = remainingComparators.every((otherComparator) => {\n return testComparator.intersects(otherComparator, options)\n })\n\n testComparator = remainingComparators.pop()\n }\n\n return result\n}\n\n// comprised of xranges, tildes, stars, and gtlt's at this point.\n// already replaced the hyphen ranges\n// turn into a set of JUST comparators.\nconst parseComparator = (comp, options) => {\n debug('comp', comp, options)\n comp = replaceCarets(comp, options)\n debug('caret', comp)\n comp = replaceTildes(comp, options)\n debug('tildes', comp)\n comp = replaceXRanges(comp, options)\n debug('xrange', comp)\n comp = replaceStars(comp, options)\n debug('stars', comp)\n return comp\n}\n\nconst isX = id => !id || id.toLowerCase() === 'x' || id === '*'\n\n// ~, ~> --> * (any, kinda silly)\n// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0\n// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0\n// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0\n// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0\n// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0\nconst replaceTildes = (comp, options) =>\n comp.trim().split(/\\s+/).map((comp) => {\n return replaceTilde(comp, options)\n }).join(' ')\n\nconst replaceTilde = (comp, options) => {\n const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]\n return comp.replace(r, (_, M, m, p, pr) => {\n debug('tilde', comp, _, M, m, p, pr)\n let ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = `>=${M}.0.0 <${+M + 1}.0.0-0`\n } else if (isX(p)) {\n // ~1.2 == >=1.2.0 <1.3.0-0\n ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`\n } else if (pr) {\n debug('replaceTilde pr', pr)\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${+m + 1}.0-0`\n } else {\n // ~1.2.3 == >=1.2.3 <1.3.0-0\n ret = `>=${M}.${m}.${p\n } <${M}.${+m + 1}.0-0`\n }\n\n debug('tilde return', ret)\n return ret\n })\n}\n\n// ^ --> * (any, kinda silly)\n// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0\n// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0\n// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0\n// ^1.2.3 --> >=1.2.3 <2.0.0-0\n// ^1.2.0 --> >=1.2.0 <2.0.0-0\nconst replaceCarets = (comp, options) =>\n comp.trim().split(/\\s+/).map((comp) => {\n return replaceCaret(comp, options)\n }).join(' ')\n\nconst replaceCaret = (comp, options) => {\n debug('caret', comp, options)\n const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]\n const z = options.includePrerelease ? '-0' : ''\n return comp.replace(r, (_, M, m, p, pr) => {\n debug('caret', comp, _, M, m, p, pr)\n let ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`\n } else if (isX(p)) {\n if (M === '0') {\n ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`\n } else {\n ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`\n }\n } else if (pr) {\n debug('replaceCaret pr', pr)\n if (M === '0') {\n if (m === '0') {\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${m}.${+p + 1}-0`\n } else {\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${+m + 1}.0-0`\n }\n } else {\n ret = `>=${M}.${m}.${p}-${pr\n } <${+M + 1}.0.0-0`\n }\n } else {\n debug('no pr')\n if (M === '0') {\n if (m === '0') {\n ret = `>=${M}.${m}.${p\n }${z} <${M}.${m}.${+p + 1}-0`\n } else {\n ret = `>=${M}.${m}.${p\n }${z} <${M}.${+m + 1}.0-0`\n }\n } else {\n ret = `>=${M}.${m}.${p\n } <${+M + 1}.0.0-0`\n }\n }\n\n debug('caret return', ret)\n return ret\n })\n}\n\nconst replaceXRanges = (comp, options) => {\n debug('replaceXRanges', comp, options)\n return comp.split(/\\s+/).map((comp) => {\n return replaceXRange(comp, options)\n }).join(' ')\n}\n\nconst replaceXRange = (comp, options) => {\n comp = comp.trim()\n const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]\n return comp.replace(r, (ret, gtlt, M, m, p, pr) => {\n debug('xRange', comp, ret, gtlt, M, m, p, pr)\n const xM = isX(M)\n const xm = xM || isX(m)\n const xp = xm || isX(p)\n const anyX = xp\n\n if (gtlt === '=' && anyX) {\n gtlt = ''\n }\n\n // if we're including prereleases in the match, then we need\n // to fix this to -0, the lowest possible prerelease value\n pr = options.includePrerelease ? '-0' : ''\n\n if (xM) {\n if (gtlt === '>' || gtlt === '<') {\n // nothing is allowed\n ret = '<0.0.0-0'\n } else {\n // nothing is forbidden\n ret = '*'\n }\n } else if (gtlt && anyX) {\n // we know patch is an x, because we have any x at all.\n // replace X with 0\n if (xm) {\n m = 0\n }\n p = 0\n\n if (gtlt === '>') {\n // >1 => >=2.0.0\n // >1.2 => >=1.3.0\n gtlt = '>='\n if (xm) {\n M = +M + 1\n m = 0\n p = 0\n } else {\n m = +m + 1\n p = 0\n }\n } else if (gtlt === '<=') {\n // <=0.7.x is actually <0.8.0, since any 0.7.x should\n // pass. Similarly, <=7.x is actually <8.0.0, etc.\n gtlt = '<'\n if (xm) {\n M = +M + 1\n } else {\n m = +m + 1\n }\n }\n\n if (gtlt === '<')\n pr = '-0'\n\n ret = `${gtlt + M}.${m}.${p}${pr}`\n } else if (xm) {\n ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`\n } else if (xp) {\n ret = `>=${M}.${m}.0${pr\n } <${M}.${+m + 1}.0-0`\n }\n\n debug('xRange return', ret)\n\n return ret\n })\n}\n\n// Because * is AND-ed with everything else in the comparator,\n// and '' means \"any version\", just remove the *s entirely.\nconst replaceStars = (comp, options) => {\n debug('replaceStars', comp, options)\n // Looseness is ignored here. star is always as loose as it gets!\n return comp.trim().replace(re[t.STAR], '')\n}\n\nconst replaceGTE0 = (comp, options) => {\n debug('replaceGTE0', comp, options)\n return comp.trim()\n .replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], '')\n}\n\n// This function is passed to string.replace(re[t.HYPHENRANGE])\n// M, m, patch, prerelease, build\n// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5\n// 1.2.3 - 3.4 => >=1.2.0 <3.5.0-0 Any 3.4.x will do\n// 1.2 - 3.4 => >=1.2.0 <3.5.0-0\nconst hyphenReplace = incPr => ($0,\n from, fM, fm, fp, fpr, fb,\n to, tM, tm, tp, tpr, tb) => {\n if (isX(fM)) {\n from = ''\n } else if (isX(fm)) {\n from = `>=${fM}.0.0${incPr ? '-0' : ''}`\n } else if (isX(fp)) {\n from = `>=${fM}.${fm}.0${incPr ? '-0' : ''}`\n } else if (fpr) {\n from = `>=${from}`\n } else {\n from = `>=${from}${incPr ? '-0' : ''}`\n }\n\n if (isX(tM)) {\n to = ''\n } else if (isX(tm)) {\n to = `<${+tM + 1}.0.0-0`\n } else if (isX(tp)) {\n to = `<${tM}.${+tm + 1}.0-0`\n } else if (tpr) {\n to = `<=${tM}.${tm}.${tp}-${tpr}`\n } else if (incPr) {\n to = `<${tM}.${tm}.${+tp + 1}-0`\n } else {\n to = `<=${to}`\n }\n\n return (`${from} ${to}`).trim()\n}\n\nconst testSet = (set, version, options) => {\n for (let i = 0; i < set.length; i++) {\n if (!set[i].test(version)) {\n return false\n }\n }\n\n if (version.prerelease.length && !options.includePrerelease) {\n // Find the set of versions that are allowed to have prereleases\n // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0\n // That should allow `1.2.3-pr.2` to pass.\n // However, `1.2.4-alpha.notready` should NOT be allowed,\n // even though it's within the range set by the comparators.\n for (let i = 0; i < set.length; i++) {\n debug(set[i].semver)\n if (set[i].semver === Comparator.ANY) {\n continue\n }\n\n if (set[i].semver.prerelease.length > 0) {\n const allowed = set[i].semver\n if (allowed.major === version.major &&\n allowed.minor === version.minor &&\n allowed.patch === version.patch) {\n return true\n }\n }\n }\n\n // Version has a -pre, but it's not one of the ones we like.\n return false\n }\n\n return true\n}\n","const debug = require('../internal/debug')\nconst { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants')\nconst { re, t } = require('../internal/re')\n\nconst { compareIdentifiers } = require('../internal/identifiers')\nclass SemVer {\n constructor (version, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose &&\n version.includePrerelease === !!options.includePrerelease) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n )\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n // this isn't actually relevant for versions, but keep it so that we\n // don't run into trouble passing this.options around.\n this.includePrerelease = !!options.includePrerelease\n\n const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])\n\n if (!m) {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n }\n\n format () {\n this.version = `${this.major}.${this.minor}.${this.patch}`\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join('.')}`\n }\n return this.version\n }\n\n toString () {\n return this.version\n }\n\n compare (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n if (typeof other === 'string' && other === this.version) {\n return 0\n }\n other = new SemVer(other, this.options)\n }\n\n if (other.version === this.version) {\n return 0\n }\n\n return this.compareMain(other) || this.comparePre(other)\n }\n\n compareMain (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return (\n compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n )\n }\n\n comparePre (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n let i = 0\n do {\n const a = this.prerelease[i]\n const b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n compareBuild (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n let i = 0\n do {\n const a = this.build[i]\n const b = other.build[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc (release, identifier) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier)\n this.inc('pre', identifier)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier)\n }\n this.inc('pre', identifier)\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (\n this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0\n ) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case 'pre':\n if (this.prerelease.length === 0) {\n this.prerelease = [0]\n } else {\n let i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n this.prerelease.push(0)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n if (this.prerelease[0] === identifier) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = [identifier, 0]\n }\n } else {\n this.prerelease = [identifier, 0]\n }\n }\n break\n\n default:\n throw new Error(`invalid increment argument: ${release}`)\n }\n this.format()\n this.raw = this.version\n return this\n }\n}\n\nmodule.exports = SemVer\n","const parse = require('./parse')\nconst clean = (version, options) => {\n const s = parse(version.trim().replace(/^[=v]+/, ''), options)\n return s ? s.version : null\n}\nmodule.exports = clean\n","const eq = require('./eq')\nconst neq = require('./neq')\nconst gt = require('./gt')\nconst gte = require('./gte')\nconst lt = require('./lt')\nconst lte = require('./lte')\n\nconst cmp = (a, op, b, loose) => {\n switch (op) {\n case '===':\n if (typeof a === 'object')\n a = a.version\n if (typeof b === 'object')\n b = b.version\n return a === b\n\n case '!==':\n if (typeof a === 'object')\n a = a.version\n if (typeof b === 'object')\n b = b.version\n return a !== b\n\n case '':\n case '=':\n case '==':\n return eq(a, b, loose)\n\n case '!=':\n return neq(a, b, loose)\n\n case '>':\n return gt(a, b, loose)\n\n case '>=':\n return gte(a, b, loose)\n\n case '<':\n return lt(a, b, loose)\n\n case '<=':\n return lte(a, b, loose)\n\n default:\n throw new TypeError(`Invalid operator: ${op}`)\n }\n}\nmodule.exports = cmp\n","const SemVer = require('../classes/semver')\nconst parse = require('./parse')\nconst {re, t} = require('../internal/re')\n\nconst coerce = (version, options) => {\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version === 'number') {\n version = String(version)\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n options = options || {}\n\n let match = null\n if (!options.rtl) {\n match = version.match(re[t.COERCE])\n } else {\n // Find the right-most coercible string that does not share\n // a terminus with a more left-ward coercible string.\n // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4'\n //\n // Walk through the string checking with a /g regexp\n // Manually set the index so as to pick up overlapping matches.\n // Stop when we get a match that ends at the string end, since no\n // coercible string can be more right-ward without the same terminus.\n let next\n while ((next = re[t.COERCERTL].exec(version)) &&\n (!match || match.index + match[0].length !== version.length)\n ) {\n if (!match ||\n next.index + next[0].length !== match.index + match[0].length) {\n match = next\n }\n re[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length\n }\n // leave it in a clean state\n re[t.COERCERTL].lastIndex = -1\n }\n\n if (match === null)\n return null\n\n return parse(`${match[2]}.${match[3] || '0'}.${match[4] || '0'}`, options)\n}\nmodule.exports = coerce\n","const SemVer = require('../classes/semver')\nconst compareBuild = (a, b, loose) => {\n const versionA = new SemVer(a, loose)\n const versionB = new SemVer(b, loose)\n return versionA.compare(versionB) || versionA.compareBuild(versionB)\n}\nmodule.exports = compareBuild\n","const compare = require('./compare')\nconst compareLoose = (a, b) => compare(a, b, true)\nmodule.exports = compareLoose\n","const SemVer = require('../classes/semver')\nconst compare = (a, b, loose) =>\n new SemVer(a, loose).compare(new SemVer(b, loose))\n\nmodule.exports = compare\n","const parse = require('./parse')\nconst eq = require('./eq')\n\nconst diff = (version1, version2) => {\n if (eq(version1, version2)) {\n return null\n } else {\n const v1 = parse(version1)\n const v2 = parse(version2)\n const hasPre = v1.prerelease.length || v2.prerelease.length\n const prefix = hasPre ? 'pre' : ''\n const defaultResult = hasPre ? 'prerelease' : ''\n for (const key in v1) {\n if (key === 'major' || key === 'minor' || key === 'patch') {\n if (v1[key] !== v2[key]) {\n return prefix + key\n }\n }\n }\n return defaultResult // may be undefined\n }\n}\nmodule.exports = diff\n","const compare = require('./compare')\nconst eq = (a, b, loose) => compare(a, b, loose) === 0\nmodule.exports = eq\n","const compare = require('./compare')\nconst gt = (a, b, loose) => compare(a, b, loose) > 0\nmodule.exports = gt\n","const compare = require('./compare')\nconst gte = (a, b, loose) => compare(a, b, loose) >= 0\nmodule.exports = gte\n","const SemVer = require('../classes/semver')\n\nconst inc = (version, release, options, identifier) => {\n if (typeof (options) === 'string') {\n identifier = options\n options = undefined\n }\n\n try {\n return new SemVer(version, options).inc(release, identifier).version\n } catch (er) {\n return null\n }\n}\nmodule.exports = inc\n","const compare = require('./compare')\nconst lt = (a, b, loose) => compare(a, b, loose) < 0\nmodule.exports = lt\n","const compare = require('./compare')\nconst lte = (a, b, loose) => compare(a, b, loose) <= 0\nmodule.exports = lte\n","const SemVer = require('../classes/semver')\nconst major = (a, loose) => new SemVer(a, loose).major\nmodule.exports = major\n","const SemVer = require('../classes/semver')\nconst minor = (a, loose) => new SemVer(a, loose).minor\nmodule.exports = minor\n","const compare = require('./compare')\nconst neq = (a, b, loose) => compare(a, b, loose) !== 0\nmodule.exports = neq\n","const {MAX_LENGTH} = require('../internal/constants')\nconst { re, t } = require('../internal/re')\nconst SemVer = require('../classes/semver')\n\nconst parse = (version, options) => {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n if (version.length > MAX_LENGTH) {\n return null\n }\n\n const r = options.loose ? re[t.LOOSE] : re[t.FULL]\n if (!r.test(version)) {\n return null\n }\n\n try {\n return new SemVer(version, options)\n } catch (er) {\n return null\n }\n}\n\nmodule.exports = parse\n","const SemVer = require('../classes/semver')\nconst patch = (a, loose) => new SemVer(a, loose).patch\nmodule.exports = patch\n","const parse = require('./parse')\nconst prerelease = (version, options) => {\n const parsed = parse(version, options)\n return (parsed && parsed.prerelease.length) ? parsed.prerelease : null\n}\nmodule.exports = prerelease\n","const compare = require('./compare')\nconst rcompare = (a, b, loose) => compare(b, a, loose)\nmodule.exports = rcompare\n","const compareBuild = require('./compare-build')\nconst rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose))\nmodule.exports = rsort\n","const Range = require('../classes/range')\nconst satisfies = (version, range, options) => {\n try {\n range = new Range(range, options)\n } catch (er) {\n return false\n }\n return range.test(version)\n}\nmodule.exports = satisfies\n","const compareBuild = require('./compare-build')\nconst sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose))\nmodule.exports = sort\n","const parse = require('./parse')\nconst valid = (version, options) => {\n const v = parse(version, options)\n return v ? v.version : null\n}\nmodule.exports = valid\n","// just pre-load all the stuff that index.js lazily exports\nconst internalRe = require('./internal/re')\nmodule.exports = {\n re: internalRe.re,\n src: internalRe.src,\n tokens: internalRe.t,\n SEMVER_SPEC_VERSION: require('./internal/constants').SEMVER_SPEC_VERSION,\n SemVer: require('./classes/semver'),\n compareIdentifiers: require('./internal/identifiers').compareIdentifiers,\n rcompareIdentifiers: require('./internal/identifiers').rcompareIdentifiers,\n parse: require('./functions/parse'),\n valid: require('./functions/valid'),\n clean: require('./functions/clean'),\n inc: require('./functions/inc'),\n diff: require('./functions/diff'),\n major: require('./functions/major'),\n minor: require('./functions/minor'),\n patch: require('./functions/patch'),\n prerelease: require('./functions/prerelease'),\n compare: require('./functions/compare'),\n rcompare: require('./functions/rcompare'),\n compareLoose: require('./functions/compare-loose'),\n compareBuild: require('./functions/compare-build'),\n sort: require('./functions/sort'),\n rsort: require('./functions/rsort'),\n gt: require('./functions/gt'),\n lt: require('./functions/lt'),\n eq: require('./functions/eq'),\n neq: require('./functions/neq'),\n gte: require('./functions/gte'),\n lte: require('./functions/lte'),\n cmp: require('./functions/cmp'),\n coerce: require('./functions/coerce'),\n Comparator: require('./classes/comparator'),\n Range: require('./classes/range'),\n satisfies: require('./functions/satisfies'),\n toComparators: require('./ranges/to-comparators'),\n maxSatisfying: require('./ranges/max-satisfying'),\n minSatisfying: require('./ranges/min-satisfying'),\n minVersion: require('./ranges/min-version'),\n validRange: require('./ranges/valid'),\n outside: require('./ranges/outside'),\n gtr: require('./ranges/gtr'),\n ltr: require('./ranges/ltr'),\n intersects: require('./ranges/intersects'),\n simplifyRange: require('./ranges/simplify'),\n subset: require('./ranges/subset'),\n}\n","// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nconst SEMVER_SPEC_VERSION = '2.0.0'\n\nconst MAX_LENGTH = 256\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n /* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nconst MAX_SAFE_COMPONENT_LENGTH = 16\n\nmodule.exports = {\n SEMVER_SPEC_VERSION,\n MAX_LENGTH,\n MAX_SAFE_INTEGER,\n MAX_SAFE_COMPONENT_LENGTH\n}\n","const debug = (\n typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)\n) ? (...args) => console.error('SEMVER', ...args)\n : () => {}\n\nmodule.exports = debug\n","const numeric = /^[0-9]+$/\nconst compareIdentifiers = (a, b) => {\n const anum = numeric.test(a)\n const bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nconst rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)\n\nmodule.exports = {\n compareIdentifiers,\n rcompareIdentifiers\n}\n","const { MAX_SAFE_COMPONENT_LENGTH } = require('./constants')\nconst debug = require('./debug')\nexports = module.exports = {}\n\n// The actual regexps go on exports.re\nconst re = exports.re = []\nconst src = exports.src = []\nconst t = exports.t = {}\nlet R = 0\n\nconst createToken = (name, value, isGlobal) => {\n const index = R++\n debug(index, value)\n t[name] = index\n src[index] = value\n re[index] = new RegExp(value, isGlobal ? 'g' : undefined)\n}\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\ncreateToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*')\ncreateToken('NUMERICIDENTIFIERLOOSE', '[0-9]+')\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\ncreateToken('NONNUMERICIDENTIFIER', '\\\\d*[a-zA-Z-][a-zA-Z0-9-]*')\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\ncreateToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})`)\n\ncreateToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})`)\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\ncreateToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\ncreateToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\ncreateToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`)\n\ncreateToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\ncreateToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+')\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\ncreateToken('BUILD', `(?:\\\\+(${src[t.BUILDIDENTIFIER]\n}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`)\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\ncreateToken('FULLPLAIN', `v?${src[t.MAINVERSION]\n}${src[t.PRERELEASE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('FULL', `^${src[t.FULLPLAIN]}$`)\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\ncreateToken('LOOSEPLAIN', `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]\n}${src[t.PRERELEASELOOSE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)\n\ncreateToken('GTLT', '((?:<|>)?=?)')\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\ncreateToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`)\ncreateToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`)\n\ncreateToken('XRANGEPLAIN', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:${src[t.PRERELEASE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGEPLAINLOOSE', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:${src[t.PRERELEASELOOSE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`)\ncreateToken('XRANGELOOSE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\ncreateToken('COERCE', `${'(^|[^\\\\d])' +\n '(\\\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:$|[^\\\\d])`)\ncreateToken('COERCERTL', src[t.COERCE], true)\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\ncreateToken('LONETILDE', '(?:~>?)')\n\ncreateToken('TILDETRIM', `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true)\nexports.tildeTrimReplace = '$1~'\n\ncreateToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\ncreateToken('LONECARET', '(?:\\\\^)')\n\ncreateToken('CARETTRIM', `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true)\nexports.caretTrimReplace = '$1^'\n\ncreateToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\ncreateToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`)\ncreateToken('COMPARATOR', `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`)\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\ncreateToken('COMPARATORTRIM', `(\\\\s*)${src[t.GTLT]\n}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)\nexports.comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\ncreateToken('HYPHENRANGE', `^\\\\s*(${src[t.XRANGEPLAIN]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAIN]})` +\n `\\\\s*$`)\n\ncreateToken('HYPHENRANGELOOSE', `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s*$`)\n\n// Star ranges basically just allow anything at all.\ncreateToken('STAR', '(<|>)?=?\\\\s*\\\\*')\n// >=0.0.0 is like a star\ncreateToken('GTE0', '^\\\\s*>=\\\\s*0\\.0\\.0\\\\s*$')\ncreateToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\.0\\.0-0\\\\s*$')\n","// Determine if version is greater than all the versions possible in the range.\nconst outside = require('./outside')\nconst gtr = (version, range, options) => outside(version, range, '>', options)\nmodule.exports = gtr\n","const Range = require('../classes/range')\nconst intersects = (r1, r2, options) => {\n r1 = new Range(r1, options)\n r2 = new Range(r2, options)\n return r1.intersects(r2)\n}\nmodule.exports = intersects\n","const outside = require('./outside')\n// Determine if version is less than all the versions possible in the range\nconst ltr = (version, range, options) => outside(version, range, '<', options)\nmodule.exports = ltr\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\n\nconst maxSatisfying = (versions, range, options) => {\n let max = null\n let maxSV = null\n let rangeObj = null\n try {\n rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach((v) => {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!max || maxSV.compare(v) === -1) {\n // compare(max, v, true)\n max = v\n maxSV = new SemVer(max, options)\n }\n }\n })\n return max\n}\nmodule.exports = maxSatisfying\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\nconst minSatisfying = (versions, range, options) => {\n let min = null\n let minSV = null\n let rangeObj = null\n try {\n rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach((v) => {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!min || minSV.compare(v) === 1) {\n // compare(min, v, true)\n min = v\n minSV = new SemVer(min, options)\n }\n }\n })\n return min\n}\nmodule.exports = minSatisfying\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\nconst gt = require('../functions/gt')\n\nconst minVersion = (range, loose) => {\n range = new Range(range, loose)\n\n let minver = new SemVer('0.0.0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = new SemVer('0.0.0-0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = null\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i]\n\n comparators.forEach((comparator) => {\n // Clone to avoid manipulating the comparator's semver object.\n const compver = new SemVer(comparator.semver.version)\n switch (comparator.operator) {\n case '>':\n if (compver.prerelease.length === 0) {\n compver.patch++\n } else {\n compver.prerelease.push(0)\n }\n compver.raw = compver.format()\n /* fallthrough */\n case '':\n case '>=':\n if (!minver || gt(minver, compver)) {\n minver = compver\n }\n break\n case '<':\n case '<=':\n /* Ignore maximum versions */\n break\n /* istanbul ignore next */\n default:\n throw new Error(`Unexpected operation: ${comparator.operator}`)\n }\n })\n }\n\n if (minver && range.test(minver)) {\n return minver\n }\n\n return null\n}\nmodule.exports = minVersion\n","const SemVer = require('../classes/semver')\nconst Comparator = require('../classes/comparator')\nconst {ANY} = Comparator\nconst Range = require('../classes/range')\nconst satisfies = require('../functions/satisfies')\nconst gt = require('../functions/gt')\nconst lt = require('../functions/lt')\nconst lte = require('../functions/lte')\nconst gte = require('../functions/gte')\n\nconst outside = (version, range, hilo, options) => {\n version = new SemVer(version, options)\n range = new Range(range, options)\n\n let gtfn, ltefn, ltfn, comp, ecomp\n switch (hilo) {\n case '>':\n gtfn = gt\n ltefn = lte\n ltfn = lt\n comp = '>'\n ecomp = '>='\n break\n case '<':\n gtfn = lt\n ltefn = gte\n ltfn = gt\n comp = '<'\n ecomp = '<='\n break\n default:\n throw new TypeError('Must provide a hilo val of \"<\" or \">\"')\n }\n\n // If it satisifes the range it is not outside\n if (satisfies(version, range, options)) {\n return false\n }\n\n // From now on, variable terms are as if we're in \"gtr\" mode.\n // but note that everything is flipped for the \"ltr\" function.\n\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i]\n\n let high = null\n let low = null\n\n comparators.forEach((comparator) => {\n if (comparator.semver === ANY) {\n comparator = new Comparator('>=0.0.0')\n }\n high = high || comparator\n low = low || comparator\n if (gtfn(comparator.semver, high.semver, options)) {\n high = comparator\n } else if (ltfn(comparator.semver, low.semver, options)) {\n low = comparator\n }\n })\n\n // If the edge version comparator has a operator then our version\n // isn't outside it\n if (high.operator === comp || high.operator === ecomp) {\n return false\n }\n\n // If the lowest version comparator has an operator and our version\n // is less than it then it isn't higher than the range\n if ((!low.operator || low.operator === comp) &&\n ltefn(version, low.semver)) {\n return false\n } else if (low.operator === ecomp && ltfn(version, low.semver)) {\n return false\n }\n }\n return true\n}\n\nmodule.exports = outside\n","// given a set of versions and a range, create a \"simplified\" range\n// that includes the same versions that the original range does\n// If the original range is shorter than the simplified one, return that.\nconst satisfies = require('../functions/satisfies.js')\nconst compare = require('../functions/compare.js')\nmodule.exports = (versions, range, options) => {\n const set = []\n let min = null\n let prev = null\n const v = versions.sort((a, b) => compare(a, b, options))\n for (const version of v) {\n const included = satisfies(version, range, options)\n if (included) {\n prev = version\n if (!min)\n min = version\n } else {\n if (prev) {\n set.push([min, prev])\n }\n prev = null\n min = null\n }\n }\n if (min)\n set.push([min, null])\n\n const ranges = []\n for (const [min, max] of set) {\n if (min === max)\n ranges.push(min)\n else if (!max && min === v[0])\n ranges.push('*')\n else if (!max)\n ranges.push(`>=${min}`)\n else if (min === v[0])\n ranges.push(`<=${max}`)\n else\n ranges.push(`${min} - ${max}`)\n }\n const simplified = ranges.join(' || ')\n const original = typeof range.raw === 'string' ? range.raw : String(range)\n return simplified.length < original.length ? simplified : range\n}\n","const Range = require('../classes/range.js')\nconst { ANY } = require('../classes/comparator.js')\nconst satisfies = require('../functions/satisfies.js')\nconst compare = require('../functions/compare.js')\n\n// Complex range `r1 || r2 || ...` is a subset of `R1 || R2 || ...` iff:\n// - Every simple range `r1, r2, ...` is a subset of some `R1, R2, ...`\n//\n// Simple range `c1 c2 ...` is a subset of simple range `C1 C2 ...` iff:\n// - If c is only the ANY comparator\n// - If C is only the ANY comparator, return true\n// - Else return false\n// - Let EQ be the set of = comparators in c\n// - If EQ is more than one, return true (null set)\n// - Let GT be the highest > or >= comparator in c\n// - Let LT be the lowest < or <= comparator in c\n// - If GT and LT, and GT.semver > LT.semver, return true (null set)\n// - If EQ\n// - If GT, and EQ does not satisfy GT, return true (null set)\n// - If LT, and EQ does not satisfy LT, return true (null set)\n// - If EQ satisfies every C, return true\n// - Else return false\n// - If GT\n// - If GT is lower than any > or >= comp in C, return false\n// - If GT is >=, and GT.semver does not satisfy every C, return false\n// - If LT\n// - If LT.semver is greater than that of any > comp in C, return false\n// - If LT is <=, and LT.semver does not satisfy every C, return false\n// - If any C is a = range, and GT or LT are set, return false\n// - Else return true\n\nconst subset = (sub, dom, options) => {\n sub = new Range(sub, options)\n dom = new Range(dom, options)\n let sawNonNull = false\n\n OUTER: for (const simpleSub of sub.set) {\n for (const simpleDom of dom.set) {\n const isSub = simpleSubset(simpleSub, simpleDom, options)\n sawNonNull = sawNonNull || isSub !== null\n if (isSub)\n continue OUTER\n }\n // the null set is a subset of everything, but null simple ranges in\n // a complex range should be ignored. so if we saw a non-null range,\n // then we know this isn't a subset, but if EVERY simple range was null,\n // then it is a subset.\n if (sawNonNull)\n return false\n }\n return true\n}\n\nconst simpleSubset = (sub, dom, options) => {\n if (sub.length === 1 && sub[0].semver === ANY)\n return dom.length === 1 && dom[0].semver === ANY\n\n const eqSet = new Set()\n let gt, lt\n for (const c of sub) {\n if (c.operator === '>' || c.operator === '>=')\n gt = higherGT(gt, c, options)\n else if (c.operator === '<' || c.operator === '<=')\n lt = lowerLT(lt, c, options)\n else\n eqSet.add(c.semver)\n }\n\n if (eqSet.size > 1)\n return null\n\n let gtltComp\n if (gt && lt) {\n gtltComp = compare(gt.semver, lt.semver, options)\n if (gtltComp > 0)\n return null\n else if (gtltComp === 0 && (gt.operator !== '>=' || lt.operator !== '<='))\n return null\n }\n\n // will iterate one or zero times\n for (const eq of eqSet) {\n if (gt && !satisfies(eq, String(gt), options))\n return null\n\n if (lt && !satisfies(eq, String(lt), options))\n return null\n\n for (const c of dom) {\n if (!satisfies(eq, String(c), options))\n return false\n }\n return true\n }\n\n let higher, lower\n let hasDomLT, hasDomGT\n for (const c of dom) {\n hasDomGT = hasDomGT || c.operator === '>' || c.operator === '>='\n hasDomLT = hasDomLT || c.operator === '<' || c.operator === '<='\n if (gt) {\n if (c.operator === '>' || c.operator === '>=') {\n higher = higherGT(gt, c, options)\n if (higher === c)\n return false\n } else if (gt.operator === '>=' && !satisfies(gt.semver, String(c), options))\n return false\n }\n if (lt) {\n if (c.operator === '<' || c.operator === '<=') {\n lower = lowerLT(lt, c, options)\n if (lower === c)\n return false\n } else if (lt.operator === '<=' && !satisfies(lt.semver, String(c), options))\n return false\n }\n if (!c.operator && (lt || gt) && gtltComp !== 0)\n return false\n }\n\n // if there was a < or >, and nothing in the dom, then must be false\n // UNLESS it was limited by another range in the other direction.\n // Eg, >1.0.0 <1.0.1 is still a subset of <2.0.0\n if (gt && hasDomLT && !lt && gtltComp !== 0)\n return false\n\n if (lt && hasDomGT && !gt && gtltComp !== 0)\n return false\n\n return true\n}\n\n// >=1.2.3 is lower than >1.2.3\nconst higherGT = (a, b, options) => {\n if (!a)\n return b\n const comp = compare(a.semver, b.semver, options)\n return comp > 0 ? a\n : comp < 0 ? b\n : b.operator === '>' && a.operator === '>=' ? b\n : a\n}\n\n// <=1.2.3 is higher than <1.2.3\nconst lowerLT = (a, b, options) => {\n if (!a)\n return b\n const comp = compare(a.semver, b.semver, options)\n return comp < 0 ? a\n : comp > 0 ? b\n : b.operator === '<' && a.operator === '<=' ? b\n : a\n}\n\nmodule.exports = subset\n","const Range = require('../classes/range')\n\n// Mostly just for testing and legacy API reasons\nconst toComparators = (range, options) =>\n new Range(range, options).set\n .map(comp => comp.map(c => c.value).join(' ').trim().split(' '))\n\nmodule.exports = toComparators\n","const Range = require('../classes/range')\nconst validRange = (range, options) => {\n try {\n // Return '*' instead of '' so that truthiness works.\n // This will throw if it's invalid anyway\n return new Range(range, options).range || '*'\n } catch (er) {\n return null\n }\n}\nmodule.exports = validRange\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/** @module @category Utility */ /**\n * Gets the number of days in the year of the given date.\n * @param date The date to compute the days within the year.\n * @returns The number of days.\n */ export function daysIntoYear(date) {\n return (Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate()) - Date.UTC(date.getUTCFullYear(), 0, 0)) / 24 / 60 / 60 / 1000;\n}\n/**\n * Checks if two dates are representing the same day.\n * @param firstDate The first date.\n * @param secondDate The second date.\n * @returns True if both are located on the same day.\n */ export function isSameDay(firstDate, secondDate) {\n const firstISO = firstDate.toISOString();\n const secondISO = secondDate.toISOString();\n return firstISO.slice(0, firstISO.indexOf(\"T\")) === secondISO.slice(0, secondISO.indexOf(\"T\"));\n}\n/**\n * Gets a human readable age represention of the provided date string.\n * @param dateString The stringified date.\n * @returns A human-readable string version of the age.\n */ export function age(dateString) {\n // Based on http://www.gregoryschmidt.ca/writing/patient-age-display-ehr-conventions,\n // which is different from npm packages such as https://www.npmjs.com/package/timeago\n // First calculate the age in years\n const today = new Date();\n const birthDate = new Date(dateString);\n const monthDifference = today.getUTCMonth() - birthDate.getUTCMonth();\n const dateDifference = today.getUTCDate() - birthDate.getUTCDate();\n let age = today.getUTCFullYear() - birthDate.getUTCFullYear();\n if (monthDifference < 0 || monthDifference === 0 && dateDifference < 0) {\n age--;\n }\n // Now calculate the number of months in addition to the year's age\n let monthsAgo = monthDifference >= 0 ? monthDifference : monthDifference + 12;\n if (dateDifference < 0) {\n monthsAgo--;\n }\n const monthsAgoStr = monthsAgo > 0 ? `${monthsAgo} mo` : \"\";\n // For patients less than a year old, we calculate the number of days/weeks they have been alive\n let totalDaysAgo = daysIntoYear(today) - daysIntoYear(birthDate);\n if (totalDaysAgo < 0) {\n totalDaysAgo += 365;\n }\n const weeksAgo = Math.floor(totalDaysAgo / 7);\n // The \"remainder\" number of days after the weeksAgo number of weeks\n const remainderDaysInWeek = totalDaysAgo - weeksAgo * 7;\n // Depending on their age, return a different representation of their age.\n if (age === 0) {\n if (isSameDay(today, birthDate)) {\n return `Today`;\n } else if (weeksAgo < 4) {\n return `${totalDaysAgo} day`;\n } else if (weeksAgo === 0) {\n return `${totalDaysAgo} day`;\n } else if (remainderDaysInWeek > 0) {\n return `${weeksAgo} wk ${remainderDaysInWeek} d`;\n } else {\n return `${weeksAgo} week`;\n }\n } else if (age < 2) {\n return `${monthsAgoStr} ${age} yr`.trim();\n } else if (age < 18) {\n return `${age} yr ${monthsAgoStr}`.trim();\n } else {\n return `${age} years`;\n }\n}\n","/**\n * @module\n * @category Date and Time\n */ function _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _object_spread_props(target, source) {\n source = source != null ? source : {};\n if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nimport dayjs from \"dayjs\";\nimport utc from \"dayjs/plugin/utc\";\nimport isToday from \"dayjs/plugin/isToday\";\ndayjs.extend(utc);\ndayjs.extend(isToday);\nconst isoFormat = \"YYYY-MM-DDTHH:mm:ss.SSSZZ\";\n/**\n * This function is STRICT on checking whether a date string is the openmrs format.\n * The format should be YYYY-MM-DDTHH:mm:ss.SSSZZ\n */ export function isOmrsDateStrict(omrsPayloadString) {\n // omrs format 2018-03-19T00:00:00.000+0300\n if (omrsPayloadString === null || omrsPayloadString === undefined || omrsPayloadString.trim().length !== 28) {\n return false;\n }\n omrsPayloadString = omrsPayloadString.trim();\n // 11th character will always be T\n if (omrsPayloadString[10] !== \"T\") {\n return false;\n }\n // checking time format\n if (omrsPayloadString[13] !== \":\" || omrsPayloadString[16] !== \":\" || omrsPayloadString[19] !== \".\") {\n return false;\n }\n // checking UTC offset format\n if (!(omrsPayloadString[23] === \"+\" && omrsPayloadString[26] !== \":\")) {\n return false;\n }\n return dayjs(omrsPayloadString, isoFormat).isValid();\n}\n/**\n *\n * @param date Checks if the provided date is today.\n */ export function isOmrsDateToday(date) {\n return dayjs(date).isToday();\n}\n/**\n * Converts the object to a date object if it is a valid ISO date time string.\n */ export function toDateObjectStrict(omrsDateString) {\n if (!isOmrsDateStrict(omrsDateString)) {\n return null;\n }\n return dayjs(omrsDateString, isoFormat).toDate();\n}\n/**\n * Formats the input as a date time string using the format \"YYYY-MM-DDTHH:mm:ss.SSSZZ\".\n */ export function toOmrsIsoString(date, toUTC = false) {\n let d = dayjs(date);\n if (toUTC) {\n d = d.utc();\n }\n return d.format(isoFormat);\n}\n/**\n * @deprecated use `formatTime`\n * Formats the input as a time string using the format \"HH:mm\".\n */ export function toOmrsTimeString24(date) {\n return dayjs(date).format(\"HH:mm\");\n}\n/**\n * @deprecated use `formatTime`\n * Formats the input as a time string using the format \"HH:mm A\".\n */ export function toOmrsTimeString(date) {\n return dayjs.utc(date).format(\"HH:mm A\");\n}\n/**\n * @deprecated use `formatDate(date, \"wide\")`\n * Formats the input as a date string using the format \"DD - MMM - YYYY\".\n */ export function toOmrsDayDateFormat(date) {\n return toOmrsDateFormat(date, \"DD - MMM - YYYY\");\n}\n/**\n * @deprecated use `formatDate(date, \"no year\")`\n * Formats the input as a date string using the format \"DD-MMM\".\n */ export function toOmrsYearlessDateFormat(date) {\n return toOmrsDateFormat(date, \"DD-MMM\");\n}\n/**\n * @deprecated use `formatDate(date)`\n * Formats the input as a date string. By default the format \"YYYY-MMM-DD\" is used.\n */ export function toOmrsDateFormat(date, format = \"YYYY-MMM-DD\") {\n return dayjs(date).format(format);\n}\n/**\n * Utility function to parse an arbitrary string into a date.\n * Uses `dayjs(dateString)`.\n */ export function parseDate(dateString) {\n return dayjs(dateString).toDate();\n}\nconst defaultOptions = {\n mode: \"standard\",\n time: \"for today\",\n day: true,\n year: true\n};\n/**\n * Formats the input date according to the current locale and the\n * given options.\n *\n * Default options:\n * - mode: \"standard\",\n * - time: \"for today\",\n * - day: true,\n * - year: true\n *\n * If the date is today then \"Today\" is produced (in the locale language).\n *\n * When time is included, it is appended with a comma and a space. This\n * agrees with the output of `Date.prototype.toLocaleString` for *most*\n * locales.\n *\n * TODO: Shouldn't throw on null input\n */ export function formatDate(date, options) {\n const { mode , time , day , year } = _object_spread({}, defaultOptions, options);\n const formatterOptions = {\n year: year ? \"numeric\" : undefined,\n month: \"short\",\n day: day ? \"2-digit\" : undefined\n };\n let locale = getLocale();\n let localeString;\n const isToday = dayjs(date).isToday();\n if (isToday) {\n // This produces the word \"Today\" in the language of `locale`\n const rtf = new Intl.RelativeTimeFormat(locale, {\n numeric: \"auto\"\n });\n localeString = rtf.format(0, \"day\");\n localeString = localeString[0].toLocaleUpperCase(locale) + localeString.slice(1);\n } else {\n if (locale == \"en\") {\n // This locale override is here rather than in `getLocale`\n // because Americans should see AM/PM for times.\n locale = \"en-GB\";\n }\n localeString = date.toLocaleDateString(locale, formatterOptions);\n if (locale == \"en-GB\" && mode == \"standard\" && year && day) {\n // Custom formatting for English. Use hyphens instead of spaces.\n localeString = localeString.replace(/ /g, \"-\");\n }\n if (mode == \"wide\") {\n localeString = localeString.replace(/ /g, \" — \"); // space-emdash-space\n if (/ru.*/.test(locale)) {\n // Remove the extra em-dash that gets added between the year and the suffix 'r.'\n const len = localeString.length;\n localeString = localeString.slice(0, len - 5) + localeString.slice(len - 5).replace(\" — \", \" \");\n }\n }\n }\n if (time === true || isToday && time === \"for today\") {\n localeString += `, ${formatTime(date)}`;\n }\n return localeString;\n}\n/**\n * Formats the input as a time, according to the current locale.\n * 12-hour or 24-hour clock depends on locale.\n */ export function formatTime(date) {\n return date.toLocaleTimeString(getLocale(), {\n hour: \"2-digit\",\n minute: \"2-digit\"\n });\n}\n/**\n * Formats the input into a string showing the date and time, according\n * to the current locale. The `mode` parameter is as described for\n * `formatDate`.\n *\n * This is created by concatenating the results of `formatDate`\n * and `formatTime` with a comma and space. This agrees with the\n * output of `Date.prototype.toLocaleString` for *most* locales.\n */ export function formatDatetime(date, options) {\n return formatDate(date, _object_spread_props(_object_spread({}, options), {\n time: true\n }));\n}\nfunction getLocale() {\n let language = window.i18next.language;\n language = language.replace(\"_\", \"-\"); // just in case\n // hack for `ht` until https://unicode-org.atlassian.net/browse/CLDR-14956 is fixed\n if (language === \"ht\") {\n language = \"fr-HT\";\n }\n return language;\n}\n","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\nexport default function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? Object(arguments[i]) : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys.push.apply(ownKeys, Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n }\n return target;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import _typeof from '@babel/runtime/helpers/esm/typeof';\nimport _objectSpread from '@babel/runtime/helpers/esm/objectSpread';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\n\nvar consoleLogger = {\n type: 'logger',\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\n\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Logger);\n\n this.init(concreteLogger, options);\n }\n\n _createClass(Logger, [{\n key: \"init\",\n value: function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n }, {\n key: \"setDebug\",\n value: function setDebug(bool) {\n this.debug = bool;\n }\n }, {\n key: \"log\",\n value: function log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return this.forward(args, 'log', '', true);\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return this.forward(args, 'warn', '', true);\n }\n }, {\n key: \"error\",\n value: function error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return this.forward(args, 'error', '');\n }\n }, {\n key: \"deprecate\",\n value: function deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n }, {\n key: \"forward\",\n value: function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = \"\".concat(prefix).concat(this.prefix, \" \").concat(args[0]);\n return this.logger[lvl](args);\n }\n }, {\n key: \"create\",\n value: function create(moduleName) {\n return new Logger(this.logger, _objectSpread({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }, this.options));\n }\n }]);\n\n return Logger;\n}();\n\nvar baseLogger = new Logger();\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n\n this.observers = {};\n }\n\n _createClass(EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n\n _this.observers[event].push(listener);\n });\n return this;\n }\n }, {\n key: \"off\",\n value: function off(event, listener) {\n if (!this.observers[event]) return;\n\n if (!listener) {\n delete this.observers[event];\n return;\n }\n\n this.observers[event] = this.observers[event].filter(function (l) {\n return l !== listener;\n });\n }\n }, {\n key: \"emit\",\n value: function emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(void 0, args);\n });\n }\n\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n }\n }]);\n\n return EventEmitter;\n}();\n\nfunction defer() {\n var res;\n var rej;\n var promise = new Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\nfunction copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\n\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\n\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n\n obj[k] = newValue;\n}\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\nfunction getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n\n if (value !== undefined) {\n return value;\n }\n\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (var prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n\n return target;\n}\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\nvar _entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/'\n};\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n\n return data;\n}\nvar isIE10 = typeof window !== 'undefined' && window.navigator && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;\n\nvar ResourceStore = function (_EventEmitter) {\n _inherits(ResourceStore, _EventEmitter);\n\n function ResourceStore(data) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n\n _classCallCheck(this, ResourceStore);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(ResourceStore).call(this));\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n _this.data = data || {};\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n return _this;\n }\n\n _createClass(ResourceStore, [{\n key: \"addNamespaces\",\n value: function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n }, {\n key: \"removeNamespaces\",\n value: function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n }, {\n key: \"getResource\",\n value: function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n\n return getPath(this.data, path);\n }\n }, {\n key: \"addResource\",\n value: function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n var keySeparator = this.options.keySeparator;\n if (keySeparator === undefined) keySeparator = '.';\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n }, {\n key: \"addResources\",\n value: function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n\n for (var m in resources) {\n if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"addResourceBundle\",\n value: function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n var path = [lng, ns];\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread({}, pack, resources);\n }\n\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"removeResourceBundle\",\n value: function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n }, {\n key: \"hasResourceBundle\",\n value: function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n }, {\n key: \"getResourceBundle\",\n value: function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return _objectSpread({}, {}, this.getResource(lng, ns));\n return this.getResource(lng, ns);\n }\n }, {\n key: \"getDataByLanguage\",\n value: function getDataByLanguage(lng) {\n return this.data[lng];\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.data;\n }\n }]);\n\n return ResourceStore;\n}(EventEmitter);\n\nvar postProcessor = {\n processors: {},\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\n\nvar checkedLoadedFor = {};\n\nvar Translator = function (_EventEmitter) {\n _inherits(Translator, _EventEmitter);\n\n function Translator(services) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Translator);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Translator).call(this));\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized(_this));\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n\n _createClass(Translator, [{\n key: \"changeLanguage\",\n value: function changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n }, {\n key: \"exists\",\n value: function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n }, {\n key: \"extractFromKey\",\n value: function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var namespaces = options.ns || this.options.defaultNS;\n\n if (nsSeparator && key.indexOf(nsSeparator) > -1) {\n var m = key.match(this.interpolator.nestingRegexp);\n\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\n };\n }\n\n var parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key: key,\n namespaces: namespaces\n };\n }\n }, {\n key: \"translate\",\n value: function translate(keys, options, lastKey) {\n var _this2 = this;\n\n if (_typeof(options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n return namespace + nsSeparator + key;\n }\n\n return key;\n }\n\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n var resExactUsedKey = resolved && resolved.exactUsedKey || key;\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n return this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, options) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n }\n\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = \"\".concat(newKeyToUse).concat(keySeparator).concat(m);\n copy[m] = this.translate(deepKey, _objectSpread({}, options, {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n var usedDefault = false;\n var usedKey = false;\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var hasDefaultValue = Translator.hasDefaultValue(options);\n var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count) : '';\n var defaultValue = options[\"defaultValue\".concat(defaultValueSuffix)] || options.defaultValue;\n\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n\n var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread({}, options, {\n keySeparator: false\n }));\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n\n var send = function send(l, k, fallbackValue) {\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, updateMissing ? fallbackValue : res, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, updateMissing ? fallbackValue : res, updateMissing, options);\n }\n\n _this2.emit('missingKey', l, namespace, k, res);\n };\n\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (language) {\n _this2.pluralResolver.getSuffixes(language).forEach(function (suffix) {\n send([language], key + suffix, options[\"defaultValue\".concat(suffix)] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key);\n if (usedKey && this.options.parseMissingKeyHandler) res = this.options.parseMissingKeyHandler(res);\n }\n\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, options, resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread({}, options, {\n interpolation: _objectSpread({}, this.options.interpolation, options.interpolation)\n }));\n var skipOnVariables = options.interpolation && options.interpolation.skipOnVariables || this.options.interpolation.skipOnVariables;\n var nestBef;\n\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread({}, this.options.interpolation.defaultVariables, data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n\n if (skipOnVariables) {\n var na = res.match(this.interpolator.nestingRegexp);\n var nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this3.logger.warn(\"It seems you are nesting recursively key: \".concat(args[0], \" in key: \").concat(key[0]));\n\n return null;\n }\n\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread({\n i18nResolved: resolved\n }, options) : options, this);\n }\n\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var found;\n var usedKey;\n var exactUsedKey;\n var usedLng;\n var usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n\n var extracted = _this4.extractFromKey(k, options);\n\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var needsContextHandling = options.context !== undefined && typeof options.context === 'string' && options.context !== '';\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n\n if (!checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] = true;\n\n _this4.logger.warn(\"key \\\"\".concat(usedKey, \"\\\" for languages \\\"\").concat(codes.join(', '), \"\\\" won't get resolved as namespace \\\"\").concat(usedNS, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKey = key;\n var finalKeys = [finalKey];\n\n if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {\n _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n var pluralSuffix;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count);\n if (needsPluralHandling && needsContextHandling) finalKeys.push(finalKey + pluralSuffix);\n if (needsContextHandling) finalKeys.push(finalKey += \"\".concat(_this4.options.contextSeparator).concat(options.context));\n if (needsPluralHandling) finalKeys.push(finalKey += pluralSuffix);\n }\n\n var possibleKey;\n\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey: usedKey,\n exactUsedKey: exactUsedKey,\n usedLng: usedLng,\n usedNS: usedNS\n };\n }\n }, {\n key: \"isValidLookup\",\n value: function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n }, {\n key: \"getResource\",\n value: function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n }], [{\n key: \"hasDefaultValue\",\n value: function hasDefaultValue(options) {\n var prefix = 'defaultValue';\n\n for (var option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n\n return false;\n }\n }]);\n\n return Translator;\n}(EventEmitter);\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck(this, LanguageUtil);\n\n this.options = options;\n this.whitelist = this.options.supportedLngs || false;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n\n _createClass(LanguageUtil, [{\n key: \"getScriptPartFromCode\",\n value: function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n }, {\n key: \"getLanguagePartFromCode\",\n value: function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n }, {\n key: \"formatLanguageCode\",\n value: function formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n\n return p.join('-');\n }\n\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n }, {\n key: \"isWhitelisted\",\n value: function isWhitelisted(code) {\n this.logger.deprecate('languageUtils.isWhitelisted', 'function \"isWhitelisted\" will be renamed to \"isSupportedCode\" in the next major - please make sure to rename it\\'s usage asap.');\n return this.isSupportedCode(code);\n }\n }, {\n key: \"isSupportedCode\",\n value: function isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n }, {\n key: \"getBestMatchFromCodes\",\n value: function getBestMatchFromCodes(codes) {\n var _this = this;\n\n if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n\n var cleanedLng = _this.formatLanguageCode(code);\n\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n\n var lngOnly = _this.getLanguagePartFromCode(code);\n\n if (_this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = _this.options.supportedLngs.find(function (supportedLng) {\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\n });\n }\n\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n }, {\n key: \"getFallbackCodes\",\n value: function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n if (!code) return fallbacks[\"default\"] || [];\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks[\"default\"];\n return found || [];\n }\n }, {\n key: \"toResolveHierarchy\",\n value: function toResolveHierarchy(code, fallbackCode) {\n var _this2 = this;\n\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n\n var addCode = function addCode(c) {\n if (!c) return;\n\n if (_this2.isSupportedCode(c)) {\n codes.push(c);\n } else {\n _this2.logger.warn(\"rejecting language code not found in supportedLngs: \".concat(c));\n }\n };\n\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\n }\n }]);\n\n return LanguageUtil;\n}();\n\nvar sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'kk', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nvar _rulesPluralsTypes = {\n 1: function _(n) {\n return Number(n > 1);\n },\n 2: function _(n) {\n return Number(n != 1);\n },\n 3: function _(n) {\n return 0;\n },\n 4: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function _(n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function _(n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function _(n) {\n return Number(n >= 2);\n },\n 10: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function _(n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function _(n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function _(n) {\n return Number(n !== 0);\n },\n 14: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function _(n) {\n return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1);\n },\n 18: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function _(n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\n\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\n\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, PluralResolver);\n\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n this.rules = createRules();\n }\n\n _createClass(PluralResolver, [{\n key: \"addRule\",\n value: function addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n }, {\n key: \"getRule\",\n value: function getRule(code) {\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var rule = this.getRule(code);\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n return this.getSuffixes(code).map(function (suffix) {\n return key + suffix;\n });\n }\n }, {\n key: \"getSuffixes\",\n value: function getSuffixes(code) {\n var _this = this;\n\n var rule = this.getRule(code);\n\n if (!rule) {\n return [];\n }\n\n return rule.numbers.map(function (number) {\n return _this.getSuffix(code, number);\n });\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var _this2 = this;\n\n var rule = this.getRule(code);\n\n if (rule) {\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return \"_plural_\".concat(suffix.toString());\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }]);\n\n return PluralResolver;\n}();\n\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Interpolator);\n\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n\n this.init(options);\n }\n\n _createClass(Interpolator, [{\n key: \"init\",\n value: function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n var iOpts = options.interpolation;\n this.escape = iOpts.escape !== undefined ? iOpts.escape : escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ',';\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false;\n this.resetRegExp();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this.options) this.init(this.options);\n }\n }, {\n key: \"resetRegExp\",\n value: function resetRegExp() {\n var regexpStr = \"\".concat(this.prefix, \"(.+?)\").concat(this.suffix);\n this.regexp = new RegExp(regexpStr, 'g');\n var regexpUnescapeStr = \"\".concat(this.prefix).concat(this.unescapePrefix, \"(.+?)\").concat(this.unescapeSuffix).concat(this.suffix);\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n var nestingRegexpStr = \"\".concat(this.nestingPrefix, \"(.+?)\").concat(this.nestingSuffix);\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(str, data, lng, options) {\n var _this = this;\n\n var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) {\n var path = getPathWithDefaults(data, defaultData, key);\n return _this.alwaysFormat ? _this.format(path, undefined, lng) : path;\n }\n\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n return _this.format(getPathWithDefaults(data, defaultData, k), f, lng, options);\n };\n\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables || this.options.interpolation.skipOnVariables;\n var todos = [{\n regex: this.regexpUnescape,\n safeValue: function safeValue(val) {\n return regexSafe(val);\n }\n }, {\n regex: this.regexp,\n safeValue: function safeValue(val) {\n return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val);\n }\n }];\n todos.forEach(function (todo) {\n replaces = 0;\n\n while (match = todo.regex.exec(str)) {\n value = handleFormat(match[1].trim());\n\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n var temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(match[1], \" for interpolating \").concat(str));\n\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n\n str = str.replace(match[0], todo.safeValue(value));\n todo.regex.lastIndex = 0;\n replaces++;\n\n if (replaces >= _this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var _this2 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n\n var clonedOptions = _objectSpread({}, options);\n\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n\n function handleHasOptions(key, inheritedOptions) {\n var sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n var c = key.split(new RegExp(\"\".concat(sep, \"[ ]*{\")));\n var optionsString = \"{\".concat(c[1]);\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n optionsString = optionsString.replace(/'/g, '\"');\n\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread({}, inheritedOptions, clonedOptions);\n } catch (e) {\n this.logger.warn(\"failed parsing options string in nesting for key \".concat(key), e);\n return \"\".concat(key).concat(sep).concat(optionsString);\n }\n\n delete clonedOptions.defaultValue;\n return key;\n }\n\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n var doReduce = false;\n\n if (match[0].includes(this.formatSeparator) && !/{.*}/.test(match[1])) {\n var r = match[1].split(this.formatSeparator).map(function (elem) {\n return elem.trim();\n });\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\n\n if (doReduce) {\n value = formatters.reduce(function (v, f) {\n return _this2.format(v, f, options.lng, options);\n }, value.trim());\n }\n\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n\n return str;\n }\n }]);\n\n return Interpolator;\n}();\n\nfunction remove(arr, what) {\n var found = arr.indexOf(what);\n\n while (found !== -1) {\n arr.splice(found, 1);\n found = arr.indexOf(what);\n }\n}\n\nvar Connector = function (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n\n function Connector(backend, store, services) {\n var _this;\n\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n _classCallCheck(this, Connector);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Connector).call(this));\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n _this.backend = backend;\n _this.store = store;\n _this.services = services;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n _this.state = {};\n _this.queue = [];\n\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n\n return _this;\n }\n\n _createClass(Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n\n var toLoad = [];\n var pending = [];\n var toLoadLanguages = [];\n var toLoadNamespaces = [];\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n namespaces.forEach(function (ns) {\n var name = \"\".concat(lng, \"|\").concat(ns);\n\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2;\n } else if (_this2.state[name] < 0) ; else if (_this2.state[name] === 1) {\n if (pending.indexOf(name) < 0) pending.push(name);\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending.indexOf(name) < 0) pending.push(name);\n if (toLoad.indexOf(name) < 0) toLoad.push(name);\n if (toLoadNamespaces.indexOf(ns) < 0) toLoadNamespaces.push(ns);\n }\n });\n if (!hasAllNamespaces) toLoadLanguages.push(lng);\n });\n\n if (toLoad.length || pending.length) {\n this.queue.push({\n pending: pending,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n\n return {\n toLoad: toLoad,\n pending: pending,\n toLoadLanguages: toLoadLanguages,\n toLoadNamespaces: toLoadNamespaces\n };\n }\n }, {\n key: \"loaded\",\n value: function loaded(name, err, data) {\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n\n this.state[name] = err ? -1 : 2;\n var loaded = {};\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n remove(q.pending, name);\n if (err) q.errors.push(err);\n\n if (q.pending.length === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = [];\n\n if (q.loaded[l].length) {\n q.loaded[l].forEach(function (ns) {\n if (loaded[l].indexOf(ns) < 0) loaded[l].push(ns);\n });\n }\n });\n q.done = true;\n\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 350;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n return this.backend[fcName](lng, ns, function (err, data) {\n if (err && data && tried < 5) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n\n callback(err, data);\n });\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n }\n }, {\n key: \"load\",\n value: function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n }, {\n key: \"reload\",\n value: function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n }, {\n key: \"loadOne\",\n value: function loadOne(name) {\n var _this5 = this;\n\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, function (err, data) {\n if (err) _this5.logger.warn(\"\".concat(prefix, \"loading namespace \").concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) _this5.logger.log(\"\".concat(prefix, \"loaded namespace \").concat(ns, \" for language \").concat(lng), data);\n\n _this5.loaded(name, err, data);\n });\n }\n }, {\n key: \"saveMissing\",\n value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(\"did not save key \\\"\".concat(key, \"\\\" as the namespace \\\"\").concat(namespace, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n\n if (key === undefined || key === null || key === '') return;\n\n if (this.backend && this.backend.create) {\n this.backend.create(languages, namespace, key, fallbackValue, null, _objectSpread({}, options, {\n isUpdate: isUpdate\n }));\n }\n\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n\n return Connector;\n}(EventEmitter);\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n whitelist: false,\n nonExplicitWhitelist: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: true,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n var ret = {};\n if (_typeof(args[1]) === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n\n if (_typeof(args[2]) === 'object' || _typeof(args[3]) === 'object') {\n var options = args[3] || args[2];\n Object.keys(options).forEach(function (key) {\n ret[key] = options[key];\n });\n }\n\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng, options) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: false\n }\n };\n}\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n\n if (options.whitelist) {\n if (options.whitelist && options.whitelist.indexOf('cimode') < 0) {\n options.whitelist = options.whitelist.concat(['cimode']);\n }\n\n options.supportedLngs = options.whitelist;\n }\n\n if (options.nonExplicitWhitelist) {\n options.nonExplicitSupportedLngs = options.nonExplicitWhitelist;\n }\n\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n\n return options;\n}\n\nfunction noop() {}\n\nvar I18n = function (_EventEmitter) {\n _inherits(I18n, _EventEmitter);\n\n function I18n() {\n var _this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n _classCallCheck(this, I18n);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(I18n).call(this));\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n\n return _possibleConstructorReturn(_this, _assertThisInitialized(_this));\n }\n\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n\n return _this;\n }\n\n _createClass(I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n\n if (options.whitelist && !options.supportedLngs) {\n this.logger.deprecate('whitelist', 'option \"whitelist\" will be renamed to \"supportedLngs\" in the next major - please make sure to rename this option asap.');\n }\n\n if (options.nonExplicitWhitelist && !options.nonExplicitSupportedLngs) {\n this.logger.deprecate('whitelist', 'options \"nonExplicitWhitelist\" will be renamed to \"nonExplicitSupportedLngs\" in the next major - please make sure to rename this option asap.');\n }\n\n this.options = _objectSpread({}, get(), this.options, transformOptions(options));\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n\n var lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n var s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n s.languageDetector.init(s, this.options.detection, this.options);\n }\n\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\n\n return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments);\n };\n });\n var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store2;\n\n (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n\n return _this2;\n };\n });\n var deferred = defer();\n\n var load = function load() {\n var finish = function finish(err, t) {\n if (_this2.isInitialized) _this2.logger.warn('init: i18next is already initialized. You should call init just once!');\n _this2.isInitialized = true;\n if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options);\n\n _this2.emit('initialized', _this2.options);\n\n deferred.resolve(t);\n callback(err, t);\n };\n\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\n\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var usedCallback = callback;\n var usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n\n var append = function append(lng) {\n if (!lng) return;\n\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n\n if (!usedLng) {\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(usedLng);\n }\n\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n\n this.services.backendConnector.load(toLoad, this.options.ns, usedCallback);\n } else {\n usedCallback(null);\n }\n }\n }, {\n key: \"reloadResources\",\n value: function reloadResources(lngs, ns, callback) {\n var deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, function (err) {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n }, {\n key: \"use\",\n value: function use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n\n return this;\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n\n var done = function done(err, l) {\n if (l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n\n _this4.translator.changeLanguage(l);\n\n _this4.isLanguageChangingTo = undefined;\n\n _this4.emit('languageChanged', l);\n\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\n }\n\n deferred.resolve(function () {\n return _this4.t.apply(_this4, arguments);\n });\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n\n var setLng = function setLng(lngs) {\n var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs);\n\n if (l) {\n if (!_this4.language) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n }\n\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\n };\n\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n this.services.languageDetector.detect(setLng);\n } else {\n setLng(lng);\n }\n\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns) {\n var _this5 = this;\n\n var fixedT = function fixedT(key, opts) {\n var options;\n\n if (_typeof(opts) !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread({}, opts);\n }\n\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n return _this5.t(key, options);\n };\n\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n\n fixedT.ns = ns;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\n\n return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments);\n }\n }, {\n key: \"exists\",\n value: function exists() {\n var _this$translator2;\n\n return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments);\n }\n }, {\n key: \"setDefaultNamespace\",\n value: function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n }, {\n key: \"hasLoadedNamespace\",\n value: function hasLoadedNamespace(ns) {\n var _this6 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n\n var lng = this.languages[0];\n var fallbackLng = this.options ? this.options.fallbackLng : false;\n var lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n\n return loadState === -1 || loadState === 2;\n };\n\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n\n var deferred = defer();\n\n if (!this.options.ns) {\n callback && callback();\n return Promise.resolve();\n }\n\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n);\n });\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"loadLanguages\",\n value: function loadLanguages(lngs, callback) {\n var deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"dir\",\n value: function dir(lng) {\n if (!lng) lng = this.languages && this.languages.length > 0 ? this.languages[0] : this.language;\n if (!lng) return 'rtl';\n var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam'];\n return rtlLngs.indexOf(this.services.languageUtils.getLanguagePartFromCode(lng)) >= 0 ? 'rtl' : 'ltr';\n }\n }, {\n key: \"createInstance\",\n value: function createInstance() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n }\n }, {\n key: \"cloneInstance\",\n value: function cloneInstance() {\n var _this8 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n var mergedOptions = _objectSpread({}, this.options, options, {\n isClone: true\n });\n\n var clone = new I18n(mergedOptions);\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this8[m];\n });\n clone.services = _objectSpread({}, this.services);\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n }]);\n\n return I18n;\n}(EventEmitter);\n\nvar i18next = new I18n();\n\nexport default i18next;\n","/** @module @category Utility */ function _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\nimport _i18n from \"i18next\";\nexport function translateFrom(moduleName, key, fallback, options) {\n const i18n = _i18n.default || _i18n;\n return i18n.t(key, _object_spread({\n ns: moduleName,\n defaultValue: fallback\n }, options));\n}\n","/** @module @category Utility */ import * as semver from \"semver\";\nfunction normalizeOnlyVersion(version) {\n const [major, minor, patch] = version.split(\".\");\n return `${major}.${minor}.${patch}`;\n}\nfunction normalizeFullVersion(version) {\n const idx = version.indexOf(\"-\");\n const prerelease = idx >= 0;\n if (prerelease) {\n const ver = normalizeOnlyVersion(version.slice(0, idx));\n const pre = version.slice(idx + 1);\n return `${ver}-${pre}`;\n }\n return normalizeOnlyVersion(version);\n}\nexport function isVersionSatisfied(requiredVersion, installedVersion) {\n const version = normalizeFullVersion(installedVersion);\n return semver.satisfies(version, requiredVersion, {\n includePrerelease: true\n });\n}\n","/** @module @category Utility */ /**\n * Options for configuring the behavior of the {@link retry} function.\n */ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _async_to_generator(fn) {\n return function() {\n var self = this, args = arguments;\n return new Promise(function(resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\n/**\n * Executes the specified function and retries executing on failure with a custom backoff strategy\n * defined by the options.\n *\n * If not configured otherwise, this function uses the following default options:\n * * Retries 5 times beyond the initial attempt.\n * * Uses an exponential backoff starting with an initial delay of 1000ms.\n * @param fn The function to be executed and retried on failure.\n * @param options Additional options which configure the retry behavior.\n * @returns The result of successfully executing `fn`.\n * @throws Rethrows the final error of running `fn` when the function stops retrying.\n */ export function retry(fn) {\n return _retry.apply(this, arguments);\n}\nfunction _retry() {\n _retry = _async_to_generator(function*(fn, options = {}) {\n let { shouldRetry , getDelay , onError } = options;\n shouldRetry = shouldRetry !== null && shouldRetry !== void 0 ? shouldRetry : (attempt)=>limitAttempts(attempt, 5);\n getDelay = getDelay !== null && getDelay !== void 0 ? getDelay : (attempt)=>getExponentialDelay(attempt, 1000);\n let attempt = 0;\n let lastError = undefined;\n do {\n try {\n yield delay(getDelay(attempt));\n return yield fn();\n } catch (e) {\n onError === null || onError === void 0 ? void 0 : onError(e, attempt);\n lastError = e;\n }\n }while (shouldRetry(attempt++))\n // If we reach this fn errored and shouldn't retry anymore. Simply rethrow the final error as\n // a means of ending the retry process without a result.\n throw lastError;\n });\n return _retry.apply(this, arguments);\n}\nfunction limitAttempts(attempt, maxAttempts) {\n return attempt <= maxAttempts;\n}\nfunction getExponentialDelay(attempt, startingDelay, initialDelay = false) {\n const exponent = initialDelay ? attempt + 1 : attempt;\n return startingDelay * Math.pow(2, exponent);\n}\nfunction delay(ms) {\n return _delay.apply(this, arguments);\n}\nfunction _delay() {\n _delay = _async_to_generator(function*(ms) {\n if (ms <= 0) {\n return;\n }\n return new Promise((res)=>setTimeout(res, ms));\n });\n return _delay.apply(this, arguments);\n}\n"],"names":["module","exports","e","n","r","i","s","u","a","o","f","h","c","d","$","l","y","M","name","weekdays","split","months","m","t","String","length","Array","join","g","z","utcOffset","Math","abs","floor","date","year","month","clone","add","ceil","p","w","D","ms","Q","toLowerCase","replace","v","_","S","args","arguments","O","locale","$L","utc","$u","x","$x","$offset","this","parse","prototype","$d","Date","NaN","test","match","substring","UTC","init","$y","getFullYear","$M","getMonth","$D","getDate","$W","getDay","$H","getHours","$m","getMinutes","$s","getSeconds","$ms","getMilliseconds","$utils","isValid","toString","isSame","startOf","endOf","isAfter","isBefore","$g","set","unix","valueOf","getTime","toDate","apply","slice","$locale","weekStart","$set","min","daysInMonth","get","Number","round","subtract","format","invalidDate","meridiem","YY","YYYY","MM","MMM","monthsShort","MMMM","DD","dd","weekdaysMin","ddd","weekdaysShort","dddd","H","HH","hh","A","mm","ss","SSS","Z","getTimezoneOffset","diff","toJSON","toISOString","toUTCString","T","forEach","extend","$i","isDayjs","en","Ls","isToday","local","call","getUTCFullYear","getUTCMonth","getUTCDate","getUTCDay","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","$localOffset","isUTC","ANY","Symbol","Comparator","constructor","comp","options","loose","includePrerelease","value","debug","semver","operator","version","re","COMPARATORLOOSE","COMPARATOR","TypeError","undefined","SemVer","er","cmp","intersects","Range","sameDirectionIncreasing","sameDirectionDecreasing","sameSemVer","differentDirectionsInclusive","oppositeDirectionsLessThan","oppositeDirectionsGreaterThan","range","raw","map","parseRange","trim","filter","comps","hr","HYPHENRANGELOOSE","HYPHENRANGE","hyphenReplace","COMPARATORTRIM","comparatorTrimReplace","TILDETRIM","tildeTrimReplace","CARETTRIM","caretTrimReplace","compRe","parseComparator","replaceGTE0","some","thisComparators","isSatisfiable","rangeComparators","every","thisComparator","rangeComparator","testSet","comparators","result","remainingComparators","testComparator","pop","otherComparator","replaceCarets","replaceTildes","replaceXRanges","replaceStars","isX","id","replaceTilde","TILDELOOSE","TILDE","pr","ret","replaceCaret","CARETLOOSE","CARET","replaceXRange","XRANGELOOSE","XRANGE","gtlt","xM","xm","xp","anyX","STAR","GTE0PRE","GTE0","incPr","$0","from","fM","fm","fp","fpr","fb","to","tM","tm","tp","tpr","tb","prerelease","allowed","major","minor","patch","MAX_LENGTH","MAX_SAFE_INTEGER","compareIdentifiers","LOOSE","FULL","num","build","compare","other","compareMain","comparePre","b","compareBuild","inc","release","identifier","push","isNaN","Error","eq","neq","gt","gte","lt","lte","op","rtl","next","COERCERTL","exec","index","lastIndex","COERCE","versionA","versionB","version1","version2","v1","v2","hasPre","prefix","defaultResult","key","parsed","list","sort","internalRe","src","tokens","SEMVER_SPEC_VERSION","rcompareIdentifiers","valid","clean","rcompare","compareLoose","rsort","coerce","satisfies","toComparators","maxSatisfying","minSatisfying","minVersion","validRange","outside","gtr","ltr","simplifyRange","subset","MAX_SAFE_COMPONENT_LENGTH","process","env","NODE_DEBUG","console","error","numeric","anum","bnum","R","createToken","isGlobal","RegExp","NUMERICIDENTIFIER","NUMERICIDENTIFIERLOOSE","NONNUMERICIDENTIFIER","PRERELEASEIDENTIFIER","PRERELEASEIDENTIFIERLOOSE","BUILDIDENTIFIER","MAINVERSION","PRERELEASE","BUILD","FULLPLAIN","MAINVERSIONLOOSE","PRERELEASELOOSE","LOOSEPLAIN","XRANGEIDENTIFIER","XRANGEIDENTIFIERLOOSE","GTLT","XRANGEPLAIN","XRANGEPLAINLOOSE","LONETILDE","LONECARET","r1","r2","versions","max","maxSV","rangeObj","minSV","minver","comparator","compver","hilo","gtfn","ltefn","ltfn","ecomp","high","low","prev","ranges","simplified","original","simpleSubset","sub","dom","eqSet","Set","gtltComp","higher","lower","hasDomLT","hasDomGT","higherGT","lowerLT","size","sawNonNull","OUTER","simpleSub","simpleDom","isSub","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","__esModule","definition","Object","defineProperty","enumerable","obj","prop","hasOwnProperty","toStringTag","daysIntoYear","isSameDay","firstDate","secondDate","firstISO","secondISO","indexOf","age","dateString","today","birthDate","monthDifference","dateDifference","monthsAgo","monthsAgoStr","totalDaysAgo","weeksAgo","remainderDaysInWeek","_define_property","configurable","writable","_object_spread","target","source","ownKeys","keys","getOwnPropertySymbols","concat","sym","getOwnPropertyDescriptor","isoFormat","isOmrsDateStrict","omrsPayloadString","isOmrsDateToday","toDateObjectStrict","omrsDateString","toOmrsIsoString","toUTC","toOmrsTimeString24","toOmrsTimeString","toOmrsDayDateFormat","toOmrsDateFormat","toOmrsYearlessDateFormat","parseDate","defaultOptions","mode","time","day","formatDate","formatterOptions","localeString","getLocale","Intl","RelativeTimeFormat","toLocaleUpperCase","toLocaleDateString","len","formatTime","toLocaleTimeString","hour","minute","formatDatetime","getOwnPropertyDescriptors","defineProperties","object","enumerableOnly","symbols","language","window","i18next","_typeof","iterator","_defineProperty","_objectSpread","_classCallCheck","instance","Constructor","_defineProperties","props","descriptor","_createClass","protoProps","staticProps","_assertThisInitialized","self","ReferenceError","_possibleConstructorReturn","_getPrototypeOf","setPrototypeOf","getPrototypeOf","bind","__proto__","_setPrototypeOf","_inherits","subClass","superClass","create","consoleLogger","type","log","output","warn","baseLogger","Logger","concreteLogger","logger","bool","_len","_key","forward","_len2","_key2","_len3","_key3","_len4","_key4","lvl","debugOnly","moduleName","EventEmitter","observers","events","listener","_this","event","observer","defer","res","rej","promise","Promise","resolve","reject","makeString","getLastOfPath","path","Empty","cleanKey","canNotTraverseDeeper","stack","shift","k","setPath","newValue","_getLastOfPath","getPath","_getLastOfPath3","getPathWithDefaults","data","defaultData","deepExtend","overwrite","regexEscape","str","_entityMap","isIE10","navigator","userAgent","ResourceStore","_EventEmitter","ns","defaultNS","keySeparator","splice","lng","silent","addNamespaces","emit","resources","addResource","deep","pack","hasResourceBundle","removeNamespaces","getResource","compatibilityAPI","postProcessor","processors","addPostProcessor","handle","translator","processor","checkedLoadedFor","Translator","services","interpolation","resolved","nsSeparator","namespaces","interpolator","nestingRegexp","parts","lastKey","_this2","overloadTranslationOptionHandler","isArray","_this$extractFromKey","extractFromKey","namespace","appendNamespaceToCIMode","resUsedKey","usedKey","resExactUsedKey","exactUsedKey","resType","joinArrays","handleAsObjectInI18nFormat","i18nFormat","handleAsObject","returnObjects","returnedObjectHandler","resTypeIsArray","copy","newKeyToUse","deepKey","translate","extendTranslation","usedDefault","needsPluralHandling","count","hasDefaultValue","defaultValueSuffix","pluralResolver","getSuffix","defaultValue","isValidLookup","updateMissing","fk","lngs","fallbackLngs","languageUtils","getFallbackCodes","fallbackLng","saveMissingTo","toResolveHierarchy","send","fallbackValue","missingKeyHandler","backendConnector","saveMissing","saveMissingPlurals","getSuffixes","suffix","appendNamespaceToMissingKey","parseMissingKeyHandler","_this3","usedLng","usedNS","skipInterpolation","nestBef","skipOnVariables","nb","defaultVariables","interpolate","na","nest","context","reset","postProcess","postProcessorNames","applyPostProcessor","postProcessPassResolved","i18nResolved","found","_this4","extracted","fallbackNS","needsContextHandling","codes","utils","hasLoadedNamespace","code","pluralSuffix","possibleKey","finalKey","finalKeys","addLookupKeys","contextSeparator","returnNull","returnEmptyString","resourceStore","option","capitalize","string","charAt","toUpperCase","LanguageUtil","whitelist","supportedLngs","formatLanguageCode","specialCases","lowerCaseLng","part","cleanCode","deprecate","isSupportedCode","load","nonExplicitSupportedLngs","getLanguagePartFromCode","cleanedLng","lngOnly","find","supportedLng","fallbacks","getScriptPartFromCode","fallbackCode","fallbackCodes","addCode","fc","sets","nr","_rulesPluralsTypes","PluralResolver","rules","numbers","plurals","rule","getRule","number","idx","noAbs","simplifyPluralSuffix","returnSuffix","prepend","compatibilityJSON","Interpolator","escapeValue","iOpts","escape","useRawValueToEscape","prefixEscaped","suffixEscaped","formatSeparator","unescapePrefix","unescapeSuffix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","nestingOptionsSeparator","maxReplaces","alwaysFormat","resetRegExp","regexpStr","regexp","regexpUnescapeStr","regexpUnescape","nestingRegexpStr","replaces","regexSafe","val","handleFormat","missingInterpolationHandler","regex","safeValue","todo","temp","clonedOptions","handleHasOptions","inheritedOptions","sep","optionsString","JSON","formatters","doReduce","includes","elem","reduce","Connector","backend","store","state","queue","languages","callback","toLoad","pending","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","reload","loaded","errors","err","addResourceBundle","q","_getLastOfPath2","arr","what","remove","done","fcName","tried","wait","setTimeout","read","queueLoad","loadOne","prepareLoading","_this5","isUpdate","transformOptions","nonExplicitWhitelist","noop","I18n","modules","external","isInitialized","isClone","initImmediate","createClassOnDemand","ClassOrObject","preload","pluralSeparator","partialBundledLanguages","tDescription","_format","lu","on","languageDetector","detection","_this2$store","_this2$store2","deferred","finish","changeLanguage","usedCallback","append","isLanguageChangingTo","setLng","getBestMatchFromCodes","cacheUserLanguage","loadResources","async","detect","fixedT","opts","rest","_this$translator","_this$translator2","exists","_this6","lastLng","loadNotPending","loadState","precheck","preResult","_this7","preloaded","newLngs","_this8","mergedOptions","translateFrom","fallback","normalizeOnlyVersion","isVersionSatisfied","requiredVersion","installedVersion","normalizeFullVersion","asyncGeneratorStep","gen","_next","_throw","arg","info","then","_async_to_generator","fn","retry","_retry","shouldRetry","getDelay","onError","attempt","maxAttempts","limitAttempts","startingDelay","initialDelay","exponent","pow","getExponentialDelay","lastError","delay","_delay"],"sourceRoot":""}
|