{"version":3,"file":"main-js-CFcmlyDq.js","sources":["../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/metadata.min.json.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/min/exports/withMetadataArgument.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/es6/tools/semver-compare.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/es6/helpers/isObject.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/es6/metadata.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/es6/helpers/checkNumberLength.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/es6/isPossible.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/es6/helpers/matchesEntirely.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/es6/helpers/getNumberType.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/es6/isValid.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/es6/helpers/getPossibleCountriesForNumber.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/es6/constants.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/es6/helpers/stripIddPrefix.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/es6/helpers/extractNationalNumberFromPossiblyIncompleteNumber.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/es6/helpers/getCountryByNationalNumber.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/es6/helpers/getCountryByCallingCode.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/es6/helpers/extractNationalNumber.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCode.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/es6/helpers/applyInternationalSeparatorStyle.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/es6/helpers/formatNationalNumberUsingFormat.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/es6/helpers/getIddPrefix.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/es6/helpers/extension/createExtensionPattern.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/es6/helpers/isViablePhoneNumber.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/es6/helpers/RFC3966.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/es6/format.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/es6/PhoneNumber.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/es6/ParseError.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/es6/helpers/extension/extractExtension.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/es6/helpers/parseDigits.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/es6/parseIncompletePhoneNumber.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/es6/helpers/extractPhoneContext.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/es6/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/es6/parse.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/es6/parsePhoneNumberWithError_.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/es6/normalizeArguments.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/es6/parsePhoneNumberWithError.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/es6/getCountries.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/es6/getExampleNumber.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/min/exports/parsePhoneNumberWithError.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/min/exports/getCountries.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/min/exports/getCountryCallingCode.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/min/exports/getExampleNumber.js","../../../node_modules/.pnpm/libphonenumber-js@1.12.36/node_modules/libphonenumber-js/examples.mobile.json.js","../../../assets/scripts/form.ts","../../../node_modules/.pnpm/slim-select@3.4.0/node_modules/slim-select/dist/slimselect.es.js","../../../assets/scripts/phone.ts","../../../node_modules/.pnpm/iconify-icon@3.0.2/node_modules/iconify-icon/dist/iconify-icon.mjs","../../../assets/scripts/main.ts"],"sourcesContent":["// This file is a workaround for a bug in web browsers' \"native\"\n// ES6 importing system which is uncapable of importing \"*.json\" files.\n// https://github.com/catamphetamine/libphonenumber-js/issues/239\nexport default {\"version\":4,\"country_calling_codes\":{\"1\":[\"US\",\"AG\",\"AI\",\"AS\",\"BB\",\"BM\",\"BS\",\"CA\",\"DM\",\"DO\",\"GD\",\"GU\",\"JM\",\"KN\",\"KY\",\"LC\",\"MP\",\"MS\",\"PR\",\"SX\",\"TC\",\"TT\",\"VC\",\"VG\",\"VI\"],\"7\":[\"RU\",\"KZ\"],\"20\":[\"EG\"],\"27\":[\"ZA\"],\"30\":[\"GR\"],\"31\":[\"NL\"],\"32\":[\"BE\"],\"33\":[\"FR\"],\"34\":[\"ES\"],\"36\":[\"HU\"],\"39\":[\"IT\",\"VA\"],\"40\":[\"RO\"],\"41\":[\"CH\"],\"43\":[\"AT\"],\"44\":[\"GB\",\"GG\",\"IM\",\"JE\"],\"45\":[\"DK\"],\"46\":[\"SE\"],\"47\":[\"NO\",\"SJ\"],\"48\":[\"PL\"],\"49\":[\"DE\"],\"51\":[\"PE\"],\"52\":[\"MX\"],\"53\":[\"CU\"],\"54\":[\"AR\"],\"55\":[\"BR\"],\"56\":[\"CL\"],\"57\":[\"CO\"],\"58\":[\"VE\"],\"60\":[\"MY\"],\"61\":[\"AU\",\"CC\",\"CX\"],\"62\":[\"ID\"],\"63\":[\"PH\"],\"64\":[\"NZ\"],\"65\":[\"SG\"],\"66\":[\"TH\"],\"81\":[\"JP\"],\"82\":[\"KR\"],\"84\":[\"VN\"],\"86\":[\"CN\"],\"90\":[\"TR\"],\"91\":[\"IN\"],\"92\":[\"PK\"],\"93\":[\"AF\"],\"94\":[\"LK\"],\"95\":[\"MM\"],\"98\":[\"IR\"],\"211\":[\"SS\"],\"212\":[\"MA\",\"EH\"],\"213\":[\"DZ\"],\"216\":[\"TN\"],\"218\":[\"LY\"],\"220\":[\"GM\"],\"221\":[\"SN\"],\"222\":[\"MR\"],\"223\":[\"ML\"],\"224\":[\"GN\"],\"225\":[\"CI\"],\"226\":[\"BF\"],\"227\":[\"NE\"],\"228\":[\"TG\"],\"229\":[\"BJ\"],\"230\":[\"MU\"],\"231\":[\"LR\"],\"232\":[\"SL\"],\"233\":[\"GH\"],\"234\":[\"NG\"],\"235\":[\"TD\"],\"236\":[\"CF\"],\"237\":[\"CM\"],\"238\":[\"CV\"],\"239\":[\"ST\"],\"240\":[\"GQ\"],\"241\":[\"GA\"],\"242\":[\"CG\"],\"243\":[\"CD\"],\"244\":[\"AO\"],\"245\":[\"GW\"],\"246\":[\"IO\"],\"247\":[\"AC\"],\"248\":[\"SC\"],\"249\":[\"SD\"],\"250\":[\"RW\"],\"251\":[\"ET\"],\"252\":[\"SO\"],\"253\":[\"DJ\"],\"254\":[\"KE\"],\"255\":[\"TZ\"],\"256\":[\"UG\"],\"257\":[\"BI\"],\"258\":[\"MZ\"],\"260\":[\"ZM\"],\"261\":[\"MG\"],\"262\":[\"RE\",\"YT\"],\"263\":[\"ZW\"],\"264\":[\"NA\"],\"265\":[\"MW\"],\"266\":[\"LS\"],\"267\":[\"BW\"],\"268\":[\"SZ\"],\"269\":[\"KM\"],\"290\":[\"SH\",\"TA\"],\"291\":[\"ER\"],\"297\":[\"AW\"],\"298\":[\"FO\"],\"299\":[\"GL\"],\"350\":[\"GI\"],\"351\":[\"PT\"],\"352\":[\"LU\"],\"353\":[\"IE\"],\"354\":[\"IS\"],\"355\":[\"AL\"],\"356\":[\"MT\"],\"357\":[\"CY\"],\"358\":[\"FI\",\"AX\"],\"359\":[\"BG\"],\"370\":[\"LT\"],\"371\":[\"LV\"],\"372\":[\"EE\"],\"373\":[\"MD\"],\"374\":[\"AM\"],\"375\":[\"BY\"],\"376\":[\"AD\"],\"377\":[\"MC\"],\"378\":[\"SM\"],\"380\":[\"UA\"],\"381\":[\"RS\"],\"382\":[\"ME\"],\"383\":[\"XK\"],\"385\":[\"HR\"],\"386\":[\"SI\"],\"387\":[\"BA\"],\"389\":[\"MK\"],\"420\":[\"CZ\"],\"421\":[\"SK\"],\"423\":[\"LI\"],\"500\":[\"FK\"],\"501\":[\"BZ\"],\"502\":[\"GT\"],\"503\":[\"SV\"],\"504\":[\"HN\"],\"505\":[\"NI\"],\"506\":[\"CR\"],\"507\":[\"PA\"],\"508\":[\"PM\"],\"509\":[\"HT\"],\"590\":[\"GP\",\"BL\",\"MF\"],\"591\":[\"BO\"],\"592\":[\"GY\"],\"593\":[\"EC\"],\"594\":[\"GF\"],\"595\":[\"PY\"],\"596\":[\"MQ\"],\"597\":[\"SR\"],\"598\":[\"UY\"],\"599\":[\"CW\",\"BQ\"],\"670\":[\"TL\"],\"672\":[\"NF\"],\"673\":[\"BN\"],\"674\":[\"NR\"],\"675\":[\"PG\"],\"676\":[\"TO\"],\"677\":[\"SB\"],\"678\":[\"VU\"],\"679\":[\"FJ\"],\"680\":[\"PW\"],\"681\":[\"WF\"],\"682\":[\"CK\"],\"683\":[\"NU\"],\"685\":[\"WS\"],\"686\":[\"KI\"],\"687\":[\"NC\"],\"688\":[\"TV\"],\"689\":[\"PF\"],\"690\":[\"TK\"],\"691\":[\"FM\"],\"692\":[\"MH\"],\"850\":[\"KP\"],\"852\":[\"HK\"],\"853\":[\"MO\"],\"855\":[\"KH\"],\"856\":[\"LA\"],\"880\":[\"BD\"],\"886\":[\"TW\"],\"960\":[\"MV\"],\"961\":[\"LB\"],\"962\":[\"JO\"],\"963\":[\"SY\"],\"964\":[\"IQ\"],\"965\":[\"KW\"],\"966\":[\"SA\"],\"967\":[\"YE\"],\"968\":[\"OM\"],\"970\":[\"PS\"],\"971\":[\"AE\"],\"972\":[\"IL\"],\"973\":[\"BH\"],\"974\":[\"QA\"],\"975\":[\"BT\"],\"976\":[\"MN\"],\"977\":[\"NP\"],\"992\":[\"TJ\"],\"993\":[\"TM\"],\"994\":[\"AZ\"],\"995\":[\"GE\"],\"996\":[\"KG\"],\"998\":[\"UZ\"]},\"countries\":{\"AC\":[\"247\",\"00\",\"(?:[01589]\\\\d|[46])\\\\d{4}\",[5,6]],\"AD\":[\"376\",\"00\",\"(?:1|6\\\\d)\\\\d{7}|[135-9]\\\\d{5}\",[6,8,9],[[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"[135-9]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"1\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6\"]]]],\"AE\":[\"971\",\"00\",\"(?:[4-7]\\\\d|9[0-689])\\\\d{7}|800\\\\d{2,9}|[2-4679]\\\\d{7}\",[5,6,7,8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{2,9})\",\"$1 $2\",[\"60|8\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[236]|[479][2-8]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{5})\",\"$1 $2 $3\",[\"[479]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"5\"],\"0$1\"]],\"0\"],\"AF\":[\"93\",\"00\",\"[2-7]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-7]\"],\"0$1\"]],\"0\"],\"AG\":[\"1\",\"011\",\"(?:268|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([457]\\\\d{6})$|1\",\"268$1\",0,\"268\"],\"AI\":[\"1\",\"011\",\"(?:264|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2457]\\\\d{6})$|1\",\"264$1\",0,\"264\"],\"AL\":[\"355\",\"00\",\"(?:700\\\\d\\\\d|900)\\\\d{3}|8\\\\d{5,7}|(?:[2-5]|6\\\\d)\\\\d{7}\",[6,7,8,9],[[\"(\\\\d{3})(\\\\d{3,4})\",\"$1 $2\",[\"80|9\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"4[2-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2358][2-5]|4\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[23578]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"6\"],\"0$1\"]],\"0\"],\"AM\":[\"374\",\"00\",\"(?:[1-489]\\\\d|55|60|77)\\\\d{6}\",[8],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]0\"],\"0 $1\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"2|3[12]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"1|47\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[3-9]\"],\"0$1\"]],\"0\"],\"AO\":[\"244\",\"00\",\"[29]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[29]\"]]]],\"AR\":[\"54\",\"00\",\"(?:11|[89]\\\\d\\\\d)\\\\d{8}|[2368]\\\\d{9}\",[10,11],[[\"(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\"$1 $2-$3\",[\"2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])\",\"2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)\",\"2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]\",\"2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]\"],\"0$1\",1],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2-$3\",[\"1\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[68]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2-$3\",[\"[23]\"],\"0$1\",1],[\"(\\\\d)(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\"$2 15-$3-$4\",[\"9(?:2[2-469]|3[3-578])\",\"9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))\",\"9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)\",\"9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]\",\"9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]\"],\"0$1\",0,\"$1 $2 $3-$4\"],[\"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$2 15-$3-$4\",[\"91\"],\"0$1\",0,\"$1 $2 $3-$4\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\",\"$1-$2-$3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$2 15-$3-$4\",[\"9\"],\"0$1\",0,\"$1 $2 $3-$4\"]],\"0\",0,\"0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?\",\"9$1\"],\"AS\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|684|900)\\\\d{7}\",[10],0,\"1\",0,\"([267]\\\\d{6})$|1\",\"684$1\",0,\"684\"],\"AT\":[\"43\",\"00\",\"1\\\\d{3,12}|2\\\\d{6,12}|43(?:(?:0\\\\d|5[02-9])\\\\d{3,9}|2\\\\d{4,5}|[3467]\\\\d{4}|8\\\\d{4,6}|9\\\\d{4,7})|5\\\\d{4,12}|8\\\\d{7,12}|9\\\\d{8,12}|(?:[367]\\\\d|4[0-24-9])\\\\d{4,11}\",[4,5,6,7,8,9,10,11,12,13],[[\"(\\\\d)(\\\\d{3,12})\",\"$1 $2\",[\"1(?:11|[2-9])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})\",\"$1 $2\",[\"517\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,5})\",\"$1 $2\",[\"5[079]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,10})\",\"$1 $2\",[\"(?:31|4)6|51|6(?:48|5[0-3579]|[6-9])|7(?:20|32|8)|[89]\",\"(?:31|4)6|51|6(?:485|5[0-3579]|[6-9])|7(?:20|32|8)|[89]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3,9})\",\"$1 $2\",[\"[2-467]|5[2-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"5\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4,7})\",\"$1 $2 $3\",[\"5\"],\"0$1\"]],\"0\"],\"AU\":[\"61\",\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"1(?:[0-79]\\\\d{7}(?:\\\\d(?:\\\\d{2})?)?|8[0-24-9]\\\\d{7})|[2-478]\\\\d{8}|1\\\\d{4,7}\",[5,6,7,8,9,10,12],[[\"(\\\\d{2})(\\\\d{3,4})\",\"$1 $2\",[\"16\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,4})\",\"$1 $2 $3\",[\"16\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"14|4\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[2378]\"],\"(0$1)\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1(?:30|[89])\"]]],\"0\",0,\"(183[12])|0\",0,0,0,[[\"(?:(?:241|349)0\\\\d\\\\d|8(?:51(?:0(?:0[03-9]|[12479]\\\\d|3[2-9]|5[0-8]|6[1-9]|8[0-7])|1(?:[0235689]\\\\d|1[0-69]|4[0-589]|7[0-47-9])|2(?:0[0-79]|[18][13579]|2[14-9]|3[0-46-9]|[4-6]\\\\d|7[89]|9[0-4])|[34]\\\\d\\\\d)|91(?:(?:[0-58]\\\\d|6[0135-9])\\\\d|7(?:0[0-24-9]|[1-9]\\\\d)|9(?:[0-46-9]\\\\d|5[0-79]))))\\\\d{3}|(?:2(?:[0-26-9]\\\\d|3[0-8]|4[02-9]|5[0135-9])|3(?:[0-3589]\\\\d|4[0-578]|6[1-9]|7[0-35-9])|7(?:[013-57-9]\\\\d|2[0-8])|8(?:55|6[0-8]|[78]\\\\d|9[02-9]))\\\\d{6}\",[9]],[\"4(?:79[01]|83[0-36-9]|95[0-3])\\\\d{5}|4(?:[0-36]\\\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\\\d{6}\",[9]],[\"180(?:0\\\\d{3}|2)\\\\d{3}\",[7,10]],[\"190[0-26]\\\\d{6}\",[10]],0,0,0,[\"163\\\\d{2,6}\",[5,6,7,8,9]],[\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\",[9]],[\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\",[6,8,10,12]]],\"0011\"],\"AW\":[\"297\",\"00\",\"(?:[25-79]\\\\d\\\\d|800)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[25-9]\"]]]],\"AX\":[\"358\",\"00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))\",\"2\\\\d{4,9}|35\\\\d{4,5}|(?:60\\\\d\\\\d|800)\\\\d{4,6}|7\\\\d{5,11}|(?:[14]\\\\d|3[0-46-9]|50)\\\\d{4,8}\",[5,6,7,8,9,10,11,12],0,\"0\",0,0,0,0,\"18\",0,\"00\"],\"AZ\":[\"994\",\"00\",\"365\\\\d{6}|(?:[124579]\\\\d|60|88)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"90\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"1[28]|2|365|46\",\"1[28]|2|365[45]|46\",\"1[28]|2|365(?:4|5[02])|46\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[13-9]\"],\"0$1\"]],\"0\"],\"BA\":[\"387\",\"00\",\"6\\\\d{8}|(?:[35689]\\\\d|49|70)\\\\d{6}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6[1-3]|[7-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2-$3\",[\"[3-5]|6[56]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"6\"],\"0$1\"]],\"0\"],\"BB\":[\"1\",\"011\",\"(?:246|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"246$1\",0,\"246\"],\"BD\":[\"880\",\"00\",\"[1-469]\\\\d{9}|8[0-79]\\\\d{7,8}|[2-79]\\\\d{8}|[2-9]\\\\d{7}|[3-9]\\\\d{6}|[57-9]\\\\d{5}\",[6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{4,6})\",\"$1-$2\",[\"31[5-8]|[459]1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,7})\",\"$1-$2\",[\"3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:[15]|28|4[14])|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3,6})\",\"$1-$2\",[\"[13-9]|2[23]\"],\"0$1\"],[\"(\\\\d)(\\\\d{7,8})\",\"$1-$2\",[\"2\"],\"0$1\"]],\"0\"],\"BE\":[\"32\",\"00\",\"4\\\\d{8}|[1-9]\\\\d{7}\",[8,9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"(?:80|9)0\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[239]|4[23]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[15-8]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"4\"],\"0$1\"]],\"0\"],\"BF\":[\"226\",\"00\",\"(?:[025-7]\\\\d|44)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[024-7]\"]]]],\"BG\":[\"359\",\"00\",\"00800\\\\d{7}|[2-7]\\\\d{6,7}|[89]\\\\d{6,8}|2\\\\d{5}\",[6,7,8,9,12],[[\"(\\\\d)(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"43[1-6]|70[1-9]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\"$1 $2 $3\",[\"[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"(?:70|8)0\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3\",[\"43[1-7]|7\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[48]|9[08]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"0$1\"]],\"0\"],\"BH\":[\"973\",\"00\",\"[136-9]\\\\d{7}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[13679]|8[02-4679]\"]]]],\"BI\":[\"257\",\"00\",\"(?:[267]\\\\d|31)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2367]\"]]]],\"BJ\":[\"229\",\"00\",\"(?:01\\\\d|8)\\\\d{7}\",[8,10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"0\"]]]],\"BL\":[\"590\",\"00\",\"(?:590\\\\d|7090)\\\\d{5}|(?:69|80|9\\\\d)\\\\d{7}\",[9],0,\"0\",0,0,0,0,0,[[\"590(?:2[7-9]|3[3-7]|5[12]|87)\\\\d{4}\"],[\"(?:69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\\\d)|6(?:1[016-9]|5[0-4]|[67]\\\\d))|7090[0-4])\\\\d{4}\"],[\"80[0-5]\\\\d{6}\"],0,0,0,0,0,[\"9(?:(?:39[5-7]|76[018])\\\\d|475[0-6])\\\\d{4}\"]]],\"BM\":[\"1\",\"011\",\"(?:441|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"441$1\",0,\"441\"],\"BN\":[\"673\",\"00\",\"[2-578]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-578]\"]]]],\"BO\":[\"591\",\"00(?:1\\\\d)?\",\"8001\\\\d{5}|(?:[2-467]\\\\d|50)\\\\d{6}\",[8,9],[[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"[235]|4[46]\"]],[\"(\\\\d{8})\",\"$1\",[\"[67]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]]],\"0\",0,\"0(1\\\\d)?\"],\"BQ\":[\"599\",\"00\",\"(?:[34]1|7\\\\d)\\\\d{5}\",[7],0,0,0,0,0,0,\"[347]\"],\"BR\":[\"55\",\"00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)\",\"[1-467]\\\\d{9,10}|55[0-46-9]\\\\d{8}|[34]\\\\d{7}|55\\\\d{7,8}|(?:5[0-46-9]|[89]\\\\d)\\\\d{7,9}\",[8,9,10,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"300|4(?:0[02]|37|86)\",\"300|4(?:0(?:0|20)|370|864)\"]],[\"(\\\\d{3})(\\\\d{2,3})(\\\\d{4})\",\"$1 $2 $3\",[\"(?:[358]|90)0\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2-$3\",[\"(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]\"],\"($1)\"],[\"(\\\\d{2})(\\\\d{5})(\\\\d{4})\",\"$1 $2-$3\",[\"[16][1-9]|[2-57-9]\"],\"($1)\"]],\"0\",0,\"(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\\\d{10,11}))?\",\"$2\"],\"BS\":[\"1\",\"011\",\"(?:242|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([3-8]\\\\d{6})$|1\",\"242$1\",0,\"242\"],\"BT\":[\"975\",\"00\",\"[178]\\\\d{7}|[2-8]\\\\d{6}\",[7,8],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-6]|7[246]|8[2-4]\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"1[67]|[78]\"]]]],\"BW\":[\"267\",\"00\",\"(?:0800|(?:[37]|800)\\\\d)\\\\d{6}|(?:[2-6]\\\\d|90)\\\\d{5}\",[7,8,10],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"90\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[24-6]|3[15-9]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[37]\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]]]],\"BY\":[\"375\",\"810\",\"(?:[12]\\\\d|33|44|902)\\\\d{7}|8(?:0[0-79]\\\\d{5,7}|[1-7]\\\\d{9})|8(?:1[0-489]|[5-79]\\\\d)\\\\d{7}|8[1-79]\\\\d{6,7}|8[0-79]\\\\d{5}|8\\\\d{5}\",[6,7,8,9,10,11],[[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"800\"],\"8 $1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,4})\",\"$1 $2 $3\",[\"800\"],\"8 $1\"],[\"(\\\\d{4})(\\\\d{2})(\\\\d{3})\",\"$1 $2-$3\",[\"1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])\",\"1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])\"],\"8 0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"1(?:[56]|7[467])|2[1-3]\"],\"8 0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"[1-4]\"],\"8 0$1\"],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"8 $1\"]],\"8\",0,\"0|80?\",0,0,0,0,\"8~10\"],\"BZ\":[\"501\",\"00\",\"(?:0800\\\\d|[2-8])\\\\d{6}\",[7,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[2-8]\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\"$1-$2-$3-$4\",[\"0\"]]]],\"CA\":[\"1\",\"011\",\"[2-9]\\\\d{9}|3\\\\d{6}\",[7,10],0,\"1\",0,0,0,0,0,[[\"(?:2(?:04|[23]6|[48]9|5[07]|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|7[39])|9(?:0[25]|42))[2-9]\\\\d{6}\",[10]],[\"\",[10]],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",[10]],[\"900[2-9]\\\\d{6}\",[10]],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|(?:5(?:2[125-9]|3[23]|44|66|77|88)|6(?:22|33))[2-9]\\\\d{6}\",[10]],0,[\"310\\\\d{4}\",[7]],0,[\"600[2-9]\\\\d{6}\",[10]]]],\"CC\":[\"61\",\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"1(?:[0-79]\\\\d{8}(?:\\\\d{2})?|8[0-24-9]\\\\d{7})|[148]\\\\d{8}|1\\\\d{5,7}\",[6,7,8,9,10,12],0,\"0\",0,\"([59]\\\\d{7})$|0\",\"8$1\",0,0,[[\"8(?:51(?:0(?:02|31|60|89)|1(?:18|76)|223)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\\\d|70[23]|959))\\\\d{3}\",[9]],[\"4(?:79[01]|83[0-36-9]|95[0-3])\\\\d{5}|4(?:[0-36]\\\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\\\d{6}\",[9]],[\"180(?:0\\\\d{3}|2)\\\\d{3}\",[7,10]],[\"190[0-26]\\\\d{6}\",[10]],0,0,0,0,[\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\",[9]],[\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\",[6,8,10,12]]],\"0011\"],\"CD\":[\"243\",\"00\",\"(?:(?:[189]|5\\\\d)\\\\d|2)\\\\d{7}|[1-68]\\\\d{6}\",[7,8,9,10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"88\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"[1-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"5\"],\"0$1\"]],\"0\"],\"CF\":[\"236\",\"00\",\"(?:[27]\\\\d{3}|8776)\\\\d{4}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[278]\"]]]],\"CG\":[\"242\",\"00\",\"222\\\\d{6}|(?:0\\\\d|80)\\\\d{7}\",[9],[[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[02]\"]]]],\"CH\":[\"41\",\"00\",\"8\\\\d{11}|[2-9]\\\\d{8}\",[9,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8[047]|90\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-79]|81\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"8\"],\"0$1\"]],\"0\"],\"CI\":[\"225\",\"00\",\"[02]\\\\d{9}\",[10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d)(\\\\d{5})\",\"$1 $2 $3 $4\",[\"2\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"0\"]]]],\"CK\":[\"682\",\"00\",\"[2-578]\\\\d{4}\",[5],[[\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"[2-578]\"]]]],\"CL\":[\"56\",\"(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0\",\"12300\\\\d{6}|6\\\\d{9,10}|[2-9]\\\\d{8}\",[9,10,11],[[\"(\\\\d{5})(\\\\d{4})\",\"$1 $2\",[\"219\",\"2196\"],\"($1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"60|809\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"44\"]],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2[1-36]\"],\"($1)\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"9(?:10|[2-9])\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-8]|[1-9])\"],\"($1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"60|8\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"60\"]]]],\"CM\":[\"237\",\"00\",\"[26]\\\\d{8}|88\\\\d{6,7}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"88\"]],[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"[26]|88\"]]]],\"CN\":[\"86\",\"00|1(?:[12]\\\\d|79)\\\\d\\\\d00\",\"(?:(?:1[03-689]|2\\\\d)\\\\d\\\\d|6)\\\\d{8}|1\\\\d{10}|[126]\\\\d{6}(?:\\\\d(?:\\\\d{2})?)?|86\\\\d{5,6}|(?:[3-579]\\\\d|8[0-57-9])\\\\d{5,9}\",[7,8,9,10,11,12],[[\"(\\\\d{2})(\\\\d{5,6})\",\"$1 $2\",[\"(?:10|2[0-57-9])[19]|3(?:[157]|35|49|9[1-68])|4(?:1[124-9]|2[179]|6[47-9]|7|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:07|1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3|4[13]|5[1-5]|7[0-79]|9[0-35-9])|(?:4[35]|59|85)[1-9]\",\"(?:10|2[0-57-9])(?:1[02]|9[56])|8078|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\\\d|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))1\",\"10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|80781|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\\\d|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))12\",\"10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|807812|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\\\d|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123\",\"10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\\\d|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:078|1[236-8]|2[5-7]|[37]\\\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5,6})\",\"$1 $2\",[\"3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]\",\"(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))[19]\",\"85[23](?:10|95)|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))(?:10|9[56])\",\"85[23](?:100|95)|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))(?:100|9[56])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"(?:4|80)0\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"10|2(?:[02-57-9]|1[1-9])\",\"10|2(?:[02-57-9]|1[1-9])\",\"10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{7,8})\",\"$1 $2\",[\"9\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"80\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[3-578]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"1[3-9]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"[12]\"],\"0$1\",1]],\"0\",0,\"(1(?:[12]\\\\d|79)\\\\d\\\\d)|0\",0,0,0,0,\"00\"],\"CO\":[\"57\",\"00(?:4(?:[14]4|56)|[579])\",\"(?:46|60\\\\d\\\\d)\\\\d{6}|(?:1\\\\d|[39])\\\\d{9}\",[8,10,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"46\"]],[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"6|90\"],\"($1)\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"3[0-357]|9[14]\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{7})\",\"$1-$2-$3\",[\"1\"],\"0$1\",0,\"$1 $2 $3\"]],\"0\",0,\"0([3579]|4(?:[14]4|56))?\"],\"CR\":[\"506\",\"00\",\"(?:8\\\\d|90)\\\\d{8}|(?:[24-8]\\\\d{3}|3005)\\\\d{4}\",[8,10],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-7]|8[3-9]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[89]\"]]],0,0,\"(19(?:0[0-2468]|1[09]|20|66|77|99))\"],\"CU\":[\"53\",\"119\",\"(?:[2-7]|8\\\\d\\\\d)\\\\d{7}|[2-47]\\\\d{6}|[34]\\\\d{5}\",[6,7,8,10],[[\"(\\\\d{2})(\\\\d{4,6})\",\"$1 $2\",[\"2[1-4]|[34]\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{6,7})\",\"$1 $2\",[\"7\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"[56]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"8\"],\"0$1\"]],\"0\"],\"CV\":[\"238\",\"0\",\"(?:[2-59]\\\\d\\\\d|800)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[2-589]\"]]]],\"CW\":[\"599\",\"00\",\"(?:[34]1|60|(?:7|9\\\\d)\\\\d)\\\\d{5}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[3467]\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"9[4-8]\"]]],0,0,0,0,0,\"[69]\"],\"CX\":[\"61\",\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"1(?:[0-79]\\\\d{8}(?:\\\\d{2})?|8[0-24-9]\\\\d{7})|[148]\\\\d{8}|1\\\\d{5,7}\",[6,7,8,9,10,12],0,\"0\",0,\"([59]\\\\d{7})$|0\",\"8$1\",0,0,[[\"8(?:51(?:0(?:01|30|59|88)|1(?:17|46|75)|2(?:22|35))|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\\\d|7(?:0[01]|1[0-2])|958))\\\\d{3}\",[9]],[\"4(?:79[01]|83[0-36-9]|95[0-3])\\\\d{5}|4(?:[0-36]\\\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\\\d{6}\",[9]],[\"180(?:0\\\\d{3}|2)\\\\d{3}\",[7,10]],[\"190[0-26]\\\\d{6}\",[10]],0,0,0,0,[\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\",[9]],[\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\",[6,8,10,12]]],\"0011\"],\"CY\":[\"357\",\"00\",\"(?:[279]\\\\d|[58]0)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[257-9]\"]]]],\"CZ\":[\"420\",\"00\",\"(?:[2-578]\\\\d|60)\\\\d{7}|9\\\\d{8,11}\",[9,10,11,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-8]|9[015-7]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"96\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]]]],\"DE\":[\"49\",\"00\",\"[2579]\\\\d{5,14}|49(?:[34]0|69|8\\\\d)\\\\d\\\\d?|49(?:37|49|60|7[089]|9\\\\d)\\\\d{1,3}|49(?:2[024-9]|3[2-689]|7[1-7])\\\\d{1,8}|(?:1|[368]\\\\d|4[0-8])\\\\d{3,13}|49(?:[015]\\\\d|2[13]|31|[46][1-8])\\\\d{1,9}\",[4,5,6,7,8,9,10,11,12,13,14,15],[[\"(\\\\d{2})(\\\\d{3,13})\",\"$1 $2\",[\"3[02]|40|[68]9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,12})\",\"$1 $2\",[\"2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1\",\"2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{2,11})\",\"$1 $2\",[\"[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]\",\"[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"138\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{2,10})\",\"$1 $2\",[\"3\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5,11})\",\"$1 $2\",[\"181\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{4,10})\",\"$1 $2 $3\",[\"1(?:3|80)|9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7,8})\",\"$1 $2\",[\"1[67]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7,12})\",\"$1 $2\",[\"8\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{6})\",\"$1 $2\",[\"185\",\"1850\",\"18500\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{7})\",\"$1 $2\",[\"18[68]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{7})\",\"$1 $2\",[\"15[1279]\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{6})\",\"$1 $2\",[\"15[03568]\",\"15(?:[0568]|3[13])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{8})\",\"$1 $2\",[\"18\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{7,8})\",\"$1 $2 $3\",[\"1(?:6[023]|7)\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{2})(\\\\d{7})\",\"$1 $2 $3\",[\"15[279]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{8})\",\"$1 $2 $3\",[\"15\"],\"0$1\"]],\"0\"],\"DJ\":[\"253\",\"00\",\"(?:2\\\\d|77)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[27]\"]]]],\"DK\":[\"45\",\"00\",\"[2-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-9]\"]]]],\"DM\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|767|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-7]\\\\d{6})$|1\",\"767$1\",0,\"767\"],\"DO\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,0,0,0,\"8001|8[024]9\"],\"DZ\":[\"213\",\"00\",\"(?:[1-4]|[5-79]\\\\d|80)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[1-4]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-8]\"],\"0$1\"]],\"0\"],\"EC\":[\"593\",\"00\",\"1\\\\d{9,10}|(?:[2-7]|9\\\\d)\\\\d{7}\",[8,9,10,11],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2-$3\",[\"[2-7]\"],\"(0$1)\",0,\"$1-$2-$3\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"1\"]]],\"0\"],\"EE\":[\"372\",\"00\",\"8\\\\d{9}|[4578]\\\\d{7}|(?:[3-8]\\\\d|90)\\\\d{5}\",[7,8,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]|88\",\"[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]|88\"]],[\"(\\\\d{4})(\\\\d{3,4})\",\"$1 $2\",[\"[45]|8(?:00|[1-49])\",\"[45]|8(?:00[1-9]|[1-49])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]]]],\"EG\":[\"20\",\"00\",\"[189]\\\\d{8,9}|[24-6]\\\\d{8}|[135]\\\\d{7}\",[8,9,10],[[\"(\\\\d)(\\\\d{7,8})\",\"$1 $2\",[\"[23]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{6,7})\",\"$1 $2\",[\"1[35]|[4-6]|8[2468]|9[235-7]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{8})\",\"$1 $2\",[\"1\"],\"0$1\"]],\"0\"],\"EH\":[\"212\",\"00\",\"[5-8]\\\\d{8}\",[9],0,\"0\",0,0,0,0,0,[[\"528[89]\\\\d{5}\"],[\"(?:6(?:[0-79]\\\\d|8[0-247-9])|7(?:[016-8]\\\\d|2[0-8]|5[0-5]))\\\\d{6}\"],[\"80[0-7]\\\\d{6}\"],[\"89\\\\d{7}\"],0,0,0,0,[\"(?:592(?:4[0-2]|93)|80[89]\\\\d\\\\d)\\\\d{4}\"]]],\"ER\":[\"291\",\"00\",\"[178]\\\\d{6}\",[7],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[178]\"],\"0$1\"]],\"0\"],\"ES\":[\"34\",\"00\",\"[5-9]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]00\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-9]\"]]]],\"ET\":[\"251\",\"00\",\"(?:11|[2-579]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-579]\"],\"0$1\"]],\"0\"],\"FI\":[\"358\",\"00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))\",\"[1-35689]\\\\d{4}|7\\\\d{10,11}|(?:[124-7]\\\\d|3[0-46-9])\\\\d{8}|[1-9]\\\\d{5,8}\",[5,6,7,8,9,10,11,12],[[\"(\\\\d{5})\",\"$1\",[\"20[2-59]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,7})\",\"$1 $2\",[\"(?:[1-3]0|[68])0|70[07-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4,8})\",\"$1 $2\",[\"[14]|2[09]|50|7[135]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{6,10})\",\"$1 $2\",[\"7\"],\"0$1\"],[\"(\\\\d)(\\\\d{4,9})\",\"$1 $2\",[\"(?:19|[2568])[1-8]|3(?:0[1-9]|[1-9])|9\"],\"0$1\"]],\"0\",0,0,0,0,\"1[03-79]|[2-9]\",0,\"00\"],\"FJ\":[\"679\",\"0(?:0|52)\",\"45\\\\d{5}|(?:0800\\\\d|[235-9])\\\\d{6}\",[7,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[235-9]|45\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"0\"]]],0,0,0,0,0,0,0,\"00\"],\"FK\":[\"500\",\"00\",\"[2-7]\\\\d{4}\",[5]],\"FM\":[\"691\",\"00\",\"(?:[39]\\\\d\\\\d|820)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[389]\"]]]],\"FO\":[\"298\",\"00\",\"[2-9]\\\\d{5}\",[6],[[\"(\\\\d{6})\",\"$1\",[\"[2-9]\"]]],0,0,\"(10(?:01|[12]0|88))\"],\"FR\":[\"33\",\"00\",\"[1-9]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0 $1\"],[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"[1-79]\"],\"0$1\"]],\"0\"],\"GA\":[\"241\",\"00\",\"(?:[067]\\\\d|11)\\\\d{6}|[2-7]\\\\d{6}\",[7,8],[[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-7]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"0\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"11|[67]\"],\"0$1\"]],0,0,\"0(11\\\\d{6}|60\\\\d{6}|61\\\\d{6}|6[256]\\\\d{6}|7[467]\\\\d{6})\",\"$1\"],\"GB\":[\"44\",\"00\",\"[1-357-9]\\\\d{9}|[18]\\\\d{8}|8\\\\d{6}\",[7,9,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"800\",\"8001\",\"80011\",\"800111\",\"8001111\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"845\",\"8454\",\"84546\",\"845464\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"800\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{4,5})\",\"$1 $2\",[\"1(?:38|5[23]|69|76|94)\",\"1(?:(?:38|69)7|5(?:24|39)|768|946)\",\"1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5,6})\",\"$1 $2\",[\"1(?:[2-69][02-9]|[78])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[25]|7(?:0|6[02-9])\",\"[25]|7(?:0|6(?:[03-9]|2[356]))\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"7\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1389]\"],\"0$1\"]],\"0\",0,\"0|180020\",0,0,0,[[\"(?:1(?:1(?:3(?:[0-58]\\\\d\\\\d|73[0-5])|4(?:(?:[0-5]\\\\d|70)\\\\d|69[7-9])|(?:(?:5[0-26-9]|[78][0-49])\\\\d|6(?:[0-4]\\\\d|5[01]))\\\\d)|(?:2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\\\d)\\\\d|1(?:[0-7]\\\\d|8[0-3]))|(?:3(?:0\\\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\\\d)\\\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\\\d{3})\\\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\\\d)|76\\\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\\\d|7[4-79])|295[5-7]|35[34]\\\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\\\d{3}\",[9,10]],[\"7(?:457[0-57-9]|700[01]|911[028])\\\\d{5}|7(?:[1-3]\\\\d\\\\d|4(?:[0-46-9]\\\\d|5[0-689])|5(?:0[0-8]|[13-9]\\\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\\\d|8[02-9]|9[0-689])|8(?:[014-9]\\\\d|[23][0-8])|9(?:[024-9]\\\\d|1[02-9]|3[0-689]))\\\\d{6}\",[10]],[\"80[08]\\\\d{7}|800\\\\d{6}|8001111\"],[\"(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\\\d|8[2-49]))\\\\d{7}|845464\\\\d\",[7,10]],[\"70\\\\d{8}\",[10]],0,[\"(?:3[0347]|55)\\\\d{8}\",[10]],[\"76(?:464|652)\\\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\",[10]],[\"56\\\\d{8}\",[10]]],0,\" x\"],\"GD\":[\"1\",\"011\",\"(?:473|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"473$1\",0,\"473\"],\"GE\":[\"995\",\"00\",\"(?:[3-57]\\\\d\\\\d|800)\\\\d{6}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"70\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"32\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[57]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[348]\"],\"0$1\"]],\"0\"],\"GF\":[\"594\",\"00\",\"(?:[56]94\\\\d|7093)\\\\d{5}|(?:80|9\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-7]|9[47]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[89]\"],\"0$1\"]],\"0\"],\"GG\":[\"44\",\"00\",\"(?:1481|[357-9]\\\\d{3})\\\\d{6}|8\\\\d{6}(?:\\\\d{2})?\",[7,9,10],0,\"0\",0,\"([25-9]\\\\d{5})$|0|180020\",\"1481$1\",0,0,[[\"1481[25-9]\\\\d{5}\",[10]],[\"7(?:(?:781|839)\\\\d|911[17])\\\\d{5}\",[10]],[\"80[08]\\\\d{7}|800\\\\d{6}|8001111\"],[\"(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\\\d|8[0-3]))\\\\d{7}|845464\\\\d\",[7,10]],[\"70\\\\d{8}\",[10]],0,[\"(?:3[0347]|55)\\\\d{8}\",[10]],[\"76(?:464|652)\\\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\",[10]],[\"56\\\\d{8}\",[10]]]],\"GH\":[\"233\",\"00\",\"(?:[235]\\\\d{3}|800)\\\\d{5}\",[8,9],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[235]\"],\"0$1\"]],\"0\"],\"GI\":[\"350\",\"00\",\"(?:[25]\\\\d|60)\\\\d{6}\",[8],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"2\"]]]],\"GL\":[\"299\",\"00\",\"(?:19|[2-689]\\\\d|70)\\\\d{4}\",[6],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"19|[2-9]\"]]]],\"GM\":[\"220\",\"00\",\"[2-9]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-9]\"]]]],\"GN\":[\"224\",\"00\",\"722\\\\d{6}|(?:3|6\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"3\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[67]\"]]]],\"GP\":[\"590\",\"00\",\"(?:590\\\\d|7090)\\\\d{5}|(?:69|80|9\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-79]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"590(?:0[1-68]|[14][0-24-9]|2[0-68]|3[1-9]|5[3-579]|[68][0-689]|7[08]|9\\\\d)\\\\d{4}\"],[\"(?:69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\\\d)|6(?:1[016-9]|5[0-4]|[67]\\\\d))|7090[0-4])\\\\d{4}\"],[\"80[0-5]\\\\d{6}\"],0,0,0,0,0,[\"9(?:(?:39[5-7]|76[018])\\\\d|475[0-6])\\\\d{4}\"]]],\"GQ\":[\"240\",\"00\",\"222\\\\d{6}|(?:3\\\\d|55|[89]0)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[235]\"]],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"[89]\"]]]],\"GR\":[\"30\",\"00\",\"5005000\\\\d{3}|8\\\\d{9,11}|(?:[269]\\\\d|70)\\\\d{8}\",[10,11,12],[[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"21|7\"]],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])|5\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2689]\"]],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{5})\",\"$1 $2 $3\",[\"8\"]]]],\"GT\":[\"502\",\"00\",\"80\\\\d{6}|(?:1\\\\d{3}|[2-7])\\\\d{7}\",[8,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-8]\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]]]],\"GU\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|671|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"671$1\",0,\"671\"],\"GW\":[\"245\",\"00\",\"[49]\\\\d{8}|4\\\\d{6}\",[7,9],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"40\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[49]\"]]]],\"GY\":[\"592\",\"001\",\"(?:[2-8]\\\\d{3}|9008)\\\\d{3}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-9]\"]]]],\"HK\":[\"852\",\"00(?:30|5[09]|[126-9]?)\",\"8[0-46-9]\\\\d{6,7}|9\\\\d{4,7}|(?:[2-7]|9\\\\d{3})\\\\d{7}\",[5,6,7,8,9,11],[[\"(\\\\d{3})(\\\\d{2,5})\",\"$1 $2\",[\"900\",\"9003\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-7]|8[1-4]|9(?:0[1-9]|[1-8])\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]]],0,0,0,0,0,0,0,\"00\"],\"HN\":[\"504\",\"00\",\"8\\\\d{10}|[237-9]\\\\d{7}\",[8,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"[237-9]\"]]]],\"HR\":[\"385\",\"00\",\"[2-69]\\\\d{8}|80\\\\d{5,7}|[1-79]\\\\d{7}|6\\\\d{6}\",[7,8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"6[01]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"6|7[245]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-57]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"],\"0$1\"]],\"0\"],\"HT\":[\"509\",\"00\",\"[2-589]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-589]\"]]]],\"HU\":[\"36\",\"00\",\"[235-7]\\\\d{8}|[1-9]\\\\d{7}\",[8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"(06 $1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]\"],\"(06 $1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-9]\"],\"06 $1\"]],\"06\"],\"ID\":[\"62\",\"00[89]\",\"00[1-9]\\\\d{9,14}|(?:[1-36]|8\\\\d{5})\\\\d{6}|00\\\\d{9}|[1-9]\\\\d{8,10}|[2-9]\\\\d{7}\",[7,8,9,10,11,12,13,14,15,16,17],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"15\"]],[\"(\\\\d{2})(\\\\d{5,9})\",\"$1 $2\",[\"2[124]|[36]1\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{5,7})\",\"$1 $2\",[\"800\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5,8})\",\"$1 $2\",[\"[2-79]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{3})\",\"$1-$2-$3\",[\"8[1-35-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6,8})\",\"$1 $2\",[\"1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"804\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"80\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\",\"$1-$2-$3\",[\"8\"],\"0$1\"]],\"0\"],\"IE\":[\"353\",\"00\",\"(?:1\\\\d|[2569])\\\\d{6,8}|4\\\\d{6,9}|7\\\\d{8}|8\\\\d{8,9}\",[7,8,9,10],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"2[24-9]|47|58|6[237-9]|9[35-9]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[45]0\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2569]|4[1-69]|7[14]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"70\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"81\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[78]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"4\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\"],\"IL\":[\"972\",\"0(?:0|1[2-9])\",\"1\\\\d{6}(?:\\\\d{3,5})?|[57]\\\\d{8}|[1-489]\\\\d{7}\",[7,8,9,10,11,12],[[\"(\\\\d{4})(\\\\d{3})\",\"$1-$2\",[\"125\"]],[\"(\\\\d{4})(\\\\d{2})(\\\\d{2})\",\"$1-$2-$3\",[\"121\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[2-489]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[57]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1-$2-$3\",[\"12\"]],[\"(\\\\d{4})(\\\\d{6})\",\"$1-$2\",[\"159\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1-$2-$3-$4\",[\"1[7-9]\"]],[\"(\\\\d{3})(\\\\d{1,2})(\\\\d{3})(\\\\d{4})\",\"$1-$2 $3-$4\",[\"15\"]]],\"0\"],\"IM\":[\"44\",\"00\",\"1624\\\\d{6}|(?:[3578]\\\\d|90)\\\\d{8}\",[10],0,\"0\",0,\"([25-8]\\\\d{5})$|0|180020\",\"1624$1\",0,\"74576|(?:16|7[56])24\"],\"IN\":[\"91\",\"00\",\"(?:000800|[2-9]\\\\d\\\\d)\\\\d{7}|1\\\\d{7,12}\",[8,9,10,11,12,13],[[\"(\\\\d{8})\",\"$1\",[\"5(?:0|2[23]|3[03]|[67]1|88)\",\"5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)\",\"5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)\"],0,1],[\"(\\\\d{4})(\\\\d{4,5})\",\"$1 $2\",[\"180\",\"1800\"],0,1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"140\"],0,1],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"11|2[02]|33|4[04]|79[1-7]|80[2-46]\",\"11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])\",\"11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]\",\"1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]\",\"1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]\"],\"0$1\",1],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807\",\"1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]\",\"1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|8(?:28[235-7]|3))|73179|807(?:1|9[1-3])|(?:1552|6(?:(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689])\\\\d|8(?:[14-6]\\\\d|2[0-79]))|7(?:1(?:[013-8]\\\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\\\d|5[0-367])|70[13-7]))[2-7]\"],\"0$1\",1],[\"(\\\\d{5})(\\\\d{5})\",\"$1 $2\",[\"16|[6-9]\"],\"0$1\",1],[\"(\\\\d{4})(\\\\d{2,4})(\\\\d{4})\",\"$1 $2 $3\",[\"18[06]\",\"18[06]0\"],0,1],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"18\"],0,1]],\"0\"],\"IO\":[\"246\",\"00\",\"3\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"3\"]]]],\"IQ\":[\"964\",\"00\",\"(?:1|7\\\\d\\\\d)\\\\d{7}|[2-6]\\\\d{7,8}\",[8,9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-6]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\"],\"IR\":[\"98\",\"00\",\"[1-9]\\\\d{9}|(?:[1-8]\\\\d\\\\d|9)\\\\d{3,4}\",[4,5,6,7,10],[[\"(\\\\d{4,5})\",\"$1\",[\"96\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4,5})\",\"$1 $2\",[\"(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-8]\"],\"0$1\"]],\"0\"],\"IS\":[\"354\",\"00|1(?:0(?:01|[12]0)|100)\",\"(?:38\\\\d|[4-9])\\\\d{6}\",[7,9],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[4-9]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"3\"]]],0,0,0,0,0,0,0,\"00\"],\"IT\":[\"39\",\"00\",\"0\\\\d{5,11}|1\\\\d{8,10}|3(?:[0-8]\\\\d{7,10}|9\\\\d{7,8})|(?:43|55|70)\\\\d{8}|8\\\\d{5}(?:\\\\d{2,4})?\",[6,7,8,9,10,11,12],[[\"(\\\\d{2})(\\\\d{4,6})\",\"$1 $2\",[\"0[26]\"]],[\"(\\\\d{3})(\\\\d{3,6})\",\"$1 $2\",[\"0[13-57-9][0159]|8(?:03|4[17]|9[2-5])\",\"0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))\"]],[\"(\\\\d{4})(\\\\d{2,6})\",\"$1 $2\",[\"0(?:[13-579][2-46-8]|8[236-8])\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"894\"]],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"0[26]|5\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"1(?:44|[679])|[378]|43\"]],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"0[13-57-9][0159]|14\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{5})\",\"$1 $2 $3\",[\"0[26]\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\",\"$1 $2 $3\",[\"[03]\"]]],0,0,0,0,0,0,[[\"0(?:669[0-79]\\\\d{1,6}|831\\\\d{2,8})|0(?:1(?:[0159]\\\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\\\d\\\\d|3(?:[0159]\\\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\\\d|6[0-8])|7(?:[0159]\\\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\\\d|2[3-578]|3[2356]|[6-8][1-5])|9(?:[0159]\\\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\\\d{2,7}\"],[\"3[2-9]\\\\d{7,8}|(?:31|43)\\\\d{8}\",[9,10]],[\"80(?:0\\\\d{3}|3)\\\\d{3}\",[6,9]],[\"(?:0878\\\\d{3}|89(?:2\\\\d|3[04]|4(?:[0-4]|[5-9]\\\\d\\\\d)|5[0-4]))\\\\d\\\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\\\d{6}\",[6,8,9,10]],[\"1(?:78\\\\d|99)\\\\d{6}\",[9,10]],[\"3[2-8]\\\\d{9,10}\",[11,12]],0,0,[\"55\\\\d{8}\",[10]],[\"84(?:[08]\\\\d{3}|[17])\\\\d{3}\",[6,9]]]],\"JE\":[\"44\",\"00\",\"1534\\\\d{6}|(?:[3578]\\\\d|90)\\\\d{8}\",[10],0,\"0\",0,\"([0-24-8]\\\\d{5})$|0|180020\",\"1534$1\",0,0,[[\"1534[0-24-8]\\\\d{5}\"],[\"7(?:(?:(?:50|82)9|937)\\\\d|7(?:00[378]|97\\\\d))\\\\d{5}\"],[\"80(?:07(?:35|81)|8901)\\\\d{4}\"],[\"(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\\\d{4}\"],[\"701511\\\\d{4}\"],0,[\"(?:3(?:0(?:07(?:35|81)|8901)|3\\\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\\\d{4})\\\\d{4}\"],[\"76(?:464|652)\\\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\"],[\"56\\\\d{8}\"]]],\"JM\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|658|900)\\\\d{7}\",[10],0,\"1\",0,0,0,0,\"658|876\"],\"JO\":[\"962\",\"00\",\"(?:(?:[2689]|7\\\\d)\\\\d|32|427|53)\\\\d{6}\",[8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2356]|87\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{5,6})\",\"$1 $2\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"70\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[47]\"],\"0$1\"]],\"0\"],\"JP\":[\"81\",\"010\",\"00[1-9]\\\\d{6,14}|[25-9]\\\\d{9}|(?:00|[1-9]\\\\d\\\\d)\\\\d{6}\",[8,9,10,11,12,13,14,15,16,17],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1-$2-$3\",[\"(?:12|57|99)0\"],\"0$1\"],[\"(\\\\d{4})(\\\\d)(\\\\d{4})\",\"$1-$2-$3\",[\"1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51)|9(?:80|9[16])\",\"1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]\",\"1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"60\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"3|4(?:2[09]|7[01])|6[1-9]\",\"3|4(?:2(?:0|9[02-69])|7(?:0[019]|1))|6[1-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[0459]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[26-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])\",\"1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9]|9[29])|5(?:2|3(?:[045]|9[0-8])|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|3(?:[29]|60)|49|51|6(?:[0-24]|36|5[0-3589]|7[23]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]\",\"1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3(?:[045]|9(?:[0-58]|6[4-9]|7[0-35689]))|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|60|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[2-57-9]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|7(?:2[2-468]|3[78])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1-$2-$3\",[\"[14]|[289][2-9]|5[3-9]|7[2-4679]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"800\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[25-9]\"],\"0$1\"]],\"0\",0,\"(000[2569]\\\\d{4,6})$|(?:(?:003768)0?)|0\",\"$1\"],\"KE\":[\"254\",\"000\",\"(?:[17]\\\\d\\\\d|900)\\\\d{6}|(?:2|80)0\\\\d{6,7}|[4-6]\\\\d{6,8}\",[7,8,9,10],[[\"(\\\\d{2})(\\\\d{5,7})\",\"$1 $2\",[\"[24-6]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"[17]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"]],\"0\"],\"KG\":[\"996\",\"00\",\"8\\\\d{9}|[235-9]\\\\d{8}\",[9,10],[[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"3(?:1[346]|[24-79])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[235-79]|88\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d)(\\\\d{2,3})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\"],\"KH\":[\"855\",\"00[14-9]\",\"1\\\\d{9}|[1-9]\\\\d{7,8}\",[8,9,10],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[1-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]]],\"0\"],\"KI\":[\"686\",\"00\",\"(?:[37]\\\\d|6[0-79])\\\\d{6}|(?:[2-48]\\\\d|50)\\\\d{3}\",[5,8],0,\"0\"],\"KM\":[\"269\",\"00\",\"[3478]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[3478]\"]]]],\"KN\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-7]\\\\d{6})$|1\",\"869$1\",0,\"869\"],\"KP\":[\"850\",\"00|99\",\"85\\\\d{6}|(?:19\\\\d|[2-7])\\\\d{7}\",[8,10],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-7]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"]],\"0\"],\"KR\":[\"82\",\"00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))\",\"00[1-9]\\\\d{8,11}|(?:[12]|5\\\\d{3})\\\\d{7}|[13-6]\\\\d{9}|(?:[1-6]\\\\d|80)\\\\d{7}|[3-6]\\\\d{4,5}|(?:00|7)0\\\\d{8}\",[5,6,8,9,10,11,12,13,14],[[\"(\\\\d{2})(\\\\d{3,4})\",\"$1-$2\",[\"(?:3[1-3]|[46][1-4]|5[1-5])1\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"1\"]],[\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\"$1-$2-$3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[36]0|8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1-$2-$3\",[\"[1346]|5[1-5]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[57]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5})(\\\\d{4})\",\"$1-$2-$3\",[\"5\"],\"0$1\"]],\"0\",0,\"0(8(?:[1-46-8]|5\\\\d\\\\d))?\"],\"KW\":[\"965\",\"00\",\"18\\\\d{5}|(?:[2569]\\\\d|41)\\\\d{6}\",[7,8],[[\"(\\\\d{4})(\\\\d{3,4})\",\"$1 $2\",[\"[169]|2(?:[235]|4[1-35-9])|52\"]],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[245]\"]]]],\"KY\":[\"1\",\"011\",\"(?:345|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"345$1\",0,\"345\"],\"KZ\":[\"7\",\"810\",\"(?:33622|8\\\\d{8})\\\\d{5}|[78]\\\\d{9}\",[10,14],0,\"8\",0,0,0,0,\"33622|7\",0,\"8~10\"],\"LA\":[\"856\",\"00\",\"[23]\\\\d{9}|3\\\\d{8}|(?:[235-8]\\\\d|41)\\\\d{6}\",[8,9,10],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2[13]|3[14]|[4-8]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"3\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"[23]\"],\"0$1\"]],\"0\"],\"LB\":[\"961\",\"00\",\"[27-9]\\\\d{7}|[13-9]\\\\d{6}\",[7,8],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[13-69]|7(?:[2-57]|62|8[0-6]|9[04-9])|8[02-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[27-9]\"]]],\"0\"],\"LC\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|758|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-8]\\\\d{6})$|1\",\"758$1\",0,\"758\"],\"LI\":[\"423\",\"00\",\"[68]\\\\d{8}|(?:[2378]\\\\d|90)\\\\d{5}\",[7,9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[2379]|8(?:0[09]|7)\",\"[2379]|8(?:0(?:02|9)|7)\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"69\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6\"]]],\"0\",0,\"(1001)|0\"],\"LK\":[\"94\",\"00\",\"[1-9]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[1-689]\"],\"0$1\"]],\"0\"],\"LR\":[\"231\",\"00\",\"(?:[2457]\\\\d|33|88)\\\\d{7}|(?:2\\\\d|[4-6])\\\\d{6}\",[7,8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"4[67]|[56]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-578]\"],\"0$1\"]],\"0\"],\"LS\":[\"266\",\"00\",\"(?:[256]\\\\d\\\\d|800)\\\\d{5}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2568]\"]]]],\"LT\":[\"370\",\"00\",\"(?:[3469]\\\\d|52|[78]0)\\\\d{6}\",[8],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"52[0-7]\"],\"(0-$1)\",1],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[7-9]\"],\"0 $1\",1],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"37|4(?:[15]|6[1-8])\"],\"(0-$1)\",1],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[3-6]\"],\"(0-$1)\",1]],\"0\",0,\"[08]\"],\"LU\":[\"352\",\"00\",\"35[013-9]\\\\d{4,8}|6\\\\d{8}|35\\\\d{2,4}|(?:[2457-9]\\\\d|3[0-46-9])\\\\d{2,9}\",[4,5,6,7,8,9,10,11],[[\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"20[2-689]\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,2})\",\"$1 $2 $3 $4\",[\"2(?:[0367]|4[3-8])\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"80[01]|90[015]\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"20\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,2})\",\"$1 $2 $3 $4 $5\",[\"2(?:[0367]|4[3-8])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,5})\",\"$1 $2 $3 $4\",[\"[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]\"]]],0,0,\"(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\\\d)\"],\"LV\":[\"371\",\"00\",\"(?:[268]\\\\d|78|90)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2679]|8[01]\"]]]],\"LY\":[\"218\",\"00\",\"[2-9]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{7})\",\"$1-$2\",[\"[2-9]\"],\"0$1\"]],\"0\"],\"MA\":[\"212\",\"00\",\"[5-8]\\\\d{8}\",[9],[[\"(\\\\d{4})(\\\\d{5})\",\"$1-$2\",[\"892\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1-$2\",[\"8(?:0[0-7]|9)\"],\"0$1\"],[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"[5-8]\"],\"0$1\"]],\"0\",0,0,0,0,\"[5-8]\"],\"MC\":[\"377\",\"00\",\"(?:[3489]|[67]\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"4\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[389]\"]],[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"[67]\"],\"0$1\"]],\"0\"],\"MD\":[\"373\",\"00\",\"(?:[235-7]\\\\d|[89]0)\\\\d{6}\",[8],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"22|3\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[25-7]\"],\"0$1\"]],\"0\"],\"ME\":[\"382\",\"00\",\"(?:20|[3-79]\\\\d)\\\\d{6}|80\\\\d{6,7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-9]\"],\"0$1\"]],\"0\"],\"MF\":[\"590\",\"00\",\"(?:590\\\\d|7090)\\\\d{5}|(?:69|80|9\\\\d)\\\\d{7}\",[9],0,\"0\",0,0,0,0,0,[[\"590(?:0[079]|[14]3|[27][79]|3[03-7]|5[0-268]|87)\\\\d{4}\"],[\"(?:69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\\\d)|6(?:1[016-9]|5[0-4]|[67]\\\\d))|7090[0-4])\\\\d{4}\"],[\"80[0-5]\\\\d{6}\"],0,0,0,0,0,[\"9(?:(?:39[5-7]|76[018])\\\\d|475[0-6])\\\\d{4}\"]]],\"MG\":[\"261\",\"00\",\"[23]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[23]\"],\"0$1\"]],\"0\",0,\"([24-9]\\\\d{6})$|0\",\"20$1\"],\"MH\":[\"692\",\"011\",\"329\\\\d{4}|(?:[256]\\\\d|45)\\\\d{5}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[2-6]\"]]],\"1\"],\"MK\":[\"389\",\"00\",\"[2-578]\\\\d{7}\",[8],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2|34[47]|4(?:[37]7|5[47]|64)\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[347]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[58]\"],\"0$1\"]],\"0\"],\"ML\":[\"223\",\"00\",\"[24-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[24-9]\"]]]],\"MM\":[\"95\",\"00\",\"1\\\\d{5,7}|95\\\\d{6}|(?:[4-7]|9[0-46-9])\\\\d{6,8}|(?:2|8\\\\d)\\\\d{5,8}\",[6,7,8,9,10],[[\"(\\\\d)(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"16|2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"4(?:[2-46]|5[3-5])|5|6(?:[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-5]|(?:60|86)[23]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[12]|452|678|86\",\"[12]|452|6788|86\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[4-7]|8[1-35]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4,6})\",\"$1 $2 $3\",[\"9(?:2[0-4]|[35-9]|4[137-9])\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"92\"],\"0$1\"],[\"(\\\\d)(\\\\d{5})(\\\\d{4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"]],\"0\"],\"MN\":[\"976\",\"001\",\"[12]\\\\d{7,9}|[5-9]\\\\d{7}\",[8,9,10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[12]1\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[5-9]\"]],[\"(\\\\d{3})(\\\\d{5,6})\",\"$1 $2\",[\"[12]2[1-3]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5,6})\",\"$1 $2\",[\"[12](?:27|3[2-8]|4[2-68]|5[1-4689])\",\"[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{4,5})\",\"$1 $2\",[\"[12]\"],\"0$1\"]],\"0\"],\"MO\":[\"853\",\"00\",\"0800\\\\d{3}|(?:28|[68]\\\\d)\\\\d{6}\",[7,8],[[\"(\\\\d{4})(\\\\d{3})\",\"$1 $2\",[\"0\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[268]\"]]]],\"MP\":[\"1\",\"011\",\"[58]\\\\d{9}|(?:67|90)0\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"670$1\",0,\"670\"],\"MQ\":[\"596\",\"00\",\"(?:596\\\\d|7091)\\\\d{5}|(?:69|[89]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-79]|8(?:0[6-9]|[36])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\"],\"MR\":[\"222\",\"00\",\"(?:[2-4]\\\\d\\\\d|800)\\\\d{5}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-48]\"]]]],\"MS\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|664|900)\\\\d{7}\",[10],0,\"1\",0,\"([34]\\\\d{6})$|1\",\"664$1\",0,\"664\"],\"MT\":[\"356\",\"00\",\"3550\\\\d{4}|(?:[2579]\\\\d\\\\d|800)\\\\d{5}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2357-9]\"]]]],\"MU\":[\"230\",\"0(?:0|[24-7]0|3[03])\",\"(?:[57]|8\\\\d\\\\d)\\\\d{7}|[2-468]\\\\d{6}\",[7,8,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-46]|8[013]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[57]\"]],[\"(\\\\d{5})(\\\\d{5})\",\"$1 $2\",[\"8\"]]],0,0,0,0,0,0,0,\"020\"],\"MV\":[\"960\",\"0(?:0|19)\",\"(?:800|9[0-57-9]\\\\d)\\\\d{7}|[34679]\\\\d{6}\",[7,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[34679]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"]]],0,0,0,0,0,0,0,\"00\"],\"MW\":[\"265\",\"00\",\"(?:[1289]\\\\d|31|77)\\\\d{7}|1\\\\d{6}\",[7,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1[2-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[137-9]\"],\"0$1\"]],\"0\"],\"MX\":[\"52\",\"0[09]\",\"[2-9]\\\\d{9}\",[10],[[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"33|5[56]|81\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-9]\"]]],0,0,0,0,0,0,0,\"00\"],\"MY\":[\"60\",\"00\",\"1\\\\d{8,9}|(?:3\\\\d|[4-9])\\\\d{7}\",[8,9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1-$2 $3\",[\"[4-79]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1-$2 $3\",[\"1(?:[02469]|[378][1-9]|53)|8\",\"1(?:[02469]|[37][1-9]|53|8(?:[1-46-9]|5[7-9]))|8\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1-$2 $3\",[\"3\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1-$2-$3-$4\",[\"1(?:[367]|80)\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2 $3\",[\"15\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2 $3\",[\"1\"],\"0$1\"]],\"0\"],\"MZ\":[\"258\",\"00\",\"(?:2|8\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2|8[2-79]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]]]],\"NA\":[\"264\",\"00\",\"[68]\\\\d{7,8}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"88\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"6\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"87\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"],\"0$1\"]],\"0\"],\"NC\":[\"687\",\"00\",\"(?:050|[2-57-9]\\\\d\\\\d)\\\\d{3}\",[6],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1.$2.$3\",[\"[02-57-9]\"]]]],\"NE\":[\"227\",\"00\",\"[027-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"08\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[089]|2[013]|7[0467]\"]]]],\"NF\":[\"672\",\"00\",\"[13]\\\\d{5}\",[6],[[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"1[0-3]\"]],[\"(\\\\d)(\\\\d{5})\",\"$1 $2\",[\"[13]\"]]],0,0,\"([0-258]\\\\d{4})$\",\"3$1\"],\"NG\":[\"234\",\"009\",\"(?:20|9\\\\d)\\\\d{8}|[78]\\\\d{9,13}\",[10,11,12,13,14],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[7-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"20[129]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\",\"$1 $2 $3\",[\"[78]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5})(\\\\d{5,6})\",\"$1 $2 $3\",[\"[78]\"],\"0$1\"]],\"0\"],\"NI\":[\"505\",\"00\",\"(?:1800|[25-8]\\\\d{3})\\\\d{4}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[125-8]\"]]]],\"NL\":[\"31\",\"00\",\"(?:[124-7]\\\\d\\\\d|3(?:[02-9]\\\\d|1[0-8]))\\\\d{6}|8\\\\d{6,9}|9\\\\d{6,10}|1\\\\d{4,5}\",[5,6,7,8,9,10,11],[[\"(\\\\d{3})(\\\\d{4,7})\",\"$1 $2\",[\"[89]0\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"66\"],\"0$1\"],[\"(\\\\d)(\\\\d{8})\",\"$1 $2\",[\"6\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1[16-8]|2[259]|3[124]|4[17-9]|5[124679]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-578]|91\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\",\"$1 $2 $3\",[\"9\"],\"0$1\"]],\"0\"],\"NO\":[\"47\",\"00\",\"(?:0|[2-9]\\\\d{3})\\\\d{4}\",[5,8],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-79]\"]]],0,0,0,0,0,\"[02-689]|7[0-8]\"],\"NP\":[\"977\",\"00\",\"(?:1\\\\d|9)\\\\d{9}|[1-9]\\\\d{7}\",[8,10,11],[[\"(\\\\d)(\\\\d{7})\",\"$1-$2\",[\"1[2-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1-$2\",[\"1[01]|[2-8]|9(?:[1-59]|[67][2-6])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1-$2\",[\"9\"]]],\"0\"],\"NR\":[\"674\",\"00\",\"(?:222|444|(?:55|8\\\\d)\\\\d|666|777|999)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[24-9]\"]]]],\"NU\":[\"683\",\"00\",\"(?:[4-7]|888\\\\d)\\\\d{3}\",[4,7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"8\"]]]],\"NZ\":[\"64\",\"0(?:0|161)\",\"[1289]\\\\d{9}|50\\\\d{5}(?:\\\\d{2,3})?|[27-9]\\\\d{7,8}|(?:[34]\\\\d|6[0-35-9])\\\\d{6}|8\\\\d{4,6}\",[5,6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{3,8})\",\"$1 $2\",[\"8[1-79]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"50[036-8]|8|90\",\"50(?:[0367]|88)|8|90\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"24|[346]|7[2-57-9]|9[2-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2(?:10|74)|[589]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"1|2[028]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,5})\",\"$1 $2 $3\",[\"2(?:[169]|7[0-35-9])|7\"],\"0$1\"]],\"0\",0,0,0,0,0,0,\"00\"],\"OM\":[\"968\",\"00\",\"(?:1505|[279]\\\\d{3}|500)\\\\d{4}|800\\\\d{5,6}\",[7,8,9],[[\"(\\\\d{3})(\\\\d{4,6})\",\"$1 $2\",[\"[58]\"]],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"2\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[179]\"]]]],\"PA\":[\"507\",\"00\",\"(?:00800|8\\\\d{3})\\\\d{6}|[68]\\\\d{7}|[1-57-9]\\\\d{6}\",[7,8,10,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[1-57-9]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"[68]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]]]],\"PE\":[\"51\",\"00|19(?:1[124]|77|90)00\",\"(?:[14-8]|9\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"80\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"1\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[4-8]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"]]],\"0\",0,0,0,0,0,0,\"00\",\" Anexo \"],\"PF\":[\"689\",\"00\",\"4\\\\d{5}(?:\\\\d{2})?|8\\\\d{7,8}\",[6,8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"44\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"4|8[7-9]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"]]]],\"PG\":[\"675\",\"00|140[1-3]\",\"(?:180|[78]\\\\d{3})\\\\d{4}|(?:[2-589]\\\\d|64)\\\\d{5}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"18|[2-69]|85\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[78]\"]]],0,0,0,0,0,0,0,\"00\"],\"PH\":[\"63\",\"00\",\"(?:[2-7]|9\\\\d)\\\\d{8}|2\\\\d{5}|(?:1800|8)\\\\d{7,9}\",[6,8,9,10,11,12,13],[[\"(\\\\d)(\\\\d{5})\",\"$1 $2\",[\"2\"],\"(0$1)\"],[\"(\\\\d{4})(\\\\d{4,6})\",\"$1 $2\",[\"3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2\",\"3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))\"],\"(0$1)\"],[\"(\\\\d{5})(\\\\d{4})\",\"$1 $2\",[\"346|4(?:27|9[35])|883\",\"3469|4(?:279|9(?:30|56))|8834\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[3-7]|8[2-8]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]],[\"(\\\\d{4})(\\\\d{1,2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"1\"]]],\"0\"],\"PK\":[\"92\",\"00\",\"122\\\\d{6}|[24-8]\\\\d{10,11}|9(?:[013-9]\\\\d{8,10}|2(?:[01]\\\\d\\\\d|2(?:[06-8]\\\\d|1[01]))\\\\d{7})|(?:[2-8]\\\\d{3}|92(?:[0-7]\\\\d|8[1-9]))\\\\d{6}|[24-9]\\\\d{8}|[89]\\\\d{7}\",[8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{2,7})\",\"$1 $2 $3\",[\"[89]0\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"1\"]],[\"(\\\\d{3})(\\\\d{6,7})\",\"$1 $2\",[\"2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])\",\"9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{7,8})\",\"$1 $2\",[\"(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]\"],\"(0$1)\"],[\"(\\\\d{5})(\\\\d{5})\",\"$1 $2\",[\"58\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"3\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"[24-9]\"],\"(0$1)\"]],\"0\"],\"PL\":[\"48\",\"00\",\"(?:6|8\\\\d\\\\d)\\\\d{7}|[1-9]\\\\d{6}(?:\\\\d{2})?|[26]\\\\d{5}\",[6,7,8,9,10],[[\"(\\\\d{5})\",\"$1\",[\"19\"]],[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"11|20|64\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1\",\"(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"64\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"21|39|45|5[0137]|6[0469]|7[02389]|8(?:0[14]|8)\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"1[2-8]|[2-7]|8[1-79]|9[145]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"8\"]]]],\"PM\":[\"508\",\"00\",\"[45]\\\\d{5}|(?:708|8\\\\d\\\\d)\\\\d{6}\",[6,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[45]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\"],\"PR\":[\"1\",\"011\",\"(?:[589]\\\\d\\\\d|787)\\\\d{7}\",[10],0,\"1\",0,0,0,0,\"787|939\"],\"PS\":[\"970\",\"00\",\"[2489]2\\\\d{6}|(?:1\\\\d|5)\\\\d{8}\",[8,9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2489]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"5\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]]],\"0\"],\"PT\":[\"351\",\"00\",\"1693\\\\d{5}|(?:[26-9]\\\\d|30)\\\\d{7}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2[12]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"16|[236-9]\"]]]],\"PW\":[\"680\",\"01[12]\",\"(?:[24-8]\\\\d\\\\d|345|900)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-9]\"]]]],\"PY\":[\"595\",\"00\",\"[36-8]\\\\d{5,8}|4\\\\d{6,8}|59\\\\d{6}|9\\\\d{5,10}|(?:2\\\\d|5[0-8])\\\\d{6,7}\",[6,7,8,9,10,11],[[\"(\\\\d{3})(\\\\d{3,6})\",\"$1 $2\",[\"[2-9]0\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"3[289]|4[246-8]|61|7[1-3]|8[1-36]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{4,5})\",\"$1 $2\",[\"2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"87\"]],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"9(?:[5-79]|8[1-7])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-8]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"9\"]]],\"0\"],\"QA\":[\"974\",\"00\",\"800\\\\d{4}|(?:2|800)\\\\d{6}|(?:0080|[3-7])\\\\d{7}\",[7,8,9,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"2[136]|8\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[3-7]\"]]]],\"RE\":[\"262\",\"00\",\"709\\\\d{6}|(?:26|[689]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[26-9]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"26(?:2\\\\d\\\\d|3(?:0\\\\d|1[0-6]))\\\\d{4}\"],[\"(?:69(?:2\\\\d\\\\d|3(?:[06][0-6]|1[0-3]|2[0-2]|3[0-39]|4\\\\d|5[0-5]|7[0-37]|8[0-8]|9[0-479]))|7092[0-3])\\\\d{4}\"],[\"80\\\\d{7}\"],[\"89[1-37-9]\\\\d{6}\"],0,0,0,0,[\"9(?:399[0-3]|479[0-6]|76(?:2[278]|3[0-37]))\\\\d{4}\"],[\"8(?:1[019]|2[0156]|84|90)\\\\d{6}\"]]],\"RO\":[\"40\",\"00\",\"(?:[236-8]\\\\d|90)\\\\d{7}|[23]\\\\d{5}\",[6,9],[[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"2[3-6]\",\"2[3-6]\\\\d9\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"219|31\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[23]1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[236-9]\"],\"0$1\"]],\"0\",0,0,0,0,0,0,0,\" int \"],\"RS\":[\"381\",\"00\",\"38[02-9]\\\\d{6,9}|6\\\\d{7,9}|90\\\\d{4,8}|38\\\\d{5,6}|(?:7\\\\d\\\\d|800)\\\\d{3,9}|(?:[12]\\\\d|3[0-79])\\\\d{5,10}\",[6,7,8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{3,9})\",\"$1 $2\",[\"(?:2[389]|39)0|[7-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5,10})\",\"$1 $2\",[\"[1-36]\"],\"0$1\"]],\"0\"],\"RU\":[\"7\",\"810\",\"8\\\\d{13}|[347-9]\\\\d{9}\",[10,14],[[\"(\\\\d{4})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"7(?:1[0-8]|2[1-9])\",\"7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))\",\"7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2\"],\"8 ($1)\",1],[\"(\\\\d{5})(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"7(?:1[0-68]|2[1-9])\",\"7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))\",\"7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]\"],\"8 ($1)\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"8 ($1)\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"[349]|8(?:[02-7]|1[1-8])\"],\"8 ($1)\",1],[\"(\\\\d{4})(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"8\"],\"8 ($1)\"]],\"8\",0,0,0,0,0,[[\"336(?:[013-9]\\\\d|2[013-9])\\\\d{5}|(?:3(?:0[12]|4[1-35-79]|5[1-3]|65|8[1-58]|9[0145])|4(?:01|1[1356]|2[13467]|7[1-5]|8[1-7]|9[1-689])|8(?:1[1-8]|2[01]|3[13-6]|4[0-8]|5[15-7]|6[0-35-79]|7[1-37-9]))\\\\d{7}\",[10]],[\"9\\\\d{9}\",[10]],[\"8(?:0[04]|108\\\\d{3})\\\\d{7}\"],[\"80[39]\\\\d{7}\",[10]],[\"808\\\\d{7}\",[10]]],\"8~10\"],\"RW\":[\"250\",\"00\",\"(?:06|[27]\\\\d\\\\d|[89]00)\\\\d{6}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"0\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[7-9]\"],\"0$1\"]],\"0\"],\"SA\":[\"966\",\"00\",\"(?:[15]\\\\d|800|92)\\\\d{7}\",[9,10],[[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"9\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"5\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]]],\"0\"],\"SB\":[\"677\",\"0[01]\",\"[6-9]\\\\d{6}|[1-6]\\\\d{4}\",[5,7],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"6[89]|7|8[4-9]|9(?:[1-8]|9[0-8])\"]]]],\"SC\":[\"248\",\"010|0[0-2]\",\"(?:[2489]\\\\d|64)\\\\d{5}\",[7],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[246]|9[57]\"]]],0,0,0,0,0,0,0,\"00\"],\"SD\":[\"249\",\"00\",\"[19]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[19]\"],\"0$1\"]],\"0\"],\"SE\":[\"46\",\"00\",\"(?:[26]\\\\d\\\\d|9)\\\\d{9}|[1-9]\\\\d{8}|[1-689]\\\\d{7}|[1-4689]\\\\d{6}|2\\\\d{5}\",[6,7,8,9,10,12],[[\"(\\\\d{2})(\\\\d{2,3})(\\\\d{2})\",\"$1-$2 $3\",[\"20\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"9(?:00|39|44|9)\"],\"0$1\",0,\"$1 $2\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})\",\"$1-$2 $3\",[\"[12][136]|3[356]|4[0246]|6[03]|90[1-9]\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d)(\\\\d{2,3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"8\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2,3})(\\\\d{2})\",\"$1-$2 $3\",[\"1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d{3})(\\\\d{2,3})(\\\\d{3})\",\"$1-$2 $3\",[\"9(?:00|39|44)\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d{2})(\\\\d{2,3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"10|7\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"8\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1-$2 $3 $4\",[\"9\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4 $5\",[\"[26]\"],\"0$1\",0,\"$1 $2 $3 $4 $5\"]],\"0\"],\"SG\":[\"65\",\"0[0-3]\\\\d\",\"(?:(?:1\\\\d|8)\\\\d\\\\d|7000)\\\\d{7}|[3689]\\\\d{7}\",[8,10,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[369]|8(?:0[1-9]|[1-9])\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{4})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]]]],\"SH\":[\"290\",\"00\",\"(?:[256]\\\\d|8)\\\\d{3}\",[4,5],0,0,0,0,0,0,\"[256]\"],\"SI\":[\"386\",\"00|10(?:22|66|88|99)\",\"[1-7]\\\\d{7}|8\\\\d{4,7}|90\\\\d{4,6}\",[5,6,7,8],[[\"(\\\\d{2})(\\\\d{3,6})\",\"$1 $2\",[\"8[09]|9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"59|8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[37][01]|4[0139]|51|6\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[1-57]\"],\"(0$1)\"]],\"0\",0,0,0,0,0,0,\"00\"],\"SJ\":[\"47\",\"00\",\"0\\\\d{4}|(?:[489]\\\\d|79)\\\\d{6}\",[5,8],0,0,0,0,0,0,\"79\"],\"SK\":[\"421\",\"00\",\"[2-689]\\\\d{8}|[2-59]\\\\d{6}|[2-5]\\\\d{5}\",[6,7,9],[[\"(\\\\d)(\\\\d{2})(\\\\d{3,4})\",\"$1 $2 $3\",[\"21\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"[3-5][1-8]1\",\"[3-5][1-8]1[67]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1/$2 $3 $4\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[689]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1/$2 $3 $4\",[\"[3-5]\"],\"0$1\"]],\"0\"],\"SL\":[\"232\",\"00\",\"(?:[237-9]\\\\d|66)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[236-9]\"],\"(0$1)\"]],\"0\"],\"SM\":[\"378\",\"00\",\"(?:0549|[5-7]\\\\d)\\\\d{6}\",[8,10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-7]\"]],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"0\"]]],0,0,\"([89]\\\\d{5})$\",\"0549$1\"],\"SN\":[\"221\",\"00\",\"(?:[378]\\\\d|93)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[379]\"]]]],\"SO\":[\"252\",\"00\",\"[346-9]\\\\d{8}|[12679]\\\\d{7}|[1-5]\\\\d{6}|[1348]\\\\d{5}\",[6,7,8,9],[[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"8[125]\"]],[\"(\\\\d{6})\",\"$1\",[\"[134]\"]],[\"(\\\\d)(\\\\d{6})\",\"$1 $2\",[\"[15]|2[0-79]|3[0-46-8]|4[0-7]\"]],[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"(?:2|90)4|[67]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[348]|64|79|90\"]],[\"(\\\\d{2})(\\\\d{5,7})\",\"$1 $2\",[\"1|28|6[0-35-9]|7[67]|9[2-9]\"]]],\"0\"],\"SR\":[\"597\",\"00\",\"(?:[2-5]|[6-8]\\\\d|90)\\\\d{5}\",[6,7],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1-$2-$3\",[\"56\"]],[\"(\\\\d{3})(\\\\d{3})\",\"$1-$2\",[\"[2-5]\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[6-9]\"]]]],\"SS\":[\"211\",\"00\",\"[19]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[19]\"],\"0$1\"]],\"0\"],\"ST\":[\"239\",\"00\",\"(?:22|9\\\\d)\\\\d{5}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[29]\"]]]],\"SV\":[\"503\",\"00\",\"[25-7]\\\\d{7}|(?:80\\\\d|900)\\\\d{4}(?:\\\\d{4})?\",[7,8,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[89]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[25-7]\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"]]]],\"SX\":[\"1\",\"011\",\"7215\\\\d{6}|(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"(5\\\\d{6})$|1\",\"721$1\",0,\"721\"],\"SY\":[\"963\",\"00\",\"[1-359]\\\\d{8}|[1-5]\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[1-4]|5[1-3]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[59]\"],\"0$1\",1]],\"0\"],\"SZ\":[\"268\",\"00\",\"0800\\\\d{4}|(?:[237]\\\\d|900)\\\\d{6}\",[8,9],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[0237]\"]],[\"(\\\\d{5})(\\\\d{4})\",\"$1 $2\",[\"9\"]]]],\"TA\":[\"290\",\"00\",\"8\\\\d{3}\",[4],0,0,0,0,0,0,\"8\"],\"TC\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|649|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-479]\\\\d{6})$|1\",\"649$1\",0,\"649\"],\"TD\":[\"235\",\"00|16\",\"(?:22|30|[689]\\\\d|77)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[236-9]\"]]],0,0,0,0,0,0,0,\"00\"],\"TG\":[\"228\",\"00\",\"[279]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[279]\"]]]],\"TH\":[\"66\",\"00[1-9]\",\"(?:001800|[2-57]|[689]\\\\d)\\\\d{7}|1\\\\d{7,9}\",[8,9,10,13],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[13-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]]],\"0\"],\"TJ\":[\"992\",\"810\",\"(?:[0-57-9]\\\\d|66)\\\\d{7}\",[9],[[\"(\\\\d{6})(\\\\d)(\\\\d{2})\",\"$1 $2 $3\",[\"331\",\"3317\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"44[02-479]|[34]7\"]],[\"(\\\\d{4})(\\\\d)(\\\\d{4})\",\"$1 $2 $3\",[\"3(?:[1245]|3[12])\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"\\\\d\"]]],0,0,0,0,0,0,0,\"8~10\"],\"TK\":[\"690\",\"00\",\"[2-47]\\\\d{3,6}\",[4,5,6,7]],\"TL\":[\"670\",\"00\",\"7\\\\d{7}|(?:[2-47]\\\\d|[89]0)\\\\d{5}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-489]|70\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"7\"]]]],\"TM\":[\"993\",\"810\",\"(?:[1-6]\\\\d|71)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"12\"],\"(8 $1)\"],[\"(\\\\d{3})(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"[1-5]\"],\"(8 $1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[67]\"],\"8 $1\"]],\"8\",0,0,0,0,0,0,\"8~10\"],\"TN\":[\"216\",\"00\",\"[2-57-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-57-9]\"]]]],\"TO\":[\"676\",\"00\",\"(?:0800|(?:[5-8]\\\\d\\\\d|999)\\\\d)\\\\d{3}|[2-8]\\\\d{4}\",[5,7],[[\"(\\\\d{2})(\\\\d{3})\",\"$1-$2\",[\"[2-4]|50|6[09]|7[0-24-69]|8[05]\"]],[\"(\\\\d{4})(\\\\d{3})\",\"$1 $2\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[5-9]\"]]]],\"TR\":[\"90\",\"00\",\"4\\\\d{6}|8\\\\d{11,12}|(?:[2-58]\\\\d\\\\d|900)\\\\d{7}\",[7,10,12,13],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"512|8[01589]|90\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"5(?:[0-59]|61)\",\"5(?:[0-59]|61[06])\",\"5(?:[0-59]|61[06]1)\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[24][1-8]|3[1-9]\"],\"(0$1)\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{6,7})\",\"$1 $2 $3\",[\"80\"],\"0$1\",1]],\"0\"],\"TT\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-46-8]\\\\d{6})$|1\",\"868$1\",0,\"868\"],\"TV\":[\"688\",\"00\",\"(?:2|7\\\\d\\\\d|90)\\\\d{4}\",[5,6,7],[[\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"2\"]],[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"90\"]],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"7\"]]]],\"TW\":[\"886\",\"0(?:0[25-79]|19)\",\"[2-689]\\\\d{8}|7\\\\d{9,10}|[2-8]\\\\d{7}|2\\\\d{6}\",[7,8,9,10,11],[[\"(\\\\d{2})(\\\\d)(\\\\d{4})\",\"$1 $2 $3\",[\"202\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[258]0\"],\"0$1\"],[\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"[23568]|4(?:0[02-48]|[1-47-9])|7[1-9]\",\"[23568]|4(?:0[2-48]|[1-47-9])|(?:400|7)[1-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[49]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4,5})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\",0,0,0,0,0,0,0,\"#\"],\"TZ\":[\"255\",\"00[056]\",\"(?:[25-8]\\\\d|41|90)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[24]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"5\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[67]\"],\"0$1\"]],\"0\"],\"UA\":[\"380\",\"00\",\"[89]\\\\d{9}|[3-9]\\\\d{8}\",[9,10],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]\",\"6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6[0135689]|7[4-6])|6(?:[12][3-7]|[459])\",\"3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6(?:[015689]|3[02389])|7[4-6])|6(?:[12][3-7]|[459])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[3-7]|89|9[1-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"]],\"0\",0,0,0,0,0,0,\"0~0\"],\"UG\":[\"256\",\"00[057]\",\"800\\\\d{6}|(?:[29]0|[347]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"202\",\"2024\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"[27-9]|4(?:6[45]|[7-9])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"[34]\"],\"0$1\"]],\"0\"],\"US\":[\"1\",\"011\",\"[2-9]\\\\d{9}|3\\\\d{6}\",[10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"310\"],0,1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"($1) $2-$3\",[\"[2-9]\"],0,1,\"$1-$2-$3\"]],\"1\",0,0,0,0,0,[[\"(?:274[27]|(?:472|983)[2-47-9])\\\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[013-79]|3[0-24679]|4[167]|5[0-3]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-269])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[0-247]|4[0378]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[0168]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-3589]|8[04-69]))[2-9]\\\\d{6}\"],[\"\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|3[23]|44|66|77|88)[2-9]\\\\d{6}\"]]],\"UY\":[\"598\",\"0(?:0|1[3-9]\\\\d)\",\"0004\\\\d{2,9}|[1249]\\\\d{7}|2\\\\d{3,4}|(?:[49]\\\\d|80)\\\\d{5}\",[4,5,6,7,8,9,10,11,12,13],[[\"(\\\\d{4,5})\",\"$1\",[\"21\"]],[\"(\\\\d{3})(\\\\d{3,4})\",\"$1 $2\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[49]0|8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[124]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2,4})\",\"$1 $2 $3\",[\"0\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{2,4})\",\"$1 $2 $3 $4\",[\"0\"]]],\"0\",0,0,0,0,0,0,\"00\",\" int. \"],\"UZ\":[\"998\",\"00\",\"(?:20|33|[5-9]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[235-9]\"]]]],\"VA\":[\"39\",\"00\",\"0\\\\d{5,10}|3[0-8]\\\\d{7,10}|55\\\\d{8}|8\\\\d{5}(?:\\\\d{2,4})?|(?:1\\\\d|39)\\\\d{7,8}\",[6,7,8,9,10,11,12],0,0,0,0,0,0,\"06698\"],\"VC\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|784|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-7]\\\\d{6})$|1\",\"784$1\",0,\"784\"],\"VE\":[\"58\",\"00\",\"[68]00\\\\d{7}|(?:[24]\\\\d|[59]0)\\\\d{8}\",[10],[[\"(\\\\d{3})(\\\\d{7})\",\"$1-$2\",[\"[24-689]\"],\"0$1\"]],\"0\"],\"VG\":[\"1\",\"011\",\"(?:284|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-578]\\\\d{6})$|1\",\"284$1\",0,\"284\"],\"VI\":[\"1\",\"011\",\"[58]\\\\d{9}|(?:34|90)0\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"340$1\",0,\"340\"],\"VN\":[\"84\",\"00\",\"[12]\\\\d{9}|[135-9]\\\\d{8}|[16]\\\\d{7}|[16-8]\\\\d{6}\",[7,8,9,10],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"80\"],\"0$1\",1],[\"(\\\\d{4})(\\\\d{4,6})\",\"$1 $2\",[\"1\"],0,1],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"6\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[357-9]\"],\"0$1\",1],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2[48]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\",1]],\"0\"],\"VU\":[\"678\",\"00\",\"[57-9]\\\\d{6}|(?:[238]\\\\d|48)\\\\d{3}\",[5,7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[57-9]\"]]]],\"WF\":[\"681\",\"00\",\"(?:40|72|8\\\\d{4})\\\\d{4}|[89]\\\\d{5}\",[6,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[47-9]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"]]]],\"WS\":[\"685\",\"0\",\"(?:[2-6]|8\\\\d{5})\\\\d{4}|[78]\\\\d{6}|[68]\\\\d{5}\",[5,6,7,10],[[\"(\\\\d{5})\",\"$1\",[\"[2-5]|6[1-9]\"]],[\"(\\\\d{3})(\\\\d{3,7})\",\"$1 $2\",[\"[68]\"]],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"7\"]]]],\"XK\":[\"383\",\"00\",\"2\\\\d{7,8}|3\\\\d{7,11}|(?:4\\\\d\\\\d|[89]00)\\\\d{5}\",[8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-4]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2|39\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7,10})\",\"$1 $2\",[\"3\"],\"0$1\"]],\"0\"],\"YE\":[\"967\",\"00\",\"(?:1|7\\\\d)\\\\d{7}|[1-7]\\\\d{6}\",[7,8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[1-6]|7(?:[24-6]|8[0-7])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\"],\"YT\":[\"262\",\"00\",\"7093\\\\d{5}|(?:80|9\\\\d)\\\\d{7}|(?:26|63)9\\\\d{6}\",[9],0,\"0\",0,0,0,0,0,[[\"269(?:0[0-467]|15|5[0-4]|6\\\\d|[78]0)\\\\d{4}\"],[\"(?:639(?:0[0-79]|1[019]|[267]\\\\d|3[09]|40|5[05-9]|9[04-79])|7093[5-7])\\\\d{4}\"],[\"80\\\\d{7}\"],0,0,0,0,0,[\"9(?:(?:39|47)8[01]|769\\\\d)\\\\d{4}\"]]],\"ZA\":[\"27\",\"00\",\"[1-79]\\\\d{8}|8\\\\d{4,9}\",[5,6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{3,4})\",\"$1 $2\",[\"8[1-4]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\"$1 $2 $3\",[\"8[1-4]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"860\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"],\"0$1\"]],\"0\"],\"ZM\":[\"260\",\"00\",\"800\\\\d{6}|(?:21|[579]\\\\d|63)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[28]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"[579]\"],\"0$1\"]],\"0\"],\"ZW\":[\"263\",\"00\",\"2(?:[0-57-9]\\\\d{6,8}|6[0-24-9]\\\\d{6,7})|[38]\\\\d{9}|[35-8]\\\\d{8}|[3-6]\\\\d{7}|[1-689]\\\\d{6}|[1-3569]\\\\d{5}|[1356]\\\\d{4}\",[5,6,7,8,9,10],[[\"(\\\\d{3})(\\\\d{3,5})\",\"$1 $2\",[\"2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2,4})\",\"$1 $2 $3\",[\"[49]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"80\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2\",\"2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)\",\"2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,5})\",\"$1 $2\",[\"1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"29[013-9]|39|54\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3,5})\",\"$1 $2\",[\"(?:25|54)8\",\"258|5483\"],\"0$1\"]],\"0\"]},\"nonGeographic\":{\"800\":[\"800\",0,\"(?:00|[1-9]\\\\d)\\\\d{6}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"\\\\d\"]]],0,0,0,0,0,0,[0,0,[\"(?:00|[1-9]\\\\d)\\\\d{6}\"]]],\"808\":[\"808\",0,\"[1-9]\\\\d{7}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[1-9]\"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,0,[\"[1-9]\\\\d{7}\"]]],\"870\":[\"870\",0,\"7\\\\d{11}|[235-7]\\\\d{8}\",[9,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[235-7]\"]]],0,0,0,0,0,0,[0,[\"(?:[356]|774[45])\\\\d{8}|7[6-8]\\\\d{7}\"],0,0,0,0,0,0,[\"2\\\\d{8}\",[9]]]],\"878\":[\"878\",0,\"10\\\\d{10}\",[12],[[\"(\\\\d{2})(\\\\d{5})(\\\\d{5})\",\"$1 $2 $3\",[\"1\"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,[\"10\\\\d{10}\"]]],\"881\":[\"881\",0,\"6\\\\d{9}|[0-36-9]\\\\d{8}\",[9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{5})\",\"$1 $2 $3\",[\"[0-37-9]\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{5,6})\",\"$1 $2 $3\",[\"6\"]]],0,0,0,0,0,0,[0,[\"6\\\\d{9}|[0-36-9]\\\\d{8}\"]]],\"882\":[\"882\",0,\"[13]\\\\d{6}(?:\\\\d{2,5})?|[19]\\\\d{7}|(?:[25]\\\\d\\\\d|4)\\\\d{7}(?:\\\\d{2})?\",[7,8,9,10,11,12],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"16|342\"]],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"49\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"1[36]|9\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"3[23]\"]],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"16\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"10|23|3(?:[15]|4[57])|4|51\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"34\"]],[\"(\\\\d{2})(\\\\d{4,5})(\\\\d{5})\",\"$1 $2 $3\",[\"[1-35]\"]]],0,0,0,0,0,0,[0,[\"342\\\\d{4}|(?:337|49)\\\\d{6}|(?:3(?:2|47|7\\\\d{3})|50\\\\d{3})\\\\d{7}\",[7,8,9,10,12]],0,0,0,[\"348[57]\\\\d{7}\",[11]],0,0,[\"1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15-8]|9[0689])\\\\d{4}|6\\\\d{5,10})|(?:345\\\\d|9[89])\\\\d{6}|(?:10|2(?:3|85\\\\d)|3(?:[15]|[69]\\\\d\\\\d)|4[15-8]|51)\\\\d{8}\"]]],\"883\":[\"883\",0,\"(?:[1-4]\\\\d|51)\\\\d{6,10}\",[8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{2,8})\",\"$1 $2 $3\",[\"[14]|2[24-689]|3[02-689]|51[24-9]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"510\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"21\"]],[\"(\\\\d{4})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"51[13]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"[235]\"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,[\"(?:2(?:00\\\\d\\\\d|10)|(?:370[1-9]|51\\\\d0)\\\\d)\\\\d{7}|51(?:00\\\\d{5}|[24-9]0\\\\d{4,7})|(?:1[0-79]|2[24-689]|3[02-689]|4[0-4])0\\\\d{5,9}\"]]],\"888\":[\"888\",0,\"\\\\d{11}\",[11],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\",\"$1 $2 $3\"]],0,0,0,0,0,0,[0,0,0,0,0,0,[\"\\\\d{11}\"]]],\"979\":[\"979\",0,\"[1359]\\\\d{8}\",[9],[[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[1359]\"]]],0,0,0,0,0,0,[0,0,0,[\"[1359]\\\\d{8}\"]]]}}","// Importing from a \".js\" file is a workaround for Node.js \"ES Modules\"\r\n// importing system which is even uncapable of importing \"*.json\" files.\r\nimport metadata from '../../metadata.min.json.js'\r\n\r\nexport default function withMetadataArgument(func, _arguments) {\r\n\tvar args = Array.prototype.slice.call(_arguments)\r\n\targs.push(metadata)\r\n\treturn func.apply(this, args)\r\n}","// Copy-pasted from:\n// https://github.com/substack/semver-compare/blob/master/index.js\n//\n// Inlining this function because some users reported issues with\n// importing from `semver-compare` in a browser with ES6 \"native\" modules.\n//\n// Fixes `semver-compare` not being able to compare versions with alpha/beta/etc \"tags\".\n// https://github.com/catamphetamine/libphonenumber-js/issues/381\nexport default function (a, b) {\n  a = a.split('-');\n  b = b.split('-');\n  var pa = a[0].split('.');\n  var pb = b[0].split('.');\n  for (var i = 0; i < 3; i++) {\n    var na = Number(pa[i]);\n    var nb = Number(pb[i]);\n    if (na > nb) return 1;\n    if (nb > na) return -1;\n    if (!isNaN(na) && isNaN(nb)) return 1;\n    if (isNaN(na) && !isNaN(nb)) return -1;\n  }\n  if (a[1] && b[1]) {\n    return a[1] > b[1] ? 1 : a[1] < b[1] ? -1 : 0;\n  }\n  return !a[1] && b[1] ? 1 : a[1] && !b[1] ? -1 : 0;\n}\n//# sourceMappingURL=semver-compare.js.map","var objectConstructor = {}.constructor;\nexport default function isObject(object) {\n  return object !== undefined && object !== null && object.constructor === objectConstructor;\n}\n//# sourceMappingURL=isObject.js.map","function _readOnlyError(r) { throw new TypeError('\"' + r + '\" is read-only'); }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport compare from './tools/semver-compare.js';\nimport isObject from './helpers/isObject.js';\n\n// Added \"possibleLengths\" and renamed\n// \"country_phone_code_to_countries\" to \"country_calling_codes\".\nvar V2 = '1.0.18';\n\n// Added \"idd_prefix\" and \"default_idd_prefix\".\nvar V3 = '1.2.0';\n\n// Moved `001` country code to \"nonGeographic\" section of metadata.\nvar V4 = '1.7.35';\nvar DEFAULT_EXT_PREFIX = ' ext. ';\nvar CALLING_CODE_REG_EXP = /^\\d+$/;\n\n/**\r\n * See: https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/METADATA.md\r\n */\nvar Metadata = /*#__PURE__*/function () {\n  function Metadata(metadata) {\n    _classCallCheck(this, Metadata);\n    validateMetadata(metadata);\n    this.metadata = metadata;\n    setVersion.call(this, metadata);\n  }\n  return _createClass(Metadata, [{\n    key: \"getCountries\",\n    value: function getCountries() {\n      return Object.keys(this.metadata.countries).filter(function (_) {\n        return _ !== '001';\n      });\n    }\n  }, {\n    key: \"getCountryMetadata\",\n    value: function getCountryMetadata(countryCode) {\n      return this.metadata.countries[countryCode];\n    }\n  }, {\n    key: \"nonGeographic\",\n    value: function nonGeographic() {\n      if (this.v1 || this.v2 || this.v3) return;\n      // `nonGeographical` was a typo.\n      // It's present in metadata generated from `1.7.35` to `1.7.37`.\n      // The test case could be found by searching for \"nonGeographical\".\n      return this.metadata.nonGeographic || this.metadata.nonGeographical;\n    }\n  }, {\n    key: \"hasCountry\",\n    value: function hasCountry(country) {\n      return this.getCountryMetadata(country) !== undefined;\n    }\n  }, {\n    key: \"hasCallingCode\",\n    value: function hasCallingCode(callingCode) {\n      if (this.getCountryCodesForCallingCode(callingCode)) {\n        return true;\n      }\n      if (this.nonGeographic()) {\n        if (this.nonGeographic()[callingCode]) {\n          return true;\n        }\n      } else {\n        // A hacky workaround for old custom metadata (generated before V4).\n        var countryCodes = this.countryCallingCodes()[callingCode];\n        if (countryCodes && countryCodes.length === 1 && countryCodes[0] === '001') {\n          return true;\n        }\n      }\n    }\n  }, {\n    key: \"isNonGeographicCallingCode\",\n    value: function isNonGeographicCallingCode(callingCode) {\n      if (this.nonGeographic()) {\n        return this.nonGeographic()[callingCode] ? true : false;\n      } else {\n        return this.getCountryCodesForCallingCode(callingCode) ? false : true;\n      }\n    }\n\n    // Deprecated.\n  }, {\n    key: \"country\",\n    value: function country(countryCode) {\n      return this.selectNumberingPlan(countryCode);\n    }\n  }, {\n    key: \"selectNumberingPlan\",\n    value: function selectNumberingPlan(countryCode, callingCode) {\n      // Supports just passing `callingCode` as the first argument.\n      if (countryCode && CALLING_CODE_REG_EXP.test(countryCode)) {\n        callingCode = countryCode;\n        countryCode = null;\n      }\n      if (countryCode && countryCode !== '001') {\n        if (!this.hasCountry(countryCode)) {\n          throw new Error(\"Unknown country: \".concat(countryCode));\n        }\n        this.numberingPlan = new NumberingPlan(this.getCountryMetadata(countryCode), this);\n      } else if (callingCode) {\n        if (!this.hasCallingCode(callingCode)) {\n          throw new Error(\"Unknown calling code: \".concat(callingCode));\n        }\n        this.numberingPlan = new NumberingPlan(this.getNumberingPlanMetadata(callingCode), this);\n      } else {\n        this.numberingPlan = undefined;\n      }\n      return this;\n    }\n  }, {\n    key: \"getCountryCodesForCallingCode\",\n    value: function getCountryCodesForCallingCode(callingCode) {\n      var countryCodes = this.countryCallingCodes()[callingCode];\n      if (countryCodes) {\n        // Metadata before V4 included \"non-geographic entity\" calling codes\n        // inside `country_calling_codes` (for example, `\"881\":[\"001\"]`).\n        // Now the semantics of `country_calling_codes` has changed:\n        // it's specifically for \"countries\" now.\n        // Older versions of custom metadata will simply skip parsing\n        // \"non-geographic entity\" phone numbers with new versions\n        // of this library: it's not considered a bug,\n        // because such numbers are extremely rare,\n        // and developers extremely rarely use custom metadata.\n        if (countryCodes.length === 1 && countryCodes[0].length === 3) {\n          return;\n        }\n        return countryCodes;\n      }\n    }\n  }, {\n    key: \"getCountryCodeForCallingCode\",\n    value: function getCountryCodeForCallingCode(callingCode) {\n      var countryCodes = this.getCountryCodesForCallingCode(callingCode);\n      if (countryCodes) {\n        return countryCodes[0];\n      }\n    }\n  }, {\n    key: \"getNumberingPlanMetadata\",\n    value: function getNumberingPlanMetadata(callingCode) {\n      var countryCode = this.getCountryCodeForCallingCode(callingCode);\n      if (countryCode) {\n        return this.getCountryMetadata(countryCode);\n      }\n      if (this.nonGeographic()) {\n        var metadata = this.nonGeographic()[callingCode];\n        if (metadata) {\n          return metadata;\n        }\n      } else {\n        // A hacky workaround for old custom metadata (generated before V4).\n        // In that metadata, there was no concept of \"non-geographic\" metadata\n        // so metadata for `001` country code was stored along with other countries.\n        // The test case can be found by searching for:\n        // \"should work around `nonGeographic` metadata not existing\".\n        var countryCodes = this.countryCallingCodes()[callingCode];\n        if (countryCodes && countryCodes.length === 1 && countryCodes[0] === '001') {\n          return this.metadata.countries['001'];\n        }\n      }\n    }\n\n    // Deprecated.\n  }, {\n    key: \"countryCallingCode\",\n    value: function countryCallingCode() {\n      return this.numberingPlan.callingCode();\n    }\n\n    // Deprecated.\n  }, {\n    key: \"IDDPrefix\",\n    value: function IDDPrefix() {\n      return this.numberingPlan.IDDPrefix();\n    }\n\n    // Deprecated.\n  }, {\n    key: \"defaultIDDPrefix\",\n    value: function defaultIDDPrefix() {\n      return this.numberingPlan.defaultIDDPrefix();\n    }\n\n    // Deprecated.\n  }, {\n    key: \"nationalNumberPattern\",\n    value: function nationalNumberPattern() {\n      return this.numberingPlan.nationalNumberPattern();\n    }\n\n    // Deprecated.\n  }, {\n    key: \"possibleLengths\",\n    value: function possibleLengths() {\n      return this.numberingPlan.possibleLengths();\n    }\n\n    // Deprecated.\n  }, {\n    key: \"formats\",\n    value: function formats() {\n      return this.numberingPlan.formats();\n    }\n\n    // Deprecated.\n  }, {\n    key: \"nationalPrefixForParsing\",\n    value: function nationalPrefixForParsing() {\n      return this.numberingPlan.nationalPrefixForParsing();\n    }\n\n    // Deprecated.\n  }, {\n    key: \"nationalPrefixTransformRule\",\n    value: function nationalPrefixTransformRule() {\n      return this.numberingPlan.nationalPrefixTransformRule();\n    }\n\n    // Deprecated.\n  }, {\n    key: \"leadingDigits\",\n    value: function leadingDigits() {\n      return this.numberingPlan.leadingDigits();\n    }\n\n    // Deprecated.\n  }, {\n    key: \"hasTypes\",\n    value: function hasTypes() {\n      return this.numberingPlan.hasTypes();\n    }\n\n    // Deprecated.\n  }, {\n    key: \"type\",\n    value: function type(_type) {\n      return this.numberingPlan.type(_type);\n    }\n\n    // Deprecated.\n  }, {\n    key: \"ext\",\n    value: function ext() {\n      return this.numberingPlan.ext();\n    }\n  }, {\n    key: \"countryCallingCodes\",\n    value: function countryCallingCodes() {\n      if (this.v1) return this.metadata.country_phone_code_to_countries;\n      return this.metadata.country_calling_codes;\n    }\n\n    // Deprecated.\n  }, {\n    key: \"chooseCountryByCountryCallingCode\",\n    value: function chooseCountryByCountryCallingCode(callingCode) {\n      return this.selectNumberingPlan(callingCode);\n    }\n  }, {\n    key: \"hasSelectedNumberingPlan\",\n    value: function hasSelectedNumberingPlan() {\n      return this.numberingPlan !== undefined;\n    }\n  }]);\n}();\nexport { Metadata as default };\nvar NumberingPlan = /*#__PURE__*/function () {\n  function NumberingPlan(metadata, globalMetadataObject) {\n    _classCallCheck(this, NumberingPlan);\n    this.globalMetadataObject = globalMetadataObject;\n    this.metadata = metadata;\n    setVersion.call(this, globalMetadataObject.metadata);\n  }\n  return _createClass(NumberingPlan, [{\n    key: \"callingCode\",\n    value: function callingCode() {\n      return this.metadata[0];\n    }\n\n    // Formatting information for regions which share\n    // a country calling code is contained by only one region\n    // for performance reasons. For example, for NANPA region\n    // (\"North American Numbering Plan Administration\",\n    //  which includes USA, Canada, Cayman Islands, Bahamas, etc)\n    // it will be contained in the metadata for `US`.\n  }, {\n    key: \"getDefaultCountryMetadataForRegion\",\n    value: function getDefaultCountryMetadataForRegion() {\n      return this.globalMetadataObject.getNumberingPlanMetadata(this.callingCode());\n    }\n\n    // Is always present.\n  }, {\n    key: \"IDDPrefix\",\n    value: function IDDPrefix() {\n      if (this.v1 || this.v2) return;\n      return this.metadata[1];\n    }\n\n    // Is only present when a country supports multiple IDD prefixes.\n  }, {\n    key: \"defaultIDDPrefix\",\n    value: function defaultIDDPrefix() {\n      if (this.v1 || this.v2) return;\n      return this.metadata[12];\n    }\n  }, {\n    key: \"nationalNumberPattern\",\n    value: function nationalNumberPattern() {\n      if (this.v1 || this.v2) return this.metadata[1];\n      return this.metadata[2];\n    }\n\n    // \"possible length\" data is always present in Google's metadata.\n  }, {\n    key: \"possibleLengths\",\n    value: function possibleLengths() {\n      if (this.v1) return;\n      return this.metadata[this.v2 ? 2 : 3];\n    }\n  }, {\n    key: \"_getFormats\",\n    value: function _getFormats(metadata) {\n      return metadata[this.v1 ? 2 : this.v2 ? 3 : 4];\n    }\n\n    // For countries of the same region (e.g. NANPA)\n    // formats are all stored in the \"main\" country for that region.\n    // E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\n  }, {\n    key: \"formats\",\n    value: function formats() {\n      var _this = this;\n      var formats = this._getFormats(this.metadata) || this._getFormats(this.getDefaultCountryMetadataForRegion()) || [];\n      return formats.map(function (_) {\n        return new Format(_, _this);\n      });\n    }\n  }, {\n    key: \"nationalPrefix\",\n    value: function nationalPrefix() {\n      return this.metadata[this.v1 ? 3 : this.v2 ? 4 : 5];\n    }\n  }, {\n    key: \"_getNationalPrefixFormattingRule\",\n    value: function _getNationalPrefixFormattingRule(metadata) {\n      return metadata[this.v1 ? 4 : this.v2 ? 5 : 6];\n    }\n\n    // For countries of the same region (e.g. NANPA)\n    // national prefix formatting rule is stored in the \"main\" country for that region.\n    // E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\n  }, {\n    key: \"nationalPrefixFormattingRule\",\n    value: function nationalPrefixFormattingRule() {\n      return this._getNationalPrefixFormattingRule(this.metadata) || this._getNationalPrefixFormattingRule(this.getDefaultCountryMetadataForRegion());\n    }\n  }, {\n    key: \"_nationalPrefixForParsing\",\n    value: function _nationalPrefixForParsing() {\n      return this.metadata[this.v1 ? 5 : this.v2 ? 6 : 7];\n    }\n  }, {\n    key: \"nationalPrefixForParsing\",\n    value: function nationalPrefixForParsing() {\n      // If `national_prefix_for_parsing` is not set explicitly,\n      // then infer it from `national_prefix` (if any)\n      return this._nationalPrefixForParsing() || this.nationalPrefix();\n    }\n  }, {\n    key: \"nationalPrefixTransformRule\",\n    value: function nationalPrefixTransformRule() {\n      return this.metadata[this.v1 ? 6 : this.v2 ? 7 : 8];\n    }\n  }, {\n    key: \"_getNationalPrefixIsOptionalWhenFormatting\",\n    value: function _getNationalPrefixIsOptionalWhenFormatting() {\n      return !!this.metadata[this.v1 ? 7 : this.v2 ? 8 : 9];\n    }\n\n    // For countries of the same region (e.g. NANPA)\n    // \"national prefix is optional when formatting\" flag is\n    // stored in the \"main\" country for that region.\n    // E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\n  }, {\n    key: \"nationalPrefixIsOptionalWhenFormattingInNationalFormat\",\n    value: function nationalPrefixIsOptionalWhenFormattingInNationalFormat() {\n      return this._getNationalPrefixIsOptionalWhenFormatting(this.metadata) || this._getNationalPrefixIsOptionalWhenFormatting(this.getDefaultCountryMetadataForRegion());\n    }\n  }, {\n    key: \"leadingDigits\",\n    value: function leadingDigits() {\n      return this.metadata[this.v1 ? 8 : this.v2 ? 9 : 10];\n    }\n  }, {\n    key: \"types\",\n    value: function types() {\n      return this.metadata[this.v1 ? 9 : this.v2 ? 10 : 11];\n    }\n  }, {\n    key: \"hasTypes\",\n    value: function hasTypes() {\n      // Versions 1.2.0 - 1.2.4: can be `[]`.\n      /* istanbul ignore next */\n      if (this.types() && this.types().length === 0) {\n        return false;\n      }\n      // Versions <= 1.2.4: can be `undefined`.\n      // Version >= 1.2.5: can be `0`.\n      return !!this.types();\n    }\n  }, {\n    key: \"type\",\n    value: function type(_type2) {\n      if (this.hasTypes() && getType(this.types(), _type2)) {\n        return new Type(getType(this.types(), _type2), this);\n      }\n    }\n  }, {\n    key: \"ext\",\n    value: function ext() {\n      if (this.v1 || this.v2) return DEFAULT_EXT_PREFIX;\n      return this.metadata[13] || DEFAULT_EXT_PREFIX;\n    }\n  }]);\n}();\nvar Format = /*#__PURE__*/function () {\n  function Format(format, metadata) {\n    _classCallCheck(this, Format);\n    this._format = format;\n    this.metadata = metadata;\n  }\n  return _createClass(Format, [{\n    key: \"pattern\",\n    value: function pattern() {\n      return this._format[0];\n    }\n  }, {\n    key: \"format\",\n    value: function format() {\n      return this._format[1];\n    }\n  }, {\n    key: \"leadingDigitsPatterns\",\n    value: function leadingDigitsPatterns() {\n      return this._format[2] || [];\n    }\n  }, {\n    key: \"nationalPrefixFormattingRule\",\n    value: function nationalPrefixFormattingRule() {\n      return this._format[3] || this.metadata.nationalPrefixFormattingRule();\n    }\n  }, {\n    key: \"nationalPrefixIsOptionalWhenFormattingInNationalFormat\",\n    value: function nationalPrefixIsOptionalWhenFormattingInNationalFormat() {\n      return !!this._format[4] || this.metadata.nationalPrefixIsOptionalWhenFormattingInNationalFormat();\n    }\n  }, {\n    key: \"nationalPrefixIsMandatoryWhenFormattingInNationalFormat\",\n    value: function nationalPrefixIsMandatoryWhenFormattingInNationalFormat() {\n      // National prefix is omitted if there's no national prefix formatting rule\n      // set for this country, or when the national prefix formatting rule\n      // contains no national prefix itself, or when this rule is set but\n      // national prefix is optional for this phone number format\n      // (and it is not enforced explicitly)\n      return this.usesNationalPrefix() && !this.nationalPrefixIsOptionalWhenFormattingInNationalFormat();\n    }\n\n    // Checks whether national prefix formatting rule contains national prefix.\n  }, {\n    key: \"usesNationalPrefix\",\n    value: function usesNationalPrefix() {\n      return this.nationalPrefixFormattingRule() &&\n      // Check that national prefix formatting rule is not a \"dummy\" one.\n      !FIRST_GROUP_ONLY_PREFIX_PATTERN.test(this.nationalPrefixFormattingRule())\n      // In compressed metadata, `this.nationalPrefixFormattingRule()` is `0`\n      // when `national_prefix_formatting_rule` is not present.\n      // So, `true` or `false` are returned explicitly here, so that\n      // `0` number isn't returned.\n      ? true : false;\n    }\n  }, {\n    key: \"internationalFormat\",\n    value: function internationalFormat() {\n      return this._format[5] || this.format();\n    }\n  }]);\n}();\n/**\r\n * A pattern that is used to determine if the national prefix formatting rule\r\n * has the first group only, i.e., does not start with the national prefix.\r\n * Note that the pattern explicitly allows for unbalanced parentheses.\r\n */\nvar FIRST_GROUP_ONLY_PREFIX_PATTERN = /^\\(?\\$1\\)?$/;\nvar Type = /*#__PURE__*/function () {\n  function Type(type, metadata) {\n    _classCallCheck(this, Type);\n    this.type = type;\n    this.metadata = metadata;\n  }\n  return _createClass(Type, [{\n    key: \"pattern\",\n    value: function pattern() {\n      if (this.metadata.v1) return this.type;\n      return this.type[0];\n    }\n  }, {\n    key: \"possibleLengths\",\n    value: function possibleLengths() {\n      if (this.metadata.v1) return;\n      return this.type[1] || this.metadata.possibleLengths();\n    }\n  }]);\n}();\nfunction getType(types, type) {\n  switch (type) {\n    case 'FIXED_LINE':\n      return types[0];\n    case 'MOBILE':\n      return types[1];\n    case 'TOLL_FREE':\n      return types[2];\n    case 'PREMIUM_RATE':\n      return types[3];\n    case 'PERSONAL_NUMBER':\n      return types[4];\n    case 'VOICEMAIL':\n      return types[5];\n    case 'UAN':\n      return types[6];\n    case 'PAGER':\n      return types[7];\n    case 'VOIP':\n      return types[8];\n    case 'SHARED_COST':\n      return types[9];\n  }\n}\nexport function validateMetadata(metadata) {\n  if (!metadata) {\n    throw new Error('[libphonenumber-js] `metadata` argument not passed. Check your arguments.');\n  }\n\n  // `country_phone_code_to_countries` was renamed to `country_calling_codes` in `1.0.18`.\n  // For that reason, it's not used in this detection algorithm.\n  // Instead, it detects by `countries: {}` property existence.\n  if (!isObject(metadata) || !isObject(metadata.countries)) {\n    throw new Error(\"[libphonenumber-js] `metadata` argument was passed but it's not a valid metadata. Must be an object having `.countries` child object property. Got \".concat(isObject(metadata) ? 'an object of shape: { ' + Object.keys(metadata).join(', ') + ' }' : 'a ' + typeOf(metadata) + ': ' + metadata, \".\"));\n  }\n}\n\n// Babel transforms `typeof` into some \"branches\"\n// so istanbul will show this as \"branch not covered\".\n/* istanbul ignore next */\nvar typeOf = function typeOf(_) {\n  return _typeof(_);\n};\n\n/**\r\n * Returns extension prefix for a country.\r\n * @param  {string} country\r\n * @param  {object} metadata\r\n * @return {string?}\r\n * @example\r\n * // Returns \" ext. \"\r\n * getExtPrefix(\"US\")\r\n */\nexport function getExtPrefix(country, metadata) {\n  metadata = new Metadata(metadata);\n  if (metadata.hasCountry(country)) {\n    return metadata.selectNumberingPlan(country).ext();\n  }\n  return DEFAULT_EXT_PREFIX;\n}\n\n/**\r\n * Returns \"country calling code\" for a country.\r\n * Throws an error if the country doesn't exist or isn't supported by this library.\r\n * @param  {string} country\r\n * @param  {object} metadata\r\n * @return {string}\r\n * @example\r\n * // Returns \"44\"\r\n * getCountryCallingCode(\"GB\")\r\n */\nexport function getCountryCallingCode(country, metadata) {\n  metadata = new Metadata(metadata);\n  if (metadata.hasCountry(country)) {\n    return metadata.selectNumberingPlan(country).countryCallingCode();\n  }\n  throw new Error(\"Unknown country: \".concat(country));\n}\nexport function isSupportedCountry(country, metadata) {\n  // metadata = new Metadata(metadata)\n  // return metadata.hasCountry(country)\n  return metadata.countries.hasOwnProperty(country);\n}\nfunction setVersion(metadata) {\n  var version = metadata.version;\n  if (typeof version === 'number') {\n    this.v1 = version === 1;\n    this.v2 = version === 2;\n    this.v3 = version === 3;\n    this.v4 = version === 4;\n  } else {\n    if (!version) {\n      this.v1 = true;\n    } else if (compare(version, V3) === -1) {\n      this.v2 = true;\n    } else if (compare(version, V4) === -1) {\n      this.v3 = true;\n    } else {\n      this.v4 = true;\n    }\n  }\n}\n\n// const ISO_COUNTRY_CODE = /^[A-Z]{2}$/\n// function isCountryCode(countryCode) {\n// \treturn ISO_COUNTRY_CODE.test(countryCodeOrCountryCallingCode)\n// }\n//# sourceMappingURL=metadata.js.map","import Metadata from '../metadata.js';\nimport mergeArrays from './mergeArrays.js';\nexport default function checkNumberLength(nationalNumber, country, metadata) {\n  return checkNumberLengthForType(nationalNumber, country, undefined, metadata);\n}\n\n// Checks whether a number is possible for a certain `country` based on the number length.\n//\n// This function is not supported by metadata generated with ancient versions of\n// `libphonenumber-js` (before version `1.0.18`) which didn't include \"possible lengths\".\n//\n// There was also a known issue with `checkNumberLength()` function:\n// if a number is possible only in a certain `country` among several `countries`\n// that share the same \"country calling code\", that function would check\n// the possibility of the phone number only in the \"main\" `country` for the \"country calling code\"\n// and would not check if it's actually be possible in the speciifc `country`.\n//\n// For example, \"+1310xxxx\" numbers are valid in Canada.\n// However, they are not possible in the US due to being too short.\n// Since Canada and the US share the same country calling code — \"+1\" —\n// `checkNumberLength()` function used to return not \"IS_POSSIBLE\" for \"+1310xxxx\" numbers.\n//\n// In such cases, when using \"/max\" metadata, `isValid()` could output `true`\n// but at the same time `isPossible()` could output `false`, which was contradictory.\n//\n// See https://issuetracker.google.com/issues/335892662 for the discusson in Google's issues.\n//\n// The solution suggested by Google was implemented: an optional `country` argument\n// was added to `checkNumberLength()` function. If present, that `country` will be used\n// to check phone number length for that specific `country` rather than the \"main\" country\n// for the shared \"country calling code\".\n//\nexport function checkNumberLengthForType(nationalNumber, country, type, metadata) {\n  // If the exact `country` is specified, it's no necessarily already selected in `metadata`.\n  // Most likely, in cases when there're multiple countries corresponding to the same\n  // \"country calling code\", the \"main\" country for that \"country calling code\" will be selected.\n  if (country) {\n    metadata = new Metadata(metadata.metadata);\n    metadata.selectNumberingPlan(country);\n  }\n  var type_info = metadata.type(type);\n\n  // There should always be \"<possiblePengths/>\" set for every type element.\n  // This is declared in the XML schema.\n  // For size efficiency, where a sub-description (e.g. fixed-line)\n  // has the same \"<possiblePengths/>\" as the \"general description\", this is missing,\n  // so we fall back to the \"general description\". Where no numbers of the type\n  // exist at all, there is one possible length (-1) which is guaranteed\n  // not to match the length of any real phone number.\n  var possible_lengths = type_info && type_info.possibleLengths() || metadata.possibleLengths();\n  // let local_lengths = type_info && type.possibleLengthsLocal() || metadata.possibleLengthsLocal()\n\n  // Metadata before version `1.0.18` didn't contain `possible_lengths`.\n  if (!possible_lengths) {\n    return 'IS_POSSIBLE';\n  }\n  if (type === 'FIXED_LINE_OR_MOBILE') {\n    // No such country in metadata.\n    /* istanbul ignore next */\n    if (!metadata.type('FIXED_LINE')) {\n      // The rare case has been encountered where no fixedLine data is available\n      // (true for some non-geographic entities), so we just check mobile.\n      return checkNumberLengthForType(nationalNumber, country, 'MOBILE', metadata);\n    }\n    var mobile_type = metadata.type('MOBILE');\n    if (mobile_type) {\n      // Merge the mobile data in if there was any. \"Concat\" creates a new\n      // array, it doesn't edit possible_lengths in place, so we don't need a copy.\n      // Note that when adding the possible lengths from mobile, we have\n      // to again check they aren't empty since if they are this indicates\n      // they are the same as the general desc and should be obtained from there.\n      possible_lengths = mergeArrays(possible_lengths, mobile_type.possibleLengths());\n      // The current list is sorted; we need to merge in the new list and\n      // re-sort (duplicates are okay). Sorting isn't so expensive because\n      // the lists are very small.\n\n      // if (local_lengths) {\n      // \tlocal_lengths = mergeArrays(local_lengths, mobile_type.possibleLengthsLocal())\n      // } else {\n      // \tlocal_lengths = mobile_type.possibleLengthsLocal()\n      // }\n    }\n  }\n  // If the type doesn't exist then return 'INVALID_LENGTH'.\n  else if (type && !type_info) {\n    return 'INVALID_LENGTH';\n  }\n  var actual_length = nationalNumber.length;\n\n  // In `libphonenumber-js` all \"local-only\" formats are dropped for simplicity.\n  // // This is safe because there is never an overlap beween the possible lengths\n  // // and the local-only lengths; this is checked at build time.\n  // if (local_lengths && local_lengths.indexOf(nationalNumber.length) >= 0)\n  // {\n  // \treturn 'IS_POSSIBLE_LOCAL_ONLY'\n  // }\n\n  var minimum_length = possible_lengths[0];\n  if (minimum_length === actual_length) {\n    return 'IS_POSSIBLE';\n  }\n  if (minimum_length > actual_length) {\n    return 'TOO_SHORT';\n  }\n  if (possible_lengths[possible_lengths.length - 1] < actual_length) {\n    return 'TOO_LONG';\n  }\n\n  // We skip the first element since we've already checked it.\n  return possible_lengths.indexOf(actual_length, 1) >= 0 ? 'IS_POSSIBLE' : 'INVALID_LENGTH';\n}\n//# sourceMappingURL=checkNumberLength.js.map","import Metadata from './metadata.js';\nimport checkNumberLength from './helpers/checkNumberLength.js';\n\n/**\r\n * Checks if a phone number is \"possible\" (basically just checks its length).\r\n *\r\n * isPossible(phoneNumberInstance, { ..., v2: true }, metadata)\r\n *\r\n * isPossible({ phone: '8005553535', country: 'RU' }, { ... }, metadata)\r\n * isPossible({ phone: '8005553535', country: 'RU' }, undefined, metadata)\r\n *\r\n * @param  {object|PhoneNumber} input — If `options.v2: true` flag is passed, the `input` should be a `PhoneNumber` instance. Otherwise, it should be an object of shape `{ phone: '...', country: '...' }`.\r\n * @param  {object} [options]\r\n * @param  {object} metadata\r\n * @return {string}\r\n */\nexport default function isPossiblePhoneNumber(input, options, metadata) {\n  /* istanbul ignore if */\n  if (options === undefined) {\n    options = {};\n  }\n  metadata = new Metadata(metadata);\n  if (options.v2) {\n    if (!input.countryCallingCode) {\n      throw new Error('Invalid phone number object passed');\n    }\n    metadata.selectNumberingPlan(input.countryCallingCode);\n  } else {\n    if (!input.phone) {\n      return false;\n    }\n    if (input.country) {\n      if (!metadata.hasCountry(input.country)) {\n        throw new Error(\"Unknown country: \".concat(input.country));\n      }\n      metadata.selectNumberingPlan(input.country);\n    } else {\n      if (!input.countryCallingCode) {\n        throw new Error('Invalid phone number object passed');\n      }\n      metadata.selectNumberingPlan(input.countryCallingCode);\n    }\n  }\n\n  // Old metadata (< 1.0.18) had no \"possible length\" data.\n  if (metadata.possibleLengths()) {\n    return isPossibleNumber(input.phone || input.nationalNumber, input.country, metadata);\n  } else {\n    // There was a bug between `1.7.35` and `1.7.37` where \"possible_lengths\"\n    // were missing for \"non-geographical\" numbering plans.\n    // Just assume the number is possible in such cases:\n    // it's unlikely that anyone generated their custom metadata\n    // in that short period of time (one day).\n    // This code can be removed in some future major version update.\n    if (input.countryCallingCode && metadata.isNonGeographicCallingCode(input.countryCallingCode)) {\n      // \"Non-geographic entities\" did't have `possibleLengths`\n      // due to a bug in metadata generation process.\n      return true;\n    } else {\n      throw new Error('Missing \"possibleLengths\" in metadata. Perhaps the metadata has been generated before v1.0.18.');\n    }\n  }\n}\nexport function isPossibleNumber(nationalNumber, country, metadata) {\n  //, isInternational) {\n  switch (checkNumberLength(nationalNumber, country, metadata)) {\n    case 'IS_POSSIBLE':\n      return true;\n    // This library ignores \"local-only\" phone numbers (for simplicity).\n    // See the readme for more info on what are \"local-only\" phone numbers.\n    // case 'IS_POSSIBLE_LOCAL_ONLY':\n    // \treturn !isInternational\n    default:\n      return false;\n  }\n}\n//# sourceMappingURL=isPossible.js.map","/**\r\n * Checks whether the entire input sequence can be matched\r\n * against the regular expression.\r\n * @return {boolean}\r\n */\nexport default function matchesEntirely(text, regularExpressionText) {\n  // If the assigning of the `''` default value is moved to the arguments above,\n  // the code coverage would decrease for some weird reason.\n  text = text || '';\n  return new RegExp('^(?:' + regularExpressionText + ')$').test(text);\n}\n//# sourceMappingURL=matchesEntirely.js.map","function _createForOfIteratorHelperLoose(r, e) { var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (t) return (t = t.call(r)).next.bind(t); if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && \"number\" == typeof r.length) { t && (r = t); var o = 0; return function () { return o >= r.length ? { done: !0 } : { done: !1, value: r[o++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nimport Metadata from '../metadata.js';\nimport matchesEntirely from './matchesEntirely.js';\nvar NON_FIXED_LINE_PHONE_TYPES = ['MOBILE', 'PREMIUM_RATE', 'TOLL_FREE', 'SHARED_COST', 'VOIP', 'PERSONAL_NUMBER', 'PAGER', 'UAN', 'VOICEMAIL'];\n\n// Finds out national phone number type (fixed line, mobile, etc)\nexport default function getNumberType(input, options, metadata) {\n  // If assigning the `{}` default value is moved to the arguments above,\n  // code coverage would decrease for some weird reason.\n  options = options || {};\n\n  // When `parse()` returns an empty object — `{}` —\n  // that means that the phone number is malformed,\n  // so it can't possibly be valid.\n  if (!input.country && !input.countryCallingCode) {\n    return;\n  }\n  metadata = new Metadata(metadata);\n  metadata.selectNumberingPlan(input.country, input.countryCallingCode);\n  var nationalNumber = options.v2 ? input.nationalNumber : input.phone;\n\n  // The following is copy-pasted from the original function:\n  // https://github.com/googlei18n/libphonenumber/blob/3ea547d4fbaa2d0b67588904dfa5d3f2557c27ff/javascript/i18n/phonenumbers/phonenumberutil.js#L2835\n\n  // Is this national number even valid for this country\n  if (!matchesEntirely(nationalNumber, metadata.nationalNumberPattern())) {\n    return;\n  }\n\n  // Is it fixed line number\n  if (isNumberTypeEqualTo(nationalNumber, 'FIXED_LINE', metadata)) {\n    // Because duplicate regular expressions are removed\n    // to reduce metadata size, if \"mobile\" pattern is \"\"\n    // then it means it was removed due to being a duplicate of the fixed-line pattern.\n    //\n    if (metadata.type('MOBILE') && metadata.type('MOBILE').pattern() === '') {\n      return 'FIXED_LINE_OR_MOBILE';\n    }\n\n    // `MOBILE` type pattern isn't included if it matched `FIXED_LINE` one.\n    // For example, for \"US\" country.\n    // Old metadata (< `1.0.18`) had a specific \"types\" data structure\n    // that happened to be `undefined` for `MOBILE` in that case.\n    // Newer metadata (>= `1.0.18`) has another data structure that is\n    // not `undefined` for `MOBILE` in that case (it's just an empty array).\n    // So this `if` is just for backwards compatibility with old metadata.\n    if (!metadata.type('MOBILE')) {\n      return 'FIXED_LINE_OR_MOBILE';\n    }\n\n    // Check if the number happens to qualify as both fixed line and mobile.\n    // (no such country in the minimal metadata set)\n    /* istanbul ignore if */\n    if (isNumberTypeEqualTo(nationalNumber, 'MOBILE', metadata)) {\n      return 'FIXED_LINE_OR_MOBILE';\n    }\n    return 'FIXED_LINE';\n  }\n  for (var _iterator = _createForOfIteratorHelperLoose(NON_FIXED_LINE_PHONE_TYPES), _step; !(_step = _iterator()).done;) {\n    var type = _step.value;\n    if (isNumberTypeEqualTo(nationalNumber, type, metadata)) {\n      return type;\n    }\n  }\n}\nexport function isNumberTypeEqualTo(nationalNumber, type, metadata) {\n  type = metadata.type(type);\n  if (!type || !type.pattern()) {\n    return false;\n  }\n  // Check if any possible number lengths are present;\n  // if so, we use them to avoid checking\n  // the validation pattern if they don't match.\n  // If they are absent, this means they match\n  // the general description, which we have\n  // already checked before a specific number type.\n  if (type.possibleLengths() && type.possibleLengths().indexOf(nationalNumber.length) < 0) {\n    return false;\n  }\n  return matchesEntirely(nationalNumber, type.pattern());\n}\n//# sourceMappingURL=getNumberType.js.map","import Metadata from './metadata.js';\nimport matchesEntirely from './helpers/matchesEntirely.js';\nimport getNumberType from './helpers/getNumberType.js';\n\n/**\r\n * Checks if a given phone number is valid.\r\n *\r\n * isValid(phoneNumberInstance, { ..., v2: true }, metadata)\r\n *\r\n * isPossible({ phone: '8005553535', country: 'RU' }, { ... }, metadata)\r\n * isPossible({ phone: '8005553535', country: 'RU' }, undefined, metadata)\r\n *\r\n * If the `number` is a string, it will be parsed to an object,\r\n * but only if it contains only valid phone number characters (including punctuation).\r\n * If the `number` is an object, it is used as is.\r\n *\r\n * The optional `defaultCountry` argument is the default country.\r\n * I.e. it does not restrict to just that country,\r\n * e.g. in those cases where several countries share\r\n * the same phone numbering rules (NANPA, Britain, etc).\r\n * For example, even though the number `07624 369230`\r\n * belongs to the Isle of Man (\"IM\" country code)\r\n * calling `isValidNumber('07624369230', 'GB', metadata)`\r\n * still returns `true` because the country is not restricted to `GB`,\r\n * it's just that `GB` is the default one for the phone numbering rules.\r\n * For restricting the country see `isValidNumberForRegion()`\r\n * though restricting a country might not be a good idea.\r\n * https://github.com/googlei18n/libphonenumber/blob/master/FAQ.md#when-should-i-use-isvalidnumberforregion\r\n *\r\n * Examples:\r\n *\r\n * ```js\r\n * isValidNumber('+78005553535', metadata)\r\n * isValidNumber('8005553535', 'RU', metadata)\r\n * isValidNumber('88005553535', 'RU', metadata)\r\n * isValidNumber({ phone: '8005553535', country: 'RU' }, metadata)\r\n * ```\r\n */\nexport default function isValidNumber(input, options, metadata) {\n  // If assigning the `{}` default value is moved to the arguments above,\n  // code coverage would decrease for some weird reason.\n  options = options || {};\n  metadata = new Metadata(metadata);\n  metadata.selectNumberingPlan(input.country, input.countryCallingCode);\n\n  // By default, countries only have type regexps when it's required for\n  // distinguishing different countries having the same `countryCallingCode`.\n  if (metadata.hasTypes()) {\n    return getNumberType(input, options, metadata.metadata) !== undefined;\n  }\n\n  // If there are no type regexps for this country in metadata then use\n  // `nationalNumberPattern` as a \"better than nothing\" replacement.\n  var nationalNumber = options.v2 ? input.nationalNumber : input.phone;\n  return matchesEntirely(nationalNumber, metadata.nationalNumberPattern());\n}\n//# sourceMappingURL=isValid.js.map","import Metadata from '../metadata.js';\n\n/**\r\n * Returns a list of countries that the phone number could potentially belong to.\r\n * @param  {string} callingCode — Calling code.\r\n * @param  {string} nationalNumber — National (significant) number.\r\n * @param  {object} metadata — Metadata.\r\n * @return {string[]} A list of possible countries.\r\n */\nexport default function getPossibleCountriesForNumber(callingCode, nationalNumber, metadata) {\n  var _metadata = new Metadata(metadata);\n  var possibleCountries = _metadata.getCountryCodesForCallingCode(callingCode);\n  if (!possibleCountries) {\n    return [];\n  }\n  return possibleCountries.filter(function (country) {\n    return couldNationalNumberBelongToCountry(nationalNumber, country, metadata);\n  });\n}\nfunction couldNationalNumberBelongToCountry(nationalNumber, country, metadata) {\n  var _metadata = new Metadata(metadata);\n  _metadata.selectNumberingPlan(country);\n  if (_metadata.numberingPlan.possibleLengths().indexOf(nationalNumber.length) >= 0) {\n    return true;\n  }\n  return false;\n}\n//# sourceMappingURL=getPossibleCountriesForNumber.js.map","// The minimum length of the national significant number.\nexport var MIN_LENGTH_FOR_NSN = 2;\n\n// The ITU says the maximum length should be 15,\n// but one can find longer numbers in Germany.\nexport var MAX_LENGTH_FOR_NSN = 17;\n\n// The maximum length of the country calling code.\nexport var MAX_LENGTH_COUNTRY_CODE = 3;\n\n// Digits accepted in phone numbers\n// (ascii, fullwidth, arabic-indic, and eastern arabic digits).\nexport var VALID_DIGITS = \"0-9\\uFF10-\\uFF19\\u0660-\\u0669\\u06F0-\\u06F9\";\n\n// `DASHES` will be right after the opening square bracket of the \"character class\"\nvar DASHES = \"-\\u2010-\\u2015\\u2212\\u30FC\\uFF0D\";\nvar SLASHES = \"\\uFF0F/\";\nvar DOTS = \"\\uFF0E.\";\nexport var WHITESPACE = \" \\xA0\\xAD\\u200B\\u2060\\u3000\";\nvar BRACKETS = \"()\\uFF08\\uFF09\\uFF3B\\uFF3D\\\\[\\\\]\";\n// export const OPENING_BRACKETS = '(\\uFF08\\uFF3B\\\\\\['\nvar TILDES = \"~\\u2053\\u223C\\uFF5E\";\n\n// Regular expression of acceptable punctuation found in phone numbers. This\n// excludes punctuation found as a leading character only. This consists of dash\n// characters, white space characters, full stops, slashes, square brackets,\n// parentheses and tildes. Full-width variants are also present.\nexport var VALID_PUNCTUATION = \"\".concat(DASHES).concat(SLASHES).concat(DOTS).concat(WHITESPACE).concat(BRACKETS).concat(TILDES);\nexport var PLUS_CHARS = \"+\\uFF0B\";\n// const LEADING_PLUS_CHARS_PATTERN = new RegExp('^[' + PLUS_CHARS + ']+')\n//# sourceMappingURL=constants.js.map","import Metadata from '../metadata.js';\nimport { VALID_DIGITS } from '../constants.js';\nvar CAPTURING_DIGIT_PATTERN = new RegExp('([' + VALID_DIGITS + '])');\nexport default function stripIddPrefix(number, country, callingCode, metadata) {\n  if (!country) {\n    return;\n  }\n  // Check if the number is IDD-prefixed.\n  var countryMetadata = new Metadata(metadata);\n  countryMetadata.selectNumberingPlan(country, callingCode);\n  var IDDPrefixPattern = new RegExp(countryMetadata.IDDPrefix());\n  if (number.search(IDDPrefixPattern) !== 0) {\n    return;\n  }\n  // Strip IDD prefix.\n  number = number.slice(number.match(IDDPrefixPattern)[0].length);\n  // If there're any digits after an IDD prefix,\n  // then those digits are a country calling code.\n  // Since no country code starts with a `0`,\n  // the code below validates that the next digit (if present) is not `0`.\n  var matchedGroups = number.match(CAPTURING_DIGIT_PATTERN);\n  if (matchedGroups && matchedGroups[1] != null && matchedGroups[1].length > 0) {\n    if (matchedGroups[1] === '0') {\n      return;\n    }\n  }\n  return number;\n}\n//# sourceMappingURL=stripIddPrefix.js.map","/**\r\n * Strips any national prefix (such as 0, 1) present in a\r\n * (possibly incomplete) number provided.\r\n * \"Carrier codes\" are only used  in Colombia and Brazil,\r\n * and only when dialing within those countries from a mobile phone to a fixed line number.\r\n * Sometimes it won't actually strip national prefix\r\n * and will instead prepend some digits to the `number`:\r\n * for example, when number `2345678` is passed with `VI` country selected,\r\n * it will return `{ number: \"3402345678\" }`, because `340` area code is prepended.\r\n * @param {string} number — National number digits.\r\n * @param {object} metadata — Metadata with country selected.\r\n * @return {object} `{ nationalNumber: string, nationalPrefix: string? carrierCode: string? }`. Even if a national prefix was extracted, it's not necessarily present in the returned object, so don't rely on its presence in the returned object in order to find out whether a national prefix has been extracted or not.\r\n */\nexport default function extractNationalNumberFromPossiblyIncompleteNumber(number, metadata) {\n  if (number && metadata.numberingPlan.nationalPrefixForParsing()) {\n    // See METADATA.md for the description of\n    // `national_prefix_for_parsing` and `national_prefix_transform_rule`.\n    // Attempt to parse the first digits as a national prefix.\n    var prefixPattern = new RegExp('^(?:' + metadata.numberingPlan.nationalPrefixForParsing() + ')');\n    var prefixMatch = prefixPattern.exec(number);\n    if (prefixMatch) {\n      var nationalNumber;\n      var carrierCode;\n      // https://gitlab.com/catamphetamine/libphonenumber-js/-/blob/master/METADATA.md#national_prefix_for_parsing--national_prefix_transform_rule\n      // If a `national_prefix_for_parsing` has any \"capturing groups\"\n      // then it means that the national (significant) number is equal to\n      // those \"capturing groups\" transformed via `national_prefix_transform_rule`,\n      // and nothing could be said about the actual national prefix:\n      // what is it and was it even there.\n      // If a `national_prefix_for_parsing` doesn't have any \"capturing groups\",\n      // then everything it matches is a national prefix.\n      // To determine whether `national_prefix_for_parsing` matched any\n      // \"capturing groups\", the value of the result of calling `.exec()`\n      // is looked at, and if it has non-undefined values where there're\n      // \"capturing groups\" in the regular expression, then it means\n      // that \"capturing groups\" have been matched.\n      // It's not possible to tell whether there'll be any \"capturing gropus\"\n      // before the matching process, because a `national_prefix_for_parsing`\n      // could exhibit both behaviors.\n      var capturedGroupsCount = prefixMatch.length - 1;\n      var hasCapturedGroups = capturedGroupsCount > 0 && prefixMatch[capturedGroupsCount];\n      if (metadata.nationalPrefixTransformRule() && hasCapturedGroups) {\n        nationalNumber = number.replace(prefixPattern, metadata.nationalPrefixTransformRule());\n        // If there's more than one captured group,\n        // then carrier code is the second one.\n        if (capturedGroupsCount > 1) {\n          carrierCode = prefixMatch[1];\n        }\n      }\n      // If there're no \"capturing groups\",\n      // or if there're \"capturing groups\" but no\n      // `national_prefix_transform_rule`,\n      // then just strip the national prefix from the number,\n      // and possibly a carrier code.\n      // Seems like there could be more.\n      else {\n        // `prefixBeforeNationalNumber` is the whole substring matched by\n        // the `national_prefix_for_parsing` regular expression.\n        // There seem to be no guarantees that it's just a national prefix.\n        // For example, if there's a carrier code, it's gonna be a\n        // part of `prefixBeforeNationalNumber` too.\n        var prefixBeforeNationalNumber = prefixMatch[0];\n        nationalNumber = number.slice(prefixBeforeNationalNumber.length);\n        // If there's at least one captured group,\n        // then carrier code is the first one.\n        if (hasCapturedGroups) {\n          carrierCode = prefixMatch[1];\n        }\n      }\n      // Tries to guess whether a national prefix was present in the input.\n      // This is not something copy-pasted from Google's library:\n      // they don't seem to have an equivalent for that.\n      // So this isn't an \"officially approved\" way of doing something like that.\n      // But since there seems no other existing method, this library uses it.\n      var nationalPrefix;\n      if (hasCapturedGroups) {\n        var possiblePositionOfTheFirstCapturedGroup = number.indexOf(prefixMatch[1]);\n        var possibleNationalPrefix = number.slice(0, possiblePositionOfTheFirstCapturedGroup);\n        // Example: an Argentinian (AR) phone number `0111523456789`.\n        // `prefixMatch[0]` is `01115`, and `$1` is `11`,\n        // and the rest of the phone number is `23456789`.\n        // The national number is transformed via `9$1` to `91123456789`.\n        // National prefix `0` is detected being present at the start.\n        // if (possibleNationalPrefix.indexOf(metadata.numberingPlan.nationalPrefix()) === 0) {\n        if (possibleNationalPrefix === metadata.numberingPlan.nationalPrefix()) {\n          nationalPrefix = metadata.numberingPlan.nationalPrefix();\n        }\n      } else {\n        nationalPrefix = prefixMatch[0];\n      }\n      return {\n        nationalNumber: nationalNumber,\n        nationalPrefix: nationalPrefix,\n        carrierCode: carrierCode\n      };\n    }\n  }\n  return {\n    nationalNumber: number\n  };\n}\n//# sourceMappingURL=extractNationalNumberFromPossiblyIncompleteNumber.js.map","function _createForOfIteratorHelperLoose(r, e) { var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (t) return (t = t.call(r)).next.bind(t); if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && \"number\" == typeof r.length) { t && (r = t); var o = 0; return function () { return o >= r.length ? { done: !0 } : { done: !1, value: r[o++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nimport Metadata from '../metadata.js';\nimport getNumberType from './getNumberType.js';\n\n// Returns the exact country that the `nationalPhoneNumber` belongs to\n// in cases of ambiguity, i.e. when multiple countries share the same \"country calling code\".\nexport default function getCountryByNationalNumber(nationalPhoneNumber, _ref) {\n  var countries = _ref.countries,\n    metadata = _ref.metadata;\n  // Re-create `metadata` because it will be selecting a `country`.\n  metadata = new Metadata(metadata);\n\n  // const matchingCountries = []\n\n  for (var _iterator = _createForOfIteratorHelperLoose(countries), _step; !(_step = _iterator()).done;) {\n    var country = _step.value;\n    metadata.selectNumberingPlan(country);\n    // \"Leading digits\" patterns are only defined for about 20% of all countries.\n    // By definition, matching \"leading digits\" is a sufficient but not a necessary\n    // condition for a phone number to belong to a country.\n    // The point of \"leading digits\" check is that it's the fastest one to get a match.\n    // https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/METADATA.md#leading_digits\n    // I'd suppose that \"leading digits\" patterns are mutually exclusive for different countries\n    // because of the intended use of that feature.\n    if (metadata.leadingDigits()) {\n      if (nationalPhoneNumber && nationalPhoneNumber.search(metadata.leadingDigits()) === 0) {\n        return country;\n      }\n    }\n    // Else perform full validation with all of those\n    // fixed-line/mobile/etc regular expressions.\n    else if (getNumberType({\n      phone: nationalPhoneNumber,\n      country: country\n    }, undefined, metadata.metadata)) {\n      // When multiple countries share the same \"country calling code\",\n      // type patterns aren't guaranteed to be unique among them.\n      // For example, both `US` and `CA` have the same pattern for `toll_free` numbers.\n      // https://gitlab.com/catamphetamine/libphonenumber-js/-/issues/103#note_1417147572\n      //\n      // That means that this `if` condition could be `true` for multiple countries from the list.\n      // Currently, it just returns the first one, which is also the \"main\" country for the \"country calling code\".\n      // In an example with `toll_free` numbers above, `\"US\"` would be returned even though\n      // it could as well be `\"CA\"`.\n      //\n      // There was also a time when this attempted to be overly smart\n      // and kept track of all such multiple matching countries\n      // and then picked the one that matched the `defaultCountry`, if provided.\n      // For example, with `toll_free` numbers above, and with `defaultCountry: \"CA\"`,\n      // it would've returned `\"CA\"` instead of `\"US\"`.\n      // Later it turned out that such \"overly smart\" behavior turned out to be just confusing,\n      // so this \"overly smart\" country detection was reverted to returning the \"main\" country\n      // for the \"country calling code\".\n      // https://gitlab.com/catamphetamine/libphonenumber-js/-/issues/154\n      //\n      return country;\n      //\n      // The \"overly smart\" behavior code:\n      //\n      // if (defaultCountry) {\n      // \tif (country === defaultCountry) {\n      // \t\treturn country\n      // \t} else {\n      // \t\tmatchingCountries.push(country)\n      // \t}\n      // } else {\n      // \treturn country\n      // }\n    }\n  }\n\n  // // Return the first (\"main\") one of the `matchingCountries`.\n  // if (matchingCountries.length > 0) {\n  // \treturn matchingCountries[0]\n  // }\n}\n//# sourceMappingURL=getCountryByNationalNumber.js.map","import getCountryByNationalNumber from './getCountryByNationalNumber.js';\nvar USE_NON_GEOGRAPHIC_COUNTRY_CODE = false;\n\n// Returns the exact country for the `nationalNumber`\n// that belongs to the specified \"country calling code\".\nexport default function getCountryByCallingCode(callingCode, _ref) {\n  var nationalPhoneNumber = _ref.nationalNumber,\n    metadata = _ref.metadata;\n  /* istanbul ignore if */\n  if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n    if (metadata.isNonGeographicCallingCode(callingCode)) {\n      return '001';\n    }\n  }\n  var possibleCountries = metadata.getCountryCodesForCallingCode(callingCode);\n  if (!possibleCountries) {\n    return;\n  }\n  // If there's just one country corresponding to the country code,\n  // then just return it, without further phone number digits validation.\n  if (possibleCountries.length === 1) {\n    return possibleCountries[0];\n  }\n  return getCountryByNationalNumber(nationalPhoneNumber, {\n    countries: possibleCountries,\n    metadata: metadata.metadata\n  });\n}\n//# sourceMappingURL=getCountryByCallingCode.js.map","import extractNationalNumberFromPossiblyIncompleteNumber from './extractNationalNumberFromPossiblyIncompleteNumber.js';\nimport matchesEntirely from './matchesEntirely.js';\nimport checkNumberLength from './checkNumberLength.js';\nimport getCountryByCallingCode from './getCountryByCallingCode.js';\n\n/**\r\n * Strips national prefix and carrier code from a complete phone number.\r\n * The difference from the non-\"FromCompleteNumber\" function is that\r\n * it won't extract national prefix if the resultant number is too short\r\n * to be a complete number for the selected phone numbering plan.\r\n * @param  {string} number — Complete phone number digits.\r\n * @param  {string?} country — Country, if known.\r\n * @param  {Metadata} metadata — Metadata with a phone numbering plan selected.\r\n * @return {object} `{ nationalNumber: string, carrierCode: string? }`.\r\n */\nexport default function extractNationalNumber(number, country, metadata) {\n  // Parsing national prefixes and carrier codes\n  // is only required for local phone numbers\n  // but some people don't understand that\n  // and sometimes write international phone numbers\n  // with national prefixes (or maybe even carrier codes).\n  // http://ucken.blogspot.ru/2016/03/trunk-prefixes-in-skype4b.html\n  // Google's original library forgives such mistakes\n  // and so does this library, because it has been requested:\n  // https://github.com/catamphetamine/libphonenumber-js/issues/127\n  var _extractNationalNumbe = extractNationalNumberFromPossiblyIncompleteNumber(number, metadata),\n    carrierCode = _extractNationalNumbe.carrierCode,\n    nationalNumber = _extractNationalNumbe.nationalNumber;\n  if (nationalNumber !== number) {\n    if (!shouldHaveExtractedNationalPrefix(number, nationalNumber, metadata)) {\n      // Don't strip the national prefix.\n      return {\n        nationalNumber: number\n      };\n    }\n    // Check the national (significant) number length after extracting national prefix and carrier code.\n    // Legacy generated metadata (before `1.0.18`) didn't support the \"possible lengths\" feature.\n    if (metadata.numberingPlan.possibleLengths()) {\n      // If an exact `country` is not specified, attempt to detect it from the assumed national number.\n      if (!country) {\n        country = getCountryByCallingCode(metadata.numberingPlan.callingCode(), {\n          nationalNumber: nationalNumber,\n          metadata: metadata\n        });\n      }\n\n      // The number remaining after stripping the national prefix and carrier code\n      // should be long enough to have a possible length for the country.\n      // Otherwise, don't strip the national prefix and carrier code,\n      // since the original number could be a valid number.\n      // This check has been copy-pasted \"as is\" from Google's original library:\n      // https://github.com/google/libphonenumber/blob/876268eb1ad6cdc1b7b5bef17fc5e43052702d57/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L3236-L3250\n      // It doesn't check for the \"possibility\" of the original `number`.\n      // I guess it's fine not checking that one. It works as is anyway.\n      if (!isPossibleIncompleteNationalNumber(nationalNumber, country, metadata)) {\n        // Don't strip the national prefix.\n        return {\n          nationalNumber: number\n        };\n      }\n    }\n  }\n  return {\n    nationalNumber: nationalNumber,\n    carrierCode: carrierCode\n  };\n}\n\n// In some countries, the same digit could be a national prefix\n// or a leading digit of a valid phone number.\n// For example, in Russia, national prefix is `8`,\n// and also `800 555 35 35` is a valid number\n// in which `8` is not a national prefix, but the first digit\n// of a national (significant) number.\n// Same's with Belarus:\n// `82004910060` is a valid national (significant) number,\n// but `2004910060` is not.\n// To support such cases (to prevent the code from always stripping\n// national prefix), a condition is imposed: a national prefix\n// is not extracted when the original number is \"viable\" and the\n// resultant number is not, a \"viable\" national number being the one\n// that matches `national_number_pattern`.\nfunction shouldHaveExtractedNationalPrefix(nationalNumberBefore, nationalNumberAfter, metadata) {\n  // The equivalent in Google's code is:\n  // https://github.com/google/libphonenumber/blob/e326fa1fc4283bb05eb35cb3c15c18f98a31af33/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L2969-L3004\n  if (matchesEntirely(nationalNumberBefore, metadata.nationalNumberPattern()) && !matchesEntirely(nationalNumberAfter, metadata.nationalNumberPattern())) {\n    return false;\n  }\n  // This \"is possible\" national number (length) check has been commented out\n  // because it's superceded by the (effectively) same check done in the\n  // `extractNationalNumber()` function after it calls `shouldHaveExtractedNationalPrefix()`.\n  // In other words, why run the same check twice if it could only be run once.\n  // // Check the national (significant) number length after extracting national prefix and carrier code.\n  // // Fixes a minor \"weird behavior\" bug: https://gitlab.com/catamphetamine/libphonenumber-js/-/issues/57\n  // // (Legacy generated metadata (before `1.0.18`) didn't support the \"possible lengths\" feature).\n  // if (metadata.possibleLengths()) {\n  // \tif (isPossibleIncompleteNationalNumber(nationalNumberBefore, metadata) &&\n  // \t\t!isPossibleIncompleteNationalNumber(nationalNumberAfter, metadata)) {\n  // \t\treturn false\n  // \t}\n  // }\n  return true;\n}\nfunction isPossibleIncompleteNationalNumber(nationalNumber, country, metadata) {\n  switch (checkNumberLength(nationalNumber, country, metadata)) {\n    case 'TOO_SHORT':\n    case 'INVALID_LENGTH':\n      // This library ignores \"local-only\" phone numbers (for simplicity).\n      // See the readme for more info on what are \"local-only\" phone numbers.\n      // case 'IS_POSSIBLE_LOCAL_ONLY':\n      return false;\n    default:\n      return true;\n  }\n}\n//# sourceMappingURL=extractNationalNumber.js.map","import Metadata from '../metadata.js';\nimport matchesEntirely from './matchesEntirely.js';\nimport extractNationalNumber from './extractNationalNumber.js';\nimport checkNumberLength from './checkNumberLength.js';\nimport getCountryCallingCode from '../getCountryCallingCode.js';\n\n/**\r\n * Sometimes some people incorrectly input international phone numbers\r\n * without the leading `+`. This function corrects such input.\r\n * @param  {string} number — Phone number digits.\r\n * @param  {string} [country] — Exact country of the phone number.\r\n * @param  {string} [defaultCountry]\r\n * @param  {string} [defaultCallingCode]\r\n * @param  {object} metadata\r\n * @return {object} `{ countryCallingCode: string?, number: string }`.\r\n */\nexport default function extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(number, country, defaultCountry, defaultCallingCode, metadata) {\n  var countryCallingCode = country || defaultCountry ? getCountryCallingCode(country || defaultCountry, metadata) : defaultCallingCode;\n  if (number.indexOf(countryCallingCode) === 0) {\n    metadata = new Metadata(metadata);\n    metadata.selectNumberingPlan(country || defaultCountry, countryCallingCode);\n    var possibleShorterNumber = number.slice(countryCallingCode.length);\n    var _extractNationalNumbe = extractNationalNumber(possibleShorterNumber, country, metadata),\n      possibleShorterNationalNumber = _extractNationalNumbe.nationalNumber;\n    var _extractNationalNumbe2 = extractNationalNumber(number, country, metadata),\n      nationalNumber = _extractNationalNumbe2.nationalNumber;\n\n    // If the number was not valid before but is valid now,\n    // or if it was too long before, we consider the number\n    // with the country calling code stripped to be a better result\n    // and keep that instead.\n    // For example, in Germany (+49), `49` is a valid area code,\n    // so if a number starts with `49`, it could be both a valid\n    // national German number or an international number without\n    // a leading `+`.\n    if (!matchesEntirely(nationalNumber, metadata.nationalNumberPattern()) && matchesEntirely(possibleShorterNationalNumber, metadata.nationalNumberPattern()) || checkNumberLength(nationalNumber, country, metadata) === 'TOO_LONG') {\n      return {\n        countryCallingCode: countryCallingCode,\n        number: possibleShorterNumber\n      };\n    }\n  }\n  return {\n    number: number\n  };\n}\n//# sourceMappingURL=extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js.map","import stripIddPrefix from './stripIddPrefix.js';\nimport extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js';\nimport Metadata from '../metadata.js';\nimport { MAX_LENGTH_COUNTRY_CODE } from '../constants.js';\n\n/**\r\n * Converts a phone number digits (possibly with a `+`)\r\n * into a calling code and the rest phone number digits.\r\n * The \"rest phone number digits\" could include\r\n * a national prefix, carrier code, and national\r\n * (significant) number.\r\n * @param  {string} number — Phone number digits (possibly with a `+`).\r\n * @param  {string} [country] — Country.\r\n * @param  {string} [defaultCountry] — Default country.\r\n * @param  {string} [defaultCallingCode] — Default calling code (some phone numbering plans are non-geographic).\r\n * @param  {object} metadata\r\n * @return {object} `{ countryCallingCodeSource: string?, countryCallingCode: string?, number: string }`\r\n * @example\r\n * // Returns `{ countryCallingCode: \"1\", number: \"2133734253\" }`.\r\n * extractCountryCallingCode('2133734253', null, 'US', null, metadata)\r\n * extractCountryCallingCode('2133734253', null, null, '1', metadata)\r\n * extractCountryCallingCode('+12133734253', null, null, null, metadata)\r\n * extractCountryCallingCode('+12133734253', null, 'RU', null, metadata)\r\n */\nexport default function extractCountryCallingCode(number, country, defaultCountry, defaultCallingCode, metadata) {\n  if (!number) {\n    return {};\n  }\n  var isNumberWithIddPrefix;\n\n  // If this is not an international phone number,\n  // then either extract an \"IDD\" prefix, or extract a\n  // country calling code from a number by autocorrecting it\n  // by prepending a leading `+` in cases when it starts\n  // with the country calling code.\n  // https://wikitravel.org/en/International_dialling_prefix\n  // https://github.com/catamphetamine/libphonenumber-js/issues/376\n  if (number[0] !== '+') {\n    // Convert an \"out-of-country\" dialing phone number\n    // to a proper international phone number.\n    var numberWithoutIDD = stripIddPrefix(number, country || defaultCountry, defaultCallingCode, metadata);\n    // If an IDD prefix was stripped then\n    // convert the number to international one\n    // for subsequent parsing.\n    if (numberWithoutIDD && numberWithoutIDD !== number) {\n      isNumberWithIddPrefix = true;\n      number = '+' + numberWithoutIDD;\n    } else {\n      // Check to see if the number starts with the country calling code\n      // for the default country. If so, we remove the country calling code,\n      // and do some checks on the validity of the number before and after.\n      // https://github.com/catamphetamine/libphonenumber-js/issues/376\n      if (country || defaultCountry || defaultCallingCode) {\n        var _extractCountryCallin = extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(number, country, defaultCountry, defaultCallingCode, metadata),\n          countryCallingCode = _extractCountryCallin.countryCallingCode,\n          shorterNumber = _extractCountryCallin.number;\n        if (countryCallingCode) {\n          return {\n            countryCallingCodeSource: 'FROM_NUMBER_WITHOUT_PLUS_SIGN',\n            countryCallingCode: countryCallingCode,\n            number: shorterNumber\n          };\n        }\n      }\n      return {\n        // No need to set it to `UNSPECIFIED`. It can be just `undefined`.\n        // countryCallingCodeSource: 'UNSPECIFIED',\n        number: number\n      };\n    }\n  }\n\n  // `number` can only be international at this point.\n\n  // Fast abortion: country codes do not begin with a '0'\n  if (number[1] === '0') {\n    return {};\n  }\n  metadata = new Metadata(metadata);\n\n  // The thing with country phone codes\n  // is that they are orthogonal to each other\n  // i.e. there's no such country phone code A\n  // for which country phone code B exists\n  // where B starts with A.\n  // Therefore, while scanning digits,\n  // if a valid country code is found,\n  // that means that it is the country code.\n  //\n  var i = 2;\n  while (i - 1 <= MAX_LENGTH_COUNTRY_CODE && i <= number.length) {\n    var _countryCallingCode = number.slice(1, i);\n    if (metadata.hasCallingCode(_countryCallingCode)) {\n      metadata.selectNumberingPlan(_countryCallingCode);\n      return {\n        countryCallingCodeSource: isNumberWithIddPrefix ? 'FROM_NUMBER_WITH_IDD' : 'FROM_NUMBER_WITH_PLUS_SIGN',\n        countryCallingCode: _countryCallingCode,\n        number: number.slice(i)\n      };\n    }\n    i++;\n  }\n  return {};\n}\n\n// The possible values for the returned `countryCallingCodeSource` are:\n//\n// Copy-pasted from:\n// https://github.com/google/libphonenumber/blob/master/resources/phonenumber.proto\n//\n// // The source from which the country_code is derived. This is not set in the\n// // general parsing method, but in the method that parses and keeps raw_input.\n// // New fields could be added upon request.\n// enum CountryCodeSource {\n//  // Default value returned if this is not set, because the phone number was\n//  // created using parse, not parseAndKeepRawInput. hasCountryCodeSource will\n//  // return false if this is the case.\n//  UNSPECIFIED = 0;\n//\n//  // The country_code is derived based on a phone number with a leading \"+\",\n//  // e.g. the French number \"+33 1 42 68 53 00\".\n//  FROM_NUMBER_WITH_PLUS_SIGN = 1;\n//\n//  // The country_code is derived based on a phone number with a leading IDD,\n//  // e.g. the French number \"011 33 1 42 68 53 00\", as it is dialled from US.\n//  FROM_NUMBER_WITH_IDD = 5;\n//\n//  // The country_code is derived based on a phone number without a leading\n//  // \"+\", e.g. the French number \"33 1 42 68 53 00\" when defaultCountry is\n//  // supplied as France.\n//  FROM_NUMBER_WITHOUT_PLUS_SIGN = 10;\n//\n//  // The country_code is derived NOT based on the phone number itself, but\n//  // from the defaultCountry parameter provided in the parsing function by the\n//  // clients. This happens mostly for numbers written in the national format\n//  // (without country code). For example, this would be set when parsing the\n//  // French number \"01 42 68 53 00\", when defaultCountry is supplied as\n//  // France.\n//  FROM_DEFAULT_COUNTRY = 20;\n// }\n//# sourceMappingURL=extractCountryCallingCode.js.map","import { VALID_PUNCTUATION } from '../constants.js';\n\n// Removes brackets and replaces dashes with spaces.\n//\n// E.g. \"(999) 111-22-33\" -> \"999 111 22 33\"\n//\n// For some reason Google's metadata contains `<intlFormat/>`s with brackets and dashes.\n// Meanwhile, there's no single opinion about using punctuation in international phone numbers.\n//\n// For example, Google's `<intlFormat/>` for USA is `+1 213-373-4253`.\n// And here's a quote from WikiPedia's \"North American Numbering Plan\" page:\n// https://en.wikipedia.org/wiki/North_American_Numbering_Plan\n//\n// \"The country calling code for all countries participating in the NANP is 1.\n// In international format, an NANP number should be listed as +1 301 555 01 00,\n// where 301 is an area code (Maryland).\"\n//\n// I personally prefer the international format without any punctuation.\n// For example, brackets are remnants of the old age, meaning that the\n// phone number part in brackets (so called \"area code\") can be omitted\n// if dialing within the same \"area\".\n// And hyphens were clearly introduced for splitting local numbers into memorizable groups.\n// For example, remembering \"5553535\" is difficult but \"555-35-35\" is much simpler.\n// Imagine a man taking a bus from home to work and seeing an ad with a phone number.\n// He has a couple of seconds to memorize that number until it passes by.\n// If it were spaces instead of hyphens the man wouldn't necessarily get it,\n// but with hyphens instead of spaces the grouping is more explicit.\n// I personally think that hyphens introduce visual clutter,\n// so I prefer replacing them with spaces in international numbers.\n// In the modern age all output is done on displays where spaces are clearly distinguishable\n// so hyphens can be safely replaced with spaces without losing any legibility.\n//\nexport default function applyInternationalSeparatorStyle(formattedNumber) {\n  return formattedNumber.replace(new RegExp(\"[\".concat(VALID_PUNCTUATION, \"]+\"), 'g'), ' ').trim();\n}\n//# sourceMappingURL=applyInternationalSeparatorStyle.js.map","import applyInternationalSeparatorStyle from './applyInternationalSeparatorStyle.js';\n\n// This was originally set to $1 but there are some countries for which the\n// first group is not used in the national pattern (e.g. Argentina) so the $1\n// group does not match correctly. Therefore, we use `\\d`, so that the first\n// group actually used in the pattern will be matched.\nexport var FIRST_GROUP_PATTERN = /(\\$\\d)/;\nexport default function formatNationalNumberUsingFormat(number, format, _ref) {\n  var useInternationalFormat = _ref.useInternationalFormat,\n    withNationalPrefix = _ref.withNationalPrefix,\n    carrierCode = _ref.carrierCode,\n    metadata = _ref.metadata;\n  var formattedNumber = number.replace(new RegExp(format.pattern()), useInternationalFormat ? format.internationalFormat() :\n  // This library doesn't use `domestic_carrier_code_formatting_rule`,\n  // because that one is only used when formatting phone numbers\n  // for dialing from a mobile phone, and this is not a dialing library.\n  // carrierCode && format.domesticCarrierCodeFormattingRule()\n  // \t// First, replace the $CC in the formatting rule with the desired carrier code.\n  // \t// Then, replace the $FG in the formatting rule with the first group\n  // \t// and the carrier code combined in the appropriate way.\n  // \t? format.format().replace(FIRST_GROUP_PATTERN, format.domesticCarrierCodeFormattingRule().replace('$CC', carrierCode))\n  // \t: (\n  // \t\twithNationalPrefix && format.nationalPrefixFormattingRule()\n  // \t\t\t? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule())\n  // \t\t\t: format.format()\n  // \t)\n  withNationalPrefix && format.nationalPrefixFormattingRule() ? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule()) : format.format());\n  if (useInternationalFormat) {\n    return applyInternationalSeparatorStyle(formattedNumber);\n  }\n  return formattedNumber;\n}\n//# sourceMappingURL=formatNationalNumberUsingFormat.js.map","import Metadata from '../metadata.js';\n\n/**\r\n * Pattern that makes it easy to distinguish whether a region has a single\r\n * international dialing prefix or not. If a region has a single international\r\n * prefix (e.g. 011 in USA), it will be represented as a string that contains\r\n * a sequence of ASCII digits, and possibly a tilde, which signals waiting for\r\n * the tone. If there are multiple available international prefixes in a\r\n * region, they will be represented as a regex string that always contains one\r\n * or more characters that are not ASCII digits or a tilde.\r\n */\nvar SINGLE_IDD_PREFIX_REG_EXP = /^[\\d]+(?:[~\\u2053\\u223C\\uFF5E][\\d]+)?$/;\n\n// If the `country` supports IDD calling, it returns a preferred IDD prefix.\n// If the `country` doesn't support IDD calling, it returns `undefined`.\nexport default function getIddPrefix(country, callingCode, metadata) {\n  var countryMetadata = new Metadata(metadata);\n  countryMetadata.selectNumberingPlan(country, callingCode);\n  if (countryMetadata.defaultIDDPrefix()) {\n    return countryMetadata.defaultIDDPrefix();\n  }\n  if (SINGLE_IDD_PREFIX_REG_EXP.test(countryMetadata.IDDPrefix())) {\n    return countryMetadata.IDDPrefix();\n  }\n}\n//# sourceMappingURL=getIddPrefix.js.map","import { VALID_DIGITS } from '../../constants.js';\n\n// The RFC 3966 format for extensions.\nvar RFC3966_EXTN_PREFIX = ';ext=';\n\n/**\r\n * Helper method for constructing regular expressions for parsing. Creates\r\n * an expression that captures up to max_length digits.\r\n * @return {string} RegEx pattern to capture extension digits.\r\n */\nvar getExtensionDigitsPattern = function getExtensionDigitsPattern(maxLength) {\n  return \"([\".concat(VALID_DIGITS, \"]{1,\").concat(maxLength, \"})\");\n};\n\n/**\r\n * Helper initialiser method to create the regular-expression pattern to match\r\n * extensions.\r\n * Copy-pasted from Google's `libphonenumber`:\r\n * https://github.com/google/libphonenumber/blob/55b2646ec9393f4d3d6661b9c82ef9e258e8b829/javascript/i18n/phonenumbers/phonenumberutil.js#L759-L766\r\n * @return {string} RegEx pattern to capture extensions.\r\n */\nexport default function createExtensionPattern(purpose) {\n  // We cap the maximum length of an extension based on the ambiguity of the way\n  // the extension is prefixed. As per ITU, the officially allowed length for\n  // extensions is actually 40, but we don't support this since we haven't seen real\n  // examples and this introduces many false interpretations as the extension labels\n  // are not standardized.\n  /** @type {string} */\n  var extLimitAfterExplicitLabel = '20';\n  /** @type {string} */\n  var extLimitAfterLikelyLabel = '15';\n  /** @type {string} */\n  var extLimitAfterAmbiguousChar = '9';\n  /** @type {string} */\n  var extLimitWhenNotSure = '6';\n\n  /** @type {string} */\n  var possibleSeparatorsBetweenNumberAndExtLabel = \"[ \\xA0\\\\t,]*\";\n  // Optional full stop (.) or colon, followed by zero or more spaces/tabs/commas.\n  /** @type {string} */\n  var possibleCharsAfterExtLabel = \"[:\\\\.\\uFF0E]?[ \\xA0\\\\t,-]*\";\n  /** @type {string} */\n  var optionalExtnSuffix = \"#?\";\n\n  // Here the extension is called out in more explicit way, i.e mentioning it obvious\n  // patterns like \"ext.\".\n  /** @type {string} */\n  var explicitExtLabels = \"(?:e?xt(?:ensi(?:o\\u0301?|\\xF3))?n?|\\uFF45?\\uFF58\\uFF54\\uFF4E?|\\u0434\\u043E\\u0431|anexo)\";\n  // One-character symbols that can be used to indicate an extension, and less\n  // commonly used or more ambiguous extension labels.\n  /** @type {string} */\n  var ambiguousExtLabels = \"(?:[x\\uFF58#\\uFF03~\\uFF5E]|int|\\uFF49\\uFF4E\\uFF54)\";\n  // When extension is not separated clearly.\n  /** @type {string} */\n  var ambiguousSeparator = \"[- ]+\";\n  // This is the same as possibleSeparatorsBetweenNumberAndExtLabel, but not matching\n  // comma as extension label may have it.\n  /** @type {string} */\n  var possibleSeparatorsNumberExtLabelNoComma = \"[ \\xA0\\\\t]*\";\n  // \",,\" is commonly used for auto dialling the extension when connected. First\n  // comma is matched through possibleSeparatorsBetweenNumberAndExtLabel, so we do\n  // not repeat it here. Semi-colon works in Iphone and Android also to pop up a\n  // button with the extension number following.\n  /** @type {string} */\n  var autoDiallingAndExtLabelsFound = \"(?:,{2}|;)\";\n\n  /** @type {string} */\n  var rfcExtn = RFC3966_EXTN_PREFIX + getExtensionDigitsPattern(extLimitAfterExplicitLabel);\n  /** @type {string} */\n  var explicitExtn = possibleSeparatorsBetweenNumberAndExtLabel + explicitExtLabels + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterExplicitLabel) + optionalExtnSuffix;\n  /** @type {string} */\n  var ambiguousExtn = possibleSeparatorsBetweenNumberAndExtLabel + ambiguousExtLabels + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterAmbiguousChar) + optionalExtnSuffix;\n  /** @type {string} */\n  var americanStyleExtnWithSuffix = ambiguousSeparator + getExtensionDigitsPattern(extLimitWhenNotSure) + \"#\";\n\n  /** @type {string} */\n  var autoDiallingExtn = possibleSeparatorsNumberExtLabelNoComma + autoDiallingAndExtLabelsFound + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterLikelyLabel) + optionalExtnSuffix;\n  /** @type {string} */\n  var onlyCommasExtn = possibleSeparatorsNumberExtLabelNoComma + \"(?:,)+\" + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterAmbiguousChar) + optionalExtnSuffix;\n\n  // The first regular expression covers RFC 3966 format, where the extension is added\n  // using \";ext=\". The second more generic where extension is mentioned with explicit\n  // labels like \"ext:\". In both the above cases we allow more numbers in extension than\n  // any other extension labels. The third one captures when single character extension\n  // labels or less commonly used labels are used. In such cases we capture fewer\n  // extension digits in order to reduce the chance of falsely interpreting two\n  // numbers beside each other as a number + extension. The fourth one covers the\n  // special case of American numbers where the extension is written with a hash\n  // at the end, such as \"- 503#\". The fifth one is exclusively for extension\n  // autodialling formats which are used when dialling and in this case we accept longer\n  // extensions. The last one is more liberal on the number of commas that acts as\n  // extension labels, so we have a strict cap on the number of digits in such extensions.\n  return rfcExtn + \"|\" + explicitExtn + \"|\" + ambiguousExtn + \"|\" + americanStyleExtnWithSuffix + \"|\" + autoDiallingExtn + \"|\" + onlyCommasExtn;\n}\n//# sourceMappingURL=createExtensionPattern.js.map","import { MIN_LENGTH_FOR_NSN, VALID_DIGITS, VALID_PUNCTUATION, PLUS_CHARS } from '../constants.js';\nimport createExtensionPattern from './extension/createExtensionPattern.js';\n\n//  Regular expression of viable phone numbers. This is location independent.\n//  Checks we have at least three leading digits, and only valid punctuation,\n//  alpha characters and digits in the phone number. Does not include extension\n//  data. The symbol 'x' is allowed here as valid punctuation since it is often\n//  used as a placeholder for carrier codes, for example in Brazilian phone\n//  numbers. We also allow multiple '+' characters at the start.\n//\n//  Corresponds to the following:\n//  [digits]{minLengthNsn}|\n//  plus_sign*\n//  (([punctuation]|[star])*[digits]){3,}([punctuation]|[star]|[digits]|[alpha])*\n//\n//  The first reg-ex is to allow short numbers (two digits long) to be parsed if\n//  they are entered as \"15\" etc, but only if there is no punctuation in them.\n//  The second expression restricts the number of digits to three or more, but\n//  then allows them to be in international form, and to have alpha-characters\n//  and punctuation. We split up the two reg-exes here and combine them when\n//  creating the reg-ex VALID_PHONE_NUMBER_PATTERN itself so we can prefix it\n//  with ^ and append $ to each branch.\n//\n//  \"Note VALID_PUNCTUATION starts with a -,\n//   so must be the first in the range\" (c) Google devs.\n//  (wtf did they mean by saying that; probably nothing)\n//\nvar MIN_LENGTH_PHONE_NUMBER_PATTERN = '[' + VALID_DIGITS + ']{' + MIN_LENGTH_FOR_NSN + '}';\n//\n// And this is the second reg-exp:\n// (see MIN_LENGTH_PHONE_NUMBER_PATTERN for a full description of this reg-exp)\n//\nexport var VALID_PHONE_NUMBER = '[' + PLUS_CHARS + ']{0,1}' + '(?:' + '[' + VALID_PUNCTUATION + ']*' + '[' + VALID_DIGITS + ']' + '){3,}' + '[' + VALID_PUNCTUATION + VALID_DIGITS + ']*';\n\n// This regular expression isn't present in Google's `libphonenumber`\n// and is only used to determine whether the phone number being input\n// is too short for it to even consider it a \"valid\" number.\n// This is just a way to differentiate between a really invalid phone\n// number like \"abcde\" and a valid phone number that a user has just\n// started inputting, like \"+1\" or \"1\": both these cases would be\n// considered `NOT_A_NUMBER` by Google's `libphonenumber`, but this\n// library can provide a more detailed error message — whether it's\n// really \"not a number\", or is it just a start of a valid phone number.\nvar VALID_PHONE_NUMBER_START_REG_EXP = new RegExp('^' + '[' + PLUS_CHARS + ']{0,1}' + '(?:' + '[' + VALID_PUNCTUATION + ']*' + '[' + VALID_DIGITS + ']' + '){1,2}' + '$', 'i');\nexport var VALID_PHONE_NUMBER_WITH_EXTENSION = VALID_PHONE_NUMBER +\n// Phone number extensions\n'(?:' + createExtensionPattern() + ')?';\n\n// The combined regular expression for valid phone numbers:\n//\nvar VALID_PHONE_NUMBER_PATTERN = new RegExp(\n// Either a short two-digit-only phone number\n'^' + MIN_LENGTH_PHONE_NUMBER_PATTERN + '$' + '|' +\n// Or a longer fully parsed phone number (min 3 characters)\n'^' + VALID_PHONE_NUMBER_WITH_EXTENSION + '$', 'i');\n\n// Checks to see if the string of characters could possibly be a phone number at\n// all. At the moment, checks to see that the string begins with at least 2\n// digits, ignoring any punctuation commonly found in phone numbers. This method\n// does not require the number to be normalized in advance - but does assume\n// that leading non-number symbols have been removed, such as by the method\n// `extract_possible_number`.\n//\nexport default function isViablePhoneNumber(number) {\n  return number.length >= MIN_LENGTH_FOR_NSN && VALID_PHONE_NUMBER_PATTERN.test(number);\n}\n\n// This is just a way to differentiate between a really invalid phone\n// number like \"abcde\" and a valid phone number that a user has just\n// started inputting, like \"+1\" or \"1\": both these cases would be\n// considered `NOT_A_NUMBER` by Google's `libphonenumber`, but this\n// library can provide a more detailed error message — whether it's\n// really \"not a number\", or is it just a start of a valid phone number.\nexport function isViablePhoneNumberStart(number) {\n  return VALID_PHONE_NUMBER_START_REG_EXP.test(number);\n}\n//# sourceMappingURL=isViablePhoneNumber.js.map","function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nfunction _createForOfIteratorHelperLoose(r, e) { var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (t) return (t = t.call(r)).next.bind(t); if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && \"number\" == typeof r.length) { t && (r = t); var o = 0; return function () { return o >= r.length ? { done: !0 } : { done: !1, value: r[o++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nimport isViablePhoneNumber from './isViablePhoneNumber.js';\n\n// https://www.ietf.org/rfc/rfc3966.txt\n\n/**\r\n * @param  {string} text - Phone URI (RFC 3966).\r\n * @return {object} `{ ?number, ?ext }`.\r\n */\nexport function parseRFC3966(text) {\n  var number;\n  var ext;\n\n  // Replace \"tel:\" with \"tel=\" for parsing convenience.\n  text = text.replace(/^tel:/, 'tel=');\n  for (var _iterator = _createForOfIteratorHelperLoose(text.split(';')), _step; !(_step = _iterator()).done;) {\n    var part = _step.value;\n    var _part$split = part.split('='),\n      _part$split2 = _slicedToArray(_part$split, 2),\n      name = _part$split2[0],\n      value = _part$split2[1];\n    switch (name) {\n      case 'tel':\n        number = value;\n        break;\n      case 'ext':\n        ext = value;\n        break;\n      case 'phone-context':\n        // Only \"country contexts\" are supported.\n        // \"Domain contexts\" are ignored.\n        if (value[0] === '+') {\n          number = value + number;\n        }\n        break;\n    }\n  }\n\n  // If the phone number is not viable, then abort.\n  if (!isViablePhoneNumber(number)) {\n    return {};\n  }\n  var result = {\n    number: number\n  };\n  if (ext) {\n    result.ext = ext;\n  }\n  return result;\n}\n\n/**\r\n * @param  {object} - `{ ?number, ?extension }`.\r\n * @return {string} Phone URI (RFC 3966).\r\n */\nexport function formatRFC3966(_ref) {\n  var number = _ref.number,\n    ext = _ref.ext;\n  if (!number) {\n    return '';\n  }\n  if (number[0] !== '+') {\n    throw new Error(\"\\\"formatRFC3966()\\\" expects \\\"number\\\" to be in E.164 format.\");\n  }\n  return \"tel:\".concat(number).concat(ext ? ';ext=' + ext : '');\n}\n//# sourceMappingURL=RFC3966.js.map","// This is a port of Google Android `libphonenumber`'s\n// `phonenumberutil.js` of December 31th, 2018.\n//\n// https://github.com/googlei18n/libphonenumber/commits/master/javascript/i18n/phonenumbers/phonenumberutil.js\n\nimport matchesEntirely from './helpers/matchesEntirely.js';\nimport formatNationalNumberUsingFormat from './helpers/formatNationalNumberUsingFormat.js';\nimport Metadata, { getCountryCallingCode } from './metadata.js';\nimport getIddPrefix from './helpers/getIddPrefix.js';\nimport { formatRFC3966 } from './helpers/RFC3966.js';\nvar DEFAULT_OPTIONS = {\n  formatExtension: function formatExtension(formattedNumber, extension, metadata) {\n    return \"\".concat(formattedNumber).concat(metadata.ext()).concat(extension);\n  }\n};\n\n/**\r\n * Formats a phone number.\r\n *\r\n * format(phoneNumberInstance, 'INTERNATIONAL', { ..., v2: true }, metadata)\r\n * format(phoneNumberInstance, 'NATIONAL', { ..., v2: true }, metadata)\r\n *\r\n * format({ phone: '8005553535', country: 'RU' }, 'INTERNATIONAL', { ... }, metadata)\r\n * format({ phone: '8005553535', country: 'RU' }, 'NATIONAL', undefined, metadata)\r\n *\r\n * @param  {object|PhoneNumber} input — If `options.v2: true` flag is passed, the `input` should be a `PhoneNumber` instance. Otherwise, it should be an object of shape `{ phone: '...', country: '...' }`.\r\n * @param  {string} format\r\n * @param  {object} [options]\r\n * @param  {object} metadata\r\n * @return {string}\r\n */\nexport default function formatNumber(input, format, options, metadata) {\n  // Apply default options.\n  if (options) {\n    // Using ES6 \"rest spread\" syntax here didn't work with `babel`/`istanbul`\n    // for some weird reason: this line of code would cause the code coverage\n    // to show as not 100%. That's because `babel`/`istanbul`, for some weird reason,\n    // apparently doesn't know how to properly exclude Babel polyfills from code coverage.\n    //\n    // options = { ...DEFAULT_OPTIONS, ...options }\n    //\n    options = merge({}, DEFAULT_OPTIONS, options);\n  } else {\n    options = DEFAULT_OPTIONS;\n  }\n  metadata = new Metadata(metadata);\n\n  // Normally, the `input` object is supposed to be a `PhoneNumber` class instance.\n  // Also, according to the `PhoneNumber` class source code, `country` can't be \"001\".\n  // It means that normally `input.country` or `input.countryCallingCode` is supposed\n  // to be present because either of the two is always required to exist in a `PhoneNumber` instance.\n  // This means that realistically, it's gonna step into either the first `if`\n  // or the following `else if`, and normally it won't even reach the legacy-compatibility\n  // `else return input.phone || ''` part.\n  // So normally, it won't ever return an empty string here.\n  if (input.country && input.country !== '001') {\n    // Validate `input.country`.\n    if (!metadata.hasCountry(input.country)) {\n      throw new Error(\"Unknown country: \".concat(input.country));\n    }\n    metadata.selectNumberingPlan(input.country);\n  } else if (input.countryCallingCode) {\n    metadata.selectNumberingPlan(input.countryCallingCode);\n  } else return input.phone || '';\n  var countryCallingCode = metadata.countryCallingCode();\n  var nationalNumber = options.v2 ? input.nationalNumber : input.phone;\n\n  // This variable should have been declared inside `case`s\n  // but Babel has a bug and it says \"duplicate variable declaration\".\n  var number;\n  switch (format) {\n    case 'NATIONAL':\n      // Normally, the `input` object is supposed to be a `PhoneNumber` class instance,\n      // and a `PhoneNumber` class instance is always required to have a `nationalNumber`.\n      // This means that the `if (!nationalNumber)` below is just for legacy-compatibility\n      // and it normally can't really happen, so normally it won't ever return an empty string here.\n      if (!nationalNumber) {\n        return '';\n      }\n      number = formatNationalNumber(nationalNumber, input.carrierCode, 'NATIONAL', metadata, options);\n      return addExtension(number, input.ext, metadata, options.formatExtension);\n    case 'INTERNATIONAL':\n      // Legacy argument support.\n      // (`{ country: ..., phone: '' }`)\n      if (!nationalNumber) {\n        return \"+\".concat(countryCallingCode);\n      }\n      number = formatNationalNumber(nationalNumber, null, 'INTERNATIONAL', metadata, options);\n      number = \"+\".concat(countryCallingCode, \" \").concat(number);\n      return addExtension(number, input.ext, metadata, options.formatExtension);\n    case 'E.164':\n      // `E.164` doesn't define \"phone number extensions\".\n      return \"+\".concat(countryCallingCode).concat(nationalNumber);\n    case 'RFC3966':\n      return formatRFC3966({\n        number: \"+\".concat(countryCallingCode).concat(nationalNumber),\n        ext: input.ext\n      });\n\n    // For reference, here's Google's IDD formatter:\n    // https://github.com/google/libphonenumber/blob/32719cf74e68796788d1ca45abc85dcdc63ba5b9/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L1546\n    // Not saying that this IDD formatter replicates it 1:1, but it seems to work.\n    // Who would even need to format phone numbers in IDD format anyway?\n    case 'IDD':\n      // If the required `fromCountry` parameter is not passed, it will return `undefined`.\n      if (!options.fromCountry) {\n        return;\n        // throw new Error('`fromCountry` option not passed for IDD-prefixed formatting.')\n      }\n      var formattedNumber = formatIDD(nationalNumber, input.carrierCode, countryCallingCode, options.fromCountry, metadata);\n      // If the country of the phone number doesn't support IDD calling, it will return `undefined`.\n      if (!formattedNumber) {\n        return;\n      }\n      return addExtension(formattedNumber, input.ext, metadata, options.formatExtension);\n    default:\n      throw new Error(\"Unknown \\\"format\\\" argument passed to \\\"formatNumber()\\\": \\\"\".concat(format, \"\\\"\"));\n  }\n}\nfunction formatNationalNumber(number, carrierCode, formatAs, metadata, options) {\n  var format = chooseFormatForNumber(metadata.formats(), number);\n  if (!format) {\n    return number;\n  }\n  return formatNationalNumberUsingFormat(number, format, {\n    useInternationalFormat: formatAs === 'INTERNATIONAL',\n    withNationalPrefix: format.nationalPrefixIsOptionalWhenFormattingInNationalFormat() && options && options.nationalPrefix === false ? false : true,\n    carrierCode: carrierCode,\n    metadata: metadata\n  });\n}\nexport function chooseFormatForNumber(availableFormats, nationalNumber) {\n  // Using a `for ... of` loop here didn't work with `babel`/`istanbul`:\n  // for some weird reason, it showed code coverage less than 100%.\n  // That's because `babel`/`istanbul`, for some weird reason,\n  // apparently doesn't know how to properly exclude Babel polyfills from code coverage.\n  //\n  // for (const format of availableFormats) { ... }\n  //\n  return pickFirstMatchingElement(availableFormats, function (format) {\n    // Validate leading digits.\n    // The test case for \"else path\" could be found by searching for\n    // \"format.leadingDigitsPatterns().length === 0\".\n    if (format.leadingDigitsPatterns().length > 0) {\n      // The last leading_digits_pattern is used here, as it is the most detailed\n      var lastLeadingDigitsPattern = format.leadingDigitsPatterns()[format.leadingDigitsPatterns().length - 1];\n      // If leading digits don't match then move on to the next phone number format\n      if (nationalNumber.search(lastLeadingDigitsPattern) !== 0) {\n        return false;\n      }\n    }\n    // Check that the national number matches the phone number format regular expression\n    return matchesEntirely(nationalNumber, format.pattern());\n  });\n}\nfunction addExtension(formattedNumber, ext, metadata, formatExtension) {\n  return ext ? formatExtension(formattedNumber, ext, metadata) : formattedNumber;\n}\nfunction formatIDD(nationalNumber, carrierCode, countryCallingCode, fromCountry, metadata) {\n  var fromCountryCallingCode = getCountryCallingCode(fromCountry, metadata.metadata);\n  // When calling within the same country calling code.\n  if (fromCountryCallingCode === countryCallingCode) {\n    var formattedNumber = formatNationalNumber(nationalNumber, carrierCode, 'NATIONAL', metadata);\n    // For NANPA regions, return the national format for these regions\n    // but prefix it with the country calling code.\n    if (countryCallingCode === '1') {\n      return countryCallingCode + ' ' + formattedNumber;\n    }\n    // If regions share a country calling code, the country calling code need\n    // not be dialled. This also applies when dialling within a region, so this\n    // if clause covers both these cases. Technically this is the case for\n    // dialling from La Reunion to other overseas departments of France (French\n    // Guiana, Martinique, Guadeloupe), but not vice versa - so we don't cover\n    // this edge case for now and for those cases return the version including\n    // country calling code. Details here:\n    // http://www.petitfute.com/voyage/225-info-pratiques-reunion\n    //\n    return formattedNumber;\n  }\n  var iddPrefix = getIddPrefix(fromCountry, undefined, metadata.metadata);\n  if (iddPrefix) {\n    return \"\".concat(iddPrefix, \" \").concat(countryCallingCode, \" \").concat(formatNationalNumber(nationalNumber, null, 'INTERNATIONAL', metadata));\n  }\n}\nfunction merge() {\n  var i = 1;\n  for (var _len = arguments.length, objects = new Array(_len), _key = 0; _key < _len; _key++) {\n    objects[_key] = arguments[_key];\n  }\n  while (i < objects.length) {\n    if (objects[i]) {\n      for (var key in objects[i]) {\n        objects[0][key] = objects[i][key];\n      }\n    }\n    i++;\n  }\n  return objects[0];\n}\nfunction pickFirstMatchingElement(elements, testFunction) {\n  var i = 0;\n  while (i < elements.length) {\n    if (testFunction(elements[i])) {\n      return elements[i];\n    }\n    i++;\n  }\n}\n//# sourceMappingURL=format.js.map","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport Metadata, { validateMetadata } from './metadata.js';\nimport isPossibleNumber from './isPossible.js';\nimport isValidNumber from './isValid.js';\nimport getNumberType from './helpers/getNumberType.js';\nimport getPossibleCountriesForNumber from './helpers/getPossibleCountriesForNumber.js';\nimport extractCountryCallingCode from './helpers/extractCountryCallingCode.js';\nimport isObject from './helpers/isObject.js';\nimport formatNumber from './format.js';\nvar USE_NON_GEOGRAPHIC_COUNTRY_CODE = false;\nvar PhoneNumber = /*#__PURE__*/function () {\n  /**\r\n   * @param  {string} countryOrCountryCallingCode\r\n   * @param  {string} nationalNumber\r\n   * @param  {object} metadata — Metadata JSON\r\n   * @return {PhoneNumber}\r\n   */\n  function PhoneNumber(countryOrCountryCallingCode, nationalNumber, metadata) {\n    _classCallCheck(this, PhoneNumber);\n    // Validate `countryOrCountryCallingCode` argument.\n    if (!countryOrCountryCallingCode) {\n      throw new TypeError('First argument is required');\n    }\n    if (typeof countryOrCountryCallingCode !== 'string') {\n      throw new TypeError('First argument must be a string');\n    }\n\n    // In case of public API use: `constructor(number, metadata)`.\n    // Transform the arguments from `constructor(number, metadata)` to\n    // `constructor(countryOrCountryCallingCode, nationalNumber, metadata)`.\n    if (countryOrCountryCallingCode[0] === '+' && !nationalNumber) {\n      throw new TypeError('`metadata` argument not passed');\n    }\n    if (isObject(nationalNumber) && isObject(nationalNumber.countries)) {\n      metadata = nationalNumber;\n      var e164Number = countryOrCountryCallingCode;\n      if (!E164_NUMBER_REGEXP.test(e164Number)) {\n        throw new Error('Invalid `number` argument passed: must consist of a \"+\" followed by digits');\n      }\n      var _extractCountryCallin = extractCountryCallingCode(e164Number, undefined, undefined, undefined, metadata),\n        _countryCallingCode = _extractCountryCallin.countryCallingCode,\n        number = _extractCountryCallin.number;\n      nationalNumber = number;\n      countryOrCountryCallingCode = _countryCallingCode;\n      if (!nationalNumber) {\n        throw new Error('Invalid `number` argument passed: too short');\n      }\n    }\n\n    // Validate `nationalNumber` argument.\n    if (!nationalNumber) {\n      throw new TypeError('`nationalNumber` argument is required');\n    }\n    if (typeof nationalNumber !== 'string') {\n      throw new TypeError('`nationalNumber` argument must be a string');\n    }\n\n    // Validate `metadata` argument.\n    validateMetadata(metadata);\n\n    // Initialize properties.\n    var _getCountryAndCountry = getCountryAndCountryCallingCode(countryOrCountryCallingCode, metadata),\n      country = _getCountryAndCountry.country,\n      countryCallingCode = _getCountryAndCountry.countryCallingCode;\n    this.country = country;\n    this.countryCallingCode = countryCallingCode;\n    this.nationalNumber = nationalNumber;\n    this.number = '+' + this.countryCallingCode + this.nationalNumber;\n    // Exclude `metadata` property output from `PhoneNumber.toString()`\n    // so that it doesn't clutter the console output of Node.js.\n    // Previously, when Node.js did `console.log(new PhoneNumber(...))`,\n    // it would output the whole internal structure of the `metadata` object.\n    this.getMetadata = function () {\n      return metadata;\n    };\n  }\n  return _createClass(PhoneNumber, [{\n    key: \"setExt\",\n    value: function setExt(ext) {\n      this.ext = ext;\n    }\n  }, {\n    key: \"getPossibleCountries\",\n    value: function getPossibleCountries() {\n      if (this.country) {\n        return [this.country];\n      }\n      return getPossibleCountriesForNumber(this.countryCallingCode, this.nationalNumber, this.getMetadata());\n    }\n  }, {\n    key: \"isPossible\",\n    value: function isPossible() {\n      return isPossibleNumber(this, {\n        v2: true\n      }, this.getMetadata());\n    }\n  }, {\n    key: \"isValid\",\n    value: function isValid() {\n      return isValidNumber(this, {\n        v2: true\n      }, this.getMetadata());\n    }\n  }, {\n    key: \"isNonGeographic\",\n    value: function isNonGeographic() {\n      var metadata = new Metadata(this.getMetadata());\n      return metadata.isNonGeographicCallingCode(this.countryCallingCode);\n    }\n  }, {\n    key: \"isEqual\",\n    value: function isEqual(phoneNumber) {\n      return this.number === phoneNumber.number && this.ext === phoneNumber.ext;\n    }\n\n    // This function was originally meant to be an equivalent for `validatePhoneNumberLength()`,\n    // but later it was found out that it doesn't include the possible `TOO_SHORT` result\n    // returned from `parsePhoneNumberWithError()` in the original `validatePhoneNumberLength()`,\n    // so eventually I simply commented out this method from the `PhoneNumber` class\n    // and just left the `validatePhoneNumberLength()` function, even though that one would require\n    // and additional step to also validate the actual country / calling code of the phone number.\n    // validateLength() {\n    // \tconst metadata = new Metadata(this.getMetadata())\n    // \tmetadata.selectNumberingPlan(this.countryCallingCode)\n    // \tconst result = checkNumberLength(this.nationalNumber, metadata)\n    // \tif (result !== 'IS_POSSIBLE') {\n    // \t\treturn result\n    // \t}\n    // }\n  }, {\n    key: \"getType\",\n    value: function getType() {\n      return getNumberType(this, {\n        v2: true\n      }, this.getMetadata());\n    }\n  }, {\n    key: \"format\",\n    value: function format(_format, options) {\n      return formatNumber(this, _format, options ? _objectSpread(_objectSpread({}, options), {}, {\n        v2: true\n      }) : {\n        v2: true\n      }, this.getMetadata());\n    }\n  }, {\n    key: \"formatNational\",\n    value: function formatNational(options) {\n      return this.format('NATIONAL', options);\n    }\n  }, {\n    key: \"formatInternational\",\n    value: function formatInternational(options) {\n      return this.format('INTERNATIONAL', options);\n    }\n  }, {\n    key: \"getURI\",\n    value: function getURI(options) {\n      return this.format('RFC3966', options);\n    }\n  }]);\n}();\nexport { PhoneNumber as default };\nvar isCountryCode = function isCountryCode(value) {\n  return /^[A-Z]{2}$/.test(value);\n};\nfunction getCountryAndCountryCallingCode(countryOrCountryCallingCode, metadataJson) {\n  var country;\n  var countryCallingCode;\n  var metadata = new Metadata(metadataJson);\n  // If country code is passed then derive `countryCallingCode` from it.\n  // Also store the country code as `.country`.\n  if (isCountryCode(countryOrCountryCallingCode)) {\n    country = countryOrCountryCallingCode;\n    metadata.selectNumberingPlan(country);\n    countryCallingCode = metadata.countryCallingCode();\n  } else {\n    countryCallingCode = countryOrCountryCallingCode;\n    /* istanbul ignore if */\n    if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n      if (metadata.isNonGeographicCallingCode(countryCallingCode)) {\n        country = '001';\n      }\n    }\n  }\n  return {\n    country: country,\n    countryCallingCode: countryCallingCode\n  };\n}\nvar E164_NUMBER_REGEXP = /^\\+\\d+$/;\n//# sourceMappingURL=PhoneNumber.js.map","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _wrapNativeSuper(t) { var r = \"function\" == typeof Map ? new Map() : void 0; return _wrapNativeSuper = function _wrapNativeSuper(t) { if (null === t || !_isNativeFunction(t)) return t; if (\"function\" != typeof t) throw new TypeError(\"Super expression must either be null or a function\"); if (void 0 !== r) { if (r.has(t)) return r.get(t); r.set(t, Wrapper); } function Wrapper() { return _construct(t, arguments, _getPrototypeOf(this).constructor); } return Wrapper.prototype = Object.create(t.prototype, { constructor: { value: Wrapper, enumerable: !1, writable: !0, configurable: !0 } }), _setPrototypeOf(Wrapper, t); }, _wrapNativeSuper(t); }\nfunction _construct(t, e, r) { if (_isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments); var o = [null]; o.push.apply(o, e); var p = new (t.bind.apply(t, o))(); return r && _setPrototypeOf(p, r.prototype), p; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _isNativeFunction(t) { try { return -1 !== Function.toString.call(t).indexOf(\"[native code]\"); } catch (n) { return \"function\" == typeof t; } }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\n// https://stackoverflow.com/a/46971044/970769\n// \"Breaking changes in Typescript 2.1\"\n// \"Extending built-ins like Error, Array, and Map may no longer work.\"\n// \"As a recommendation, you can manually adjust the prototype immediately after any super(...) calls.\"\n// https://github.com/Microsoft/TypeScript-wiki/blob/main/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\nvar ParseError = /*#__PURE__*/function (_Error) {\n  function ParseError(code) {\n    var _this;\n    _classCallCheck(this, ParseError);\n    _this = _callSuper(this, ParseError, [code]);\n    // Set the prototype explicitly.\n    // Any subclass of FooError will have to manually set the prototype as well.\n    Object.setPrototypeOf(_this, ParseError.prototype);\n    _this.name = _this.constructor.name;\n    return _this;\n  }\n  _inherits(ParseError, _Error);\n  return _createClass(ParseError);\n}(/*#__PURE__*/_wrapNativeSuper(Error));\nexport { ParseError as default };\n//# sourceMappingURL=ParseError.js.map","import createExtensionPattern from './createExtensionPattern.js';\n\n// Regexp of all known extension prefixes used by different regions followed by\n// 1 or more valid digits, for use when parsing.\nvar EXTN_PATTERN = new RegExp('(?:' + createExtensionPattern() + ')$', 'i');\n\n// Strips any extension (as in, the part of the number dialled after the call is\n// connected, usually indicated with extn, ext, x or similar) from the end of\n// the number, and returns it.\nexport default function extractExtension(number) {\n  var start = number.search(EXTN_PATTERN);\n  if (start < 0) {\n    return {};\n  }\n  // If we find a potential extension, and the number preceding this is a viable\n  // number, we assume it is an extension.\n  var numberWithoutExtension = number.slice(0, start);\n  var matches = number.match(EXTN_PATTERN);\n  var i = 1;\n  while (i < matches.length) {\n    if (matches[i]) {\n      return {\n        number: numberWithoutExtension,\n        ext: matches[i]\n      };\n    }\n    i++;\n  }\n}\n//# sourceMappingURL=extractExtension.js.map","function _createForOfIteratorHelperLoose(r, e) { var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (t) return (t = t.call(r)).next.bind(t); if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && \"number\" == typeof r.length) { t && (r = t); var o = 0; return function () { return o >= r.length ? { done: !0 } : { done: !1, value: r[o++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\n// These mappings map a character (key) to a specific digit that should\n// replace it for normalization purposes. Non-European digits that\n// may be used in phone numbers are mapped to a European equivalent.\n//\n// E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\n//\nexport var DIGITS = {\n  '0': '0',\n  '1': '1',\n  '2': '2',\n  '3': '3',\n  '4': '4',\n  '5': '5',\n  '6': '6',\n  '7': '7',\n  '8': '8',\n  '9': '9',\n  \"\\uFF10\": '0',\n  // Fullwidth digit 0\n  \"\\uFF11\": '1',\n  // Fullwidth digit 1\n  \"\\uFF12\": '2',\n  // Fullwidth digit 2\n  \"\\uFF13\": '3',\n  // Fullwidth digit 3\n  \"\\uFF14\": '4',\n  // Fullwidth digit 4\n  \"\\uFF15\": '5',\n  // Fullwidth digit 5\n  \"\\uFF16\": '6',\n  // Fullwidth digit 6\n  \"\\uFF17\": '7',\n  // Fullwidth digit 7\n  \"\\uFF18\": '8',\n  // Fullwidth digit 8\n  \"\\uFF19\": '9',\n  // Fullwidth digit 9\n  \"\\u0660\": '0',\n  // Arabic-indic digit 0\n  \"\\u0661\": '1',\n  // Arabic-indic digit 1\n  \"\\u0662\": '2',\n  // Arabic-indic digit 2\n  \"\\u0663\": '3',\n  // Arabic-indic digit 3\n  \"\\u0664\": '4',\n  // Arabic-indic digit 4\n  \"\\u0665\": '5',\n  // Arabic-indic digit 5\n  \"\\u0666\": '6',\n  // Arabic-indic digit 6\n  \"\\u0667\": '7',\n  // Arabic-indic digit 7\n  \"\\u0668\": '8',\n  // Arabic-indic digit 8\n  \"\\u0669\": '9',\n  // Arabic-indic digit 9\n  \"\\u06F0\": '0',\n  // Eastern-Arabic digit 0\n  \"\\u06F1\": '1',\n  // Eastern-Arabic digit 1\n  \"\\u06F2\": '2',\n  // Eastern-Arabic digit 2\n  \"\\u06F3\": '3',\n  // Eastern-Arabic digit 3\n  \"\\u06F4\": '4',\n  // Eastern-Arabic digit 4\n  \"\\u06F5\": '5',\n  // Eastern-Arabic digit 5\n  \"\\u06F6\": '6',\n  // Eastern-Arabic digit 6\n  \"\\u06F7\": '7',\n  // Eastern-Arabic digit 7\n  \"\\u06F8\": '8',\n  // Eastern-Arabic digit 8\n  \"\\u06F9\": '9' // Eastern-Arabic digit 9\n};\nexport function parseDigit(character) {\n  return DIGITS[character];\n}\n\n/**\r\n * Parses phone number digits from a string.\r\n * Drops all punctuation leaving only digits.\r\n * Also converts wide-ascii and arabic-indic numerals to conventional numerals.\r\n * E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\r\n * @param  {string} string\r\n * @return {string}\r\n * @example\r\n * ```js\r\n * parseDigits('8 (800) 555')\r\n * // Outputs '8800555'.\r\n * ```\r\n */\nexport default function parseDigits(string) {\n  var result = '';\n  // Using `.split('')` here instead of normal `for ... of`\n  // because the importing application doesn't neccessarily include an ES6 polyfill.\n  // The `.split('')` approach discards \"exotic\" UTF-8 characters\n  // (the ones consisting of four bytes) but digits\n  // (including non-European ones) don't fall into that range\n  // so such \"exotic\" characters would be discarded anyway.\n  for (var _iterator = _createForOfIteratorHelperLoose(string.split('')), _step; !(_step = _iterator()).done;) {\n    var character = _step.value;\n    var digit = parseDigit(character);\n    if (digit) {\n      result += digit;\n    }\n  }\n  return result;\n}\n//# sourceMappingURL=parseDigits.js.map","function _createForOfIteratorHelperLoose(r, e) { var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (t) return (t = t.call(r)).next.bind(t); if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && \"number\" == typeof r.length) { t && (r = t); var o = 0; return function () { return o >= r.length ? { done: !0 } : { done: !1, value: r[o++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nimport { parseDigit } from './helpers/parseDigits.js';\n\n/**\r\n * Parses phone number characters from a string.\r\n * Drops all punctuation leaving only digits and the leading `+` sign (if any).\r\n * Also converts wide-ascii and arabic-indic numerals to conventional numerals.\r\n * E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\r\n * @param  {string} string\r\n * @return {string}\r\n * @example\r\n * ```js\r\n * // Outputs '8800555'.\r\n * parseIncompletePhoneNumber('8 (800) 555')\r\n * // Outputs '+7800555'.\r\n * parseIncompletePhoneNumber('+7 800 555')\r\n * ```\r\n */\nexport default function parseIncompletePhoneNumber(string) {\n  var result = '';\n  // Using `.split('')` here instead of normal `for ... of`\n  // because the importing application doesn't neccessarily include an ES6 polyfill.\n  // The `.split('')` approach discards \"exotic\" UTF-8 characters\n  // (the ones consisting of four bytes) but digits\n  // (including non-European ones) don't fall into that range\n  // so such \"exotic\" characters would be discarded anyway.\n  for (var _iterator = _createForOfIteratorHelperLoose(string.split('')), _step; !(_step = _iterator()).done;) {\n    var character = _step.value;\n    result += parsePhoneNumberCharacter(character, result) || '';\n  }\n  return result;\n}\n\n/**\r\n * Parses next character while parsing phone number digits (including a `+`)\r\n * from text: discards everything except `+` and digits, and `+` is only allowed\r\n * at the start of a phone number.\r\n * For example, is used in `react-phone-number-input` where it uses\r\n * [`input-format`](https://gitlab.com/catamphetamine/input-format).\r\n * @param  {string} character - Yet another character from raw input string.\r\n * @param  {string?} prevParsedCharacters - Previous parsed characters.\r\n * @param  {function?} eventListener - An optional \"on event\" function.\r\n * @return {string?} The parsed character.\r\n */\nexport function parsePhoneNumberCharacter(character, prevParsedCharacters, eventListener) {\n  // Only allow a leading `+`.\n  if (character === '+') {\n    // If this `+` is not the first parsed character\n    // then discard it.\n    if (prevParsedCharacters) {\n      // `eventListener` argument was added to this `export`ed function on Dec 26th, 2023.\n      // Any 3rd-party code that used to `import` and call this function before that\n      // won't be passing any `eventListener` argument.\n      //\n      // The addition of the `eventListener` argument was to fix the slightly-weird behavior\n      // of parsing an input string when the user inputs something like `\"2+7\"\n      // https://github.com/catamphetamine/react-phone-number-input/issues/437\n      //\n      // If the parser encounters an unexpected `+` in a string being parsed\n      // then it simply discards that out-of-place `+` and any following characters.\n      //\n      if (typeof eventListener === 'function') {\n        eventListener('end');\n      }\n      return;\n    }\n    return '+';\n  }\n  // Allow digits.\n  return parseDigit(character);\n}\n//# sourceMappingURL=parseIncompletePhoneNumber.js.map","// When phone numbers are written in `RFC3966` format — `\"tel:+12133734253\"` —\n// they can have their \"calling code\" part written separately in a `phone-context` parameter.\n// Example: `\"tel:12133734253;phone-context=+1\"`.\n// This function parses the full phone number from the local number and the `phone-context`\n// when the `phone-context` contains a `+` sign.\n\nimport { VALID_DIGITS\n// PLUS_CHARS\n} from '../constants.js';\nexport var PLUS_SIGN = '+';\nvar RFC3966_VISUAL_SEPARATOR_ = '[\\\\-\\\\.\\\\(\\\\)]?';\nvar RFC3966_PHONE_DIGIT_ = '(' + '[' + VALID_DIGITS + ']' + '|' + RFC3966_VISUAL_SEPARATOR_ + ')';\nvar RFC3966_GLOBAL_NUMBER_DIGITS_ = '^' + '\\\\' + PLUS_SIGN + RFC3966_PHONE_DIGIT_ + '*' + '[' + VALID_DIGITS + ']' + RFC3966_PHONE_DIGIT_ + '*' + '$';\n\n/**\r\n * Regular expression of valid global-number-digits for the phone-context\r\n * parameter, following the syntax defined in RFC3966.\r\n */\nvar RFC3966_GLOBAL_NUMBER_DIGITS_PATTERN_ = new RegExp(RFC3966_GLOBAL_NUMBER_DIGITS_, 'g');\n\n// In this port of Google's library, we don't accept alpha characters in phone numbers.\n// const ALPHANUM_ = VALID_ALPHA_ + VALID_DIGITS\nvar ALPHANUM_ = VALID_DIGITS;\nvar RFC3966_DOMAINLABEL_ = '[' + ALPHANUM_ + ']+((\\\\-)*[' + ALPHANUM_ + '])*';\nvar VALID_ALPHA_ = 'a-zA-Z';\nvar RFC3966_TOPLABEL_ = '[' + VALID_ALPHA_ + ']+((\\\\-)*[' + ALPHANUM_ + '])*';\nvar RFC3966_DOMAINNAME_ = '^(' + RFC3966_DOMAINLABEL_ + '\\\\.)*' + RFC3966_TOPLABEL_ + '\\\\.?$';\n\n/**\r\n * Regular expression of valid domainname for the phone-context parameter,\r\n * following the syntax defined in RFC3966.\r\n */\nvar RFC3966_DOMAINNAME_PATTERN_ = new RegExp(RFC3966_DOMAINNAME_, 'g');\nexport var RFC3966_PREFIX_ = 'tel:';\nexport var RFC3966_PHONE_CONTEXT_ = ';phone-context=';\nexport var RFC3966_ISDN_SUBADDRESS_ = ';isub=';\n\n/**\r\n * Extracts the value of the phone-context parameter of `numberToExtractFrom`,\r\n * following the syntax defined in RFC3966.\r\n *\r\n * @param {string} numberToExtractFrom\r\n * @return {string|null} the extracted string (possibly empty), or `null` if no phone-context parameter is found.\r\n */\nexport default function extractPhoneContext(numberToExtractFrom) {\n  var indexOfPhoneContext = numberToExtractFrom.indexOf(RFC3966_PHONE_CONTEXT_);\n  // If no phone-context parameter is present\n  if (indexOfPhoneContext < 0) {\n    return null;\n  }\n  var phoneContextStart = indexOfPhoneContext + RFC3966_PHONE_CONTEXT_.length;\n  // If phone-context parameter is empty\n  if (phoneContextStart >= numberToExtractFrom.length) {\n    return '';\n  }\n  var phoneContextEnd = numberToExtractFrom.indexOf(';', phoneContextStart);\n  // If phone-context is not the last parameter\n  if (phoneContextEnd >= 0) {\n    return numberToExtractFrom.substring(phoneContextStart, phoneContextEnd);\n  } else {\n    return numberToExtractFrom.substring(phoneContextStart);\n  }\n}\n\n/**\r\n * Returns whether the value of phoneContext follows the syntax defined in RFC3966.\r\n *\r\n * @param {string|null} phoneContext\r\n * @return {boolean}\r\n */\nexport function isPhoneContextValid(phoneContext) {\n  if (phoneContext === null) {\n    return true;\n  }\n  if (phoneContext.length === 0) {\n    return false;\n  }\n\n  // Does phone-context value match pattern of global-number-digits or domainname.\n  return RFC3966_GLOBAL_NUMBER_DIGITS_PATTERN_.test(phoneContext) || RFC3966_DOMAINNAME_PATTERN_.test(phoneContext);\n}\n//# sourceMappingURL=extractPhoneContext.js.map","import extractPhoneContext, { isPhoneContextValid, PLUS_SIGN, RFC3966_PREFIX_, RFC3966_PHONE_CONTEXT_, RFC3966_ISDN_SUBADDRESS_ } from './extractPhoneContext.js';\nimport ParseError from '../ParseError.js';\n\n/**\r\n * @param  {string} numberToParse\r\n * @param  {string} nationalNumber\r\n * @return {}\r\n */\nexport default function extractFormattedPhoneNumberFromPossibleRfc3966NumberUri(numberToParse, _ref) {\n  var extractFormattedPhoneNumber = _ref.extractFormattedPhoneNumber;\n  var phoneContext = extractPhoneContext(numberToParse);\n  if (!isPhoneContextValid(phoneContext)) {\n    throw new ParseError('NOT_A_NUMBER');\n  }\n  var phoneNumberString;\n  if (phoneContext === null) {\n    // Extract a possible number from the string passed in.\n    // (this strips leading characters that could not be the start of a phone number)\n    phoneNumberString = extractFormattedPhoneNumber(numberToParse) || '';\n  } else {\n    phoneNumberString = '';\n\n    // If the phone context contains a phone number prefix, we need to capture\n    // it, whereas domains will be ignored.\n    if (phoneContext.charAt(0) === PLUS_SIGN) {\n      phoneNumberString += phoneContext;\n    }\n\n    // Now append everything between the \"tel:\" prefix and the phone-context.\n    // This should include the national number, an optional extension or\n    // isdn-subaddress component. Note we also handle the case when \"tel:\" is\n    // missing, as we have seen in some of the phone number inputs.\n    // In that case, we append everything from the beginning.\n    var indexOfRfc3966Prefix = numberToParse.indexOf(RFC3966_PREFIX_);\n    var indexOfNationalNumber;\n    // RFC 3966 \"tel:\" prefix is preset at this stage because\n    // `isPhoneContextValid()` requires it to be present.\n    /* istanbul ignore else */\n    if (indexOfRfc3966Prefix >= 0) {\n      indexOfNationalNumber = indexOfRfc3966Prefix + RFC3966_PREFIX_.length;\n    } else {\n      indexOfNationalNumber = 0;\n    }\n    var indexOfPhoneContext = numberToParse.indexOf(RFC3966_PHONE_CONTEXT_);\n    phoneNumberString += numberToParse.substring(indexOfNationalNumber, indexOfPhoneContext);\n  }\n\n  // Delete the isdn-subaddress and everything after it if it is present.\n  // Note extension won't appear at the same time with isdn-subaddress\n  // according to paragraph 5.3 of the RFC3966 spec.\n  var indexOfIsdn = phoneNumberString.indexOf(RFC3966_ISDN_SUBADDRESS_);\n  if (indexOfIsdn > 0) {\n    phoneNumberString = phoneNumberString.substring(0, indexOfIsdn);\n  }\n  // If both phone context and isdn-subaddress are absent but other\n  // parameters are present, the parameters are left in nationalNumber.\n  // This is because we are concerned about deleting content from a potential\n  // number string when there is no strong evidence that the number is\n  // actually written in RFC3966.\n\n  if (phoneNumberString !== '') {\n    return phoneNumberString;\n  }\n}\n//# sourceMappingURL=extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js.map","// This is a port of Google Android `libphonenumber`'s\n// `phonenumberutil.js` of December 31th, 2018.\n//\n// https://github.com/googlei18n/libphonenumber/commits/master/javascript/i18n/phonenumbers/phonenumberutil.js\n\nimport { VALID_DIGITS, PLUS_CHARS, MIN_LENGTH_FOR_NSN, MAX_LENGTH_FOR_NSN } from './constants.js';\nimport ParseError from './ParseError.js';\nimport Metadata from './metadata.js';\nimport isViablePhoneNumber, { isViablePhoneNumberStart } from './helpers/isViablePhoneNumber.js';\nimport extractExtension from './helpers/extension/extractExtension.js';\nimport parseIncompletePhoneNumber from './parseIncompletePhoneNumber.js';\nimport getCountryCallingCode from './getCountryCallingCode.js';\nimport { isPossibleNumber } from './isPossible.js';\n// import { parseRFC3966 } from './helpers/RFC3966.js'\nimport PhoneNumber from './PhoneNumber.js';\nimport matchesEntirely from './helpers/matchesEntirely.js';\nimport extractCountryCallingCode from './helpers/extractCountryCallingCode.js';\nimport extractNationalNumber from './helpers/extractNationalNumber.js';\n// import stripIddPrefix from './helpers/stripIddPrefix.js'\nimport getCountryByCallingCode from './helpers/getCountryByCallingCode.js';\nimport extractFormattedPhoneNumberFromPossibleRfc3966NumberUri from './helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js';\n\n// We don't allow input strings for parsing to be longer than 250 chars.\n// This prevents malicious input from consuming CPU.\nvar MAX_INPUT_STRING_LENGTH = 250;\n\n// This consists of the plus symbol, digits, and arabic-indic digits.\nvar PHONE_NUMBER_START_PATTERN = new RegExp('[' + PLUS_CHARS + VALID_DIGITS + ']');\n\n// Regular expression of trailing characters that we want to remove.\n// A trailing `#` is sometimes used when writing phone numbers with extensions in US.\n// Example: \"+1 (645) 123 1234-910#\" number has extension \"910\".\nvar AFTER_PHONE_NUMBER_END_PATTERN = new RegExp('[^' + VALID_DIGITS + '#' + ']+$');\nvar USE_NON_GEOGRAPHIC_COUNTRY_CODE = false;\n\n// Examples:\n//\n// ```js\n// parse('8 (800) 555-35-35', 'RU')\n// parse('8 (800) 555-35-35', 'RU', metadata)\n// parse('8 (800) 555-35-35', { country: { default: 'RU' } })\n// parse('8 (800) 555-35-35', { country: { default: 'RU' } }, metadata)\n// parse('+7 800 555 35 35')\n// parse('+7 800 555 35 35', metadata)\n// ```\n//\n\n/**\r\n * Parses a phone number.\r\n *\r\n * parse('123456789', { defaultCountry: 'RU', v2: true }, metadata)\r\n * parse('123456789', { defaultCountry: 'RU' }, metadata)\r\n * parse('123456789', undefined, metadata)\r\n *\r\n * @param  {string} input\r\n * @param  {object} [options]\r\n * @param  {object} metadata\r\n * @return {object|PhoneNumber?} If `options.v2: true` flag is passed, it returns a `PhoneNumber?` instance. Otherwise, returns an object of shape `{ phone: '...', country: '...' }` (or just `{}` if no phone number was parsed).\r\n */\nexport default function parse(text, options, metadata) {\n  // If assigning the `{}` default value is moved to the arguments above,\n  // code coverage would decrease for some weird reason.\n  options = options || {};\n  metadata = new Metadata(metadata);\n\n  // Validate `defaultCountry`.\n  if (options.defaultCountry && !metadata.hasCountry(options.defaultCountry)) {\n    if (options.v2) {\n      throw new ParseError('INVALID_COUNTRY');\n    }\n    throw new Error(\"Unknown country: \".concat(options.defaultCountry));\n  }\n\n  // Parse the phone number.\n  var _parseInput = parseInput(text, options.v2, options.extract),\n    formattedPhoneNumber = _parseInput.number,\n    ext = _parseInput.ext,\n    error = _parseInput.error;\n\n  // If the phone number is not viable then return nothing.\n  if (!formattedPhoneNumber) {\n    if (options.v2) {\n      if (error === 'TOO_SHORT') {\n        throw new ParseError('TOO_SHORT');\n      }\n      throw new ParseError('NOT_A_NUMBER');\n    }\n    return {};\n  }\n  var _parsePhoneNumber = parsePhoneNumber(formattedPhoneNumber, options.defaultCountry, options.defaultCallingCode, metadata),\n    country = _parsePhoneNumber.country,\n    nationalNumber = _parsePhoneNumber.nationalNumber,\n    countryCallingCode = _parsePhoneNumber.countryCallingCode,\n    countryCallingCodeSource = _parsePhoneNumber.countryCallingCodeSource,\n    carrierCode = _parsePhoneNumber.carrierCode;\n  if (!metadata.hasSelectedNumberingPlan()) {\n    if (options.v2) {\n      throw new ParseError('INVALID_COUNTRY');\n    }\n    return {};\n  }\n\n  // Validate national (significant) number length.\n  if (!nationalNumber || nationalNumber.length < MIN_LENGTH_FOR_NSN) {\n    // Won't throw here because the regexp already demands length > 1.\n    /* istanbul ignore if */\n    if (options.v2) {\n      throw new ParseError('TOO_SHORT');\n    }\n    // Google's demo just throws an error in this case.\n    return {};\n  }\n\n  // Validate national (significant) number length.\n  //\n  // A sidenote:\n  //\n  // They say that sometimes national (significant) numbers\n  // can be longer than `MAX_LENGTH_FOR_NSN` (e.g. in Germany).\n  // https://github.com/googlei18n/libphonenumber/blob/7e1748645552da39c4e1ba731e47969d97bdb539/resources/phonenumber.proto#L36\n  // Such numbers will just be discarded.\n  //\n  if (nationalNumber.length > MAX_LENGTH_FOR_NSN) {\n    if (options.v2) {\n      throw new ParseError('TOO_LONG');\n    }\n    // Google's demo just throws an error in this case.\n    return {};\n  }\n  if (options.v2) {\n    var phoneNumber = new PhoneNumber(countryCallingCode, nationalNumber, metadata.metadata);\n    if (country) {\n      phoneNumber.country = country;\n    }\n    if (carrierCode) {\n      phoneNumber.carrierCode = carrierCode;\n    }\n    if (ext) {\n      phoneNumber.ext = ext;\n    }\n    phoneNumber.__countryCallingCodeSource = countryCallingCodeSource;\n    return phoneNumber;\n  }\n\n  // Check if national phone number pattern matches the number.\n  // National number pattern is different for each country,\n  // even for those ones which are part of the \"NANPA\" group.\n  var valid = (options.extended ? metadata.hasSelectedNumberingPlan() : country) ? matchesEntirely(nationalNumber, metadata.nationalNumberPattern()) : false;\n  if (!options.extended) {\n    return valid ? result(country, nationalNumber, ext) : {};\n  }\n\n  // isInternational: countryCallingCode !== undefined\n\n  return {\n    country: country,\n    countryCallingCode: countryCallingCode,\n    carrierCode: carrierCode,\n    valid: valid,\n    possible: valid ? true : options.extended === true && metadata.possibleLengths() && isPossibleNumber(nationalNumber, country, metadata) ? true : false,\n    phone: nationalNumber,\n    ext: ext\n  };\n}\n\n/**\r\n * Extracts a formatted phone number from text.\r\n * Doesn't guarantee that the extracted phone number\r\n * is a valid phone number (for example, doesn't validate its length).\r\n * @param  {string} text\r\n * @param  {boolean} [extract] — If `false`, then will parse the entire `text` as a phone number.\r\n * @param  {boolean} [throwOnError] — By default, it won't throw if the text is too long.\r\n * @return {string}\r\n * @example\r\n * // Returns \"(213) 373-4253\".\r\n * extractFormattedPhoneNumber(\"Call (213) 373-4253 for assistance.\")\r\n */\nfunction _extractFormattedPhoneNumber(text, extract, throwOnError) {\n  if (!text) {\n    return;\n  }\n  if (text.length > MAX_INPUT_STRING_LENGTH) {\n    if (throwOnError) {\n      throw new ParseError('TOO_LONG');\n    }\n    return;\n  }\n  if (extract === false) {\n    return text;\n  }\n  // Attempt to extract a possible number from the string passed in\n  var startsAt = text.search(PHONE_NUMBER_START_PATTERN);\n  if (startsAt < 0) {\n    return;\n  }\n  return text\n  // Trim everything to the left of the phone number\n  .slice(startsAt)\n  // Remove trailing non-numerical characters\n  .replace(AFTER_PHONE_NUMBER_END_PATTERN, '');\n}\n\n/**\r\n * @param  {string} text - Input.\r\n * @param  {boolean} v2 - Legacy API functions don't pass `v2: true` flag.\r\n * @param  {boolean} [extract] - Whether to extract a phone number from `text`, or attempt to parse the entire text as a phone number.\r\n * @return {object} `{ ?number, ?ext }`.\r\n */\nfunction parseInput(text, v2, extract) {\n  // // Parse RFC 3966 phone number URI.\n  // if (text && text.indexOf('tel:') === 0) {\n  // \treturn parseRFC3966(text)\n  // }\n  // let number = extractFormattedPhoneNumber(text, extract, v2)\n  var number = extractFormattedPhoneNumberFromPossibleRfc3966NumberUri(text, {\n    extractFormattedPhoneNumber: function extractFormattedPhoneNumber(text) {\n      return _extractFormattedPhoneNumber(text, extract, v2);\n    }\n  });\n  // If the phone number is not viable, then abort.\n  if (!number) {\n    return {};\n  }\n  if (!isViablePhoneNumber(number)) {\n    if (isViablePhoneNumberStart(number)) {\n      return {\n        error: 'TOO_SHORT'\n      };\n    }\n    return {};\n  }\n  // Attempt to parse extension first, since it doesn't require region-specific\n  // data and we want to have the non-normalised number here.\n  var withExtensionStripped = extractExtension(number);\n  if (withExtensionStripped.ext) {\n    return withExtensionStripped;\n  }\n  return {\n    number: number\n  };\n}\n\n/**\r\n * Creates `parse()` result object.\r\n */\nfunction result(country, nationalNumber, ext) {\n  var result = {\n    country: country,\n    phone: nationalNumber\n  };\n  if (ext) {\n    result.ext = ext;\n  }\n  return result;\n}\n\n/**\r\n * Parses a viable phone number.\r\n * @param {string} formattedPhoneNumber — Example: \"(213) 373-4253\".\r\n * @param {string} [defaultCountry]\r\n * @param {string} [defaultCallingCode]\r\n * @param {Metadata} metadata\r\n * @return {object} Returns `{ country: string?, countryCallingCode: string?, nationalNumber: string? }`.\r\n */\nfunction parsePhoneNumber(formattedPhoneNumber, defaultCountry, defaultCallingCode, metadata) {\n  // Extract calling code from phone number.\n  var _extractCountryCallin = extractCountryCallingCode(parseIncompletePhoneNumber(formattedPhoneNumber), undefined, defaultCountry, defaultCallingCode, metadata.metadata),\n    countryCallingCodeSource = _extractCountryCallin.countryCallingCodeSource,\n    countryCallingCode = _extractCountryCallin.countryCallingCode,\n    number = _extractCountryCallin.number;\n\n  // The exact country of the phone number\n  var country;\n\n  // If `formattedPhoneNumber` is passed in \"international\" format,\n  // choose a country by `countryCallingCode`.\n  if (countryCallingCode) {\n    metadata.selectNumberingPlan(countryCallingCode);\n  }\n  // Else, if `formattedPhoneNumber` is passed in \"national\" format,\n  // then `number` is defined and `countryCallingCode` is `undefined`.\n  else if (number && (defaultCountry || defaultCallingCode)) {\n    metadata.selectNumberingPlan(defaultCountry, defaultCallingCode);\n    if (defaultCountry) {\n      country = defaultCountry;\n    } else {\n      /* istanbul ignore if */\n      if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n        if (metadata.isNonGeographicCallingCode(defaultCallingCode)) {\n          country = '001';\n        }\n      }\n    }\n    countryCallingCode = defaultCallingCode || getCountryCallingCode(defaultCountry, metadata.metadata);\n  } else return {};\n  if (!number) {\n    return {\n      countryCallingCodeSource: countryCallingCodeSource,\n      countryCallingCode: countryCallingCode\n    };\n  }\n  var _extractNationalNumbe = extractNationalNumber(parseIncompletePhoneNumber(number), country, metadata),\n    nationalNumber = _extractNationalNumbe.nationalNumber,\n    carrierCode = _extractNationalNumbe.carrierCode;\n\n  // Sometimes there are several countries\n  // corresponding to the same country phone code\n  // (e.g. NANPA countries all having `1` country phone code).\n  // Therefore, to reliably determine the exact country,\n  // national (significant) number should have been parsed first.\n  //\n  // When `metadata.json` is generated, all \"ambiguous\" country phone codes\n  // get their countries populated with the full set of\n  // \"phone number type\" regular expressions.\n  //\n  var exactCountry = getCountryByCallingCode(countryCallingCode, {\n    nationalNumber: nationalNumber,\n    metadata: metadata\n  });\n  if (exactCountry) {\n    country = exactCountry;\n    /* istanbul ignore if */\n    if (exactCountry === '001') {\n      // Can't happen with `USE_NON_GEOGRAPHIC_COUNTRY_CODE` being `false`.\n      // If `USE_NON_GEOGRAPHIC_COUNTRY_CODE` is set to `true` for some reason,\n      // then remove the \"istanbul ignore if\".\n    } else {\n      metadata.selectNumberingPlan(country);\n    }\n  }\n  return {\n    country: country,\n    countryCallingCode: countryCallingCode,\n    countryCallingCodeSource: countryCallingCodeSource,\n    nationalNumber: nationalNumber,\n    carrierCode: carrierCode\n  };\n}\n//# sourceMappingURL=parse.js.map","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport parse from './parse.js';\nexport default function parsePhoneNumberWithError(text, options, metadata) {\n  return parse(text, _objectSpread(_objectSpread({}, options), {}, {\n    v2: true\n  }), metadata);\n}\n//# sourceMappingURL=parsePhoneNumberWithError_.js.map","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nimport isObject from './helpers/isObject.js';\n\n// Extracts the following properties from function arguments:\n// * input `text`\n// * `options` object\n// * `metadata` JSON\nexport default function normalizeArguments(args) {\n  var _Array$prototype$slic = Array.prototype.slice.call(args),\n    _Array$prototype$slic2 = _slicedToArray(_Array$prototype$slic, 4),\n    arg_1 = _Array$prototype$slic2[0],\n    arg_2 = _Array$prototype$slic2[1],\n    arg_3 = _Array$prototype$slic2[2],\n    arg_4 = _Array$prototype$slic2[3];\n  var text;\n  var options;\n  var metadata;\n\n  // If the phone number is passed as a string.\n  // `parsePhoneNumber('88005553535', ...)`.\n  if (typeof arg_1 === 'string') {\n    text = arg_1;\n  } else throw new TypeError('A text for parsing must be a string.');\n\n  // If \"default country\" argument is being passed then move it to `options`.\n  // `parsePhoneNumber('88005553535', 'RU', [options], metadata)`.\n  if (!arg_2 || typeof arg_2 === 'string') {\n    if (arg_4) {\n      options = arg_3;\n      metadata = arg_4;\n    } else {\n      options = undefined;\n      metadata = arg_3;\n    }\n    if (arg_2) {\n      options = _objectSpread({\n        defaultCountry: arg_2\n      }, options);\n    }\n  }\n  // `defaultCountry` is not passed.\n  // Example: `parsePhoneNumber('+78005553535', [options], metadata)`.\n  else if (isObject(arg_2)) {\n    if (arg_3) {\n      options = arg_2;\n      metadata = arg_3;\n    } else {\n      metadata = arg_2;\n    }\n  } else throw new Error(\"Invalid second argument: \".concat(arg_2));\n  return {\n    text: text,\n    options: options,\n    metadata: metadata\n  };\n}\n//# sourceMappingURL=normalizeArguments.js.map","import parsePhoneNumberWithError_ from './parsePhoneNumberWithError_.js';\nimport normalizeArguments from './normalizeArguments.js';\nexport default function parsePhoneNumberWithError() {\n  var _normalizeArguments = normalizeArguments(arguments),\n    text = _normalizeArguments.text,\n    options = _normalizeArguments.options,\n    metadata = _normalizeArguments.metadata;\n  return parsePhoneNumberWithError_(text, options, metadata);\n}\n//# sourceMappingURL=parsePhoneNumberWithError.js.map","import Metadata from './metadata.js';\nexport default function getCountries(metadata) {\n  return new Metadata(metadata).getCountries();\n}\n//# sourceMappingURL=getCountries.js.map","import PhoneNumber from './PhoneNumber.js';\nexport default function getExampleNumber(country, examples, metadata) {\n  if (examples[country]) {\n    return new PhoneNumber(country, examples[country], metadata);\n  }\n}\n//# sourceMappingURL=getExampleNumber.js.map","import withMetadataArgument from './withMetadataArgument.js'\r\nimport { parsePhoneNumberWithError as _parsePhoneNumberWithError } from '../../core/index.js'\r\n\r\nexport function parsePhoneNumberWithError() {\r\n\treturn withMetadataArgument(_parsePhoneNumberWithError, arguments)\r\n}\r\n","import withMetadataArgument from './withMetadataArgument.js'\r\nimport { getCountries as _getCountries } from '../../core/index.js'\r\n\r\nexport function getCountries() {\r\n\treturn withMetadataArgument(_getCountries, arguments)\r\n}","import withMetadataArgument from './withMetadataArgument.js'\r\nimport { getCountryCallingCode as _getCountryCallingCode } from '../../core/index.js'\r\n\r\nexport function getCountryCallingCode() {\r\n\treturn withMetadataArgument(_getCountryCallingCode, arguments)\r\n}","import withMetadataArgument from './withMetadataArgument.js'\r\nimport { getExampleNumber as _getExampleNumber } from '../../core/index.js'\r\n\r\nexport function getExampleNumber() {\r\n\treturn withMetadataArgument(_getExampleNumber, arguments)\r\n}","// This file is a workaround for a bug in web browsers' \"native\"\n// ES6 importing system which is uncapable of importing \"*.json\" files.\n// https://github.com/catamphetamine/libphonenumber-js/issues/239\nexport default {\"AC\":\"40123\",\"AD\":\"312345\",\"AE\":\"501234567\",\"AF\":\"701234567\",\"AG\":\"2684641234\",\"AI\":\"2642351234\",\"AL\":\"672123456\",\"AM\":\"77123456\",\"AO\":\"923123456\",\"AR\":\"91123456789\",\"AS\":\"6847331234\",\"AT\":\"664123456\",\"AU\":\"412345678\",\"AW\":\"5601234\",\"AX\":\"412345678\",\"AZ\":\"401234567\",\"BA\":\"61123456\",\"BB\":\"2462501234\",\"BD\":\"1812345678\",\"BE\":\"450001234\",\"BF\":\"70123456\",\"BG\":\"43012345\",\"BH\":\"36001234\",\"BI\":\"79561234\",\"BJ\":\"0195123456\",\"BL\":\"690001234\",\"BM\":\"4413701234\",\"BN\":\"7123456\",\"BO\":\"71234567\",\"BQ\":\"3181234\",\"BR\":\"11961234567\",\"BS\":\"2423591234\",\"BT\":\"17123456\",\"BW\":\"71123456\",\"BY\":\"294911911\",\"BZ\":\"6221234\",\"CA\":\"5062345678\",\"CC\":\"412345678\",\"CD\":\"991234567\",\"CF\":\"70012345\",\"CG\":\"061234567\",\"CH\":\"781234567\",\"CI\":\"0123456789\",\"CK\":\"71234\",\"CL\":\"221234567\",\"CM\":\"671234567\",\"CN\":\"13123456789\",\"CO\":\"3211234567\",\"CR\":\"83123456\",\"CU\":\"51234567\",\"CV\":\"9911234\",\"CW\":\"95181234\",\"CX\":\"412345678\",\"CY\":\"96123456\",\"CZ\":\"601123456\",\"DE\":\"15123456789\",\"DJ\":\"77831001\",\"DK\":\"34412345\",\"DM\":\"7672251234\",\"DO\":\"8092345678\",\"DZ\":\"551234567\",\"EC\":\"991234567\",\"EE\":\"51234567\",\"EG\":\"1001234567\",\"EH\":\"650123456\",\"ER\":\"7123456\",\"ES\":\"612345678\",\"ET\":\"911234567\",\"FI\":\"412345678\",\"FJ\":\"7012345\",\"FK\":\"51234\",\"FM\":\"3501234\",\"FO\":\"211234\",\"FR\":\"612345678\",\"GA\":\"06031234\",\"GB\":\"7400123456\",\"GD\":\"4734031234\",\"GE\":\"555123456\",\"GF\":\"694201234\",\"GG\":\"7781123456\",\"GH\":\"231234567\",\"GI\":\"57123456\",\"GL\":\"221234\",\"GM\":\"3012345\",\"GN\":\"601123456\",\"GP\":\"690001234\",\"GQ\":\"222123456\",\"GR\":\"6912345678\",\"GT\":\"51234567\",\"GU\":\"6713001234\",\"GW\":\"955012345\",\"GY\":\"6091234\",\"HK\":\"51234567\",\"HN\":\"91234567\",\"HR\":\"921234567\",\"HT\":\"34101234\",\"HU\":\"201234567\",\"ID\":\"812345678\",\"IE\":\"850123456\",\"IL\":\"502345678\",\"IM\":\"7924123456\",\"IN\":\"8123456789\",\"IO\":\"3801234\",\"IQ\":\"7912345678\",\"IR\":\"9123456789\",\"IS\":\"6111234\",\"IT\":\"3123456789\",\"JE\":\"7797712345\",\"JM\":\"8762101234\",\"JO\":\"790123456\",\"JP\":\"9012345678\",\"KE\":\"712123456\",\"KG\":\"700123456\",\"KH\":\"91234567\",\"KI\":\"72001234\",\"KM\":\"3212345\",\"KN\":\"8697652917\",\"KP\":\"1921234567\",\"KR\":\"1020000000\",\"KW\":\"50012345\",\"KY\":\"3453231234\",\"KZ\":\"7710009998\",\"LA\":\"2023123456\",\"LB\":\"71123456\",\"LC\":\"7582845678\",\"LI\":\"660234567\",\"LK\":\"712345678\",\"LR\":\"770123456\",\"LS\":\"50123456\",\"LT\":\"61234567\",\"LU\":\"628123456\",\"LV\":\"21234567\",\"LY\":\"912345678\",\"MA\":\"650123456\",\"MC\":\"612345678\",\"MD\":\"62112345\",\"ME\":\"60123456\",\"MF\":\"690001234\",\"MG\":\"321234567\",\"MH\":\"2351234\",\"MK\":\"72345678\",\"ML\":\"65012345\",\"MM\":\"92123456\",\"MN\":\"88123456\",\"MO\":\"66123456\",\"MP\":\"6702345678\",\"MQ\":\"696201234\",\"MR\":\"22123456\",\"MS\":\"6644923456\",\"MT\":\"96961234\",\"MU\":\"52512345\",\"MV\":\"7712345\",\"MW\":\"991234567\",\"MX\":\"2221234567\",\"MY\":\"123456789\",\"MZ\":\"821234567\",\"NA\":\"811234567\",\"NC\":\"751234\",\"NE\":\"93123456\",\"NF\":\"381234\",\"NG\":\"8021234567\",\"NI\":\"81234567\",\"NL\":\"612345678\",\"NO\":\"40612345\",\"NP\":\"9841234567\",\"NR\":\"5551234\",\"NU\":\"8884012\",\"NZ\":\"211234567\",\"OM\":\"92123456\",\"PA\":\"61234567\",\"PE\":\"912345678\",\"PF\":\"87123456\",\"PG\":\"70123456\",\"PH\":\"9051234567\",\"PK\":\"3012345678\",\"PL\":\"512345678\",\"PM\":\"551234\",\"PR\":\"7872345678\",\"PS\":\"599123456\",\"PT\":\"912345678\",\"PW\":\"6201234\",\"PY\":\"961456789\",\"QA\":\"33123456\",\"RE\":\"692123456\",\"RO\":\"712034567\",\"RS\":\"601234567\",\"RU\":\"9123456789\",\"RW\":\"720123456\",\"SA\":\"512345678\",\"SB\":\"7421234\",\"SC\":\"2510123\",\"SD\":\"911231234\",\"SE\":\"701234567\",\"SG\":\"81234567\",\"SH\":\"51234\",\"SI\":\"31234567\",\"SJ\":\"41234567\",\"SK\":\"912123456\",\"SL\":\"25123456\",\"SM\":\"66661212\",\"SN\":\"701234567\",\"SO\":\"71123456\",\"SR\":\"7412345\",\"SS\":\"977123456\",\"ST\":\"9812345\",\"SV\":\"70123456\",\"SX\":\"7215205678\",\"SY\":\"944567890\",\"SZ\":\"76123456\",\"TA\":\"8999\",\"TC\":\"6492311234\",\"TD\":\"63012345\",\"TG\":\"90112345\",\"TH\":\"812345678\",\"TJ\":\"917123456\",\"TK\":\"7290\",\"TL\":\"77212345\",\"TM\":\"66123456\",\"TN\":\"20123456\",\"TO\":\"7715123\",\"TR\":\"5012345678\",\"TT\":\"8682911234\",\"TV\":\"901234\",\"TW\":\"912345678\",\"TZ\":\"621234567\",\"UA\":\"501234567\",\"UG\":\"712345678\",\"US\":\"2015550123\",\"UY\":\"94231234\",\"UZ\":\"912345678\",\"VA\":\"3123456789\",\"VC\":\"7844301234\",\"VE\":\"4121234567\",\"VG\":\"2843001234\",\"VI\":\"3406421234\",\"VN\":\"912345678\",\"VU\":\"5912345\",\"WF\":\"821234\",\"WS\":\"7212345\",\"XK\":\"43201234\",\"YE\":\"712345678\",\"YT\":\"639012345\",\"ZA\":\"711234567\",\"ZM\":\"955123456\",\"ZW\":\"712345678\"}","import { CountryCode, getExampleNumber, parsePhoneNumberWithError } from 'libphonenumber-js';\nimport examples from 'libphonenumber-js/mobile/examples';\n\nconst formData = {\n    amount: null as number | null,\n    email: null as string | null,\n    phoneNumber: null as string | null,\n    turnstile_token: null as string | null,\n    language: null as string | null,\n}\n\nexport const setupForm = () => {\n    globalThis.selectPrimaryDonation(document.querySelectorAll('.input-amount')[0], 10)\n\n    // Get language from hidden input\n    const languageInput = document.getElementById('language-input') as HTMLInputElement;\n    if (languageInput) {\n        formData.language = languageInput.value || null;\n    }\n\n    document.querySelector<HTMLFormElement>(\"#section-1-form\")!.onsubmit = async (e) => {\n        e.preventDefault();\n        if (checkFormValid()) {\n            const errorElement = document.getElementById('submission-error')!;\n            errorElement.classList.add('d-none');\n\n            // Show loading spinner\n            document.querySelectorAll('.submit-button').forEach(btn => {\n                btn.querySelector('.submit-button-text')!.classList.add('d-none');\n                btn.querySelector('.submit-button-spinner')!.classList.remove('d-none');\n                (btn as HTMLButtonElement).disabled = true;\n            });\n\n            try {\n                const response = await fetch('/api/dubaipay/', {\n                    method: 'POST',\n                    headers: {\n                        'Content-Type': 'application/json',\n                    },\n                    body: JSON.stringify(formData),\n                });\n\n                const responseJson = await response.json();\n\n                if (!response.ok) {\n                    const errorMessage = responseJson.error || 'Submission failed. Please try again.';\n                    throw new Error(errorMessage);\n                }\n\n                window.location.href = responseJson.url;\n            } catch (error) {\n                console.error('Error:', error);\n                formData.turnstile_token = null;\n                globalThis.turnstile.reset();\n\n                // Hide loading spinner\n                document.querySelectorAll('.submit-button').forEach(btn => {\n                    btn.querySelector('.submit-button-text')!.classList.remove('d-none');\n                    btn.querySelector('.submit-button-spinner')!.classList.add('d-none');\n                });\n\n                // Display the error message\n                const message = error instanceof Error ? error.message : 'Submission failed. Please try again.';\n                errorElement.textContent = message;\n                errorElement.classList.remove('d-none');\n\n                checkFormValid();\n            }\n        }\n    };\n}\n\nconst checkFormValid = () => {\n    const isValid = Object.values(formData).every(value => Boolean(value));\n    document.querySelectorAll<HTMLButtonElement>('.submit-button').forEach(elem => {\n        elem!.disabled = !isValid;\n    })\n    return isValid;\n}\n\nglobalThis.selectPrimaryDonation = (elem, amount) => {\n    const buttons = document.querySelectorAll('.input-amount');\n    buttons.forEach(button => {\n        button.classList.remove('form-card-bordered')\n        button.classList.remove('is-valid', 'is-invalid')\n    });\n\n    if (elem instanceof HTMLInputElement) {\n        const numAmount = Number(amount);\n        const isValidInteger = Number.isInteger(numAmount) && numAmount > 0 && numAmount <= 1000000;\n        elem.classList.add(isValidInteger ? 'is-valid' : 'is-invalid');\n        formData.amount = isValidInteger ? numAmount : null;\n    } else {\n        (document.querySelector('input.input-amount')! as any).value = null;\n        formData.amount = Number(amount);\n    }\n    elem.classList.add('form-card-bordered');\n    checkFormValid();\n}\n\nglobalThis.onMailChange = (elem) => {\n    const emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n    const isValidEmail = emailRegex.test(elem.value);\n\n    elem.classList.remove('is-valid', 'is-invalid');\n    elem.classList.add(isValidEmail ? 'is-valid' : 'is-invalid');\n    formData.email = isValidEmail ? elem.value : null;\n    checkFormValid();\n}\n\nglobalThis.onTurnstileChange = (token) => {\n    formData.turnstile_token = token;\n    checkFormValid();\n    document.getElementById('recaptcha-error')!.classList.add('d-none');\n}\n\nglobalThis.onTurnstileFailed = () => {\n    document.getElementById('recaptcha-error')!.classList.remove('d-none');\n    formData.turnstile_token = null;\n    checkFormValid();\n}\n\nglobalThis.onTurnstileExpired = () => {\n    // document.getElementById('recaptcha-error')!.classList.remove('d-none');\n    formData.turnstile_token = null;\n    checkFormValid();\n    globalThis.turnstile.reset();\n}\n\n\nglobalThis.onNumberChange = () => {\n    const elemCountryCode = document.querySelector<HTMLSelectElement>('#country-code');\n    const elemInputElem = document.querySelector<HTMLInputElement>('#input-number');\n    let isValid = false;\n    let parsedNumber\n    try {\n        parsedNumber = parsePhoneNumberWithError(elemInputElem!.value,elemCountryCode!.value as CountryCode);\n        if (parsedNumber.isValid()) {\n            isValid = true;\n        } else {\n            isValid = false;\n        }\n    } catch (e) {\n        isValid = false;\n    }\n\n    elemInputElem!.classList.remove('is-valid', 'is-invalid');\n    elemInputElem!.classList.add(isValid ? 'is-valid' : 'is-invalid');\n    formData.phoneNumber = isValid ? parsedNumber?.number : null;\n\n    if (parsedNumber?.country){\n        globalThis.slimSelectCountry.setSelected(parsedNumber?.country)\n    }\n\n    elemInputElem!.placeholder = getExampleNumber(elemCountryCode!.value as CountryCode, examples)?.formatNational() || \"\"\n\n    checkFormValid();\n}\n\n\n// turnstile reload helpers\ndocument.addEventListener(\"visibilitychange\", function() {\n    if (document.visibilityState === \"visible\" && formData.turnstile_token == null) {\n        globalThis.turnstile.reset();\n    }\n});\n\nwindow.addEventListener(\"focus\", () => {\n    if (document.visibilityState === \"visible\" && !formData.turnstile_token == null) {\n        globalThis.turnstile.reset();\n    }\n});","class L {\n  main;\n  // Placeholder\n  placeholder;\n  // Values\n  values;\n  single;\n  max;\n  value;\n  valueText;\n  valueDelete;\n  valueOut;\n  // Deselect\n  deselect;\n  deselectPath;\n  // Not a class but whatever\n  // Arrow\n  arrow;\n  arrowClose;\n  // Not a class but whatever\n  arrowOpen;\n  // Not a class but whatever\n  // Content\n  content;\n  contentOpen;\n  dirAbove;\n  dirBelow;\n  // Search\n  search;\n  searchHighlighter;\n  searching;\n  addable;\n  addablePath;\n  // Not a class but whatever\n  // List optgroups/options\n  list;\n  // Optgroup\n  optgroup;\n  optgroupLabel;\n  optgroupLabelText;\n  optgroupActions;\n  optgroupSelectAll;\n  // optgroup select all\n  optgroupSelectAllBox;\n  // Not a class but whatever\n  optgroupSelectAllCheck;\n  // Not a class but whatever\n  optgroupClosable;\n  // Option\n  option;\n  optionDelete;\n  // Not a class but whatever\n  highlighted;\n  // Misc\n  mainOpen;\n  close;\n  selected;\n  error;\n  disabled;\n  hide;\n  constructor(e) {\n    e || (e = {});\n    let t = (s = \"\", i = \"\") => `${s} ${i}`.trim();\n    this.main = t(\"ss-main\", e.main), this.placeholder = t(\"ss-placeholder\", e.placeholder), this.values = t(\"ss-values\", e.values), this.single = t(\"ss-single\", e.single), this.max = t(\"ss-max\", e.max), this.value = t(\"ss-value\", e.value), this.valueText = t(\"ss-value-text\", e.valueText), this.valueDelete = t(\"ss-value-delete\", e.valueDelete), this.valueOut = t(\"ss-value-out\", e.valueOut), this.deselect = t(\"ss-deselect\", e.deselect), this.deselectPath = e.deselectPath || \"M10,10 L90,90 M10,90 L90,10\", this.arrow = t(\"ss-arrow\", e.arrow), this.arrowClose = e.arrowClose || \"M10,30 L50,70 L90,30\", this.arrowOpen = e.arrowOpen || \"M10,70 L50,30 L90,70\", this.content = t(\"ss-content\", e.content), this.contentOpen = t(\"ss-open\", e.contentOpen), this.dirAbove = t(\"ss-dir-above\", e.dirAbove), this.dirBelow = t(\"ss-dir-below\", e.dirBelow), this.search = t(\"ss-search\", e.search), this.searchHighlighter = t(\"ss-search-highlight\", e.searchHighlighter), this.searching = t(\"ss-searching\", e.searching), this.addable = t(\"ss-addable\", e.addable), this.addablePath = e.addablePath || \"M50,10 L50,90 M10,50 L90,50\", this.list = t(\"ss-list\", e.list), this.optgroup = t(\"ss-optgroup\", e.optgroup), this.optgroupLabel = t(\"ss-optgroup-label\", e.optgroupLabel), this.optgroupLabelText = t(\"ss-optgroup-label-text\", e.optgroupLabelText), this.optgroupActions = t(\"ss-optgroup-actions\", e.optgroupActions), this.optgroupSelectAll = t(\"ss-selectall\", e.optgroupSelectAll), this.optgroupSelectAllBox = e.optgroupSelectAllBox || \"M60,10 L10,10 L10,90 L90,90 L90,50\", this.optgroupSelectAllCheck = e.optgroupSelectAllCheck || \"M30,45 L50,70 L90,10\", this.optgroupClosable = t(\"ss-closable\", e.optgroupClosable), this.option = t(\"ss-option\", e.option), this.optionDelete = e.optionDelete || \"M10,10 L90,90 M10,90 L90,10\", this.highlighted = t(\"ss-highlighted\", e.highlighted), this.mainOpen = t(\"ss-open\", e.mainOpen), this.close = t(\"ss-close\", e.close), this.selected = t(\"ss-selected\", e.selected), this.error = t(\"ss-error\", e.error), this.disabled = t(\"ss-disabled\", e.disabled), this.hide = t(\"ss-hide\", e.hide);\n  }\n  getFirst(e) {\n    return this[e].split(\" \")[0];\n  }\n}\nfunction y() {\n  return Math.random().toString(36).substring(2, 10);\n}\nfunction x(p, e) {\n  function t(i, l) {\n    return l && i && i.classList && i.classList.contains(l) || l && i && i.dataset && i.dataset.id && i.dataset.id === e ? i : null;\n  }\n  function s(i, l) {\n    return !i || i === document ? null : t(i, l) ? i : s(i.parentNode, l);\n  }\n  return t(p, e) || s(p, e);\n}\nfunction S(p, e = 50, t = !1) {\n  let s;\n  return function(...i) {\n    const l = self, n = () => {\n      s = null, t || p.apply(l, i);\n    }, a = t && !s;\n    clearTimeout(s), s = setTimeout(n, e), a && p.apply(l, i);\n  };\n}\nfunction O(p, e) {\n  return JSON.stringify(p) === JSON.stringify(e);\n}\nfunction D(p) {\n  const e = p.replace(/[A-Z\\u00C0-\\u00D6\\u00D8-\\u00DE]/g, (t) => \"-\" + t.toLowerCase());\n  return p[0] === p[0].toUpperCase() ? e.substring(1) : e;\n}\nclass u {\n  id;\n  value;\n  text;\n  html;\n  defaultSelected;\n  selected;\n  display;\n  disabled;\n  placeholder;\n  class;\n  style;\n  data;\n  mandatory;\n  constructor(e) {\n    this.id = !e.id || e.id === \"\" ? y() : e.id, this.value = e.value === void 0 ? e.text || \"\" : e.value || \"\", this.text = e.text || \"\", this.html = e.html || \"\", this.defaultSelected = e.defaultSelected !== void 0 ? e.defaultSelected : !1, this.selected = e.selected !== void 0 ? e.selected : !1, this.display = e.display !== void 0 ? e.display : !0, this.disabled = e.disabled !== void 0 ? e.disabled : !1, this.mandatory = e.mandatory !== void 0 ? e.mandatory : !1, this.placeholder = e.placeholder !== void 0 ? e.placeholder : !1, this.class = e.class || \"\", this.style = e.style || \"\", this.data = e.data || {};\n  }\n}\nclass m {\n  id;\n  label;\n  selectAll;\n  selectAllText;\n  closable;\n  options;\n  constructor(e) {\n    if (this.id = !e.id || e.id === \"\" ? y() : e.id, this.label = e.label || \"\", this.selectAll = e.selectAll === void 0 ? !1 : e.selectAll, this.selectAllText = e.selectAllText || \"Select All\", this.closable = e.closable || \"off\", this.options = [], e.options)\n      for (const t of e.options)\n        this.options.push(new u(t));\n  }\n}\nclass k {\n  selectType = \"single\";\n  // Main data set, never null\n  data = [];\n  selectedOrder = [];\n  constructor(e, t) {\n    this.selectType = e, this.setData(t);\n  }\n  // Validate DataArrayPartial\n  validateDataArray(e) {\n    if (!Array.isArray(e))\n      return new Error(\"Data must be an array\");\n    for (let t of e)\n      if (t)\n        if (t instanceof m || \"label\" in t) {\n          if (!(\"label\" in t))\n            return new Error(\"Optgroup must have a label\");\n          if (\"options\" in t && t.options)\n            for (let s of t.options) {\n              const i = this.validateOption(s);\n              if (i)\n                return i;\n            }\n        } else if (t instanceof u || \"text\" in t) {\n          const s = this.validateOption(t);\n          if (s)\n            return s;\n        } else\n          return new Error(\"Data object must be a valid optgroup or option\");\n    return null;\n  }\n  // Validate Option\n  validateOption(e) {\n    return \"text\" in e ? null : new Error(\"Option must have a text\");\n  }\n  partialToFullData(e) {\n    let t = [];\n    return e.forEach((s) => {\n      if (s) {\n        if (s instanceof m || \"label\" in s) {\n          let i = [];\n          \"options\" in s && s.options && s.options.forEach((l) => {\n            i.push(new u(l));\n          }), i.length > 0 && t.push(new m(s));\n        }\n        (s instanceof u || \"text\" in s) && t.push(new u(s));\n      }\n    }), t;\n  }\n  setData(e, t = !1) {\n    const s = this.partialToFullData(e);\n    if (t) {\n      const i = this.getSelectedOptions(), l = [];\n      i.forEach((n) => {\n        let a = !1;\n        for (const o of s) {\n          if (o instanceof u && o.id === n.id) {\n            a = !0;\n            break;\n          }\n          if (o instanceof m) {\n            for (const h of o.options)\n              if (h.id === n.id) {\n                a = !0;\n                break;\n              }\n          }\n        }\n        a || l.push(n);\n      }), this.data = [...l, ...s];\n    } else\n      this.data = s;\n    this.selectType === \"single\" && this.setSelectedBy(\"id\", this.getSelected());\n  }\n  // Get data will return all the data\n  getData() {\n    return this.filter(null, !0);\n  }\n  // Get data options will return the data as a\n  // flat array of just options\n  getDataOptions() {\n    return this.filter(null, !1);\n  }\n  addOption(e, t = !1) {\n    if (t) {\n      let s = [new u(e)];\n      this.setData(s.concat(this.getData()));\n    } else\n      this.setData(this.getData().concat(new u(e)));\n  }\n  // Pass in an array of id that will loop through\n  // each option and set the selected property to true\n  // but also clean selected by determining selectType\n  setSelectedBy(e, t) {\n    let s = null, i = !1;\n    const l = [];\n    for (let a of this.data) {\n      if (a instanceof m)\n        for (let o of a.options) {\n          s || (s = o);\n          let h = o[e] || \"\";\n          o.selected = i ? !1 : t.includes(h), o.selected && (l.push(o), this.selectType === \"single\" && (i = !0));\n        }\n      a instanceof u && (s || (s = a), a.selected = i ? !1 : t.includes(a[e]), a.selected && (l.push(a), this.selectType === \"single\" && (i = !0)));\n    }\n    this.selectType === \"single\" && s && !i && (s.selected = !0, l.push(s));\n    const n = t.map((a) => l.find((o) => o[e] === a)?.id || \"\");\n    this.selectedOrder = n;\n  }\n  getSelected() {\n    return this.getSelectedOptions().map((e) => e.id);\n  }\n  getSelectedValues() {\n    return this.getSelectedOptions().map((e) => e.value);\n  }\n  getSelectedOptions() {\n    return this.filter((e) => e.selected, !1);\n  }\n  getOptgroupByID(e) {\n    for (let t of this.data)\n      if (t instanceof m && t.id === e)\n        return t;\n    return null;\n  }\n  getOptionByID(e) {\n    let t = this.filter((s) => s.id === e, !1);\n    return t.length ? t[0] : null;\n  }\n  getSelectType() {\n    return this.selectType;\n  }\n  getFirstOption() {\n    let e = null;\n    for (let t of this.data)\n      if (t instanceof m ? e = t.options[0] : t instanceof u && (e = t), e)\n        break;\n    return e;\n  }\n  // Take in search string and return filtered list of values\n  search(e, t) {\n    return e = e.trim(), e === \"\" ? this.getData() : this.filter((s) => t(s, e), !0);\n  }\n  // Filter takes in a function that will be used to filter the data\n  // This will also keep optgroups of sub options meet the filter requirements\n  filter(e, t) {\n    const s = [];\n    return this.data.forEach((i) => {\n      if (i instanceof m) {\n        let l = [];\n        if (i.options.forEach((a) => {\n          (!e || e(a)) && (t ? l.push(new u(a)) : s.push(new u(a)));\n        }), l.length > 0) {\n          let a = new m(i);\n          a.options = l, s.push(a);\n        }\n      }\n      i instanceof u && (!e || e(i)) && s.push(new u(i));\n    }), s;\n  }\n  // Take in an array of options and reoder them based upon the selected order\n  selectedOrderOptions(e) {\n    const t = [];\n    return this.selectedOrder.forEach((s) => {\n      const i = e.find((l) => l.id === s);\n      i && t.push(i);\n    }), e.forEach((s) => {\n      let i = !1;\n      t.forEach((l) => {\n        if (s.id === l.id) {\n          i = !0;\n          return;\n        }\n      }), i || t.push(s);\n    }), t;\n  }\n}\nclass N {\n  settings;\n  store;\n  callbacks;\n  // Used to compute the range selection\n  lastSelectedOption;\n  // Timeout tracking for cleanup\n  closeAnimationTimeout = null;\n  // Elements\n  main;\n  content;\n  // Classes\n  classes;\n  constructor(e, t, s, i) {\n    this.store = s, this.settings = e, this.classes = t, this.callbacks = i, this.lastSelectedOption = null, this.main = this.mainDiv(), this.content = this.contentDiv(), this.updateClassStyles(), this.updateAriaAttributes(), this.settings.contentPosition !== \"relative\" && (this.content.main.style.top = \"-9999px\", this.content.main.style.left = \"-9999px\", this.content.main.style.margin = \"0\", this.content.main.style.width = \"auto\"), this.settings.contentLocation && this.settings.contentLocation.appendChild(this.content.main);\n  }\n  // Helper method to add classes that may contain spaces\n  // Splits by spaces and adds each class individually to avoid DOMException\n  addClasses(e, t) {\n    if (!t || t.trim() === \"\")\n      return;\n    const s = t.split(\" \").filter((i) => i.trim() !== \"\");\n    for (const i of s)\n      e.classList.add(i.trim());\n  }\n  // Helper method to remove classes that may contain spaces\n  removeClasses(e, t) {\n    if (!t || t.trim() === \"\")\n      return;\n    const s = t.split(\" \").filter((i) => i.trim() !== \"\");\n    for (const i of s)\n      e.classList.remove(i.trim());\n  }\n  // Remove disabled classes\n  enable() {\n    this.removeClasses(this.main.main, this.classes.disabled), this.main.main.setAttribute(\"aria-disabled\", \"false\"), this.content.search.input.disabled = !1;\n  }\n  // Set disabled classes\n  disable() {\n    this.addClasses(this.main.main, this.classes.disabled), this.main.main.setAttribute(\"aria-disabled\", \"true\"), this.content.search.input.disabled = !0;\n  }\n  open() {\n    this.main.arrow.path.setAttribute(\"d\", this.classes.arrowOpen), this.main.main.setAttribute(\"aria-expanded\", \"true\"), this.closeAnimationTimeout && (clearTimeout(this.closeAnimationTimeout), this.closeAnimationTimeout = null);\n    const t = this.settings.openPosition === \"up\" ? this.classes.dirAbove : this.classes.dirBelow;\n    this.addClasses(this.main.main, t), this.addClasses(this.content.main, t), this.addClasses(this.content.main, this.classes.contentOpen), this.content.search.input.removeAttribute(\"aria-hidden\"), this.moveContent();\n    const s = this.store.getSelectedOptions();\n    if (s.length) {\n      const i = s[s.length - 1].id, l = this.content.list.querySelector('[data-id=\"' + i + '\"]');\n      l && this.ensureElementInView(this.content.list, l);\n    }\n  }\n  close() {\n    this.main.main.setAttribute(\"aria-expanded\", \"false\"), this.main.arrow.path.setAttribute(\"d\", this.classes.arrowClose), this.removeClasses(this.content.main, this.classes.contentOpen), this.content.search.input.setAttribute(\"aria-hidden\", \"true\"), this.main.main.removeAttribute(\"aria-activedescendant\");\n    const e = this.getAnimationTiming();\n    this.closeAnimationTimeout = setTimeout(() => {\n      this.removeClasses(this.main.main, this.classes.dirAbove), this.removeClasses(this.main.main, this.classes.dirBelow), this.removeClasses(this.content.main, this.classes.dirAbove), this.removeClasses(this.content.main, this.classes.dirBelow), this.closeAnimationTimeout = null;\n    }, e);\n  }\n  getAnimationTiming() {\n    const t = getComputedStyle(this.content.main).getPropertyValue(\"--ss-animation-timing\").trim();\n    if (t) {\n      if (t.endsWith(\"ms\"))\n        return parseFloat(t);\n      if (t.endsWith(\"s\"))\n        return parseFloat(t) * 1e3;\n    }\n    return 200;\n  }\n  updateClassStyles() {\n    if (this.main.main.className = \"\", this.main.main.removeAttribute(\"style\"), this.content.main.className = \"\", this.content.main.removeAttribute(\"style\"), this.addClasses(this.main.main, this.classes.main), this.addClasses(this.content.main, this.classes.content), this.settings.style !== \"\" && (this.main.main.style.cssText = this.settings.style, this.content.main.style.cssText = this.settings.style), this.settings.class.length)\n      for (const e of this.settings.class)\n        e.trim() !== \"\" && (this.main.main.classList.add(e.trim()), this.content.main.classList.add(e.trim()));\n    (this.settings.contentPosition === \"relative\" || this.settings.contentPosition === \"fixed\") && this.content.main.classList.add(\"ss-\" + this.settings.contentPosition);\n  }\n  updateAriaAttributes() {\n    const e = this.content.list.id;\n    this.main.main.role = \"combobox\", this.main.main.setAttribute(\"aria-haspopup\", \"listbox\"), this.main.main.setAttribute(\"aria-controls\", e), this.main.main.setAttribute(\"aria-expanded\", \"false\"), this.content.list.setAttribute(\"role\", \"listbox\"), this.content.list.setAttribute(\"aria-label\", this.settings.ariaLabel + \" listbox\"), this.settings.isMultiple && this.content.list.setAttribute(\"aria-multiselectable\", \"true\"), this.content.search.input.setAttribute(\"aria-controls\", e);\n  }\n  mainDiv() {\n    const e = document.createElement(\"div\");\n    e.dataset.id = this.settings.id, e.setAttribute(\"aria-label\", this.settings.ariaLabel), e.tabIndex = 0, e.onkeydown = (h) => {\n      switch (h.key) {\n        case \"ArrowUp\":\n        case \"ArrowDown\":\n          return this.callbacks.open(), h.key === \"ArrowDown\" ? this.highlight(\"down\") : this.highlight(\"up\"), !1;\n        case \"Tab\":\n          return this.callbacks.close(), !0;\n        // Continue doing normal tabbing\n        case \"Enter\":\n        case \" \":\n          this.callbacks.open();\n          const r = this.content.list.querySelector(\n            \".\" + this.classes.getFirst(\"highlighted\")\n          );\n          return r && r.click(), !1;\n        case \"Escape\":\n          return this.callbacks.close(), !1;\n      }\n      return h.key.length === 1 && this.callbacks.open(), !0;\n    }, e.onclick = (h) => {\n      this.settings.disabled || (this.settings.isOpen ? this.callbacks.close() : this.callbacks.open());\n    };\n    const t = document.createElement(\"div\");\n    this.addClasses(t, this.classes.values), e.appendChild(t);\n    const s = document.createElement(\"div\");\n    this.addClasses(s, this.classes.deselect);\n    const i = this.store?.getSelectedOptions();\n    !this.settings.allowDeselect || this.settings.isMultiple && i && i.length <= 0 ? this.addClasses(s, this.classes.hide) : this.removeClasses(s, this.classes.hide), s.onclick = (h) => {\n      if (h.stopPropagation(), this.settings.disabled)\n        return;\n      let r = !0;\n      const c = this.store.getSelectedOptions(), f = [];\n      if (this.callbacks.beforeChange && (r = this.callbacks.beforeChange(f, c) === !0), r) {\n        if (this.settings.isMultiple)\n          this.callbacks.setSelected([], !1), this.updateDeselectAll();\n        else {\n          const d = this.store.getFirstOption(), g = d ? d.id : \"\";\n          this.callbacks.setSelected(g, !1);\n        }\n        this.settings.closeOnSelect && this.callbacks.close(), this.callbacks.afterChange && this.callbacks.afterChange(this.store.getSelectedOptions());\n      }\n    };\n    const l = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n    l.setAttribute(\"viewBox\", \"0 0 100 100\");\n    const n = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n    n.setAttribute(\"d\", this.classes.deselectPath), l.appendChild(n), s.appendChild(l), e.appendChild(s);\n    const a = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n    this.addClasses(a, this.classes.arrow), a.setAttribute(\"viewBox\", \"0 0 100 100\");\n    const o = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n    return o.setAttribute(\"d\", this.classes.arrowClose), this.settings.alwaysOpen && this.addClasses(a, this.classes.hide), a.appendChild(o), e.appendChild(a), {\n      main: e,\n      values: t,\n      deselect: {\n        main: s,\n        svg: l,\n        path: n\n      },\n      arrow: {\n        main: a,\n        path: o\n      }\n    };\n  }\n  mainFocus(e) {\n    e !== \"click\" && this.main.main.focus({ preventScroll: !0 });\n  }\n  placeholder() {\n    const e = this.store.filter((i) => i.placeholder, !1);\n    let t = this.settings.placeholderText;\n    e.length && (e[0].html !== \"\" ? t = e[0].html : e[0].text !== \"\" && (t = e[0].text));\n    const s = document.createElement(\"div\");\n    return this.addClasses(s, this.classes.placeholder), s.innerHTML = t, s;\n  }\n  // Get selected values and append to multiSelected values container\n  // and remove those who shouldnt exist\n  renderValues() {\n    if (!this.settings.isMultiple) {\n      this.renderSingleValue();\n      return;\n    }\n    this.renderMultipleValues(), this.updateDeselectAll();\n  }\n  renderSingleValue() {\n    const e = this.store.filter((s) => s.selected && !s.placeholder, !1), t = e.length > 0 ? e[0] : null;\n    if (!t)\n      this.main.values.innerHTML = this.placeholder().outerHTML;\n    else {\n      const s = document.createElement(\"div\");\n      this.addClasses(s, this.classes.single), t.html ? s.innerHTML = t.html : s.innerText = t.text, this.main.values.innerHTML = s.outerHTML;\n    }\n    !this.settings.allowDeselect || !e.length ? this.addClasses(this.main.deselect.main, this.classes.hide) : this.removeClasses(this.main.deselect.main, this.classes.hide);\n  }\n  renderMultipleValues() {\n    let e = this.main.values.childNodes, t = this.store.filter((i) => i.selected && i.display, !1);\n    if (t.length === 0) {\n      this.main.values.innerHTML = this.placeholder().outerHTML;\n      return;\n    } else {\n      const i = this.main.values.querySelector(\".\" + this.classes.getFirst(\"placeholder\"));\n      i && i.remove();\n    }\n    if (t.length > this.settings.maxValuesShown) {\n      const i = document.createElement(\"div\");\n      this.addClasses(i, this.classes.max), i.textContent = this.settings.maxValuesMessage.replace(\"{number}\", t.length.toString()), this.main.values.innerHTML = i.outerHTML;\n      return;\n    } else {\n      const i = this.main.values.querySelector(\".\" + this.classes.getFirst(\"max\"));\n      i && i.remove();\n    }\n    this.settings.keepOrder && (t = this.store.selectedOrderOptions(t));\n    let s = [];\n    for (let i = 0; i < e.length; i++) {\n      const l = e[i], n = l.getAttribute(\"data-id\");\n      n && (t.filter((o) => o.id === n, !1).length || s.push(l));\n    }\n    for (const i of s)\n      this.addClasses(i, this.classes.valueOut), setTimeout(() => {\n        this.main.values.hasChildNodes() && this.main.values.contains(i) && this.main.values.removeChild(i);\n      }, 100);\n    e = this.main.values.childNodes;\n    for (let i = 0; i < t.length; i++) {\n      let l = !0;\n      for (let n = 0; n < e.length; n++)\n        t[i].id === String(e[n].dataset.id) && (l = !1);\n      l && (this.settings.keepOrder ? this.main.values.appendChild(this.multipleValue(t[i])) : e.length === 0 ? this.main.values.appendChild(this.multipleValue(t[i])) : i === 0 ? this.main.values.insertBefore(this.multipleValue(t[i]), e[i]) : e[i - 1].insertAdjacentElement(\"afterend\", this.multipleValue(t[i])));\n    }\n  }\n  multipleValue(e) {\n    const t = document.createElement(\"div\");\n    this.addClasses(t, this.classes.value), t.dataset.id = e.id;\n    const s = document.createElement(\"div\");\n    if (this.addClasses(s, this.classes.valueText), s.textContent = e.text, t.appendChild(s), !e.mandatory) {\n      const i = document.createElement(\"div\");\n      this.addClasses(i, this.classes.valueDelete), i.setAttribute(\"tabindex\", \"0\"), i.onclick = (a) => {\n        if (a.preventDefault(), a.stopPropagation(), this.settings.disabled)\n          return;\n        let o = !0;\n        const h = this.store.getSelectedOptions(), r = h.filter((c) => c.selected && c.id !== e.id, !0);\n        if (!(this.settings.minSelected && r.length < this.settings.minSelected) && (this.callbacks.beforeChange && (o = this.callbacks.beforeChange(r, h) === !0), o)) {\n          let c = [];\n          for (const f of r) {\n            if (f instanceof m)\n              for (const d of f.options)\n                d.id && c.push(d.id);\n            f instanceof u && c.push(f.id);\n          }\n          this.callbacks.setSelected(c, !1), this.settings.closeOnSelect && this.callbacks.close(), this.callbacks.afterChange && this.callbacks.afterChange(r), this.updateDeselectAll();\n        }\n      };\n      const l = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n      l.setAttribute(\"viewBox\", \"0 0 100 100\");\n      const n = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n      n.setAttribute(\"d\", this.classes.optionDelete), l.appendChild(n), i.appendChild(l), t.appendChild(i), i.onkeydown = (a) => {\n        a.key === \"Enter\" && i.click();\n      };\n    }\n    return t;\n  }\n  contentDiv() {\n    const e = document.createElement(\"div\");\n    e.dataset.id = this.settings.id;\n    const t = this.searchDiv();\n    e.appendChild(t.main);\n    const s = this.listDiv();\n    return e.appendChild(s), {\n      main: e,\n      search: t,\n      list: s\n    };\n  }\n  moveContent() {\n    if (this.settings.contentPosition === \"relative\") {\n      this.moveContentBelow();\n      return;\n    }\n    if (this.settings.openPosition === \"down\") {\n      this.moveContentBelow();\n      return;\n    } else if (this.settings.openPosition === \"up\") {\n      this.moveContentAbove();\n      return;\n    }\n    this.putContent() === \"up\" ? this.moveContentAbove() : this.moveContentBelow();\n  }\n  searchDiv() {\n    const e = document.createElement(\"div\"), t = document.createElement(\"input\"), s = document.createElement(\"div\");\n    this.addClasses(e, this.classes.search);\n    const i = {\n      main: e,\n      input: t\n    };\n    if (this.settings.showSearch || (this.addClasses(e, this.classes.hide), t.readOnly = !0), t.type = \"search\", t.placeholder = this.settings.searchPlaceholder, t.tabIndex = -1, t.setAttribute(\"aria-label\", this.settings.searchPlaceholder), t.setAttribute(\"aria-autocomplete\", \"list\"), t.setAttribute(\"autocapitalize\", \"off\"), t.setAttribute(\"autocomplete\", \"off\"), t.setAttribute(\"autocorrect\", \"off\"), t.setAttribute(\"aria-hidden\", \"true\"), t.oninput = S((l) => {\n      this.callbacks.search(l.target.value);\n    }, 100), t.onkeydown = (l) => {\n      switch (l.key) {\n        case \"ArrowUp\":\n        case \"ArrowDown\":\n          return l.key === \"ArrowDown\" ? this.highlight(\"down\") : this.highlight(\"up\"), !1;\n        case \"Tab\":\n          return this.callbacks.close(), !0;\n        // Continue doing normal tabbing\n        case \"Escape\":\n          return this.callbacks.close(), !1;\n        case \" \":\n          const n = this.content.list.querySelector(\n            \".\" + this.classes.getFirst(\"highlighted\")\n          );\n          return n ? (n.click(), !1) : !0;\n        case \"Enter\":\n          const a = this.content.list.querySelector(\n            \".\" + this.classes.getFirst(\"highlighted\")\n          );\n          return a ? (a.click(), !1) : this.callbacks.addable ? (s.click(), !1) : !0;\n      }\n      return !0;\n    }, e.appendChild(t), this.callbacks.addable) {\n      this.addClasses(s, this.classes.addable);\n      const l = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n      l.setAttribute(\"viewBox\", \"0 0 100 100\");\n      const n = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n      n.setAttribute(\"d\", this.classes.addablePath), l.appendChild(n), s.appendChild(l), s.onclick = (a) => {\n        if (a.preventDefault(), a.stopPropagation(), !this.callbacks.addable)\n          return;\n        const o = this.content.search.input.value.trim();\n        if (o === \"\") {\n          this.content.search.input.focus();\n          return;\n        }\n        const h = (c) => {\n          let f = new u(c);\n          if (this.callbacks.addOption(f), this.settings.isMultiple) {\n            let d = this.store.getSelected();\n            d.push(f.id), this.callbacks.setSelected(d, !0);\n          } else\n            this.callbacks.setSelected([f.id], !0);\n          this.callbacks.search(\"\"), this.settings.closeOnSelect && setTimeout(() => {\n            this.callbacks.close();\n          }, 100);\n        }, r = this.callbacks.addable(o);\n        r === !1 || r === void 0 || r === null || (r instanceof Promise ? r.then((c) => {\n          typeof c == \"string\" ? h({\n            text: c,\n            value: c\n          }) : r instanceof Error ? this.renderError(r.message) : h(c);\n        }) : typeof r == \"string\" ? h({\n          text: r,\n          value: r\n        }) : r instanceof Error ? this.renderError(r.message) : h(r));\n      }, e.appendChild(s), i.addable = {\n        main: s,\n        svg: l,\n        path: n\n      };\n    }\n    return i;\n  }\n  searchFocus() {\n    this.content.search.input.focus({ preventScroll: !0 });\n  }\n  getOptions(e = !1, t = !1, s = !1) {\n    let i = \".\" + this.classes.getFirst(\"option\");\n    return e && (i += \":not(.\" + this.classes.getFirst(\"placeholder\") + \")\"), t && (i += \":not(.\" + this.classes.getFirst(\"disabled\") + \")\"), s && (i += \":not(.\" + this.classes.getFirst(\"hide\") + \")\"), Array.from(this.content.list.querySelectorAll(i));\n  }\n  // highlightUp is used to highlight the previous option in the list\n  highlight(e) {\n    const t = this.getOptions(!0, !0, !0);\n    if (t.length === 0)\n      return;\n    if (t.length === 1 && !t[0].classList.contains(this.classes.getFirst(\"highlighted\"))) {\n      this.addClasses(t[0], this.classes.highlighted);\n      return;\n    }\n    let s = !1;\n    for (const l of t)\n      l.classList.contains(this.classes.getFirst(\"highlighted\")) && (s = !0);\n    if (!s) {\n      for (const l of t)\n        if (l.classList.contains(this.classes.getFirst(\"selected\"))) {\n          this.addClasses(l, this.classes.highlighted);\n          break;\n        }\n    }\n    for (let l = 0; l < t.length; l++)\n      if (t[l].classList.contains(this.classes.getFirst(\"highlighted\"))) {\n        const n = t[l];\n        this.removeClasses(n, this.classes.highlighted);\n        const a = n.parentElement;\n        if (a && a.classList.contains(this.classes.getFirst(\"mainOpen\"))) {\n          const r = a.querySelector(\".\" + this.classes.getFirst(\"optgroupLabel\"));\n          r && r.click();\n        }\n        let o = t[e === \"down\" ? l + 1 < t.length ? l + 1 : 0 : l - 1 >= 0 ? l - 1 : t.length - 1];\n        this.addClasses(o, this.classes.highlighted), this.ensureElementInView(this.content.list, o), o.id && this.main.main.setAttribute(\"aria-activedescendant\", o.id);\n        const h = o.parentElement;\n        if (h && h.classList.contains(this.classes.getFirst(\"close\"))) {\n          const r = h.querySelector(\n            \".\" + this.classes.getFirst(\"optgroupLabel\")\n          );\n          r && r.click();\n        }\n        return;\n      }\n    const i = t[e === \"down\" ? 0 : t.length - 1];\n    this.addClasses(i, this.classes.highlighted), i.id && this.main.main.setAttribute(\"aria-activedescendant\", i.id), this.ensureElementInView(this.content.list, i);\n  }\n  // Create main container that options will reside\n  listDiv() {\n    const e = document.createElement(\"div\");\n    this.addClasses(e, this.classes.list);\n    const t = this.settings.id + \"-list\";\n    return e.id = t, e.dataset.id = t, e;\n  }\n  renderError(e) {\n    this.content.list.innerHTML = \"\";\n    const t = document.createElement(\"div\");\n    this.addClasses(t, this.classes.error), t.textContent = e, this.content.list.appendChild(t);\n  }\n  renderSearching() {\n    this.content.list.innerHTML = \"\";\n    const e = document.createElement(\"div\");\n    this.addClasses(e, this.classes.searching), e.textContent = this.settings.searchingText, this.content.list.appendChild(e);\n  }\n  // Take in data and add options to\n  renderOptions(e) {\n    if (this.content.list.innerHTML = \"\", e.length === 0) {\n      const s = document.createElement(\"div\");\n      this.addClasses(s, this.classes.search), this.callbacks.addable ? s.innerHTML = this.settings.addableText.replace(\"{value}\", this.content.search.input.value) : s.innerHTML = this.settings.searchText, this.content.list.appendChild(s);\n      return;\n    }\n    this.settings.allowDeselect && !this.settings.isMultiple && (this.store.filter((i) => i.placeholder, !1).length || this.store.addOption(\n      new u({\n        text: \"\",\n        value: \"\",\n        selected: !1,\n        placeholder: !0\n      }),\n      !0\n    ));\n    const t = document.createDocumentFragment();\n    for (const s of e) {\n      if (s instanceof m) {\n        const i = document.createElement(\"div\");\n        this.addClasses(i, this.classes.optgroup);\n        const l = document.createElement(\"div\");\n        this.addClasses(l, this.classes.optgroupLabel), i.appendChild(l);\n        const n = document.createElement(\"div\");\n        this.addClasses(n, this.classes.optgroupLabelText), n.textContent = s.label, l.appendChild(n);\n        const a = document.createElement(\"div\");\n        if (this.addClasses(a, this.classes.optgroupActions), l.appendChild(a), this.settings.isMultiple && s.selectAll) {\n          const o = document.createElement(\"div\");\n          this.addClasses(o, this.classes.optgroupSelectAll);\n          let h = !0;\n          for (const g of s.options)\n            if (!g.selected) {\n              h = !1;\n              break;\n            }\n          h && this.addClasses(o, this.classes.selected);\n          const r = document.createElement(\"span\");\n          r.textContent = s.selectAllText, o.appendChild(r);\n          const c = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n          c.setAttribute(\"viewBox\", \"0 0 100 100\"), o.appendChild(c);\n          const f = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n          f.setAttribute(\"d\", this.classes.optgroupSelectAllBox), c.appendChild(f);\n          const d = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n          d.setAttribute(\"d\", this.classes.optgroupSelectAllCheck), c.appendChild(d), o.addEventListener(\"click\", (g) => {\n            g.preventDefault(), g.stopPropagation();\n            const v = this.store.getSelected();\n            if (h) {\n              const C = v.filter((w) => {\n                for (const b of s.options)\n                  if (w === b.id)\n                    return !1;\n                return !0;\n              });\n              this.callbacks.setSelected(C, !0);\n              return;\n            } else {\n              let C = s.options.map((b) => b.id).filter((b) => b !== void 0);\n              const w = v.concat(C);\n              for (const b of s.options)\n                b.id && !this.store.getOptionByID(b.id) && this.callbacks.addOption(new u(b));\n              this.callbacks.setSelected(w, !0);\n              return;\n            }\n          }), a.appendChild(o);\n        }\n        if (s.closable !== \"off\") {\n          const o = document.createElement(\"div\");\n          this.addClasses(o, this.classes.optgroupClosable);\n          const h = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n          h.setAttribute(\"viewBox\", \"0 0 100 100\"), this.addClasses(h, this.classes.arrow), o.appendChild(h);\n          const r = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n          h.appendChild(r), s.options.some((c) => c.selected) || this.content.search.input.value.trim() !== \"\" ? (this.addClasses(o, this.classes.mainOpen), r.setAttribute(\"d\", this.classes.arrowOpen)) : s.closable === \"open\" ? (this.addClasses(i, this.classes.mainOpen), r.setAttribute(\"d\", this.classes.arrowOpen)) : s.closable === \"close\" && (this.addClasses(i, this.classes.close), r.setAttribute(\"d\", this.classes.arrowClose)), l.addEventListener(\"click\", (c) => {\n            c.preventDefault(), c.stopPropagation(), i.classList.contains(this.classes.getFirst(\"close\")) ? (this.removeClasses(i, this.classes.close), this.addClasses(i, this.classes.mainOpen), r.setAttribute(\"d\", this.classes.arrowOpen)) : (this.removeClasses(i, this.classes.mainOpen), this.addClasses(i, this.classes.close), r.setAttribute(\"d\", this.classes.arrowClose));\n          }), a.appendChild(o);\n        }\n        i.appendChild(l);\n        for (const o of s.options)\n          i.appendChild(this.option(new u(o))), t.appendChild(i);\n      }\n      s instanceof u && t.appendChild(this.option(s));\n    }\n    this.content.list.appendChild(t);\n  }\n  // Create option div element\n  option(e) {\n    if (e.placeholder) {\n      const s = document.createElement(\"div\");\n      return this.addClasses(s, this.classes.option), this.addClasses(s, this.classes.hide), s;\n    }\n    const t = document.createElement(\"div\");\n    return t.dataset.id = e.id, t.id = this.settings.id + \"-\" + e.id, this.addClasses(t, this.classes.option), t.setAttribute(\"role\", \"option\"), e.class && e.class.split(\" \").forEach((s) => {\n      t.classList.add(s);\n    }), e.style && (t.style.cssText = e.style), this.settings.searchHighlight && this.content.search.input.value.trim() !== \"\" ? t.innerHTML = this.highlightText(\n      e.html !== \"\" ? e.html : e.text,\n      this.content.search.input.value,\n      this.classes.searchHighlighter\n    ) : e.html !== \"\" ? t.innerHTML = e.html : t.textContent = e.text, this.settings.showOptionTooltips && t.textContent && t.setAttribute(\"title\", t.textContent), e.display || this.addClasses(t, this.classes.hide), e.disabled && this.addClasses(t, this.classes.disabled), e.selected && this.settings.hideSelected && this.addClasses(t, this.classes.hide), e.selected ? (this.addClasses(t, this.classes.selected), t.setAttribute(\"aria-selected\", \"true\"), this.main.main.setAttribute(\"aria-activedescendant\", t.id)) : (this.removeClasses(t, this.classes.selected), t.setAttribute(\"aria-selected\", \"false\")), t.addEventListener(\"click\", (s) => {\n      s.preventDefault(), s.stopPropagation();\n      const i = this.store.getSelected(), l = s.currentTarget, n = String(l.dataset.id), a = s.ctrlKey || s.metaKey;\n      if (e.disabled || !this.settings.isMultiple && e.selected && !this.settings.allowDeselect || e.selected && e.mandatory || this.settings.isMultiple && this.settings.maxSelected <= i.length && !e.selected || this.settings.isMultiple && this.settings.minSelected >= i.length && e.selected && !a)\n        return;\n      let o = !1;\n      const h = this.store.getSelectedOptions();\n      let r = [];\n      if (this.settings.isMultiple) {\n        const c = h.some((d) => d.id === n);\n        if (s.shiftKey && this.lastSelectedOption) {\n          const d = this.store.getDataOptions(), g = d.findIndex((C) => C.id === this.lastSelectedOption.id), v = d.findIndex((C) => C.id === e.id);\n          if (g >= 0 && v >= 0) {\n            const C = Math.min(g, v), w = Math.max(g, v), E = d.slice(C, w + 1).filter((A) => !h.find((T) => T.id === A.id));\n            h.length + E.length <= this.settings.maxSelected ? r = h.concat(E) : r = h;\n          } else\n            r = h;\n        } else a ? (c ? r = h.filter((d) => d.id !== n) : r = h.concat(e), this.lastSelectedOption = e) : (c ? r = h.filter((d) => d.id !== n) : r = h.concat(e), this.lastSelectedOption = e);\n      }\n      if (this.settings.isMultiple || (e.selected ? r = [] : r = [e]), this.callbacks.beforeChange || (o = !0), this.callbacks.beforeChange && (this.callbacks.beforeChange(r, h) === !1 ? o = !1 : o = !0), o) {\n        this.store.getOptionByID(n) || this.callbacks.addOption(e), this.callbacks.setSelected(\n          r.map((d) => d.id),\n          !1\n        );\n        const c = s.ctrlKey || s.metaKey || s.shiftKey;\n        this.settings.closeOnSelect && !(this.settings.isMultiple && c) && this.callbacks.close(), this.callbacks.afterChange && this.callbacks.afterChange(r);\n      }\n    }), t;\n  }\n  destroy() {\n    this.closeAnimationTimeout && (clearTimeout(this.closeAnimationTimeout), this.closeAnimationTimeout = null), this.main.main.remove(), this.content.main.remove();\n  }\n  highlightText(e, t, s) {\n    const i = t.trim();\n    if (i === \"\")\n      return e;\n    const l = i.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\"), n = document.createElement(\"div\");\n    n.innerHTML = e;\n    const a = (o) => {\n      if (o.nodeType === Node.TEXT_NODE) {\n        const h = o.textContent || \"\", r = new RegExp(\"(\" + l + \")\", \"i\");\n        if (r.test(h)) {\n          const c = document.createElement(\"span\");\n          h.split(r).forEach((d, g) => {\n            if (d && r.test(d)) {\n              const v = document.createElement(\"mark\");\n              v.className = s, v.textContent = d, c.appendChild(v);\n            } else d && c.appendChild(document.createTextNode(d));\n          }), o.parentNode?.replaceChild(c, o);\n        }\n      } else o.nodeType === Node.ELEMENT_NODE && Array.from(o.childNodes).forEach((h) => a(h));\n    };\n    return Array.from(n.childNodes).forEach((o) => a(o)), n.innerHTML;\n  }\n  setContentDirection(e) {\n    const t = e === \"above\", s = t ? this.classes.dirAbove : this.classes.dirBelow, i = t ? this.classes.dirBelow : this.classes.dirAbove;\n    if (this.removeClasses(this.main.main, i), this.addClasses(this.main.main, s), this.removeClasses(this.content.main, i), this.addClasses(this.content.main, s), t) {\n      const l = this.main.main.offsetHeight, n = this.content.main.offsetHeight;\n      this.content.main.style.margin = \"-\" + (l + n - 1) + \"px 0px 0px 0px\";\n    } else\n      this.content.main.style.margin = \"-1px 0px 0px 0px\";\n  }\n  setContentPosition() {\n    if (this.settings.contentPosition === \"relative\")\n      return;\n    const e = this.main.main.getBoundingClientRect();\n    let t, s;\n    this.settings.contentPosition === \"fixed\" ? (t = e.top + e.height, s = e.left) : (t = e.top + window.scrollY + e.height, s = e.left + window.scrollX), this.content.main.style.top = t + \"px\", this.content.main.style.left = s + \"px\";\n    const i = this.settings.contentWidth;\n    this.content.main.style.width = \"\", this.content.main.style.minWidth = \"\", this.content.main.style.maxWidth = \"\", i ? i.startsWith(\">\") ? this.content.main.style.minWidth = i.slice(1) : i.startsWith(\"<\") ? this.content.main.style.maxWidth = i.slice(1) : this.content.main.style.width = i : this.content.main.style.width = e.width + \"px\";\n  }\n  moveContentAbove() {\n    this.setContentDirection(\"above\"), this.setContentPosition();\n  }\n  moveContentBelow() {\n    this.setContentDirection(\"below\"), this.setContentPosition();\n  }\n  ensureElementInView(e, t) {\n    const s = e.scrollTop + e.offsetTop, i = s + e.clientHeight, l = t.offsetTop, n = l + t.clientHeight;\n    l < s ? e.scrollTop -= s - l : n > i && (e.scrollTop += n - i);\n  }\n  putContent() {\n    const e = this.main.main.offsetHeight, t = this.main.main.getBoundingClientRect(), s = this.content.main.offsetHeight;\n    return window.innerHeight - (t.top + e) <= s && t.top > s ? \"up\" : \"down\";\n  }\n  // Updates deselect based on item count and allowDeselect setting\n  updateDeselectAll() {\n    if (!this.store || !this.settings)\n      return;\n    const e = this.store.getSelectedOptions(), t = e && e.length > 0, s = this.settings.isMultiple, i = this.settings.allowDeselect, l = this.main.deselect.main, n = this.classes.hide;\n    i && !(s && !t) ? this.removeClasses(l, n) : this.addClasses(l, n);\n  }\n}\nclass M {\n  select;\n  // Mutation observer fields\n  onValueChange;\n  onClassChange;\n  onDisabledChange;\n  onOptionsChange;\n  onLabelClick;\n  // Change observers\n  listen = !1;\n  observer = null;\n  isUpdating = !1;\n  pendingOptionsChange = null;\n  // Event handlers for preventing native select behavior (especially on iOS Safari)\n  preventNativeSelect = null;\n  preventNativeSelectMousedown = null;\n  preventNativeSelectFocus = null;\n  constructor(e) {\n    this.select = e, this.valueChange = this.valueChange.bind(this), this.select.addEventListener(\"change\", this.valueChange, {\n      // allow bubbling of event\n      passive: !0\n    }), this.observer = new MutationObserver(this.observeCall.bind(this)), this.changeListen(!0);\n  }\n  enable() {\n    this.select.disabled = !1;\n  }\n  disable() {\n    this.select.disabled = !0;\n  }\n  hideUI() {\n    this.select.tabIndex = -1, this.select.style.position = \"absolute\", this.select.style.width = \"1px\", this.select.style.height = \"1px\", this.select.style.opacity = \"0\", this.select.style.overflow = \"hidden\", this.select.style.pointerEvents = \"none\", this.select.style.margin = \"0\", this.select.style.padding = \"0\", this.select.style.borderWidth = \"0\", this.select.style.clip = \"rect(0 0 0 0)\", this.select.setAttribute(\"aria-hidden\", \"true\"), this.preventNativeSelect || (this.preventNativeSelect = (e) => {\n      e.preventDefault(), e.stopPropagation(), e.stopImmediatePropagation();\n    }, this.preventNativeSelectMousedown = (e) => {\n      e.preventDefault(), e.stopPropagation(), e.stopImmediatePropagation();\n    }, this.preventNativeSelectFocus = (e) => {\n      e.preventDefault(), e.stopPropagation(), e.stopImmediatePropagation();\n    }, this.select.addEventListener(\"click\", this.preventNativeSelect, { capture: !0, passive: !1 }), this.select.addEventListener(\"mousedown\", this.preventNativeSelectMousedown, { capture: !0, passive: !1 }), this.select.addEventListener(\"focus\", this.preventNativeSelectFocus, { capture: !0, passive: !1 }));\n  }\n  showUI() {\n    this.select.removeAttribute(\"tabindex\"), this.select.style.position = \"\", this.select.style.width = \"\", this.select.style.height = \"\", this.select.style.opacity = \"\", this.select.style.overflow = \"\", this.select.style.pointerEvents = \"\", this.select.style.margin = \"\", this.select.style.padding = \"\", this.select.style.borderWidth = \"\", this.select.style.clip = \"\", this.select.removeAttribute(\"aria-hidden\"), this.preventNativeSelect && (this.select.removeEventListener(\"click\", this.preventNativeSelect, { capture: !0 }), this.preventNativeSelect = null), this.preventNativeSelectMousedown && (this.select.removeEventListener(\"mousedown\", this.preventNativeSelectMousedown, { capture: !0 }), this.preventNativeSelectMousedown = null), this.preventNativeSelectFocus && (this.select.removeEventListener(\"focus\", this.preventNativeSelectFocus, { capture: !0 }), this.preventNativeSelectFocus = null);\n  }\n  changeListen(e) {\n    this.listen = e, e && this.observer && this.observer.observe(this.select, {\n      subtree: !0,\n      // subtree for optgroups options\n      childList: !0,\n      // children changes\n      attributes: !0\n      // attributes changes\n    }), e || this.observer && this.observer.disconnect();\n  }\n  // This function get triggers when the select value changes\n  // and will call the onValueChange function if it exists\n  valueChange(e) {\n    return this.listen && this.onValueChange && this.onValueChange(this.getSelectedOptions()), !0;\n  }\n  observeCall(e) {\n    if (!this.listen)\n      return;\n    let t = !1, s = !1, i = !1, l = !1;\n    for (const n of e) {\n      if (n.target === this.select && (n.attributeName === \"disabled\" && (s = !0), n.attributeName === \"class\" && (t = !0), n.type === \"childList\")) {\n        for (const a of Array.from(n.addedNodes))\n          if (a.nodeName === \"OPTION\" && a.value === this.select.value) {\n            l = !0;\n            break;\n          }\n        i = !0;\n      }\n      (n.target.nodeName === \"OPTGROUP\" || n.target.nodeName === \"OPTION\") && (i = !0);\n    }\n    if (t && this.onClassChange && this.onClassChange(this.select.className.split(\" \")), s && this.onDisabledChange && (this.changeListen(!1), this.onDisabledChange(this.select.disabled), this.changeListen(!0)), i && this.onOptionsChange) {\n      if (this.isUpdating) {\n        if (this.select.options.length > 0) {\n          const n = this.getData();\n          n.length > 0 && (this.pendingOptionsChange = n);\n        }\n        l && this.select.dispatchEvent(new Event(\"change\"));\n        return;\n      }\n      this.changeListen(!1), this.onOptionsChange(this.getData()), this.changeListen(!0);\n    }\n    l && this.select.dispatchEvent(new Event(\"change\"));\n  }\n  // From the select element pull optgroup and options into data\n  getData() {\n    let e = [];\n    const t = this.select.childNodes;\n    for (const s of t)\n      s.nodeName === \"OPTGROUP\" && e.push(this.getDataFromOptgroup(s)), s.nodeName === \"OPTION\" && e.push(this.getDataFromOption(s));\n    return e;\n  }\n  getDataFromOptgroup(e) {\n    let t = {\n      id: e.id,\n      label: e.label,\n      selectAll: e.dataset ? e.dataset.selectall === \"true\" : !1,\n      selectAllText: e.dataset ? e.dataset.selectalltext : \"Select all\",\n      closable: e.dataset ? e.dataset.closable : \"off\",\n      options: []\n    };\n    const s = e.childNodes;\n    for (const i of s)\n      i.nodeName === \"OPTION\" && t.options.push(this.getDataFromOption(i));\n    return t;\n  }\n  // From passed in option pull pieces of usable information\n  getDataFromOption(e) {\n    return {\n      id: e.id,\n      value: e.value,\n      text: e.text,\n      html: e.dataset && e.dataset.html ? e.dataset.html : \"\",\n      defaultSelected: e.defaultSelected,\n      selected: e.selected,\n      display: e.style.display !== \"none\",\n      disabled: e.disabled,\n      mandatory: e.dataset ? e.dataset.mandatory === \"true\" : !1,\n      placeholder: e.dataset.placeholder === \"true\",\n      class: e.className,\n      style: e.style.cssText,\n      data: e.dataset\n    };\n  }\n  getSelectedOptions() {\n    let e = [];\n    const t = this.select.childNodes;\n    for (const s of t) {\n      if (s.nodeName === \"OPTGROUP\") {\n        const i = s.childNodes;\n        for (const l of i)\n          if (l.nodeName === \"OPTION\") {\n            const n = l;\n            n.selected && e.push(this.getDataFromOption(n));\n          }\n      }\n      if (s.nodeName === \"OPTION\") {\n        const i = s;\n        i.selected && e.push(this.getDataFromOption(i));\n      }\n    }\n    return e;\n  }\n  getSelectedValues() {\n    return this.getSelectedOptions().map((e) => e.value);\n  }\n  setSelected(e) {\n    this.changeListen(!1);\n    const t = this.select.childNodes;\n    for (const s of t) {\n      if (s.nodeName === \"OPTGROUP\") {\n        const l = s.childNodes;\n        for (const n of l)\n          if (n.nodeName === \"OPTION\") {\n            const a = n;\n            a.selected = e.includes(a.id);\n          }\n      }\n      if (s.nodeName === \"OPTION\") {\n        const i = s;\n        i.selected = e.includes(i.id);\n      }\n    }\n    this.changeListen(!0);\n  }\n  // Set selected options by value instead of id\n  // This is useful when the id is not known\n  // and only the value is known\n  // but the value is not unique and can be duplicated\n  setSelectedByValue(e) {\n    this.changeListen(!1);\n    const t = this.select.childNodes;\n    for (const s of t) {\n      if (s.nodeName === \"OPTGROUP\") {\n        const l = s.childNodes;\n        for (const n of l)\n          if (n.nodeName === \"OPTION\") {\n            const a = n;\n            a.selected = e.includes(a.value);\n          }\n      }\n      if (s.nodeName === \"OPTION\") {\n        const i = s;\n        i.selected = e.includes(i.value);\n      }\n    }\n    this.changeListen(!0);\n  }\n  updateSelect(e, t, s) {\n    this.changeListen(!1), e && (this.select.dataset.id = e), t && (this.select.style.cssText = t), s && (this.select.className = \"\", s.forEach((i) => {\n      i.trim() !== \"\" && this.select.classList.add(i.trim());\n    })), this.changeListen(!0);\n  }\n  updateOptions(e) {\n    if (!(!e || e.length === 0)) {\n      this.isUpdating = !0, this.pendingOptionsChange = null, this.changeListen(!1), this.select.innerHTML = \"\";\n      for (const t of e)\n        t instanceof m && this.select.appendChild(this.createOptgroup(t)), t instanceof u && this.select.appendChild(this.createOption(t));\n      if (this.select.dispatchEvent(new Event(\"change\", { bubbles: !0 })), this.changeListen(!0), this.isUpdating = !1, this.pendingOptionsChange !== null) {\n        const t = this.pendingOptionsChange;\n        t.length > 0 && this.onOptionsChange ? (this.pendingOptionsChange = null, this.changeListen(!1), this.onOptionsChange(t), this.changeListen(!0)) : this.pendingOptionsChange = null;\n      }\n    }\n  }\n  createOptgroup(e) {\n    const t = document.createElement(\"optgroup\");\n    if (t.id = e.id, t.label = e.label, e.selectAll && (t.dataset.selectAll = \"true\"), e.closable !== \"off\" && (t.dataset.closable = e.closable), e.options)\n      for (const s of e.options)\n        t.appendChild(this.createOption(s));\n    return t;\n  }\n  createOption(e) {\n    const t = document.createElement(\"option\");\n    return t.id = e.id, t.value = e.value, t.textContent = e.text, e.html !== \"\" && t.setAttribute(\"data-html\", e.html), t.defaultSelected = e.defaultSelected, t.selected = e.selected, e.disabled && (t.disabled = !0), e.display || (t.style.display = \"none\"), e.placeholder && t.setAttribute(\"data-placeholder\", \"true\"), e.mandatory && t.setAttribute(\"data-mandatory\", \"true\"), e.class && e.class.split(\" \").forEach((s) => {\n      t.classList.add(s);\n    }), e.data && typeof e.data == \"object\" && Object.keys(e.data).forEach((s) => {\n      t.setAttribute(\"data-\" + D(s), e.data[s]);\n    }), t;\n  }\n  // Find and handle labels associated with this select\n  setupLabelHandlers() {\n    const e = [], t = this.select.id;\n    t && document.querySelectorAll(`label[for=\"${t}\"]`).forEach((n) => e.push(n));\n    let s = this.select.parentElement;\n    for (; s && s !== document.body; ) {\n      if (s.tagName === \"LABEL\") {\n        e.push(s);\n        break;\n      }\n      s = s.parentElement;\n    }\n    Array.from(new Set(e)).forEach((l) => {\n      if (l.__slimSelectLabelHandler)\n        return;\n      const n = (a) => {\n        const o = a.target, h = x(o, this.select.dataset.id);\n        a.preventDefault(), !h && this.onLabelClick && this.onLabelClick();\n      };\n      l.__slimSelectLabelHandler = n, l.addEventListener(\"click\", n, { capture: !0, passive: !1 });\n    });\n  }\n  // Remove label handlers\n  removeLabelHandlers() {\n    const e = [], t = this.select.id;\n    t && document.querySelectorAll(`label[for=\"${t}\"]`).forEach((n) => e.push(n));\n    let s = this.select.parentElement;\n    for (; s && s !== document.body; ) {\n      if (s.tagName === \"LABEL\") {\n        e.push(s);\n        break;\n      }\n      s = s.parentElement;\n    }\n    Array.from(new Set(e)).forEach((l) => {\n      const n = l.__slimSelectLabelHandler;\n      n && (l.removeEventListener(\"click\", n, { capture: !0 }), delete l.__slimSelectLabelHandler);\n    });\n  }\n  destroy() {\n    this.changeListen(!1), this.select.removeEventListener(\"change\", this.valueChange), this.preventNativeSelect && (this.select.removeEventListener(\"click\", this.preventNativeSelect, { capture: !0 }), this.preventNativeSelect = null), this.preventNativeSelectMousedown && (this.select.removeEventListener(\"mousedown\", this.preventNativeSelectMousedown, { capture: !0 }), this.preventNativeSelectMousedown = null), this.preventNativeSelectFocus && (this.select.removeEventListener(\"focus\", this.preventNativeSelectFocus, { capture: !0 }), this.preventNativeSelectFocus = null), this.observer && (this.observer.disconnect(), this.observer = null), this.removeLabelHandlers(), delete this.select.dataset.id, this.showUI();\n  }\n}\nclass P {\n  id = \"\";\n  // Primary ID for the select\n  style = \"\";\n  // Style attribute from the select element\n  class = [];\n  // Class attribute from the select element\n  // Dynamic settings\n  isMultiple = !1;\n  isOpen = !1;\n  isFullOpen = !1;\n  intervalMove = null;\n  // Fields set from constructor\n  disabled;\n  alwaysOpen;\n  showSearch;\n  focusSearch;\n  keepSearch;\n  ariaLabel;\n  searchPlaceholder;\n  searchText;\n  searchingText;\n  searchHighlight;\n  closeOnSelect;\n  contentLocation;\n  contentPosition;\n  contentWidth;\n  openPosition;\n  placeholderText;\n  allowDeselect;\n  hideSelected;\n  keepOrder;\n  showOptionTooltips;\n  minSelected;\n  maxSelected;\n  timeoutDelay;\n  maxValuesShown;\n  maxValuesMessage;\n  addableText;\n  constructor(e) {\n    e || (e = {}), this.id = \"ss-\" + y(), this.style = e.style || \"\", this.class = e.class || [], this.disabled = e.disabled !== void 0 ? e.disabled : !1, this.alwaysOpen = e.alwaysOpen !== void 0 ? e.alwaysOpen : !1, this.showSearch = e.showSearch !== void 0 ? e.showSearch : !0, this.focusSearch = e.focusSearch !== void 0 ? e.focusSearch : !0, this.keepSearch = e.keepSearch !== void 0 ? e.keepSearch : !1, this.ariaLabel = e.ariaLabel || \"Combobox\", this.searchPlaceholder = e.searchPlaceholder || \"Search...\", this.searchText = e.searchText || \"No Results\", this.searchingText = e.searchingText || \"Searching...\", this.searchHighlight = e.searchHighlight !== void 0 ? e.searchHighlight : !1, this.closeOnSelect = e.closeOnSelect !== void 0 ? e.closeOnSelect : !0, this.contentLocation = e.contentLocation || document.body, this.contentPosition = e.contentPosition || \"absolute\", this.contentWidth = e.contentWidth || \"\", this.openPosition = e.openPosition || \"auto\", this.placeholderText = e.placeholderText !== void 0 ? e.placeholderText : \"Select Value\", this.allowDeselect = e.allowDeselect !== void 0 ? e.allowDeselect : !1, this.hideSelected = e.hideSelected !== void 0 ? e.hideSelected : !1, this.keepOrder = e.keepOrder !== void 0 ? e.keepOrder : !1, this.showOptionTooltips = e.showOptionTooltips !== void 0 ? e.showOptionTooltips : !1, this.minSelected = e.minSelected || 0, this.maxSelected = e.maxSelected || 1e3, this.timeoutDelay = e.timeoutDelay || 200, this.maxValuesShown = e.maxValuesShown || 20, this.maxValuesMessage = e.maxValuesMessage || \"{number} selected\", this.addableText = e.addableText || 'Press \"Enter\" to add {value}';\n  }\n}\nclass F {\n  selectEl;\n  // Classes\n  settings;\n  cssClasses;\n  select;\n  store;\n  render;\n  // Timeout tracking for cleanup\n  openTimeout = null;\n  closeTimeout = null;\n  // Events\n  events = {\n    search: void 0,\n    searchFilter: (e, t) => e.text.toLowerCase().indexOf(t.toLowerCase()) !== -1,\n    addable: void 0,\n    beforeChange: void 0,\n    afterChange: void 0,\n    beforeOpen: void 0,\n    afterOpen: void 0,\n    beforeClose: void 0,\n    afterClose: void 0\n  };\n  constructor(e) {\n    if (this.selectEl = typeof e.select == \"string\" ? document.querySelector(e.select) : e.select, !this.selectEl) {\n      e.events && e.events.error && e.events.error(new Error(\"Could not find select element\"));\n      return;\n    }\n    if (this.selectEl.tagName !== \"SELECT\") {\n      e.events && e.events.error && e.events.error(new Error(\"Element isnt of type select\"));\n      return;\n    }\n    this.selectEl.dataset.ssid && this.destroy(), this.settings = new P(e.settings), this.cssClasses = new L(e.cssClasses);\n    const t = [\"beforeOpen\", \"afterOpen\", \"beforeClose\", \"afterClose\"];\n    for (const a in e.events)\n      e.events.hasOwnProperty(a) && (t.indexOf(a) !== -1 ? this.events[a] = S(e.events[a], 100) : this.events[a] = e.events[a]);\n    this.settings.disabled = e.settings?.disabled ? e.settings.disabled : this.selectEl.disabled, this.settings.isMultiple = this.selectEl.multiple, this.settings.style = this.selectEl.style.cssText, this.settings.class = this.selectEl.className.split(\" \"), this.select = new M(this.selectEl), this.selectEl.id || (this.selectEl.id = this.settings.id), this.select.updateSelect(this.settings.id, this.settings.style, this.settings.class), this.select.hideUI(), this.select.onValueChange = (a) => {\n      this.setSelected(a.map((o) => o.id));\n    }, this.select.onClassChange = (a) => {\n      this.settings.class = a, this.render.updateClassStyles();\n    }, this.select.onDisabledChange = (a) => {\n      a ? this.disable() : this.enable();\n    }, this.select.onOptionsChange = (a) => {\n      this.setData(a || []);\n    }, this.select.onLabelClick = () => {\n      this.settings.disabled || (this.settings.isOpen ? this.close() : this.open());\n    };\n    const s = e.data ? e.data : this.select.getData();\n    this.store = new k(this.settings.isMultiple ? \"multiple\" : \"single\", s), e.data && this.select.updateOptions(this.store.getData());\n    const i = {\n      open: this.open.bind(this),\n      close: this.close.bind(this),\n      addable: this.events.addable ? this.events.addable : void 0,\n      setSelected: this.setSelected.bind(this),\n      addOption: this.addOption.bind(this),\n      search: this.search.bind(this),\n      beforeChange: this.events.beforeChange,\n      afterChange: this.events.afterChange\n    };\n    this.render = new N(this.settings, this.cssClasses, this.store, i), this.render.renderValues(), this.render.renderOptions(this.store.getData());\n    const l = this.selectEl.getAttribute(\"aria-label\"), n = this.selectEl.getAttribute(\"aria-labelledby\");\n    l ? this.render.main.main.setAttribute(\"aria-label\", l) : n && this.render.main.main.setAttribute(\"aria-labelledby\", n), this.selectEl.parentNode && this.selectEl.parentNode.insertBefore(this.render.main.main, this.selectEl.nextSibling), window.addEventListener(\"resize\", this.windowResize, !1), this.settings.openPosition === \"auto\" && window.addEventListener(\"scroll\", this.windowScroll, !1), document.addEventListener(\"visibilitychange\", this.windowVisibilityChange), this.settings.disabled && this.disable(), this.settings.alwaysOpen && this.open(), this.select.setupLabelHandlers(), this.selectEl.slim = this;\n  }\n  // Set to enabled and remove disabled classes\n  enable() {\n    this.settings.disabled = !1, this.select.enable(), this.render.enable();\n  }\n  // Set to disabled and add disabled classes\n  disable() {\n    this.settings.disabled = !0, this.select.disable(), this.render.disable();\n  }\n  getData() {\n    return this.store.getData();\n  }\n  setData(e) {\n    const t = this.store.getSelected(), s = this.store.validateDataArray(e);\n    if (s) {\n      this.events.error && this.events.error(s);\n      return;\n    }\n    this.store.setData(e);\n    const i = this.store.getData();\n    this.select.updateOptions(i), this.render.renderValues(), this.render.renderOptions(i), this.events.afterChange && !O(t, this.store.getSelected()) && this.events.afterChange(this.store.getSelectedOptions());\n  }\n  getSelected() {\n    let e = this.store.getSelectedOptions();\n    return this.settings.keepOrder && (e = this.store.selectedOrderOptions(e)), e.map((t) => t.value);\n  }\n  // Will take in a string or array of strings and set the selected by either the id or value\n  setSelected(e, t = !0) {\n    const s = this.store.getSelected(), i = this.store.getDataOptions();\n    e = Array.isArray(e) ? e : [e];\n    const l = [];\n    for (const a of e) {\n      if (i.find((o) => o.id == a)) {\n        l.push(a);\n        continue;\n      }\n      for (const o of i.filter((h) => h.value == a))\n        l.push(o.id);\n    }\n    this.store.setSelectedBy(\"id\", l);\n    const n = this.store.getData();\n    this.select.updateOptions(n), this.render.renderValues(), this.render.content.search.input.value !== \"\" ? this.search(this.render.content.search.input.value) : this.render.renderOptions(n), t && this.events.afterChange && !O(s, this.store.getSelected()) && this.events.afterChange(this.store.getSelectedOptions());\n  }\n  addOption(e) {\n    const t = this.store.getSelected();\n    this.store.getDataOptions().some((i) => i.value === (e.value ?? e.text)) || this.store.addOption(e);\n    const s = this.store.getData();\n    this.select.updateOptions(s), this.render.renderValues(), this.render.renderOptions(s), this.events.afterChange && !O(t, this.store.getSelected()) && this.events.afterChange(this.store.getSelectedOptions());\n  }\n  open() {\n    this.settings.disabled || this.settings.isOpen || (this.closeTimeout && (clearTimeout(this.closeTimeout), this.closeTimeout = null), this.events.beforeOpen && this.events.beforeOpen(), this.render.open(), this.settings.showSearch && this.settings.focusSearch && this.render.searchFocus(), this.settings.isOpen = !0, this.openTimeout = setTimeout(() => {\n      this.events.afterOpen && this.events.afterOpen(), this.settings.isOpen && (this.settings.isFullOpen = !0), document.addEventListener(\"click\", this.documentClick);\n    }, this.settings.timeoutDelay), this.settings.contentPosition === \"absolute\" && (this.settings.intervalMove && clearInterval(this.settings.intervalMove), this.settings.intervalMove = setInterval(this.render.moveContent.bind(this.render), 500)));\n  }\n  close(e = null) {\n    !this.settings.isOpen || this.settings.alwaysOpen || (this.openTimeout && (clearTimeout(this.openTimeout), this.openTimeout = null), this.events.beforeClose && this.events.beforeClose(), this.render.close(), !this.settings.keepSearch && this.render.content.search.input.value !== \"\" && this.search(\"\"), this.render.mainFocus(e), this.settings.isOpen = !1, this.settings.isFullOpen = !1, this.closeTimeout = setTimeout(() => {\n      this.events.afterClose && this.events.afterClose(), document.removeEventListener(\"click\", this.documentClick);\n    }, this.settings.timeoutDelay), this.settings.intervalMove && clearInterval(this.settings.intervalMove));\n  }\n  // Take in string value and search current options\n  search(e) {\n    if (this.render.content.search.input.value !== e && (this.render.content.search.input.value = e), e === \"\") {\n      this.render.renderOptions(this.store.getData());\n      return;\n    }\n    if (!this.events.search) {\n      const s = e === \"\" ? this.store.getData() : this.store.search(e, this.events.searchFilter);\n      this.render.renderOptions(s);\n      return;\n    }\n    this.render.renderSearching();\n    const t = this.events.search(e, this.store.getSelectedOptions());\n    if (t instanceof Promise) {\n      t.then((s) => {\n        this.store.setData(s, !0), this.select.updateOptions(this.store.getData()), this.render.renderOptions(this.store.getData());\n      }).catch((s) => {\n        this.render.renderError(typeof s == \"string\" ? s : s.message);\n      });\n      return;\n    } else Array.isArray(t) ? (this.store.setData(t, !0), this.select.updateOptions(this.store.getData()), this.render.renderOptions(this.store.getData())) : this.render.renderError(\"Search event must return a promise or an array of data\");\n  }\n  destroy() {\n    this.openTimeout && (clearTimeout(this.openTimeout), this.openTimeout = null), this.closeTimeout && (clearTimeout(this.closeTimeout), this.closeTimeout = null), this.settings.intervalMove && (clearInterval(this.settings.intervalMove), this.settings.intervalMove = null), document.removeEventListener(\"click\", this.documentClick), window.removeEventListener(\"resize\", this.windowResize, !1), this.settings.openPosition === \"auto\" && window.removeEventListener(\"scroll\", this.windowScroll, !1), document.removeEventListener(\"visibilitychange\", this.windowVisibilityChange), this.store.setData([]), this.render.destroy(), this.select.destroy();\n  }\n  windowResize = S(() => {\n    !this.settings.isOpen && !this.settings.isFullOpen || this.render.moveContent();\n  });\n  // Event listener for window scrolling\n  windowScroll = S(() => {\n    !this.settings.isOpen && !this.settings.isFullOpen || this.render.moveContent();\n  });\n  // Event listener for document click\n  documentClick = (e) => {\n    this.settings.isOpen && e.target && !x(e.target, this.settings.id) && this.close(e.type);\n  };\n  // Event Listener for window visibility change\n  windowVisibilityChange = () => {\n    document.hidden && this.close();\n  };\n}\nexport {\n  m as Optgroup,\n  u as Option,\n  P as Settings,\n  F as default\n};\n//# sourceMappingURL=slimselect.es.js.map\n","import { getCountries, getCountryCallingCode, getExampleNumber } from 'libphonenumber-js';\nimport examples from 'libphonenumber-js/mobile/examples';\nimport SlimSelect, { Option } from 'slim-select';\n\nexport async function loadCountryCodes() {\n\n\n    // const seen = new Set();\n    // The countries array with their calling codes\n    const countries = getCountries().map(country => {\n        const countryCode = getCountryCallingCode(country);\n        let emoji = countryCodeToEmoji(country);\n        if (country === \"IL\") {\n            emoji = \"⬜\"\n        }\n        return {\n            countryCode,\n            country,\n            emoji: emoji\n        };\n    })\n        .filter(item => item.country !== \"IL\" && item.country !== \"EH\")\n        .sort((a, b) => a.countryCode.localeCompare(b.countryCode));\n\n\n    const options: Partial<Option>[] = []\n    countries.forEach(country => {\n        // Use any type to avoid TypeScript errors\n        const option: any = {\n            value: country.country, // Use two-letter code as value\n            text: `+${country.countryCode}`,\n            html: `${country.emoji} <b dir=\"ltr\">&nbsp;+${country.countryCode}&nbsp;</b>`,\n            selected: country.country === \"AE\", // Set UAE as the default selected option\n        };\n\n        options.push(option);\n    });\n\n    globalThis.slimSelectCountry = new SlimSelect({\n        select: '#country-code',\n        data: options,\n        events: {\n            afterChange: globalThis.onNumberChange,\n        },\n        settings: {\n            openPosition: 'up',\n            searchPlaceholder: ' ',\n            searchText: '- - -',\n        }\n    });\n\n    // double check logic with phone.js\n    const elemInputElem = document.querySelector<HTMLInputElement>('#input-number');\n    elemInputElem!.placeholder = getExampleNumber(\"AE\", examples)?.formatNational() || \"\"\n\n\n}\n\nfunction countryCodeToEmoji(countryCode) {\n    // Convert country code to Iconify flag icon format: flag:{code}-4x3\n    // e.g., \"AE\" becomes \"flag:ae-4x3\"\n    const iconName = `flag:${countryCode.toLowerCase()}-4x3`;\n\n    // Return the iconify-icon web component\n    return `<iconify-icon icon=\"${iconName}\" class=\"my-auto me-1\"></iconify-icon>`;\n}\n","/**\n* (c) Iconify\n*\n* For the full copyright and license information, please view the license.txt\n* files at https://github.com/iconify/iconify\n*\n* Licensed under MIT.\n*\n* @license MIT\n* @version 3.0.2\n*/\n/** Default values for dimensions */\nconst defaultIconDimensions = Object.freeze({\n\tleft: 0,\n\ttop: 0,\n\twidth: 16,\n\theight: 16\n});\n/** Default values for transformations */\nconst defaultIconTransformations = Object.freeze({\n\trotate: 0,\n\tvFlip: false,\n\thFlip: false\n});\n/** Default values for all optional IconifyIcon properties */\nconst defaultIconProps = Object.freeze({\n\t...defaultIconDimensions,\n\t...defaultIconTransformations\n});\n/** Default values for all properties used in ExtendedIconifyIcon */\nconst defaultExtendedIconProps = Object.freeze({\n\t...defaultIconProps,\n\tbody: \"\",\n\thidden: false\n});\n\n/**\n* Default icon customisations values\n*/\nconst defaultIconSizeCustomisations = Object.freeze({\n\twidth: null,\n\theight: null\n});\nconst defaultIconCustomisations = Object.freeze({\n\t...defaultIconSizeCustomisations,\n\t...defaultIconTransformations\n});\n\n/**\n* Get rotation value\n*/\nfunction rotateFromString(value, defaultValue = 0) {\n\tconst units = value.replace(/^-?[0-9.]*/, \"\");\n\tfunction cleanup(value$1) {\n\t\twhile (value$1 < 0) value$1 += 4;\n\t\treturn value$1 % 4;\n\t}\n\tif (units === \"\") {\n\t\tconst num = parseInt(value);\n\t\treturn isNaN(num) ? 0 : cleanup(num);\n\t} else if (units !== value) {\n\t\tlet split = 0;\n\t\tswitch (units) {\n\t\t\tcase \"%\":\n\t\t\t\tsplit = 25;\n\t\t\t\tbreak;\n\t\t\tcase \"deg\": split = 90;\n\t\t}\n\t\tif (split) {\n\t\t\tlet num = parseFloat(value.slice(0, value.length - units.length));\n\t\t\tif (isNaN(num)) return 0;\n\t\t\tnum = num / split;\n\t\t\treturn num % 1 === 0 ? cleanup(num) : 0;\n\t\t}\n\t}\n\treturn defaultValue;\n}\n\nconst separator = /[\\s,]+/;\n/**\n* Apply \"flip\" string to icon customisations\n*/\nfunction flipFromString(custom, flip) {\n\tflip.split(separator).forEach((str) => {\n\t\tswitch (str.trim()) {\n\t\t\tcase \"horizontal\":\n\t\t\t\tcustom.hFlip = true;\n\t\t\t\tbreak;\n\t\t\tcase \"vertical\":\n\t\t\t\tcustom.vFlip = true;\n\t\t\t\tbreak;\n\t\t}\n\t});\n}\n\nconst defaultCustomisations = {\n    ...defaultIconCustomisations,\n    preserveAspectRatio: '',\n};\n/**\n * Get customisations\n */\nfunction getCustomisations(node) {\n    const customisations = {\n        ...defaultCustomisations,\n    };\n    const attr = (key, def) => node.getAttribute(key) || def;\n    // Dimensions\n    customisations.width = attr('width', null);\n    customisations.height = attr('height', null);\n    // Rotation\n    customisations.rotate = rotateFromString(attr('rotate', ''));\n    // Flip\n    flipFromString(customisations, attr('flip', ''));\n    // SVG attributes\n    customisations.preserveAspectRatio = attr('preserveAspectRatio', attr('preserveaspectratio', ''));\n    return customisations;\n}\n/**\n * Check if customisations have been updated\n */\nfunction haveCustomisationsChanged(value1, value2) {\n    for (const key in defaultCustomisations) {\n        if (value1[key] !== value2[key]) {\n            return true;\n        }\n    }\n    return false;\n}\n\n/**\n* Expression to test part of icon name.\n*\n* Used when loading icons from Iconify API due to project naming convension.\n* Ignored when using custom icon sets - convension does not apply.\n*/\nconst matchIconName = /^[a-z0-9]+(-[a-z0-9]+)*$/;\n/**\n* Convert string icon name to IconifyIconName object.\n*/\nconst stringToIcon = (value, validate, allowSimpleName, provider = \"\") => {\n\tconst colonSeparated = value.split(\":\");\n\tif (value.slice(0, 1) === \"@\") {\n\t\tif (colonSeparated.length < 2 || colonSeparated.length > 3) return null;\n\t\tprovider = colonSeparated.shift().slice(1);\n\t}\n\tif (colonSeparated.length > 3 || !colonSeparated.length) return null;\n\tif (colonSeparated.length > 1) {\n\t\tconst name$1 = colonSeparated.pop();\n\t\tconst prefix = colonSeparated.pop();\n\t\tconst result = {\n\t\t\tprovider: colonSeparated.length > 0 ? colonSeparated[0] : provider,\n\t\t\tprefix,\n\t\t\tname: name$1\n\t\t};\n\t\treturn validate && !validateIconName(result) ? null : result;\n\t}\n\tconst name = colonSeparated[0];\n\tconst dashSeparated = name.split(\"-\");\n\tif (dashSeparated.length > 1) {\n\t\tconst result = {\n\t\t\tprovider,\n\t\t\tprefix: dashSeparated.shift(),\n\t\t\tname: dashSeparated.join(\"-\")\n\t\t};\n\t\treturn validate && !validateIconName(result) ? null : result;\n\t}\n\tif (allowSimpleName && provider === \"\") {\n\t\tconst result = {\n\t\t\tprovider,\n\t\t\tprefix: \"\",\n\t\t\tname\n\t\t};\n\t\treturn validate && !validateIconName(result, allowSimpleName) ? null : result;\n\t}\n\treturn null;\n};\n/**\n* Check if icon is valid.\n*\n* This function is not part of stringToIcon because validation is not needed for most code.\n*/\nconst validateIconName = (icon, allowSimpleName) => {\n\tif (!icon) return false;\n\treturn !!((allowSimpleName && icon.prefix === \"\" || !!icon.prefix) && !!icon.name);\n};\n\n/**\n* Resolve icon set icons\n*\n* Returns parent icon for each icon\n*/\nfunction getIconsTree(data, names) {\n\tconst icons = data.icons;\n\tconst aliases = data.aliases || Object.create(null);\n\tconst resolved = Object.create(null);\n\tfunction resolve(name) {\n\t\tif (icons[name]) return resolved[name] = [];\n\t\tif (!(name in resolved)) {\n\t\t\tresolved[name] = null;\n\t\t\tconst parent = aliases[name] && aliases[name].parent;\n\t\t\tconst value = parent && resolve(parent);\n\t\t\tif (value) resolved[name] = [parent].concat(value);\n\t\t}\n\t\treturn resolved[name];\n\t}\n\t(Object.keys(icons).concat(Object.keys(aliases))).forEach(resolve);\n\treturn resolved;\n}\n\n/**\n* Merge transformations\n*/\nfunction mergeIconTransformations(obj1, obj2) {\n\tconst result = {};\n\tif (!obj1.hFlip !== !obj2.hFlip) result.hFlip = true;\n\tif (!obj1.vFlip !== !obj2.vFlip) result.vFlip = true;\n\tconst rotate = ((obj1.rotate || 0) + (obj2.rotate || 0)) % 4;\n\tif (rotate) result.rotate = rotate;\n\treturn result;\n}\n\n/**\n* Merge icon and alias\n*\n* Can also be used to merge default values and icon\n*/\nfunction mergeIconData(parent, child) {\n\tconst result = mergeIconTransformations(parent, child);\n\tfor (const key in defaultExtendedIconProps) if (key in defaultIconTransformations) {\n\t\tif (key in parent && !(key in result)) result[key] = defaultIconTransformations[key];\n\t} else if (key in child) result[key] = child[key];\n\telse if (key in parent) result[key] = parent[key];\n\treturn result;\n}\n\n/**\n* Get icon data, using prepared aliases tree\n*/\nfunction internalGetIconData(data, name, tree) {\n\tconst icons = data.icons;\n\tconst aliases = data.aliases || Object.create(null);\n\tlet currentProps = {};\n\tfunction parse(name$1) {\n\t\tcurrentProps = mergeIconData(icons[name$1] || aliases[name$1], currentProps);\n\t}\n\tparse(name);\n\ttree.forEach(parse);\n\treturn mergeIconData(data, currentProps);\n}\n\n/**\n* Extract icons from an icon set\n*\n* Returns list of icons that were found in icon set\n*/\nfunction parseIconSet(data, callback) {\n\tconst names = [];\n\tif (typeof data !== \"object\" || typeof data.icons !== \"object\") return names;\n\tif (data.not_found instanceof Array) data.not_found.forEach((name) => {\n\t\tcallback(name, null);\n\t\tnames.push(name);\n\t});\n\tconst tree = getIconsTree(data);\n\tfor (const name in tree) {\n\t\tconst item = tree[name];\n\t\tif (item) {\n\t\t\tcallback(name, internalGetIconData(data, name, item));\n\t\t\tnames.push(name);\n\t\t}\n\t}\n\treturn names;\n}\n\n/**\n* Optional properties\n*/\nconst optionalPropertyDefaults = {\n\tprovider: \"\",\n\taliases: {},\n\tnot_found: {},\n\t...defaultIconDimensions\n};\n/**\n* Check props\n*/\nfunction checkOptionalProps(item, defaults) {\n\tfor (const prop in defaults) if (prop in item && typeof item[prop] !== typeof defaults[prop]) return false;\n\treturn true;\n}\n/**\n* Validate icon set, return it as IconifyJSON on success, null on failure\n*\n* Unlike validateIconSet(), this function is very basic.\n* It does not throw exceptions, it does not check metadata, it does not fix stuff.\n*/\nfunction quicklyValidateIconSet(obj) {\n\tif (typeof obj !== \"object\" || obj === null) return null;\n\tconst data = obj;\n\tif (typeof data.prefix !== \"string\" || !obj.icons || typeof obj.icons !== \"object\") return null;\n\tif (!checkOptionalProps(obj, optionalPropertyDefaults)) return null;\n\tconst icons = data.icons;\n\tfor (const name in icons) {\n\t\tconst icon = icons[name];\n\t\tif (!name || typeof icon.body !== \"string\" || !checkOptionalProps(icon, defaultExtendedIconProps)) return null;\n\t}\n\tconst aliases = data.aliases || Object.create(null);\n\tfor (const name in aliases) {\n\t\tconst icon = aliases[name];\n\t\tconst parent = icon.parent;\n\t\tif (!name || typeof parent !== \"string\" || !icons[parent] && !aliases[parent] || !checkOptionalProps(icon, defaultExtendedIconProps)) return null;\n\t}\n\treturn data;\n}\n\n/**\n* Storage by provider and prefix\n*/\nconst dataStorage = Object.create(null);\n/**\n* Create new storage\n*/\nfunction newStorage(provider, prefix) {\n\treturn {\n\t\tprovider,\n\t\tprefix,\n\t\ticons: Object.create(null),\n\t\tmissing: /* @__PURE__ */ new Set()\n\t};\n}\n/**\n* Get storage for provider and prefix\n*/\nfunction getStorage(provider, prefix) {\n\tconst providerStorage = dataStorage[provider] || (dataStorage[provider] = Object.create(null));\n\treturn providerStorage[prefix] || (providerStorage[prefix] = newStorage(provider, prefix));\n}\n/**\n* Add icon set to storage\n*\n* Returns array of added icons\n*/\nfunction addIconSet(storage, data) {\n\tif (!quicklyValidateIconSet(data)) return [];\n\treturn parseIconSet(data, (name, icon) => {\n\t\tif (icon) storage.icons[name] = icon;\n\t\telse storage.missing.add(name);\n\t});\n}\n/**\n* Add icon to storage\n*/\nfunction addIconToStorage(storage, name, icon) {\n\ttry {\n\t\tif (typeof icon.body === \"string\") {\n\t\t\tstorage.icons[name] = { ...icon };\n\t\t\treturn true;\n\t\t}\n\t} catch (err) {}\n\treturn false;\n}\n/**\n* List available icons\n*/\nfunction listIcons$1(provider, prefix) {\n\tlet allIcons = [];\n\t(typeof provider === \"string\" ? [provider] : Object.keys(dataStorage)).forEach((provider$1) => {\n\t\t(typeof provider$1 === \"string\" && typeof prefix === \"string\" ? [prefix] : Object.keys(dataStorage[provider$1] || {})).forEach((prefix$1) => {\n\t\t\tconst storage = getStorage(provider$1, prefix$1);\n\t\t\tallIcons = allIcons.concat(Object.keys(storage.icons).map((name) => (provider$1 !== \"\" ? \"@\" + provider$1 + \":\" : \"\") + prefix$1 + \":\" + name));\n\t\t});\n\t});\n\treturn allIcons;\n}\n\n/**\n* Allow storing icons without provider or prefix, making it possible to store icons like \"home\"\n*/\nlet simpleNames = false;\nfunction allowSimpleNames(allow) {\n\tif (typeof allow === \"boolean\") simpleNames = allow;\n\treturn simpleNames;\n}\n/**\n* Get icon data\n*\n* Returns:\n* - IconifyIcon on success, object directly from storage so don't modify it\n* - null if icon is marked as missing (returned in `not_found` property from API, so don't bother sending API requests)\n* - undefined if icon is missing in storage\n*/\nfunction getIconData(name) {\n\tconst icon = typeof name === \"string\" ? stringToIcon(name, true, simpleNames) : name;\n\tif (icon) {\n\t\tconst storage = getStorage(icon.provider, icon.prefix);\n\t\tconst iconName = icon.name;\n\t\treturn storage.icons[iconName] || (storage.missing.has(iconName) ? null : void 0);\n\t}\n}\n/**\n* Add one icon\n*/\nfunction addIcon$1(name, data) {\n\tconst icon = stringToIcon(name, true, simpleNames);\n\tif (!icon) return false;\n\tconst storage = getStorage(icon.provider, icon.prefix);\n\tif (data) return addIconToStorage(storage, icon.name, data);\n\telse {\n\t\tstorage.missing.add(icon.name);\n\t\treturn true;\n\t}\n}\n/**\n* Add icon set\n*/\nfunction addCollection$1(data, provider) {\n\tif (typeof data !== \"object\") return false;\n\tif (typeof provider !== \"string\") provider = data.provider || \"\";\n\tif (simpleNames && !provider && !data.prefix) {\n\t\tlet added = false;\n\t\tif (quicklyValidateIconSet(data)) {\n\t\t\tdata.prefix = \"\";\n\t\t\tparseIconSet(data, (name, icon) => {\n\t\t\t\tif (addIcon$1(name, icon)) added = true;\n\t\t\t});\n\t\t}\n\t\treturn added;\n\t}\n\tconst prefix = data.prefix;\n\tif (!validateIconName({\n\t\tprefix,\n\t\tname: \"a\"\n\t})) return false;\n\treturn !!addIconSet(getStorage(provider, prefix), data);\n}\n/**\n* Check if icon data is available\n*/\nfunction iconLoaded$1(name) {\n\treturn !!getIconData(name);\n}\n/**\n* Get full icon\n*/\nfunction getIcon$1(name) {\n\tconst result = getIconData(name);\n\treturn result ? {\n\t\t...defaultIconProps,\n\t\t...result\n\t} : result;\n}\n\n/**\n* Remove callback\n*/\nfunction removeCallback(storages, id) {\n\tstorages.forEach((storage) => {\n\t\tconst items = storage.loaderCallbacks;\n\t\tif (items) storage.loaderCallbacks = items.filter((row) => row.id !== id);\n\t});\n}\n/**\n* Update all callbacks for provider and prefix\n*/\nfunction updateCallbacks(storage) {\n\tif (!storage.pendingCallbacksFlag) {\n\t\tstorage.pendingCallbacksFlag = true;\n\t\tsetTimeout(() => {\n\t\t\tstorage.pendingCallbacksFlag = false;\n\t\t\tconst items = storage.loaderCallbacks ? storage.loaderCallbacks.slice(0) : [];\n\t\t\tif (!items.length) return;\n\t\t\tlet hasPending = false;\n\t\t\tconst provider = storage.provider;\n\t\t\tconst prefix = storage.prefix;\n\t\t\titems.forEach((item) => {\n\t\t\t\tconst icons = item.icons;\n\t\t\t\tconst oldLength = icons.pending.length;\n\t\t\t\ticons.pending = icons.pending.filter((icon) => {\n\t\t\t\t\tif (icon.prefix !== prefix) return true;\n\t\t\t\t\tconst name = icon.name;\n\t\t\t\t\tif (storage.icons[name]) icons.loaded.push({\n\t\t\t\t\t\tprovider,\n\t\t\t\t\t\tprefix,\n\t\t\t\t\t\tname\n\t\t\t\t\t});\n\t\t\t\t\telse if (storage.missing.has(name)) icons.missing.push({\n\t\t\t\t\t\tprovider,\n\t\t\t\t\t\tprefix,\n\t\t\t\t\t\tname\n\t\t\t\t\t});\n\t\t\t\t\telse {\n\t\t\t\t\t\thasPending = true;\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t});\n\t\t\t\tif (icons.pending.length !== oldLength) {\n\t\t\t\t\tif (!hasPending) removeCallback([storage], item.id);\n\t\t\t\t\titem.callback(icons.loaded.slice(0), icons.missing.slice(0), icons.pending.slice(0), item.abort);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n}\n/**\n* Unique id counter for callbacks\n*/\nlet idCounter = 0;\n/**\n* Add callback\n*/\nfunction storeCallback(callback, icons, pendingSources) {\n\tconst id = idCounter++;\n\tconst abort = removeCallback.bind(null, pendingSources, id);\n\tif (!icons.pending.length) return abort;\n\tconst item = {\n\t\tid,\n\t\ticons,\n\t\tcallback,\n\t\tabort\n\t};\n\tpendingSources.forEach((storage) => {\n\t\t(storage.loaderCallbacks || (storage.loaderCallbacks = [])).push(item);\n\t});\n\treturn abort;\n}\n\n/**\n* Check if icons have been loaded\n*/\nfunction sortIcons(icons) {\n\tconst result = {\n\t\tloaded: [],\n\t\tmissing: [],\n\t\tpending: []\n\t};\n\tconst storage = Object.create(null);\n\ticons.sort((a, b) => {\n\t\tif (a.provider !== b.provider) return a.provider.localeCompare(b.provider);\n\t\tif (a.prefix !== b.prefix) return a.prefix.localeCompare(b.prefix);\n\t\treturn a.name.localeCompare(b.name);\n\t});\n\tlet lastIcon = {\n\t\tprovider: \"\",\n\t\tprefix: \"\",\n\t\tname: \"\"\n\t};\n\ticons.forEach((icon) => {\n\t\tif (lastIcon.name === icon.name && lastIcon.prefix === icon.prefix && lastIcon.provider === icon.provider) return;\n\t\tlastIcon = icon;\n\t\tconst provider = icon.provider;\n\t\tconst prefix = icon.prefix;\n\t\tconst name = icon.name;\n\t\tconst providerStorage = storage[provider] || (storage[provider] = Object.create(null));\n\t\tconst localStorage = providerStorage[prefix] || (providerStorage[prefix] = getStorage(provider, prefix));\n\t\tlet list;\n\t\tif (name in localStorage.icons) list = result.loaded;\n\t\telse if (prefix === \"\" || localStorage.missing.has(name)) list = result.missing;\n\t\telse list = result.pending;\n\t\tconst item = {\n\t\t\tprovider,\n\t\t\tprefix,\n\t\t\tname\n\t\t};\n\t\tlist.push(item);\n\t});\n\treturn result;\n}\n\n/**\n* Local storate types and entries\n*/\nconst storage = Object.create(null);\n/**\n* Set API module\n*/\nfunction setAPIModule(provider, item) {\n\tstorage[provider] = item;\n}\n/**\n* Get API module\n*/\nfunction getAPIModule(provider) {\n\treturn storage[provider] || storage[\"\"];\n}\n\n/**\n* Convert icons list from string/icon mix to icons and validate them\n*/\nfunction listToIcons(list, validate = true, simpleNames = false) {\n\tconst result = [];\n\tlist.forEach((item) => {\n\t\tconst icon = typeof item === \"string\" ? stringToIcon(item, validate, simpleNames) : item;\n\t\tif (icon) result.push(icon);\n\t});\n\treturn result;\n}\n\n/**\n* Create full API configuration from partial data\n*/\nfunction createAPIConfig(source) {\n\tlet resources;\n\tif (typeof source.resources === \"string\") resources = [source.resources];\n\telse {\n\t\tresources = source.resources;\n\t\tif (!(resources instanceof Array) || !resources.length) return null;\n\t}\n\treturn {\n\t\tresources,\n\t\tpath: source.path || \"/\",\n\t\tmaxURL: source.maxURL || 500,\n\t\trotate: source.rotate || 750,\n\t\ttimeout: source.timeout || 5e3,\n\t\trandom: source.random === true,\n\t\tindex: source.index || 0,\n\t\tdataAfterTimeout: source.dataAfterTimeout !== false\n\t};\n}\n/**\n* Local storage\n*/\nconst configStorage = Object.create(null);\n/**\n* Redundancy for API servers.\n*\n* API should have very high uptime because of implemented redundancy at server level, but\n* sometimes bad things happen. On internet 100% uptime is not possible.\n*\n* There could be routing problems. Server might go down for whatever reason, but it takes\n* few minutes to detect that downtime, so during those few minutes API might not be accessible.\n*\n* This script has some redundancy to mitigate possible network issues.\n*\n* If one host cannot be reached in 'rotate' (750 by default) ms, script will try to retrieve\n* data from different host. Hosts have different configurations, pointing to different\n* API servers hosted at different providers.\n*/\nconst fallBackAPISources = [\"https://api.simplesvg.com\", \"https://api.unisvg.com\"];\nconst fallBackAPI = [];\nwhile (fallBackAPISources.length > 0) if (fallBackAPISources.length === 1) fallBackAPI.push(fallBackAPISources.shift());\nelse if (Math.random() > .5) fallBackAPI.push(fallBackAPISources.shift());\nelse fallBackAPI.push(fallBackAPISources.pop());\nconfigStorage[\"\"] = createAPIConfig({ resources: [\"https://api.iconify.design\"].concat(fallBackAPI) });\n/**\n* Add custom config for provider\n*/\nfunction addAPIProvider$1(provider, customConfig) {\n\tconst config = createAPIConfig(customConfig);\n\tif (config === null) return false;\n\tconfigStorage[provider] = config;\n\treturn true;\n}\n/**\n* Get API configuration\n*/\nfunction getAPIConfig(provider) {\n\treturn configStorage[provider];\n}\n/**\n* List API providers\n*/\nfunction listAPIProviders() {\n\treturn Object.keys(configStorage);\n}\n\n/**\n* Default RedundancyConfig for API calls\n*/\nconst defaultConfig = {\n\tresources: [],\n\tindex: 0,\n\ttimeout: 2e3,\n\trotate: 750,\n\trandom: false,\n\tdataAfterTimeout: false\n};\n\n/**\n* Send query\n*/\nfunction sendQuery(config, payload, query, done) {\n\tconst resourcesCount = config.resources.length;\n\tconst startIndex = config.random ? Math.floor(Math.random() * resourcesCount) : config.index;\n\tlet resources;\n\tif (config.random) {\n\t\tlet list = config.resources.slice(0);\n\t\tresources = [];\n\t\twhile (list.length > 1) {\n\t\t\tconst nextIndex = Math.floor(Math.random() * list.length);\n\t\t\tresources.push(list[nextIndex]);\n\t\t\tlist = list.slice(0, nextIndex).concat(list.slice(nextIndex + 1));\n\t\t}\n\t\tresources = resources.concat(list);\n\t} else resources = config.resources.slice(startIndex).concat(config.resources.slice(0, startIndex));\n\tconst startTime = Date.now();\n\tlet status = \"pending\";\n\tlet queriesSent = 0;\n\tlet lastError;\n\tlet timer = null;\n\tlet queue = [];\n\tlet doneCallbacks = [];\n\tif (typeof done === \"function\") doneCallbacks.push(done);\n\t/**\n\t* Reset timer\n\t*/\n\tfunction resetTimer() {\n\t\tif (timer) {\n\t\t\tclearTimeout(timer);\n\t\t\ttimer = null;\n\t\t}\n\t}\n\t/**\n\t* Abort everything\n\t*/\n\tfunction abort() {\n\t\tif (status === \"pending\") status = \"aborted\";\n\t\tresetTimer();\n\t\tqueue.forEach((item) => {\n\t\t\tif (item.status === \"pending\") item.status = \"aborted\";\n\t\t});\n\t\tqueue = [];\n\t}\n\t/**\n\t* Add / replace callback to call when execution is complete.\n\t* This can be used to abort pending query implementations when query is complete or aborted.\n\t*/\n\tfunction subscribe(callback, overwrite) {\n\t\tif (overwrite) doneCallbacks = [];\n\t\tif (typeof callback === \"function\") doneCallbacks.push(callback);\n\t}\n\t/**\n\t* Get query status\n\t*/\n\tfunction getQueryStatus() {\n\t\treturn {\n\t\t\tstartTime,\n\t\t\tpayload,\n\t\t\tstatus,\n\t\t\tqueriesSent,\n\t\t\tqueriesPending: queue.length,\n\t\t\tsubscribe,\n\t\t\tabort\n\t\t};\n\t}\n\t/**\n\t* Fail query\n\t*/\n\tfunction failQuery() {\n\t\tstatus = \"failed\";\n\t\tdoneCallbacks.forEach((callback) => {\n\t\t\tcallback(void 0, lastError);\n\t\t});\n\t}\n\t/**\n\t* Clear queue\n\t*/\n\tfunction clearQueue() {\n\t\tqueue.forEach((item) => {\n\t\t\tif (item.status === \"pending\") item.status = \"aborted\";\n\t\t});\n\t\tqueue = [];\n\t}\n\t/**\n\t* Got response from module\n\t*/\n\tfunction moduleResponse(item, response, data) {\n\t\tconst isError = response !== \"success\";\n\t\tqueue = queue.filter((queued) => queued !== item);\n\t\tswitch (status) {\n\t\t\tcase \"pending\": break;\n\t\t\tcase \"failed\":\n\t\t\t\tif (isError || !config.dataAfterTimeout) return;\n\t\t\t\tbreak;\n\t\t\tdefault: return;\n\t\t}\n\t\tif (response === \"abort\") {\n\t\t\tlastError = data;\n\t\t\tfailQuery();\n\t\t\treturn;\n\t\t}\n\t\tif (isError) {\n\t\t\tlastError = data;\n\t\t\tif (!queue.length) if (!resources.length) failQuery();\n\t\t\telse execNext();\n\t\t\treturn;\n\t\t}\n\t\tresetTimer();\n\t\tclearQueue();\n\t\tif (!config.random) {\n\t\t\tconst index = config.resources.indexOf(item.resource);\n\t\t\tif (index !== -1 && index !== config.index) config.index = index;\n\t\t}\n\t\tstatus = \"completed\";\n\t\tdoneCallbacks.forEach((callback) => {\n\t\t\tcallback(data);\n\t\t});\n\t}\n\t/**\n\t* Execute next query\n\t*/\n\tfunction execNext() {\n\t\tif (status !== \"pending\") return;\n\t\tresetTimer();\n\t\tconst resource = resources.shift();\n\t\tif (resource === void 0) {\n\t\t\tif (queue.length) {\n\t\t\t\ttimer = setTimeout(() => {\n\t\t\t\t\tresetTimer();\n\t\t\t\t\tif (status === \"pending\") {\n\t\t\t\t\t\tclearQueue();\n\t\t\t\t\t\tfailQuery();\n\t\t\t\t\t}\n\t\t\t\t}, config.timeout);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tfailQuery();\n\t\t\treturn;\n\t\t}\n\t\tconst item = {\n\t\t\tstatus: \"pending\",\n\t\t\tresource,\n\t\t\tcallback: (status$1, data) => {\n\t\t\t\tmoduleResponse(item, status$1, data);\n\t\t\t}\n\t\t};\n\t\tqueue.push(item);\n\t\tqueriesSent++;\n\t\ttimer = setTimeout(execNext, config.rotate);\n\t\tquery(resource, payload, item.callback);\n\t}\n\tsetTimeout(execNext);\n\treturn getQueryStatus;\n}\n\n/**\n* Redundancy instance\n*/\nfunction initRedundancy(cfg) {\n\tconst config = {\n\t\t...defaultConfig,\n\t\t...cfg\n\t};\n\tlet queries = [];\n\t/**\n\t* Remove aborted and completed queries\n\t*/\n\tfunction cleanup() {\n\t\tqueries = queries.filter((item) => item().status === \"pending\");\n\t}\n\t/**\n\t* Send query\n\t*/\n\tfunction query(payload, queryCallback, doneCallback) {\n\t\tconst query$1 = sendQuery(config, payload, queryCallback, (data, error) => {\n\t\t\tcleanup();\n\t\t\tif (doneCallback) doneCallback(data, error);\n\t\t});\n\t\tqueries.push(query$1);\n\t\treturn query$1;\n\t}\n\t/**\n\t* Find instance\n\t*/\n\tfunction find(callback) {\n\t\treturn queries.find((value) => {\n\t\t\treturn callback(value);\n\t\t}) || null;\n\t}\n\treturn {\n\t\tquery,\n\t\tfind,\n\t\tsetIndex: (index) => {\n\t\t\tconfig.index = index;\n\t\t},\n\t\tgetIndex: () => config.index,\n\t\tcleanup\n\t};\n}\n\nfunction emptyCallback$1() {}\nconst redundancyCache = Object.create(null);\n/**\n* Get Redundancy instance for provider\n*/\nfunction getRedundancyCache(provider) {\n\tif (!redundancyCache[provider]) {\n\t\tconst config = getAPIConfig(provider);\n\t\tif (!config) return;\n\t\tredundancyCache[provider] = {\n\t\t\tconfig,\n\t\t\tredundancy: initRedundancy(config)\n\t\t};\n\t}\n\treturn redundancyCache[provider];\n}\n/**\n* Send API query\n*/\nfunction sendAPIQuery(target, query, callback) {\n\tlet redundancy;\n\tlet send;\n\tif (typeof target === \"string\") {\n\t\tconst api = getAPIModule(target);\n\t\tif (!api) {\n\t\t\tcallback(void 0, 424);\n\t\t\treturn emptyCallback$1;\n\t\t}\n\t\tsend = api.send;\n\t\tconst cached = getRedundancyCache(target);\n\t\tif (cached) redundancy = cached.redundancy;\n\t} else {\n\t\tconst config = createAPIConfig(target);\n\t\tif (config) {\n\t\t\tredundancy = initRedundancy(config);\n\t\t\tconst api = getAPIModule(target.resources ? target.resources[0] : \"\");\n\t\t\tif (api) send = api.send;\n\t\t}\n\t}\n\tif (!redundancy || !send) {\n\t\tcallback(void 0, 424);\n\t\treturn emptyCallback$1;\n\t}\n\treturn redundancy.query(query, send, callback)().abort;\n}\n\nfunction emptyCallback() {}\n/**\n* Function called when new icons have been loaded\n*/\nfunction loadedNewIcons(storage) {\n\tif (!storage.iconsLoaderFlag) {\n\t\tstorage.iconsLoaderFlag = true;\n\t\tsetTimeout(() => {\n\t\t\tstorage.iconsLoaderFlag = false;\n\t\t\tupdateCallbacks(storage);\n\t\t});\n\t}\n}\n/**\n* Check icon names for API\n*/\nfunction checkIconNamesForAPI(icons) {\n\tconst valid = [];\n\tconst invalid = [];\n\ticons.forEach((name) => {\n\t\t(name.match(matchIconName) ? valid : invalid).push(name);\n\t});\n\treturn {\n\t\tvalid,\n\t\tinvalid\n\t};\n}\n/**\n* Parse loader response\n*/\nfunction parseLoaderResponse(storage, icons, data) {\n\tfunction checkMissing() {\n\t\tconst pending = storage.pendingIcons;\n\t\ticons.forEach((name) => {\n\t\t\tif (pending) pending.delete(name);\n\t\t\tif (!storage.icons[name]) storage.missing.add(name);\n\t\t});\n\t}\n\tif (data && typeof data === \"object\") try {\n\t\tif (!addIconSet(storage, data).length) {\n\t\t\tcheckMissing();\n\t\t\treturn;\n\t\t}\n\t} catch (err) {\n\t\tconsole.error(err);\n\t}\n\tcheckMissing();\n\tloadedNewIcons(storage);\n}\n/**\n* Handle response that can be async\n*/\nfunction parsePossiblyAsyncResponse(response, callback) {\n\tif (response instanceof Promise) response.then((data) => {\n\t\tcallback(data);\n\t}).catch(() => {\n\t\tcallback(null);\n\t});\n\telse callback(response);\n}\n/**\n* Load icons\n*/\nfunction loadNewIcons(storage, icons) {\n\tif (!storage.iconsToLoad) storage.iconsToLoad = icons;\n\telse storage.iconsToLoad = storage.iconsToLoad.concat(icons).sort();\n\tif (!storage.iconsQueueFlag) {\n\t\tstorage.iconsQueueFlag = true;\n\t\tsetTimeout(() => {\n\t\t\tstorage.iconsQueueFlag = false;\n\t\t\tconst { provider, prefix } = storage;\n\t\t\tconst icons$1 = storage.iconsToLoad;\n\t\t\tdelete storage.iconsToLoad;\n\t\t\tif (!icons$1 || !icons$1.length) return;\n\t\t\tconst customIconLoader = storage.loadIcon;\n\t\t\tif (storage.loadIcons && (icons$1.length > 1 || !customIconLoader)) {\n\t\t\t\tparsePossiblyAsyncResponse(storage.loadIcons(icons$1, prefix, provider), (data) => {\n\t\t\t\t\tparseLoaderResponse(storage, icons$1, data);\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (customIconLoader) {\n\t\t\t\ticons$1.forEach((name) => {\n\t\t\t\t\tparsePossiblyAsyncResponse(customIconLoader(name, prefix, provider), (data) => {\n\t\t\t\t\t\tparseLoaderResponse(storage, [name], data ? {\n\t\t\t\t\t\t\tprefix,\n\t\t\t\t\t\t\ticons: { [name]: data }\n\t\t\t\t\t\t} : null);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { valid, invalid } = checkIconNamesForAPI(icons$1);\n\t\t\tif (invalid.length) parseLoaderResponse(storage, invalid, null);\n\t\t\tif (!valid.length) return;\n\t\t\tconst api = prefix.match(matchIconName) ? getAPIModule(provider) : null;\n\t\t\tif (!api) {\n\t\t\t\tparseLoaderResponse(storage, valid, null);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tapi.prepare(provider, prefix, valid).forEach((item) => {\n\t\t\t\tsendAPIQuery(provider, item, (data) => {\n\t\t\t\t\tparseLoaderResponse(storage, item.icons, data);\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n}\n/**\n* Load icons\n*/\nconst loadIcons$1 = (icons, callback) => {\n\tconst sortedIcons = sortIcons(listToIcons(icons, true, allowSimpleNames()));\n\tif (!sortedIcons.pending.length) {\n\t\tlet callCallback = true;\n\t\tif (callback) setTimeout(() => {\n\t\t\tif (callCallback) callback(sortedIcons.loaded, sortedIcons.missing, sortedIcons.pending, emptyCallback);\n\t\t});\n\t\treturn () => {\n\t\t\tcallCallback = false;\n\t\t};\n\t}\n\tconst newIcons = Object.create(null);\n\tconst sources = [];\n\tlet lastProvider, lastPrefix;\n\tsortedIcons.pending.forEach((icon) => {\n\t\tconst { provider, prefix } = icon;\n\t\tif (prefix === lastPrefix && provider === lastProvider) return;\n\t\tlastProvider = provider;\n\t\tlastPrefix = prefix;\n\t\tsources.push(getStorage(provider, prefix));\n\t\tconst providerNewIcons = newIcons[provider] || (newIcons[provider] = Object.create(null));\n\t\tif (!providerNewIcons[prefix]) providerNewIcons[prefix] = [];\n\t});\n\tsortedIcons.pending.forEach((icon) => {\n\t\tconst { provider, prefix, name } = icon;\n\t\tconst storage = getStorage(provider, prefix);\n\t\tconst pendingQueue = storage.pendingIcons || (storage.pendingIcons = /* @__PURE__ */ new Set());\n\t\tif (!pendingQueue.has(name)) {\n\t\t\tpendingQueue.add(name);\n\t\t\tnewIcons[provider][prefix].push(name);\n\t\t}\n\t});\n\tsources.forEach((storage) => {\n\t\tconst list = newIcons[storage.provider][storage.prefix];\n\t\tif (list.length) loadNewIcons(storage, list);\n\t});\n\treturn callback ? storeCallback(callback, sortedIcons, sources) : emptyCallback;\n};\n/**\n* Load one icon using Promise\n*/\nconst loadIcon$1 = (icon) => {\n\treturn new Promise((fulfill, reject) => {\n\t\tconst iconObj = typeof icon === \"string\" ? stringToIcon(icon, true) : icon;\n\t\tif (!iconObj) {\n\t\t\treject(icon);\n\t\t\treturn;\n\t\t}\n\t\tloadIcons$1([iconObj || icon], (loaded) => {\n\t\t\tif (loaded.length && iconObj) {\n\t\t\t\tconst data = getIconData(iconObj);\n\t\t\t\tif (data) {\n\t\t\t\t\tfulfill({\n\t\t\t\t\t\t...defaultIconProps,\n\t\t\t\t\t\t...data\n\t\t\t\t\t});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\treject(icon);\n\t\t});\n\t});\n};\n\n/**\n * Test icon string\n */\nfunction testIconObject(value) {\n    try {\n        const obj = typeof value === 'string' ? JSON.parse(value) : value;\n        if (typeof obj.body === 'string') {\n            return {\n                ...obj,\n            };\n        }\n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    }\n    catch (err) {\n        //\n    }\n}\n\n/**\n * Parse icon value, load if needed\n */\nfunction parseIconValue(value, onload) {\n    if (typeof value === 'object') {\n        const data = testIconObject(value);\n        return {\n            data,\n            value,\n        };\n    }\n    if (typeof value !== 'string') {\n        // Invalid value\n        return {\n            value,\n        };\n    }\n    // Check for JSON\n    if (value.includes('{')) {\n        const data = testIconObject(value);\n        if (data) {\n            return {\n                data,\n                value,\n            };\n        }\n    }\n    // Parse icon name\n    const name = stringToIcon(value, true, true);\n    if (!name) {\n        return {\n            value,\n        };\n    }\n    // Valid icon name: check if data is available\n    const data = getIconData(name);\n    // Icon data exists or icon has no prefix. Do not load icon from API if icon has no prefix\n    if (data !== undefined || !name.prefix) {\n        return {\n            value,\n            name,\n            data, // could be 'null' -> icon is missing\n        };\n    }\n    // Load icon\n    const loading = loadIcons$1([name], () => onload(value, name, getIconData(name)));\n    return {\n        value,\n        name,\n        loading,\n    };\n}\n\n// Check for Safari\nlet isBuggedSafari = false;\ntry {\n    isBuggedSafari = navigator.vendor.indexOf('Apple') === 0;\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n}\ncatch (err) {\n    //\n}\n/**\n * Get render mode\n */\nfunction getRenderMode(body, mode) {\n    switch (mode) {\n        // Force mode\n        case 'svg':\n        case 'bg':\n        case 'mask':\n            return mode;\n    }\n    // Check for animation, use 'style' for animated icons, unless browser is Safari\n    // (only <a>, which should be ignored or animations start with '<a')\n    if (mode !== 'style' &&\n        (isBuggedSafari || body.indexOf('<a') === -1)) {\n        // Render <svg>\n        return 'svg';\n    }\n    // Use background or mask\n    return body.indexOf('currentColor') === -1 ? 'bg' : 'mask';\n}\n\n/**\n* Regular expressions for calculating dimensions\n*/\nconst unitsSplit = /(-?[0-9.]*[0-9]+[0-9.]*)/g;\nconst unitsTest = /^-?[0-9.]*[0-9]+[0-9.]*$/g;\nfunction calculateSize$1(size, ratio, precision) {\n\tif (ratio === 1) return size;\n\tprecision = precision || 100;\n\tif (typeof size === \"number\") return Math.ceil(size * ratio * precision) / precision;\n\tif (typeof size !== \"string\") return size;\n\tconst oldParts = size.split(unitsSplit);\n\tif (oldParts === null || !oldParts.length) return size;\n\tconst newParts = [];\n\tlet code = oldParts.shift();\n\tlet isNumber = unitsTest.test(code);\n\twhile (true) {\n\t\tif (isNumber) {\n\t\t\tconst num = parseFloat(code);\n\t\t\tif (isNaN(num)) newParts.push(code);\n\t\t\telse newParts.push(Math.ceil(num * ratio * precision) / precision);\n\t\t} else newParts.push(code);\n\t\tcode = oldParts.shift();\n\t\tif (code === void 0) return newParts.join(\"\");\n\t\tisNumber = !isNumber;\n\t}\n}\n\nfunction splitSVGDefs(content, tag = \"defs\") {\n\tlet defs = \"\";\n\tconst index = content.indexOf(\"<\" + tag);\n\twhile (index >= 0) {\n\t\tconst start = content.indexOf(\">\", index);\n\t\tconst end = content.indexOf(\"</\" + tag);\n\t\tif (start === -1 || end === -1) break;\n\t\tconst endEnd = content.indexOf(\">\", end);\n\t\tif (endEnd === -1) break;\n\t\tdefs += content.slice(start + 1, end).trim();\n\t\tcontent = content.slice(0, index).trim() + content.slice(endEnd + 1);\n\t}\n\treturn {\n\t\tdefs,\n\t\tcontent\n\t};\n}\n/**\n* Merge defs and content\n*/\nfunction mergeDefsAndContent(defs, content) {\n\treturn defs ? \"<defs>\" + defs + \"</defs>\" + content : content;\n}\n/**\n* Wrap SVG content, without wrapping definitions\n*/\nfunction wrapSVGContent(body, start, end) {\n\tconst split = splitSVGDefs(body);\n\treturn mergeDefsAndContent(split.defs, start + split.content + end);\n}\n\n/**\n* Check if value should be unset. Allows multiple keywords\n*/\nconst isUnsetKeyword = (value) => value === \"unset\" || value === \"undefined\" || value === \"none\";\n/**\n* Get SVG attributes and content from icon + customisations\n*\n* Does not generate style to make it compatible with frameworks that use objects for style, such as React.\n* Instead, it generates 'inline' value. If true, rendering engine should add verticalAlign: -0.125em to icon.\n*\n* Customisations should be normalised by platform specific parser.\n* Result should be converted to <svg> by platform specific parser.\n* Use replaceIDs to generate unique IDs for body.\n*/\nfunction iconToSVG(icon, customisations) {\n\tconst fullIcon = {\n\t\t...defaultIconProps,\n\t\t...icon\n\t};\n\tconst fullCustomisations = {\n\t\t...defaultIconCustomisations,\n\t\t...customisations\n\t};\n\tconst box = {\n\t\tleft: fullIcon.left,\n\t\ttop: fullIcon.top,\n\t\twidth: fullIcon.width,\n\t\theight: fullIcon.height\n\t};\n\tlet body = fullIcon.body;\n\t[fullIcon, fullCustomisations].forEach((props) => {\n\t\tconst transformations = [];\n\t\tconst hFlip = props.hFlip;\n\t\tconst vFlip = props.vFlip;\n\t\tlet rotation = props.rotate;\n\t\tif (hFlip) if (vFlip) rotation += 2;\n\t\telse {\n\t\t\ttransformations.push(\"translate(\" + (box.width + box.left).toString() + \" \" + (0 - box.top).toString() + \")\");\n\t\t\ttransformations.push(\"scale(-1 1)\");\n\t\t\tbox.top = box.left = 0;\n\t\t}\n\t\telse if (vFlip) {\n\t\t\ttransformations.push(\"translate(\" + (0 - box.left).toString() + \" \" + (box.height + box.top).toString() + \")\");\n\t\t\ttransformations.push(\"scale(1 -1)\");\n\t\t\tbox.top = box.left = 0;\n\t\t}\n\t\tlet tempValue;\n\t\tif (rotation < 0) rotation -= Math.floor(rotation / 4) * 4;\n\t\trotation = rotation % 4;\n\t\tswitch (rotation) {\n\t\t\tcase 1:\n\t\t\t\ttempValue = box.height / 2 + box.top;\n\t\t\t\ttransformations.unshift(\"rotate(90 \" + tempValue.toString() + \" \" + tempValue.toString() + \")\");\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\ttransformations.unshift(\"rotate(180 \" + (box.width / 2 + box.left).toString() + \" \" + (box.height / 2 + box.top).toString() + \")\");\n\t\t\t\tbreak;\n\t\t\tcase 3:\n\t\t\t\ttempValue = box.width / 2 + box.left;\n\t\t\t\ttransformations.unshift(\"rotate(-90 \" + tempValue.toString() + \" \" + tempValue.toString() + \")\");\n\t\t\t\tbreak;\n\t\t}\n\t\tif (rotation % 2 === 1) {\n\t\t\tif (box.left !== box.top) {\n\t\t\t\ttempValue = box.left;\n\t\t\t\tbox.left = box.top;\n\t\t\t\tbox.top = tempValue;\n\t\t\t}\n\t\t\tif (box.width !== box.height) {\n\t\t\t\ttempValue = box.width;\n\t\t\t\tbox.width = box.height;\n\t\t\t\tbox.height = tempValue;\n\t\t\t}\n\t\t}\n\t\tif (transformations.length) body = wrapSVGContent(body, \"<g transform=\\\"\" + transformations.join(\" \") + \"\\\">\", \"</g>\");\n\t});\n\tconst customisationsWidth = fullCustomisations.width;\n\tconst customisationsHeight = fullCustomisations.height;\n\tconst boxWidth = box.width;\n\tconst boxHeight = box.height;\n\tlet width;\n\tlet height;\n\tif (customisationsWidth === null) {\n\t\theight = customisationsHeight === null ? \"1em\" : customisationsHeight === \"auto\" ? boxHeight : customisationsHeight;\n\t\twidth = calculateSize$1(height, boxWidth / boxHeight);\n\t} else {\n\t\twidth = customisationsWidth === \"auto\" ? boxWidth : customisationsWidth;\n\t\theight = customisationsHeight === null ? calculateSize$1(width, boxHeight / boxWidth) : customisationsHeight === \"auto\" ? boxHeight : customisationsHeight;\n\t}\n\tconst attributes = {};\n\tconst setAttr = (prop, value) => {\n\t\tif (!isUnsetKeyword(value)) attributes[prop] = value.toString();\n\t};\n\tsetAttr(\"width\", width);\n\tsetAttr(\"height\", height);\n\tconst viewBox = [\n\t\tbox.left,\n\t\tbox.top,\n\t\tboxWidth,\n\t\tboxHeight\n\t];\n\tattributes.viewBox = viewBox.join(\" \");\n\treturn {\n\t\tattributes,\n\t\tviewBox,\n\t\tbody\n\t};\n}\n\n/**\n* Generate <svg>\n*/\nfunction iconToHTML$1(body, attributes) {\n\tlet renderAttribsHTML = body.indexOf(\"xlink:\") === -1 ? \"\" : \" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"\";\n\tfor (const attr in attributes) renderAttribsHTML += \" \" + attr + \"=\\\"\" + attributes[attr] + \"\\\"\";\n\treturn \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\"\" + renderAttribsHTML + \">\" + body + \"</svg>\";\n}\n\n/**\n* Encode SVG for use in url()\n*\n* Short alternative to encodeURIComponent() that encodes only stuff used in SVG, generating\n* smaller code.\n*/\nfunction encodeSVGforURL(svg) {\n\treturn svg.replace(/\"/g, \"'\").replace(/%/g, \"%25\").replace(/#/g, \"%23\").replace(/</g, \"%3C\").replace(/>/g, \"%3E\").replace(/\\s+/g, \" \");\n}\n/**\n* Generate data: URL from SVG\n*/\nfunction svgToData(svg) {\n\treturn \"data:image/svg+xml,\" + encodeSVGforURL(svg);\n}\n/**\n* Generate url() from SVG\n*/\nfunction svgToURL$1(svg) {\n\treturn \"url(\\\"\" + svgToData(svg) + \"\\\")\";\n}\n\nconst detectFetch = () => {\n\tlet callback;\n\ttry {\n\t\tcallback = fetch;\n\t\tif (typeof callback === \"function\") return callback;\n\t} catch (err) {}\n};\n/**\n* Fetch function\n*/\nlet fetchModule = detectFetch();\n/**\n* Set custom fetch() function\n*/\nfunction setFetch(fetch$1) {\n\tfetchModule = fetch$1;\n}\n/**\n* Get fetch() function. Used by Icon Finder Core\n*/\nfunction getFetch() {\n\treturn fetchModule;\n}\n/**\n* Calculate maximum icons list length for prefix\n*/\nfunction calculateMaxLength(provider, prefix) {\n\tconst config = getAPIConfig(provider);\n\tif (!config) return 0;\n\tlet result;\n\tif (!config.maxURL) result = 0;\n\telse {\n\t\tlet maxHostLength = 0;\n\t\tconfig.resources.forEach((item) => {\n\t\t\tconst host = item;\n\t\t\tmaxHostLength = Math.max(maxHostLength, host.length);\n\t\t});\n\t\tconst url = prefix + \".json?icons=\";\n\t\tresult = config.maxURL - maxHostLength - config.path.length - url.length;\n\t}\n\treturn result;\n}\n/**\n* Should query be aborted, based on last HTTP status\n*/\nfunction shouldAbort(status) {\n\treturn status === 404;\n}\n/**\n* Prepare params\n*/\nconst prepare = (provider, prefix, icons) => {\n\tconst results = [];\n\tconst maxLength = calculateMaxLength(provider, prefix);\n\tconst type = \"icons\";\n\tlet item = {\n\t\ttype,\n\t\tprovider,\n\t\tprefix,\n\t\ticons: []\n\t};\n\tlet length = 0;\n\ticons.forEach((name, index) => {\n\t\tlength += name.length + 1;\n\t\tif (length >= maxLength && index > 0) {\n\t\t\tresults.push(item);\n\t\t\titem = {\n\t\t\t\ttype,\n\t\t\t\tprovider,\n\t\t\t\tprefix,\n\t\t\t\ticons: []\n\t\t\t};\n\t\t\tlength = name.length;\n\t\t}\n\t\titem.icons.push(name);\n\t});\n\tresults.push(item);\n\treturn results;\n};\n/**\n* Get path\n*/\nfunction getPath(provider) {\n\tif (typeof provider === \"string\") {\n\t\tconst config = getAPIConfig(provider);\n\t\tif (config) return config.path;\n\t}\n\treturn \"/\";\n}\n/**\n* Load icons\n*/\nconst send = (host, params, callback) => {\n\tif (!fetchModule) {\n\t\tcallback(\"abort\", 424);\n\t\treturn;\n\t}\n\tlet path = getPath(params.provider);\n\tswitch (params.type) {\n\t\tcase \"icons\": {\n\t\t\tconst prefix = params.prefix;\n\t\t\tconst iconsList = params.icons.join(\",\");\n\t\t\tconst urlParams = new URLSearchParams({ icons: iconsList });\n\t\t\tpath += prefix + \".json?\" + urlParams.toString();\n\t\t\tbreak;\n\t\t}\n\t\tcase \"custom\": {\n\t\t\tconst uri = params.uri;\n\t\t\tpath += uri.slice(0, 1) === \"/\" ? uri.slice(1) : uri;\n\t\t\tbreak;\n\t\t}\n\t\tdefault:\n\t\t\tcallback(\"abort\", 400);\n\t\t\treturn;\n\t}\n\tlet defaultError = 503;\n\tfetchModule(host + path).then((response) => {\n\t\tconst status = response.status;\n\t\tif (status !== 200) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tcallback(shouldAbort(status) ? \"abort\" : \"next\", status);\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tdefaultError = 501;\n\t\treturn response.json();\n\t}).then((data) => {\n\t\tif (typeof data !== \"object\" || data === null) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (data === 404) callback(\"abort\", data);\n\t\t\t\telse callback(\"next\", defaultError);\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tsetTimeout(() => {\n\t\t\tcallback(\"success\", data);\n\t\t});\n\t}).catch(() => {\n\t\tcallback(\"next\", defaultError);\n\t});\n};\n/**\n* Export module\n*/\nconst fetchAPIModule = {\n\tprepare,\n\tsend\n};\n\n/**\n* Set custom loader for multiple icons\n*/\nfunction setCustomIconsLoader$1(loader, prefix, provider) {\n\tgetStorage(provider || \"\", prefix).loadIcons = loader;\n}\n/**\n* Set custom loader for one icon\n*/\nfunction setCustomIconLoader$1(loader, prefix, provider) {\n\tgetStorage(provider || \"\", prefix).loadIcon = loader;\n}\n\n/**\n * Attribute to add\n */\nconst nodeAttr = 'data-style';\n/**\n * Custom style to add to each node\n */\nlet customStyle = '';\n/**\n * Set custom style to add to all components\n *\n * Affects only components rendered after function call\n */\nfunction appendCustomStyle(style) {\n    customStyle = style;\n}\n/**\n * Add/update style node\n */\nfunction updateStyle(parent, inline) {\n    // Get node, create if needed\n    let styleNode = Array.from(parent.childNodes).find((node) => node.hasAttribute &&\n        node.hasAttribute(nodeAttr));\n    if (!styleNode) {\n        styleNode = document.createElement('style');\n        styleNode.setAttribute(nodeAttr, nodeAttr);\n        parent.appendChild(styleNode);\n    }\n    // Update content\n    styleNode.textContent =\n        ':host{display:inline-block;vertical-align:' +\n            (inline ? '-0.125em' : '0') +\n            '}span,svg{display:block;margin:auto}' +\n            customStyle;\n}\n\n// Core\n/**\n * Get functions and initialise stuff\n */\nfunction exportFunctions() {\n    /**\n     * Initialise stuff\n     */\n    // Set API module\n    setAPIModule('', fetchAPIModule);\n    // Allow simple icon names\n    allowSimpleNames(true);\n    let _window;\n    try {\n        _window = window;\n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    }\n    catch (err) {\n        //\n    }\n    if (_window) {\n        // Load icons from global \"IconifyPreload\"\n        if (_window.IconifyPreload !== void 0) {\n            const preload = _window.IconifyPreload;\n            const err = 'Invalid IconifyPreload syntax.';\n            if (typeof preload === 'object' && preload !== null) {\n                (preload instanceof Array ? preload : [preload]).forEach((item) => {\n                    try {\n                        if (\n                        // Check if item is an object and not null/array\n                        typeof item !== 'object' ||\n                            item === null ||\n                            item instanceof Array ||\n                            // Check for 'icons' and 'prefix'\n                            typeof item.icons !== 'object' ||\n                            typeof item.prefix !== 'string' ||\n                            // Add icon set\n                            !addCollection$1(item)) {\n                            console.error(err);\n                        }\n                        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n                    }\n                    catch (e) {\n                        console.error(err);\n                    }\n                });\n            }\n        }\n        // Set API from global \"IconifyProviders\"\n        if (_window.IconifyProviders !== void 0) {\n            const providers = _window.IconifyProviders;\n            if (typeof providers === 'object' && providers !== null) {\n                for (const key in providers) {\n                    const err = 'IconifyProviders[' + key + '] is invalid.';\n                    try {\n                        const value = providers[key];\n                        if (typeof value !== 'object' ||\n                            !value ||\n                            value.resources === void 0) {\n                            continue;\n                        }\n                        if (!addAPIProvider$1(key, value)) {\n                            console.error(err);\n                        }\n                        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n                    }\n                    catch (e) {\n                        console.error(err);\n                    }\n                }\n            }\n        }\n    }\n    const _api = {\n        getAPIConfig,\n        setAPIModule,\n        sendAPIQuery,\n        setFetch,\n        getFetch,\n        listAPIProviders,\n    };\n    return {\n        iconLoaded: iconLoaded$1,\n        getIcon: getIcon$1,\n        listIcons: listIcons$1,\n        addIcon: addIcon$1,\n        addCollection: addCollection$1,\n        calculateSize: calculateSize$1,\n        buildIcon: iconToSVG,\n        iconToHTML: iconToHTML$1,\n        svgToURL: svgToURL$1,\n        loadIcons: loadIcons$1,\n        loadIcon: loadIcon$1,\n        addAPIProvider: addAPIProvider$1,\n        setCustomIconLoader: setCustomIconLoader$1,\n        setCustomIconsLoader: setCustomIconsLoader$1,\n        appendCustomStyle,\n        _api,\n    };\n}\n\n// List of properties to apply\nconst monotoneProps = {\n    'background-color': 'currentColor',\n};\nconst coloredProps = {\n    'background-color': 'transparent',\n};\n// Dynamically add common props to variables above\nconst propsToAdd = {\n    image: 'var(--svg)',\n    repeat: 'no-repeat',\n    size: '100% 100%',\n};\nconst propsToAddTo = {\n    '-webkit-mask': monotoneProps,\n    'mask': monotoneProps,\n    'background': coloredProps,\n};\nfor (const prefix in propsToAddTo) {\n    const list = propsToAddTo[prefix];\n    for (const prop in propsToAdd) {\n        list[prefix + '-' + prop] = propsToAdd[prop];\n    }\n}\n/**\n * Fix size: add 'px' to numbers\n */\nfunction fixSize(value) {\n    return value ? value + (value.match(/^[-0-9.]+$/) ? 'px' : '') : 'inherit';\n}\n/**\n * Render node as <span>\n */\nfunction renderSPAN(data, icon, useMask) {\n    const node = document.createElement('span');\n    // Body\n    let body = data.body;\n    if (body.indexOf('<a') !== -1) {\n        // Animated SVG: add something to fix timing bug\n        body += '<!-- ' + Date.now() + ' -->';\n    }\n    // Generate SVG as URL\n    const renderAttribs = data.attributes;\n    const html = iconToHTML$1(body, {\n        ...renderAttribs,\n        width: icon.width + '',\n        height: icon.height + '',\n    });\n    const url = svgToURL$1(html);\n    // Generate style\n    const svgStyle = node.style;\n    const styles = {\n        '--svg': url,\n        'width': fixSize(renderAttribs.width),\n        'height': fixSize(renderAttribs.height),\n        ...(useMask ? monotoneProps : coloredProps),\n    };\n    // Apply style\n    for (const prop in styles) {\n        svgStyle.setProperty(prop, styles[prop]);\n    }\n    return node;\n}\n\nlet policy;\n/**\n* Attempt to create policy\n*/\nfunction createPolicy() {\n\ttry {\n\t\tpolicy = window.trustedTypes.createPolicy(\"iconify\", { createHTML: (s) => s });\n\t} catch (err) {\n\t\tpolicy = null;\n\t}\n}\n/**\n* Clean up value for innerHTML assignment\n*\n* This code doesn't actually clean up anything.\n* It is intended be used with Iconify icon data, which has already been validated\n*/\nfunction cleanUpInnerHTML(html) {\n\tif (policy === void 0) createPolicy();\n\treturn policy ? policy.createHTML(html) : html;\n}\n\n/**\n * Render node as <svg>\n */\nfunction renderSVG(data) {\n    const node = document.createElement('span');\n    // Add style if needed\n    const attr = data.attributes;\n    let style = '';\n    if (!attr.width) {\n        style = 'width: inherit;';\n    }\n    if (!attr.height) {\n        style += 'height: inherit;';\n    }\n    if (style) {\n        attr.style = style;\n    }\n    // Generate SVG\n    const html = iconToHTML$1(data.body, attr);\n    node.innerHTML = cleanUpInnerHTML(html);\n    return node.firstChild;\n}\n\n/**\n * Find icon node\n */\nfunction findIconElement(parent) {\n    return Array.from(parent.childNodes).find((node) => {\n        const tag = node.tagName &&\n            node.tagName.toUpperCase();\n        return tag === 'SPAN' || tag === 'SVG';\n    });\n}\n/**\n * Render icon\n */\nfunction renderIcon(parent, state) {\n    const iconData = state.icon.data;\n    const customisations = state.customisations;\n    // Render icon\n    const renderData = iconToSVG(iconData, customisations);\n    if (customisations.preserveAspectRatio) {\n        renderData.attributes['preserveAspectRatio'] =\n            customisations.preserveAspectRatio;\n    }\n    const mode = state.renderedMode;\n    let node;\n    switch (mode) {\n        case 'svg':\n            node = renderSVG(renderData);\n            break;\n        default:\n            node = renderSPAN(renderData, {\n                ...defaultIconProps,\n                ...iconData,\n            }, mode === 'mask');\n    }\n    // Set element\n    const oldNode = findIconElement(parent);\n    if (oldNode) {\n        // Replace old element\n        if (node.tagName === 'SPAN' && oldNode.tagName === node.tagName) {\n            // Swap style instead of whole node\n            oldNode.setAttribute('style', node.getAttribute('style'));\n        }\n        else {\n            parent.replaceChild(node, oldNode);\n        }\n    }\n    else {\n        // Add new element\n        parent.appendChild(node);\n    }\n}\n\n/**\n * Set state to PendingState\n */\nfunction setPendingState(icon, inline, lastState) {\n    const lastRender = lastState &&\n        (lastState.rendered\n            ? lastState\n            : lastState.lastRender);\n    return {\n        rendered: false,\n        inline,\n        icon,\n        lastRender,\n    };\n}\n\n/**\n * Register 'iconify-icon' component, if it does not exist\n */\nfunction defineIconifyIcon(name = 'iconify-icon') {\n    // Check for custom elements registry and HTMLElement\n    let customElements;\n    let ParentClass;\n    try {\n        customElements = window.customElements;\n        ParentClass = window.HTMLElement;\n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    }\n    catch (err) {\n        return;\n    }\n    // Make sure registry and HTMLElement exist\n    if (!customElements || !ParentClass) {\n        return;\n    }\n    // Check for duplicate\n    const ConflictingClass = customElements.get(name);\n    if (ConflictingClass) {\n        return ConflictingClass;\n    }\n    // All attributes\n    const attributes = [\n        // Icon\n        'icon',\n        // Mode\n        'mode',\n        'inline',\n        'noobserver',\n        // Customisations\n        'width',\n        'height',\n        'rotate',\n        'flip',\n    ];\n    /**\n     * Component class\n     */\n    const IconifyIcon = class extends ParentClass {\n        // Root\n        _shadowRoot;\n        // Initialised\n        _initialised = false;\n        // Icon state\n        _state;\n        // Attributes check queued\n        _checkQueued = false;\n        // Connected\n        _connected = false;\n        // Observer\n        _observer = null;\n        _visible = true;\n        /**\n         * Constructor\n         */\n        constructor() {\n            super();\n            // Attach shadow DOM\n            const root = (this._shadowRoot = this.attachShadow({\n                mode: 'open',\n            }));\n            // Add style\n            const inline = this.hasAttribute('inline');\n            updateStyle(root, inline);\n            // Create empty state\n            this._state = setPendingState({\n                value: '',\n            }, inline);\n            // Queue icon render\n            this._queueCheck();\n        }\n        /**\n         * Connected to DOM\n         */\n        connectedCallback() {\n            this._connected = true;\n            this.startObserver();\n        }\n        /**\n         * Disconnected from DOM\n         */\n        disconnectedCallback() {\n            this._connected = false;\n            this.stopObserver();\n        }\n        /**\n         * Observed attributes\n         */\n        static get observedAttributes() {\n            return attributes.slice(0);\n        }\n        /**\n         * Observed properties that are different from attributes\n         *\n         * Experimental! Need to test with various frameworks that support it\n         */\n        /*\n        static get properties() {\n            return {\n                inline: {\n                    type: Boolean,\n                    reflect: true,\n                },\n                // Not listing other attributes because they are strings or combination\n                // of string and another type. Cannot have multiple types\n            };\n        }\n        */\n        /**\n         * Attribute has changed\n         */\n        attributeChangedCallback(name) {\n            switch (name) {\n                case 'inline': {\n                    // Update immediately: not affected by other attributes\n                    const newInline = this.hasAttribute('inline');\n                    const state = this._state;\n                    if (newInline !== state.inline) {\n                        // Update style if inline mode changed\n                        state.inline = newInline;\n                        updateStyle(this._shadowRoot, newInline);\n                    }\n                    break;\n                }\n                case 'noobserver': {\n                    const value = this.hasAttribute('noobserver');\n                    if (value) {\n                        this.startObserver();\n                    }\n                    else {\n                        this.stopObserver();\n                    }\n                    break;\n                }\n                default:\n                    // Queue check for other attributes\n                    this._queueCheck();\n            }\n        }\n        /**\n         * Get/set icon\n         */\n        get icon() {\n            const value = this.getAttribute('icon');\n            if (value && value.slice(0, 1) === '{') {\n                try {\n                    return JSON.parse(value);\n                    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n                }\n                catch (err) {\n                    //\n                }\n            }\n            return value;\n        }\n        set icon(value) {\n            if (typeof value === 'object') {\n                value = JSON.stringify(value);\n            }\n            this.setAttribute('icon', value);\n        }\n        /**\n         * Get/set inline\n         */\n        get inline() {\n            return this.hasAttribute('inline');\n        }\n        set inline(value) {\n            if (value) {\n                this.setAttribute('inline', 'true');\n            }\n            else {\n                this.removeAttribute('inline');\n            }\n        }\n        /**\n         * Get/set observer\n         */\n        get observer() {\n            return this.hasAttribute('observer');\n        }\n        set observer(value) {\n            if (value) {\n                this.setAttribute('observer', 'true');\n            }\n            else {\n                this.removeAttribute('observer');\n            }\n        }\n        /**\n         * Restart animation\n         */\n        restartAnimation() {\n            const state = this._state;\n            if (state.rendered) {\n                const root = this._shadowRoot;\n                if (state.renderedMode === 'svg') {\n                    // Update root node\n                    try {\n                        root.lastChild.setCurrentTime(0);\n                        return;\n                        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n                    }\n                    catch (err) {\n                        // Failed: setCurrentTime() is not supported\n                    }\n                }\n                renderIcon(root, state);\n            }\n        }\n        /**\n         * Get status\n         */\n        get status() {\n            const state = this._state;\n            return state.rendered\n                ? 'rendered'\n                : state.icon.data === null\n                    ? 'failed'\n                    : 'loading';\n        }\n        /**\n         * Queue attributes re-check\n         */\n        _queueCheck() {\n            if (!this._checkQueued) {\n                this._checkQueued = true;\n                setTimeout(() => {\n                    this._check();\n                });\n            }\n        }\n        /**\n         * Check for changes\n         */\n        _check() {\n            if (!this._checkQueued) {\n                return;\n            }\n            this._checkQueued = false;\n            const state = this._state;\n            // Get icon\n            const newIcon = this.getAttribute('icon');\n            if (newIcon !== state.icon.value) {\n                this._iconChanged(newIcon);\n                return;\n            }\n            // Ignore other attributes if icon is not rendered\n            if (!state.rendered || !this._visible) {\n                return;\n            }\n            // Check for mode and attribute changes\n            const mode = this.getAttribute('mode');\n            const customisations = getCustomisations(this);\n            if (state.attrMode !== mode ||\n                haveCustomisationsChanged(state.customisations, customisations) ||\n                !findIconElement(this._shadowRoot)) {\n                this._renderIcon(state.icon, customisations, mode);\n            }\n        }\n        /**\n         * Icon value has changed\n         */\n        _iconChanged(newValue) {\n            const icon = parseIconValue(newValue, (value, name, data) => {\n                // Asynchronous callback: re-check values to make sure stuff wasn't changed\n                const state = this._state;\n                if (state.rendered || this.getAttribute('icon') !== value) {\n                    // Icon data is already available or icon attribute was changed\n                    return;\n                }\n                // Change icon\n                const icon = {\n                    value,\n                    name,\n                    data,\n                };\n                if (icon.data) {\n                    // Render icon\n                    this._gotIconData(icon);\n                }\n                else {\n                    // Nothing to render: update icon in state\n                    state.icon = icon;\n                }\n            });\n            if (icon.data) {\n                // Icon is ready to render\n                this._gotIconData(icon);\n            }\n            else {\n                // Pending icon\n                this._state = setPendingState(icon, this._state.inline, this._state);\n            }\n        }\n        /**\n         * Force render icon on state change\n         */\n        _forceRender() {\n            if (!this._visible) {\n                // Remove icon\n                const node = findIconElement(this._shadowRoot);\n                if (node) {\n                    this._shadowRoot.removeChild(node);\n                }\n                return;\n            }\n            // Re-render icon\n            this._queueCheck();\n        }\n        /**\n         * Got new icon data, icon is ready to (re)render\n         */\n        _gotIconData(icon) {\n            this._checkQueued = false;\n            this._renderIcon(icon, getCustomisations(this), this.getAttribute('mode'));\n        }\n        /**\n         * Re-render based on icon data\n         */\n        _renderIcon(icon, customisations, attrMode) {\n            // Get mode\n            const renderedMode = getRenderMode(icon.data.body, attrMode);\n            // Inline was not changed\n            const inline = this._state.inline;\n            // Set state and render\n            renderIcon(this._shadowRoot, (this._state = {\n                rendered: true,\n                icon,\n                inline,\n                customisations,\n                attrMode,\n                renderedMode,\n            }));\n        }\n        /**\n         * Start observer\n         */\n        startObserver() {\n            if (!this._observer && !this.hasAttribute('noobserver')) {\n                try {\n                    this._observer = new IntersectionObserver((entries) => {\n                        const intersecting = entries.some((entry) => entry.isIntersecting);\n                        if (intersecting !== this._visible) {\n                            this._visible = intersecting;\n                            this._forceRender();\n                        }\n                    });\n                    this._observer.observe(this);\n                    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n                }\n                catch (err) {\n                    // Something went wrong, possibly observer is not supported\n                    if (this._observer) {\n                        try {\n                            this._observer.disconnect();\n                            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n                        }\n                        catch (err) {\n                            //\n                        }\n                        this._observer = null;\n                    }\n                }\n            }\n        }\n        /**\n         * Stop observer\n         */\n        stopObserver() {\n            if (this._observer) {\n                this._observer.disconnect();\n                this._observer = null;\n                this._visible = true;\n                if (this._connected) {\n                    // Render icon\n                    this._forceRender();\n                }\n            }\n        }\n    };\n    // Add getters and setters\n    attributes.forEach((attr) => {\n        if (!(attr in IconifyIcon.prototype)) {\n            Object.defineProperty(IconifyIcon.prototype, attr, {\n                get: function () {\n                    return this.getAttribute(attr);\n                },\n                set: function (value) {\n                    if (value !== null) {\n                        this.setAttribute(attr, value);\n                    }\n                    else {\n                        this.removeAttribute(attr);\n                    }\n                },\n            });\n        }\n    });\n    // Add exported functions: both as static and instance methods\n    const functions = exportFunctions();\n    for (const key in functions) {\n        IconifyIcon[key] = IconifyIcon.prototype[key] = functions[key];\n    }\n    // Define new component\n    customElements.define(name, IconifyIcon);\n    return IconifyIcon;\n}\n\n/**\n * Create exported data: either component instance or functions\n */\nconst IconifyIconComponent = defineIconifyIcon() || exportFunctions();\n/**\n * Export functions\n */\nconst { iconLoaded, getIcon, listIcons, addIcon, addCollection, calculateSize, buildIcon, iconToHTML, svgToURL, loadIcons, loadIcon, setCustomIconLoader, setCustomIconsLoader, addAPIProvider, _api, } = IconifyIconComponent;\n\nexport { IconifyIconComponent, _api, addAPIProvider, addCollection, addIcon, appendCustomStyle, buildIcon, calculateSize, getIcon, iconLoaded, iconToHTML, listIcons, loadIcon, loadIcons, setCustomIconLoader, setCustomIconsLoader, svgToURL };\n","import { setupForm } from \"./form\";\nimport { loadCountryCodes } from './phone';\nimport 'iconify-icon';\n\nwindow.onload = () => {\n\n    loadCountryCodes();\n    setupForm()\n\n};\n"],"names":["metadata","withMetadataArgument","func","_arguments","args","compare","a","b","pa","pb","na","nb","objectConstructor","isObject","object","_typeof","o","_classCallCheck","n","_defineProperties","e","r","_toPropertyKey","_createClass","t","i","_toPrimitive","V3","V4","DEFAULT_EXT_PREFIX","CALLING_CODE_REG_EXP","Metadata","validateMetadata","setVersion","_","countryCode","country","callingCode","countryCodes","NumberingPlan","_type","globalMetadataObject","_this","formats","Format","_type2","getType","Type","format","FIRST_GROUP_ONLY_PREFIX_PATTERN","type","types","typeOf","getCountryCallingCode","version","checkNumberLength","nationalNumber","checkNumberLengthForType","type_info","possible_lengths","actual_length","minimum_length","isPossiblePhoneNumber","input","options","isPossibleNumber","matchesEntirely","text","regularExpressionText","_createForOfIteratorHelperLoose","_unsupportedIterableToArray","_arrayLikeToArray","NON_FIXED_LINE_PHONE_TYPES","getNumberType","isNumberTypeEqualTo","_iterator","_step","isValidNumber","getPossibleCountriesForNumber","_metadata","possibleCountries","couldNationalNumberBelongToCountry","MIN_LENGTH_FOR_NSN","MAX_LENGTH_FOR_NSN","MAX_LENGTH_COUNTRY_CODE","VALID_DIGITS","DASHES","SLASHES","DOTS","WHITESPACE","BRACKETS","TILDES","VALID_PUNCTUATION","PLUS_CHARS","CAPTURING_DIGIT_PATTERN","stripIddPrefix","number","countryMetadata","IDDPrefixPattern","matchedGroups","extractNationalNumberFromPossiblyIncompleteNumber","prefixPattern","prefixMatch","carrierCode","capturedGroupsCount","hasCapturedGroups","prefixBeforeNationalNumber","nationalPrefix","possiblePositionOfTheFirstCapturedGroup","possibleNationalPrefix","getCountryByNationalNumber","nationalPhoneNumber","_ref","countries","getCountryByCallingCode","extractNationalNumber","_extractNationalNumbe","shouldHaveExtractedNationalPrefix","isPossibleIncompleteNationalNumber","nationalNumberBefore","nationalNumberAfter","extractCountryCallingCodeFromInternationalNumberWithoutPlusSign","defaultCountry","defaultCallingCode","countryCallingCode","possibleShorterNumber","possibleShorterNationalNumber","_extractNationalNumbe2","extractCountryCallingCode","isNumberWithIddPrefix","numberWithoutIDD","_extractCountryCallin","shorterNumber","_countryCallingCode","applyInternationalSeparatorStyle","formattedNumber","FIRST_GROUP_PATTERN","formatNationalNumberUsingFormat","useInternationalFormat","withNationalPrefix","SINGLE_IDD_PREFIX_REG_EXP","getIddPrefix","RFC3966_EXTN_PREFIX","getExtensionDigitsPattern","maxLength","createExtensionPattern","purpose","extLimitAfterExplicitLabel","extLimitAfterLikelyLabel","extLimitAfterAmbiguousChar","extLimitWhenNotSure","possibleSeparatorsBetweenNumberAndExtLabel","possibleCharsAfterExtLabel","optionalExtnSuffix","explicitExtLabels","ambiguousExtLabels","ambiguousSeparator","possibleSeparatorsNumberExtLabelNoComma","autoDiallingAndExtLabelsFound","rfcExtn","explicitExtn","ambiguousExtn","americanStyleExtnWithSuffix","autoDiallingExtn","onlyCommasExtn","MIN_LENGTH_PHONE_NUMBER_PATTERN","VALID_PHONE_NUMBER","VALID_PHONE_NUMBER_START_REG_EXP","VALID_PHONE_NUMBER_WITH_EXTENSION","VALID_PHONE_NUMBER_PATTERN","isViablePhoneNumber","isViablePhoneNumberStart","formatRFC3966","ext","DEFAULT_OPTIONS","extension","formatNumber","merge","formatNationalNumber","addExtension","formatIDD","formatAs","chooseFormatForNumber","availableFormats","pickFirstMatchingElement","lastLeadingDigitsPattern","formatExtension","fromCountry","fromCountryCallingCode","iddPrefix","_len","objects","_key","key","elements","testFunction","ownKeys","_objectSpread","_defineProperty","PhoneNumber","countryOrCountryCallingCode","e164Number","E164_NUMBER_REGEXP","_getCountryAndCountry","getCountryAndCountryCallingCode","phoneNumber","_format","isCountryCode","value","metadataJson","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","_assertThisInitialized","_inherits","_setPrototypeOf","_wrapNativeSuper","_isNativeFunction","Wrapper","_construct","p","ParseError","_Error","code","EXTN_PATTERN","extractExtension","start","numberWithoutExtension","matches","DIGITS","parseDigit","character","parseIncompletePhoneNumber","string","result","parsePhoneNumberCharacter","prevParsedCharacters","eventListener","PLUS_SIGN","RFC3966_VISUAL_SEPARATOR_","RFC3966_PHONE_DIGIT_","RFC3966_GLOBAL_NUMBER_DIGITS_","RFC3966_GLOBAL_NUMBER_DIGITS_PATTERN_","ALPHANUM_","RFC3966_DOMAINLABEL_","VALID_ALPHA_","RFC3966_TOPLABEL_","RFC3966_DOMAINNAME_","RFC3966_DOMAINNAME_PATTERN_","RFC3966_PREFIX_","RFC3966_PHONE_CONTEXT_","RFC3966_ISDN_SUBADDRESS_","extractPhoneContext","numberToExtractFrom","indexOfPhoneContext","phoneContextStart","phoneContextEnd","isPhoneContextValid","phoneContext","extractFormattedPhoneNumberFromPossibleRfc3966NumberUri","numberToParse","extractFormattedPhoneNumber","phoneNumberString","indexOfRfc3966Prefix","indexOfNationalNumber","indexOfIsdn","MAX_INPUT_STRING_LENGTH","PHONE_NUMBER_START_PATTERN","AFTER_PHONE_NUMBER_END_PATTERN","parse","_parseInput","parseInput","formattedPhoneNumber","error","_parsePhoneNumber","parsePhoneNumber","countryCallingCodeSource","valid","_extractFormattedPhoneNumber","extract","throwOnError","startsAt","v2","withExtensionStripped","exactCountry","parsePhoneNumberWithError","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","l","u","f","normalizeArguments","_Array$prototype$slic","_Array$prototype$slic2","arg_1","arg_2","arg_3","arg_4","_normalizeArguments","parsePhoneNumberWithError_","getCountries","getExampleNumber","examples","_parsePhoneNumberWithError","_getCountries","_getCountryCallingCode","_getExampleNumber","formData","setupForm","languageInput","checkFormValid","errorElement","btn","response","responseJson","errorMessage","message","isValid","elem","amount","button","numAmount","isValidInteger","isValidEmail","token","elemCountryCode","elemInputElem","parsedNumber","L","y","x","S","O","D","m","k","h","N","s","c","d","g","v","C","w","E","A","T","M","P","F","loadCountryCodes","emoji","countryCodeToEmoji","item","option","SlimSelect","defaultIconDimensions","defaultIconTransformations","defaultIconProps","defaultExtendedIconProps","defaultIconSizeCustomisations","defaultIconCustomisations","rotateFromString","defaultValue","units","cleanup","value$1","num","split","separator","flipFromString","custom","flip","str","defaultCustomisations","getCustomisations","node","customisations","attr","def","haveCustomisationsChanged","value1","value2","matchIconName","stringToIcon","validate","allowSimpleName","provider","colonSeparated","name$1","prefix","validateIconName","name","dashSeparated","icon","getIconsTree","data","names","icons","aliases","resolved","resolve","parent","mergeIconTransformations","obj1","obj2","rotate","mergeIconData","child","internalGetIconData","tree","currentProps","parseIconSet","callback","optionalPropertyDefaults","checkOptionalProps","defaults","prop","quicklyValidateIconSet","obj","dataStorage","newStorage","getStorage","providerStorage","addIconSet","storage","addIconToStorage","listIcons$1","allIcons","provider$1","prefix$1","simpleNames","allowSimpleNames","allow","getIconData","iconName","addIcon$1","addCollection$1","added","iconLoaded$1","getIcon$1","removeCallback","storages","id","items","row","updateCallbacks","hasPending","oldLength","idCounter","storeCallback","pendingSources","abort","sortIcons","lastIcon","localStorage","list","setAPIModule","getAPIModule","listToIcons","createAPIConfig","source","resources","configStorage","fallBackAPISources","fallBackAPI","addAPIProvider$1","customConfig","config","getAPIConfig","listAPIProviders","defaultConfig","sendQuery","payload","query","done","resourcesCount","startIndex","nextIndex","startTime","status","queriesSent","lastError","timer","queue","doneCallbacks","resetTimer","subscribe","overwrite","getQueryStatus","failQuery","clearQueue","moduleResponse","isError","queued","execNext","index","resource","status$1","initRedundancy","cfg","queries","queryCallback","doneCallback","query$1","find","emptyCallback$1","redundancyCache","getRedundancyCache","sendAPIQuery","target","redundancy","send","api","cached","emptyCallback","loadedNewIcons","checkIconNamesForAPI","invalid","parseLoaderResponse","checkMissing","pending","err","parsePossiblyAsyncResponse","loadNewIcons","icons$1","customIconLoader","loadIcons$1","sortedIcons","callCallback","newIcons","sources","lastProvider","lastPrefix","providerNewIcons","pendingQueue","loadIcon$1","fulfill","reject","iconObj","loaded","testIconObject","parseIconValue","onload","loading","isBuggedSafari","getRenderMode","body","mode","unitsSplit","unitsTest","calculateSize$1","size","ratio","precision","oldParts","newParts","isNumber","splitSVGDefs","content","tag","defs","end","endEnd","mergeDefsAndContent","wrapSVGContent","isUnsetKeyword","iconToSVG","fullIcon","fullCustomisations","box","props","transformations","hFlip","vFlip","rotation","tempValue","customisationsWidth","customisationsHeight","boxWidth","boxHeight","width","height","attributes","setAttr","viewBox","iconToHTML$1","renderAttribsHTML","encodeSVGforURL","svg","svgToData","svgToURL$1","detectFetch","fetchModule","setFetch","fetch$1","getFetch","calculateMaxLength","maxHostLength","url","shouldAbort","prepare","results","length","getPath","host","params","path","iconsList","urlParams","uri","defaultError","fetchAPIModule","setCustomIconsLoader$1","loader","setCustomIconLoader$1","nodeAttr","customStyle","appendCustomStyle","style","updateStyle","inline","styleNode","exportFunctions","_window","preload","providers","monotoneProps","coloredProps","propsToAdd","propsToAddTo","fixSize","renderSPAN","useMask","renderAttribs","html","svgStyle","styles","policy","createPolicy","cleanUpInnerHTML","renderSVG","findIconElement","renderIcon","state","iconData","renderData","oldNode","setPendingState","lastState","lastRender","defineIconifyIcon","customElements","ParentClass","ConflictingClass","IconifyIcon","root","newInline","newIcon","newValue","attrMode","renderedMode","entries","intersecting","entry","functions","IconifyIconComponent","iconLoaded","getIcon","listIcons","addIcon","addCollection","calculateSize","buildIcon","iconToHTML","svgToURL","loadIcons","loadIcon","setCustomIconLoader","setCustomIconsLoader","addAPIProvider","_api"],"mappings":"AAGA,MAAAA,GAAe,CAAC,QAAU,EAAE,sBAAwB,CAAC,EAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAI,CAAC,KAAK,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,KAAK,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,KAAK,KAAK,KAAK,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,KAAK,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,KAAK,KAAK,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,KAAK,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,KAAK,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,KAAK,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,KAAK,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,KAAK,KAAK,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,KAAK,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IA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,aAAa,GAAK,YAAY,GAAK,aAAa,GAAK,UAAU,GAAK,WAAW,GAAK,UAAU,GAAK,cAAc,GAAK,aAAa,GAAK,WAAW,GAAK,WAAW,GAAK,YAAY,GAAK,UAAU,GAAK,aAAa,GAAK,YAAY,GAAK,YAAY,GAAK,WAAW,GAAK,YAAY,GAAK,YAAY,GAAK,aAAa,GAAK,QAAQ,GAAK,YAAY,GAAK,YAAY,GAAK,cAAc,GAAK,aAAa,GAAK,WAAW,GAAK,WAAW,GAAK,UAAU,GAAK,WAAW,GAAK,YAAY,GAAK,WAAW,GAAK,YAAY,GAAK,cAAc,GAAK,WAAW,GAAK,WAAW,GAAK,aAAa,GAAK,aAAa,GAAK,YAAY,GAAK,YAAY,GAAK,WAAW,GAAK,aAAa,GAAK,YAAY,GAAK,UAAU,GAAK,YAAY,GAAK,YAAY,GAAK,YAAY,GAAK,UAAU,GAAK,QAAQ,GAAK,UAAU,GAAK,SAAS,GAAK,YAAY,GAAK,WAAW,GAAK,aAAa,GAAK,aAAa,GAAK,YAAY,GAAK,YAAY,GAAK,aAAa,GAAK,YAAY,GAAK,WAAW,GAAK,SAAS,GAAK,UAAU,GAAK,YAAY,GAAK,YAAY,GAAK,YAAY,GAAK,aAAa,GAAK,WAAW,GAAK,aAAa,GAAK,YAAY,GAAK,UAAU,GAAK,WAAW,GAAK,WAAW,GAAK,YAAY,GAAK,WAAW,GAAK,YAAY,GAAK,YAAY,GAAK,YAAY,GAAK,YAAY,GAAK,aAAa,GAAK,aAAa,GAAK,UAAU,GAAK,aAAa,GAAK,aAAa,GAAK,UAAU,GAAK,aAAa,GAAK,aAAa,GAAK,aAAa,GAAK,YAAY,GAAK,aAAa,GAAK,YAAY,GAAK,YAAY,GAAK,WAAW,GAAK,WAAW,GAAK,UAAU,GAAK,aAAa,GAAK,aAAa,GAAK,aAAa,GAAK,WAAW,GAAK,aAAa,GAAK,aAAa,GAAK,aAAa,GAAK,WAAW,GAAK,aAAa,GAAK,YAAY,GAAK,YAAY,GAAK,YAAY,GAAK,WAAW,GAAK,WAAW,GAAK,YAAY,GAAK,WAAW,GAAK,YAAY,GAAK,YAAY,GAAK,YAAY,GAAK,WAAW,GAAK,WAAW,GAAK,YAAY,GAAK,YAAY,GAAK,UAAU,GAAK,WAAW,GAAK,WAAW,GAAK,WAAW,GAAK,WAAW,GAAK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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,45,47]}