{"version":3,"sources":["webpack:///./node_modules/smartbarcode-web-core/src/utils/ghgEmission/calc/calcTonkiloEmission.ts","webpack:///./node_modules/smartbarcode-web-core/src/utils/ghgEmission/calc/calcModifiedTonkilo.ts","webpack:///./node_modules/smartbarcode-web-core/src/utils/ghgEmission/calc/calcFuelEfficiencyEmission.ts","webpack:///./node_modules/smartbarcode-web-core/src/utils/ghgEmission/calc/calcFuelEmission.ts","webpack:///./node_modules/smartbarcode-web-core/src/utils/ghgEmission/calc/index.ts","webpack:///./node_modules/lodash/cloneDeep.js","webpack:///./node_modules/lodash/_baseAssignIn.js","webpack:///./node_modules/lodash/_copySymbolsIn.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack:///./node_modules/lodash/_baseIsMap.js","webpack:///./node_modules/lodash/_getAllKeysIn.js","webpack:///./src/components/FloatingButtonFormBuilder.vue?69a6","webpack:///./node_modules/lodash/_getPrototype.js","webpack:///./node_modules/lodash/_assignValue.js","webpack:///./node_modules/lodash/_baseClone.js","webpack:///./node_modules/core-js/internals/array-set-length.js","webpack:///./node_modules/lodash/_baseKeysIn.js","webpack:///./node_modules/lodash/_copyArray.js","webpack:///./node_modules/lodash/_copySymbols.js","webpack:///./node_modules/lodash/_baseAssign.js","webpack:///./node_modules/lodash/_cloneDataView.js","webpack:///./src/components/FormBuilder.vue","webpack:///./src/components/ButtonFormBuilder.vue","webpack:///./src/components/svg/IconMore.vue","webpack:///./src/components/svg/IconMore.vue?3dc9","webpack:///./src/components/svg/IconMore.vue?f14a","webpack:///./src/components/FloatingButtonFormBuilder.vue","webpack:///./src/components/FloatingButtonFormBuilder.vue?f2db","webpack:///./src/components/FloatingButtonFormBuilder.vue?e721","webpack:///./src/components/ButtonFormBuilder.vue?5853","webpack:///./src/components/ButtonFormBuilder.vue?8848","webpack:///./node_modules/libphonenumber-js/metadata.min.json.js","webpack:///./node_modules/libphonenumber-js/min/exports/withMetadataArgument.js","webpack:///./node_modules/libphonenumber-js/es6/constants.js","webpack:///./node_modules/libphonenumber-js/es6/ParseError.js","webpack:///./node_modules/libphonenumber-js/es6/tools/semver-compare.js","webpack:///./node_modules/libphonenumber-js/es6/metadata.js","webpack:///./node_modules/libphonenumber-js/es6/helpers/extension/createExtensionPattern.js","webpack:///./node_modules/libphonenumber-js/es6/helpers/isViablePhoneNumber.js","webpack:///./node_modules/libphonenumber-js/es6/helpers/extension/extractExtension.js","webpack:///./node_modules/libphonenumber-js/es6/helpers/parseDigits.js","webpack:///./node_modules/libphonenumber-js/es6/parseIncompletePhoneNumber.js","webpack:///./node_modules/libphonenumber-js/es6/helpers/mergeArrays.js","webpack:///./node_modules/libphonenumber-js/es6/helpers/checkNumberLength.js","webpack:///./node_modules/libphonenumber-js/es6/isPossibleNumber_.js","webpack:///./node_modules/libphonenumber-js/es6/helpers/RFC3966.js","webpack:///./node_modules/libphonenumber-js/es6/helpers/matchesEntirely.js","webpack:///./node_modules/libphonenumber-js/es6/helpers/getNumberType.js","webpack:///./node_modules/libphonenumber-js/es6/validate_.js","webpack:///./node_modules/libphonenumber-js/es6/helpers/applyInternationalSeparatorStyle.js","webpack:///./node_modules/libphonenumber-js/es6/helpers/formatNationalNumberUsingFormat.js","webpack:///./node_modules/libphonenumber-js/es6/helpers/getIddPrefix.js","webpack:///./node_modules/libphonenumber-js/es6/format_.js","webpack:///./node_modules/libphonenumber-js/es6/PhoneNumber.js","webpack:///./node_modules/libphonenumber-js/es6/helpers/stripIddPrefix.js","webpack:///./node_modules/libphonenumber-js/es6/helpers/extractNationalNumberFromPossiblyIncompleteNumber.js","webpack:///./node_modules/libphonenumber-js/es6/helpers/extractNationalNumber.js","webpack:///./node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js","webpack:///./node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCode.js","webpack:///./node_modules/libphonenumber-js/es6/helpers/getCountryByCallingCode.js","webpack:///./node_modules/libphonenumber-js/es6/parse_.js","webpack:///./node_modules/libphonenumber-js/es6/parsePhoneNumber_.js","webpack:///./node_modules/libphonenumber-js/es6/parsePhoneNumber.js","webpack:///./node_modules/libphonenumber-js/es6/parsePhoneNumberFromString_.js","webpack:///./node_modules/libphonenumber-js/es6/parsePhoneNumberFromString.js","webpack:///./node_modules/libphonenumber-js/min/exports/parsePhoneNumberFromString.js","webpack:///./src/components/FormBuilder.vue?1a63","webpack:///./src/components/FormBuilder.vue?160a","webpack:///./node_modules/lodash/_cloneRegExp.js","webpack:///./src/components/mixins/CustomFieldsMixin.vue","webpack:///./src/components/mixins/CustomFieldsMixin.vue?8597","webpack:///./node_modules/lodash/_baseCreate.js","webpack:///./node_modules/lodash/_arrayEach.js","webpack:///./src/components/dialog/ReviewCalculationDialog.vue?21ed","webpack:///./node_modules/lodash/_baseAssignValue.js","webpack:///./node_modules/lodash/_copyObject.js","webpack:///./node_modules/lodash/keysIn.js","webpack:///./src/components/FormBuilder.vue?c6a4","webpack:///./node_modules/lodash/_getSymbolsIn.js","webpack:///./node_modules/lodash/_cloneSymbol.js","webpack:///./node_modules/core-js/modules/es.array.splice.js","webpack:///./src/components/dialog/ReviewCalculationDialog.vue","webpack:///./src/components/dialog/ReviewCalculationDialog.vue?af36","webpack:///./src/components/dialog/ReviewCalculationDialog.vue?5c51","webpack:///./node_modules/lodash/_initCloneByTag.js","webpack:///./node_modules/lodash/_baseIsSet.js","webpack:///./node_modules/lodash/_initCloneArray.js","webpack:///./node_modules/lodash/_cloneTypedArray.js","webpack:///./node_modules/lodash/isMap.js","webpack:///./node_modules/lodash/isSet.js","webpack:///./node_modules/lodash/_cloneBuffer.js","webpack:///./node_modules/lodash/_nativeKeysIn.js","webpack:///./node_modules/lodash/_cloneArrayBuffer.js","webpack:///./node_modules/lodash/_initCloneObject.js"],"names":["calcTonkiloEmission","ton","kilometer","coefficient","tonkiloCo2CoeffMap","Map","getTonkiloGasEmissionMap","material","coefficientMap","gasTypes","forEach","gasType","set","calcTonkloCo2Emission","calcMaterial","tonkiloMaterial","convertToCalcMaterial","transportType","co2Coeff","get","weight","distance","calculationType","calcModifiedTonkiloEmission","fuelConsumptionSpecificUnit","unitCalorificValue","gasEmissionCoefficient","calcFuelConsumptionSpecificUnit","loadRate","maxLoadingWeight","Math","exp","log","Number","toPrecision","calcCo2UnitCalorificValue","calcCarbonEmissionCoefficient","getModifiedTonkiloEmissionMap","calcModifiedTonkiloCo2Emission","maxWeightCapacity","co2EmissionCoefficient","calcFuelEfficiencyEmission","fuelEfficiency","businessVehicleFuelEfficiencyMap","privateVehicleFuelEfficiencyMap","getFuelEfficiency","vehicleUsageType","getFuelEfficiencyEmissionMap","calcFuelEfficiencyCo2Emission","calcFuelEmission","fuelConsumption","unitCalorificValueMap","carbonEmissionCoeffMap","getFuelEmissionMap","calcFuelCo2Emission","fuelConsume","Error","baseClone","CLONE_DEEP_FLAG","CLONE_SYMBOLS_FLAG","cloneDeep","value","module","exports","copyObject","keysIn","baseAssignIn","object","source","getSymbolsIn","copySymbolsIn","_objectWithoutPropertiesLoose","excluded","key","i","target","sourceKeys","Object","keys","length","indexOf","_objectWithoutProperties","objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","prototype","propertyIsEnumerable","call","getTag","isObjectLike","mapTag","baseIsMap","baseGetAllKeys","getAllKeysIn","overArg","getPrototype","getPrototypeOf","baseAssignValue","eq","objectProto","hasOwnProperty","assignValue","objValue","undefined","Stack","arrayEach","baseAssign","cloneBuffer","copyArray","copySymbols","getAllKeys","initCloneArray","initCloneByTag","initCloneObject","isArray","isBuffer","isMap","isObject","isSet","CLONE_FLAT_FLAG","argsTag","arrayTag","boolTag","dateTag","errorTag","funcTag","genTag","numberTag","objectTag","regexpTag","setTag","stringTag","symbolTag","weakMapTag","arrayBufferTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","cloneableTags","bitmask","customizer","stack","result","isDeep","isFlat","isFull","isArr","tag","isFunc","stacked","subValue","add","keysFunc","props","DESCRIPTORS","$TypeError","TypeError","getOwnPropertyDescriptor","SILENT_ON_NON_WRITABLE_LENGTH_SET","this","defineProperty","writable","error","O","isPrototype","nativeKeysIn","baseKeysIn","isProto","push","array","index","Array","getSymbols","cloneArrayBuffer","cloneDataView","dataView","buffer","constructor","byteOffset","byteLength","submit","gutter","type","justify","align","formSchema","fieldSchema","fieldName","span","width","formModel","formErrors","clearError","validate","onUploaded","$emit","$event","class","ref","submitButtonRef","isShownFloatingActionButton","isHideSubmitButton","buttons","combinedButtonsArray","button","inputType","id","circle","handleClick","native-type","nativeType","hasNextStep","isShowArrow","label","modelValue","options","option","isTopButtonVisible","isExpanded","toggleExpand","height","viewBox","fill","style","transform","cx","cy","r","color","rotation","components","SvgBase","String","default","render","isRightBtnExpandable","name","Boolean","Function","IconArrow","emits","__scopeId","topButtonVisible","window","addEventListener","handleScroll","checkButtonVisibility","onClick","btn","document","getElementById","rect","getBoundingClientRect","top","bottom","innerHeight","IconMore","FloatingButton","withMetadataArgument","func","_arguments","args","slice","apply","MIN_LENGTH_FOR_NSN","MAX_LENGTH_FOR_NSN","MAX_LENGTH_COUNTRY_CODE","VALID_DIGITS","DASHES","SLASHES","DOTS","WHITESPACE","BRACKETS","TILDES","VALID_PUNCTUATION","concat","PLUS_CHARS","_typeof","obj","Symbol","iterator","_defineProperties","descriptor","enumerable","configurable","_createClass","Constructor","protoProps","staticProps","_classCallCheck","instance","_inherits","subClass","superClass","create","_setPrototypeOf","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","Super","_getPrototypeOf","NewTarget","Reflect","construct","arguments","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","_wrapNativeSuper","Class","_cache","_isNativeFunction","has","Wrapper","_construct","Parent","a","bind","sham","Proxy","valueOf","e","fn","toString","o","p","setPrototypeOf","__proto__","ParseError","_Error","_super","code","_this","split","b","pa","pb","na","nb","isNaN","V3","V4","DEFAULT_EXT_PREFIX","CALLING_CODE_REG_EXP","Metadata","metadata","validateMetadata","setVersion","countries","filter","_","countryCode","v1","v2","v3","nonGeographic","nonGeographical","country","getCountryMetadata","callingCode","getCountryCodesForCallingCode","countryCodes","countryCallingCodes","selectNumberingPlan","test","hasCountry","numberingPlan","NumberingPlan","hasCallingCode","getNumberingPlanMetadata","getCountryCodeForCallingCode","IDDPrefix","defaultIDDPrefix","nationalNumberPattern","possibleLengths","formats","nationalPrefixForParsing","nationalPrefixTransformRule","leadingDigits","hasTypes","_type","ext","country_phone_code_to_countries","country_calling_codes","globalMetadataObject","_getFormats","getDefaultCountryMetadataForRegion","map","Format","_getNationalPrefixFormattingRule","_nationalPrefixForParsing","nationalPrefix","_getNationalPrefixIsOptionalWhenFormatting","types","_type2","Type","format","_format","nationalPrefixFormattingRule","nationalPrefixIsOptionalWhenFormattingInNationalFormat","usesNationalPrefix","FIRST_GROUP_ONLY_PREFIX_PATTERN","is_object","join","type_of","getCountryCallingCode","countryCallingCode","isSupportedCountry","version","v4","RFC3966_EXTN_PREFIX","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","RegExp","VALID_PHONE_NUMBER_WITH_EXTENSION","VALID_PHONE_NUMBER_PATTERN","isViablePhoneNumber","number","isViablePhoneNumberStart","EXTN_PATTERN","extractExtension","start","search","numberWithoutExtension","matches","match","DIGITS","parseDigit","character","allowArrayLike","it","next","done","minLen","n","from","arr","len","arr2","parseIncompletePhoneNumber","string","_step","_iterator","parsePhoneNumberCharacter","prevParsedCharacters","mergeArrays","merged","element","sort","checkNumberLength","nationalNumber","checkNumberLengthForType","type_info","possible_lengths","mobile_type","actual_length","minimum_length","isPossiblePhoneNumber","input","phone","isPossibleNumber","isNonGeographicCallingCode","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_i","_s","_e","_arr","_n","_d","err","parseRFC3966","text","replace","part","_part$split","_part$split2","formatRFC3966","_ref","matchesEntirely","regular_expression","NON_FIXED_LINE_PHONE_TYPES","getNumberType","isNumberTypeEqualTo","pattern","isValidNumber","national_number","applyInternationalSeparatorStyle","formattedNumber","trim","FIRST_GROUP_PATTERN","formatNationalNumberUsingFormat","useInternationalFormat","withNationalPrefix","carrierCode","internationalFormat","SINGLE_IDD_PREFIX_REG_EXP","getIddPrefix","countryMetadata","ownKeys","enumerableOnly","symbols","sym","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","DEFAULT_OPTIONS","formatExtension","extension","formatNumber","formatNationalNumber","addExtension","fromCountry","formatIDD","formatAs","chooseFormatForNumber","availableFormats","nationalNnumber","leadingDigitsPatterns","lastLeadingDigitsPattern","fromCountryCallingCode","iddPrefix","USE_NON_GEOGRAPHIC_COUNTRY_CODE","PhoneNumber","_metadata","isCountryCode","phoneNumber","CAPTURING_DIGIT_PATTERN","stripIddPrefix","IDDPrefixPattern","matchedGroups","extractNationalNumberFromPossiblyIncompleteNumber","prefixPattern","prefixMatch","exec","capturedGroupsCount","hasCapturedGroups","prefixBeforeNationalNumber","possiblePositionOfTheFirstCapturedGroup","possibleNationalPrefix","extractNationalNumber","_extractNationalNumbe","shouldHaveExtractedNationalPrefix","isPossibleIncompleteNationalNumber","nationalNumberBefore","nationalNumberAfter","extractCountryCallingCodeFromInternationalNumberWithoutPlusSign","possibleShorterNumber","possibleShorterNationalNumber","_extractNationalNumbe2","extractCountryCallingCode","numberWithoutIDD","_extractCountryCallin","shorterNumber","_countryCallingCode","getCountryByCallingCode","nationalPhoneNumber","possibleCountries","selectCountryFromList","MAX_INPUT_STRING_LENGTH","PHONE_NUMBER_START_PATTERN","AFTER_PHONE_NUMBER_END_PATTERN","parse","defaultCountry","_parseInput","parseInput","extract","formattedPhoneNumber","_parsePhoneNumber","parsePhoneNumber","defaultCallingCode","hasSelectedNumberingPlan","valid","extended","possible","extractFormattedPhoneNumber","throwOnError","startsAt","withExtensionStripped","exactCountry","normalizeArguments","_Array$prototype$slic","_Array$prototype$slic2","arg_1","arg_2","arg_3","arg_4","parsePhoneNumberFromString","_normalizeArguments","customHTML","buttonsArray","BUTTON","cbTasks","scanBCKeys","resetError","isBarcodeScanFrame","fileKind","f","uploadedResponse","resolve","url","clearUploadError","v","BARCODE_SCAN_FRAME","preventDefault","validateAll","isWaitUpload","submitFunc","skipValidation","isValidated","performUpload","scrollToError","includes","values","cb","performCallback","validateBCScanFields","$store","getters","scannedBarcodeBlob","scanBCFields","reduce","total","k","isReady","commit","Promise","reject","then","isMandatory","$t","field","minLength","val","fieldType","EMAIL","PHONE_NUMBER","isValid","GHG_EMISSION","ghgEmissionInput","errorMessage","$nextTick","errorElements","querySelectorAll","firstVisibleError","find","getComputedStyle","display","scrollIntoView","behavior","block","passedButtons","acc","curValue","BaseInput","ButtonFormBuilder","reFlags","cloneRegExp","regexp","lastIndex","fileListFormModel","initData","textFieldtypes","Set","DATE","TEXT","entries","selectedFormSchema","settings","customFields","copyFromPairedBarcode","$route","params","barcodeId","catch","res","MULTI_SELECT","multipleSelect","multiSelect","selections","optionValue","optionSetting","SINGLE_SELECT","selectedOption","radioSetting","singleSelect","NUMBER","ESIGN","REFERENCE","date","email","FILES","files","event","loading","flattenFields","basicActivationField","trackingNumber","isAutoSaveOcrImageTrackingNumber","externalId","isAutoSaveOcrImageExternalId","ocrImageAutoSaveFieldKey","ocrImageAutoSaveField","temporaryFieldsOCRImages","found","imagesFromOCR","el","idx","splice","file","formData","FormData","append","barcode","getFileExtension","errorHandler","image","URL","revokeObjectURL","splitedType","fields","customForm","flatten","cur","LOCATION","order","sortedFields","orderA","orderB","isAvailable","isHidden","customFormSchema","inputSchema","multiLine","others","component","disableError","copy","Date","WITHOUT_SECOND","data","curr","replaceAll","eSign","path","reference","template","form","emissionMap","ghgEmission","objectCreate","baseCreate","proto","iteratee","isNew","newValue","arrayLikeKeys","isArrayLike","arrayPush","stubArray","nativeGetSymbols","symbolProto","symbolValueOf","cloneSymbol","symbol","$","toObject","toAbsoluteIndex","toIntegerOrInfinity","lengthOfArrayLike","setArrayLength","doesNotExceedSafeInteger","arraySpeciesCreate","createProperty","deletePropertyOrThrow","arrayMethodHasSpeciesSupport","HAS_SPECIES_SUPPORT","max","min","forced","deleteCount","insertCount","actualDeleteCount","A","to","actualStart","argumentsLength","_isShow","lock-scroll","center","show-close","destroy-on-close","title","content","closeDialog","cloneTypedArray","Ctor","baseIsSet","typedArray","baseUnary","nodeUtil","nodeIsMap","nodeIsSet","freeExports","nodeType","freeModule","moduleExports","Buffer","root","allocUnsafe","Uint8Array","arrayBuffer"],"mappings":"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,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC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","file":"js/activate~trace.b4bd0c3a.js","sourcesContent":["import { GasType } from '../GasType'\nimport { GhgEmissionCalculationMaterial, GhgEmissionTonkiloCalcuationMaterial } from '../GhgEmissionCalculationMaterial'\nimport { TonkiloTransportType } from '../TransportType'\n\n// Referring to government organization (経済産業省、国土交通省) in japan\n// https://www.mlit.go.jp/common/001037031.pdf\n// weight (ton) x distance (kilo meter) x gas emission coefficient (gram / ton x kilometer)\n// x 1 / 1,000,000 (gram / ton)\n// => gas emissions weight (ton)\n// 輸送重量(t) x 輸送距離(km) x 排出原単位(g / (t x km)) x 1 / 1,000,000 (gram / ton) => ガス排出重量(t)\nexport const calcTonkiloEmission = (ton: number, kilometer: number, coefficient: number) =>\n (ton * kilometer * coefficient) / 1_000_000\n\n// https://www.mlit.go.jp/common/001037031.pdf Page.8\nconst tonkiloCo2CoeffMap: Map = new Map([\n // Tonkilo method no more supports truck transport type. But remains them for backward compatibles.\n // Delete below when migrate ghg emission\n ['light-cargo', 232],\n ['gasoline-light-cargo', 232],\n ['gasoline-lt-2t', 279],\n ['gasoline-gte-2t', 371],\n ['light-oil-lt-2t', 315],\n ['light-oil-gte-2t-lt-5t', 367],\n ['light-oil-gte-5t-lt-9t', 472],\n ['light-oil-gte-9t-lt-12t', 498],\n ['light-oil-gte-12t-lt-17t', 525],\n ['light-oil-gte-17t', 656],\n // Delete above when migrate ghg emission\n\n ['railway', 22],\n ['aviation-international', 903],\n ['aviation-domestic', 1443],\n ['container-ship-domestic', 39],\n ['container-ship-asia-route', 26],\n ['container-ship-european-route', 14.2],\n ['container-ship-north-american-route', 15.7],\n])\n\nexport function getTonkiloGasEmissionMap(material: GhgEmissionCalculationMaterial) {\n const coefficientMap = new Map()\n material.gasTypes.forEach((gasType) => {\n switch (gasType) {\n case 'CO_2':\n coefficientMap.set(gasType, calcTonkloCo2Emission(material))\n break\n case 'CH_4':\n case 'N_2O':\n default:\n coefficientMap.set(gasType, 0) // not supported yet\n }\n })\n\n return coefficientMap\n}\n\nexport function calcTonkloCo2Emission(calcMaterial: GhgEmissionCalculationMaterial) {\n const tonkiloMaterial = convertToCalcMaterial(calcMaterial)\n const transportType = tonkiloMaterial.transportType as TonkiloTransportType\n const co2Coeff = tonkiloCo2CoeffMap.get(transportType) ?? 0\n return calcTonkiloEmission(tonkiloMaterial.weight, tonkiloMaterial.distance, co2Coeff)\n}\n\nfunction convertToCalcMaterial(material: unknown) {\n const {\n transportType,\n calculationType,\n gasTypes,\n weight,\n distance,\n } = material as GhgEmissionTonkiloCalcuationMaterial\n return {\n calculationType,\n transportType,\n gasTypes,\n weight,\n distance,\n } as GhgEmissionTonkiloCalcuationMaterial\n}\n","import { GasType } from '../GasType'\nimport {\n GhgEmissionCalculationMaterial,\n GhgEmissionModifiedTonkiloCalcuationMaterial,\n} from '../GhgEmissionCalculationMaterial'\nimport { ModifiedTonkiloTransportType } from '../TransportType'\n\n// Referring to government organization (経済産業省、国土交通省) in japan\n// https://www.mlit.go.jp/common/001037031.pdf\n// weight(ton) × distance(kilo meter)\n// × fuelConsumptionSpecificUnit ( litter / ton / kilo meter)\n// × 1/1000 (kilo litter / litter)\n// × unit calorific value (Giga joule / kilo litter)\n// × gas emissions coefficient (ton-Gas weight / Giga joule)\n// => gas emissions weight(ton)\n// 輸送重量(t) × 輸送距離(km) × 燃料使用原単位(l/(t x km)) × 1/1000(kl / l)\n// × 単位発熱量(Gj / kl) × ガス排出量係数(t / Gj)\n// => ガス排出量(t)\nexport const calcModifiedTonkiloEmission = (\n ton: number,\n kilometer: number,\n fuelConsumptionSpecificUnit: number,\n unitCalorificValue: number,\n gasEmissionCoefficient: number\n) => ((ton * kilometer * fuelConsumptionSpecificUnit) / 1000) * unitCalorificValue * gasEmissionCoefficient\n\nfunction calcFuelConsumptionSpecificUnit(\n loadRate: number,\n maxLoadingWeight: number,\n transportType: ModifiedTonkiloTransportType\n) {\n let fuelConsumptionSpecificUnit = 0\n switch (transportType) {\n case 'gasoline-light-cargo':\n case 'gasoline-lt-2t':\n case 'gasoline-gte-2t':\n // when gasoline engine\n // logn fuel consumption specific unit = 2.67 - 0.927 logn(load rate/100) - 0.648 logn(max load capacity(kg))\n // => fuel consumption specific unit = exp(2.67 - 0.927 logn(load rate/100) - 0.648 logn(max load capacity(kg))\n // https://www.mlit.go.jp/common/001037031.pdf Page.7\n fuelConsumptionSpecificUnit = Math.exp(\n 2.67 - 0.927 * Math.log(loadRate) - 0.648 * Math.log(maxLoadingWeight * 1000)\n )\n break\n case 'light-oil-lt-1t':\n case 'light-oil-gte-1t-lt-2t':\n case 'light-oil-gte-2t-lt-4t':\n case 'light-oil-gte-4t-lt-6t':\n case 'light-oil-gte-6t-lt-8t':\n case 'light-oil-gte-8t-lt-10t':\n case 'light-oil-gte-10t-lt-12t':\n case 'light-oil-gte-12t-lt-17t':\n // when diesel engine (light oil)\n // logn fuel consumption specific unit = 2.71 - 0.812 logn(load rate/100) - 0.654 logn(max load capacity(kg))\n // => fuel consumption specific unit = exp(2.71 - 0.812 logn(load rate/100) - 0.654 logn(max load capacity(kg))\n // https://www.mlit.go.jp/common/001037031.pdf Page.7\n fuelConsumptionSpecificUnit = Math.exp(\n 2.71 - 0.812 * Math.log(loadRate) - 0.654 * Math.log(maxLoadingWeight * 1000)\n )\n break\n }\n return Number(fuelConsumptionSpecificUnit.toPrecision(2))\n}\n\nfunction calcCo2UnitCalorificValue(transportType: ModifiedTonkiloTransportType) {\n switch (transportType) {\n case 'gasoline-light-cargo':\n case 'gasoline-lt-2t':\n case 'gasoline-gte-2t':\n // when gasoline engine\n // This value will be updated periodically. Use latest one.\n // https://www.mlit.go.jp/common/001037031.pdf Page.4\n // https://www.enecho.meti.go.jp/category/saving_and_new/saving/enterprise/transport/institution/ninushi_santeikokuji.pdf Page.4\n // https://elaws.e-gov.go.jp/document?lawid=411CO0000000143_20230401_505CO0000000068\n return 34.6\n case 'light-oil-lt-1t':\n case 'light-oil-gte-1t-lt-2t':\n case 'light-oil-gte-2t-lt-4t':\n case 'light-oil-gte-4t-lt-6t':\n case 'light-oil-gte-6t-lt-8t':\n case 'light-oil-gte-8t-lt-10t':\n case 'light-oil-gte-10t-lt-12t':\n case 'light-oil-gte-12t-lt-17t':\n // when diesel engine (light oil)\n // This value will be updated periodically. Use latest one.\n // https://www.mlit.go.jp/common/001037031.pdf Page.4\n // https://www.enecho.meti.go.jp/category/saving_and_new/saving/enterprise/transport/institution/ninushi_santeikokuji.pdf Page.4\n // https://elaws.e-gov.go.jp/document?lawid=411CO0000000143_20230401_505CO0000000068\n return 37.7\n }\n}\n\nfunction calcCarbonEmissionCoefficient(transportType: ModifiedTonkiloTransportType) {\n switch (transportType) {\n case 'gasoline-light-cargo':\n case 'gasoline-lt-2t':\n case 'gasoline-gte-2t':\n // when gasoline engine\n // This value will be updated periodically. Use latest one.\n // https://www.mlit.go.jp/common/001037031.pdf Page.4\n // https://elaws.e-gov.go.jp/document?lawid=411CO0000000143_20230401_505CO0000000068\n return 0.0183\n case 'light-oil-lt-1t':\n case 'light-oil-gte-1t-lt-2t':\n case 'light-oil-gte-2t-lt-4t':\n case 'light-oil-gte-4t-lt-6t':\n case 'light-oil-gte-6t-lt-8t':\n case 'light-oil-gte-8t-lt-10t':\n case 'light-oil-gte-10t-lt-12t':\n case 'light-oil-gte-12t-lt-17t':\n // when diesel engine (light oil)\n // This value will be updated periodically. Use latest one.\n // https://www.mlit.go.jp/common/001037031.pdf Page.4\n // https://elaws.e-gov.go.jp/document?lawid=411CO0000000143_20230401_505CO0000000068\n return 0.0187\n }\n}\n\nexport function getModifiedTonkiloEmissionMap(material: GhgEmissionCalculationMaterial) {\n const coefficientMap = new Map()\n material.gasTypes.forEach((gasType) => {\n switch (gasType) {\n case 'CO_2':\n coefficientMap.set(gasType, calcModifiedTonkiloCo2Emission(material))\n break\n case 'CH_4':\n case 'N_2O':\n default:\n coefficientMap.set(gasType, 0) // not supported yet\n }\n })\n\n return coefficientMap\n}\n\nexport function calcModifiedTonkiloCo2Emission(material: GhgEmissionCalculationMaterial) {\n const calcMaterial = convertToCalcMaterial(material)\n const transportType = calcMaterial.transportType as ModifiedTonkiloTransportType\n\n // when diesel engine (light oil)\n // https://www.mlit.go.jp/common/001037031.pdf Page.4\n const fuelConsumptionSpecificUnit = calcFuelConsumptionSpecificUnit(\n calcMaterial.loadRate,\n calcMaterial.maxWeightCapacity,\n transportType\n )\n const unitCalorificValue = calcCo2UnitCalorificValue(transportType)\n // CO_2 molecular weight (44) / Carbon molecular weight (12)\n const co2EmissionCoefficient = calcCarbonEmissionCoefficient(transportType) * (44 / 12)\n return calcModifiedTonkiloEmission(\n calcMaterial.weight,\n calcMaterial.distance,\n fuelConsumptionSpecificUnit,\n unitCalorificValue,\n co2EmissionCoefficient\n )\n}\n\nfunction convertToCalcMaterial(material: unknown) {\n const {\n transportType,\n calculationType,\n gasTypes,\n weight,\n distance,\n loadRate,\n maxWeightCapacity,\n } = material as GhgEmissionModifiedTonkiloCalcuationMaterial\n return {\n calculationType,\n transportType,\n gasTypes,\n weight,\n distance,\n loadRate,\n maxWeightCapacity,\n } as GhgEmissionModifiedTonkiloCalcuationMaterial\n}\n","import { GasType } from '../GasType'\nimport {\n GhgEmissionCalculationMaterial,\n GhgEmissionFuelEfficiencyCalculationMaterial,\n VehicleUsageType,\n} from '../GhgEmissionCalculationMaterial'\nimport { FuelEfficiencyTransportType } from '../TransportType'\n\n// Referring to government organization (経済産業省、国土交通省) in japan\n// https://www.mlit.go.jp/common/001037031.pdf Page.5\n// distance (kilo meter) / fuel efficiency (kilo meter / litter) × 1/1000 (kilo litter / litter)\n// × unit calorific value (Giga joule / kilo litter)\n// × gas emission coefficient (ton-Gas weight / Giga joule)\n// => gas weight(ton)\n// 輸送距離(km) / 燃費(km / l) x 1/1000 (kl / l) × 単位発熱量(Gj / kl) × ガス排出量係数(t / Gj)\n// => ガス排出量(t)\nexport const calcFuelEfficiencyEmission = (\n kilometer: number,\n fuelEfficiency: number,\n unitCalorificValue: number,\n gasEmissionCoefficient: number\n) => (kilometer / fuelEfficiency / 1000) * unitCalorificValue * gasEmissionCoefficient\n\n// https://www.mlit.go.jp/common/001037031.pdf Page.5\nconst businessVehicleFuelEfficiencyMap: Map = new Map([\n ['gasoline-light-cargo', 9.33],\n ['gasoline-lt-2t', 6.57],\n ['gasoline-gte-2t', 4.96],\n ['light-oil-lt-1t', 9.32],\n ['light-oil-gte-1t-lt-2t', 6.19],\n ['light-oil-gte-2t-lt-4t', 4.58],\n ['light-oil-gte-4t-lt-6t', 3.79],\n ['light-oil-gte-6t-lt-8t', 3.38],\n ['light-oil-gte-8t-lt-10t', 3.09],\n ['light-oil-gte-10t-lt-12t', 2.89],\n ['light-oil-gte-12t-lt-17t', 2.62],\n])\n\n// https://www.mlit.go.jp/common/001037031.pdf Page.5\nconst privateVehicleFuelEfficiencyMap: Map = new Map([\n ['gasoline-light-cargo', 10.3],\n ['gasoline-lt-2t', 7.15],\n ['gasoline-gte-2t', 5.25],\n ['light-oil-lt-1t', 11.9],\n ['light-oil-gte-1t-lt-2t', 7.34],\n ['light-oil-gte-2t-lt-4t', 4.94],\n ['light-oil-gte-4t-lt-6t', 3.96],\n ['light-oil-gte-6t-lt-8t', 3.53],\n ['light-oil-gte-8t-lt-10t', 3.23],\n ['light-oil-gte-10t-lt-12t', 3.02],\n ['light-oil-gte-12t-lt-17t', 2.74],\n])\n\nfunction getFuelEfficiency(transportType: FuelEfficiencyTransportType, vehicleUsageType: VehicleUsageType) {\n switch (vehicleUsageType) {\n case 'business':\n return businessVehicleFuelEfficiencyMap.get(transportType) ?? 0\n case 'private':\n return privateVehicleFuelEfficiencyMap.get(transportType) ?? 0\n }\n}\n\nfunction calcCo2UnitCalorificValue(transportType: FuelEfficiencyTransportType) {\n switch (transportType) {\n case 'gasoline-light-cargo':\n case 'gasoline-lt-2t':\n case 'gasoline-gte-2t':\n // when gasoline engine\n // This value will be updated periodically. Use latest one.\n // https://www.mlit.go.jp/common/001037031.pdf Page.4\n // https://www.enecho.meti.go.jp/category/saving_and_new/saving/enterprise/transport/institution/ninushi_santeikokuji.pdf Page.4\n // https://elaws.e-gov.go.jp/document?lawid=411CO0000000143_20230401_505CO0000000068\n return 34.6\n case 'light-oil-lt-1t':\n case 'light-oil-gte-1t-lt-2t':\n case 'light-oil-gte-2t-lt-4t':\n case 'light-oil-gte-4t-lt-6t':\n case 'light-oil-gte-6t-lt-8t':\n case 'light-oil-gte-8t-lt-10t':\n case 'light-oil-gte-10t-lt-12t':\n case 'light-oil-gte-12t-lt-17t':\n // when diesel engine (light oil)\n // This value will be updated periodically. Use latest one.\n // https://www.mlit.go.jp/common/001037031.pdf Page.4\n // https://www.enecho.meti.go.jp/category/saving_and_new/saving/enterprise/transport/institution/ninushi_santeikokuji.pdf Page.4\n // https://elaws.e-gov.go.jp/document?lawid=411CO0000000143_20230401_505CO0000000068\n return 37.7\n }\n}\n\nfunction calcCarbonEmissionCoefficient(transportType: FuelEfficiencyTransportType) {\n switch (transportType) {\n case 'gasoline-light-cargo':\n case 'gasoline-lt-2t':\n case 'gasoline-gte-2t':\n // when gasoline engine\n // This value will be updated periodically. Use latest one.\n // https://www.mlit.go.jp/common/001037031.pdf Page.4\n // https://elaws.e-gov.go.jp/document?lawid=411CO0000000143_20230401_505CO0000000068\n return 0.0183\n case 'light-oil-lt-1t':\n case 'light-oil-gte-1t-lt-2t':\n case 'light-oil-gte-2t-lt-4t':\n case 'light-oil-gte-4t-lt-6t':\n case 'light-oil-gte-6t-lt-8t':\n case 'light-oil-gte-8t-lt-10t':\n case 'light-oil-gte-10t-lt-12t':\n case 'light-oil-gte-12t-lt-17t':\n // when diesel engine (light oil)\n // This value will be updated periodically. Use latest one.\n // https://www.mlit.go.jp/common/001037031.pdf Page.4\n // https://elaws.e-gov.go.jp/document?lawid=411CO0000000143_20230401_505CO0000000068\n return 0.0187\n }\n}\n\nexport function getFuelEfficiencyEmissionMap(material: GhgEmissionCalculationMaterial) {\n const coefficientMap = new Map()\n material.gasTypes.forEach((gasType) => {\n switch (gasType) {\n case 'CO_2':\n coefficientMap.set(gasType, calcFuelEfficiencyCo2Emission(material))\n break\n case 'CH_4':\n case 'N_2O':\n default:\n coefficientMap.set(gasType, 0) // not supported yet\n }\n })\n return coefficientMap\n}\nexport function calcFuelEfficiencyCo2Emission(material: GhgEmissionCalculationMaterial) {\n const calcMaterial = convertToCalcMaterial(material)\n const transportType = calcMaterial.transportType as FuelEfficiencyTransportType\n const fuelEfficiency = getFuelEfficiency(transportType, calcMaterial.vehicleUsageType)\n const unitCalorificValue = calcCo2UnitCalorificValue(transportType)\n // CO_2 molecular weight (44) / Carbon molecular weight (12)\n const co2EmissionCoefficient = calcCarbonEmissionCoefficient(transportType) * (44 / 12)\n return calcFuelEfficiencyEmission(calcMaterial.distance, fuelEfficiency, unitCalorificValue, co2EmissionCoefficient)\n}\n\nfunction convertToCalcMaterial(material: unknown) {\n const {\n transportType,\n calculationType,\n gasTypes,\n distance,\n vehicleUsageType,\n } = material as GhgEmissionFuelEfficiencyCalculationMaterial\n return {\n transportType,\n calculationType,\n gasTypes,\n distance,\n vehicleUsageType,\n } as GhgEmissionFuelEfficiencyCalculationMaterial\n}\n","import { GasType } from '../GasType'\nimport { GhgEmissionCalculationMaterial, GhgEmissionFuelCalculationMaterial } from '../GhgEmissionCalculationMaterial'\nimport { FuelTransportType } from '../TransportType'\n\n// Referring to government organization (経済産業省、国土交通省) in japan\n// https://www.mlit.go.jp/common/001037031.pdf\n// fuel consumption (kilo litter)\n// × unit calorific value (Giga joule / kilo litter)\n// × gas emission coefficient (ton-Gas weight / Giga joule)\n// => gas emissions weight(ton)\n// 燃料使用量(kl) × 単位発熱量(Gj / kl) × ガス排出量係数(t / Gj)\n// => ガス排出量(t)\nexport const calcFuelEmission = (fuelConsumption: number, unitCalorificValue: number, gasEmissionCoefficient: number) =>\n fuelConsumption * unitCalorificValue * gasEmissionCoefficient\n\n// https://www.mlit.go.jp/common/001037031.pdf Page.4\n// https://elaws.e-gov.go.jp/document?lawid=411CO0000000143_20230401_505CO0000000068\nconst unitCalorificValueMap: Map = new Map([\n ['gasoline', 34.6],\n ['light-oil', 37.7],\n ['heavy-oil-a', 39.1],\n ['heavy-oil-b-c', 41.9],\n ['liquefied-petroleum-gas', 50.8],\n ['jet-fuel-oil', 36.7],\n ['city-gas', 44.8],\n])\n\n// https://www.mlit.go.jp/common/001037031.pdf Page.4\n// https://elaws.e-gov.go.jp/document?lawid=411CO0000000143_20230401_505CO0000000068\nconst carbonEmissionCoeffMap: Map = new Map([\n ['gasoline', 0.0183],\n ['light-oil', 0.0187],\n ['heavy-oil-a', 0.0189],\n ['heavy-oil-b-c', 0.0195],\n ['liquefied-petroleum-gas', 0.0161],\n ['jet-fuel-oil', 0.0183],\n ['city-gas', 0.0136],\n])\n\nexport function getFuelEmissionMap(material: GhgEmissionCalculationMaterial) {\n const coefficientMap = new Map()\n material.gasTypes.forEach((gasType) => {\n switch (gasType) {\n case 'CO_2':\n coefficientMap.set(gasType, calcFuelCo2Emission(material))\n break\n case 'CH_4':\n case 'N_2O':\n default:\n coefficientMap.set(gasType, 0) // not supported yet\n }\n })\n return coefficientMap\n}\nexport function calcFuelCo2Emission(material: GhgEmissionCalculationMaterial) {\n const calcMaterial = convertToCalcMaterial(material)\n const transportType = calcMaterial.transportType as FuelTransportType\n const unitCalorificValue = unitCalorificValueMap.get(transportType) ?? 0\n // CO_2 molecular weight (44) / Carbon molecular weight (12)\n const co2EmissionCoefficient = (carbonEmissionCoeffMap.get(transportType) ?? 0) * (44 / 12)\n return calcFuelEmission(calcMaterial.fuelConsumption, unitCalorificValue, co2EmissionCoefficient)\n}\n\nfunction convertToCalcMaterial(material: unknown) {\n const {\n transportType,\n calculationType,\n gasTypes,\n fuelConsumption: fuelConsume,\n } = material as GhgEmissionFuelCalculationMaterial\n return {\n calculationType,\n transportType,\n gasTypes,\n fuelConsumption: fuelConsume,\n } as GhgEmissionFuelCalculationMaterial\n}\n","import { GhgEmissionCalculationMaterial } from '../GhgEmissionCalculationMaterial'\nimport { calcTonkloCo2Emission, getTonkiloGasEmissionMap } from './calcTonkiloEmission'\nimport { calcModifiedTonkiloCo2Emission, getModifiedTonkiloEmissionMap } from './calcModifiedTonkilo'\nimport { calcFuelEfficiencyCo2Emission, getFuelEfficiencyEmissionMap } from './calcFuelEfficiencyEmission'\nimport { calcFuelCo2Emission, getFuelEmissionMap } from './calcFuelEmission'\n\nexport const getGhgEmissionMap = (calcMaterial: GhgEmissionCalculationMaterial) => {\n switch (calcMaterial.calculationType) {\n case 'tonkilo':\n return getTonkiloGasEmissionMap(calcMaterial)\n case 'modifiedTonkilo':\n return getModifiedTonkiloEmissionMap(calcMaterial)\n case 'fuel':\n return getFuelEmissionMap(calcMaterial)\n case 'fuelEfficiency':\n return getFuelEfficiencyEmissionMap(calcMaterial)\n default: {\n throw Error('not supported yet')\n }\n }\n}\n\nexport const calcCo2Emission = (calcMaterial: GhgEmissionCalculationMaterial) => {\n switch (calcMaterial.calculationType) {\n case 'tonkilo':\n return calcTonkloCo2Emission(calcMaterial)\n case 'modifiedTonkilo':\n return calcModifiedTonkiloCo2Emission(calcMaterial)\n case 'fuel':\n return calcFuelEfficiencyCo2Emission(calcMaterial)\n case 'fuelEfficiency':\n return calcFuelCo2Emission(calcMaterial)\n default: {\n throw Error('not supported yet')\n }\n }\n}\n\nexport default getGhgEmissionMap\n","var baseClone = require('./_baseClone');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nmodule.exports = cloneDeep;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nmodule.exports = baseAssignIn;\n","var copyObject = require('./_copyObject'),\n getSymbolsIn = require('./_getSymbolsIn');\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nmodule.exports = copySymbolsIn;\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nmodule.exports = baseIsMap;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbolsIn = require('./_getSymbolsIn'),\n keysIn = require('./keysIn');\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nmodule.exports = getAllKeysIn;\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./FloatingButtonFormBuilder.vue?vue&type=style&index=0&id=35c39f2d&lang=scss&scoped=true\"","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var Stack = require('./_Stack'),\n arrayEach = require('./_arrayEach'),\n assignValue = require('./_assignValue'),\n baseAssign = require('./_baseAssign'),\n baseAssignIn = require('./_baseAssignIn'),\n cloneBuffer = require('./_cloneBuffer'),\n copyArray = require('./_copyArray'),\n copySymbols = require('./_copySymbols'),\n copySymbolsIn = require('./_copySymbolsIn'),\n getAllKeys = require('./_getAllKeys'),\n getAllKeysIn = require('./_getAllKeysIn'),\n getTag = require('./_getTag'),\n initCloneArray = require('./_initCloneArray'),\n initCloneByTag = require('./_initCloneByTag'),\n initCloneObject = require('./_initCloneObject'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isMap = require('./isMap'),\n isObject = require('./isObject'),\n isSet = require('./isSet'),\n keys = require('./keys'),\n keysIn = require('./keysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nmodule.exports = baseClone;\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar isArray = require('../internals/is-array');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Safari < 13 does not throw an error in this case\nvar SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {\n // makes no sense without proper strict mode support\n if (this !== undefined) return true;\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).length = 1;\n } catch (error) {\n return error instanceof TypeError;\n }\n}();\n\nmodule.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {\n if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {\n throw new $TypeError('Cannot set read only .length');\n } return O.length = length;\n} : function (O, length) {\n return O.length = length;\n};\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","var copyObject = require('./_copyObject'),\n getSymbols = require('./_getSymbols');\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nmodule.exports = copySymbols;\n","var copyObject = require('./_copyObject'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nmodule.exports = cloneDataView;\n","\n\n\n\n\n","\n\n\n","\n\n\n","\nimport { Vue, Options } from 'vue-class-component'\nimport SvgBase from './SvgBase.vue'\n@Options({\n components: {\n SvgBase,\n },\n props: {\n color: {\n type: String,\n default: 'currentColor',\n },\n rotation: {\n type: Number,\n default: 0,\n },\n },\n})\nexport default class IconMore extends Vue {\n get transform() {\n return `transform: rotate(${this.rotation}deg);`\n }\n}\n","import { render } from \"./IconMore.vue?vue&type=template&id=3ef27140\"\nimport script from \"./IconMore.vue?vue&type=script&lang=ts\"\nexport * from \"./IconMore.vue?vue&type=script&lang=ts\"\nscript.render = render\n\nexport default script","\n\n\n\n\n","\nimport { Options, Vue } from 'vue-class-component'\nimport { Prop } from 'vue-property-decorator'\nimport IconArrow from '@/components/svg/IconArrow.vue'\nimport { IFormButton } from './FormBuilder.vue'\n@Options({\n components: { IconArrow },\n emits: ['toggle-expand'],\n})\nexport default class FloatingButton extends Vue {\n @Prop({ type: Boolean }) readonly isExpanded!: boolean;\n @Prop({ type: Array as () => IFormButton[] }) readonly buttons!: IFormButton[];\n @Prop({ type: Function }) readonly handleClick!: (button: IFormButton) => void;\n\n get isRightBtnExpandable() {\n return this.buttons.length > 1\n }\n\n toggleExpand() {\n this.$emit('toggle-expand')\n }\n}\n","import { render } from \"./FloatingButtonFormBuilder.vue?vue&type=template&id=35c39f2d&scoped=true\"\nimport script from \"./FloatingButtonFormBuilder.vue?vue&type=script&lang=ts\"\nexport * from \"./FloatingButtonFormBuilder.vue?vue&type=script&lang=ts\"\n\nimport \"./FloatingButtonFormBuilder.vue?vue&type=style&index=0&id=35c39f2d&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-35c39f2d\"\n\nexport default script","\nimport { Options, Vue } from 'vue-class-component'\nimport IconArrow from '@/components/svg/IconArrow.vue'\nimport IconMore from '@/components/svg/IconMore.vue'\nimport { Prop } from 'vue-property-decorator'\nimport { IFormButton } from './FormBuilder.vue'\nimport FloatingButton from './FloatingButtonFormBuilder.vue'\n@Options({\n components: { IconArrow, IconMore, FloatingButton },\n})\nexport default class ButtonFormBuilder extends Vue {\n @Prop({ type: Boolean }) readonly isHideSubmitButton: boolean = false\n @Prop({ type: Boolean }) readonly hasNextStep: boolean = false\n @Prop({ type: Boolean }) readonly isShowArrow: boolean = false\n @Prop({ type: Array as () => IFormButton[] }) readonly buttons!: IFormButton[];\n @Prop({ type: Boolean }) readonly isShownFloatingActionButton?: boolean\n topButtonVisible = true;\n isExpanded = false;\n\n get isTopButtonVisible() {\n return this.topButtonVisible\n }\n\n mounted() {\n window.addEventListener('scroll', this.handleScroll)\n this.checkButtonVisibility()\n }\n\n handleScroll() {\n this.checkButtonVisibility()\n }\n\n handleClick(button: { onClick: () => void }) {\n if (button.onClick) {\n button.onClick()\n }\n }\n\n checkButtonVisibility() {\n const btn = this.buttons[0]\n const button = document.getElementById(btn.id || 'FormBuilder_Submit')\n if (button) {\n const rect = button.getBoundingClientRect()\n this.topButtonVisible = rect.top >= 0 && rect.bottom <= window.innerHeight\n }\n }\n\n toggleExpand() {\n this.isExpanded = !this.isExpanded\n }\n}\n","import { render } from \"./ButtonFormBuilder.vue?vue&type=template&id=c2970a2a\"\nimport script from \"./ButtonFormBuilder.vue?vue&type=script&lang=ts\"\nexport * from \"./ButtonFormBuilder.vue?vue&type=script&lang=ts\"\nscript.render = render\n\nexport default script","// 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,\"1|([457]\\\\d{6})$\",\"268$1\",0,\"268\"],\"AI\":[\"1\",\"011\",\"(?:264|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([2457]\\\\d{6})$\",\"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,\"1|([267]\\\\d{6})$\",\"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(?: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,\"0|(183[12])\",0,0,0,[[\"(?:(?: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]))\\\\d{3}|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]))|(?:6[0-8]|[78]\\\\d)\\\\d{3}|9(?:[02-9]\\\\d{3}|1(?:(?:[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}\",[9]],[\"4(?:83[0-38]|93[0-6])\\\\d{5}|4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[016-9]|7[02-9]|8[0-24-9]|9[0-27-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,\"1|([2-9]\\\\d{6})$\",\"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(?:28|4[14]|5)|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]|22\"],\"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{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[025-7]\"]]]],\"BG\":[\"359\",\"00\",\"[2-7]\\\\d{6,7}|[89]\\\\d{6,8}|2\\\\d{5}\",[6,7,8,9],[[\"(\\\\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[047]\"]]]],\"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\",\"(?:[25689]\\\\d|40)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[24-689]\"]]]],\"BL\":[\"590\",\"00\",\"(?:590|(?:69|80)\\\\d|976)\\\\d{6}\",[9],0,\"0\",0,0,0,0,0,[[\"590(?:2[7-9]|5[12]|87)\\\\d{4}\"],[\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5]))\\\\d{4}\"],[\"80[0-5]\\\\d{6}\"],0,0,0,0,0,[\"976[01]\\\\d{5}\"]]],\"BM\":[\"1\",\"011\",\"(?:441|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([2-8]\\\\d{6})$\",\"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)?\",\"(?:[2-467]\\\\d\\\\d|8001)\\\\d{5}\",[8,9],[[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"[23]|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-46-9]\\\\d\\\\d|5(?:[0-46-9]\\\\d|5[0-46-9]))\\\\d{8}|[1-9]\\\\d{9}|[3589]\\\\d{8}|[34]\\\\d{7}\",[8,9,10,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"300|4(?:0[02]|37)\",\"4(?:02|37)0|[34]00\"]],[\"(\\\\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,\"1|([3-8]\\\\d{6})$\",\"242$1\",0,\"242\"],\"BT\":[\"975\",\"00\",\"[17]\\\\d{7}|[2-8]\\\\d{6}\",[7,8],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-68]|7[246]\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"1[67]|7\"]]]],\"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-79]\"]],[\"(\\\\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-8]\\\\d|90)\\\\d{8}|3\\\\d{6}\",[7,10],0,\"1\",0,0,0,0,0,[[\"(?:2(?:04|[23]6|[48]9|50|63)|3(?:06|43|6[578])|4(?:03|1[68]|3[178]|50|68|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|13|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|73)|90[25])[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(?:00|2[125-7]|33|44|66|77|88)|622)[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,\"0|([59]\\\\d{7})$\",\"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(?:83[0-38]|93[0-6])\\\\d{5}|4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[016-9]|7[02-9]|8[0-24-9]|9[0-27-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]\\\\d{8}|[1-68]\\\\d{6}\",[7,9],[[\"(\\\\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{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]\"],\"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],[[\"(\\\\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{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[2-9]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-9]|[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[127]\\\\d{8,9}|2\\\\d{9}(?:\\\\d{2})?|[12]\\\\d{6,7}|86\\\\d{6}|(?:1[03-689]\\\\d|6)\\\\d{7,9}|(?:[3-579]\\\\d|8[0-57-9])\\\\d{6,9}\",[7,8,9,10,11,12],[[\"(\\\\d{2})(\\\\d{5,6})\",\"$1 $2\",[\"(?:10|2[0-57-9])[19]\",\"(?:10|2[0-57-9])(?:10|9[56])\",\"(?:10|2[0-57-9])(?:100|9[56])\"],\"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,\"0|(1(?:[12]\\\\d|79)\\\\d\\\\d)\",0,0,0,0,\"00\"],\"CO\":[\"57\",\"00(?:4(?:[14]4|56)|[579])\",\"(?:60\\\\d\\\\d|9101)\\\\d{6}|(?:1\\\\d|3)\\\\d{9}\",[10,11],[[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"6\"],\"($1)\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"3[0-357]|91\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{7})\",\"$1-$2-$3\",[\"1\"],\"0$1\",0,\"$1 $2 $3\"]],\"0\",0,\"0(4(?:[14]4|56)|[579])?\"],\"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\",\"[27]\\\\d{6,7}|[34]\\\\d{5,7}|(?:5|8\\\\d\\\\d)\\\\d{7}\",[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\",[\"5\"],\"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,\"0|([59]\\\\d{7})$\",\"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(?:83[0-38]|93[0-6])\\\\d{5}|4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[016-9]|7[02-9]|8[0-24-9]|9[0-27-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],[[\"(\\\\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{5})(\\\\d{6})\",\"$1 $2\",[\"15[0568]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{7})\",\"$1 $2\",[\"15[1279]\"],\"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,\"1|([2-7]\\\\d{6})$\",\"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\",[\"[189]\"],\"0$1\"]],\"0\"],\"EH\":[\"212\",\"00\",\"[5-8]\\\\d{8}\",[9],0,\"0\",0,0,0,0,\"528[89]\"],\"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)(\\\\d{4,9})\",\"$1 $2\",[\"[2568][1-8]|3(?:0[1-9]|[1-9])|9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,7})\",\"$1 $2\",[\"[12]00|[368]|70[07-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4,8})\",\"$1 $2\",[\"[1245]|7[135]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{6,10})\",\"$1 $2\",[\"7\"],\"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,0,0,0,[[\"(?:1(?:1(?:3(?:[0-58]\\\\d\\\\d|73[0235])|4(?:[0-5]\\\\d\\\\d|69[7-9]|70[013579])|(?:(?:5[0-26-9]|[78][0-49])\\\\d|6(?:[0-4]\\\\d|50))\\\\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\\\\d|1(?:[0-7]\\\\d\\\\d|8(?:[02]\\\\d|1[0-246-9])))|(?: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,\"1|([2-9]\\\\d{6})$\",\"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|80\\\\d|976)\\\\d{6}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[569]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\"],\"GG\":[\"44\",\"00\",\"(?:1481|[357-9]\\\\d{3})\\\\d{6}|8\\\\d{6}(?:\\\\d{2})?\",[7,9,10],0,\"0\",0,\"0|([25-9]\\\\d{5})$\",\"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\\\\d|606)\\\\d{5}\",[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|(?:69|80)\\\\d|976)\\\\d{6}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[569]\"],\"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[1289]|5[3-579]|6[0-289]|7[08]|8[0-689]|9\\\\d)\\\\d{4}\"],[\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5]))\\\\d{4}\"],[\"80[0-5]\\\\d{6}\"],0,0,0,0,0,[\"976[01]\\\\d{5}\"]]],\"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\",\"(?:1\\\\d{3}|[2-7])\\\\d{7}\",[8,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-7]\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]]]],\"GU\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|671|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([3-9]\\\\d{6})$\",\"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\",\"9008\\\\d{3}|(?:[2-467]\\\\d\\\\d|862)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-46-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\",\"(?:[24-69]\\\\d|3[0-79])\\\\d{7}|80\\\\d{5,7}|[1-79]\\\\d{7}|6\\\\d{5,6}\",[6,7,8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2,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\",[\"[67]\"],\"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-5]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"],\"0$1\"]],\"0\"],\"HT\":[\"509\",\"00\",\"[2-489]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-489]\"]]]],\"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]|8\\\\d)\\\\d{4}|[1-36])\\\\d{6}|00\\\\d{10}|[1-9]\\\\d{8,10}|[2-9]\\\\d{7}\",[7,8,9,10,11,12,13],[[\"(\\\\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,\"0|([25-8]\\\\d{5})$\",\"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|83)|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]|8[124-6])\\\\d|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\",[\"[6-9]\"],\"0$1\",1],[\"(\\\\d{4})(\\\\d{2,4})(\\\\d{4})\",\"$1 $2 $3\",[\"1(?:6|8[06])\",\"1(?:6|8[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,10}|1\\\\d{8,10}|3(?:[0-8]\\\\d{7,10}|9\\\\d{7,8})|(?:55|70)\\\\d{8}|8\\\\d{5}(?:\\\\d{2,4})?\",[6,7,8,9,10,11],[[\"(\\\\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]\"]],[\"(\\\\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\",[\"3\"]]],0,0,0,0,0,0,[[\"0669[0-79]\\\\d{1,6}|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[1-356]|[6-8][1-5])|9(?:[0159]\\\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\\\d{2,7}\"],[\"3[1-9]\\\\d{8}|3[2-9]\\\\d{7}\",[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]],0,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|([0-24-8]\\\\d{5})$\",\"1534$1\",0,0,[[\"1534[0-24-8]\\\\d{5}\"],[\"7(?:(?:(?:50|82)9|937)\\\\d|7(?:00[378]|97[7-9]))\\\\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|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\",[\"7\"],\"0$1\"]],\"0\"],\"JP\":[\"81\",\"010\",\"00[1-9]\\\\d{6,14}|[257-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|63)|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]|636)|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]|636[457-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\",[\"[36]|4(?:2[09]|7[01])\",\"[36]|4(?:2(?:0|9[02-69])|7(?:0[019]|1))\"],\"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[045]|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[27-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])|5(?:2|3[045]|4[0-369]|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])|49|51|6(?:[0-24]|36|5[0-3589]|72|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]))|(?:49|55|83)[29]|(?: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]|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]|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[23]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|72|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]\",\"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]|7[015-9]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17|3[015-9]))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3[045]|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(?:[019]|4[1-3]|6(?:[0-47-9]|5[01346-9])))|3(?:[29]|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[23]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|72|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|829(?:2|66)|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\",[\"[257-9]\"],\"0$1\"]],\"0\"],\"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-8]\\\\d|99)\\\\d{7}\",[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,\"1|([2-7]\\\\d{6})$\",\"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\",[\"60|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,\"1|([2-9]\\\\d{6})$\",\"345$1\",0,\"345\"],\"KZ\":[\"7\",\"810\",\"(?:33622|8\\\\d{8})\\\\d{5}|[78]\\\\d{9}\",[10,14],0,\"8\",0,0,0,0,\"33|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\",[\"30[013-9]\"],\"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-7]|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,\"1|([2-8]\\\\d{6})$\",\"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,\"0|(1001)\"],\"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\",\"(?:2|33|5\\\\d|77|88)\\\\d{7}|[4-6]\\\\d{6}\",[7,8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[4-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[3578]\"],\"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]\"],\"(8-$1)\",1],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[7-9]\"],\"8 $1\",1],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"37|4(?:[15]|6[1-8])\"],\"(8-$1)\",1],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[3-6]\"],\"(8-$1)\",1]],\"8\",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|90)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[269]|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{5})(\\\\d{4})\",\"$1-$2\",[\"5(?:29|38)\",\"5(?:29[89]|389)\",\"5(?:29[89]|389)0\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"5[45]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5})\",\"$1-$2\",[\"5(?:2[2-489]|3[5-9]|9)|892\",\"5(?:2(?:[2-49]|8[235-9])|3[5-9]|9)|892\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1-$2\",[\"8\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1-$2\",[\"[5-7]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"5(?:29(?:[189][05]|2[29]|3[01])|389[05])\\\\d{4}|5(?:2(?:[0-25-7]\\\\d|3[1-578]|4[02-46-8]|8[0235-7]|90)|3(?:[0-47]\\\\d|5[02-9]|6[02-8]|8[08]|9[3-9])|(?:4[067]|5[03])\\\\d)\\\\d{5}\"],[\"(?:6(?:[0-79]\\\\d|8[0-247-9])|7(?:[017]\\\\d|2[0-2]|6[0-8]|8[0-3]))\\\\d{6}\"],[\"80\\\\d{7}\"],[\"89\\\\d{7}\"],0,0,0,0,[\"592(?:4[0-2]|93)\\\\d{4}\"]]],\"MC\":[\"377\",\"00\",\"(?:[3489]|6\\\\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\",[\"6\"],\"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|(?:69|80)\\\\d|976)\\\\d{6}\",[9],0,\"0\",0,0,0,0,0,[[\"590(?:0[079]|[14]3|[27][79]|30|5[0-268]|87)\\\\d{4}\"],[\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5]))\\\\d{4}\"],[\"80[0-5]\\\\d{6}\"],0,0,0,0,0,[\"976[01]\\\\d{5}\"]]],\"MG\":[\"261\",\"00\",\"[23]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[23]\"],\"0$1\"]],\"0\",0,\"0|([24-9]\\\\d{6})$\",\"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\",[\"[45]|6(?:0[23]|[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-6]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[12]\"],\"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,\"1|([2-9]\\\\d{6})$\",\"670$1\",0,\"670\"],\"MQ\":[\"596\",\"00\",\"(?:69|80)\\\\d{7}|(?:59|97)6\\\\d{6}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[569]\"],\"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,\"1|([34]\\\\d{6})$\",\"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])\",\"(?:5|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\",[\"5\"]],[\"(\\\\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\",[\"[3467]|9[13-9]\"]],[\"(\\\\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]\",\"1(?:(?:44|99)[1-9]|65[0-689])\\\\d{7}|(?:1(?:[017]\\\\d|[235][1-9]|4[0-35-9]|6[0-46-9]|8[1-79]|9[1-8])|[2-9]\\\\d)\\\\d{8}\",[10,11],[[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"33|5[56]|81\"],0,1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-9]\"],0,1],[\"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$2 $3 $4\",[\"1(?:33|5[56]|81)\"],0,1],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$2 $3 $4\",[\"1\"],0,1]],\"01\",0,\"0(?:[12]|4[45])|1\",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[04]\"]]]],\"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\",\"(?:[124-7]|9\\\\d{3})\\\\d{6}|[1-9]\\\\d{7}|[78]\\\\d{9,13}\",[7,8,10,11,12,13,14],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"78\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[12]|9(?:0[3-9]|[1-9])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\"$1 $2 $3\",[\"[3-7]|8[2-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[7-9]\"],\"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\",[\"[489]|59\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[235-7]\"]]],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\",\"(?:444|(?:55|8\\\\d)\\\\d|666)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[4-68]\"]]]],\"NU\":[\"683\",\"00\",\"(?:[47]|888\\\\d)\\\\d{3}\",[4,7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"8\"]]]],\"NZ\":[\"64\",\"0(?:0|161)\",\"[29]\\\\d{7,9}|50\\\\d{5}(?:\\\\d{2,3})?|6[0-35-9]\\\\d{6}|7\\\\d{7,8}|8\\\\d{4,9}|(?:11\\\\d|[34])\\\\d{7}\",[5,6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{3,8})\",\"$1 $2\",[\"8[1-579]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"50[036-8]|[89]0\",\"50(?:[0367]|88)|[89]0\"],\"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)|[59]|80\"],\"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|86\"],\"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]|80\\\\d\\\\d)\\\\d{5}\",[6,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[45]\"],\"0$1\"],[\"(\\\\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\",\"59\\\\d{4,6}|9\\\\d{5,10}|(?:[2-46-8]\\\\d|5[0-8])\\\\d{4,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\",[\"[26]1|3[289]|4[1246-8]|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-6])\"],\"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\",\"[2-7]\\\\d{7}|800\\\\d{4}(?:\\\\d{2})?|2\\\\d{6}\",[7,8,9],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"2[126]|8\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-7]\"]]]],\"RE\":[\"262\",\"00\",\"976\\\\d{6}|(?:26|[68]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2689]\"],\"0$1\"]],\"0\",0,0,0,0,\"26[23]|69|[89]\"],\"RO\":[\"40\",\"00\",\"(?:[2378]\\\\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\",[\"[237-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-6]2|7|8[27])|2(?:1[23]|[2-9]2))\",\"7(?:1(?:[0-6]2|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,\"3[04-689]|[489]\",0,\"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\",[\"[7-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"]]],\"0\"],\"SA\":[\"966\",\"00\",\"92\\\\d{7}|(?:[15]|8\\\\d)\\\\d{8}\",[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{3,4})\",\"$1 $2 $3\",[\"81\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]]],\"0\"],\"SB\":[\"677\",\"0[01]\",\"(?:[1-6]|[7-9]\\\\d\\\\d)\\\\d{4}\",[5,7],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"7|8[4-9]|9(?:[1-8]|9[0-8])\"]]]],\"SC\":[\"248\",\"010|0[0-2]\",\"800\\\\d{4}|(?:[249]\\\\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],[[\"(\\\\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-5]|[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|[57]9)\\\\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\",[\"24|[67]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[3478]|64|90\"]],[\"(\\\\d{2})(\\\\d{5,7})\",\"$1 $2\",[\"1|28|6(?:0[5-7]|[1-35-9])|9[2-9]\"]]],\"0\"],\"SR\":[\"597\",\"00\",\"(?:[2-5]|68|[78]\\\\d)\\\\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-8]\"]]]],\"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\",\"[267]\\\\d{7}|[89]00\\\\d{4}(?:\\\\d{4})?\",[7,8,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[89]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[267]\"]],[\"(\\\\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,\"1|(5\\\\d{6})$\",\"721$1\",0,\"721\"],\"SY\":[\"963\",\"00\",\"[1-39]\\\\d{8}|[1-5]\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[1-5]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"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,\"1|([2-479]\\\\d{6})$\",\"649$1\",0,\"649\"],\"TD\":[\"235\",\"00|16\",\"(?:22|[69]\\\\d|77)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2679]\"]]],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\",\"(?:00|[1-57-9]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{6})(\\\\d)(\\\\d{2})\",\"$1 $2 $3\",[\"331\",\"3317\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[34]7|91[78]\"]],[\"(\\\\d{4})(\\\\d)(\\\\d{4})\",\"$1 $2 $3\",[\"3[1-5]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[0-57-9]\"]]],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{7}\",[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\",[\"6\"],\"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]|616)\",\"5(?:[0-59]|6161)\"],\"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,\"1|([2-46-8]\\\\d{6})$\",\"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,[[\"505(?:[2-57-9]\\\\d\\\\d|6(?:[0-35-9]\\\\d|44))\\\\d{4}|(?:2(?:0[1-35-9]|1[02-9]|2[03-589]|3[149]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[01356]|3[0-24679]|4[167]|5[12]|6[014]|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-47-9]|1[0235-8]|20|3[0149]|4[01]|5[19]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|[34][016]|5[01679]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-7]|3[1247]|4[037]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[068]|3[0-289]|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-389]|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-7]|33|44|66|77|88)[2-9]\\\\d{6}\"]]],\"UY\":[\"598\",\"0(?:0|1[3-9]\\\\d)\",\"4\\\\d{9}|[1249]\\\\d{7}|(?:[49]\\\\d|80)\\\\d{5}\",[7,8,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"405|8|90\"],\"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{4})\",\"$1 $2 $3\",[\"4\"],\"0$1\"]],\"0\",0,0,0,0,0,0,\"00\",\" int. \"],\"UZ\":[\"998\",\"810\",\"(?:33|55|[679]\\\\d|88)\\\\d{7}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[35-9]\"],\"8 $1\"]],\"8\",0,0,0,0,0,0,\"8~10\"],\"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],0,0,0,0,0,0,\"06698\"],\"VC\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|784|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([2-7]\\\\d{6})$\",\"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,\"1|([2-578]\\\\d{6})$\",\"284$1\",0,\"284\"],\"VI\":[\"1\",\"011\",\"[58]\\\\d{9}|(?:34|90)0\\\\d{7}\",[10],0,\"1\",0,\"1|([2-9]\\\\d{6})$\",\"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\",[\"[69]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[3578]\"],\"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)\\\\d{4}|8\\\\d{5}(?:\\\\d{3})?\",[6,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[478]\"]],[\"(\\\\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\",\"[23]\\\\d{7,8}|(?:4\\\\d\\\\d|[89]00)\\\\d{5}\",[8,9],[[\"(\\\\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\",[\"[23]\"],\"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-68]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\"],\"YT\":[\"262\",\"00\",\"80\\\\d{7}|(?:26|63)9\\\\d{6}\",[9],0,\"0\",0,0,0,0,\"269|63\"],\"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|63|[79]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[28]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"[79]\"],\"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}|[35-7]\\\\d{8}\",[9,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[35-7]\"]]],0,0,0,0,0,0,[0,[\"(?:[356]|774[45])\\\\d{8}|7[6-8]\\\\d{7}\"]]],\"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,\"[0-36-9]\\\\d{8}\",[9],[[\"(\\\\d)(\\\\d{3})(\\\\d{5})\",\"$1 $2 $3\",[\"[0-36-9]\"]]],0,0,0,0,0,0,[0,[\"[0-36-9]\\\\d{8}\"]]],\"882\":[\"882\",0,\"[13]\\\\d{6}(?:\\\\d{2,5})?|285\\\\d{9}|(?:[19]\\\\d|49)\\\\d{6}\",[7,8,9,10,11,12],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"16|342\"]],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"4\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[19]\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"3[23]\"]],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"34[57]\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"34\"]],[\"(\\\\d{2})(\\\\d{4,5})(\\\\d{5})\",\"$1 $2 $3\",[\"[1-3]\"]]],0,0,0,0,0,0,[0,[\"342\\\\d{4}|(?:337|49)\\\\d{6}|3(?:2|47|7\\\\d{3})\\\\d{7}\",[7,8,9,10,12]],0,0,0,0,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})|(?:(?:285\\\\d\\\\d|3(?:45|[69]\\\\d{3}))\\\\d|9[89])\\\\d{6}\"]]],\"883\":[\"883\",0,\"(?:210|370\\\\d\\\\d)\\\\d{7}|51\\\\d{7}(?:\\\\d{3})?\",[9,10,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"510\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"]],[\"(\\\\d{4})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"51[13]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"[35]\"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,[\"(?:210|(?:370[1-9]|51[013]0)\\\\d)\\\\d{7}|5100\\\\d{5}\"]]],\"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}","// The minimum length of the national significant number.\nexport var MIN_LENGTH_FOR_NSN = 2; // The ITU says the maximum length should be 15,\n// but one can find longer numbers in Germany.\n\nexport var MAX_LENGTH_FOR_NSN = 17; // The maximum length of the country calling code.\n\nexport var MAX_LENGTH_COUNTRY_CODE = 3; // Digits accepted in phone numbers\n// (ascii, fullwidth, arabic-indic, and eastern arabic digits).\n\nexport var VALID_DIGITS = \"0-9\\uFF10-\\uFF19\\u0660-\\u0669\\u06F0-\\u06F9\"; // `DASHES` will be right after the opening square bracket of the \"character class\"\n\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\\\\[\\\\]\"; // export const OPENING_BRACKETS = '(\\uFF08\\uFF3B\\\\\\['\n\nvar TILDES = \"~\\u2053\\u223C\\uFF5E\"; // 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.\n\nexport var VALID_PUNCTUATION = \"\".concat(DASHES).concat(SLASHES).concat(DOTS).concat(WHITESPACE).concat(BRACKETS).concat(TILDES);\nexport var PLUS_CHARS = \"+\\uFF0B\"; // const LEADING_PLUS_CHARS_PATTERN = new RegExp('^[' + PLUS_CHARS + ']+')\n//# sourceMappingURL=constants.js.map","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\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 _inherits(ParseError, _Error);\n\n var _super = _createSuper(ParseError);\n\n function ParseError(code) {\n var _this;\n\n _classCallCheck(this, ParseError);\n\n _this = _super.call(this, code); // Set the prototype explicitly.\n // Any subclass of FooError will have to manually set the prototype as well.\n\n Object.setPrototypeOf(_assertThisInitialized(_this), ParseError.prototype);\n _this.name = _this.constructor.name;\n return _this;\n }\n\n return _createClass(ParseError);\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nexport { ParseError as default };\n//# sourceMappingURL=ParseError.js.map","// 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\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\n if (a[1] && b[1]) {\n return a[1] > b[1] ? 1 : a[1] < b[1] ? -1 : 0;\n }\n\n return !a[1] && b[1] ? 1 : a[1] && !b[1] ? -1 : 0;\n}\n//# sourceMappingURL=semver-compare.js.map","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nimport compare from './tools/semver-compare.js'; // Added \"possibleLengths\" and renamed\n// \"country_phone_code_to_countries\" to \"country_calling_codes\".\n\nvar V2 = '1.0.18'; // Added \"idd_prefix\" and \"default_idd_prefix\".\n\nvar V3 = '1.2.0'; // Moved `001` country code to \"nonGeographic\" section of metadata.\n\nvar V4 = '1.7.35';\nvar DEFAULT_EXT_PREFIX = ' ext. ';\nvar CALLING_CODE_REG_EXP = /^\\d+$/;\n/**\r\n * See: https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/METADATA.md\r\n */\n\nvar Metadata = /*#__PURE__*/function () {\n function Metadata(metadata) {\n _classCallCheck(this, Metadata);\n\n validateMetadata(metadata);\n this.metadata = metadata;\n setVersion.call(this, metadata);\n }\n\n _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; // `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\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\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\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 } // Deprecated.\n\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\n if (countryCode && countryCode !== '001') {\n if (!this.hasCountry(countryCode)) {\n throw new Error(\"Unknown country: \".concat(countryCode));\n }\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\n this.numberingPlan = new NumberingPlan(this.getNumberingPlanMetadata(callingCode), this);\n } else {\n this.numberingPlan = undefined;\n }\n\n return this;\n }\n }, {\n key: \"getCountryCodesForCallingCode\",\n value: function getCountryCodesForCallingCode(callingCode) {\n var countryCodes = this.countryCallingCodes()[callingCode];\n\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\n return countryCodes;\n }\n }\n }, {\n key: \"getCountryCodeForCallingCode\",\n value: function getCountryCodeForCallingCode(callingCode) {\n var countryCodes = this.getCountryCodesForCallingCode(callingCode);\n\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\n if (countryCode) {\n return this.getCountryMetadata(countryCode);\n }\n\n if (this.nonGeographic()) {\n var metadata = this.nonGeographic()[callingCode];\n\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\n if (countryCodes && countryCodes.length === 1 && countryCodes[0] === '001') {\n return this.metadata.countries['001'];\n }\n }\n } // Deprecated.\n\n }, {\n key: \"countryCallingCode\",\n value: function countryCallingCode() {\n return this.numberingPlan.callingCode();\n } // Deprecated.\n\n }, {\n key: \"IDDPrefix\",\n value: function IDDPrefix() {\n return this.numberingPlan.IDDPrefix();\n } // Deprecated.\n\n }, {\n key: \"defaultIDDPrefix\",\n value: function defaultIDDPrefix() {\n return this.numberingPlan.defaultIDDPrefix();\n } // Deprecated.\n\n }, {\n key: \"nationalNumberPattern\",\n value: function nationalNumberPattern() {\n return this.numberingPlan.nationalNumberPattern();\n } // Deprecated.\n\n }, {\n key: \"possibleLengths\",\n value: function possibleLengths() {\n return this.numberingPlan.possibleLengths();\n } // Deprecated.\n\n }, {\n key: \"formats\",\n value: function formats() {\n return this.numberingPlan.formats();\n } // Deprecated.\n\n }, {\n key: \"nationalPrefixForParsing\",\n value: function nationalPrefixForParsing() {\n return this.numberingPlan.nationalPrefixForParsing();\n } // Deprecated.\n\n }, {\n key: \"nationalPrefixTransformRule\",\n value: function nationalPrefixTransformRule() {\n return this.numberingPlan.nationalPrefixTransformRule();\n } // Deprecated.\n\n }, {\n key: \"leadingDigits\",\n value: function leadingDigits() {\n return this.numberingPlan.leadingDigits();\n } // Deprecated.\n\n }, {\n key: \"hasTypes\",\n value: function hasTypes() {\n return this.numberingPlan.hasTypes();\n } // Deprecated.\n\n }, {\n key: \"type\",\n value: function type(_type) {\n return this.numberingPlan.type(_type);\n } // Deprecated.\n\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 } // Deprecated.\n\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\n return Metadata;\n}();\n\nexport { Metadata as default };\n\nvar NumberingPlan = /*#__PURE__*/function () {\n function NumberingPlan(metadata, globalMetadataObject) {\n _classCallCheck(this, NumberingPlan);\n\n this.globalMetadataObject = globalMetadataObject;\n this.metadata = metadata;\n setVersion.call(this, globalMetadataObject.metadata);\n }\n\n _createClass(NumberingPlan, [{\n key: \"callingCode\",\n value: function callingCode() {\n return this.metadata[0];\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 }, {\n key: \"getDefaultCountryMetadataForRegion\",\n value: function getDefaultCountryMetadataForRegion() {\n return this.globalMetadataObject.getNumberingPlanMetadata(this.callingCode());\n } // Is always present.\n\n }, {\n key: \"IDDPrefix\",\n value: function IDDPrefix() {\n if (this.v1 || this.v2) return;\n return this.metadata[1];\n } // Is only present when a country supports multiple IDD prefixes.\n\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 } // \"possible length\" data is always present in Google's metadata.\n\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 } // 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 }, {\n key: \"formats\",\n value: function formats() {\n var _this = this;\n\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 } // 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 }, {\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 } // 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 }, {\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\n /* istanbul ignore next */\n if (this.types() && this.types().length === 0) {\n return false;\n } // Versions <= 1.2.4: can be `undefined`.\n // Version >= 1.2.5: can be `0`.\n\n\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\n return NumberingPlan;\n}();\n\nvar Format = /*#__PURE__*/function () {\n function Format(format, metadata) {\n _classCallCheck(this, Format);\n\n this._format = format;\n this.metadata = metadata;\n }\n\n _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 } // Checks whether national prefix formatting rule contains national prefix.\n\n }, {\n key: \"usesNationalPrefix\",\n value: function usesNationalPrefix() {\n return this.nationalPrefixFormattingRule() && // Check that national prefix formatting rule is not a \"dummy\" one.\n !FIRST_GROUP_ONLY_PREFIX_PATTERN.test(this.nationalPrefixFormattingRule()) // 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 return Format;\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 */\n\n\nvar FIRST_GROUP_ONLY_PREFIX_PATTERN = /^\\(?\\$1\\)?$/;\n\nvar Type = /*#__PURE__*/function () {\n function Type(type, metadata) {\n _classCallCheck(this, Type);\n\n this.type = type;\n this.metadata = metadata;\n }\n\n _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\n return Type;\n}();\n\nfunction getType(types, type) {\n switch (type) {\n case 'FIXED_LINE':\n return types[0];\n\n case 'MOBILE':\n return types[1];\n\n case 'TOLL_FREE':\n return types[2];\n\n case 'PREMIUM_RATE':\n return types[3];\n\n case 'PERSONAL_NUMBER':\n return types[4];\n\n case 'VOICEMAIL':\n return types[5];\n\n case 'UAN':\n return types[6];\n\n case 'PAGER':\n return types[7];\n\n case 'VOIP':\n return types[8];\n\n case 'SHARED_COST':\n return types[9];\n }\n}\n\nexport function validateMetadata(metadata) {\n if (!metadata) {\n throw new Error('[libphonenumber-js] `metadata` argument not passed. Check your arguments.');\n } // `country_phone_code_to_countries` was renamed to\n // `country_calling_codes` in `1.0.18`.\n\n\n if (!is_object(metadata) || !is_object(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(is_object(metadata) ? 'an object of shape: { ' + Object.keys(metadata).join(', ') + ' }' : 'a ' + type_of(metadata) + ': ' + metadata, \".\"));\n }\n} // Babel transforms `typeof` into some \"branches\"\n// so istanbul will show this as \"branch not covered\".\n\n/* istanbul ignore next */\n\nvar is_object = function is_object(_) {\n return _typeof(_) === 'object';\n}; // Babel transforms `typeof` into some \"branches\"\n// so istanbul will show this as \"branch not covered\".\n\n/* istanbul ignore next */\n\n\nvar type_of = function type_of(_) {\n return _typeof(_);\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 */\n\n\nexport function getExtPrefix(country, metadata) {\n metadata = new Metadata(metadata);\n\n if (metadata.hasCountry(country)) {\n return metadata.country(country).ext();\n }\n\n return DEFAULT_EXT_PREFIX;\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 */\n\nexport function getCountryCallingCode(country, metadata) {\n metadata = new Metadata(metadata);\n\n if (metadata.hasCountry(country)) {\n return metadata.country(country).countryCallingCode();\n }\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[country] !== undefined;\n}\n\nfunction setVersion(metadata) {\n var version = metadata.version;\n\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} // 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 { VALID_DIGITS } from '../../constants.js'; // The RFC 3966 format for extensions.\n\nvar RFC3966_EXTN_PREFIX = ';ext=';\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 */\n\nvar getExtensionDigitsPattern = function getExtensionDigitsPattern(maxLength) {\n return \"([\".concat(VALID_DIGITS, \"]{1,\").concat(maxLength, \"})\");\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 */\n\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\n /** @type {string} */\n var extLimitAfterExplicitLabel = '20';\n /** @type {string} */\n\n var extLimitAfterLikelyLabel = '15';\n /** @type {string} */\n\n var extLimitAfterAmbiguousChar = '9';\n /** @type {string} */\n\n var extLimitWhenNotSure = '6';\n /** @type {string} */\n\n var possibleSeparatorsBetweenNumberAndExtLabel = \"[ \\xA0\\\\t,]*\"; // Optional full stop (.) or colon, followed by zero or more spaces/tabs/commas.\n\n /** @type {string} */\n\n var possibleCharsAfterExtLabel = \"[:\\\\.\\uFF0E]?[ \\xA0\\\\t,-]*\";\n /** @type {string} */\n\n var optionalExtnSuffix = \"#?\"; // Here the extension is called out in more explicit way, i.e mentioning it obvious\n // patterns like \"ext.\".\n\n /** @type {string} */\n\n var explicitExtLabels = \"(?:e?xt(?:ensi(?:o\\u0301?|\\xF3))?n?|\\uFF45?\\uFF58\\uFF54\\uFF4E?|\\u0434\\u043E\\u0431|anexo)\"; // One-character symbols that can be used to indicate an extension, and less\n // commonly used or more ambiguous extension labels.\n\n /** @type {string} */\n\n var ambiguousExtLabels = \"(?:[x\\uFF58#\\uFF03~\\uFF5E]|int|\\uFF49\\uFF4E\\uFF54)\"; // When extension is not separated clearly.\n\n /** @type {string} */\n\n var ambiguousSeparator = \"[- ]+\"; // This is the same as possibleSeparatorsBetweenNumberAndExtLabel, but not matching\n // comma as extension label may have it.\n\n /** @type {string} */\n\n var possibleSeparatorsNumberExtLabelNoComma = \"[ \\xA0\\\\t]*\"; // \",,\" 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\n /** @type {string} */\n\n var autoDiallingAndExtLabelsFound = \"(?:,{2}|;)\";\n /** @type {string} */\n\n var rfcExtn = RFC3966_EXTN_PREFIX + getExtensionDigitsPattern(extLimitAfterExplicitLabel);\n /** @type {string} */\n\n var explicitExtn = possibleSeparatorsBetweenNumberAndExtLabel + explicitExtLabels + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterExplicitLabel) + optionalExtnSuffix;\n /** @type {string} */\n\n var ambiguousExtn = possibleSeparatorsBetweenNumberAndExtLabel + ambiguousExtLabels + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterAmbiguousChar) + optionalExtnSuffix;\n /** @type {string} */\n\n var americanStyleExtnWithSuffix = ambiguousSeparator + getExtensionDigitsPattern(extLimitWhenNotSure) + \"#\";\n /** @type {string} */\n\n var autoDiallingExtn = possibleSeparatorsNumberExtLabelNoComma + autoDiallingAndExtLabelsFound + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterLikelyLabel) + optionalExtnSuffix;\n /** @type {string} */\n\n var onlyCommasExtn = possibleSeparatorsNumberExtLabelNoComma + \"(?:,)+\" + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterAmbiguousChar) + optionalExtnSuffix; // 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\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'; // 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//\n\nvar MIN_LENGTH_PHONE_NUMBER_PATTERN = '[' + VALID_DIGITS + ']{' + MIN_LENGTH_FOR_NSN + '}'; //\n// And this is the second reg-exp:\n// (see MIN_LENGTH_PHONE_NUMBER_PATTERN for a full description of this reg-exp)\n//\n\nexport var VALID_PHONE_NUMBER = '[' + PLUS_CHARS + ']{0,1}' + '(?:' + '[' + VALID_PUNCTUATION + ']*' + '[' + VALID_DIGITS + ']' + '){3,}' + '[' + VALID_PUNCTUATION + VALID_DIGITS + ']*'; // 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.\n\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 + // Phone number extensions\n'(?:' + createExtensionPattern() + ')?'; // The combined regular expression for valid phone numbers:\n//\n\nvar VALID_PHONE_NUMBER_PATTERN = new RegExp( // Either a short two-digit-only phone number\n'^' + MIN_LENGTH_PHONE_NUMBER_PATTERN + '$' + '|' + // Or a longer fully parsed phone number (min 3 characters)\n'^' + VALID_PHONE_NUMBER_WITH_EXTENSION + '$', 'i'); // 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//\n\nexport default function isViablePhoneNumber(number) {\n return number.length >= MIN_LENGTH_FOR_NSN && VALID_PHONE_NUMBER_PATTERN.test(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.\n\nexport function isViablePhoneNumberStart(number) {\n return VALID_PHONE_NUMBER_START_REG_EXP.test(number);\n}\n//# sourceMappingURL=isViablePhoneNumber.js.map","import createExtensionPattern from './createExtensionPattern.js'; // Regexp of all known extension prefixes used by different regions followed by\n// 1 or more valid digits, for use when parsing.\n\nvar EXTN_PATTERN = new RegExp('(?:' + createExtensionPattern() + ')$', 'i'); // 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.\n\nexport default function extractExtension(number) {\n var start = number.search(EXTN_PATTERN);\n\n if (start < 0) {\n return {};\n } // If we find a potential extension, and the number preceding this is a viable\n // number, we assume it is an extension.\n\n\n var numberWithoutExtension = number.slice(0, start);\n var matches = number.match(EXTN_PATTERN);\n var i = 1;\n\n while (i < matches.length) {\n if (matches[i]) {\n return {\n number: numberWithoutExtension,\n ext: matches[i]\n };\n }\n\n i++;\n }\n}\n//# sourceMappingURL=extractExtension.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\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\n};\nexport function parseDigit(character) {\n return DIGITS[character];\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 */\n\nexport default function parseDigits(string) {\n var result = ''; // 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\n for (var _iterator = _createForOfIteratorHelperLoose(string.split('')), _step; !(_step = _iterator()).done;) {\n var character = _step.value;\n var digit = parseDigit(character);\n\n if (digit) {\n result += digit;\n }\n }\n\n return result;\n}\n//# sourceMappingURL=parseDigits.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { parseDigit } from './helpers/parseDigits.js';\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 */\n\nexport default function parseIncompletePhoneNumber(string) {\n var result = ''; // 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\n for (var _iterator = _createForOfIteratorHelperLoose(string.split('')), _step; !(_step = _iterator()).done;) {\n var character = _step.value;\n result += parsePhoneNumberCharacter(character, result) || '';\n }\n\n return result;\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 {object} meta - Optional custom use-case-specific metadata.\r\n * @return {string?} The parsed character.\r\n */\n\nexport function parsePhoneNumberCharacter(character, prevParsedCharacters) {\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 return;\n }\n\n return '+';\n } // Allow digits.\n\n\n return parseDigit(character);\n}\n//# sourceMappingURL=parseIncompletePhoneNumber.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n/**\r\n * Merges two arrays.\r\n * @param {*} a\r\n * @param {*} b\r\n * @return {*}\r\n */\nexport default function mergeArrays(a, b) {\n var merged = a.slice();\n\n for (var _iterator = _createForOfIteratorHelperLoose(b), _step; !(_step = _iterator()).done;) {\n var element = _step.value;\n\n if (a.indexOf(element) < 0) {\n merged.push(element);\n }\n }\n\n return merged.sort(function (a, b) {\n return a - b;\n }); // ES6 version, requires Set polyfill.\n // let merged = new Set(a)\n // for (const element of b) {\n // \tmerged.add(i)\n // }\n // return Array.from(merged).sort((a, b) => a - b)\n}\n//# sourceMappingURL=mergeArrays.js.map","import mergeArrays from './mergeArrays.js';\nexport default function checkNumberLength(nationalNumber, metadata) {\n return checkNumberLengthForType(nationalNumber, undefined, metadata);\n} // Checks whether a number is possible for the country based on its length.\n// Should only be called for the \"new\" metadata which has \"possible lengths\".\n\nexport function checkNumberLengthForType(nationalNumber, type, metadata) {\n var type_info = metadata.type(type); // There should always be \"\" 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 \"\" 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\n var possible_lengths = type_info && type_info.possibleLengths() || metadata.possibleLengths(); // let local_lengths = type_info && type.possibleLengthsLocal() || metadata.possibleLengthsLocal()\n // Metadata before version `1.0.18` didn't contain `possible_lengths`.\n\n if (!possible_lengths) {\n return 'IS_POSSIBLE';\n }\n\n if (type === 'FIXED_LINE_OR_MOBILE') {\n // No such country in metadata.\n\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, 'MOBILE', metadata);\n }\n\n var mobile_type = metadata.type('MOBILE');\n\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()); // 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 // if (local_lengths) {\n // \tlocal_lengths = mergeArrays(local_lengths, mobile_type.possibleLengthsLocal())\n // } else {\n // \tlocal_lengths = mobile_type.possibleLengthsLocal()\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\n var actual_length = nationalNumber.length; // 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\n if (minimum_length === actual_length) {\n return 'IS_POSSIBLE';\n }\n\n if (minimum_length > actual_length) {\n return 'TOO_SHORT';\n }\n\n if (possible_lengths[possible_lengths.length - 1] < actual_length) {\n return 'TOO_LONG';\n } // We skip the first element since we've already checked it.\n\n\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';\nexport default function isPossiblePhoneNumber(input, options, metadata) {\n /* istanbul ignore if */\n if (options === undefined) {\n options = {};\n }\n\n metadata = new Metadata(metadata);\n\n if (options.v2) {\n if (!input.countryCallingCode) {\n throw new Error('Invalid phone number object passed');\n }\n\n metadata.selectNumberingPlan(input.countryCallingCode);\n } else {\n if (!input.phone) {\n return false;\n }\n\n if (input.country) {\n if (!metadata.hasCountry(input.country)) {\n throw new Error(\"Unknown country: \".concat(input.country));\n }\n\n metadata.country(input.country);\n } else {\n if (!input.countryCallingCode) {\n throw new Error('Invalid phone number object passed');\n }\n\n metadata.selectNumberingPlan(input.countryCallingCode);\n }\n } // Old metadata (< 1.0.18) had no \"possible length\" data.\n\n\n if (metadata.possibleLengths()) {\n return isPossibleNumber(input.phone || input.nationalNumber, 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, metadata) {\n //, isInternational) {\n switch (checkNumberLength(nationalNumber, 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\n default:\n return false;\n }\n}\n//# sourceMappingURL=isPossibleNumber_.js.map","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\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.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport isViablePhoneNumber from './isViablePhoneNumber.js'; // 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 */\n\nexport function parseRFC3966(text) {\n var number;\n var ext; // Replace \"tel:\" with \"tel=\" for parsing convenience.\n\n text = text.replace(/^tel:/, 'tel=');\n\n for (var _iterator = _createForOfIteratorHelperLoose(text.split(';')), _step; !(_step = _iterator()).done;) {\n var part = _step.value;\n\n var _part$split = part.split('='),\n _part$split2 = _slicedToArray(_part$split, 2),\n name = _part$split2[0],\n value = _part$split2[1];\n\n switch (name) {\n case 'tel':\n number = value;\n break;\n\n case 'ext':\n ext = value;\n break;\n\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\n break;\n }\n } // If the phone number is not viable, then abort.\n\n\n if (!isViablePhoneNumber(number)) {\n return {};\n }\n\n var result = {\n number: number\n };\n\n if (ext) {\n result.ext = ext;\n }\n\n return result;\n}\n/**\r\n * @param {object} - `{ ?number, ?extension }`.\r\n * @return {string} Phone URI (RFC 3966).\r\n */\n\nexport function formatRFC3966(_ref) {\n var number = _ref.number,\n ext = _ref.ext;\n\n if (!number) {\n return '';\n }\n\n if (number[0] !== '+') {\n throw new Error(\"\\\"formatRFC3966()\\\" expects \\\"number\\\" to be in E.164 format.\");\n }\n\n return \"tel:\".concat(number).concat(ext ? ';ext=' + ext : '');\n}\n//# sourceMappingURL=RFC3966.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, regular_expression) {\n // If assigning the `''` default value is moved to the arguments above,\n // code coverage would decrease for some weird reason.\n text = text || '';\n return new RegExp('^(?:' + regular_expression + ')$').test(text);\n}\n//# sourceMappingURL=matchesEntirely.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\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']; // Finds out national phone number type (fixed line, mobile, etc)\n\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 || {}; // When `parse()` returned `{}`\n // meaning that the phone number is not a valid one.\n\n if (!input.country) {\n return;\n }\n\n metadata = new Metadata(metadata);\n metadata.selectNumberingPlan(input.country, input.countryCallingCode);\n var nationalNumber = options.v2 ? input.nationalNumber : input.phone; // The following is copy-pasted from the original function:\n // https://github.com/googlei18n/libphonenumber/blob/3ea547d4fbaa2d0b67588904dfa5d3f2557c27ff/javascript/i18n/phonenumbers/phonenumberutil.js#L2835\n // Is this national number even valid for this country\n\n if (!matchesEntirely(nationalNumber, metadata.nationalNumberPattern())) {\n return;\n } // Is it fixed line number\n\n\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 } // `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\n\n if (!metadata.type('MOBILE')) {\n return 'FIXED_LINE_OR_MOBILE';\n } // Check if the number happens to qualify as both fixed line and mobile.\n // (no such country in the minimal metadata set)\n\n /* istanbul ignore if */\n\n\n if (isNumberTypeEqualTo(nationalNumber, 'MOBILE', metadata)) {\n return 'FIXED_LINE_OR_MOBILE';\n }\n\n return 'FIXED_LINE';\n }\n\n for (var _iterator = _createForOfIteratorHelperLoose(NON_FIXED_LINE_PHONE_TYPES), _step; !(_step = _iterator()).done;) {\n var type = _step.value;\n\n if (isNumberTypeEqualTo(nationalNumber, type, metadata)) {\n return type;\n }\n }\n}\nexport function isNumberTypeEqualTo(nationalNumber, type, metadata) {\n type = metadata.type(type);\n\n if (!type || !type.pattern()) {\n return false;\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\n\n if (type.possibleLengths() && type.possibleLengths().indexOf(nationalNumber.length) < 0) {\n return false;\n }\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/**\r\n * Checks if a given phone number is valid.\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 */\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); // This is just to support `isValidNumber({})`\n // for cases when `parseNumber()` returns `{}`.\n\n if (!input.country) {\n return false;\n }\n\n metadata.selectNumberingPlan(input.country, input.countryCallingCode); // By default, countries only have type regexps when it's required for\n // distinguishing different countries having the same `countryCallingCode`.\n\n if (metadata.hasTypes()) {\n return getNumberType(input, options, metadata.metadata) !== undefined;\n } // If there are no type regexps for this country in metadata then use\n // `nationalNumberPattern` as a \"better than nothing\" replacement.\n\n\n var national_number = options.v2 ? input.nationalNumber : input.phone;\n return matchesEntirely(national_number, metadata.nationalNumberPattern());\n}\n//# sourceMappingURL=validate_.js.map","import { VALID_PUNCTUATION } from '../constants.js'; // 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 ``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 `` 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//\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'; // 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.\n\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() : // 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\n if (useInternationalFormat) {\n return applyInternationalSeparatorStyle(formattedNumber);\n }\n\n return formattedNumber;\n}\n//# sourceMappingURL=formatNationalNumberUsingFormat.js.map","import Metadata from '../metadata.js';\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 */\n\nvar SINGLE_IDD_PREFIX_REG_EXP = /^[\\d]+(?:[~\\u2053\\u223C\\uFF5E][\\d]+)?$/; // For regions that have multiple IDD prefixes\n// a preferred IDD prefix is returned.\n\nexport default function getIddPrefix(country, callingCode, metadata) {\n var countryMetadata = new Metadata(metadata);\n countryMetadata.selectNumberingPlan(country, callingCode);\n\n if (countryMetadata.defaultIDDPrefix()) {\n return countryMetadata.defaultIDDPrefix();\n }\n\n if (SINGLE_IDD_PREFIX_REG_EXP.test(countryMetadata.IDDPrefix())) {\n return countryMetadata.IDDPrefix();\n }\n}\n//# sourceMappingURL=getIddPrefix.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// 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\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}; // Formats a phone number\n//\n// Example use cases:\n//\n// ```js\n// formatNumber('8005553535', 'RU', 'INTERNATIONAL')\n// formatNumber('8005553535', 'RU', 'INTERNATIONAL', metadata)\n// formatNumber({ phone: '8005553535', country: 'RU' }, 'INTERNATIONAL')\n// formatNumber({ phone: '8005553535', country: 'RU' }, 'INTERNATIONAL', metadata)\n// formatNumber('+78005553535', 'NATIONAL')\n// formatNumber('+78005553535', 'NATIONAL', metadata)\n// ```\n//\n\nexport default function formatNumber(input, format, options, metadata) {\n // Apply default options.\n if (options) {\n options = _objectSpread(_objectSpread({}, DEFAULT_OPTIONS), options);\n } else {\n options = DEFAULT_OPTIONS;\n }\n\n metadata = new Metadata(metadata);\n\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\n metadata.country(input.country);\n } else if (input.countryCallingCode) {\n metadata.selectNumberingPlan(input.countryCallingCode);\n } else return input.phone || '';\n\n var countryCallingCode = metadata.countryCallingCode();\n var nationalNumber = options.v2 ? input.nationalNumber : input.phone; // This variable should have been declared inside `case`s\n // but Babel has a bug and it says \"duplicate variable declaration\".\n\n var number;\n\n switch (format) {\n case 'NATIONAL':\n // Legacy argument support.\n // (`{ country: ..., phone: '' }`)\n if (!nationalNumber) {\n return '';\n }\n\n number = formatNationalNumber(nationalNumber, input.carrierCode, 'NATIONAL', metadata, options);\n return addExtension(number, input.ext, metadata, options.formatExtension);\n\n case 'INTERNATIONAL':\n // Legacy argument support.\n // (`{ country: ..., phone: '' }`)\n if (!nationalNumber) {\n return \"+\".concat(countryCallingCode);\n }\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\n case 'E.164':\n // `E.164` doesn't define \"phone number extensions\".\n return \"+\".concat(countryCallingCode).concat(nationalNumber);\n\n case 'RFC3966':\n return formatRFC3966({\n number: \"+\".concat(countryCallingCode).concat(nationalNumber),\n ext: input.ext\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\n case 'IDD':\n if (!options.fromCountry) {\n return; // throw new Error('`fromCountry` option not passed for IDD-prefixed formatting.')\n }\n\n var formattedNumber = formatIDD(nationalNumber, input.carrierCode, countryCallingCode, options.fromCountry, metadata);\n return addExtension(formattedNumber, input.ext, metadata, options.formatExtension);\n\n default:\n throw new Error(\"Unknown \\\"format\\\" argument passed to \\\"formatNumber()\\\": \\\"\".concat(format, \"\\\"\"));\n }\n}\n\nfunction formatNationalNumber(number, carrierCode, formatAs, metadata, options) {\n var format = chooseFormatForNumber(metadata.formats(), number);\n\n if (!format) {\n return number;\n }\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}\n\nfunction chooseFormatForNumber(availableFormats, nationalNnumber) {\n for (var _iterator = _createForOfIteratorHelperLoose(availableFormats), _step; !(_step = _iterator()).done;) {\n var format = _step.value;\n\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]; // If leading digits don't match then move on to the next phone number format\n\n if (nationalNnumber.search(lastLeadingDigitsPattern) !== 0) {\n continue;\n }\n } // Check that the national number matches the phone number format regular expression\n\n\n if (matchesEntirely(nationalNnumber, format.pattern())) {\n return format;\n }\n }\n}\n\nfunction addExtension(formattedNumber, ext, metadata, formatExtension) {\n return ext ? formatExtension(formattedNumber, ext, metadata) : formattedNumber;\n}\n\nfunction formatIDD(nationalNumber, carrierCode, countryCallingCode, fromCountry, metadata) {\n var fromCountryCallingCode = getCountryCallingCode(fromCountry, metadata.metadata); // When calling within the same country calling code.\n\n if (fromCountryCallingCode === countryCallingCode) {\n var formattedNumber = formatNationalNumber(nationalNumber, carrierCode, 'NATIONAL', metadata); // For NANPA regions, return the national format for these regions\n // but prefix it with the country calling code.\n\n if (countryCallingCode === '1') {\n return countryCallingCode + ' ' + formattedNumber;\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\n\n return formattedNumber;\n }\n\n var iddPrefix = getIddPrefix(fromCountry, undefined, metadata.metadata);\n\n if (iddPrefix) {\n return \"\".concat(iddPrefix, \" \").concat(countryCallingCode, \" \").concat(formatNationalNumber(nationalNumber, null, 'INTERNATIONAL', metadata));\n }\n}\n//# sourceMappingURL=format_.js.map","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nimport Metadata from './metadata.js';\nimport isPossibleNumber from './isPossibleNumber_.js';\nimport isValidNumber from './validate_.js';\nimport isValidNumberForRegion from './isValidNumberForRegion_.js';\nimport getNumberType from './helpers/getNumberType.js';\nimport formatNumber from './format_.js';\nvar USE_NON_GEOGRAPHIC_COUNTRY_CODE = false;\n\nvar PhoneNumber = /*#__PURE__*/function () {\n function PhoneNumber(countryCallingCode, nationalNumber, metadata) {\n _classCallCheck(this, PhoneNumber);\n\n if (!countryCallingCode) {\n throw new TypeError('`country` or `countryCallingCode` not passed');\n }\n\n if (!nationalNumber) {\n throw new TypeError('`nationalNumber` not passed');\n }\n\n if (!metadata) {\n throw new TypeError('`metadata` not passed');\n }\n\n var _metadata = new Metadata(metadata); // If country code is passed then derive `countryCallingCode` from it.\n // Also store the country code as `.country`.\n\n\n if (isCountryCode(countryCallingCode)) {\n this.country = countryCallingCode;\n\n _metadata.country(countryCallingCode);\n\n countryCallingCode = _metadata.countryCallingCode();\n } else {\n /* istanbul ignore if */\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n if (_metadata.isNonGeographicCallingCode(countryCallingCode)) {\n this.country = '001';\n }\n }\n }\n\n this.countryCallingCode = countryCallingCode;\n this.nationalNumber = nationalNumber;\n this.number = '+' + this.countryCallingCode + this.nationalNumber;\n this.metadata = metadata;\n }\n\n _createClass(PhoneNumber, [{\n key: \"setExt\",\n value: function setExt(ext) {\n this.ext = ext;\n }\n }, {\n key: \"isPossible\",\n value: function isPossible() {\n return isPossibleNumber(this, {\n v2: true\n }, this.metadata);\n }\n }, {\n key: \"isValid\",\n value: function isValid() {\n return isValidNumber(this, {\n v2: true\n }, this.metadata);\n }\n }, {\n key: \"isNonGeographic\",\n value: function isNonGeographic() {\n var metadata = new Metadata(this.metadata);\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 } // // Is just an alias for `this.isValid() && this.country === country`.\n // // https://github.com/googlei18n/libphonenumber/blob/master/FAQ.md#when-should-i-use-isvalidnumberforregion\n // isValidForRegion(country) {\n // \treturn isValidNumberForRegion(this, country, { v2: true }, this.metadata)\n // }\n\n }, {\n key: \"getType\",\n value: function getType() {\n return getNumberType(this, {\n v2: true\n }, this.metadata);\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.metadata);\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\n return PhoneNumber;\n}();\n\nexport { PhoneNumber as default };\n\nvar isCountryCode = function isCountryCode(value) {\n return /^[A-Z]{2}$/.test(value);\n};\n//# sourceMappingURL=PhoneNumber.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 } // Check if the number is IDD-prefixed.\n\n\n var countryMetadata = new Metadata(metadata);\n countryMetadata.selectNumberingPlan(country, callingCode);\n var IDDPrefixPattern = new RegExp(countryMetadata.IDDPrefix());\n\n if (number.search(IDDPrefixPattern) !== 0) {\n return;\n } // Strip IDD prefix.\n\n\n number = number.slice(number.match(IDDPrefixPattern)[0].length); // 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\n var matchedGroups = number.match(CAPTURING_DIGIT_PATTERN);\n\n if (matchedGroups && matchedGroups[1] != null && matchedGroups[1].length > 0) {\n if (matchedGroups[1] === '0') {\n return;\n }\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\n if (prefixMatch) {\n var nationalNumber;\n var carrierCode; // 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\n var capturedGroupsCount = prefixMatch.length - 1;\n var hasCapturedGroups = capturedGroupsCount > 0 && prefixMatch[capturedGroupsCount];\n\n if (metadata.nationalPrefixTransformRule() && hasCapturedGroups) {\n nationalNumber = number.replace(prefixPattern, metadata.nationalPrefixTransformRule()); // If there's more than one captured group,\n // then carrier code is the second one.\n\n if (capturedGroupsCount > 1) {\n carrierCode = prefixMatch[1];\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); // If there's at least one captured group,\n // then carrier code is the first one.\n\n if (hasCapturedGroups) {\n carrierCode = prefixMatch[1];\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\n\n var nationalPrefix;\n\n if (hasCapturedGroups) {\n var possiblePositionOfTheFirstCapturedGroup = number.indexOf(prefixMatch[1]);\n var possibleNationalPrefix = number.slice(0, possiblePositionOfTheFirstCapturedGroup); // 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\n if (possibleNationalPrefix === metadata.numberingPlan.nationalPrefix()) {\n nationalPrefix = metadata.numberingPlan.nationalPrefix();\n }\n } else {\n nationalPrefix = prefixMatch[0];\n }\n\n return {\n nationalNumber: nationalNumber,\n nationalPrefix: nationalPrefix,\n carrierCode: carrierCode\n };\n }\n }\n\n return {\n nationalNumber: number\n };\n}\n//# sourceMappingURL=extractNationalNumberFromPossiblyIncompleteNumber.js.map","import extractNationalNumberFromPossiblyIncompleteNumber from './extractNationalNumberFromPossiblyIncompleteNumber.js';\nimport matchesEntirely from './matchesEntirely.js';\nimport checkNumberLength from './checkNumberLength.js';\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 {Metadata} metadata — Metadata with a phone numbering plan selected.\r\n * @return {object} `{ nationalNumber: string, carrierCode: string? }`.\r\n */\n\nexport default function extractNationalNumber(number, 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\n if (nationalNumber !== number) {\n if (!shouldHaveExtractedNationalPrefix(number, nationalNumber, metadata)) {\n // Don't strip the national prefix.\n return {\n nationalNumber: number\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\n\n if (metadata.possibleLengths()) {\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, metadata)) {\n // Don't strip the national prefix.\n return {\n nationalNumber: number\n };\n }\n }\n }\n\n return {\n nationalNumber: nationalNumber,\n carrierCode: carrierCode\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`.\n\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 } // 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\n\n return true;\n}\n\nfunction isPossibleIncompleteNationalNumber(nationalNumber, metadata) {\n switch (checkNumberLength(nationalNumber, 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\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/**\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\r\n * @param {string?} callingCode\r\n * @param {object} metadata\r\n * @return {object} `{ countryCallingCode: string?, number: string }`.\r\n */\n\nexport default function extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(number, country, callingCode, metadata) {\n var countryCallingCode = country ? getCountryCallingCode(country, metadata) : callingCode;\n\n if (number.indexOf(countryCallingCode) === 0) {\n metadata = new Metadata(metadata);\n metadata.selectNumberingPlan(country, callingCode);\n var possibleShorterNumber = number.slice(countryCallingCode.length);\n\n var _extractNationalNumbe = extractNationalNumber(possibleShorterNumber, metadata),\n possibleShorterNationalNumber = _extractNationalNumbe.nationalNumber;\n\n var _extractNationalNumbe2 = extractNationalNumber(number, metadata),\n nationalNumber = _extractNationalNumbe2.nationalNumber; // 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\n\n if (!matchesEntirely(nationalNumber, metadata.nationalNumberPattern()) && matchesEntirely(possibleShorterNationalNumber, metadata.nationalNumberPattern()) || checkNumberLength(nationalNumber, metadata) === 'TOO_LONG') {\n return {\n countryCallingCode: countryCallingCode,\n number: possibleShorterNumber\n };\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/**\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] — Default country.\r\n * @param {string} [callingCode] — Default calling code (some phone numbering plans are non-geographic).\r\n * @param {object} metadata\r\n * @return {object} `{ countryCallingCode: string?, number: string }`\r\n * @example\r\n * // Returns `{ countryCallingCode: \"1\", number: \"2133734253\" }`.\r\n * extractCountryCallingCode('2133734253', 'US', null, metadata)\r\n * extractCountryCallingCode('2133734253', null, '1', metadata)\r\n * extractCountryCallingCode('+12133734253', null, null, metadata)\r\n * extractCountryCallingCode('+12133734253', 'RU', null, metadata)\r\n */\n\nexport default function extractCountryCallingCode(number, country, callingCode, metadata) {\n if (!number) {\n return {};\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\n\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, callingCode, metadata); // If an IDD prefix was stripped then\n // convert the number to international one\n // for subsequent parsing.\n\n if (numberWithoutIDD && numberWithoutIDD !== number) {\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 || callingCode) {\n var _extractCountryCallin = extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(number, country, callingCode, metadata),\n countryCallingCode = _extractCountryCallin.countryCallingCode,\n shorterNumber = _extractCountryCallin.number;\n\n if (countryCallingCode) {\n return {\n countryCallingCode: countryCallingCode,\n number: shorterNumber\n };\n }\n }\n\n return {\n number: number\n };\n }\n } // Fast abortion: country codes do not begin with a '0'\n\n\n if (number[1] === '0') {\n return {};\n }\n\n metadata = new Metadata(metadata); // 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\n var i = 2;\n\n while (i - 1 <= MAX_LENGTH_COUNTRY_CODE && i <= number.length) {\n var _countryCallingCode = number.slice(1, i);\n\n if (metadata.hasCallingCode(_countryCallingCode)) {\n metadata.selectNumberingPlan(_countryCallingCode);\n return {\n countryCallingCode: _countryCallingCode,\n number: number.slice(i)\n };\n }\n\n i++;\n }\n\n return {};\n}\n//# sourceMappingURL=extractCountryCallingCode.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport Metadata from '../metadata.js';\nimport getNumberType from './getNumberType.js';\nvar USE_NON_GEOGRAPHIC_COUNTRY_CODE = false;\nexport default function getCountryByCallingCode(callingCode, nationalPhoneNumber, metadata) {\n /* istanbul ignore if */\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n if (metadata.isNonGeographicCallingCode(callingCode)) {\n return '001';\n }\n } // Is always non-empty, because `callingCode` is always valid\n\n\n var possibleCountries = metadata.getCountryCodesForCallingCode(callingCode);\n\n if (!possibleCountries) {\n return;\n } // If there's just one country corresponding to the country code,\n // then just return it, without further phone number digits validation.\n\n\n if (possibleCountries.length === 1) {\n return possibleCountries[0];\n }\n\n return selectCountryFromList(possibleCountries, nationalPhoneNumber, metadata.metadata);\n}\n\nfunction selectCountryFromList(possibleCountries, nationalPhoneNumber, metadata) {\n // Re-create `metadata` because it will be selecting a `country`.\n metadata = new Metadata(metadata);\n\n for (var _iterator = _createForOfIteratorHelperLoose(possibleCountries), _step; !(_step = _iterator()).done;) {\n var country = _step.value;\n metadata.country(country); // Leading digits check would be the simplest and fastest one.\n // Leading digits patterns are only defined for about 20% of all countries.\n // https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/METADATA.md#leading_digits\n // Matching \"leading digits\" is a sufficient but not necessary condition.\n\n if (metadata.leadingDigits()) {\n if (nationalPhoneNumber && nationalPhoneNumber.search(metadata.leadingDigits()) === 0) {\n return country;\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 return country;\n }\n }\n}\n//# sourceMappingURL=getCountryByCallingCode.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\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 './isPossibleNumber_.js';\nimport { parseRFC3966 } from './helpers/RFC3966.js';\nimport PhoneNumber from './PhoneNumber.js';\nimport matchesEntirely from './helpers/matchesEntirely.js';\nimport extractCountryCallingCode from './helpers/extractCountryCallingCode.js';\nimport extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js';\nimport extractNationalNumber from './helpers/extractNationalNumber.js';\nimport stripIddPrefix from './helpers/stripIddPrefix.js';\nimport getCountryByCallingCode from './helpers/getCountryByCallingCode.js'; // We don't allow input strings for parsing to be longer than 250 chars.\n// This prevents malicious input from consuming CPU.\n\nvar MAX_INPUT_STRING_LENGTH = 250; // This consists of the plus symbol, digits, and arabic-indic digits.\n\nvar PHONE_NUMBER_START_PATTERN = new RegExp('[' + PLUS_CHARS + VALID_DIGITS + ']'); // 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\".\n\nvar AFTER_PHONE_NUMBER_END_PATTERN = new RegExp('[^' + VALID_DIGITS + '#' + ']+$');\nvar USE_NON_GEOGRAPHIC_COUNTRY_CODE = false; // 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\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); // Validate `defaultCountry`.\n\n if (options.defaultCountry && !metadata.hasCountry(options.defaultCountry)) {\n if (options.v2) {\n throw new ParseError('INVALID_COUNTRY');\n }\n\n throw new Error(\"Unknown country: \".concat(options.defaultCountry));\n } // Parse the phone number.\n\n\n var _parseInput = parseInput(text, options.v2, options.extract),\n formattedPhoneNumber = _parseInput.number,\n ext = _parseInput.ext,\n error = _parseInput.error; // If the phone number is not viable then return nothing.\n\n\n if (!formattedPhoneNumber) {\n if (options.v2) {\n if (error === 'TOO_SHORT') {\n throw new ParseError('TOO_SHORT');\n }\n\n throw new ParseError('NOT_A_NUMBER');\n }\n\n return {};\n }\n\n var _parsePhoneNumber = parsePhoneNumber(formattedPhoneNumber, options.defaultCountry, options.defaultCallingCode, metadata),\n country = _parsePhoneNumber.country,\n nationalNumber = _parsePhoneNumber.nationalNumber,\n countryCallingCode = _parsePhoneNumber.countryCallingCode,\n carrierCode = _parsePhoneNumber.carrierCode;\n\n if (!metadata.hasSelectedNumberingPlan()) {\n if (options.v2) {\n throw new ParseError('INVALID_COUNTRY');\n }\n\n return {};\n } // Validate national (significant) number length.\n\n\n if (!nationalNumber || nationalNumber.length < MIN_LENGTH_FOR_NSN) {\n // Won't throw here because the regexp already demands length > 1.\n\n /* istanbul ignore if */\n if (options.v2) {\n throw new ParseError('TOO_SHORT');\n } // Google's demo just throws an error in this case.\n\n\n return {};\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\n\n if (nationalNumber.length > MAX_LENGTH_FOR_NSN) {\n if (options.v2) {\n throw new ParseError('TOO_LONG');\n } // Google's demo just throws an error in this case.\n\n\n return {};\n }\n\n if (options.v2) {\n var phoneNumber = new PhoneNumber(countryCallingCode, nationalNumber, metadata.metadata);\n\n if (country) {\n phoneNumber.country = country;\n }\n\n if (carrierCode) {\n phoneNumber.carrierCode = carrierCode;\n }\n\n if (ext) {\n phoneNumber.ext = ext;\n }\n\n return phoneNumber;\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\n\n var valid = (options.extended ? metadata.hasSelectedNumberingPlan() : country) ? matchesEntirely(nationalNumber, metadata.nationalNumberPattern()) : false;\n\n if (!options.extended) {\n return valid ? result(country, nationalNumber, ext) : {};\n } // isInternational: countryCallingCode !== undefined\n\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, metadata) ? true : false,\n phone: nationalNumber,\n ext: ext\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 */\n\nfunction extractFormattedPhoneNumber(text, extract, throwOnError) {\n if (!text) {\n return;\n }\n\n if (text.length > MAX_INPUT_STRING_LENGTH) {\n if (throwOnError) {\n throw new ParseError('TOO_LONG');\n }\n\n return;\n }\n\n if (extract === false) {\n return text;\n } // Attempt to extract a possible number from the string passed in\n\n\n var startsAt = text.search(PHONE_NUMBER_START_PATTERN);\n\n if (startsAt < 0) {\n return;\n }\n\n return text // Trim everything to the left of the phone number\n .slice(startsAt) // Remove trailing non-numerical characters\n .replace(AFTER_PHONE_NUMBER_END_PATTERN, '');\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 */\n\n\nfunction parseInput(text, v2, extract) {\n // Parse RFC 3966 phone number URI.\n if (text && text.indexOf('tel:') === 0) {\n return parseRFC3966(text);\n }\n\n var number = extractFormattedPhoneNumber(text, extract, v2); // If the phone number is not viable, then abort.\n\n if (!number) {\n return {};\n }\n\n if (!isViablePhoneNumber(number)) {\n if (isViablePhoneNumberStart(number)) {\n return {\n error: 'TOO_SHORT'\n };\n }\n\n return {};\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\n\n var withExtensionStripped = extractExtension(number);\n\n if (withExtensionStripped.ext) {\n return withExtensionStripped;\n }\n\n return {\n number: number\n };\n}\n/**\r\n * Creates `parse()` result object.\r\n */\n\n\nfunction result(country, nationalNumber, ext) {\n var result = {\n country: country,\n phone: nationalNumber\n };\n\n if (ext) {\n result.ext = ext;\n }\n\n return result;\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 */\n\n\nfunction parsePhoneNumber(formattedPhoneNumber, defaultCountry, defaultCallingCode, metadata) {\n // Extract calling code from phone number.\n var _extractCountryCallin = extractCountryCallingCode(parseIncompletePhoneNumber(formattedPhoneNumber), defaultCountry, defaultCallingCode, metadata.metadata),\n countryCallingCode = _extractCountryCallin.countryCallingCode,\n number = _extractCountryCallin.number; // Choose a country by `countryCallingCode`.\n\n\n var country;\n\n if (countryCallingCode) {\n metadata.selectNumberingPlan(countryCallingCode);\n } // If `formattedPhoneNumber` is in \"national\" format\n // then `number` is defined and `countryCallingCode` isn't.\n else if (number && (defaultCountry || defaultCallingCode)) {\n metadata.selectNumberingPlan(defaultCountry, defaultCallingCode);\n\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\n countryCallingCode = defaultCallingCode || getCountryCallingCode(defaultCountry, metadata.metadata);\n } else return {};\n\n if (!number) {\n return {\n countryCallingCode: countryCallingCode\n };\n }\n\n var _extractNationalNumbe = extractNationalNumber(parseIncompletePhoneNumber(number), metadata),\n nationalNumber = _extractNationalNumbe.nationalNumber,\n carrierCode = _extractNationalNumbe.carrierCode; // 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\n\n var exactCountry = getCountryByCallingCode(countryCallingCode, nationalNumber, metadata);\n\n if (exactCountry) {\n country = exactCountry;\n /* istanbul ignore if */\n\n if (exactCountry === '001') {// 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.country(country);\n }\n }\n\n return {\n country: country,\n countryCallingCode: countryCallingCode,\n nationalNumber: nationalNumber,\n carrierCode: carrierCode\n };\n}\n//# sourceMappingURL=parse_.js.map","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport parseNumber from './parse_.js';\nexport default function parsePhoneNumber(text, options, metadata) {\n return parseNumber(text, _objectSpread(_objectSpread({}, options), {}, {\n v2: true\n }), metadata);\n}\n//# sourceMappingURL=parsePhoneNumber_.js.map","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\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.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport parsePhoneNumber_ from './parsePhoneNumber_.js';\nexport default function parsePhoneNumber() {\n var _normalizeArguments = normalizeArguments(arguments),\n text = _normalizeArguments.text,\n options = _normalizeArguments.options,\n metadata = _normalizeArguments.metadata;\n\n return parsePhoneNumber_(text, options, metadata);\n}\nexport 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\n var text;\n var options;\n var metadata; // If the phone number is passed as a string.\n // `parsePhoneNumber('88005553535', ...)`.\n\n if (typeof arg_1 === 'string') {\n text = arg_1;\n } else throw new TypeError('A text for parsing must be a string.'); // If \"default country\" argument is being passed then move it to `options`.\n // `parsePhoneNumber('88005553535', 'RU', [options], metadata)`.\n\n\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\n if (arg_2) {\n options = _objectSpread({\n defaultCountry: arg_2\n }, options);\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\n return {\n text: text,\n options: options,\n metadata: metadata\n };\n} // Otherwise istanbul would show this as \"branch not covered\".\n\n/* istanbul ignore next */\n\nvar isObject = function isObject(_) {\n return _typeof(_) === 'object';\n};\n//# sourceMappingURL=parsePhoneNumber.js.map","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport parsePhoneNumber from './parsePhoneNumber_.js';\nimport ParseError from './ParseError.js';\nimport { isSupportedCountry } from './metadata.js';\nexport default function parsePhoneNumberFromString(text, options, metadata) {\n // Validate `defaultCountry`.\n if (options && options.defaultCountry && !isSupportedCountry(options.defaultCountry, metadata)) {\n options = _objectSpread(_objectSpread({}, options), {}, {\n defaultCountry: undefined\n });\n } // Parse phone number.\n\n\n try {\n return parsePhoneNumber(text, options, metadata);\n } catch (error) {\n /* istanbul ignore else */\n if (error instanceof ParseError) {//\n } else {\n throw error;\n }\n }\n}\n//# sourceMappingURL=parsePhoneNumberFromString_.js.map","import { normalizeArguments } from './parsePhoneNumber.js';\nimport parsePhoneNumberFromString_ from './parsePhoneNumberFromString_.js';\nexport default function parsePhoneNumberFromString() {\n var _normalizeArguments = normalizeArguments(arguments),\n text = _normalizeArguments.text,\n options = _normalizeArguments.options,\n metadata = _normalizeArguments.metadata;\n\n return parsePhoneNumberFromString_(text, options, metadata);\n}\n//# sourceMappingURL=parsePhoneNumberFromString.js.map","import withMetadataArgument from './withMetadataArgument.js'\r\nimport { parsePhoneNumberFromString as _parsePhoneNumberFromString } from '../../core/index.js'\r\n\r\nexport function parsePhoneNumberFromString() {\r\n\treturn withMetadataArgument(_parsePhoneNumberFromString, arguments)\r\n}","\nimport BaseInput from '@/components/BaseInput.vue'\nimport ButtonFormBuilder from '@/components/ButtonFormBuilder.vue'\nimport IconArrow from '@/components/svg/IconArrow.vue'\nimport { UPDATE_SCANNED_UPLOAD_STATUS } from '@/store/actions'\nimport { ECustomFieldType, EFileKind, ECustomButtonFormBuilderType } from 'smartbarcode-web-core/src/utils/enums/index'\nimport { validateEmail } from '@/utils/helpers'\nimport { isEmpty } from 'smartbarcode-web-core/src/utils/typeChecker'\nimport { TFormSchema } from 'smartbarcode-web-core/src/utils/types/index'\nimport parsePhoneNumber, { CountryCode } from 'libphonenumber-js'\nimport { GhgEmissionInput } from 'smartbarcode-web-core/src/utils/ghgEmission/GhgEmissionInput'\nimport { Options, Vue, mixins } from 'vue-class-component'\nimport { InjectReactive, Prop } from 'vue-property-decorator'\nimport { GhgEmissionCalculationType } from 'smartbarcode-web-core/src/utils/ghgEmission/GhgEmissionCalculationType'\n\nexport interface IPromiseHandlers {\n resolve: Function\n reject: Function\n}\n\nexport interface IFormButton {\n id: string\n nativeType: string\n label: string\n hasNextStep?: boolean\n isShowArrow?: boolean\n type?: string\n inputType?: ECustomButtonFormBuilderType\n onClick: () => void\n options?: Array<{ value: string, label: string }>\n modelValue?: string\n}\n\n@Options({\n components: { BaseInput, IconArrow, ButtonFormBuilder },\n emits: ['submit', 'validate', 'reviewCalculation'],\n name: 'FormBuilder',\n})\nexport default class FormBuilder extends Vue {\n @InjectReactive() isShowArrow!: boolean\n @Prop({ type: Object }) readonly formSchema: TFormSchema = {}\n @Prop({ type: Object }) readonly formModel: Record = {}\n @Prop({ type: Array as () => IFormButton[] }) readonly passedButtons!: IFormButton[];\n @Prop({ type: Boolean }) readonly hasNextStep?: boolean\n @Prop({ type: Boolean }) readonly isShownFloatingActionButton?: boolean;\n @Prop({ type: Boolean }) readonly skipValidation?: boolean\n @Prop({ type: String }) readonly justify?: 'start' | 'end' | 'center' | 'space-around' | 'space-between' = 'start'\n @Prop({ type: String }) readonly align?: 'top' | 'middle' | 'bottom' = 'top'\n @Prop({ type: String }) readonly submitButtonRef?: string\n @Prop({ type: Boolean, default: false }) readonly isHideSubmitButton?: boolean\n\n formErrors: Record = {}\n customHTML = ''\n\n buttonsArray: Array = [\n {\n id: 'FormBuilder_Submit',\n nativeType: 'submit',\n label: 'OK',\n hasNextStep: this.hasNextStep,\n isShowArrow: this.isShowArrow,\n type: '',\n inputType: ECustomButtonFormBuilderType.BUTTON,\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onClick: () => { },\n },\n ];\n\n get combinedButtonsArray() {\n if (!this.passedButtons || this.passedButtons.length === 0) {\n return this.buttonsArray\n }\n return [\n ...this.buttonsArray,\n ...this.passedButtons,\n ]\n }\n\n get isValidated() {\n return Object.values(this.formErrors).reduce((acc, curValue) => acc && curValue === '', true)\n }\n\n cbTasks: IPromiseHandlers[] = []\n\n scanBCKeys: string[] = []\n created() {\n this.resetError()\n\n this.scanBCKeys = Object.keys(this.formSchema).filter((key: string) =>\n this.isBarcodeScanFrame(this.formSchema[key].fileKind)\n )\n }\n\n resetError() {\n if (this.formModel) {\n Object.keys(this.formModel).forEach((f: string) => (this.formErrors[f] = ''), this)\n }\n }\n\n onUploaded(uploadedResponse: { url: string }[]) {\n if (uploadedResponse?.length !== 0 && !isEmpty(this.cbTasks)) {\n this.cbTasks[this.cbTasks.length - 1].resolve()\n if (uploadedResponse[0].url !== 'none') this.clearUploadError()\n }\n }\n\n clearUploadError() {\n this.scanBCKeys.forEach((key) => this.clearError(key))\n }\n\n isBarcodeScanFrame(v?: string): boolean {\n return v === EFileKind.BARCODE_SCAN_FRAME\n }\n\n submit(e: Event) {\n e.preventDefault()\n this.validateAll()\n\n const isWaitUpload = !isEmpty(this.scanBCKeys)\n\n // Validate other fields if have\n this.$emit('validate')\n\n const submitFunc = () => {\n if (!this.skipValidation && !this.isValidated) return\n this.$emit('submit', this.formModel)\n }\n\n if (!isWaitUpload) submitFunc()\n else this.performUpload(() => submitFunc())\n this.scrollToError()\n }\n\n // validate all except scan-bc-frame field\n validateAll() {\n this.resetError()\n Object.keys(this.formSchema)\n .filter((key: string) => !this.scanBCKeys.includes(key))\n .forEach((key: string) => this.validate(key))\n return Object.values(this.formErrors).filter((err) => err).length === 0\n }\n\n validateBCScanFields() {\n Object.keys(this.formSchema)\n .filter((key: string) => this.scanBCKeys.includes(key))\n .forEach((key: string) => this.validate(key))\n return Object.values(this.formErrors).filter((err) => err).length === 0\n }\n\n performUpload(cb: Function) {\n const performCallback = () => {\n // run validate for individual scan-bc-frame fields\n this.validateBCScanFields()\n\n if (this.isValidated) cb()\n }\n if (this.$store.getters.scannedBarcodeBlob && !isEmpty(this.scanBCKeys)) {\n const scanBCFields = this.scanBCKeys.reduce((total, k: string) => ({ ...total, [k]: { isReady: true } }), {})\n this.$store.commit(UPDATE_SCANNED_UPLOAD_STATUS, scanBCFields)\n new Promise((resolve, reject) => this.cbTasks.push({ resolve, reject })).then(() => performCallback())\n } else {\n performCallback()\n }\n }\n\n validate(key: string) {\n if (this.skipValidation) return true\n\n const fieldSchema = this.formSchema[key]\n\n // Require validation\n if (fieldSchema?.isMandatory && isEmpty(this.formModel[key])) {\n this.formErrors[key] = this.$t('Please enter', { field: fieldSchema.label })\n return false\n }\n\n // Min length validation\n if (fieldSchema?.minLength) {\n const val = this.formModel[key] as string\n if (val?.length < fieldSchema.minLength) {\n this.formErrors[key] = this.$t('MinLen limit', { len: fieldSchema.minLength })\n return false\n }\n }\n\n // Min length validation\n if (fieldSchema?.maxLength) {\n const val = this.formModel[key] as string\n if (val?.length > fieldSchema.maxLength) {\n this.formErrors[key] = this.$t('MaxLen limit', { len: fieldSchema.maxLength })\n return false\n }\n }\n\n if (!isEmpty(this.formModel[key]) || fieldSchema.isMandatory) {\n if (fieldSchema?.fieldType === ECustomFieldType.EMAIL) {\n if (!validateEmail(this.formModel[key] as string)) {\n this.formErrors[key] = this.$t('email_format_incorrect')\n return false\n }\n }\n\n if (fieldSchema?.fieldType === ECustomFieldType.PHONE_NUMBER) {\n const phoneNumber = parsePhoneNumber(this.formModel[key] as string, fieldSchema.countryCode as CountryCode)\n if (phoneNumber && !phoneNumber.isValid()) {\n this.formErrors[key] = this.$t('phone_format_incorrect')\n return false\n }\n }\n\n if (fieldSchema?.fieldType === ECustomFieldType.GHG_EMISSION) {\n const ghgEmissionInput = this.formModel[key] as GhgEmissionInput\n const calculationType = fieldSchema.calculationType as GhgEmissionCalculationType\n let errorMessage = ''\n let isValid = true\n if (!ghgEmissionInput.transportType) {\n errorMessage += this.$t('ghgEmission.error.invalidTransportType')\n isValid = false\n }\n switch (calculationType) {\n case 'tonkilo':\n if (ghgEmissionInput.weight === undefined || ghgEmissionInput.weight <= 0) {\n errorMessage += this.$t('ghgEmission.error.invalidWeight')\n isValid = false\n }\n if (ghgEmissionInput.distance === undefined || ghgEmissionInput.distance <= 0) {\n errorMessage += this.$t('ghgEmission.error.invalidDistance')\n isValid = false\n }\n break\n case 'modifiedTonkilo':\n if (ghgEmissionInput.loadRate === undefined || ghgEmissionInput.loadRate <= 0) {\n errorMessage += this.$t('ghgEmission.error.invalidLoadRate')\n isValid = false\n }\n if (ghgEmissionInput.maxWeightCapacity === undefined || ghgEmissionInput.maxWeightCapacity <= 0) {\n errorMessage += this.$t('ghgEmission.error.invalidMaxWeightCapacity')\n isValid = false\n }\n if (ghgEmissionInput.distance === undefined || ghgEmissionInput.distance <= 0) {\n errorMessage += this.$t('ghgEmission.error.invalidDistance')\n isValid = false\n }\n break\n case 'fuelEfficiency':\n if (ghgEmissionInput.distance === undefined || ghgEmissionInput.distance <= 0) {\n errorMessage += this.$t('ghgEmission.error.invalidDistance')\n isValid = false\n }\n if (!ghgEmissionInput.vehicleUsageType) {\n errorMessage += this.$t('ghgEmission.error.invalidVehicleUsageType')\n isValid = false\n }\n break\n case 'fuel':\n if (ghgEmissionInput.fuelConsumption !== undefined && ghgEmissionInput.fuelConsumption <= 0) {\n errorMessage += this.$t('ghgEmission.error.invalidFuelConsumption')\n isValid = false\n }\n break\n }\n this.formErrors[key] = errorMessage\n return isValid\n }\n }\n\n this.clearError(key)\n return true\n }\n\n scrollToError() {\n try {\n this.$nextTick(() => {\n const errorElements = document.querySelectorAll('.error-msg')\n const firstVisibleError = Array.from(errorElements).find(element => {\n return window.getComputedStyle(element).display !== 'none'\n })\n if (firstVisibleError) {\n firstVisibleError.scrollIntoView({ behavior: 'smooth', block: 'center' })\n }\n })\n } catch (error) {\n }\n }\n\n clearError(key: string) {\n this.formErrors[key] = ''\n }\n}\n","import { render } from \"./FormBuilder.vue?vue&type=template&id=f24dafc6&scoped=true\"\nimport script from \"./FormBuilder.vue?vue&type=script&lang=ts\"\nexport * from \"./FormBuilder.vue?vue&type=script&lang=ts\"\n\nimport \"./FormBuilder.vue?vue&type=style&index=0&id=f24dafc6&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-f24dafc6\"\n\nexport default script","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nmodule.exports = cloneRegExp;\n","\nimport { getChildrenValue, uploadImage } from '@/utils/api'\nimport { DATE_TIME, INPUT_COMPONENTS } from '@/utils/constants'\nimport errorHandler from '@/utils/errorHandler'\nimport { dataURLtoFile, deepSearch } from '@/utils/helpers'\nimport { format } from 'date-fns'\nimport { UploadFile } from 'element-plus/lib/el-upload/src/upload.type'\nimport cloneDeep from 'lodash/cloneDeep'\nimport { maskPhoneNum } from 'smartbarcode-web-core/src/utils/barcodeHelper'\nimport { ECustomFieldType } from 'smartbarcode-web-core/src/utils/enums/index'\nimport getGhgEmissionMap from 'smartbarcode-web-core/src/utils/ghgEmission/calc'\nimport { GhgEmissionCalculationMaterial } from 'smartbarcode-web-core/src/utils/ghgEmission/GhgEmissionCalculationMaterial'\nimport { GhgEmissionCustomFieldConclusion } from 'smartbarcode-web-core/src/utils/ghgEmission/GhgEmissionCustomFieldConclusion'\nimport { GhgEmissionInput } from 'smartbarcode-web-core/src/utils/ghgEmission/GhgEmissionInput'\nimport { isEmpty } from 'smartbarcode-web-core/src/utils/typeChecker'\nimport {\n IActivationData,\n ICustomFormFields,\n IFieldSettings,\n IFormInputSchema,\n TFieldNotiSettings,\n TFormSchema,\n TOptions,\n} from 'smartbarcode-web-core/src/utils/types/index'\nimport { Options, Vue } from 'vue-class-component'\n\n@Options({\n components: {},\n name: 'CustomFieldsMixin',\n})\nexport default class CustomFieldsMixin extends Vue {\n formModel: Record = {}\n\n // Return the raws files if any file uploades\n fileListFormModel: Record = {}\n\n /**\n * Override this method for insert data\n */\n get customForm(): Record {\n return {}\n }\n\n /**\n * Flatten fields of form schema\n */\n get flattenFields(): Record {\n const fields = this.customForm\n const flatten = Object.keys(fields).reduce((acc, cur) => {\n // exclude nextTrackPointNotification now\n if (cur === 'nextTrackPointNotification') return acc\n\n if (cur === ECustomFieldType.LOCATION) {\n return {\n ...acc,\n [cur]: {\n order: 0, // Hardcode order of location data to the top\n fieldType: ECustomFieldType.LOCATION,\n ...fields[cur],\n },\n }\n }\n return { ...acc, ...fields[cur] }\n }, {})\n return flatten\n }\n\n /**\n * Select form schema\n */\n get selectedFormSchema() {\n const sortedFields = Object.entries(this.flattenFields)\n .sort((a, b) => {\n const orderA = a[1].order ?? 999\n const orderB = b[1].order ?? 999\n return orderA - orderB\n })\n .filter((f) => {\n // Only fieldType is Location need to be check on `isAvailable` fields.\n // This is inconsistent of field schema\n if (f?.[1]?.fieldType === ECustomFieldType.LOCATION) {\n return f[1].isAvailable\n }\n return !f[1].isHidden\n })\n\n const customFormSchema: TFormSchema = {}\n sortedFields.forEach(([fieldName, inputSchema]) => {\n const { fieldType, multiLine, maxLength, minLength, countryCode, ...others } = inputSchema\n\n customFormSchema[fieldName] = {\n fieldType,\n ...(fieldType && !!INPUT_COMPONENTS[fieldType] && { component: INPUT_COMPONENTS[fieldType] }),\n ...(maxLength && { maxLength }),\n ...(minLength && { minLength }),\n ...(countryCode && { countryCode }),\n ...(multiLine && { multiLine }),\n ...(fieldType === ECustomFieldType.ESIGN && { disableError: true }),\n ...others,\n }\n })\n return customFormSchema\n }\n\n /**\n * Generate Custom Data for request\n */\n get generateCustomDataForRequest(): Record | ICustomFormFields {\n const copy: Record = { ...this.formModel }\n Object.entries(copy).forEach(([key, value]) => {\n if (value instanceof Date) {\n copy[key] = format(value, DATE_TIME.WITHOUT_SECOND)\n }\n // if value is Object and have default value\n if (value instanceof Object) {\n copy[key] = (copy[key] as IFormInputSchema)?.default || copy[key]\n }\n })\n const data = Object.keys(copy).reduce((acc, curr) => {\n if (this.selectedFormSchema[curr]) {\n const fieldType = this.selectedFormSchema[curr].fieldType\n if (fieldType === ECustomFieldType.TEXT) {\n return { ...acc, [curr]: { fieldType, text: copy[curr] } }\n }\n if (fieldType === ECustomFieldType.PHONE_NUMBER) {\n return {\n ...acc,\n [curr]: {\n fieldType,\n phoneNumber: {\n countryCode: this.selectedFormSchema[curr].countryCode,\n number: (copy[curr] as string).replaceAll('-', ''),\n },\n },\n }\n }\n if (fieldType === ECustomFieldType.EMAIL && !isEmpty(copy[curr])) {\n return { ...acc, [curr]: { fieldType, email: copy[curr] } }\n }\n if (fieldType === ECustomFieldType.NUMBER) {\n return { ...acc, [curr]: { fieldType, number: copy[curr] } }\n }\n if (fieldType === ECustomFieldType.SINGLE_SELECT && !isEmpty(copy[curr])) {\n const selections = (this.selectedFormSchema?.[curr]?.selections as unknown) as Record\n const singleSelect = {\n key: copy[curr],\n value: selections[copy[curr] as string].label,\n }\n return { ...acc, [curr]: { fieldType, singleSelect } }\n }\n if (fieldType === ECustomFieldType.MULTI_SELECT && !isEmpty(copy[curr])) {\n const selections = (this.selectedFormSchema?.[curr]?.selections as unknown) as Record\n\n const multiSelect = (copy[curr] as Array)\n .filter((k) => k !== '')\n .map((val) => ({\n key: val,\n value: selections[val as string].label,\n }))\n\n return { ...acc, [curr]: { fieldType, multiSelect } }\n }\n if (fieldType === ECustomFieldType.DATE) {\n const date = copy[curr]\n const field = { fieldType, date }\n if (!date) return { ...acc }\n return { ...acc, [curr]: field }\n }\n if (fieldType === ECustomFieldType.ESIGN) {\n const eSign = copy[curr]\n if (!eSign) return { ...acc }\n return { ...acc, [curr]: { fieldType, eSign } }\n }\n if (fieldType === ECustomFieldType.FILES) {\n const files = (copy[curr] as Array).map((val) => ({ path: val }))\n return { ...acc, [curr]: { fieldType, files } }\n }\n if (fieldType === ECustomFieldType.LOCATION) {\n return { ...acc, [curr]: copy[curr] }\n }\n if (fieldType === ECustomFieldType.REFERENCE) {\n const reference = copy[curr] as IFormInputSchema\n return {\n ...acc,\n [curr]: {\n fieldType,\n reference: {\n template: reference.template,\n },\n },\n }\n }\n\n if (fieldType === ECustomFieldType.GHG_EMISSION) {\n const form = copy[curr] as GhgEmissionInput\n const calculationType = this.selectedFormSchema[curr].calculationType\n const material = {\n calculationType: calculationType,\n gasTypes: ['CO_2'], // for now, we use only CO_2\n transportType: form.transportType,\n weight: form.weight,\n distance: form.distance,\n maxWeightCapacity: form.maxWeightCapacity,\n loadRate: form.loadRate,\n vehicleUsageType: form.vehicleUsageType,\n fuelConsumption: form.fuelConsumption,\n } as GhgEmissionCalculationMaterial\n\n const emissionMap = getGhgEmissionMap(material)\n const ghgEmission = {\n fieldType: fieldType,\n [ECustomFieldType.GHG_EMISSION]: emissionMap.get('CO_2'), // for now, we use only CO_2 value\n material: material,\n } as GhgEmissionCustomFieldConclusion\n return {\n ...acc,\n [curr]: ghgEmission,\n }\n }\n }\n return acc\n }, {})\n\n return data\n }\n\n /**\n * Generate default form model for Form Schema\n */\n generateCustomFormModel(initData?: IActivationData) {\n const textFieldtypes = new Set([ECustomFieldType.DATE, ECustomFieldType.TEXT, ECustomFieldType.EMAIL])\n Object.entries(this.selectedFormSchema).forEach(async ([key, settings]) => {\n let result\n if (initData) {\n deepSearch(initData?.customFields || {}, key, (k: string, v: string | number | string[]) => (result = v))\n }\n\n // if copyFromPairedBarcode is true getting from API and set default value\n if (this.selectedFormSchema[key]?.copyFromPairedBarcode) {\n const res = await getChildrenValue(this.$route.params.barcodeId, key).catch(() => false)\n if (res) {\n this.selectedFormSchema[key].default = res\n }\n }\n const fieldType = settings?.fieldType || ''\n if (fieldType === ECustomFieldType.MULTI_SELECT) {\n const value: Array = []\n if (result) {\n const multipleSelect = (result as IFormInputSchema).multiSelect\n if (multipleSelect) {\n multipleSelect.forEach((val) => value.push(val.key))\n }\n } else {\n Object.entries(settings.selections as TOptions).forEach(([optionValue, optionSetting]) => {\n if (optionSetting?.default) {\n value.push(optionValue)\n }\n })\n }\n this.formModel[key] = value\n }\n if (fieldType === ECustomFieldType.SINGLE_SELECT) {\n const selectedOption = Object.entries(settings.selections as TOptions).find(\n (radioSetting) => radioSetting[1]?.default\n )\n this.formModel[key] = ((result as unknown) as IFormInputSchema)?.singleSelect?.key || selectedOption?.[0]\n }\n if (fieldType === ECustomFieldType.NUMBER) {\n if (result) {\n if (typeof result !== 'object') {\n this.formModel[key] = result\n }\n if (typeof result === 'object') {\n this.formModel[key] = (result as IFormInputSchema)?.number || this.selectedFormSchema[key]?.default\n }\n }\n }\n if (fieldType === ECustomFieldType.ESIGN) {\n this.formModel[key] = result?.[ECustomFieldType.ESIGN]\n }\n if (fieldType === ECustomFieldType.REFERENCE) {\n this.formModel[key] = cloneDeep(result?.[ECustomFieldType.REFERENCE]) || settings\n }\n\n if (fieldType && textFieldtypes.has(fieldType as ECustomFieldType)) {\n const type = typeof result\n if (result) {\n if (type === 'object') {\n this.formModel[key] =\n (result as IFormInputSchema).text ||\n (result as IFormInputSchema).date ||\n (result as IFormInputSchema).email ||\n this.selectedFormSchema[key]?.default ||\n ''\n }\n }\n }\n\n if (fieldType === ECustomFieldType.PHONE_NUMBER) {\n if (result && (result as IFormInputSchema).phoneNumber) {\n const r = result as IFormInputSchema\n this.formModel[key] = maskPhoneNum(r.phoneNumber?.number ?? '', r.phoneNumber?.countryCode ?? 'JP')\n }\n }\n if (fieldType === ECustomFieldType.FILES) {\n if (result) {\n this.formModel[key] = (result as IFormInputSchema).files\n }\n }\n })\n }\n\n async saveOCRImage(event: Record) {\n try {\n this.loading = true\n const flattenFields = cloneDeep(this.flattenFields) || {}\n const basicActivationField: Record = {\n trackingNumber: this.isAutoSaveOcrImageTrackingNumber || '',\n externalId: this.isAutoSaveOcrImageExternalId || '',\n }\n const keys = Object.keys(event)\n for (const index in keys) {\n const key = keys[index]\n if (isEmpty(key)) return\n const ocrImageAutoSaveFieldKey =\n flattenFields?.[key]?.ocrImageAutoSaveField || basicActivationField?.[key] || ''\n if (ocrImageAutoSaveFieldKey) {\n if (this.temporaryFieldsOCRImages?.[key]?.[ocrImageAutoSaveFieldKey]) {\n ; (this.temporaryFieldsOCRImages?.[key]?.[ocrImageAutoSaveFieldKey]).forEach(\n (val: string, index: number) => {\n const found = this.imagesFromOCR?.[ocrImageAutoSaveFieldKey].find((el: string, idx: number) => {\n if (el === val) {\n ; (this.imagesFromOCR?.[ocrImageAutoSaveFieldKey] as string[]).splice(idx, 1)\n }\n return el === val\n })\n if (found) {\n ; (this.temporaryFieldsOCRImages?.[key]?.[ocrImageAutoSaveFieldKey] as string[]).splice(index, 1)\n }\n }\n )\n }\n\n const file = dataURLtoFile(event[key])\n const formData = new FormData()\n if (!file) return\n // moment()\n formData.append('barcodeId', this.barcode?.id)\n const extension = this.getFileExtension(file)\n formData.append('file', file, `OCR_${ocrImageAutoSaveFieldKey}.${extension}`)\n const image = await uploadImage(formData).catch((e) => errorHandler(e))\n event[key] = image\n if (this.imagesFromOCR?.[ocrImageAutoSaveFieldKey]) {\n // eslint-disable-next-line no-unused-expressions\n this.imagesFromOCR?.[ocrImageAutoSaveFieldKey].push(image)\n } else {\n this.imagesFromOCR = { ...this.imagesFromOCR, ...{ [ocrImageAutoSaveFieldKey]: [image] } }\n }\n\n // Save images to temporary fields to compare delete images when re-ocr of fields ↑\n if (this.temporaryFieldsOCRImages?.[key]?.[ocrImageAutoSaveFieldKey]) {\n // eslint-disable-next-line no-unused-expressions\n this.temporaryFieldsOCRImages?.[key]?.[ocrImageAutoSaveFieldKey]?.push(image)\n } else {\n this.temporaryFieldsOCRImages = {\n ...this.temporaryFieldsOCRImages,\n ...{\n [key]: {\n [ocrImageAutoSaveFieldKey]: [image],\n },\n },\n }\n }\n\n URL.revokeObjectURL(event[key])\n }\n }\n } catch (error) {\n } finally {\n this.loading = false\n }\n }\n\n getFileExtension(file: Blob) {\n if (!file) return\n const splitedType = file.type.split('/')\n return splitedType[splitedType.length - 1]\n }\n}\n","import script from \"./CustomFieldsMixin.vue?vue&type=script&lang=ts\"\nexport * from \"./CustomFieldsMixin.vue?vue&type=script&lang=ts\"\n\nexport default script","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./ReviewCalculationDialog.vue?vue&type=style&index=0&id=72ab583b&lang=scss\"","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./FormBuilder.vue?vue&type=style&index=0&id=f24dafc6&lang=scss&scoped=true\"","var arrayPush = require('./_arrayPush'),\n getPrototype = require('./_getPrototype'),\n getSymbols = require('./_getSymbols'),\n stubArray = require('./stubArray');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nmodule.exports = getSymbolsIn;\n","var Symbol = require('./_Symbol');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nmodule.exports = cloneSymbol;\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar createProperty = require('../internals/create-property');\nvar deletePropertyOrThrow = require('../internals/delete-property-or-throw');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// `Array.prototype.splice` method\n// https://tc39.es/ecma262/#sec-array.prototype.splice\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n splice: function splice(start, deleteCount /* , ...items */) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var insertCount, actualDeleteCount, A, k, from, to;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n insertCount = argumentsLength - 2;\n actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart);\n }\n doesNotExceedSafeInteger(len + insertCount - actualDeleteCount);\n A = arraySpeciesCreate(O, actualDeleteCount);\n for (k = 0; k < actualDeleteCount; k++) {\n from = actualStart + k;\n if (from in O) createProperty(A, k, O[from]);\n }\n A.length = actualDeleteCount;\n if (insertCount < actualDeleteCount) {\n for (k = actualStart; k < len - actualDeleteCount; k++) {\n from = k + actualDeleteCount;\n to = k + insertCount;\n if (from in O) O[to] = O[from];\n else deletePropertyOrThrow(O, to);\n }\n for (k = len; k > len - actualDeleteCount + insertCount; k--) deletePropertyOrThrow(O, k - 1);\n } else if (insertCount > actualDeleteCount) {\n for (k = len - actualDeleteCount; k > actualStart; k--) {\n from = k + actualDeleteCount - 1;\n to = k + insertCount - 1;\n if (from in O) O[to] = O[from];\n else deletePropertyOrThrow(O, to);\n }\n }\n for (k = 0; k < insertCount; k++) {\n O[k + actualStart] = arguments[k + 2];\n }\n setArrayLength(O, len - actualDeleteCount + insertCount);\n return A;\n }\n});\n","\n\n\n\n","\nimport { Options, Vue } from 'vue-class-component'\nimport { Prop, PropSync } from 'vue-property-decorator'\n\n@Options({\n emits: ['update:isShow'],\n name: 'ReviewCalculationDialog',\n})\nexport default class ReviewCalculationDialog extends Vue {\n @PropSync('isShow', { type: Boolean }) _isShow!: boolean\n @Prop({ type: String }) readonly content?: string\n\n closeDialog() {\n this._isShow = false\n }\n}\n","import { render } from \"./ReviewCalculationDialog.vue?vue&type=template&id=72ab583b\"\nimport script from \"./ReviewCalculationDialog.vue?vue&type=script&lang=ts\"\nexport * from \"./ReviewCalculationDialog.vue?vue&type=script&lang=ts\"\n\nimport \"./ReviewCalculationDialog.vue?vue&type=style&index=0&id=72ab583b&lang=scss\"\nscript.render = render\n\nexport default script","var cloneArrayBuffer = require('./_cloneArrayBuffer'),\n cloneDataView = require('./_cloneDataView'),\n cloneRegExp = require('./_cloneRegExp'),\n cloneSymbol = require('./_cloneSymbol'),\n cloneTypedArray = require('./_cloneTypedArray');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nmodule.exports = initCloneByTag;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nmodule.exports = baseIsSet;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","var baseIsMap = require('./_baseIsMap'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nmodule.exports = isMap;\n","var baseIsSet = require('./_baseIsSet'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nmodule.exports = isSet;\n","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n"],"sourceRoot":""}