@common.js/formatjs__intl-localematcher 0.8.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +9 -0
- package/README.md +5 -0
- package/index.d.ts +30 -0
- package/index.js +4713 -0
- package/index.js.map +1 -0
- package/package.json +17 -0
package/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["jsonData","canonicalized"],"sources":["../abstract/CanonicalizeLocaleList.ts","../abstract/languageMatching.ts","../../../node_modules/.aspect_rules_js/@formatjs_generated+cldr.core@0.0.0/node_modules/@formatjs_generated/cldr.core/regions.js","../abstract/utils.ts","../abstract/BestFitMatcher.ts","../abstract/CanonicalizeUValue.ts","../abstract/CanonicalizeUnicodeLocaleId.ts","../abstract/InsertUnicodeExtensionAndCanonicalize.ts","../abstract/BestAvailableLocale.ts","../abstract/LookupMatcher.ts","../abstract/UnicodeExtensionComponents.ts","../abstract/ResolveLocale.ts","../abstract/LookupSupportedLocales.ts","../index.ts"],"sourcesContent":["/**\n * http://ecma-international.org/ecma-402/7.0/index.html#sec-canonicalizelocalelist\n * @param locales\n */\nexport function CanonicalizeLocaleList(\n locales?: string | readonly string[]\n): string[] {\n return Intl.getCanonicalLocales(locales)\n}\n","export const data = {\n supplemental: {\n languageMatching: {\n 'written-new': [\n {\n paradigmLocales: {\n _locales: 'en en_GB es es_419 pt_BR pt_PT',\n },\n },\n {\n $enUS: {\n _value: 'AS+CA+GU+MH+MP+PH+PR+UM+US+VI',\n },\n },\n {\n $cnsar: {\n _value: 'HK+MO',\n },\n },\n {\n $americas: {\n _value: '019',\n },\n },\n {\n $maghreb: {\n _value: 'MA+DZ+TN+LY+MR+EH',\n },\n },\n {\n no: {\n _desired: 'nb',\n _distance: '1',\n },\n },\n {\n bs: {\n _desired: 'hr',\n _distance: '4',\n },\n },\n {\n bs: {\n _desired: 'sh',\n _distance: '4',\n },\n },\n {\n hr: {\n _desired: 'sh',\n _distance: '4',\n },\n },\n {\n sr: {\n _desired: 'sh',\n _distance: '4',\n },\n },\n {\n aa: {\n _desired: 'ssy',\n _distance: '4',\n },\n },\n {\n de: {\n _desired: 'gsw',\n _distance: '4',\n _oneway: 'true',\n },\n },\n {\n de: {\n _desired: 'lb',\n _distance: '4',\n _oneway: 'true',\n },\n },\n {\n no: {\n _desired: 'da',\n _distance: '8',\n },\n },\n {\n nb: {\n _desired: 'da',\n _distance: '8',\n },\n },\n {\n ru: {\n _desired: 'ab',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ach',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n nl: {\n _desired: 'af',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ak',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'am',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n es: {\n _desired: 'ay',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'az',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ur: {\n _desired: 'bal',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'be',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'bem',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n hi: {\n _desired: 'bh',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'bn',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'bo',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'br',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n es: {\n _desired: 'ca',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n fil: {\n _desired: 'ceb',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'chr',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ckb',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'co',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'crs',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n sk: {\n _desired: 'cs',\n _distance: '20',\n },\n },\n {\n en: {\n _desired: 'cy',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ee',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'eo',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n es: {\n _desired: 'eu',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n da: {\n _desired: 'fo',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n nl: {\n _desired: 'fy',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ga',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'gaa',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'gd',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n es: {\n _desired: 'gl',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n es: {\n _desired: 'gn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n hi: {\n _desired: 'gu',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ha',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'haw',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'ht',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'hy',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ia',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ig',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'is',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n id: {\n _desired: 'jv',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ka',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'kg',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'kk',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'km',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'kn',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'kri',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n tr: {\n _desired: 'ku',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'ky',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n it: {\n _desired: 'la',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'lg',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'ln',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'lo',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'loz',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'lua',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n hi: {\n _desired: 'mai',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'mfe',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'mg',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'mi',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ml',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'mn',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n hi: {\n _desired: 'mr',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n id: {\n _desired: 'ms',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'mt',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'my',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ne',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n nb: {\n _desired: 'nn',\n _distance: '20',\n },\n },\n {\n no: {\n _desired: 'nn',\n _distance: '20',\n },\n },\n {\n en: {\n _desired: 'nso',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ny',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'nyn',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'oc',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'om',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'or',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'pa',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'pcm',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ps',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n es: {\n _desired: 'qu',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n de: {\n _desired: 'rm',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'rn',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'rw',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n hi: {\n _desired: 'sa',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'sd',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'si',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'sn',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'so',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'sq',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'st',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n id: {\n _desired: 'su',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'sw',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ta',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'te',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'tg',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ti',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'tk',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'tlh',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'tn',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'to',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'tt',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'tum',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'ug',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'uk',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ur',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'uz',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'wo',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'xh',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'yi',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'yo',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'za',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'zu',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'aao',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'abh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'abv',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'acm',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'acq',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'acw',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'acx',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'acy',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'adf',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'aeb',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'aec',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'afb',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ajp',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'apc',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'apd',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'arq',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ars',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ary',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'arz',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'auz',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'avl',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ayh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ayl',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ayn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ayp',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'bbz',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'pga',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'shu',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ssh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n az: {\n _desired: 'azb',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n et: {\n _desired: 'vro',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ff: {\n _desired: 'ffm',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ff: {\n _desired: 'fub',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ff: {\n _desired: 'fue',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ff: {\n _desired: 'fuf',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ff: {\n _desired: 'fuh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ff: {\n _desired: 'fui',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ff: {\n _desired: 'fuq',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ff: {\n _desired: 'fuv',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n gn: {\n _desired: 'gnw',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n gn: {\n _desired: 'gui',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n gn: {\n _desired: 'gun',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n gn: {\n _desired: 'nhd',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n iu: {\n _desired: 'ikt',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kln: {\n _desired: 'enb',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kln: {\n _desired: 'eyo',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kln: {\n _desired: 'niq',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kln: {\n _desired: 'oki',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kln: {\n _desired: 'pko',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kln: {\n _desired: 'sgc',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kln: {\n _desired: 'tec',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kln: {\n _desired: 'tuy',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kok: {\n _desired: 'gom',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kpe: {\n _desired: 'gkp',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'ida',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lkb',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lko',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lks',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lri',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lrm',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lsm',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lto',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lts',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lwg',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'nle',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'nyd',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'rag',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n lv: {\n _desired: 'ltg',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'bhr',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'bjq',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'bmm',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'bzc',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'msh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'skg',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'tdx',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'tkg',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'txy',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'xmv',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'xmw',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mn: {\n _desired: 'mvf',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'bjn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'btj',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'bve',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'bvu',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'coa',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'dup',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'hji',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'id',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'jak',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'jax',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'kvb',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'kvr',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'kxd',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'lce',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'lcf',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'liw',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'max',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'meo',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'mfa',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'mfb',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'min',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'mqg',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'msi',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'mui',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'orn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'ors',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'pel',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'pse',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'tmw',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'urk',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'vkk',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'vkt',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'xmm',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'zlm',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'zmi',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ne: {\n _desired: 'dty',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n om: {\n _desired: 'gax',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n om: {\n _desired: 'hae',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n om: {\n _desired: 'orc',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n or: {\n _desired: 'spv',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ps: {\n _desired: 'pbt',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ps: {\n _desired: 'pst',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qub',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qud',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'quf',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qug',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'quh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'quk',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qul',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qup',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qur',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qus',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'quw',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qux',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'quy',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qva',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvc',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qve',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvi',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvj',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvl',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvm',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvo',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvp',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvs',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvw',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvz',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qwa',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qwc',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qwh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qws',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxa',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxc',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxl',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxo',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxp',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxr',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxt',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxu',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxw',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n sc: {\n _desired: 'sdc',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n sc: {\n _desired: 'sdn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n sc: {\n _desired: 'sro',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n sq: {\n _desired: 'aae',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n sq: {\n _desired: 'aat',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n sq: {\n _desired: 'aln',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n syr: {\n _desired: 'aii',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n uz: {\n _desired: 'uzs',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n yi: {\n _desired: 'yih',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'cdo',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'cjy',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'cpx',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'czh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'czo',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'gan',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'hak',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'hsn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'lzh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'mnp',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'nan',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'wuu',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'yue',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n '*': {\n _desired: '*',\n _distance: '80',\n },\n },\n {\n 'en-Latn': {\n _desired: 'am-Ethi',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'ru-Cyrl': {\n _desired: 'az-Latn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'bn-Beng',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'zh-Hans': {\n _desired: 'bo-Tibt',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'ru-Cyrl': {\n _desired: 'hy-Armn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'ka-Geor',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'km-Khmr',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'kn-Knda',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'lo-Laoo',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'ml-Mlym',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'my-Mymr',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'ne-Deva',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'or-Orya',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'pa-Guru',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'ps-Arab',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'sd-Arab',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'si-Sinh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'ta-Taml',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'te-Telu',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'ti-Ethi',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'ru-Cyrl': {\n _desired: 'tk-Latn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'ur-Arab',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'ru-Cyrl': {\n _desired: 'uz-Latn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'yi-Hebr',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'sr-Cyrl': {\n _desired: 'sr-Latn',\n _distance: '5',\n },\n },\n {\n 'zh-Hans': {\n _desired: 'za-Latn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'zh-Hans': {\n _desired: 'zh-Hani',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'zh-Hant': {\n _desired: 'zh-Hani',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'ar-Arab': {\n _desired: 'ar-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'bn-Beng': {\n _desired: 'bn-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'gu-Gujr': {\n _desired: 'gu-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'hi-Deva': {\n _desired: 'hi-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'kn-Knda': {\n _desired: 'kn-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'ml-Mlym': {\n _desired: 'ml-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'mr-Deva': {\n _desired: 'mr-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'ta-Taml': {\n _desired: 'ta-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'te-Telu': {\n _desired: 'te-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'zh-Hans': {\n _desired: 'zh-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'ja-Jpan': {\n _desired: 'ja-Latn',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ja-Jpan': {\n _desired: 'ja-Hani',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ja-Jpan': {\n _desired: 'ja-Hira',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ja-Jpan': {\n _desired: 'ja-Kana',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ja-Jpan': {\n _desired: 'ja-Hrkt',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ja-Hrkt': {\n _desired: 'ja-Hira',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ja-Hrkt': {\n _desired: 'ja-Kana',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ko-Kore': {\n _desired: 'ko-Hani',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ko-Kore': {\n _desired: 'ko-Hang',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ko-Kore': {\n _desired: 'ko-Jamo',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ko-Hang': {\n _desired: 'ko-Jamo',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n '*-*': {\n _desired: '*-*',\n _distance: '50',\n },\n },\n {\n 'ar-*-$maghreb': {\n _desired: 'ar-*-$maghreb',\n _distance: '4',\n },\n },\n {\n 'ar-*-$!maghreb': {\n _desired: 'ar-*-$!maghreb',\n _distance: '4',\n },\n },\n {\n 'ar-*-*': {\n _desired: 'ar-*-*',\n _distance: '5',\n },\n },\n {\n 'en-*-$enUS': {\n _desired: 'en-*-$enUS',\n _distance: '4',\n },\n },\n {\n 'en-*-GB': {\n _desired: 'en-*-$!enUS',\n _distance: '3',\n },\n },\n {\n 'en-*-$!enUS': {\n _desired: 'en-*-$!enUS',\n _distance: '4',\n },\n },\n {\n 'en-*-*': {\n _desired: 'en-*-*',\n _distance: '5',\n },\n },\n {\n 'es-*-$americas': {\n _desired: 'es-*-$americas',\n _distance: '4',\n },\n },\n {\n 'es-*-$!americas': {\n _desired: 'es-*-$!americas',\n _distance: '4',\n },\n },\n {\n 'es-*-*': {\n _desired: 'es-*-*',\n _distance: '5',\n },\n },\n {\n 'pt-*-$americas': {\n _desired: 'pt-*-$americas',\n _distance: '4',\n },\n },\n {\n 'pt-*-$!americas': {\n _desired: 'pt-*-$!americas',\n _distance: '4',\n },\n },\n {\n 'pt-*-*': {\n _desired: 'pt-*-*',\n _distance: '5',\n },\n },\n {\n 'zh-Hant-$cnsar': {\n _desired: 'zh-Hant-$cnsar',\n _distance: '4',\n },\n },\n {\n 'zh-Hant-$!cnsar': {\n _desired: 'zh-Hant-$!cnsar',\n _distance: '4',\n },\n },\n {\n 'zh-Hant-*': {\n _desired: 'zh-Hant-*',\n _distance: '5',\n },\n },\n {\n '*-*-*': {\n _desired: '*-*-*',\n _distance: '4',\n },\n },\n ] as const,\n },\n },\n}\n","// This file is generated from regions-gen.ts\nexport const regions = {\n\t\"001\": [\n\t\t\"001\",\n\t\t\"001-status-grouping\",\n\t\t\"002\",\n\t\t\"005\",\n\t\t\"009\",\n\t\t\"011\",\n\t\t\"013\",\n\t\t\"014\",\n\t\t\"015\",\n\t\t\"017\",\n\t\t\"018\",\n\t\t\"019\",\n\t\t\"021\",\n\t\t\"029\",\n\t\t\"030\",\n\t\t\"034\",\n\t\t\"035\",\n\t\t\"039\",\n\t\t\"053\",\n\t\t\"054\",\n\t\t\"057\",\n\t\t\"061\",\n\t\t\"142\",\n\t\t\"143\",\n\t\t\"145\",\n\t\t\"150\",\n\t\t\"151\",\n\t\t\"154\",\n\t\t\"155\",\n\t\t\"AC\",\n\t\t\"AD\",\n\t\t\"AE\",\n\t\t\"AF\",\n\t\t\"AG\",\n\t\t\"AI\",\n\t\t\"AL\",\n\t\t\"AM\",\n\t\t\"AO\",\n\t\t\"AQ\",\n\t\t\"AR\",\n\t\t\"AS\",\n\t\t\"AT\",\n\t\t\"AU\",\n\t\t\"AW\",\n\t\t\"AX\",\n\t\t\"AZ\",\n\t\t\"BA\",\n\t\t\"BB\",\n\t\t\"BD\",\n\t\t\"BE\",\n\t\t\"BF\",\n\t\t\"BG\",\n\t\t\"BH\",\n\t\t\"BI\",\n\t\t\"BJ\",\n\t\t\"BL\",\n\t\t\"BM\",\n\t\t\"BN\",\n\t\t\"BO\",\n\t\t\"BQ\",\n\t\t\"BR\",\n\t\t\"BS\",\n\t\t\"BT\",\n\t\t\"BV\",\n\t\t\"BW\",\n\t\t\"BY\",\n\t\t\"BZ\",\n\t\t\"CA\",\n\t\t\"CC\",\n\t\t\"CD\",\n\t\t\"CF\",\n\t\t\"CG\",\n\t\t\"CH\",\n\t\t\"CI\",\n\t\t\"CK\",\n\t\t\"CL\",\n\t\t\"CM\",\n\t\t\"CN\",\n\t\t\"CO\",\n\t\t\"CP\",\n\t\t\"CQ\",\n\t\t\"CR\",\n\t\t\"CU\",\n\t\t\"CV\",\n\t\t\"CW\",\n\t\t\"CX\",\n\t\t\"CY\",\n\t\t\"CZ\",\n\t\t\"DE\",\n\t\t\"DG\",\n\t\t\"DJ\",\n\t\t\"DK\",\n\t\t\"DM\",\n\t\t\"DO\",\n\t\t\"DZ\",\n\t\t\"EA\",\n\t\t\"EC\",\n\t\t\"EE\",\n\t\t\"EG\",\n\t\t\"EH\",\n\t\t\"ER\",\n\t\t\"ES\",\n\t\t\"ET\",\n\t\t\"EU\",\n\t\t\"EZ\",\n\t\t\"FI\",\n\t\t\"FJ\",\n\t\t\"FK\",\n\t\t\"FM\",\n\t\t\"FO\",\n\t\t\"FR\",\n\t\t\"GA\",\n\t\t\"GB\",\n\t\t\"GD\",\n\t\t\"GE\",\n\t\t\"GF\",\n\t\t\"GG\",\n\t\t\"GH\",\n\t\t\"GI\",\n\t\t\"GL\",\n\t\t\"GM\",\n\t\t\"GN\",\n\t\t\"GP\",\n\t\t\"GQ\",\n\t\t\"GR\",\n\t\t\"GS\",\n\t\t\"GT\",\n\t\t\"GU\",\n\t\t\"GW\",\n\t\t\"GY\",\n\t\t\"HK\",\n\t\t\"HM\",\n\t\t\"HN\",\n\t\t\"HR\",\n\t\t\"HT\",\n\t\t\"HU\",\n\t\t\"IC\",\n\t\t\"ID\",\n\t\t\"IE\",\n\t\t\"IL\",\n\t\t\"IM\",\n\t\t\"IN\",\n\t\t\"IO\",\n\t\t\"IQ\",\n\t\t\"IR\",\n\t\t\"IS\",\n\t\t\"IT\",\n\t\t\"JE\",\n\t\t\"JM\",\n\t\t\"JO\",\n\t\t\"JP\",\n\t\t\"KE\",\n\t\t\"KG\",\n\t\t\"KH\",\n\t\t\"KI\",\n\t\t\"KM\",\n\t\t\"KN\",\n\t\t\"KP\",\n\t\t\"KR\",\n\t\t\"KW\",\n\t\t\"KY\",\n\t\t\"KZ\",\n\t\t\"LA\",\n\t\t\"LB\",\n\t\t\"LC\",\n\t\t\"LI\",\n\t\t\"LK\",\n\t\t\"LR\",\n\t\t\"LS\",\n\t\t\"LT\",\n\t\t\"LU\",\n\t\t\"LV\",\n\t\t\"LY\",\n\t\t\"MA\",\n\t\t\"MC\",\n\t\t\"MD\",\n\t\t\"ME\",\n\t\t\"MF\",\n\t\t\"MG\",\n\t\t\"MH\",\n\t\t\"MK\",\n\t\t\"ML\",\n\t\t\"MM\",\n\t\t\"MN\",\n\t\t\"MO\",\n\t\t\"MP\",\n\t\t\"MQ\",\n\t\t\"MR\",\n\t\t\"MS\",\n\t\t\"MT\",\n\t\t\"MU\",\n\t\t\"MV\",\n\t\t\"MW\",\n\t\t\"MX\",\n\t\t\"MY\",\n\t\t\"MZ\",\n\t\t\"NA\",\n\t\t\"NC\",\n\t\t\"NE\",\n\t\t\"NF\",\n\t\t\"NG\",\n\t\t\"NI\",\n\t\t\"NL\",\n\t\t\"NO\",\n\t\t\"NP\",\n\t\t\"NR\",\n\t\t\"NU\",\n\t\t\"NZ\",\n\t\t\"OM\",\n\t\t\"PA\",\n\t\t\"PE\",\n\t\t\"PF\",\n\t\t\"PG\",\n\t\t\"PH\",\n\t\t\"PK\",\n\t\t\"PL\",\n\t\t\"PM\",\n\t\t\"PN\",\n\t\t\"PR\",\n\t\t\"PS\",\n\t\t\"PT\",\n\t\t\"PW\",\n\t\t\"PY\",\n\t\t\"QA\",\n\t\t\"QO\",\n\t\t\"RE\",\n\t\t\"RO\",\n\t\t\"RS\",\n\t\t\"RU\",\n\t\t\"RW\",\n\t\t\"SA\",\n\t\t\"SB\",\n\t\t\"SC\",\n\t\t\"SD\",\n\t\t\"SE\",\n\t\t\"SG\",\n\t\t\"SH\",\n\t\t\"SI\",\n\t\t\"SJ\",\n\t\t\"SK\",\n\t\t\"SL\",\n\t\t\"SM\",\n\t\t\"SN\",\n\t\t\"SO\",\n\t\t\"SR\",\n\t\t\"SS\",\n\t\t\"ST\",\n\t\t\"SV\",\n\t\t\"SX\",\n\t\t\"SY\",\n\t\t\"SZ\",\n\t\t\"TA\",\n\t\t\"TC\",\n\t\t\"TD\",\n\t\t\"TF\",\n\t\t\"TG\",\n\t\t\"TH\",\n\t\t\"TJ\",\n\t\t\"TK\",\n\t\t\"TL\",\n\t\t\"TM\",\n\t\t\"TN\",\n\t\t\"TO\",\n\t\t\"TR\",\n\t\t\"TT\",\n\t\t\"TV\",\n\t\t\"TW\",\n\t\t\"TZ\",\n\t\t\"UA\",\n\t\t\"UG\",\n\t\t\"UM\",\n\t\t\"UN\",\n\t\t\"US\",\n\t\t\"UY\",\n\t\t\"UZ\",\n\t\t\"VA\",\n\t\t\"VC\",\n\t\t\"VE\",\n\t\t\"VG\",\n\t\t\"VI\",\n\t\t\"VN\",\n\t\t\"VU\",\n\t\t\"WF\",\n\t\t\"WS\",\n\t\t\"XK\",\n\t\t\"YE\",\n\t\t\"YT\",\n\t\t\"ZA\",\n\t\t\"ZM\",\n\t\t\"ZW\"\n\t],\n\t\"002\": [\n\t\t\"002\",\n\t\t\"002-status-grouping\",\n\t\t\"011\",\n\t\t\"014\",\n\t\t\"015\",\n\t\t\"017\",\n\t\t\"018\",\n\t\t\"202\",\n\t\t\"AO\",\n\t\t\"BF\",\n\t\t\"BI\",\n\t\t\"BJ\",\n\t\t\"BW\",\n\t\t\"CD\",\n\t\t\"CF\",\n\t\t\"CG\",\n\t\t\"CI\",\n\t\t\"CM\",\n\t\t\"CV\",\n\t\t\"DJ\",\n\t\t\"DZ\",\n\t\t\"EA\",\n\t\t\"EG\",\n\t\t\"EH\",\n\t\t\"ER\",\n\t\t\"ET\",\n\t\t\"GA\",\n\t\t\"GH\",\n\t\t\"GM\",\n\t\t\"GN\",\n\t\t\"GQ\",\n\t\t\"GW\",\n\t\t\"IC\",\n\t\t\"IO\",\n\t\t\"KE\",\n\t\t\"KM\",\n\t\t\"LR\",\n\t\t\"LS\",\n\t\t\"LY\",\n\t\t\"MA\",\n\t\t\"MG\",\n\t\t\"ML\",\n\t\t\"MR\",\n\t\t\"MU\",\n\t\t\"MW\",\n\t\t\"MZ\",\n\t\t\"NA\",\n\t\t\"NE\",\n\t\t\"NG\",\n\t\t\"RE\",\n\t\t\"RW\",\n\t\t\"SC\",\n\t\t\"SD\",\n\t\t\"SH\",\n\t\t\"SL\",\n\t\t\"SN\",\n\t\t\"SO\",\n\t\t\"SS\",\n\t\t\"ST\",\n\t\t\"SZ\",\n\t\t\"TD\",\n\t\t\"TF\",\n\t\t\"TG\",\n\t\t\"TN\",\n\t\t\"TZ\",\n\t\t\"UG\",\n\t\t\"YT\",\n\t\t\"ZA\",\n\t\t\"ZM\",\n\t\t\"ZW\"\n\t],\n\t\"003\": [\n\t\t\"003\",\n\t\t\"013\",\n\t\t\"021\",\n\t\t\"029\",\n\t\t\"AG\",\n\t\t\"AI\",\n\t\t\"AW\",\n\t\t\"BB\",\n\t\t\"BL\",\n\t\t\"BM\",\n\t\t\"BQ\",\n\t\t\"BS\",\n\t\t\"BZ\",\n\t\t\"CA\",\n\t\t\"CR\",\n\t\t\"CU\",\n\t\t\"CW\",\n\t\t\"DM\",\n\t\t\"DO\",\n\t\t\"GD\",\n\t\t\"GL\",\n\t\t\"GP\",\n\t\t\"GT\",\n\t\t\"HN\",\n\t\t\"HT\",\n\t\t\"JM\",\n\t\t\"KN\",\n\t\t\"KY\",\n\t\t\"LC\",\n\t\t\"MF\",\n\t\t\"MQ\",\n\t\t\"MS\",\n\t\t\"MX\",\n\t\t\"NI\",\n\t\t\"PA\",\n\t\t\"PM\",\n\t\t\"PR\",\n\t\t\"SV\",\n\t\t\"SX\",\n\t\t\"TC\",\n\t\t\"TT\",\n\t\t\"US\",\n\t\t\"VC\",\n\t\t\"VG\",\n\t\t\"VI\"\n\t],\n\t\"005\": [\n\t\t\"005\",\n\t\t\"AR\",\n\t\t\"BO\",\n\t\t\"BR\",\n\t\t\"BV\",\n\t\t\"CL\",\n\t\t\"CO\",\n\t\t\"EC\",\n\t\t\"FK\",\n\t\t\"GF\",\n\t\t\"GS\",\n\t\t\"GY\",\n\t\t\"PE\",\n\t\t\"PY\",\n\t\t\"SR\",\n\t\t\"UY\",\n\t\t\"VE\"\n\t],\n\t\"009\": [\n\t\t\"009\",\n\t\t\"053\",\n\t\t\"054\",\n\t\t\"057\",\n\t\t\"061\",\n\t\t\"AC\",\n\t\t\"AQ\",\n\t\t\"AS\",\n\t\t\"AU\",\n\t\t\"CC\",\n\t\t\"CK\",\n\t\t\"CP\",\n\t\t\"CX\",\n\t\t\"DG\",\n\t\t\"FJ\",\n\t\t\"FM\",\n\t\t\"GU\",\n\t\t\"HM\",\n\t\t\"KI\",\n\t\t\"MH\",\n\t\t\"MP\",\n\t\t\"NC\",\n\t\t\"NF\",\n\t\t\"NR\",\n\t\t\"NU\",\n\t\t\"NZ\",\n\t\t\"PF\",\n\t\t\"PG\",\n\t\t\"PN\",\n\t\t\"PW\",\n\t\t\"QO\",\n\t\t\"SB\",\n\t\t\"TA\",\n\t\t\"TK\",\n\t\t\"TO\",\n\t\t\"TV\",\n\t\t\"UM\",\n\t\t\"VU\",\n\t\t\"WF\",\n\t\t\"WS\"\n\t],\n\t\"011\": [\n\t\t\"011\",\n\t\t\"BF\",\n\t\t\"BJ\",\n\t\t\"CI\",\n\t\t\"CV\",\n\t\t\"GH\",\n\t\t\"GM\",\n\t\t\"GN\",\n\t\t\"GW\",\n\t\t\"LR\",\n\t\t\"ML\",\n\t\t\"MR\",\n\t\t\"NE\",\n\t\t\"NG\",\n\t\t\"SH\",\n\t\t\"SL\",\n\t\t\"SN\",\n\t\t\"TG\"\n\t],\n\t\"013\": [\n\t\t\"013\",\n\t\t\"BZ\",\n\t\t\"CR\",\n\t\t\"GT\",\n\t\t\"HN\",\n\t\t\"MX\",\n\t\t\"NI\",\n\t\t\"PA\",\n\t\t\"SV\"\n\t],\n\t\"014\": [\n\t\t\"014\",\n\t\t\"BI\",\n\t\t\"DJ\",\n\t\t\"ER\",\n\t\t\"ET\",\n\t\t\"IO\",\n\t\t\"KE\",\n\t\t\"KM\",\n\t\t\"MG\",\n\t\t\"MU\",\n\t\t\"MW\",\n\t\t\"MZ\",\n\t\t\"RE\",\n\t\t\"RW\",\n\t\t\"SC\",\n\t\t\"SO\",\n\t\t\"SS\",\n\t\t\"TF\",\n\t\t\"TZ\",\n\t\t\"UG\",\n\t\t\"YT\",\n\t\t\"ZM\",\n\t\t\"ZW\"\n\t],\n\t\"015\": [\n\t\t\"015\",\n\t\t\"DZ\",\n\t\t\"EA\",\n\t\t\"EG\",\n\t\t\"EH\",\n\t\t\"IC\",\n\t\t\"LY\",\n\t\t\"MA\",\n\t\t\"SD\",\n\t\t\"TN\"\n\t],\n\t\"017\": [\n\t\t\"017\",\n\t\t\"AO\",\n\t\t\"CD\",\n\t\t\"CF\",\n\t\t\"CG\",\n\t\t\"CM\",\n\t\t\"GA\",\n\t\t\"GQ\",\n\t\t\"ST\",\n\t\t\"TD\"\n\t],\n\t\"018\": [\n\t\t\"018\",\n\t\t\"BW\",\n\t\t\"LS\",\n\t\t\"NA\",\n\t\t\"SZ\",\n\t\t\"ZA\"\n\t],\n\t\"019\": [\n\t\t\"003\",\n\t\t\"005\",\n\t\t\"013\",\n\t\t\"019\",\n\t\t\"019-status-grouping\",\n\t\t\"021\",\n\t\t\"029\",\n\t\t\"419\",\n\t\t\"AG\",\n\t\t\"AI\",\n\t\t\"AR\",\n\t\t\"AW\",\n\t\t\"BB\",\n\t\t\"BL\",\n\t\t\"BM\",\n\t\t\"BO\",\n\t\t\"BQ\",\n\t\t\"BR\",\n\t\t\"BS\",\n\t\t\"BV\",\n\t\t\"BZ\",\n\t\t\"CA\",\n\t\t\"CL\",\n\t\t\"CO\",\n\t\t\"CR\",\n\t\t\"CU\",\n\t\t\"CW\",\n\t\t\"DM\",\n\t\t\"DO\",\n\t\t\"EC\",\n\t\t\"FK\",\n\t\t\"GD\",\n\t\t\"GF\",\n\t\t\"GL\",\n\t\t\"GP\",\n\t\t\"GS\",\n\t\t\"GT\",\n\t\t\"GY\",\n\t\t\"HN\",\n\t\t\"HT\",\n\t\t\"JM\",\n\t\t\"KN\",\n\t\t\"KY\",\n\t\t\"LC\",\n\t\t\"MF\",\n\t\t\"MQ\",\n\t\t\"MS\",\n\t\t\"MX\",\n\t\t\"NI\",\n\t\t\"PA\",\n\t\t\"PE\",\n\t\t\"PM\",\n\t\t\"PR\",\n\t\t\"PY\",\n\t\t\"SR\",\n\t\t\"SV\",\n\t\t\"SX\",\n\t\t\"TC\",\n\t\t\"TT\",\n\t\t\"US\",\n\t\t\"UY\",\n\t\t\"VC\",\n\t\t\"VE\",\n\t\t\"VG\",\n\t\t\"VI\"\n\t],\n\t\"021\": [\n\t\t\"021\",\n\t\t\"BM\",\n\t\t\"CA\",\n\t\t\"GL\",\n\t\t\"PM\",\n\t\t\"US\"\n\t],\n\t\"029\": [\n\t\t\"029\",\n\t\t\"AG\",\n\t\t\"AI\",\n\t\t\"AW\",\n\t\t\"BB\",\n\t\t\"BL\",\n\t\t\"BQ\",\n\t\t\"BS\",\n\t\t\"CU\",\n\t\t\"CW\",\n\t\t\"DM\",\n\t\t\"DO\",\n\t\t\"GD\",\n\t\t\"GP\",\n\t\t\"HT\",\n\t\t\"JM\",\n\t\t\"KN\",\n\t\t\"KY\",\n\t\t\"LC\",\n\t\t\"MF\",\n\t\t\"MQ\",\n\t\t\"MS\",\n\t\t\"PR\",\n\t\t\"SX\",\n\t\t\"TC\",\n\t\t\"TT\",\n\t\t\"VC\",\n\t\t\"VG\",\n\t\t\"VI\"\n\t],\n\t\"030\": [\n\t\t\"030\",\n\t\t\"CN\",\n\t\t\"HK\",\n\t\t\"JP\",\n\t\t\"KP\",\n\t\t\"KR\",\n\t\t\"MN\",\n\t\t\"MO\",\n\t\t\"TW\"\n\t],\n\t\"034\": [\n\t\t\"034\",\n\t\t\"AF\",\n\t\t\"BD\",\n\t\t\"BT\",\n\t\t\"IN\",\n\t\t\"IR\",\n\t\t\"LK\",\n\t\t\"MV\",\n\t\t\"NP\",\n\t\t\"PK\"\n\t],\n\t\"035\": [\n\t\t\"035\",\n\t\t\"BN\",\n\t\t\"ID\",\n\t\t\"KH\",\n\t\t\"LA\",\n\t\t\"MM\",\n\t\t\"MY\",\n\t\t\"PH\",\n\t\t\"SG\",\n\t\t\"TH\",\n\t\t\"TL\",\n\t\t\"VN\"\n\t],\n\t\"039\": [\n\t\t\"039\",\n\t\t\"AD\",\n\t\t\"AL\",\n\t\t\"BA\",\n\t\t\"ES\",\n\t\t\"GI\",\n\t\t\"GR\",\n\t\t\"HR\",\n\t\t\"IT\",\n\t\t\"ME\",\n\t\t\"MK\",\n\t\t\"MT\",\n\t\t\"PT\",\n\t\t\"RS\",\n\t\t\"SI\",\n\t\t\"SM\",\n\t\t\"VA\",\n\t\t\"XK\"\n\t],\n\t\"053\": [\n\t\t\"053\",\n\t\t\"AU\",\n\t\t\"CC\",\n\t\t\"CX\",\n\t\t\"HM\",\n\t\t\"NF\",\n\t\t\"NZ\"\n\t],\n\t\"054\": [\n\t\t\"054\",\n\t\t\"FJ\",\n\t\t\"NC\",\n\t\t\"PG\",\n\t\t\"SB\",\n\t\t\"VU\"\n\t],\n\t\"057\": [\n\t\t\"057\",\n\t\t\"FM\",\n\t\t\"GU\",\n\t\t\"KI\",\n\t\t\"MH\",\n\t\t\"MP\",\n\t\t\"NR\",\n\t\t\"PW\",\n\t\t\"UM\"\n\t],\n\t\"061\": [\n\t\t\"061\",\n\t\t\"AS\",\n\t\t\"CK\",\n\t\t\"NU\",\n\t\t\"PF\",\n\t\t\"PN\",\n\t\t\"TK\",\n\t\t\"TO\",\n\t\t\"TV\",\n\t\t\"WF\",\n\t\t\"WS\"\n\t],\n\t\"142\": [\n\t\t\"030\",\n\t\t\"034\",\n\t\t\"035\",\n\t\t\"142\",\n\t\t\"143\",\n\t\t\"145\",\n\t\t\"AE\",\n\t\t\"AF\",\n\t\t\"AM\",\n\t\t\"AZ\",\n\t\t\"BD\",\n\t\t\"BH\",\n\t\t\"BN\",\n\t\t\"BT\",\n\t\t\"CN\",\n\t\t\"CY\",\n\t\t\"GE\",\n\t\t\"HK\",\n\t\t\"ID\",\n\t\t\"IL\",\n\t\t\"IN\",\n\t\t\"IQ\",\n\t\t\"IR\",\n\t\t\"JO\",\n\t\t\"JP\",\n\t\t\"KG\",\n\t\t\"KH\",\n\t\t\"KP\",\n\t\t\"KR\",\n\t\t\"KW\",\n\t\t\"KZ\",\n\t\t\"LA\",\n\t\t\"LB\",\n\t\t\"LK\",\n\t\t\"MM\",\n\t\t\"MN\",\n\t\t\"MO\",\n\t\t\"MV\",\n\t\t\"MY\",\n\t\t\"NP\",\n\t\t\"OM\",\n\t\t\"PH\",\n\t\t\"PK\",\n\t\t\"PS\",\n\t\t\"QA\",\n\t\t\"SA\",\n\t\t\"SG\",\n\t\t\"SY\",\n\t\t\"TH\",\n\t\t\"TJ\",\n\t\t\"TL\",\n\t\t\"TM\",\n\t\t\"TR\",\n\t\t\"TW\",\n\t\t\"UZ\",\n\t\t\"VN\",\n\t\t\"YE\"\n\t],\n\t\"143\": [\n\t\t\"143\",\n\t\t\"KG\",\n\t\t\"KZ\",\n\t\t\"TJ\",\n\t\t\"TM\",\n\t\t\"UZ\"\n\t],\n\t\"145\": [\n\t\t\"145\",\n\t\t\"AE\",\n\t\t\"AM\",\n\t\t\"AZ\",\n\t\t\"BH\",\n\t\t\"CY\",\n\t\t\"GE\",\n\t\t\"IL\",\n\t\t\"IQ\",\n\t\t\"JO\",\n\t\t\"KW\",\n\t\t\"LB\",\n\t\t\"OM\",\n\t\t\"PS\",\n\t\t\"QA\",\n\t\t\"SA\",\n\t\t\"SY\",\n\t\t\"TR\",\n\t\t\"YE\"\n\t],\n\t\"150\": [\n\t\t\"039\",\n\t\t\"150\",\n\t\t\"151\",\n\t\t\"154\",\n\t\t\"155\",\n\t\t\"AD\",\n\t\t\"AL\",\n\t\t\"AT\",\n\t\t\"AX\",\n\t\t\"BA\",\n\t\t\"BE\",\n\t\t\"BG\",\n\t\t\"BY\",\n\t\t\"CH\",\n\t\t\"CQ\",\n\t\t\"CZ\",\n\t\t\"DE\",\n\t\t\"DK\",\n\t\t\"EE\",\n\t\t\"ES\",\n\t\t\"FI\",\n\t\t\"FO\",\n\t\t\"FR\",\n\t\t\"GB\",\n\t\t\"GG\",\n\t\t\"GI\",\n\t\t\"GR\",\n\t\t\"HR\",\n\t\t\"HU\",\n\t\t\"IE\",\n\t\t\"IM\",\n\t\t\"IS\",\n\t\t\"IT\",\n\t\t\"JE\",\n\t\t\"LI\",\n\t\t\"LT\",\n\t\t\"LU\",\n\t\t\"LV\",\n\t\t\"MC\",\n\t\t\"MD\",\n\t\t\"ME\",\n\t\t\"MK\",\n\t\t\"MT\",\n\t\t\"NL\",\n\t\t\"NO\",\n\t\t\"PL\",\n\t\t\"PT\",\n\t\t\"RO\",\n\t\t\"RS\",\n\t\t\"RU\",\n\t\t\"SE\",\n\t\t\"SI\",\n\t\t\"SJ\",\n\t\t\"SK\",\n\t\t\"SM\",\n\t\t\"UA\",\n\t\t\"VA\",\n\t\t\"XK\"\n\t],\n\t\"151\": [\n\t\t\"151\",\n\t\t\"BG\",\n\t\t\"BY\",\n\t\t\"CZ\",\n\t\t\"HU\",\n\t\t\"MD\",\n\t\t\"PL\",\n\t\t\"RO\",\n\t\t\"RU\",\n\t\t\"SK\",\n\t\t\"UA\"\n\t],\n\t\"154\": [\n\t\t\"154\",\n\t\t\"AX\",\n\t\t\"CQ\",\n\t\t\"DK\",\n\t\t\"EE\",\n\t\t\"FI\",\n\t\t\"FO\",\n\t\t\"GB\",\n\t\t\"GG\",\n\t\t\"IE\",\n\t\t\"IM\",\n\t\t\"IS\",\n\t\t\"JE\",\n\t\t\"LT\",\n\t\t\"LV\",\n\t\t\"NO\",\n\t\t\"SE\",\n\t\t\"SJ\"\n\t],\n\t\"155\": [\n\t\t\"155\",\n\t\t\"AT\",\n\t\t\"BE\",\n\t\t\"CH\",\n\t\t\"DE\",\n\t\t\"FR\",\n\t\t\"LI\",\n\t\t\"LU\",\n\t\t\"MC\",\n\t\t\"NL\"\n\t],\n\t\"202\": [\n\t\t\"011\",\n\t\t\"014\",\n\t\t\"017\",\n\t\t\"018\",\n\t\t\"202\",\n\t\t\"AO\",\n\t\t\"BF\",\n\t\t\"BI\",\n\t\t\"BJ\",\n\t\t\"BW\",\n\t\t\"CD\",\n\t\t\"CF\",\n\t\t\"CG\",\n\t\t\"CI\",\n\t\t\"CM\",\n\t\t\"CV\",\n\t\t\"DJ\",\n\t\t\"ER\",\n\t\t\"ET\",\n\t\t\"GA\",\n\t\t\"GH\",\n\t\t\"GM\",\n\t\t\"GN\",\n\t\t\"GQ\",\n\t\t\"GW\",\n\t\t\"IO\",\n\t\t\"KE\",\n\t\t\"KM\",\n\t\t\"LR\",\n\t\t\"LS\",\n\t\t\"MG\",\n\t\t\"ML\",\n\t\t\"MR\",\n\t\t\"MU\",\n\t\t\"MW\",\n\t\t\"MZ\",\n\t\t\"NA\",\n\t\t\"NE\",\n\t\t\"NG\",\n\t\t\"RE\",\n\t\t\"RW\",\n\t\t\"SC\",\n\t\t\"SH\",\n\t\t\"SL\",\n\t\t\"SN\",\n\t\t\"SO\",\n\t\t\"SS\",\n\t\t\"ST\",\n\t\t\"SZ\",\n\t\t\"TD\",\n\t\t\"TF\",\n\t\t\"TG\",\n\t\t\"TZ\",\n\t\t\"UG\",\n\t\t\"YT\",\n\t\t\"ZA\",\n\t\t\"ZM\",\n\t\t\"ZW\"\n\t],\n\t\"419\": [\n\t\t\"005\",\n\t\t\"013\",\n\t\t\"029\",\n\t\t\"419\",\n\t\t\"AG\",\n\t\t\"AI\",\n\t\t\"AR\",\n\t\t\"AW\",\n\t\t\"BB\",\n\t\t\"BL\",\n\t\t\"BO\",\n\t\t\"BQ\",\n\t\t\"BR\",\n\t\t\"BS\",\n\t\t\"BV\",\n\t\t\"BZ\",\n\t\t\"CL\",\n\t\t\"CO\",\n\t\t\"CR\",\n\t\t\"CU\",\n\t\t\"CW\",\n\t\t\"DM\",\n\t\t\"DO\",\n\t\t\"EC\",\n\t\t\"FK\",\n\t\t\"GD\",\n\t\t\"GF\",\n\t\t\"GP\",\n\t\t\"GS\",\n\t\t\"GT\",\n\t\t\"GY\",\n\t\t\"HN\",\n\t\t\"HT\",\n\t\t\"JM\",\n\t\t\"KN\",\n\t\t\"KY\",\n\t\t\"LC\",\n\t\t\"MF\",\n\t\t\"MQ\",\n\t\t\"MS\",\n\t\t\"MX\",\n\t\t\"NI\",\n\t\t\"PA\",\n\t\t\"PE\",\n\t\t\"PR\",\n\t\t\"PY\",\n\t\t\"SR\",\n\t\t\"SV\",\n\t\t\"SX\",\n\t\t\"TC\",\n\t\t\"TT\",\n\t\t\"UY\",\n\t\t\"VC\",\n\t\t\"VE\",\n\t\t\"VG\",\n\t\t\"VI\"\n\t],\n\t\"EU\": [\n\t\t\"AT\",\n\t\t\"BE\",\n\t\t\"BG\",\n\t\t\"CY\",\n\t\t\"CZ\",\n\t\t\"DE\",\n\t\t\"DK\",\n\t\t\"EE\",\n\t\t\"ES\",\n\t\t\"EU\",\n\t\t\"FI\",\n\t\t\"FR\",\n\t\t\"GR\",\n\t\t\"HR\",\n\t\t\"HU\",\n\t\t\"IE\",\n\t\t\"IT\",\n\t\t\"LT\",\n\t\t\"LU\",\n\t\t\"LV\",\n\t\t\"MT\",\n\t\t\"NL\",\n\t\t\"PL\",\n\t\t\"PT\",\n\t\t\"RO\",\n\t\t\"SE\",\n\t\t\"SI\",\n\t\t\"SK\"\n\t],\n\t\"EZ\": [\n\t\t\"AT\",\n\t\t\"BE\",\n\t\t\"CY\",\n\t\t\"DE\",\n\t\t\"EE\",\n\t\t\"ES\",\n\t\t\"EZ\",\n\t\t\"FI\",\n\t\t\"FR\",\n\t\t\"GR\",\n\t\t\"IE\",\n\t\t\"IT\",\n\t\t\"LT\",\n\t\t\"LU\",\n\t\t\"LV\",\n\t\t\"MT\",\n\t\t\"NL\",\n\t\t\"PT\",\n\t\t\"SI\",\n\t\t\"SK\"\n\t],\n\t\"QO\": [\n\t\t\"AC\",\n\t\t\"AQ\",\n\t\t\"CP\",\n\t\t\"DG\",\n\t\t\"QO\",\n\t\t\"TA\"\n\t],\n\t\"UN\": [\n\t\t\"AD\",\n\t\t\"AE\",\n\t\t\"AF\",\n\t\t\"AG\",\n\t\t\"AL\",\n\t\t\"AM\",\n\t\t\"AO\",\n\t\t\"AR\",\n\t\t\"AT\",\n\t\t\"AU\",\n\t\t\"AZ\",\n\t\t\"BA\",\n\t\t\"BB\",\n\t\t\"BD\",\n\t\t\"BE\",\n\t\t\"BF\",\n\t\t\"BG\",\n\t\t\"BH\",\n\t\t\"BI\",\n\t\t\"BJ\",\n\t\t\"BN\",\n\t\t\"BO\",\n\t\t\"BR\",\n\t\t\"BS\",\n\t\t\"BT\",\n\t\t\"BW\",\n\t\t\"BY\",\n\t\t\"BZ\",\n\t\t\"CA\",\n\t\t\"CD\",\n\t\t\"CF\",\n\t\t\"CG\",\n\t\t\"CH\",\n\t\t\"CI\",\n\t\t\"CL\",\n\t\t\"CM\",\n\t\t\"CN\",\n\t\t\"CO\",\n\t\t\"CR\",\n\t\t\"CU\",\n\t\t\"CV\",\n\t\t\"CY\",\n\t\t\"CZ\",\n\t\t\"DE\",\n\t\t\"DJ\",\n\t\t\"DK\",\n\t\t\"DM\",\n\t\t\"DO\",\n\t\t\"DZ\",\n\t\t\"EC\",\n\t\t\"EE\",\n\t\t\"EG\",\n\t\t\"ER\",\n\t\t\"ES\",\n\t\t\"ET\",\n\t\t\"FI\",\n\t\t\"FJ\",\n\t\t\"FM\",\n\t\t\"FR\",\n\t\t\"GA\",\n\t\t\"GB\",\n\t\t\"GD\",\n\t\t\"GE\",\n\t\t\"GH\",\n\t\t\"GM\",\n\t\t\"GN\",\n\t\t\"GQ\",\n\t\t\"GR\",\n\t\t\"GT\",\n\t\t\"GW\",\n\t\t\"GY\",\n\t\t\"HN\",\n\t\t\"HR\",\n\t\t\"HT\",\n\t\t\"HU\",\n\t\t\"ID\",\n\t\t\"IE\",\n\t\t\"IL\",\n\t\t\"IN\",\n\t\t\"IQ\",\n\t\t\"IR\",\n\t\t\"IS\",\n\t\t\"IT\",\n\t\t\"JM\",\n\t\t\"JO\",\n\t\t\"JP\",\n\t\t\"KE\",\n\t\t\"KG\",\n\t\t\"KH\",\n\t\t\"KI\",\n\t\t\"KM\",\n\t\t\"KN\",\n\t\t\"KP\",\n\t\t\"KR\",\n\t\t\"KW\",\n\t\t\"KZ\",\n\t\t\"LA\",\n\t\t\"LB\",\n\t\t\"LC\",\n\t\t\"LI\",\n\t\t\"LK\",\n\t\t\"LR\",\n\t\t\"LS\",\n\t\t\"LT\",\n\t\t\"LU\",\n\t\t\"LV\",\n\t\t\"LY\",\n\t\t\"MA\",\n\t\t\"MC\",\n\t\t\"MD\",\n\t\t\"ME\",\n\t\t\"MG\",\n\t\t\"MH\",\n\t\t\"MK\",\n\t\t\"ML\",\n\t\t\"MM\",\n\t\t\"MN\",\n\t\t\"MR\",\n\t\t\"MT\",\n\t\t\"MU\",\n\t\t\"MV\",\n\t\t\"MW\",\n\t\t\"MX\",\n\t\t\"MY\",\n\t\t\"MZ\",\n\t\t\"NA\",\n\t\t\"NE\",\n\t\t\"NG\",\n\t\t\"NI\",\n\t\t\"NL\",\n\t\t\"NO\",\n\t\t\"NP\",\n\t\t\"NR\",\n\t\t\"NZ\",\n\t\t\"OM\",\n\t\t\"PA\",\n\t\t\"PE\",\n\t\t\"PG\",\n\t\t\"PH\",\n\t\t\"PK\",\n\t\t\"PL\",\n\t\t\"PT\",\n\t\t\"PW\",\n\t\t\"PY\",\n\t\t\"QA\",\n\t\t\"RO\",\n\t\t\"RS\",\n\t\t\"RU\",\n\t\t\"RW\",\n\t\t\"SA\",\n\t\t\"SB\",\n\t\t\"SC\",\n\t\t\"SD\",\n\t\t\"SE\",\n\t\t\"SG\",\n\t\t\"SI\",\n\t\t\"SK\",\n\t\t\"SL\",\n\t\t\"SM\",\n\t\t\"SN\",\n\t\t\"SO\",\n\t\t\"SR\",\n\t\t\"SS\",\n\t\t\"ST\",\n\t\t\"SV\",\n\t\t\"SY\",\n\t\t\"SZ\",\n\t\t\"TD\",\n\t\t\"TG\",\n\t\t\"TH\",\n\t\t\"TJ\",\n\t\t\"TL\",\n\t\t\"TM\",\n\t\t\"TN\",\n\t\t\"TO\",\n\t\t\"TR\",\n\t\t\"TT\",\n\t\t\"TV\",\n\t\t\"TZ\",\n\t\t\"UA\",\n\t\t\"UG\",\n\t\t\"UN\",\n\t\t\"US\",\n\t\t\"UY\",\n\t\t\"UZ\",\n\t\t\"VC\",\n\t\t\"VE\",\n\t\t\"VN\",\n\t\t\"VU\",\n\t\t\"WS\",\n\t\t\"YE\",\n\t\t\"ZA\",\n\t\t\"ZM\",\n\t\t\"ZW\"\n\t]\n};\n","import {memoize} from '@formatjs/fast-memoize'\nimport {data as jsonData} from '#packages/intl-localematcher/abstract/languageMatching.js'\nimport {regions} from '@formatjs_generated/cldr.core/regions.js'\nexport const UNICODE_EXTENSION_SEQUENCE_REGEX: RegExp =\n /-u(?:-[0-9a-z]{2,8})+/gi\n\n/**\n * Asserts that a condition is true, throwing an error if it is not.\n * Used for runtime validation and type narrowing.\n *\n * @param condition - The condition to check\n * @param message - Error message if condition is false\n * @param Err - Error constructor to use (defaults to Error)\n * @throws {Error} When condition is false\n *\n * @example\n * ```ts\n * invariant(locale !== undefined, 'Locale must be defined')\n * // locale is now narrowed to non-undefined type\n * ```\n */\nexport function invariant(\n condition: boolean,\n message: string,\n Err: any = Error\n): asserts condition {\n if (!condition) {\n throw new Err(message)\n }\n}\n\n// This is effectively 2 languages in 2 different regions in the same cluster\nconst DEFAULT_MATCHING_THRESHOLD = 838\n\ninterface LSR {\n language: string\n script: string\n region: string\n}\n\ninterface LanguageMatchInfo {\n supported: string\n desired: string\n distance: number\n oneway: boolean\n}\n\ninterface LanguageInfo {\n matches: LanguageMatchInfo[]\n matchVariables: Record<string, string[]>\n paradigmLocales: string[]\n}\n\nlet PROCESSED_DATA: LanguageInfo | undefined\n\nfunction processData(): LanguageInfo {\n if (!PROCESSED_DATA) {\n const paradigmLocales = jsonData.supplemental.languageMatching[\n 'written-new'\n ][0]?.paradigmLocales?._locales.split(' ') as any\n const matchVariables = jsonData.supplemental.languageMatching[\n 'written-new'\n ].slice(1, 5) as any[]\n const data = jsonData.supplemental.languageMatching['written-new'].slice(5)\n const matches = data.map(d => {\n const key = Object.keys(d)[0] as string\n const value = (\n d as Record<\n string,\n {\n _desired: string\n _distance: string\n oneway?: string\n }\n >\n )[key]\n return {\n supported: key,\n desired: value._desired,\n distance: +value._distance,\n oneway: value.oneway === 'true' ? true : false,\n }\n }, {})\n PROCESSED_DATA = {\n matches,\n matchVariables: matchVariables.reduce<Record<string, string[]>>(\n (all, d) => {\n const key = Object.keys(d)[0] as string\n const value = d[key]\n all[key.slice(1)] = value._value.split('+')\n return all\n },\n {}\n ),\n paradigmLocales: [\n ...paradigmLocales,\n ...paradigmLocales.map((l: string) =>\n new Intl.Locale(l.replace(/_/g, '-')).maximize().toString()\n ),\n ],\n }\n }\n\n return PROCESSED_DATA\n}\n\nfunction isMatched(\n locale: LSR,\n languageMatchInfoLocale: string,\n matchVariables: Record<string, string[]>\n): boolean {\n const [language, script, region] = languageMatchInfoLocale.split('-')\n let matches = true\n if (region && region[0] === '$') {\n const shouldInclude = region[1] !== '!'\n const matchRegions = shouldInclude\n ? matchVariables[region.slice(1)]\n : matchVariables[region.slice(2)]\n const expandedMatchedRegions = matchRegions\n .map(r => regions[r] || [r])\n .reduce((all, list) => [...all, ...list], [])\n matches &&= !(\n expandedMatchedRegions.indexOf(locale.region || '') > -1 !=\n shouldInclude\n )\n } else {\n matches &&= locale.region\n ? region === '*' || region === locale.region\n : true\n }\n matches &&= locale.script ? script === '*' || script === locale.script : true\n matches &&= locale.language\n ? language === '*' || language === locale.language\n : true\n return matches\n}\n\nfunction serializeLSR(lsr: LSR): string {\n return [lsr.language, lsr.script, lsr.region].filter(Boolean).join('-')\n}\n\nfunction findMatchingDistanceForLSR(\n desired: LSR,\n supported: LSR,\n data: LanguageInfo\n): number {\n for (const d of data.matches) {\n let matches =\n isMatched(desired, d.desired, data.matchVariables) &&\n isMatched(supported, d.supported, data.matchVariables)\n if (!d.oneway && !matches) {\n matches =\n isMatched(desired, d.supported, data.matchVariables) &&\n isMatched(supported, d.desired, data.matchVariables)\n }\n if (matches) {\n const distance = d.distance * 10\n if (\n data.paradigmLocales.indexOf(serializeLSR(desired)) > -1 !=\n data.paradigmLocales.indexOf(serializeLSR(supported)) > -1\n ) {\n return distance - 1\n }\n return distance\n }\n }\n throw new Error('No matching distance found')\n}\n\nfunction findMatchingDistanceImpl(desired: string, supported: string): number {\n const desiredLocale = new Intl.Locale(desired).maximize()\n const supportedLocale = new Intl.Locale(supported).maximize()\n const desiredLSR: LSR = {\n language: desiredLocale.language,\n script: desiredLocale.script || '',\n region: desiredLocale.region || '',\n }\n const supportedLSR: LSR = {\n language: supportedLocale.language,\n script: supportedLocale.script || '',\n region: supportedLocale.region || '',\n }\n let matchingDistance = 0\n\n const data = processData()\n\n if (desiredLSR.language !== supportedLSR.language) {\n matchingDistance += findMatchingDistanceForLSR(\n {\n language: desiredLocale.language,\n script: '',\n region: '',\n },\n {\n language: supportedLocale.language,\n script: '',\n region: '',\n },\n data\n )\n }\n\n if (desiredLSR.script !== supportedLSR.script) {\n matchingDistance += findMatchingDistanceForLSR(\n {\n language: desiredLocale.language,\n script: desiredLSR.script,\n region: '',\n },\n {\n language: supportedLocale.language,\n script: supportedLSR.script,\n region: '',\n },\n data\n )\n }\n\n if (desiredLSR.region !== supportedLSR.region) {\n matchingDistance += findMatchingDistanceForLSR(\n desiredLSR,\n supportedLSR,\n data\n )\n }\n\n return matchingDistance\n}\n\n/**\n * Calculates the matching distance between two locales using the CLDR Enhanced Language Matching algorithm.\n * This function is memoized for performance, as distance calculations are expensive.\n *\n * The distance represents how \"far apart\" two locales are, with 0 being identical (after maximization).\n * Distances are calculated based on Language-Script-Region (LSR) differences using CLDR data.\n *\n * @param desired - The desired locale (e.g., \"en-US\")\n * @param supported - The supported locale to compare against (e.g., \"en-GB\")\n * @returns The calculated distance between the locales\n *\n * @example\n * ```ts\n * findMatchingDistance('en-US', 'en-US') // 0 - identical\n * findMatchingDistance('en-US', 'en-GB') // 40 - same language/script, different region\n * findMatchingDistance('es-CO', 'es-419') // 39 - regional variant\n * findMatchingDistance('en', 'fr') // 840 - completely different languages\n * ```\n *\n * @see https://unicode.org/reports/tr35/#EnhancedLanguageMatching\n */\nexport const findMatchingDistance: (\n desired: string,\n supported: string\n) => number = memoize(findMatchingDistanceImpl, {\n serializer: (args: any[]) => `${args[0]}|${args[1]}`,\n})\n\ninterface LocaleMatchingResult {\n distances: Record<string, Record<string, number>>\n matchedSupportedLocale?: string\n matchedDesiredLocale?: string\n}\n\n/**\n * Generates fallback candidates by progressively removing subtags\n * e.g., \"en-US\" -> [\"en-US\", \"en\"]\n * \"zh-Hans-CN\" -> [\"zh-Hans-CN\", \"zh-Hans\", \"zh\"]\n */\nfunction getFallbackCandidates(locale: string): string[] {\n const candidates: string[] = []\n let current = locale\n\n while (current) {\n candidates.push(current)\n const lastDash = current.lastIndexOf('-')\n if (lastDash === -1) break\n current = current.substring(0, lastDash)\n }\n\n return candidates\n}\n\n/**\n * Finds the best locale match using a three-tier optimization hierarchy.\n *\n * ## Three-Tier Matching Algorithm:\n *\n * **Tier 1 - Fast Path** (O(n)): Exact string matching via Set lookup\n * - Example: 'en' matches 'en' exactly → distance 0\n * - Solves #4936: 48x faster than baseline (12ms vs 610ms with 700+ locales)\n *\n * **Tier 2 - Fallback Path** (O(k×n)): Maximization + progressive subtag removal\n * - Maximizes requested locale, then removes subtags right-to-left\n * - Example: \"zh-TW\" → \"zh-Hant-TW\" → [\"zh-Hant-TW\", \"zh-Hant\", \"zh\"]\n * - Distance: 0 for maximized match, 10 per removed subtag + position penalty\n * - 40-50x faster than full UTS #35, handles 99% of real-world cases correctly\n *\n * **Tier 3 - Slow Path** (O(n×m), memoized): Full UTS #35 CLDR matching\n * - Calculates Language-Script-Region distances using CLDR data\n * - Handles complex cases like cross-script matching (sr-Cyrl ↔ sr-Latn)\n * - Only used when Tiers 1 & 2 find no match\n * - Still 6x faster than baseline due to memoization\n *\n * ## Performance Impact of Maximization:\n *\n * While Tier 2 now calls `Intl.Locale().maximize()` once per requested locale,\n * this is still much faster than Tier 3's full distance calculation:\n * - Tier 1: ~12ms (exact match, no maximization)\n * - Tier 2: ~13-15ms (maximization + fallback)\n * - Tier 3: ~100ms+ (full UTS #35 with all supported locales)\n *\n * @param requestedLocales - Locale identifiers in preference order\n * @param supportedLocales - Available locale identifiers\n * @param threshold - Maximum distance (default: 838, from CLDR)\n * @returns Matching result with distances\n *\n * @example\n * ```ts\n * // Tier 1: Exact match\n * findBestMatch(['en'], ['en', 'fr'])\n * // → { matchedSupportedLocale: 'en', distances: { en: { en: 0 } } }\n *\n * // Tier 2: Fallback with maximization\n * findBestMatch(['zh-TW'], ['zh-Hant'])\n * // → zh-TW maximizes to zh-Hant-TW, falls back to zh-Hant (distance 0)\n *\n * findBestMatch(['en-US'], ['en'])\n * // → en-US maximizes to en-Latn-US, falls back to en (distance 10)\n *\n * // Tier 3: Full calculation\n * findBestMatch(['en-XZ'], ['ja', 'ko'])\n * // → No fallback match, uses UTS #35 to find closest match\n * ```\n *\n * @see https://unicode.org/reports/tr35/#EnhancedLanguageMatching\n * @see https://github.com/formatjs/formatjs/issues/4936\n */\n// WeakMap to cache canonicalized supported locales arrays\nconst canonicalizedSupportedCache = new WeakMap<readonly string[], string[]>()\n\nexport function findBestMatch(\n requestedLocales: readonly string[],\n supportedLocales: readonly string[],\n threshold: number = DEFAULT_MATCHING_THRESHOLD\n): LocaleMatchingResult {\n let lowestDistance = Infinity\n let result: LocaleMatchingResult = {\n matchedDesiredLocale: '',\n distances: {},\n }\n\n // Get or compute canonicalized supported locales (one by one to preserve indices)\n let canonicalizedSupportedLocales =\n canonicalizedSupportedCache.get(supportedLocales)\n if (!canonicalizedSupportedLocales) {\n canonicalizedSupportedLocales = supportedLocales.map(locale => {\n try {\n const canonical = Intl.getCanonicalLocales([locale])\n return canonical[0] || locale\n } catch {\n return locale\n }\n })\n canonicalizedSupportedCache.set(\n supportedLocales,\n canonicalizedSupportedLocales\n )\n }\n\n const supportedSet = new Set(canonicalizedSupportedLocales)\n\n // === TIER 1: FAST PATH - Exact Match ===\n // Check for exact matches in ALL requested locales\n // This is the fastest path and handles the majority of real-world cases\n for (let i = 0; i < requestedLocales.length; i++) {\n const desired = requestedLocales[i]\n if (supportedSet.has(desired)) {\n const distance = 0 + i * 40\n result.distances[desired] = {[desired]: distance}\n\n if (distance < lowestDistance) {\n lowestDistance = distance\n result.matchedDesiredLocale = desired\n result.matchedSupportedLocale = desired\n }\n\n // Only return immediately if this is the first requested locale (distance=0)\n // Otherwise, continue checking for potentially better matches\n if (i === 0) {\n return result\n }\n }\n }\n\n // If we found an exact match in Tier 1 (but not for first locale), check Tier 2\n // to see if there's a better fallback match with lower distance\n // If no exact match found, Tier 2 will find fallback matches\n\n // === TIER 2: FALLBACK PATH - Maximization + Progressive Subtag Removal ===\n // Try maximization-based matching before resorting to expensive Tier 3\n // This handles cases like zh-TW → zh-Hant efficiently\n for (let i = 0; i < requestedLocales.length; i++) {\n const desired = requestedLocales[i]\n\n // Maximize then fallback (for linguistic accuracy like zh-TW → zh-Hant)\n try {\n const maximized = new Intl.Locale(desired).maximize().toString()\n if (maximized !== desired) {\n const maximizedCandidates = getFallbackCandidates(maximized)\n for (let j = 0; j < maximizedCandidates.length; j++) {\n const candidate = maximizedCandidates[j]\n if (candidate === desired) continue // Already checked in Tier 1\n\n if (supportedSet.has(candidate)) {\n // Check if candidate also maximizes to the same form\n // e.g., zh-TW → zh-Hant-TW and zh-Hant → zh-Hant-TW (distance 0)\n // but es-co → es-Latn-CO and es → es-Latn-ES (distance 10)\n let distance: number\n try {\n const candidateMaximized = new Intl.Locale(candidate)\n .maximize()\n .toString()\n distance =\n candidateMaximized === maximized ? 0 + i * 40 : j * 10 + i * 40\n } catch {\n distance = j * 10 + i * 40\n }\n\n if (!result.distances[desired]) {\n result.distances[desired] = {}\n }\n result.distances[desired][candidate] = distance\n\n if (distance < lowestDistance) {\n lowestDistance = distance\n result.matchedDesiredLocale = desired\n result.matchedSupportedLocale = candidate\n }\n break // Stop after finding first maximized match\n }\n }\n }\n } catch {\n // Locale maximization failed, continue to Tier 3\n }\n }\n\n // If Tier 2 found a perfect maximized match (distance 0), return immediately (fast path)\n if (result.matchedSupportedLocale && lowestDistance === 0) {\n return result\n }\n\n // === TIER 3: SLOW PATH - Full UTS #35 Distance Calculation ===\n // Always run Tier 3 for full CLDR accuracy\n // Tier 3 may find better matches than Tier 2's fallback approach\n // findMatchingDistance is memoized, so repeated calculations are cached\n // Reset lowestDistance so Tier 3 operates independently from Tier 2's\n // heuristic distances — Tier 2 uses subtag-removal position as a proxy\n // for distance, which is not comparable to CLDR distances (e.g. Tier 2\n // assigns distance 20 to es→es-MX, but CLDR says es-419 at distance 39\n // is closer than es at distance 49).\n lowestDistance = Infinity\n requestedLocales.forEach((desired, i) => {\n if (!result.distances[desired]) {\n result.distances[desired] = {}\n }\n canonicalizedSupportedLocales.forEach((canonicalLocale, supportedIndex) => {\n const originalSupported = supportedLocales[supportedIndex]\n\n // findMatchingDistance is memoized via fast-memoize\n // Use the canonical locale for distance calculation\n const distance = findMatchingDistance(desired, canonicalLocale)\n\n // Add some weight to the distance based on the order of the supported locales\n // Add penalty for the order of the requested locales, which currently is 0 since ECMA-402\n // doesn't really have room for weighted locales like `en; q=0.1`\n const finalDistance = distance + 0 + i * 40\n\n // Store and return the original locale, not the canonical one\n // Tier 3 overwrites Tier 2 distances (Tier 3 is more accurate)\n result.distances[desired][originalSupported] = finalDistance\n if (finalDistance < lowestDistance) {\n lowestDistance = finalDistance\n result.matchedDesiredLocale = desired\n result.matchedSupportedLocale = originalSupported\n }\n })\n })\n\n if (lowestDistance >= threshold) {\n result.matchedDesiredLocale = undefined\n result.matchedSupportedLocale = undefined\n }\n\n return result\n}\n","import type {LookupMatcherResult} from '#packages/intl-localematcher/abstract/types.js'\nimport {\n UNICODE_EXTENSION_SEQUENCE_REGEX,\n findBestMatch,\n} from '#packages/intl-localematcher/abstract/utils.js'\n\n/**\n * https://tc39.es/ecma402/#sec-bestfitmatcher\n * @param availableLocales\n * @param requestedLocales\n * @param getDefaultLocale\n */\nexport function BestFitMatcher(\n availableLocales: readonly string[],\n requestedLocales: readonly string[],\n getDefaultLocale: () => string\n): LookupMatcherResult {\n let foundLocale: string | undefined\n let extension: string | undefined\n const noExtensionLocales: string[] = []\n const noExtensionLocaleMap = requestedLocales.reduce<Record<string, string>>(\n (all, l) => {\n const noExtensionLocale = l.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, '')\n noExtensionLocales.push(noExtensionLocale)\n all[noExtensionLocale] = l\n return all\n },\n {}\n )\n\n const result = findBestMatch(noExtensionLocales, availableLocales)\n if (result.matchedSupportedLocale && result.matchedDesiredLocale) {\n foundLocale = result.matchedSupportedLocale\n extension =\n noExtensionLocaleMap[result.matchedDesiredLocale].slice(\n result.matchedDesiredLocale.length\n ) || undefined\n }\n\n if (!foundLocale) {\n return {locale: getDefaultLocale()}\n }\n\n return {\n locale: foundLocale,\n extension,\n }\n}\n","import {invariant} from '#packages/intl-localematcher/abstract/utils.js'\n\nexport function CanonicalizeUValue(ukey: string, uvalue: string): string {\n // TODO: Implement algorithm for CanonicalizeUValue per https://tc39.es/ecma402/#sec-canonicalizeuvalue\n let lowerValue = uvalue.toLowerCase()\n invariant(ukey !== undefined, `ukey must be defined`)\n let canonicalized = lowerValue\n return canonicalized\n}\n","export function CanonicalizeUnicodeLocaleId(locale: string): string {\n return Intl.getCanonicalLocales(locale)[0]\n}\n","import {CanonicalizeUnicodeLocaleId} from '#packages/intl-localematcher/abstract/CanonicalizeUnicodeLocaleId.js'\nimport type {Keyword} from '#packages/intl-localematcher/abstract/types.js'\nimport {invariant} from '#packages/intl-localematcher/abstract/utils.js'\n\nexport function InsertUnicodeExtensionAndCanonicalize(\n locale: string,\n attributes: string[],\n keywords: Array<Keyword>\n): string {\n invariant(\n locale.indexOf('-u-') === -1,\n 'Expected locale to not have a Unicode locale extension'\n )\n let extension = '-u'\n for (const attr of attributes) {\n extension += `-${attr}`\n }\n for (const kw of keywords) {\n const {key, value} = kw\n extension += `-${key}`\n if (value !== '') {\n extension += `-${value}`\n }\n }\n if (extension === '-u') {\n return CanonicalizeUnicodeLocaleId(locale)\n }\n let privateIndex = locale.indexOf('-x-')\n let newLocale\n if (privateIndex === -1) {\n newLocale = locale + extension\n } else {\n let preExtension = locale.slice(0, privateIndex)\n let postExtension = locale.slice(privateIndex)\n newLocale = preExtension + extension + postExtension\n }\n return CanonicalizeUnicodeLocaleId(newLocale)\n}\n","// Cache for Set conversions to avoid repeated array->Set conversions\nconst availableLocalesSetCache = new WeakMap<readonly string[], Set<string>>()\n\n/**\n * https://tc39.es/ecma402/#sec-bestavailablelocale\n * @param availableLocales\n * @param locale\n */\nexport function BestAvailableLocale(\n availableLocales: readonly string[],\n locale: string\n): string | undefined {\n // Fast path: use Set for O(1) lookups instead of O(n) indexOf\n let availableSet = availableLocalesSetCache.get(availableLocales)\n if (!availableSet) {\n availableSet = new Set(availableLocales)\n availableLocalesSetCache.set(availableLocales, availableSet)\n }\n\n let candidate = locale\n while (true) {\n if (availableSet.has(candidate)) {\n return candidate\n }\n let pos = candidate.lastIndexOf('-')\n if (!~pos) {\n return undefined\n }\n if (pos >= 2 && candidate[pos - 2] === '-') {\n pos -= 2\n }\n candidate = candidate.slice(0, pos)\n }\n}\n","import {BestAvailableLocale} from '#packages/intl-localematcher/abstract/BestAvailableLocale.js'\nimport type {LookupMatcherResult} from '#packages/intl-localematcher/abstract/types.js'\nimport {UNICODE_EXTENSION_SEQUENCE_REGEX} from '#packages/intl-localematcher/abstract/utils.js'\n\n/**\n * https://tc39.es/ecma402/#sec-lookupmatcher\n * @param availableLocales\n * @param requestedLocales\n * @param getDefaultLocale\n */\nexport function LookupMatcher(\n availableLocales: readonly string[],\n requestedLocales: readonly string[],\n getDefaultLocale: () => string\n): LookupMatcherResult {\n const result: LookupMatcherResult = {locale: ''}\n for (const locale of requestedLocales) {\n const noExtensionLocale = locale.replace(\n UNICODE_EXTENSION_SEQUENCE_REGEX,\n ''\n )\n const availableLocale = BestAvailableLocale(\n availableLocales,\n noExtensionLocale\n )\n if (availableLocale) {\n result.locale = availableLocale\n if (locale !== noExtensionLocale) {\n result.extension = locale.slice(noExtensionLocale.length, locale.length)\n }\n return result\n }\n }\n result.locale = getDefaultLocale()\n return result\n}\n","import type {Keyword} from '#packages/intl-localematcher/abstract/types.js'\nimport {invariant} from '#packages/intl-localematcher/abstract/utils.js'\n\nexport function UnicodeExtensionComponents(extension: string): {\n attributes: string[]\n keywords: Array<Keyword>\n} {\n invariant(\n extension === extension.toLowerCase(),\n 'Expected extension to be lowercase'\n )\n invariant(\n extension.slice(0, 3) === '-u-',\n 'Expected extension to be a Unicode locale extension'\n )\n const attributes: string[] = []\n const keywords: Array<Keyword> = []\n let keyword: Keyword | undefined\n let size = extension.length\n let k = 3\n while (k < size) {\n let e = extension.indexOf('-', k)\n let len\n if (e === -1) {\n len = size - k\n } else {\n len = e - k\n }\n let subtag = extension.slice(k, k + len)\n invariant(len >= 2, 'Expected a subtag to have at least 2 characters')\n if (keyword === undefined && len != 2) {\n if (attributes.indexOf(subtag) === -1) {\n attributes.push(subtag)\n }\n } else if (len === 2) {\n keyword = {key: subtag, value: ''}\n if (keywords.find(k => k.key === keyword?.key) === undefined) {\n keywords.push(keyword)\n }\n } else if (keyword?.value === '') {\n keyword.value = subtag\n } else {\n invariant(keyword !== undefined, 'Expected keyword to be defined')\n keyword.value += '-' + subtag\n }\n k += len + 1\n }\n return {attributes, keywords}\n}\n","import {BestFitMatcher} from '#packages/intl-localematcher/abstract/BestFitMatcher.js'\nimport {CanonicalizeUValue} from '#packages/intl-localematcher/abstract/CanonicalizeUValue.js'\nimport {InsertUnicodeExtensionAndCanonicalize} from '#packages/intl-localematcher/abstract/InsertUnicodeExtensionAndCanonicalize.js'\nimport {LookupMatcher} from '#packages/intl-localematcher/abstract/LookupMatcher.js'\nimport {UnicodeExtensionComponents} from '#packages/intl-localematcher/abstract/UnicodeExtensionComponents.js'\nimport type {\n Keyword,\n LookupMatcherResult,\n} from '#packages/intl-localematcher/abstract/types.js'\nimport {invariant} from '#packages/intl-localematcher/abstract/utils.js'\n\nexport interface ResolveLocaleResult {\n locale: string\n dataLocale: string\n [k: string]: any\n}\n\n/**\n * https://tc39.es/ecma402/#sec-resolvelocale\n */\nexport function ResolveLocale<K extends string, D extends {[k in K]: any}>(\n availableLocales: Set<string> | readonly string[],\n requestedLocales: readonly string[],\n options: {\n localeMatcher: string\n [k: string]: string\n },\n relevantExtensionKeys: K[],\n localeData: Record<string, D | undefined>,\n getDefaultLocale: () => string\n): ResolveLocaleResult {\n const matcher = options.localeMatcher\n let r: LookupMatcherResult\n if (matcher === 'lookup') {\n r = LookupMatcher(\n Array.from(availableLocales),\n requestedLocales,\n getDefaultLocale\n )\n } else {\n r = BestFitMatcher(\n Array.from(availableLocales),\n requestedLocales,\n getDefaultLocale\n )\n }\n if (r == null) {\n r = {\n locale: getDefaultLocale(),\n extension: '',\n }\n }\n let foundLocale = r.locale\n let foundLocaleData = localeData[foundLocale]\n // TODO: We can't really guarantee that the locale data is available\n // invariant(\n // foundLocaleData !== undefined,\n // `Missing locale data for ${foundLocale}`\n // )\n const result: ResolveLocaleResult = {locale: 'en', dataLocale: foundLocale}\n let components\n let keywords: Keyword[]\n if (r.extension) {\n components = UnicodeExtensionComponents(r.extension)\n keywords = components.keywords\n } else {\n keywords = []\n }\n let supportedKeywords: Keyword[] = []\n for (const key of relevantExtensionKeys) {\n // TODO: Shouldn't default to empty array, see TODO above\n let keyLocaleData: string[] = foundLocaleData?.[key] ?? []\n invariant(\n Array.isArray(keyLocaleData),\n `keyLocaleData for ${key} must be an array`\n )\n let value = keyLocaleData[0]\n invariant(\n value === undefined || typeof value === 'string',\n `value must be a string or undefined`\n )\n let supportedKeyword: Keyword | undefined\n let entry = keywords.find(k => k.key === key)\n if (entry) {\n let requestedValue = entry.value\n if (requestedValue !== '') {\n if (keyLocaleData.indexOf(requestedValue) > -1) {\n value = requestedValue\n supportedKeyword = {\n key,\n value,\n }\n }\n } else if (keyLocaleData.indexOf('true') > -1) {\n value = 'true'\n supportedKeyword = {\n key,\n value,\n }\n }\n }\n\n let optionsValue = options[key]\n invariant(\n optionsValue == null || typeof optionsValue === 'string',\n `optionsValue must be a string or undefined`\n )\n if (typeof optionsValue === 'string') {\n let ukey = key.toLowerCase()\n optionsValue = CanonicalizeUValue(ukey, optionsValue)\n if (optionsValue === '') {\n optionsValue = 'true'\n }\n }\n if (optionsValue !== value && keyLocaleData.indexOf(optionsValue) > -1) {\n value = optionsValue\n supportedKeyword = undefined\n }\n if (supportedKeyword) {\n supportedKeywords.push(supportedKeyword)\n }\n result[key] = value\n }\n let supportedAttributes: string[] = []\n if (supportedKeywords.length > 0) {\n supportedAttributes = []\n foundLocale = InsertUnicodeExtensionAndCanonicalize(\n foundLocale,\n supportedAttributes,\n supportedKeywords\n )\n }\n\n result.locale = foundLocale\n return result\n}\n","import {BestAvailableLocale} from '#packages/intl-localematcher/abstract/BestAvailableLocale.js'\nimport {UNICODE_EXTENSION_SEQUENCE_REGEX} from '#packages/intl-localematcher/abstract/utils.js'\n\n/**\n * https://tc39.es/ecma402/#sec-lookupsupportedlocales\n * @param availableLocales\n * @param requestedLocales\n */\nexport function LookupSupportedLocales(\n availableLocales: string[],\n requestedLocales: string[]\n): string[] {\n const subset: string[] = []\n for (const locale of requestedLocales) {\n const noExtensionLocale = locale.replace(\n UNICODE_EXTENSION_SEQUENCE_REGEX,\n ''\n )\n const availableLocale = BestAvailableLocale(\n availableLocales,\n noExtensionLocale\n )\n if (availableLocale) {\n subset.push(availableLocale)\n }\n }\n return subset\n}\n","import {CanonicalizeLocaleList} from '#packages/intl-localematcher/abstract/CanonicalizeLocaleList.js'\nimport {ResolveLocale} from '#packages/intl-localematcher/abstract/ResolveLocale.js'\n\nexport interface Opts {\n algorithm: 'lookup' | 'best fit'\n}\n\nexport function match(\n requestedLocales: readonly string[],\n availableLocales: readonly string[],\n defaultLocale: string,\n opts?: Opts\n): string {\n return ResolveLocale(\n availableLocales,\n CanonicalizeLocaleList(requestedLocales),\n {\n localeMatcher: opts?.algorithm || 'best fit',\n },\n [],\n {},\n () => defaultLocale\n ).locale\n}\n\nexport {LookupSupportedLocales} from '#packages/intl-localematcher/abstract/LookupSupportedLocales.js'\nexport {ResolveLocale} from '#packages/intl-localematcher/abstract/ResolveLocale.js'\n"],"x_google_ignoreList":[2],"mappings":";;;;;;AAIA,SAAgB,uBACd,SACU;CACV,OAAO,KAAK,oBAAoB,OAAO;AACzC;;;ACRA,MAAa,OAAO,EAClB,cAAc,EACZ,kBAAkB,EAChB,eAAe;CACb,EACE,iBAAiB,EACf,UAAU,iCACZ,EACF;CACA,EACE,OAAO,EACL,QAAQ,gCACV,EACF;CACA,EACE,QAAQ,EACN,QAAQ,QACV,EACF;CACA,EACE,WAAW,EACT,QAAQ,MACV,EACF;CACA,EACE,UAAU,EACR,QAAQ,oBACV,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;CACb,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;CACb,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;CACb,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;CACb,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;CACb,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;CACb,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;CACb,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;CACb,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,KAAK;EACH,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;CACb,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;CACb,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;CACb,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,KAAK;EACH,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,KAAK;EACH,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,KAAK;EACH,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,KAAK;EACH,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,KAAK;EACH,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,KAAK;EACH,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,KAAK;EACH,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,KAAK;EACH,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,KAAK;EACH,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,KAAK;EACH,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,KAAK;EACH,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,KAAK;EACH,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,KAAK;EACH,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,KAAK;EACH,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,KAAK;EACH,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,KAAK;EACH,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,KAAK;EACH,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,KAAK;EACH,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,KAAK;EACH,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,KAAK;EACH,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,KAAK;EACH,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,KAAK;EACH,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,KAAK;EACH,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,KAAK;EACH,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,IAAI;EACF,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,KAAK;EACH,UAAU;EACV,WAAW;CACb,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;CACb,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;EACX,SAAS;CACX,EACF;CACA,EACE,OAAO;EACL,UAAU;EACV,WAAW;CACb,EACF;CACA,EACE,iBAAiB;EACf,UAAU;EACV,WAAW;CACb,EACF;CACA,EACE,kBAAkB;EAChB,UAAU;EACV,WAAW;CACb,EACF;CACA,EACE,UAAU;EACR,UAAU;EACV,WAAW;CACb,EACF;CACA,EACE,cAAc;EACZ,UAAU;EACV,WAAW;CACb,EACF;CACA,EACE,WAAW;EACT,UAAU;EACV,WAAW;CACb,EACF;CACA,EACE,eAAe;EACb,UAAU;EACV,WAAW;CACb,EACF;CACA,EACE,UAAU;EACR,UAAU;EACV,WAAW;CACb,EACF;CACA,EACE,kBAAkB;EAChB,UAAU;EACV,WAAW;CACb,EACF;CACA,EACE,mBAAmB;EACjB,UAAU;EACV,WAAW;CACb,EACF;CACA,EACE,UAAU;EACR,UAAU;EACV,WAAW;CACb,EACF;CACA,EACE,kBAAkB;EAChB,UAAU;EACV,WAAW;CACb,EACF;CACA,EACE,mBAAmB;EACjB,UAAU;EACV,WAAW;CACb,EACF;CACA,EACE,UAAU;EACR,UAAU;EACV,WAAW;CACb,EACF;CACA,EACE,kBAAkB;EAChB,UAAU;EACV,WAAW;CACb,EACF;CACA,EACE,mBAAmB;EACjB,UAAU;EACV,WAAW;CACb,EACF;CACA,EACE,aAAa;EACX,UAAU;EACV,WAAW;CACb,EACF;CACA,EACE,SAAS;EACP,UAAU;EACV,WAAW;CACb,EACF;AACF,EACF,EACF,EACF;;;AC1jFA,MAAa,UAAU;CACtB,OAAO;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD;CACA,OAAO;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD;CACA,OAAO;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD;CACA,OAAO;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD;CACA,OAAO;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD;CACA,OAAO;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD;CACA,OAAO;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD;CACA,OAAO;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD;CACA,OAAO;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD;CACA,OAAO;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD;CACA,OAAO;EACN;EACA;EACA;EACA;EACA;EACA;CACD;CACA,OAAO;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD;CACA,OAAO;EACN;EACA;EACA;EACA;EACA;EACA;CACD;CACA,OAAO;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD;CACA,OAAO;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD;CACA,OAAO;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD;CACA,OAAO;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD;CACA,OAAO;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD;CACA,OAAO;EACN;EACA;EACA;EACA;EACA;EACA;EACA;CACD;CACA,OAAO;EACN;EACA;EACA;EACA;EACA;EACA;CACD;CACA,OAAO;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD;CACA,OAAO;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD;CACA,OAAO;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD;CACA,OAAO;EACN;EACA;EACA;EACA;EACA;EACA;CACD;CACA,OAAO;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD;CACA,OAAO;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD;CACA,OAAO;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD;CACA,OAAO;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD;CACA,OAAO;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD;CACA,OAAO;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD;CACA,OAAO;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD;CACA,MAAM;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD;CACA,MAAM;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD;CACA,MAAM;EACL;EACA;EACA;EACA;EACA;EACA;CACD;CACA,MAAM;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD;AACD;;;AClzCA,MAAa,mCACX;;;;;;;;;;;;;;;;AAiBF,SAAgB,UACd,WACA,SACA,MAAW,OACQ;CACnB,IAAI,CAAC,WACH,MAAM,IAAI,IAAI,OAAO;AAEzB;AAGA,MAAM,6BAA6B;AAqBnC,IAAI;AA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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@common.js/formatjs__intl-localematcher",
|
|
3
|
+
"version": "0.8.10",
|
|
4
|
+
"description": "@formatjs/intl-localematcher package exported as CommonJS modules",
|
|
5
|
+
"homepage": "https://github.com/etienne-martin/common.js#readme",
|
|
6
|
+
"bugs": "https://github.com/formatjs/formatjs/issues",
|
|
7
|
+
"license": "MIT",
|
|
8
|
+
"repository": "etienne-martin/common.js",
|
|
9
|
+
"type": "commonjs",
|
|
10
|
+
"sideEffects": false,
|
|
11
|
+
"types": "index.d.ts",
|
|
12
|
+
"dependencies": {
|
|
13
|
+
"@common.js/formatjs__fast-memoize": "3.1.6"
|
|
14
|
+
},
|
|
15
|
+
"scripts": {},
|
|
16
|
+
"main": "./index.js"
|
|
17
|
+
}
|