{"version":3,"sources":["webpack:///webpack/bootstrap 04b84c8e21d6ecfb2423?78fc***************","webpack:///./assets/scripts/main.js","webpack:///./assets/scripts/components/callout.js?b683*****","webpack:///./assets/scripts/util/formErrors.js?2dca****","webpack:///./assets/scripts/components/carousel.js?b8ba**","webpack:///./assets/scripts/services/utils.js?b927","webpack:///./assets/scripts/product/index.js?2c86*","webpack:///./assets/scripts/components/accordion.js?a50a*","webpack:///./assets/scripts/services/easing.js?0342*","webpack:///./assets/scripts/product/addToCartMsg.js?b8d7*","webpack:///./assets/scripts/enhancedSeo.js?6a5c*","webpack:///./assets/scripts/components/seo.js?8875*","webpack:///./assets/scripts/product/giftCardHelper.js?8ac6*","webpack:///./assets/scripts/util/svgSpriteUtil.js","webpack:///./assets/scripts/components/index.js","webpack:///./assets/scripts/components/plugins.js","webpack:///./assets/scripts/components/common.js","webpack:///./assets/scripts/components/login.js","webpack:///./assets/scripts/components/search.js","webpack:///./assets/scripts/components/minicart.js","webpack:///./assets/scripts/components/cookie.js","webpack:///./assets/scripts/util/cookieUtil.js","webpack:///./assets/scripts/components/wishlist.js","webpack:///./assets/scripts/components/phonePrefix.js","webpack:///./~/intl-tel-input/build/js/utils.js","webpack:///./~/intl-tel-input/index.js","webpack:///./~/intl-tel-input/build/js/intlTelInput.js","webpack:///./~/tom-select/dist/js/tom-select.complete.js","webpack:///./assets/scripts/components/localeSelector.js","webpack:///./assets/scripts/components/b2b.js","webpack:///./assets/scripts/components/header.js"],"names":["$","Common","callout","title","message","type","closable","el","prepend","scroll","window","$callout","scrollTop","Callout","module","field","trackErrors","errorList","clearPreviousErrors","parentSelector","Carousel","slides","items","navText","carousels","element","breakpoints","small","medium","large","count","isScrollable","setting","margin","responsive","carousel","appendToUrl","newUrl","key","encodeURIComponent","makeID","text","possible","i","Math","pid","$el","getQuantitySelector","attr","$attrValue","$productContainer","attrValue","$swatchAnchor","$attr","attrsWithSwatches","attrs","processSwatchValues","processNonSwatchValues","processNonSwatchValuesMiniSet","availabilityValue","availabilityMessages","response","controlSizeModalProduct","$nameGroup","$labels","label","product","resources","html","promotions","promotion","attributes","attributeGroup","attribute","isChoiceOfBonusProducts","isVaraint","isNewtest","isInWishlist","isOnSale","updateAttrs","$priceSelector","getPromotionsHtml","updateAvailability","$selectButton","getAttributesHtml","updateMiniAttrs","optionsHtml","selected","quantity","colorName","$secondaryCall","method","beforeSend","success","handleVariantResponse","updateQuantities","data","updateColorName","updateAddToCartEvent","updateLabel","replaceProductsetWidget","updateScalapayWidget","completeYourLookWrapper","updateCompleteYourLook","container","color","error","console","scalapayWidget","url","dataType","carouselImages","productContainerImages","owl","productModalImages","price","Object","addToCartEvent","addToCartEventParse","JSON","datalayerEvent","name","id","brand","category","variant","dimension14","dimension15","dimension16","encodedDatalayerEvent","elem","productAccordion","complete","Accordion","handleVariantMiniSetResponse","controlSizeModalProductSet","$html","body","footer","elemSelect","elemModalId","childProducts","parseInt","breakpoint","width","$render","smartSpeed","slideTransition","editBonusProducts","oldColor","self","document","description","ogDescription","attributeSelect","replaceImages","replaceModalImages","replaceAccordion","EnhancedSeo","e","isUserEvent","colorIndex","referencedSelect","attributeSelectMiniSet","options","div","errorMsg","addToCartUrl","getQuantitySelected","form","dataLayer","gaHitType","event","event_category","event_action","pageTypeForJS","location","AddToCartMsg","ecommerce","win","gridImages","scrollToSlider","Foundation","edge","$choiceOfBonusProduct","maxPids","submittedQty","totalQty","optionID","valueId","selectedBonusProductHtml","$selected","parsedHtml","cart","item","priceValue","Number","currency","Array","value","categories","discount","parseFloat","size","item_id","item_name","item_brand","item_category","item_category2","item_category3","item_list_name","item_variant","isSingleQnt","item_availability","item_discount_tag","available_size_percentage","item_size","item_variant_v2","item_url","item_img","event_label","$readyToOrderBonusProducts","queryString","pidsObject","bonusProducts","qtyOption","option","setTimeout","Product","accordion","setARIA","Easing","def","swing","easeOutQuad","easeInOutCirc","x","bonusUrl","htmlString","messageType","modal","addToCartMsg","minicart","chooseBonusProducts","clearTimeout","triggerMinicart","initAddedToCartConfirmationModal","addedToCartModal","enhancedSeo","marker","$isStoreLocatorList","elements","address1","$isPopupFooterHeader","isMobileMenu","iconName","isCookieAlert","elementList","eventType","login_method","timestamp","isSearch","classObj","isChat","$self","accordionText","accordionExpanded","categoryID","isColor","$selfButton","profiling","checkoutStep","eventAction","eventLabel","shipping","payment","placeorder","analyticsP","listName","modalOpen","section","selectedSizeElem","selectedSize","selectedFamilyColorElem","selectedFamilyColor","analyticsObj","dataLayerGA4","list","Seo","pageAction","context","originalPrice","finalPrice","pidSplit","colorID","variantID","obj","SEO","productTiles","_this","listingProductsArrayForHomePage","currentElement","impression","listingProductsJson","asyncProductsArray","results","array","productCurrency","index","imageUrl","chunks","chunkArray","fullPrice","salesPrice","dataLayerObject","getPageType","trackForWish","selectedVariant","arr_info_product","prodLayer","click","actionField","catListingSearch","products","socialNetwork","socialAction","socialTarget","href","promotionsAsset","lookArray","position","gridImageAndButton","componentElements","creative","componentID","componentName","promoClick","widgetLook","lookName","itemPosition","hrefSplit","lookIdSplit","itemList","lookId","widgetLookElements","aElem","indexEl","impressions","promoView","listingProduct","productTile","productJson","prod","where","clickedFilter","selectedSortOption","attribute_group","attribute_value","filter_sort","filter","actionName","eventID","eventCategory","eventElement01","eventElement02","eventElement03","showAlertModal","allSvg","use","svg","oldXlink","xlinkArray","newXlink","fetch","mode","headers","svgSprite","svgSpriteElement","resolve","getSvgSprite","reject","fixOldSpriteUse","exports","plugins","svg4everybody","forms","Parsley","requirementType","validateString","requirement","errorClass","successClass","errorsWrapper","errorTemplate","errorsContainer","breadcrumbs","filters","redirectUrl","selectedValue","target","makeCustom","transition","modifier","debounce","updateView","targetContent","defaultThWidth","handleCols","thrWidth","table","tdrWidth","tableOverflowWidth","tableWidth","thString","language","leftArrow","rightArrow","format","endDate","split","minDate","maxDate","delimiter","datePattern","phone","Plugins","common","Login","Search","Minicart","CookieCheck","WishlistAdd","Business","phonePrefix","inputVal","counter","$menuPaneContainer","$scrollTo","parentCat","innerText","cat","menuList","mobileMenu","formHelpers","$form","action","button","errorMessage","$storeDropdown","loyaltyStatus","$loginBtn","$loginBtnWrapper","$loginWrapper","$loginWrapperPopup","$loginPopUpBody","footerUrls","storelocator","storelocatorname","currentTarget","login","calloutMsg","pageElement","includeReloadActions","insertedMail","err","formParent","search","scope","endpoint","$suggestionsWrapper","popupEl","recommProd","select","default_color_image","einstein","popup","isLandscape","maxHeight","eisteinList","isEinsteinScrollable","modalid","actionUrl","productID","productName","uuid","removePopup","cookieCheck","CookieUtil","previousSessionID","currentSessionID","cookieUtil","cookieName","decodedCookie","decodeURIComponent","cookieArray","cookieItem","expires","date","days","wishlistModal","modalInstances","$modal","modalID","link","$openWishlistLink","wishlistAdd","headerWishlist","headerWishlistMobile","optionId","optionVal","addToWishlistCall","removeWishlist","intlTelInput","tomSelect","PhonePrefixField","phoneRegionCode","country","telInput","prefixObj","settings","initialCountry","utilsScript","separateDialCode","maxItems","maxOptions","valueField","labelField","searchField","sortField","placeholder","inputPref","PhonePrefix","phoneNumberWrapper","localeSelector","localeCode","localeCurrencyCode","localeCountryCode","LocaleSelector","business","eMail","actDomain","companyList","emailValue","initialActDomain","header","firstItem","marginTop","wrapper","containerHeight","intervalSec","overflow","init","clearInterval","Header"],"mappings":"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,qBAAuC,OAAvC,CAAuC,KAAvC,CAAlK,CADuR,EAC9E,eAD8E,GAC9E,eAD8E,CAC9E,eAD8E,GAC9E,eAD8E,CArY0B,CAsYxG,sDAAuI,GAC3e,CAD2e,CAAvI,EACpW,2CAA0C,UAA1C,CADoW,CAC1T,qBAAiC,UAAjC,GAAiC,GAAjC,CAD0T,CACzR,kBAAoC,UAApC,GAAoC,GAApC,CADyR,CACrP,kBAAoC,UAApC,GAAoC,GAApC,CADqP,CACjN,eADiN,CACjN,eADiN,CACjN,eADiN,CACjN,IADiN,CACjN,GADiN,CACjN,IADiN,CACjN,GADiN,GACjN,GADiN,IACjN,sBAAqH,OAArH,CAAqH,QAArH,CAAqH,KAArH,EAAqH,6BAAqD,UAArD,CAAqD,SAArD,CAAqD,KAArD,CAArH,CAA0K,6BAAyD,UAAzD,CAAyD,QAAzD,CAAyD,KAAzD,CAA1K,CADiN,EACkB,eADlB,GACkB,eADlB,CACkB,eADlB,GACkB,eADlB,CAtYwG,CAuYtF,6CACtX,OADsX,CACtX,GADsX,EACtX,2FAAyG,SAAzG,GAAyG,KAAzG,CAAyG,GAAzG,CADsX,CAC7Q,sBAA6C,WAA7C,GAA6C,GAA7C,CAD6Q,CAChO,eADgO,CAChO,eADgO,CAChO,eADgO,CAChO,eADgO,CAChO,eADgO,CAChO,IADgO,CAChO,GADgO,CAChO,IADgO,CAChO,GADgO,GAChO,GADgO,IAChO,6BAA6J,UAA7J,CAA6J,kBAA7J,CAA6J,KAA7J,EAA6J,6BAAkE,UAAlE,CAAkE,KAAlE,CAAkE,KAAlE,CAA7J,CADgO,EACD,eADC,GACD,eADC,CACD,eADC,GACD,eADC,CAvYsF,CAwYvF,0CACrX,GADqX,EACrX,6CAAmD,WAAnD,CADqX,CAClU,uEAAoF,WAApF,CADkU,CAC9O,iBAA8B,WAA9B,CAD8O,CAChN,eADgN,CAChN,eADgN,CAChN,eADgN,CAChN,eADgN,CAChN,IADgN,CAChN,GADgN,CAChN,IADgN,CAChN,GADgN,GAChN,GADgN,MAChN,eADgN,EAChN,QADgN,CAChN,eADgN,CAChN,eADgN,GAChN,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","file":"main.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 04b84c8e21d6ecfb2423","import './util/svgSpriteUtil';\nimport { Plugins, Common } from \"./components\";\n\n\n$(document).ready(() => {\n // execute common scripts\n Common.run();\n});\n\n\n\n// WEBPACK FOOTER //\n// ./assets/scripts/main.js","class callout {\n add (title = null, message = null, type = 'success', closable = true, el, prepend = false, scroll = true) {\n let callout = `<div class=\"callout ${type}\">`;\n\n if (title) {\n callout += `\n <div class=\"callout-title\">\n <svg><use xlink:href=\"${window.staticURL}/images/sprite.svg#${type}\" /></use></svg>\n ${title}\n </div>`;\n }\n\n if (message) {\n if (typeof message === 'object') {\n message.forEach(line => {\n callout += `<div class=\"callout-message\">${line}</div>`;\n });\n } else {\n callout += `<div class=\"${!!title ? 'callout-message' : ''}\">${message}</div>`;\n }\n }\n\n if (closable) {\n callout += `\n <button class=\"close-button\" aria-label=\"Dismiss alert\" type=\"button\" data-close>\n <span aria-hidden=\"true\">×</span>\n </button>\n </div>\n `;\n } else {\n callout += '</div>';\n }\n\n const $callout = $(callout);\n $callout.find('.close-button').click(e => {\n $callout.remove();\n });\n\n if (prepend) {\n $(el).prepend($callout);\n } else {\n $(el).empty().append($callout);\n }\n\n if (scroll) {\n $('html, body').animate({\n scrollTop: $callout.offset().top - 70\n }, 500);\n }\n }\n\n primary (title, message, el, closable = true, prepend = false, scroll = true) {\n this.add(title, message, 'primary', closable, el, prepend, scroll);\n }\n\n success (title, message, el, closable = true, prepend = false, scroll = true) {\n this.add(title, message, 'success', closable, el, prepend, scroll);\n }\n\n error (title, message, el, closable = true, prepend = false, scroll = true) {\n this.add(title, message, 'alert', closable, el, prepend, scroll);\n }\n\n warning (title, message, el, closable = true, prepend = false, scroll = true) {\n this.add(title, message, 'warning', closable, el, prepend, scroll);\n }\n}\n\nconst Callout = new callout();\nexport default Callout;\n\n\n\n// WEBPACK FOOTER //\n// ./assets/scripts/components/callout.js","function resetErrorList (parentSelector, fieldErrors) { // eslint-disable-line\n $.each(fieldErrors, (attr) => {\n const field = $('*[name=' + attr + ']', parentSelector);\n if (field.length > 0 && field.parsley()) {\n field.parsley().removeError('error', { updateClass: true });\n }\n });\n}\n\n/**\n * Display error messages and highlight form fields with errors.\n * @param {string} parentSelector - the form which contains the fields\n * @param {Object} fieldErrors - the fields with errors\n * @param {Boolean} trackErrors - if true, error GTM trackers are launched with the form validation\n */\nfunction loadFormErrors (parentSelector, fieldErrors, trackErrors) { // eslint-disable-line\n if (typeof trackErrors === 'undefined') {\n trackErrors = false;\n }\n\n var errorList = [];\n // Display error messages and highlight form fields with errors.\n $.each(fieldErrors, (attr) => {\n const field = $('*[name=' + attr + ']', parentSelector);\n\n if (field.length > 0) {\n if (field.parsley()) {\n field.parsley().removeError('error');\n field.parsley().addError('error', { message: fieldErrors[attr], updateClass: true });\n }\n field.parent('label').removeClass('is-valid-label').addClass('is-invalid-label');\n errorList.push(field.get(0));\n }\n });\n\n if (errorList.length > 0 && trackErrors) {\n $(window).trigger('submittedForm:error', { errorList: errorList.slice(0) });\n }\n}\n\n/**\n * Clear the form errors.\n * @param {string} parentSelector - the parent form selector.\n */\nfunction clearPreviousErrors(parentSelector) {\n parentSelector.find('.is-invalid-label').removeClass('is-invalid-label');\n parentSelector.find('.is-invalid-input').removeClass('is-invalid-input');\n parentSelector.find('.errors-list').remove();\n parentSelector.find('.parsley-errors-list').remove();\n}\n\nmodule.exports = {\n resetErrorList: resetErrorList,\n loadFormErrors: loadFormErrors,\n clearPreviousErrors: clearPreviousErrors\n};\n\n\n\n// WEBPACK FOOTER //\n// ./assets/scripts/util/formErrors.js","class Carousel {\n quickviewCarousel() {\n let slides = $('#quickViewModal .slides');\n slides.owlCarousel({\n loop: false,\n nav: true,\n items: 1,\n navText: ['', '']\n });\n\n slides.trigger('refresh.owl.carousel');\n }\n initCarouselComponent(){\n let carousels = $('.products-carousel .slides');\n carousels.each((id, el) => {\n $(el).owlCarousel(this.getSetting(el));\n });\n carousels.trigger('refresh.owl.carousel');\n }\n\n getSetting(element){\n let breakpoints = {\n small: 0,\n medium: 640,\n large: 1024,\n };\n let count = $(element).data('count').split('-');\n let isScrollable = $(element).data('scrollable');\n let setting = {\n loop: true,\n margin: 10,\n navText: ['', ''],\n mouseDrag: isScrollable,\n touchDrag: isScrollable,\n responsive: {\n [breakpoints.small]: {\n nav: false,\n dots: true,\n items: count[2]\n },\n [breakpoints.medium]: {\n nav: true,\n dots: false,\n items: count[1]\n },\n [breakpoints.large]: {\n nav: true,\n dots: false,\n items: count[0]\n }\n }\n }\n return setting;\n }\n}\nconst carousel = new Carousel();\nexport default carousel;\n\n\n\n// WEBPACK FOOTER //\n// ./assets/scripts/components/carousel.js","\n/**\n * appends params to a url\n * @param {string} url - Original url\n * @param {Object} params - Parameters to append\n * @returns {string} result url with appended parameters\n */\n\nexport const appendToUrl = (url, params) => {\n var newUrl = url;\n newUrl += (newUrl.indexOf('?') !== -1 ? '&' : '?') + Object.keys(params).map(function (key) {\n return key + '=' + encodeURIComponent(params[key]);\n }).join('&');\n\n return newUrl;\n};\n\nexport const makeID = () => {\n let text = '';\n const possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n for (let i = 0; i < 5; i++) text += possible.charAt(Math.floor(Math.random() * possible.length));\n return text;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./assets/scripts/services/utils.js","import Accordion from '../components/accordion';\nimport AddToCartMsg from './addToCartMsg';\nimport EnhancedSeo from '../enhancedSeo';\nimport carousel from '../components/carousel';\nimport {showAlertModal} from './giftCardHelper';\nimport Callout from '../components/callout';\n\n/**\n * Retrieves the relevant pid value\n * @param {jquery} $el - DOM container for a given add to cart button\n * @return {string} - value to be used when adding product to cart\n */\nfunction getPidValue($el) {\n var pid;\n\n if ($('#quickViewModal').hasClass('show') && !$('.product-set').length) {\n pid = $($el).closest('.modal-content').find('.product-quickview').data('pid');\n } else if ($('.product-set-detail').length) {\n pid = $($el).closest('.product-detail').find('.product-id').text();\n } else if ($($el).closest('.product-detail').length === 0) {\n pid = $($el).attr('data-pid');\n } else {\n pid = $($el).closest('.product-detail:not(\".bundle-item\")').attr('data-pid');\n }\n\n return pid;\n}\n\n/**\n * Retrieve contextual quantity selector\n * @param {jquery} $el - DOM container for the relevant quantity\n * @return {jquery} - quantity selector DOM container\n */\nfunction getQuantitySelector($el) {\n return $el && $('.set-items').length ? $($el).closest('.product-detail').find('.quantity-select') : $('.quantity-select');\n}\n\n/**\n * Retrieves the value associated with the Quantity pull-down menu\n * @param {jquery} $el - DOM container for the relevant quantity\n * @return {string} - value found in the quantity input\n */\nfunction getQuantitySelected($el) {\n return getQuantitySelector($el).val();\n}\n\n/**\n * Process the attribute values for an attribute that has image swatches\n *\n * @param {Object} attr - Attribute\n * @param {string} attr.id - Attribute ID\n * @param {Object[]} attr.values - Array of attribute value objects\n * @param {string} attr.values.value - Attribute coded value\n * @param {string} attr.values.url - URL to de/select an attribute value of the product\n * @param {boolean} attr.values.isSelectable - Flag as to whether an attribute value can be\n * selected. If there is no variant that corresponds to a specific combination of attribute\n * values, an attribute may be disabled in the Product Detail Page\n * @param {jQuery} $productContainer - DOM container for a given product\n */\nfunction processSwatchValues(attr, $productContainer) {\n attr.values.forEach(function (attrValue) {\n var $attrValue = $productContainer.find('[data-attr=\"' + attr.id + '\"] [data-attr-value=\"' + attrValue.value + '\"]');\n var $swatchAnchor = $attrValue;\n\n if (attrValue.selected) {\n $attrValue.addClass('selected');\n } else {\n $attrValue.removeClass('selected');\n }\n\n if (attrValue.url) {\n $swatchAnchor.attr('href', attrValue.url);\n $attrValue.attr('data-image-url', attrValue.imageUrl).removeAttr('disabled');\n $attrValue.attr('data-modal-image-url', attrValue.imageModalUrl).removeAttr('disabled');\n $attrValue.attr('data-accordion-url', attrValue.accordionUrl).removeAttr('disabled');\n } else {\n $swatchAnchor.removeAttr('href');\n }\n\n // Disable if not selectable\n $attrValue.removeClass('selectable unselectable');\n $attrValue.addClass(attrValue.selectable ? 'selectable' : 'unselectable');\n });\n}\n\n/**\n * Process attribute values associated with an attribute that does not have image swatches\n *\n * @param {Object} attr - Attribute\n * @param {string} attr.id - Attribute ID\n * @param {Object[]} attr.values - Array of attribute value objects\n * @param {string} attr.values.value - Attribute coded value\n * @param {string} attr.values.url - URL to de/select an attribute value of the product\n * @param {boolean} attr.values.isSelectable - Flag as to whether an attribute value can be selected. If there is no variant that corresponds to a specific combination of attribute values, an attribute may be disabled in the Product Detail Page\n * @param {jQuery} $productContainer - DOM container for a given product\n */\nfunction processNonSwatchValues(attr, $productContainer) {\n var $attr = '[data-attr=\"' + attr.id + '\"]';\n\n attr.values.forEach(function (attrValue) {\n var $attrValue = $productContainer.find($attr + ' [data-attr-value=\"' + attrValue.value + '\"]');\n $attrValue.attr('data-url-value', attrValue.url).removeAttr('disabled');\n $attrValue.attr('data-accordion-url', attrValue.accordionUrl).removeAttr('disabled');\n if (!attrValue.selectable) {\n $attrValue.attr('disabled', true);\n }\n\n if (attrValue.selected) {\n $attrValue.addClass('selected');\n } else {\n $attrValue.removeClass('selected');\n }\n });\n}\n\n/**\n * Process attribute values associated with an attribute that does not have image swatches\n *\n * @param {Object} attr - Attribute\n * @param {string} attr.id - Attribute ID\n * @param {Object[]} attr.values - Array of attribute value objects\n * @param {string} attr.values.value - Attribute coded value\n * @param {string} attr.values.url - URL to de/select an attribute value of the product\n * @param {boolean} attr.values.isSelectable - Flag as to whether an attribute value can be selected. If there is no variant that corresponds to a specific combination of attribute values, an attribute may be disabled in the Product Detail Page\n * @param {jQuery} $productContainer - DOM container for a given product\n */\nfunction processNonSwatchValuesMiniSet(attr, $productContainer) {\n let $attr = $productContainer.find($('.list-' + attr.id));\n\n attr.values.forEach(function (attrValue) {\n let $attrValue = $attr.find('[data-attr-value=\"' + attrValue.value + '\"]');\n\n $attrValue.attr('value', attrValue.url).removeAttr('disabled');\n\n if (!attrValue.selectable) {\n $attrValue.attr('disabled', true);\n }\n\n if (attrValue.selected) {\n $attrValue.attr('selected', 'selected');\n $attrValue.addClass('selected');\n } else {\n $attrValue.removeAttr('selected');\n $attrValue.removeClass('selected');\n }\n });\n}\n\n/**\n * Routes the handling of attribute processing depending on whether the attribute has image\n * swatches or not\n *\n * @param {Object} attrs - Attribute\n * @param {string} attr.id - Attribute ID\n * @param {jQuery} $productContainer - DOM element for a given product\n */\nfunction updateAttrs(attrs, $productContainer) {\n const attrsWithSwatches = ['color'];\n\n attrs.forEach(function (attr) {\n if (attrsWithSwatches.indexOf(attr.id) > -1) {\n processSwatchValues(attr, $productContainer);\n } else {\n processNonSwatchValues(attr, $productContainer);\n }\n });\n}\n\n/**\n * Routes the handling of attribute processing depending on whether the attribute has image swatches or not\n *\n * @param {Object} attrs - Attribute\n * @param {string} attr.id - Attribute ID\n * @param {jQuery} $productContainer - DOM element for a given product\n */\nfunction updateMiniAttrs(attrs, $productContainer) {\n const attrsWithSwatches = ['color'];\n\n attrs.forEach(function (attr) {\n if (attrsWithSwatches.indexOf(attr.id) > -1) {\n processSwatchValues(attr, $productContainer);\n } else {\n processNonSwatchValuesMiniSet(attr, $productContainer);\n }\n });\n}\n\n/**\n * Updates the availability status in the Product Detail Page\n *\n * @param {Object} response - Ajax response object after an\n * attribute value has been [de]selected\n * @param {jQuery} $productContainer - DOM element for a given product\n */\nfunction updateAvailability(response, $productContainer) {\n var availabilityValue = '';\n var availabilityMessages = response.product.availability.messages;\n if (!response.product.readyToOrder) {\n availabilityValue = '<div>' + response.resources.info_selectforstock + '</div>';\n } else {\n availabilityMessages.forEach(function (message) {\n availabilityValue += '<div>' + message + '</div>';\n });\n controlSizeModalProduct(null, response);\n }\n\n /** Controllo che mostra la label del prodotto in quick view solo se la label del prodotto è presente */\n var $nameGroup = $('.product-name-group');\n var $labels = $('.product-tag-labels');\n var label = response.product.label;\n\n if ($labels.length === 0 && label) {\n $nameGroup.prepend('<ul class=\"product-tag-labels\"><li><span class=\"product-tag-label\">' + label + '</span></li></ul>');\n } else if ($labels.length > 0 && label) {\n $labels.find('span').text(label);\n $labels.removeClass('hide');\n } else if (!label && $labels.length > 0) {\n $labels.addClass('hide');\n }\n\n $($productContainer).trigger('product:updateAvailability', {\n product: response.product,\n $productContainer: $productContainer,\n message: availabilityValue,\n resources: response.resources\n });\n}\n\n/**\n * Generates html for promotions section\n *\n * @param {array} promotions - list of promotions\n * @return {string} - Compiled HTML\n */\nfunction getPromotionsHtml(promotions) {\n if (!promotions) {\n return '';\n }\n\n var html = '';\n\n promotions.forEach(function (promotion) {\n html += '<div class=\"callout-msg\">' + promotion.calloutMsg + '</div>';\n });\n\n return html;\n}\n\n/**\n * Generates html for product attributes section\n *\n * @param {array} attributes - list of attributes\n * @return {string} - Compiled HTML\n */\nfunction getAttributesHtml(attributes) {\n if (!attributes) {\n return '';\n }\n\n var html = '';\n\n attributes.forEach(function (attributeGroup) {\n if (attributeGroup.ID === 'mainAttributes') {\n attributeGroup.attributes.forEach(function (attribute) {\n html += '<div class=\"attribute-values\">' + attribute.label + ': '\n + attribute.value + '</div>';\n });\n }\n });\n\n return html;\n}\n\n/**\n * @typedef UpdatedOptionValue\n * @type Object\n * @property {string} id - Option value ID for look up\n * @property {string} url - Updated option value selection URL\n */\n\n/**\n * @typedef OptionSelectionResponse\n * @type Object\n * @property {string} priceHtml - Updated price HTML code\n * @property {Object} options - Updated Options\n * @property {string} options.id - Option ID\n * @property {UpdatedOptionValue[]} options.values - Option values\n */\n\n/**\n * Parses JSON from Ajax call made whenever an attribute value is [de]selected\n * @param {Object} response - response from Ajax call\n * @param {Object} response.product - Product object\n * @param {string} response.product.id - Product ID\n * @param {Object[]} response.product.variationAttributes - Product attributes\n * @param {Object[]} response.product.images - Product images\n * @param {boolean} response.product.hasRequiredAttrsSelected - Flag as to whether all required\n * attributes have been selected. Used partially to\n * determine whether the Add to Cart button can be enabled\n * @param {jQuery} $productContainer - DOM element for a given product.\n */\nfunction handleVariantResponse(response, $productContainer) {\n let isChoiceOfBonusProducts = $productContainer.parents('.choose-bonus-product-dialog').length > 0;\n let isVaraint;\n let isNewtest = response.product.isNewtest;\n let isInWishlist = response.product.isInWishlist;\n let isOnSale = response.product.isSale;\n\n if (response.product.variationAttributes) {\n updateAttrs(response.product.variationAttributes, $productContainer);\n isVaraint = response.product.productType === 'variant';\n if (isChoiceOfBonusProducts && isVaraint) {\n $productContainer.parent('.bonus-product-item').data('pid', response.product.id);\n $productContainer.parent('.bonus-product-item').data('ready-to-order', response.product.readyToOrder);\n }\n }\n\n if (!isChoiceOfBonusProducts) {\n var $priceSelector = $('.product-name-group .price');\n $priceSelector.replaceWith(response.product.price.html);\n }\n\n $('.side-details .product-name').empty().html(response.product.productName);\n $('.promotions').empty().html(getPromotionsHtml(response.product.promotions));\n\n updateAvailability(response, $productContainer);\n\n if (isChoiceOfBonusProducts) {\n var $selectButton = $productContainer.find('.select-bonus-product');\n $selectButton.trigger('bonusproduct:updateSelectButton', {\n product: response.product,\n $productContainer: $productContainer\n });\n } else {\n $('button.add-to-cart, button.add-to-cart-global').trigger('product:updateAddToCart', {\n product: response.product,\n $productContainer: $productContainer\n }).trigger('product:statusUpdate', response.product);\n }\n\n if (isNewtest) {\n $('.side-details .new-arrival').addClass('show').removeClass('hide');\n } else {\n $('.side-details .new-arrival').addClass('hide').removeClass('show');\n }\n\n if (isOnSale) {\n $('.side-details .is-sale').addClass('show').removeClass('hide');\n } else {\n $('.side-details .is-sale').addClass('hide').removeClass('show');\n }\n\n if (isInWishlist) {\n $('.side-details .add-to-wish-list, .side-grid-images .add-to-wish-list').addClass('is-in-wishlist');\n } else {\n $('.side-details .add-to-wish-list, .side-grid-images .add-to-wish-list').removeClass('is-in-wishlist');\n }\n\n if ($productContainer.find('.error-msg').length) {\n $productContainer.find('.error-msg').remove();\n }\n\n $productContainer.find('.add-to-wish-list').each(function (index, el) {\n el = $(el);\n el.attr('disabled', false);\n const attr = el.attr('data-remove-url');\n\n if (typeof attr !== typeof undefined && attr !== false) {\n el.attr('data-remove-url', el.attr('data-remove-url').replace(/\\?pid=.*/g, '?pid=' + response.product.id));\n }\n });\n\n $productContainer.find('.main-attributes').empty().html(getAttributesHtml(response.product.attributes));\n $productContainer.removeClass('loading');\n}\n\n/**\n * Parses JSON from Ajax call made whenever an attribute value is [de]selected on a mini product set.\n * @param {Object} response - response from Ajax call\n * @param {Object} response.product - Product object\n * @param {string} response.product.id - Product ID\n * @param {Object[]} response.product.variationAttributes - Product attributes\n * @param {boolean} response.product.hasRequiredAttrsSelected - Flag as to whether all required\n * attributes have been selected. Used partially to\n * determine whether the Add to Cart button can be enabled\n * @param {jQuery} $productContainer - DOM element for a given product.\n */\nfunction handleVariantMiniSetResponse(response, $productContainer) {\n if (response.product.variationAttributes) {\n updateMiniAttrs(response.product.variationAttributes, $productContainer);\n }\n\n var $priceSelector = $productContainer.find('.price');\n $priceSelector.replaceWith(response.product.price.html);\n\n $productContainer.find('.product-info .product-link').text(response.product.productName);\n $productContainer.find('button.add-to-cart-set').trigger('product:updateAddToCartMiniSet', {\n product: response.product,\n $productContainer: $productContainer\n });\n\n $productContainer.removeClass('loading');\n}\n\n/**\n * @typespec UpdatedQuantity\n * @type Object\n * @property {boolean} selected - Whether the quantity has been selected\n * @property {string} value - The number of products to purchase\n * @property {string} url - Compiled URL that specifies variation attributes, product ID, options, etc.\n */\n\n/**\n * Updates the quantity DOM elements post Ajax call\n * @param {UpdatedQuantity[]} quantities -\n * @param {jQuery} $productContainer - DOM container for a given product\n */\nfunction updateQuantities(quantities, $productContainer) {\n if (!($productContainer.parent('.bonus-product-item').length > 0)) {\n var optionsHtml = quantities.map(function (quantity) {\n var selected = quantity.selected ? ' selected ' : '';\n return '<option value=\"' + quantity.value + '\" data-url=\"' + quantity.url + '\"' + selected + '>' + quantity.value + '</option>';\n }).join('');\n getQuantitySelector($productContainer).empty().html(optionsHtml);\n }\n}\n\n/**\n * Updates the \"color name\" DOM element post Ajax call\n */\nfunction updateColorName() {\n if ($('.color-cell-container').find('.swatch-color').hasClass('selected')) {\n var colorName = $('.swatch-color.selected').attr('data-display-value');\n $('[data-attr=\"color\"]').find('.color-name').text(colorName);\n } else {\n $('[data-attr=\"color\"]').find('.color-name').text('');\n }\n}\n\n/**\n * updates the product view when a product attribute is selected or deselected or when changing quantity\n * @param {string} selectedValueUrl - the Url for the selected variation value\n * @param {jQuery} $productContainer - DOM element for current product\n */\nfunction attributeSelect(selectedValueUrl, $productContainer, $secondaryCall) {\n if (typeof $secondaryCall === 'undefined') {\n $secondaryCall = false;\n }\n\n if (selectedValueUrl) {\n $.ajax({\n url: selectedValueUrl,\n method: 'GET',\n beforeSend: function () {\n $productContainer.addClass('loading');\n },\n success: function (data) {\n handleVariantResponse(data, $productContainer);\n updateQuantities(data.product.quantities, $productContainer);\n updateColorName();\n updateAddToCartEvent(data.product);\n updateLabel(data.product);\n controlSizeModalProduct(null, ($productContainer.hasClass('product-quickview')) ? data : null);\n if (!$secondaryCall) {\n replaceProductsetWidget(data);\n updateScalapayWidget(data.product);\n //Aggiunta una chiamata Ajax al controller Product-CompleteYourLook che ritorna tutto il template processato complete your look e rimpiazza\n var completeYourLookWrapper = $('.complete-your-look-wrapper');\n //ho notato questa funzione (attributeSelect) è chiamata 2 volte al click su un colore, avevo pensato di metterla dentro l'if della riga 464 per evitare doppio caricamento\n //questa funzione viene chiamata sempre anche quando si apre una quickview, ho cercato di bloccarla così $('.quick-view-modal.modal.reveal.large .modal-content.modal-body').children().length\n if(completeYourLookWrapper.length > 0 && $('.quick-view-modal.modal.reveal.large .modal-content.modal-body').children().length === 0){\n updateCompleteYourLook(data)\n }\n }\n $('body').trigger('product:afterAttributeSelect', {\n data: data,\n container: $productContainer\n });\n\n if (data.product.oosProduct) {\n $('button.add-to-cart', $productContainer).addClass('hidden');\n $('.availability-msg.oos', $productContainer).css({ 'font-size': '18px', 'font-weight': '500', color: '#C82828' });\n $('.availability-msg.oos', $productContainer).text(data.product.oosLabel);\n $('.availability-msg.oos', $productContainer).removeClass('hidden');\n } else {\n $('button.add-to-cart', $productContainer).removeClass('hidden');\n $('.availability-msg.oos', $productContainer).addClass('hidden');\n }\n },\n error: function () {\n console.log('error in process the request');\n }\n });\n }\n}\n\nfunction updateScalapayWidget(product){\n if(!product) return;\n\n const scalapayWidget = $('scalapay-widget');\n try{\n if(scalapayWidget.length && !!product.price.sales.decimalPrice){\n scalapayWidget.attr('amount', product.price.sales.decimalPrice);\n }\n }catch(ex){}\n}\n\nfunction replaceProductsetWidget(data) {\n if (typeof productSetWidgetAction === 'undefined' || typeof data === 'undefined') {\n return;\n }\n\n if (typeof data.product.productSets !== 'undefined' && data.product.productSets.length > 0) {\n $.ajax({\n url: productSetWidgetAction,\n type: 'GET',\n dataType: 'html',\n data: data.queryString,\n success: function (data) {\n if ($('.extra-product-container').length > 0) {\n if ($('.extra-product-container .product-set').length > 0) {\n $('.extra-product-container .product-set').remove();\n }\n\n $('.extra-product-container').prepend(data);\n $(document).foundation();\n }\n }\n });\n } else if ($('.extra-product-container .product-set').length > 0) {\n $('.extra-product-container .product-set').remove();\n }\n}\n\n/**\n * get template for replace all PDP images\n */\nfunction replaceImages(url, $productContainer) {\n var productContainerImages = $productContainer;\n var carouselImages = null;\n if (productContainerImages.find('.slides').length) {\n carouselImages = productContainerImages.find('.slides');\n }\n if (url) {\n $.ajax({\n url: url,\n method: 'GET',\n beforeSend: function () {\n productContainerImages.addClass('loading');\n },\n success: function (data) {\n productContainerImages.empty().html(data);\n productContainerImages.removeClass('loading');\n if (carouselImages) {\n carouselImages.owlCarousel('destroy');\n carousel.quickviewCarousel();\n } else {\n productContainerImages.owlCarousel('destroy');\n owl(productContainerImages);\n }\n },\n error: function () {\n console.log('error in process the request');\n }\n });\n }\n}\n\n/**\n * get template for replace all PDP modal images\n */\nfunction replaceModalImages(url) {\n var productModalImages = $(document).find('.product-zoom-modal');\n if (url) {\n $.ajax({\n url: url,\n method: 'GET',\n success: function (data) {\n productModalImages.empty().html(data);\n },\n error: function () {\n console.log('error in process the request');\n }\n });\n }\n}\n\n/**\n * function to update price for SEO event addToCart\n */\nfunction updateAddToCartEvent(product) {\n $(document).ready(function () {\n if (typeof $(document).find('.add-to-cart').data('analiticsp') !== 'undefined') {\n let price = 0;\n if (Object.prototype.hasOwnProperty.call(product.price, 'min')) {\n price = product.price.min;\n } else if (Object.prototype.hasOwnProperty.call(product.price, 'max')) {\n price = product.price.max;\n } else if (Object.prototype.hasOwnProperty.call(product.price, 'sales')) {\n price = product.price.sales.value;\n } else price = product.price;\n\n let addToCartEvent = $(document).find('.add-to-cart').data('analiticsp');\n let addToCartEventParse = JSON.parse(decodeURIComponent(addToCartEvent));\n\n let datalayerEvent = {\n name: addToCartEventParse.name,\n id: addToCartEventParse.id,\n price: price,\n brand: 'twinset milano',\n category: addToCartEventParse.category,\n variant: addToCartEventParse.variant,\n quantity: '1',\n dimension14: addToCartEventParse.dimension14,\n dimension15: addToCartEventParse.dimension15,\n dimension16: addToCartEventParse.dimension16\n };\n\n let encodedDatalayerEvent = encodeURIComponent(JSON.stringify(datalayerEvent));\n\n let elem = $(document).find('.add-to-cart').not('.add-to-wish-list');\n elem.data('analiticsp', encodedDatalayerEvent);\n }\n });\n}\n\n\nfunction updateLabel(product){\n if(product.label){\n $('.product-tag-label').text(product.label);\n }\n}\n\nfunction updateCompleteYourLook(data){\n $.ajax({\n url: data.completeYourLook,\n method: 'GET',\n data: { pid: data.product.id },\n success: function(response) {\n $('.complete-your-look-wrapper').html(response);\n },\n error: function(xhr, status, error) {\n console.error('Errore nel caricamento del widget \"Complete Your Look\":', error);\n }\n });\n}\n/**\n * get template for replace accordion PDP\n */\nfunction replaceAccordion(url) {\n var productAccordion = $(document).find('.product-accordion');\n if (url) {\n $.ajax({\n url: url,\n method: 'GET',\n success: function (data) {\n productAccordion.empty().html(data);\n },\n complete: function (data) {\n Accordion.run();\n },\n error: function () {\n console.log('error in process the request');\n }\n });\n }\n}\n\n/**\n * updates the product view when a \"mini product set\" attribute is selected or deselected or when changing size\n * @param {string} selectedValueUrl - the Url for the selected variation value\n * @param {jQuery} $productContainer - DOM element for current product\n */\nfunction attributeSelectMiniSet(selectedValueUrl, $productContainer) {\n if (selectedValueUrl) {\n $.ajax({\n url: selectedValueUrl,\n method: 'GET',\n beforeSend: function () {\n $productContainer.addClass('loading');\n },\n success: function (data) {\n handleVariantMiniSetResponse(data, $productContainer);\n controlSizeModalProductSet();\n\n // changhe set mini product set PID\n $('body').trigger('product:afterMiniAttributeSelect', {\n data: data,\n container: $productContainer\n });\n },\n error: function () {\n console.log('error in process the request');\n }\n });\n }\n}\n\n/**\n * Retrieves url to use when adding a product to the cart\n *\n * @return {string} - The provided URL to use when adding a product to the cart\n */\nfunction getAddToCartUrl() {\n return $('.add-to-cart-url').val();\n}\n\n/**\n * Parses the html for a modal window\n * @param {string} html - representing the body and footer of the modal window\n *\n * @return {Object} - Object with properties body and footer.\n */\nfunction parseHtml(html) {\n var $html = $('<div>').append($.parseHTML(html));\n\n var body = $html.find('.choice-of-bonus-product');\n var footer = $html.find('.modal-footer').children();\n\n return {\n body: body,\n footer: footer\n };\n}\n\n/**\n * Assignment of post Ajax parameters to open the \"size modal\" in case the user does not select a size.\n * @param {Object} html - the element to be assigned the parameters to open the \"size modal\"\n */\nfunction controlSizeModalProduct(elem, response) {\n elem = (!elem) ? $('button.add-to-cart') : $(elem);\n\n if(!!response && response.hasGiftCard){\n Callout.error(null, response.giftCardAllert, $('#quickViewModal .error-wrapper'), false, false, false);\n }else if ($('[data-attr=\"size\"] .selected').length === 0) {\n if ($('.size-modal').length === 0) {\n elem.removeClass('disabled');\n elem.addClass('no-modal-no-size-selected');\n } else {\n elem.each(function (index, el) {\n if ($(el).parent().is('.cart-and-ipay')) {\n $(el).removeAttr('disabled').attr('data-open', 'size-modal').addClass('disabled');\n } else {\n $(el).removeAttr('disabled').addClass('disabled');\n }\n });\n }\n } else {\n elem.removeAttr('data-open').removeClass('disabled no-size-selected').removeClass('no-modal-no-size-selected');\n elem.removeAttr('disabled');\n }\n}\n\n/**\n * Assignment of post Ajax parameters to open the \"size modal\" in case the user does not select a size.\n * dedicated to products of type product-set\n * @param {Object} html - the element to be assigned the parameters to open the \"size modal\"\n */\nfunction controlSizeModalProductSet(elem) {\n elem = (!elem) ? $('button.add-to-cart-set') : $(elem);\n\n elem.each(function (index, el) {\n var elemSelect = $(el).parents('[data-attr=\"size\"]').find('select');\n var elemModalId = $(el).parents('[data-attr=\"size\"]').data('modal');\n\n if (elemSelect.length > 0) {\n if (typeof elemSelect.find(':selected').data('attr-value') !== 'undefined') {\n $(el).removeAttr('data-open');\n } else if ($('#' + elemModalId).length > 0) {\n $(el).attr('data-open', elemModalId);\n }\n }\n });\n}\n\n/**\n * Retrieves the bundle product item ID's for the Controller to replace bundle master product\n * items with their selected variants\n *\n * @return {string[]} - List of selected bundle product item ID's\n */\nfunction getChildProducts() {\n var childProducts = [];\n $('.bundle-item').each(function () {\n childProducts.push({\n pid: $(this).find('.product-id').text(),\n quantity: parseInt($(this).find('label.quantity').data('quantity'), 10)\n });\n });\n\n return childProducts.length ? JSON.stringify(childProducts) : [];\n}\n\n/**\n * Initialize \"images grid\" carousel on mobile breakpoint\n *\n * @param {jQuery} $el - DOM element for initialize the carousel\n */\nfunction owl($el) {\n const breakpoint = 720;\n let width = $(window).innerWidth();\n let $render = $el;\n\n if (width > breakpoint) {\n if (!$render.hasClass('owl-carousel') || !$render.length) {\n return;\n }\n\n $render.removeClass('owl-carousel').trigger('destroy.owl.carousel');\n } else if (width <= breakpoint) {\n if ($render.hasClass('owl-loaded') || !$render.length) {\n return;\n }\n\n $render.addClass('owl-carousel').owlCarousel({\n items: 1,\n loop: true,\n nav: false,\n dots: true,\n smartSpeed: 450,\n slideTransition: 'ease-in-out'\n });\n }\n}\n\nclass product {\n constructor() {\n this.methods = {\n editBonusProducts: function (data) {\n // chooseBonusProducts(data);\n }\n };\n }\n\n colorValue() {\n updateColorName();\n }\n\n colorAttributeNoClick(element, forceSelect) {\n var oldColor = $('a.swatch-color.selected').data('familyColorSearch');\n var self = $(element);\n\n if (!forceSelect && (self.attr('disabled') || self.hasClass('unselectable') || self.hasClass('selected'))) {\n return;\n }\n\n try {\n document.title = document.title.replace(oldColor, self.data('familyColorSearch'));\n var description = $('meta[name=\"description\"]').attr('content');\n var ogDescription = $('meta[property=\"og:description\"]').attr('content');\n $('meta[name=\"description\"]').attr('content', description.replace(oldColor, self.data('familyColorSearch')));\n $('meta[property=\"og:description\"]').attr('content', ogDescription.replace(oldColor, self.data('familyColorSearch')));\n } catch (error) {\n\n }\n\n var $productContainer = self.closest('.product-quickview');\n\n if (!$productContainer.length) {\n $productContainer = self.closest('.product-detail');\n attributeSelect(self.attr('href'), $productContainer);\n attributeSelect(self.attr('href'), $('.size-modal'), true);\n replaceImages(self.data('image-url'), $productContainer.find('.grid-render'));\n replaceModalImages(self.data('modal-image-url'));\n replaceAccordion(self.data('accordion-url'));\n EnhancedSeo.clickAccordion(['.product-accordion .trigger', 'aria-expanded']);\n } else {\n attributeSelect(self.attr('href'), $productContainer);\n replaceImages(self.data('image-url') + '&quickview=true', $productContainer.find('.quick-view-images'));\n }\n }\n\n colorAttribute() {\n $(document).off('click', '[data-attr=\"color\"] a').on('click', '[data-attr=\"color\"] a', function (e) {\n e.preventDefault();\n this.colorAttributeNoClick(e.currentTarget);\n // check if the event is user generated or programmatically triggered\n var isUserEvent = true;\n if (typeof e.isTrusted !== 'undefined') {\n isUserEvent = e.isTrusted;\n } else if (e.clientX === 0 && e.clientY === 0) {\n // compatibility for browser that does not yet support isTrusted property\n isUserEvent = false;\n }\n // do not trigger variant event if the click is not user generated\n if (isUserEvent) {\n EnhancedSeo.selectedVariant($(e.currentTarget), ['.product-detail', 'pid', 'data-family-color-search']);\n }\n }.bind(this));\n\n $(document).ready(function () {\n if (colorValueHtmlHead) {\n $('a.swatch-color').each(function (i, el) {\n var colorIndex = $(el).data('familyColorSearch');\n if (colorIndex !== colorValueHtmlHead) {\n try {\n document.title = document.title.replace(colorIndex, colorValueHtmlHead);\n var description = $('meta[name=\"description\"]').attr('content');\n var ogDescription = $('meta[property=\"og:description\"]').attr('content');\n $('meta[name=\"description\"]').attr('content', description.replace(colorIndex, colorValueHtmlHead));\n $('meta[property=\"og:description\"]').attr('content', ogDescription.replace(colorIndex, colorValueHtmlHead));\n } catch (error) {\n\n }\n }\n });\n }\n });\n }\n\n selectAttributeNoClick(element) {\n var self = $(element);\n\n if (self.attr('disabled') || self.hasClass('selected')) {\n return;\n }\n\n var $productContainer = self.closest('.product-quickview');\n\n if (!$productContainer.length) {\n $productContainer = $('.product-detail');\n attributeSelect(self.attr('data-url-value'), $productContainer);\n attributeSelect(self.attr('data-url-value'), $('.size-modal'), true);\n replaceAccordion(self[0].dataset.accordionUrl);\n } else {\n attributeSelect(self.attr('data-url-value'), $productContainer);\n }\n }\n\n selectAttribute() {\n $(document).on('click', '[data-attr=\"size\"] .list-size > li, .options-select', function (e) {\n e.preventDefault();\n this.selectAttributeNoClick(e.currentTarget);\n }.bind(this));\n\n $(document).on('click', '[data-productset-attr=\"size\"] .list-size > li', function (e) {\n e.preventDefault();\n var self = $(e.currentTarget);\n var referencedSelect = $('[data-modal=\"' + self.parents('section').attr('id') + '\"]').find('select');\n\n if (self.attr('disabled') || self.hasClass('selected')) {\n return;\n }\n\n referencedSelect.val(self.attr('data-url-value')).trigger('change');\n var $productContainer = $('[data-modal=\"' + self.parents('section').attr('id') + '\"]');\n attributeSelectMiniSet(self.attr('data-url-value'), $productContainer);\n attributeSelectMiniSet(self.attr('data-url-value'), self.parents('section'), true);\n });\n }\n\n selectMiniSetAttribute() {\n $(document).on('change', '.set-items-render .list-size', function (e) {\n e.preventDefault();\n\n const self = $(e.currentTarget);\n const $productContainer = self.closest('.set-items-render');\n let url = self.val();\n\n if (url === 'null' || url === '') {\n self.closest('.set-items-render').find('.add-to-cart-set').addClass('disabled');\n } else {\n attributeSelectMiniSet(url, $productContainer);\n }\n });\n }\n\n availability() {\n $(document).on('change', '.quantity-select', function (e) {\n e.preventDefault();\n\n var $productContainer = $(e.currentTarget).closest('.product-detail');\n if (!$productContainer.length) {\n $productContainer = $(e.currentTarget).closest('.modal-content').find('.product-quickview');\n }\n\n if ($('.bundle-items', $productContainer).length === 0) {\n attributeSelect($(e.currentTarget).find('option:selected').data('url'), $productContainer);\n }\n });\n }\n\n addToCart() {\n $(document).off('click', 'button.add-to-cart, button.add-to-cart-global')\n .on('click', 'button.add-to-cart, button.add-to-cart-global', (e, options) => {\n e.preventDefault();\n\n var addToCartUrl;\n var pid;\n var quantity;\n var pidsObj;\n var options = !!options ? JSON.stringify(options) : null;\n var self = $(e.currentTarget);\n\n if ((self.hasClass('disabled') && self.hasClass('no-size-selected')) || self.hasClass('no-modal-no-size-selected')) {\n if ($('.list-size').next('.error-msg').length === 0) {\n const div = $('<div class=\"error-msg\"></div>');\n const errorMsg = $('.variation-attr').attr('data-error-msg');\n div.text(errorMsg).insertAfter('.quick-view-details .list-size');\n }\n\n return;\n }\n\n pid = getPidValue(self);\n\n if (self.hasClass('disabled') || self.hasClass('not-enabled-to-add') || self.hasClass('no-modal-no-size-selected')) {\n if (self.hasClass('add-to-wish-list')) {\n EnhancedSeo.noSizeWishlistClick(pid, ['.swatch-color.selected', 'familyColorSearch']);\n } else {\n EnhancedSeo.noSizeClick(pid, ['.swatch-color.selected', 'familyColorSearch']);\n }\n return;\n }\n\n addToCartUrl = getAddToCartUrl();\n quantity = getQuantitySelected(self) || 1;\n\n var form = {\n pid: pid,\n pidsObj: pidsObj,\n childProducts: getChildProducts(),\n quantity: quantity,\n options: options\n };\n\n if (!self.parents('.size-modal').length) {\n controlSizeModalProduct(e.currentTarget);\n } else {\n $('.size-modal .close-modal').trigger('click');\n }\n\n if (addToCartUrl) {\n $.ajax({\n url: addToCartUrl,\n method: 'POST',\n data: form,\n success: (data) => {\n if(data.error && data.hasGiftCardError){\n showAlertModal(data);\n return;\n }\n if (data.excess || data.error) {\n $('.mini-cart-link').attr('data-has-error', 'true');\n } else {\n $('.mini-cart-link').removeAttr('data-has-error');\n }\n\n // Trigger Goal Event: cart_created\n if (data.created) {\n dataLayer.push({\n gaHitType: 'event',\n event: 'goal_event',\n event_category: 'cart_created',\n event_action: pid.replace(/_/g, '|')\n });\n }\n if (pageTypeForJS === 'cart') {\n location.reload();\n $(document).ready(function () {\n $(this).scrollTop(0);\n });\n }\n AddToCartMsg.handlePostCartAdd(data);\n EnhancedSeo.pushATC(\n self.data(\"analiticsp\"),\n this.getDataLayerGA4(data.cart, pid, \"add_to_cart\", true)\n );\n $('body').trigger('product:afterAddToCart', data);\n },\n error: function () {\n console.log('error in process request');\n }\n });\n }\n });\n }\n\n addToCartMiniSet() {\n $(document).on('click', 'button.add-to-cart-set', function (e) {\n e.preventDefault();\n\n var addToCartUrl;\n var pid;\n var pidsObj;\n var self = $(e.currentTarget);\n var $productContainer = self.closest('.set-item');\n\n if (self.hasClass('disabled')) {\n return;\n }\n\n if (!self.parents('.size-modal').length) {\n controlSizeModalProductSet(e.currentTarget);\n } else {\n $('.size-modal .close-modal').trigger('click');\n }\n\n $('body').trigger('product:beforeAddToCart', this);\n pid = $productContainer.attr('data-pid');\n addToCartUrl = getAddToCartUrl();\n\n var form = {\n pid: pid,\n pidsObj: pidsObj,\n childProducts: [],\n quantity: 1\n };\n\n if (addToCartUrl && !self.hasClass('disabled')) {\n $.ajax({\n url: addToCartUrl,\n method: 'POST',\n data: form,\n success: (data) => {\n AddToCartMsg.handlePostCartAdd(data);\n $('body').trigger('product:afterAddToCart', data);\n\n if (typeof dataLayer !== 'undefined') {\n dataLayer.push({\n event: 'shop_by_look_add_to_cart',\n ecommerce: this.getDataLayerGA4(data.cart, pid, \"add_to_cart\", false)\n });\n }\n },\n error: function () {\n console.log('error in process request');\n }\n });\n }\n }.bind(this));\n }\n\n gridImagesCarousel() {\n const win = $(window);\n const gridImages = $('.grid-render');\n\n let scrollToSlider = function () {\n var breakpoint = Foundation.MediaQuery.current;\n var edge = $('.header-banner').outerHeight(true) + $('header').outerHeight(true);\n\n if (window.device && (window.device.type === 'mobile' || window.device.type === 'tablet') || breakpoint === 'medium' || breakpoint === 'small') {\n if ($(window).scrollTop() <= edge) {\n $('html, body').animate({\n scrollTop: edge + 10\n }, 500);\n }\n }\n };\n\n $(document).ready(owl(gridImages));\n\n win.on('resize', function () {\n owl(gridImages);\n });\n\n win.on('load', function () {\n scrollToSlider();\n });\n }\n\n selectBonusProduct() {\n $(document).on('click', '.select-bonus-product', function () {\n var $choiceOfBonusProduct = $(this).parents('.choice-of-bonus-product');\n var pid = $(this).data('pid');\n var maxPids = $('.choose-bonus-product-dialog').data('total-qty');\n var submittedQty = parseInt($(this).parents('.choice-of-bonus-product').find('.bonus-quantity-select').val(), 10);\n var totalQty = 0;\n $.each($('#chooseBonusProductModal .selected-bonus-products .selected-pid'), function () {\n totalQty += $(this).data('qty');\n });\n totalQty += submittedQty;\n var optionID = $(this).parents('.choice-of-bonus-product').find('.product-option').data('option-id');\n var valueId = $(this).parents('.choice-of-bonus-product').find('.options-select option:selected').data('valueId');\n if (totalQty <= maxPids) {\n var selectedBonusProductHtml = ''\n + '<div class=\"selected-pid row\" '\n + 'data-pid=\"' + pid + '\"'\n + 'data-qty=\"' + submittedQty + '\"'\n + 'data-optionID=\"' + (optionID || '') + '\"'\n + 'data-option-selected-value=\"' + (valueId || '') + '\"'\n + '>'\n + '<div class=\"col-sm-11 col-9 bonus-product-name\" >'\n + $choiceOfBonusProduct.find('.product-name').html()\n + '</div>'\n + '<div class=\"col-1\"><i class=\"fa fa-times\" aria-hidden=\"true\"></i></div>'\n + '</div>';\n $('#chooseBonusProductModal .selected-bonus-products').append(selectedBonusProductHtml);\n $('.pre-cart-products').html(totalQty);\n $('.selected-bonus-products .bonus-summary').removeClass('alert-danger');\n } else {\n $('.selected-bonus-products .bonus-summary').addClass('alert-danger');\n }\n });\n }\n\n removeBonusProduct() {\n $(document).on('click', '.selected-pid', function () {\n $(this).remove();\n var $selected = $('#chooseBonusProductModal .selected-bonus-products .selected-pid');\n var count = 0;\n if ($selected.length) {\n $selected.each(function () {\n count += parseInt($(this).data('qty'), 10);\n });\n }\n\n $('.pre-cart-products').html(count);\n $('.selected-bonus-products .bonus-summary').removeClass('alert-danger');\n });\n }\n\n enableBonusProductSelection() {\n $('body').on('bonusproduct:updateSelectButton', function (e, response) {\n $('button.select-bonus-product', response.$productContainer).attr('disabled',\n (!response.product.readyToOrder || !response.product.available));\n var pid = response.product.id;\n $('button.select-bonus-product').data('pid', pid);\n });\n }\n\n showMoreBonusProducts() {\n $(document).on('click', '.show-more-bonus-products', function () {\n var url = $(this).data('url');\n $('.modal-content').spinner().start();\n $.ajax({\n url: url,\n method: 'GET',\n success: function (html) {\n var parsedHtml = parseHtml(html);\n $('.modal-body').append(parsedHtml.body);\n $('.show-more-bonus-products:first').remove();\n $('.modal-content').spinner().stop();\n },\n error: function () {\n $('.modal-content').spinner().stop();\n }\n });\n });\n }\n\n /**\n * @param {Object} cart - Cart/Basket Model\n * @param {String|Object} product - ID of product or Product Model\n * @param {String} event - GA4 Event\n * @param {boolean} isSingleQnt - true if the request come from the UpdateQuantity Route\n */\n getDataLayerGA4(cart, product, event, isSingleQnt) {\n var item = (typeof product === \"object\") ? this.getProductGA4Model(product)\n : cart.items.filter((el) => { return el.id === product; }).map((prod) => this.getProductGA4Model(prod, isSingleQnt));\n\n var priceValue = item.price ? (Number(item.price) - Number(item.discount)) : (Number(item[0].price) - Number(item[0].discount))\n\n return {\n currency: currentCurrency,\n value: priceValue,\n items: event === \"remove_from_cart\" ? (Array.isArray(item) ? item : [item]) : item,\n }\n }\n\n getCartGA4Model(cart, event, isSingleQnt){\n\n var items = [];\n\n for(let i = 0; i < cart.items.length; i++){\n var item = this.getProductGA4Model(cart.items[i], isSingleQnt);\n items.push(item);\n }\n document.dispatchEvent(new Event('cart:update'));\n\n return {\n currency: currentCurrency,\n value: Number(cart.totals.grandTotal.substring(2).replace(',', '')),\n items: items,\n }\n\n }\n\n getProductGA4Model(product, isSingleQnt) {\n try{\n const categories = product.categoryPath.split(\"/\");\n const discount = (product.price.list !== null && product.price.sales !== null)\n ? (parseFloat(product.price.list.decimalPrice) - parseFloat(product.price.sales.decimalPrice)).toFixed(2) : '0.00';\n const color = product.variationAttributes.filter((el) => { return el.id === \"color\"} )[0];\n const size = product.variationAttributes.filter((el) => { return el.id === \"size\"} )[0];\n\n return {\n item_id: product.masterid,\n item_name: product.productName,\n currency: currentCurrency,\n discount: Number(discount),\n item_brand: 'twinset milano',\n item_category: categories.length > 0 ? categories[0] : '',\n item_category2: categories.length > 1 ? categories[1] : '',\n item_category3: categories.length > 2 ? categories[2] : '',\n item_list_name: 'cart',\n item_variant: color.displayValue,\n price: product.price.list ? product.price.list.value : product.price.sales.value,\n quantity: isSingleQnt ? '1' : product.quantity,\n item_availability: product.availability.inStock ? 'in_stock' : 'out_of_stock',\n item_discount_tag: discount !== '0.00' ? 'on_sale' : 'not_on_sale',\n available_size_percentage: product.available_size_percentage,\n item_size: size.displayValue,\n item_variant_v2: product.id,\n item_url: product.masterUrl,\n item_img: product.defaultColorImageObj ? product.defaultColorImageObj.large[0].url : product.images.large[0].url\n }\n }catch(ex){\n return {};\n }\n }\n\n addToCartMobileSEO() {\n $(document).on('click', '.add-to-cart-messages', function () {\n dataLayer.push({\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'funzionalita_cross',\n event_action: 'prodotto_aggiunto_al_carrello'\n });\n });\n\n $(document).on('click', '#mobile-checkout', function () {\n dataLayer.push({\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'funzionalita_cross',\n event_action: 'prodotto_aggiunto_al_carrello_new',\n event_label: 'procedi_all_acquisto'\n });\n });\n\n $(document).on('click', '#mobile-view-cart', function () {\n dataLayer.push({\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'funzionalita_cross',\n event_action: 'prodotto_aggiunto_al_carrello_new',\n event_label: 'mostra_carrello'\n });\n });\n }\n\n addBonusProductsToCart() {\n $(document).on('click', '.add-bonus-products', function () {\n var $readyToOrderBonusProducts = $('.choose-bonus-product-dialog .selected-pid');\n var queryString = '?pids=';\n var url = $('.choose-bonus-product-dialog').data('addtocarturl');\n var pidsObject = {\n bonusProducts: []\n };\n\n $.each($readyToOrderBonusProducts, function () {\n var qtyOption = parseInt($(this)\n .data('qty'), 10);\n\n var option = null;\n if (qtyOption > 0) {\n if ($(this).data('optionid') && $(this).data('option-selected-value')) {\n option = {};\n option.optionId = $(this).data('optionid');\n option.productId = $(this).data('pid');\n option.selectedValueId = $(this).data('option-selected-value');\n }\n pidsObject.bonusProducts.push({\n pid: $(this).data('pid'),\n qty: qtyOption,\n options: [option]\n });\n pidsObject.totalQty = parseInt($('.pre-cart-products').html(), 10);\n }\n });\n queryString += JSON.stringify(pidsObject);\n queryString = queryString + '&uuid=' + $('.choose-bonus-product-dialog').data('uuid');\n queryString = queryString + '&pliuuid=' + $('.choose-bonus-product-dialog').data('pliuuid');\n $.spinner().start();\n $.ajax({\n url: url + queryString,\n method: 'POST',\n success: function (data) {\n $.spinner().stop();\n if (data.error) {\n $('.error-choice-of-bonus-products').html(data.errorMessage);\n } else {\n $('.configure-bonus-product-attributes').html(data);\n $('.bonus-products-step2').removeClass('hidden-xl-down');\n $('#chooseBonusProductModal').modal('hide');\n\n if ($('.add-to-cart-messages').length === 0) {\n $('body').append(\n '<div class=\"add-to-cart-messages\"></div>'\n );\n }\n $('.minicart-quantity').html(data.totalQty);\n $('.add-to-cart-messages').append(\n '<div class=\"alert alert-success add-to-basket-alert text-center\"'\n + ' role=\"alert\">'\n + data.msgSuccess + '</div>'\n );\n setTimeout(function () {\n $('.add-to-basket-alert').remove();\n if ($('.cart-page').length) {\n window.location.reload();\n }\n }, 3000);\n }\n },\n error: function () {\n $.spinner().stop();\n }\n });\n });\n }\n}\n\nconst Product = new product();\nexport default Product;\n\n\n\n// WEBPACK FOOTER //\n// ./assets/scripts/product/index.js","import Easing from '../services/easing';\n\n/**\n * @function setARIA\n * @description Apply the correct ARIA attribute at the moment of click.\n * @param {jQuery} $el - DOM element to set the correct ARIA attribute.\n * @param {jQuery} $container - DOM element to check if it is hidden or not.\n */\nfunction setARIA($el, $container) {\n if ($el.siblings($container).is(':hidden')) {\n $el.attr('aria-expanded', 'false');\n } else {\n $el.attr('aria-expanded', 'true');\n }\n}\n\nclass accordion {\n constructor() {\n this.parent = '.accordion';\n this.triggerEl = '.trigger';\n this.expandable = '.expandable';\n this.content = '.content';\n this.defEasing = 'easeInOutCirc';\n this.defTiming = 450;\n }\n\n run() {\n this.findOpenContents();\n this.setWCAG();\n this.trigger();\n }\n\n findOpenContents() {\n $(this.parent).find('[data-init-open]').each((index, el) => {\n $(el).addClass('open').removeAttr('data-init-open').find(this.content)\n .show();\n });\n }\n\n setWCAG() {\n $(this.parent).attr('role', 'tablist').find(this.triggerEl).each((index, el) => {\n $(el).attr('role', 'tab').attr('tabindex', '0');\n $(el).siblings(this.content).attr('role', 'tabpanel');\n setARIA($(el), this.content);\n });\n }\n\n trigger() {\n $(this.parent).on('click', this.triggerEl, (event) => {\n event.preventDefault();\n let self = $(event.currentTarget);\n\n this.toggleTriggerClass(self);\n this.toggleContent(self);\n this.siblingsSlideUp(self);\n });\n }\n\n toggleTriggerClass(elem) {\n elem.closest(this.expandable).toggleClass('open');\n }\n\n toggleContent(elem) {\n elem.siblings(this.content).stop().slideToggle(this.defTiming, this.defEasing, () => {\n setARIA(elem, this.content);\n });\n }\n\n siblingsSlideUp(elem) {\n if (elem.parents(this.parent).attr('data-trigger-once') !== 'true') {\n elem.closest(this.expandable).siblings(this.expandable).find(this.content).slideUp(this.defTiming, this.defEasing);\n elem.closest(this.expandable).siblings(this.expandable).removeClass('open');\n elem.closest(this.expandable).siblings(this.expandable).find(this.triggerEl).attr('aria-expanded', 'false');\n }\n }\n}\n\nconst Accordion = new accordion();\nexport default Accordion;\n\n\n\n// WEBPACK FOOTER //\n// ./assets/scripts/components/accordion.js","if (typeof $.easing !== 'undefined') {\n\t$.easing['jswing'] = $.easing['swing'];\n}\n\nexport const Easing = $.extend($.easing, {\n\tdef: 'easeOutQuad',\n\tswing: (x) => {\n\t\treturn $.easing[$.easing.def](x);\n\t},\n\teaseOutQuad: (x) => {\n\t\treturn 1 - (1 - x) * (1 - x);\n\t},\n\teaseInOutCirc: (x) => {\n\t\treturn x < 0.5 ?\n\t\t(1 - Math.sqrt(1 - Math.pow(2 * x, 2))) / 2 :\n\t\t(Math.sqrt(1 - Math.pow(-2 * x + 2, 2)) + 1) / 2;\n\t}\n});\n\n\n\n// WEBPACK FOOTER //\n// ./assets/scripts/services/easing.js","/**\n * Retrieves url to use when adding a product to the cart\n *\n * @param {Object} data - data object used to fill in dynamic portions of the html\n */\nfunction chooseBonusProducts(data) {\n $('.modal-body').spinner().start();\n\n if ($('#chooseBonusProductModal').length !== 0) {\n $('#chooseBonusProductModal').remove();\n }\n var bonusUrl;\n if (data.bonusChoiceRuleBased) {\n bonusUrl = data.showProductsUrlRuleBased;\n } else {\n bonusUrl = data.showProductsUrlListBased;\n }\n\n var htmlString = '<!-- Modal -->'\n + '<div class=\"modal fade\" id=\"chooseBonusProductModal\" role=\"dialog\">'\n + '<div class=\"modal-dialog choose-bonus-product-dialog\" '\n + 'data-total-qty=\"' + data.maxBonusItems + '\"'\n + 'data-UUID=\"' + data.uuid + '\"'\n + 'data-pliUUID=\"' + data.pliUUID + '\"'\n + 'data-addToCartUrl=\"' + data.addToCartUrl + '\"'\n + 'data-pageStart=\"0\"'\n + 'data-pageSize=\"' + data.pageSize + '\"'\n + 'data-moreURL=\"' + data.showProductsUrlRuleBased + '\"'\n + 'data-bonusChoiceRuleBased=\"' + data.bonusChoiceRuleBased + '\">'\n + '<!-- Modal content-->'\n + '<div class=\"modal-content\">'\n + '<div class=\"modal-header\">'\n + ' <span class=\"\">' + data.labels.selectprods + '</span>'\n + ' <button type=\"button\" class=\"close pull-right\" data-dismiss=\"modal\">'\n + ' <span>' + data.labels.close + '</span>×'\n + ' </button>'\n + '</div>'\n + '<div class=\"modal-body\"></div>'\n + '<div class=\"modal-footer\"></div>'\n + '</div>'\n + '</div>'\n + '</div>';\n $('body').append(htmlString);\n $('.modal-body').spinner().start();\n\n $.ajax({\n url: bonusUrl,\n method: 'GET',\n dataType: 'html',\n success: function (html) {\n var parsedHtml = parseHtml(html);\n $('#chooseBonusProductModal .modal-body').empty();\n $('#chooseBonusProductModal .modal-body').html(parsedHtml.body);\n $('#chooseBonusProductModal .modal-footer').html(parsedHtml.footer);\n $('#chooseBonusProductModal').modal('show');\n $.spinner().stop();\n },\n error: function () {\n $.spinner().stop();\n }\n });\n}\n\n/**\n * Updates the Mini-Cart quantity value after the customer has pressed the \"Add to Cart\" button\n * @param {string} response - ajax response from clicking the add to cart button\n */\nclass addToCartMsg {\n handlePostCartAdd(response) {\n const minicart = $('.mini-cart');\n const breakpoint = Foundation.MediaQuery.current;\n\n minicart.trigger('count:update', response);\n\n if (response.newBonusDiscountLineItem && Object.keys(response.newBonusDiscountLineItem).length !== 0) {\n chooseBonusProducts(response.newBonusDiscountLineItem);\n } else if (breakpoint === 'large' || breakpoint === 'xlarge' || breakpoint === 'xxlarge') {\n minicart.addClass('popup-open');\n $('.mini-cart-link').trigger('mouseenter');\n\n $('.mini-cart-link').on('mouseenter', () => {\n clearTimeout(triggerMinicart);\n });\n\n let triggerMinicart = setTimeout(() => {\n minicart.removeClass('popup-open');\n }, 3500);\n } else if (breakpoint === 'small') {\n var modal = $('#added-to-cart-modal')\n initAddedToCartConfirmationModal(modal, response);\n\n var addedToCartModal = new Foundation.Reveal(modal);\n addedToCartModal.open();\n }\n }\n}\n\nfunction initAddedToCartConfirmationModal(modal, data) {\n const messageType = data.error ? 'alert' : 'success';\n modal.find('header').removeClass('alert success');\n modal.find('header h4').html('');\n modal.find('.modal-content .product-preview').html('');\n\n modal.find('header').addClass(`${messageType}`);\n modal.find('header h4').html(`${data.message}`);\n modal.find('.modal-content .product-preview').html(`${data.cartLastItemSnippet}`);\n\n modal.on('open.zf.reveal', function (event) {\n document.dispatchEvent(new Event('product:afterConfirmationModalOpen'));\n })\n\n modal.on('closed.zf.reveal', function (event) {\n document.dispatchEvent(new Event('product:afterConfirmationModalClose'));\n })\n\n}\n\nconst AddToCartMsg = new addToCartMsg();\nexport default AddToCartMsg;\n\n\n\n// WEBPACK FOOTER //\n// ./assets/scripts/product/addToCartMsg.js","import Seo from './components/seo.js';\n\nclass enhancedSeo {\n /**\n * @function clickStoreDetails - Get store detail when click to details button\n * @param {Object} marker - store object information\n * @param {Array} elements - array with all necessary elements\n */\n clickStoreDetails(marker, elements) {\n if (this.checkIfArray(elements, 2)) {\n const $isStoreLocatorList = $(elements[0]);\n if ($isStoreLocatorList.length) {\n $isStoreLocatorList.on('click', elements[1], (e) => {\n dataLayer.push({\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'store_locator',\n event_action: 'dettaglio_store',\n event_label: marker.store.name + ', ' + marker.store.address1\n });\n });\n }\n }\n }\n\n /**\n * @function selectedStoreDetail - Get selected store for seo\n * @param {Object} marker - store object information\n */\n selectedStoreDetail(marker) {\n dataLayer.push({\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'store_locator',\n event_action: 'select_store',\n event_label: marker.store.name + ', ' + marker.store.address1\n });\n }\n\n /**\n * @function clickCreateAccountHeaderPopup - Get store detail when click on create account button header\n * @param {Array} elements - array with all necessary elements\n */\n clickCreateAccountHeaderPopup(elements) {\n if (this.checkIfArray(elements, 2)) {\n const $isPopupFooterHeader = $(elements[0]);\n if ($isPopupFooterHeader.length) {\n $isPopupFooterHeader.on('click', elements[1], (e) => {\n dataLayer.push({\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'my_account',\n event_action: 'crea_il_mio_account',\n event_label: ''\n });\n });\n }\n }\n }\n\n /**\n * @function clickMobileFooterMenu - Get seo when click on mobile footer menu\n * @param {Array} elements - array with all necessary elements\n */\n clickMobileFooterMenu(elements) {\n if (this.checkIfArray(elements, 3)) {\n const isMobileMenu = $(elements[0]);\n if (isMobileMenu.length) {\n $(isMobileMenu).on('click', elements[1], (e) => {\n const iconName = $(e.currentTarget).attr(elements[2]);\n if (iconName) {\n dataLayer.push({\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'funzionalita_cross',\n event_action: 'menu',\n event_label: iconName\n });\n }\n });\n }\n }\n }\n\n /**\n * @function clickOnCookieBanner - Get seo click on cookie banner\n * @param {Array} elements - array with all necessary elements\n */\n clickOnCookieBanner(elements) {\n if (this.checkIfArray(elements, 3)) {\n const isCookieAlert = $(elements[0]);\n if (isCookieAlert.length) {\n const elementList = [elements[1], elements[2]];\n elementList.forEach((elem) => {\n isCookieAlert.on('click', elem, (e) => {\n dataLayer.push({\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'funzionalita_cross',\n event_action: 'cookie_bar',\n event_label: 'accettazione_cookie_policy'\n });\n });\n });\n }\n }\n }\n\n loginLogoutEvent(eventType, loyaltyLevel){\n dataLayer.push({\n event: \"account_login\",\n login_method: \"email\",\n timestamp: new Date().toISOString(),\n membership_type: loyaltyLevel,\n event_action: eventType\n });\n }\n\n /**\n * @function clickOnSearch - Get seo click on search\n * @param {Array} elements - array with all necessary elements\n */\n clickOnSearch(elements) {\n if (this.checkIfArray(elements, 4)) {\n const isSearch = $(elements[0]);\n if (isSearch.length) {\n let classObj = {};\n classObj[elements[1]] = 'chiudi';\n classObj[elements[2]] = 'scoprili_tutti';\n classObj[elements[3]] = 'esplora';\n\n Object.keys(classObj).forEach((element) => {\n isSearch.on('click', element, (e) => {\n dataLayer.push({\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'funzionalita_cross',\n event_action: 'ricerca',\n event_label: classObj[element]\n });\n });\n });\n }\n }\n }\n\n /**\n * @function clickChat - Get seo event when click on chat button\n * @param {Array} elements - array with all necessary elements\n */\n clickChat(elements) {\n if (this.checkIfArray(elements, 1)) {\n const isChat = $(elements[0]);\n if (isChat.length) {\n isChat.on('click', (e) => {\n dataLayer.push({\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'funzionalita_cross',\n event_action: 'chat'\n });\n });\n }\n }\n }\n\n /**\n * @function noSizeClick - Get seo event when no size product was clicked\n * @param pid - product id\n * @param {Array} elements - array with all necessary elements\n */\n noSizeClick(pid, elements) {\n if (this.checkIfArray(elements, 2)) {\n let colorName = $(elements[0]).data(elements[1]);\n if (pid && colorName) {\n dataLayer.push({\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'pdp',\n event_action: 'aggiungi_alla_shopping_bag',\n event_label: pid + '|' + colorName\n });\n }\n }\n }\n\n /**\n * @function noSizeWishlistClick - Get seo event when no size product was clicked\n * @param pid - product id\n * @param {Array} elements - array with all necessary elements\n */\n noSizeWishlistClick(pid, elements) {\n if (this.checkIfArray(elements, 2)) {\n let colorName = $(elements[0]).data(elements[1]);\n if (pid && colorName) {\n dataLayer.push({\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'pdp',\n event_action: 'add_to_wishlist',\n event_label: pid + '|' + colorName\n });\n }\n }\n }\n\n /**\n * @function clickAccordion - Get seo event when click accordion PDP\n * @param {Array} elements - array with all necessary elements\n */\n clickAccordion(elements) {\n if (this.checkIfArray(elements, 2)) {\n $(document).on('click', elements[0], (event) => {\n const $self = $(event.currentTarget);\n var accordionText = $self.text().trim();\n var accordionExpanded = $self.attr(elements[1]);\n\n if (accordionExpanded == 'true') {\n accordionExpanded = 'chiudi';\n } else {\n accordionExpanded = 'apri';\n }\n dataLayer.push({\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'pdp',\n event_action: 'contenuti',\n event_label: accordionText + '|' + accordionExpanded\n });\n });\n }\n }\n\n /**\n * @function breadcrumbsClick - Get seo event when click on breadcrumbs\n * @param {Array} elements - array with all necessary elements\n */\n breadcrumbsClick(elements) {\n if (this.checkIfArray(elements, 2)) {\n $(document).on('click', elements[0], (e) => {\n if (window.device.type === 'mobile') {\n let categoryID = $(e.currentTarget).attr(elements[1]);\n if (categoryID) {\n dataLayer.push({\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'pdp',\n event_action: 'breadcrumb',\n event_label: categoryID\n });\n }\n }\n });\n }\n }\n\n /**\n * @function sizeGuideClick - Get seo event when click on product size guide\n * @param {Array} elements - array with all necessary elements\n */\n sizeGuideClick(elements) {\n if (this.checkIfArray(elements, 3)) {\n $(document).on('click', elements[0], (e) => {\n let pid = $(elements[1]).data(elements[2]);\n if (pid) {\n dataLayer.push({\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'pdp',\n event_action: 'guida_alle_taglie',\n event_label: pid\n });\n }\n });\n }\n }\n\n /**\n * @function selectedVariant - Get seo event when select a variant product\n * @param {Array} elements - array with all necessary elements\n */\n selectedVariant($self, elements) {\n if (this.checkIfArray(elements, 3)) {\n let $productContainer = $self.closest(elements[0]);\n let pid = $productContainer.data(elements[1]);\n let colorName = $self.attr(elements[2]);\n if (pid && colorName) {\n dataLayer.push({\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'pdp',\n event_action: 'selezione_variante',\n event_label: pid + '|' + colorName\n });\n }\n }\n }\n\n /**\n * @function clickQuickviewProduct - Get seo event when open quickview product\n * @param {Array} elements - array with all necessary elements\n */\n clickQuickViewProduct(elements) {\n if (this.checkIfArray(elements, 5)) {\n var pid = $(elements[0]).find(elements[1]).data(elements[2]);\n var colorName = $($(elements[3])[0]).attr(elements[4]);\n if (pid && colorName) {\n dataLayer.push({\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'listing',\n event_action: 'popup_prodotto',\n event_label: pid + '|' + colorName\n });\n }\n }\n }\n\n /**\n * @function productColorClick - Get seo event when click on product color in PLP\n * @param {Array} elements - array with all necessary elements\n */\n productColorClick(elements) {\n if (this.checkIfArray(elements, 5)) {\n const isColor = $(elements[0]);\n if (isColor.length) {\n isColor.on('click', elements[1], (event) => {\n const $self = $(event.currentTarget);\n let pid = $self.closest(elements[2]).data(elements[3]);\n let colorName = $self.attr(elements[4]);\n if (pid && colorName) {\n dataLayer.push({\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'listing',\n event_action: 'selezione_variante',\n event_label: pid + '|' + colorName\n });\n }\n });\n }\n }\n }\n\n /**\n * @function showMoreClick - Get seo event when click on show more button in PLP\n */\n showMoreClick() {\n dataLayer.push({\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'listing',\n event_action: 'carica_altri_prodotti'\n });\n }\n\n /**\n * @function layout1ViewPlp - Get seo event when click on layout1 view plp\n */\n layoutSmallViewPlp() {\n dataLayer.push({\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'listing',\n event_action: 'tipo_visualizzazione',\n event_label: 'small' // click sul pulsante a sinistra\n });\n }\n\n /**\n * @function layout2ViewPlp - Get seo event when click on layout2 view plp\n */\n layoutBigViewPlp() {\n dataLayer.push({\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'listing',\n event_action: 'tipo_visualizzazione',\n event_label: 'big' // click sul pulsante a destra\n });\n }\n\n /**\n * @function paginationEventClick - Get seo event when click on pagination\n * @param $selfButton - Pagination button\n * @param {Array} elements - array with all necessary elements\n */\n paginationEventClick($selfButton, elements) {\n if (this.checkIfArray(elements, 4)) {\n if ($(elements[0]).hasClass(elements[1])) {\n dataLayer.push({\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'listing',\n event_action: 'paginazione',\n event_label: 'next_page'\n });\n } else if ($(elements[0]).hasClass(elements[2])) {\n dataLayer.push({\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'listing',\n event_action: 'paginazione',\n event_label: 'prev_page'\n });\n } else {\n dataLayer.push({\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'listing',\n event_action: 'paginazione',\n event_label: $selfButton.attr(elements[3])\n });\n }\n }\n }\n\n /**\n * @function registerOkEvent - Get seo event when click on register account and return ok\n * @param profiling - Profilazione user\n * @param newsletter - Newsletter user\n */\n registerOkEvent(profiling, newsletter) {\n let event_label = [];\n if (newsletter) {\n event_label.push('newsletter');\n }\n if (profiling) {\n event_label.push('profilazione');\n }\n dataLayer.push({\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'registrazione',\n event_action: 'registrazione_ok',\n event_label: event_label.join('|')\n });\n }\n\n /**\n * @function clickOnChangeEmail - Get seo event when click on change email in edit profile myaccount\n * @param {Array} elements - array with all necessary elements\n */\n clickOnChangeEmail(elements) {\n if (this.checkIfArray(elements, 2)) {\n $(elements[0]).on('click', elements[1], (e) => {\n // click su Cambia Indirizzo Email\n dataLayer.push({\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'my_account',\n event_action: 'cambia_indirizzo_email',\n event_label: ''\n });\n });\n }\n }\n\n /**\n * @function clickOnChangeEmail - Get seo event when click on change password in edit profile myaccount\n * @param {Array} elements - array with all necessary elements\n */\n clickOnChangePassword(elements) {\n if (this.checkIfArray(elements, 2)) {\n $(elements[0]).on('click', elements[1], (e) => {\n // click su Cambia Password\n dataLayer.push({\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'my_account',\n event_action: 'cambia_password',\n event_label: ''\n });\n });\n }\n }\n\n /**\n * @function checkoutFormError - Get seo event when click on submit form checkout\n * @param {String} checkoutStep - checkout step number\n * @param {Object} element - jquery object representing the element with error\n */\n checkoutFormError(checkoutStep, elements) {\n if (this.checkIfArray(elements, 1) && checkoutStep) {\n let checkoutStages = {\n shipping: '1',\n payment: '2',\n placeorder: '3'\n };\n let eventAction = [];\n let eventLabel = [];\n\n elements.forEach((element) => {\n if (!$(element).is('input') && !$(element).is('select')) {\n element = $(element).find('input, select').get(0);\n }\n\n if (eventAction.indexOf(element.id) <= -1) {\n eventAction.push(element.id);\n }\n\n if (typeof element.dataset !== 'undefined' && typeof element.dataset.parsleyRequiredMessage !== 'undefined') {\n eventLabel.push(element.dataset.parsleyRequiredMessage);\n } else if ($(element).siblings('.errors-list').length > 0) {\n eventLabel.push($(element).siblings('.errors-list').first().text());\n } else {\n eventLabel.push('');\n }\n });\n if (eventAction.length && eventLabel.length) {\n dataLayer.push({\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'errori_checkout_' + checkoutStages[checkoutStep],\n event_action: eventAction.join('|'),\n event_label: eventLabel.join('|')\n });\n }\n }\n }\n\n checkIfArray(elements, mandatoryLength) {\n if (elements instanceof Array && elements.length >= mandatoryLength) {\n return true;\n }\n return false;\n }\n\n init() {\n // placeholder\n }\n\n /* // rimosso con il tracciamento ibrido con GA4\n productSeoValorize() {\n $(document).on('click', '.product-tile a', function (e) {\n Seo.productImpressions();\n if ($(this).hasClass('quickview')) {\n return true;\n }\n var listArray = [];\n var prodLayerArray = [];\n var listObj = Seo.generateProductTrackingModel($(e.target).closest('.product-tile'));\n listArray.push(listObj);\n var productObj = Seo.generateProductTrackingModel($(e.target).closest('.product-tile'));\n prodLayerArray.push(productObj);\n if (prodLayerArray[0].list) {\n delete prodLayerArray[0].list;\n }\n\n if (typeof dataLayer !== 'undefined') {\n let event = {\n event: 'productClick',\n ecommerce: {\n click: {\n actionField: {\n list: (listArray[0] && listArray[0].list) ? listArray[0].list : ''\n },\n products: prodLayerArray\n }\n }\n };\n dataLayer.push(event);\n }\n });\n } */\n\n pushATC(analyticsP, dataLayerGA4){\n let listName = this.pushListType();\n let modalOpen = $('.quick-view-modal').attr('aria-hidden'); //if open aria-hidden == false\n let section = pageTypeForJS;\n if(modalOpen === 'false'){\n section = 'quick_view'\n }\n if (analyticsP) {\n analyticsP = JSON.parse(decodeURIComponent(analyticsP));\n let selectedSizeElem = $('.list-size li.selected span')[0];\n let selectedSize = selectedSizeElem?selectedSizeElem.innerHTML:null;\n let selectedFamilyColorElem = $('a.swatch-color.selected');\n let selectedFamilyColor = selectedFamilyColorElem?selectedFamilyColorElem.data('familyColorSearch'):null;\n if(selectedSize){\n let analyticsObj = {\n where: section,\n event: 'add_to_cart'\n };\n\n if(typeof dataLayerGA4 !== \"undefined\" && dataLayerGA4 !== null) analyticsObj.ecommerce = dataLayerGA4;\n dataLayer.push(analyticsObj);\n }\n }\n }\n\n pushListType() {\n let list;\n let modalOpen = $('.quick-view-modal').attr('aria-hidden'); //if open aria-hidden == false\n if (modalOpen === 'false') {\n switch (pageTypeForJS) {\n case 'plp':\n list = 'category_listing';\n break;\n case 'pdp':\n list = 'related_product';\n break;\n case 'cart':\n list = 'related_products_cart';\n break;\n default:\n list = 'null';\n break;\n }\n }\n return list;\n }\n\n generateProductTrackingModelWishlist(element){\n return Seo.generateProductTrackingModelWishlist(element);\n }\n}\n\nconst EnhancedSeo = new enhancedSeo();\nexport default EnhancedSeo;\n\n\n\n// WEBPACK FOOTER //\n// ./assets/scripts/enhancedSeo.js","import Product from \"../product\";\n\n\nclass SEO {\n run() {\n this.plp();\n this.breadcrumbs();\n this.filters();\n this.homepage();\n this.checkout();\n this.changecountry();\n this.socialshare();\n this.newsletter();\n this.wishlist();\n this.myaccount();\n this.productImpressions();\n this.asyncProductImpressions();\n }\n\n productImpressions() {\n var productTiles = $('.product-tile').not('.tracked');\n var _this = this;\n if (listingProductsArrayForHomePage && productTiles.length > 0) {\n productTiles.each(function () {\n var currentElement = $(this);\n var impression = _this.generateProductTrackingModel(currentElement);\n\n // Before adding an item to the listingProductsArrayForHomePage array,\n // check if already exists and avoid duplicates.\n if ((listingProductsArrayForHomePage.findIndex(item => item.id === impression.id) == '-1') && !currentElement.hasClass('tracked')) {\n listingProductsArrayForHomePage.push(impression);\n listingProductsJson[currentElement.attr('data-pid')] = impression;\n $('.product-tile[data-pid=\"' + currentElement.attr('data-pid') + '\"]').addClass('tracked');\n }\n });\n }\n }\n\n asyncProductImpressions() {\n var _this = this;\n $(window).on('gtmAsyncTrack::impression', function () {\n _this.viewItemListGA4Event();\n });\n }\n\n viewItemListGA4Event(){\n var _this = this;\n var productTiles = $('.product-tile').not('.tracked');\n var asyncProductsArray = [];\n if (productTiles.length > 0) {\n productTiles.each(function () {\n var currentElement = $(this);\n if(!currentElement.hasClass('impression')) {\n var impression = _this.generateProductTrackingModel(currentElement);\n\n // Before adding an item to the asyncProductsArray array,\n // check if already exists and avoid duplicates.\n if ((asyncProductsArray.findIndex(item => item.id === impression.id) == '-1') && !currentElement.hasClass('tracked')) {\n asyncProductsArray.push(impression);\n $('.product-tile[data-pid=\"' + currentElement.attr('data-pid') + '\"]').addClass('tracked');\n }\n }\n });\n _this.asyncProductsArray = asyncProductsArray;\n }\n\n if (typeof currentCurrency !== 'undefined' && asyncProductsArray.length > 0) {\n let items = [];\n let productCurrency = currentCurrency;\n\n asyncProductsArray.forEach(function (product) {\n if (product.category) {\n let categories = product.category.split(\"/\");\n let item = {\n item_id: product.id,\n item_name: product.name,\n currency: productCurrency,\n discount: product.discount,\n index: product.position,\n item_brand: 'twinset milano',\n item_category: categories.length > 0 ? categories[0] : '',\n item_category2: categories.length > 1 ? categories[1] : '',\n item_category3: categories.length > 2 ? categories[2] : '',\n item_list_name: categoryPLP,\n item_variant: product.colorName,\n price: product.price,\n quantity: 1,\n item_availability: product.available,\n item_discount_tag: product.discount != 0 ? 'on_sale' : 'not_on_sale',\n available_size_percentage: product.available_size_percentage,\n item_size: '',\n item_url: product.url,\n item_img: product.imageUrl\n }\n items.push(item);\n }\n });\n\n function chunkArray(array, chunkSize) {\n const results = [];\n for (let i = 0; i < array.length; i += chunkSize) {\n results.push(array.slice(i, i + chunkSize));\n }\n return results;\n }\n\n // Suddividi l'array in gruppi di massimo 15 elementi\n const chunks = chunkArray(items, 15);\n\n // Itera sui gruppi e inviali al dataLayer\n chunks.forEach(function(chunk) {\n var event = {\n event: 'view_item_list',\n ecommerce: {\n currency: currentCurrency,\n items: chunk\n }\n };\n dataLayer.push(event);\n });\n }\n }\n\n generateProductTrackingModel(element) {\n var product = {};\n var data = element.data();\n\n product.name = data.name;\n\n // TR-2126\n // product.id = element.parent().data('pid');\n product.id = element.data('pid');\n product.variantID = element.data('container');\n\n if(element.find('.price-wrapper').data('plist')){\n var fullPrice = element.find('.price-wrapper').data('plist');\n var salesPrice = element.find('.price-wrapper').data('pmin');\n }else{\n var fullPrice = element.find('.price-wrapper').data('pmin');\n var salesPrice = element.find('.price-wrapper').data('pmin');\n }\n\n\n product.price = fullPrice;\n product.discount = fullPrice - salesPrice;\n product.available = element.data('item_availability');\n product.available_size_percentage = Number(element.data('available_size_percentage'));\n product.brand = 'twinset milano';\n product.category = element.data('category');\n product.url= element.data('master_url');\n product.imageUrl= element.data('default_color_image');\n product.colorName = element.data('color_name')\n product.position = data.pos;\n if (!product.position) {\n product.position = element.parent().parent().index() + 1;\n }\n\n if (typeof catListingSearch !== 'undefined') {\n product.list = catListingSearch;\n }\n if (typeof pageTypeForJS !== 'undefined') {\n if (pageTypeForJS == 'home') {\n product.list = 'homepage';\n }\n if (pageTypeForJS == 'plp') {\n product.list = 'plp';\n }\n if (pageTypeForJS == 'pdp' && element.parents('.recommendations').length) {\n product.list = 'related_products';\n }\n if (pageTypeForJS == 'cart' && element.parents('.recommendations').length) {\n product.list = 'related_products_cart';\n }\n }\n if (!product.list && element.parents('.recommendations').length) {\n product.list = 'related_products';\n }\n\n return product;\n }\n\n generateProductTrackingModelWishlist(element) {\n var product = {};\n var data = element.data();\n\n let categories = element.data('category').split(\"/\");\n\n product.currency = element.data('currency');\n product.item_name = data.name;\n product.item_id = element.data('pid').split('_')[0];\n product.discount = Number(element.data('list_price')) - Number(element.data('price'));\n product.price = Number(element.data('list_price'));\n product.brand = 'twinset milano';\n product.item_category = categories.length > 0 ? categories[0] : '';\n product.item_category2 = categories.length > 1 ? categories[1] : '',\n product.item_category3 = categories.length > 2 ? categories[2] : '',\n product.item_variant = element.data('variant-color');\n product.item_size= element.data('variant-size');\n product.item_availability = element.data('item_availability');\n product.item_discount_tag = element.data('item_discount_tag');\n product.quantity = 1;\n product.item_variant_v2 = element.data('pid');\n product.available_size_percentage= Number(element.data('available_size_percentage'));\n product.item_img = element.data('default-color-image');\n product.item_url= element.data('master-url');\n\n if (typeof catListingSearch !== 'undefined') {\n product.item_list_name = catListingSearch;\n }\n if (typeof pageTypeForJS !== 'undefined') {\n if (pageTypeForJS == 'home') {\n product.item_list_name = 'homepage';\n }\n if (pageTypeForJS == 'wishlist') {\n product.item_list_name = 'wishlist';\n }\n if (pageTypeForJS == 'pdp' && element.parents('.recommendations').length) {\n product.item_list_name = 'related_products';\n }\n if (pageTypeForJS == 'cart' && element.parents('.recommendations').length) {\n product.item_list_name = 'related_products_cart';\n }\n }\n if (!product.item_list_name && element.parents('.recommendations').length) {\n product.item_list_name = 'related_products';\n }\n\n return product;\n }\n\n myaccount() {\n $('.my-account-side-nav a.link').on('click', function (e) {\n var dataLayerObject = {\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'my_account',\n event_action: $(this).html() // TODO: missing id, using innerHTML\n };\n\n console.log(JSON.stringify(dataLayerObject));\n if (typeof dataLayer !== 'undefined') {\n dataLayer.push(dataLayerObject);\n }\n });\n }\n\n wishlist() {\n var _this = this;\n $('button.add-to-wishlist-modal, button.add-to-wish-list').on('click', function (e) {\n var variantID = $('.wishlist-list-size li.selected').attr('data-id');\n\n var item_list_name = getPageType($('.js-page').data('action'), this);\n trackForWish(\n $(e.target).closest('.modal').data('url'),\n $(e.target).hasClass('is-in-wishlist'),\n variantID,\n item_list_name);\n });\n\n $('a.add-to-wish-list').on('click', function (e) {\n var eventAction = 'product_page';\n var product;\n var selectedVariant;\n var variantID = $(this).attr('data-pid') ? $(this).attr('data-pid') : $('.container.product-detail').attr('data-pid');\n\n if ($('[data-action=\"Search-Show\"]').length > 0) {\n\n product = $(this).data('id');\n selectedVariant = $('.attribute .list-size .selected .value').text();\n } else if ($('[data-action=\"Cart-Show\"]').length > 0) {\n let arr_info_product = $('.card.product-info').attr('data-pid').split('_');\n product = arr_info_product[0] + '_' + arr_info_product[1];\n selectedVariant = $('.line-item-attributes.item-list-size').attr('data-label');\n } else {\n let arr_info_product = variantID.split('_');\n product = arr_info_product[0] + '_' + arr_info_product[1];\n selectedVariant = $('.attribute .list-size .selected .value').text();\n }\n\n if (selectedVariant === '' || selectedVariant === null) {\n return;\n }\n\n var item_list_name = getPageType($('.js-page').data('action'), this);\n if($(this).parents().find('.quick-view-modal').css('display') === 'block'){\n item_list_name = 'quick_view';\n }\n\n trackForWish(\n $(e.target).closest('.add-to-wish-list').data('track-url'),\n $(this).hasClass('is-in-wishlist'),\n variantID,\n item_list_name);\n });\n\n $('.wishlist-row a.action-link.edit, .wishlist-row .side-image a').on('click', function (e) {\n var prodLayer = [];\n prodLayer.push(_this.generateProductTrackingModelWishlist($(e.target).closest('.wishlist-row')));\n prodLayer.position = $(e.target).closest('.product-row').attr('data-pos').split('.')[0];\n\n if (typeof dataLayer !== 'undefined') {\n dataLayer.push({\n event: 'productClick',\n ecommerce: {\n click: {\n actionField: {\n list: catListingSearch\n },\n products: prodLayer\n }\n }\n });\n }\n });\n\n $('.wishlist-row a.remove-from-wishlist').on('click', function (e) {\n //This is the remove event from wishlist\n\n var product = _this.generateProductTrackingModelWishlist($(e.target).closest('.wishlist-row'));\n\n const dataLayerGA4 = {\n event: 'remove_from_wishlist',\n ecommerce: {\n currency: product.currency,\n value: product.price - product.discount,\n items: []\n }\n }\n dataLayerGA4.ecommerce.items.push(product);\n dataLayer.push(dataLayerGA4);\n });\n }\n\n newsletter() {\n $('.newsletterfooterform button').on('click', function (e) {\n var dataLayerObject = {\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'newsletter_subscription',\n event_action: 'start',\n event_label: 'footer'\n };\n\n console.log(JSON.stringify(dataLayerObject));\n if (typeof dataLayer !== 'undefined') {\n dataLayer.push(dataLayerObject);\n }\n });\n }\n\n socialshare() {\n $('.social-share-icons a').on('click', function (e) {\n var dataLayerObject = {\n event: 'asyncAction',\n gaHitType: 'social',\n socialNetwork: $(this).children('svg').attr('class'),\n socialAction: 'share',\n socialTarget: window.location.href\n };\n\n console.log(JSON.stringify(dataLayerObject));\n if (typeof dataLayer !== 'undefined') {\n dataLayer.push(dataLayerObject);\n }\n });\n\n $('.social-links a').on('click', function (e) {\n var dataLayerObject = {\n event: 'asyncAction',\n gaHitType: 'social',\n socialNetwork: $(this).attr('title').toLowerCase(),\n socialAction: 'click'\n };\n\n console.log(JSON.stringify(dataLayerObject));\n if (typeof dataLayer !== 'undefined') {\n dataLayer.push(dataLayerObject);\n }\n });\n }\n\n changecountry() {\n $('.select-country-content a').on('click', function (e) {\n var dataLayerObject = {\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'default_homepage',\n event_action: 'select_country_lang',\n event_label: $(this).data('locale')\n };\n\n console.log(JSON.stringify(dataLayerObject));\n if (typeof dataLayer !== 'undefined') {\n dataLayer.push(dataLayerObject);\n }\n });\n\n $('.select-lang-modal a').on('click', function (e) {\n var dataLayerObject = {\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'default_homepage',\n event_action: 'select_country_lang',\n event_label: $(this).data('locale')\n };\n\n console.log(JSON.stringify(dataLayerObject));\n if (typeof dataLayer !== 'undefined') {\n dataLayer.push(dataLayerObject);\n }\n });\n }\n\n homepage() {\n var promotionsAsset = [];\n var lookArray = [];\n var position = 0;\n var gridImageAndButton = $('.widget, .widget-1-col-video').not('.widget-3-col-img-shopbylook').find('[data-resize], a.button.editorial, a.js-data-layer-link').add($('.widget-customer-care').find('a.button.editorial'));\n var componentElements = document.getElementsByClassName('experience-component');\n\n //OLD METHOD TO PUSH IN DATALAYER ID AND NAME OF HOMEPAGE ELEMENT\n\n if (componentElements.length == 0) {\n $.each(gridImageAndButton, (itemIndex) => {\n promotionsAsset.push({\n id: $(gridImageAndButton[itemIndex]).closest('[data-asset]').data('asset'),\n name: $(gridImageAndButton[itemIndex]).closest('.widget').find('h2').text() || $(gridImageAndButton[itemIndex]).closest('.box').find('h5').text(),\n creative: '',\n position: itemIndex\n });\n });\n }\n //NEW METHOD TO PUSH IN DATALAYER ID AND NAME OF PAGE DESIGNER COMPONENT\n if (componentElements) {\n\n $.each(componentElements, (i) => {\n var componentID = $(componentElements[i]).contents('[data-id]').attr('data-id');\n var componentName = $(componentElements[i]).contents('[data-title]').attr('data-title');\n\n if (componentName === \"undefined\") {\n componentName = $(componentElements[i]).contents('[data-asset]').attr('data-asset');\n }\n\n promotionsAsset.push({\n id: componentID,\n name: componentName,\n creative: '',\n position: i\n })\n });\n }\n\n\n gridImageAndButton.on('click', (e) => {\n if ($(e.currentTarget).closest('.widget-3-col-img-shopbylook').length == 0) {\n $.each(gridImageAndButton, (itemIndex) => {\n if ($(gridImageAndButton[itemIndex])[0].dataset.resize == $(e.currentTarget)[0].dataset.resize && $(gridImageAndButton[itemIndex])[0].href == $(e.currentTarget)[0].href) {\n position = itemIndex;\n }\n });\n\n var dataLayerObject = {\n event: 'promotionClick',\n ecommerce: {\n promoClick: {\n promotions: [{\n id: $(e.currentTarget).closest('[data-asset]').data('asset') || $(e.currentTarget).closest('[data-id]').attr('data-id'),\n name: $(e.currentTarget).closest('[data-title]').attr('data-title') || $(e.currentTarget).closest('.widget').find('h2').text() || $(gridImageAndButton[position]).closest('.box').find('h5').text(),\n creative: '',\n position: position\n }]\n }\n }\n };\n\n console.log(JSON.stringify(dataLayerObject));\n if (typeof dataLayer !== 'undefined') {\n dataLayer.push(dataLayerObject);\n }\n }\n });\n\n var widgetLook = $('.widget-3-col-img-shopbylook');\n // product look click\n $(widgetLook).on('click', '.owl-item a', function (e) {\n var $self = $(e.currentTarget);\n var lookName = $self.closest('.owl-item').find('h6')[0].innerText;\n var itemPosition = 0;\n var lookId = lookName;\n if ($self[0].href != '' && $self[0].href != 'undefined') {\n var hrefSplit = $self[0].href.split('/');\n var lookIdSplit = hrefSplit[hrefSplit.length - 1].split('-');\n var itemList = $('.widget-3-col-img-shopbylook').find('.owl-item a.button.editorial');\n lookId = lookIdSplit[lookIdSplit.length - 1].replace('.html', '');\n $.each(itemList, (itemIndex) => {\n if ($(itemList[itemIndex])[0].href == $self[0].href) {\n itemPosition = itemIndex;\n }\n });\n }\n if (itemPosition == 9) {\n itemPosition = 1;\n } else if (itemPosition == 10) {\n itemPosition = 2;\n } else if (itemPosition = 11) {\n itemPosition = 3;\n }\n var dataLayerObject = {\n event: 'shop_by_look_click',\n ecommerce: {\n click: {\n actionField: {\n list: 'shop_by_look_home_page'\n },\n products: [{\n name: 'look|' + lookName,\n id: lookId,\n // 'price': '$$$total_price$$$',\n brand: 'twinset milano',\n category: '',\n // 'list': 'shop_by_look_home_page',\n position: itemPosition\n }]\n }\n }\n };\n\n console.log(JSON.stringify(dataLayerObject));\n if (typeof dataLayer !== 'undefined') {\n dataLayer.push(dataLayerObject);\n }\n });\n\n // product look impressions\n var widgetLookElements = $(widgetLook).find('.slide');\n $.each(widgetLookElements, (indexEl) => {\n var $self = $(widgetLookElements[indexEl]);\n var lookName = $($self).find('h6')[0].innerText;\n var aElem = $($self).find('a.button.editorial');\n var lookId = lookName;\n if (aElem[0].href != '' && aElem[0].href != 'undefined') {\n var hrefSplit = aElem[0].href.split('/');\n var lookIdSplit = hrefSplit[hrefSplit.length - 1].split('-');\n lookId = lookIdSplit[lookIdSplit.length - 1].replace('.html', '');\n }\n lookArray.push({\n name: 'look|' + lookName,\n id: lookId,\n // 'price': $$$total_price$$$,\n brand: 'twinset milano',\n category: '',\n list: 'shop_by_look_home_page',\n position: (indexEl + 1)\n });\n });\n\n if (typeof dataLayer !== 'undefined' && lookArray.length > 0) {\n dataLayer.push({\n event: 'shop_by_look_impression',\n ecommerce: {\n impressions: lookArray\n }\n });\n }\n\n if (typeof dataLayer !== 'undefined' && promotionsAsset.length > 0) {\n dataLayer.push({\n event: 'promotionImpression',\n ecommerce: {\n promoView: {\n promotions: promotionsAsset\n }\n }\n });\n }\n }\n\n plp() {\n var _this = this;\n $('div.main-menu a.nav-link').on('click', function (e) {\n var dataLayerObject = {\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'menu',\n event_action: e.target.id,\n event_label: 'only_first_level'\n };\n\n if (typeof dataLayer !== 'undefined') {\n dataLayer.push(dataLayerObject);\n }\n });\n\n $('.navbar h6 a').on('click', function (e) {\n var dataLayerObject = {\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'menu',\n event_action: $(e.target).parents('li.dropdown').children('a').attr('id'),\n event_label: e.target.id\n\n };\n\n console.log(JSON.stringify(dataLayerObject));\n if (typeof dataLayer !== 'undefined') {\n dataLayer.push(dataLayerObject);\n }\n });\n\n $('.menuitem ul a').on('click', function (e) {\n var dataLayerObject = {\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'menu',\n event_action: $(e.target).parents('li.dropdown').children('a').attr('id'),\n event_label: e.target.id\n\n };\n\n console.log(JSON.stringify(dataLayerObject));\n if (typeof dataLayer !== 'undefined') {\n dataLayer.push(dataLayerObject);\n }\n });\n $(document).on('click', '.product-tile a', function (e) {\n\n var id = $(e.target).closest('.product-tile').attr('data-pid');\n var listingProduct = listingProductsJson[$(e.target).closest('.product-tile').attr('data-pid')];\n if(!listingProduct){\n var productTile = $(e.target).closest('.product-tile');\n var impression = _this.generateProductTrackingModel(productTile);\n if ((listingProductsArrayForHomePage.findIndex(item => item.id === impression.id) == '-1')) {\n listingProductsArrayForHomePage.push(impression);\n listingProductsJson[productTile.attr('data-pid')] = impression;\n }\n\n listingProduct = listingProductsJson[$(e.target).closest('.product-tile').attr('data-pid')];\n }\n var productJson = _this.asyncProductsArray ? _this.asyncProductsArray.find(prod => prod.id === id) : listingProduct;\n\n if(!productJson && listingProduct)\n productJson = listingProduct;\n\n if (productJson) {\n\n let list;\n if (typeof catListingSearch !== 'undefined') {\n list = catListingSearch;\n }\n\n if (pageTypeForJS === 'cart') {\n list = 'related_products_cart';\n }\n // triggered both here and enhancedseo.js - disabled here if list is not set due to duplicate tracking TR-1476\n // if (typeof dataLayer !== 'undefined' && list) {\n if (typeof dataLayer !== 'undefined') {\n\n let categories = productJson.category ? productJson.category.split(\"/\") : [];\n let colorName = $(e.currentTarget).data('display-value') ? $(e.currentTarget).data('display-value') : productJson.colorName;\n\n if ($(this).hasClass('quickview')) {\n dataLayer.push({\n event: 'view_item',\n where: 'quick_view',\n ecommerce: {\n currency: currentCurrency,\n items: [\n {\n item_id: productJson.id,\n item_name: productJson.name,\n currency: currentCurrency,\n discount: productJson.discount,\n item_brand: productJson.brand,\n item_category: categories.length > 0 ? categories[0] : '',\n item_category2: categories.length > 1 ? categories[1] : '',\n item_category3: categories.length > 2 ? categories[2] : '',\n item_list_name: productJson.list,\n item_variant: colorName,\n price: productJson.price,\n quantity: 1,\n item_availability: productJson.available,\n item_discount_tag: productJson.discount !== 0 ? 'on_sale' : 'not_on_sale',\n available_size_percentage: productJson.available_size_percentage,\n item_size: '',\n item_variant_v2: productJson.variantID,\n item_url: productJson.url,\n item_img: productJson.imageUrl\n }\n ]\n }\n });\n }else{\n dataLayer.push({\n event: 'select_item',\n ecommerce: {\n currency: currentCurrency,\n items: [\n {\n item_id: productJson.id,\n item_name: productJson.name,\n currency: currentCurrency,\n discount: productJson.discount,\n index: productJson.position,\n item_brand: productJson.brand,\n item_category: categories.length > 0 ? categories[0] : '',\n item_category2: categories.length > 1 ? categories[1] : '',\n item_category3: categories.length > 2 ? categories[2] : '',\n item_list_name: productJson.list,\n item_variant: colorName,\n price: productJson.price,\n quantity: 1,\n item_availability: productJson.available,\n item_discount_tag: productJson.discount !== 0 ? 'on_sale' : 'not_on_sale',\n available_size_percentage: productJson.available_size_percentage,\n item_size: '',\n item_url: productJson.url,\n item_img: productJson.imageUrl\n }\n ]\n }\n });\n }\n\n\n }\n }\n });\n }\n\n breadcrumbs() {\n $('.breadcrumbs-nav a').on('click', function (e) {\n var dataLayerObject = {\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'breadcrumbs',\n event_action: $(this).data('event-action'),\n event_label: $(this).data('event-label')\n };\n\n if (typeof dataLayer !== 'undefined') {\n dataLayer.push(dataLayerObject);\n }\n });\n }\n\n filters() {\n $('div.refinements').on('refinements:update', function (e, data) {\n var clickedFilter = $(data.clickedFilter) || null;\n var selectedSortOption = $('.plp-sort-order .current').length > 0 ?\n $('.plp-sort-order .current').data('id') : '-';\n\n\n if(clickedFilter && $('span.selected').length > 0){\n var dataLayerObject = {\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'filters',\n event_action: 'apply',\n attribute_group: clickedFilter.data('id'),\n attribute_value: clickedFilter.find('span').text().trim(),\n filter_sort: selectedSortOption\n };\n\n if (typeof dataLayer !== 'undefined') {\n dataLayer.push(dataLayerObject);\n }\n } else if ($('span.selected').toArray().map(filter => filter.innerText).join('/')) {\n var dataLayerObject = {\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'filters',\n event_action: 'apply',\n event_label: $('span.selected').toArray().map(filter => filter.innerText).join('/')\n };\n\n if (typeof dataLayer !== 'undefined') {\n dataLayer.push(dataLayerObject);\n }\n }\n });\n\n $('.plp-header-bottom-rocker a.reset').on('click', function (e) {\n var dataLayerObject = {\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'filters',\n event_action: 'reset'\n };\n\n if (typeof dataLayer !== 'undefined') {\n dataLayer.push(dataLayerObject);\n }\n });\n\n $(document).on('click', '.plp-sort-order a', function (e) {\n var dataLayerObject = {\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'filters',\n event_action: 'sort_by',\n attribute_group: '-',\n attribute_value: '-',\n filter_sort: this.parentNode.dataset.id\n };\n\n if (typeof dataLayer !== 'undefined') {\n dataLayer.push(dataLayerObject);\n }\n });\n\n $('.plp-header-content-top button.close').on('click', function (e) {\n var dataLayerObject = {\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'filters',\n event_action: 'close'\n };\n\n if (typeof dataLayer !== 'undefined') {\n dataLayer.push(dataLayerObject);\n }\n });\n\n $('button.filter-results').on('click', function (e) {\n var dataLayerObject = {\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'filters',\n event_action: 'open'\n };\n\n if (typeof dataLayer !== 'undefined') {\n dataLayer.push(dataLayerObject);\n }\n });\n\n $('.select-categories .sub-categories a.sub-category-link').on('click', function (e) {\n var dataLayerObject = {\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'fascia_categorie',\n event_action: (($(this).data('level') == '3') ? 'third_level' : 'second_level'),\n event_label: $(this).html()\n };\n\n if (typeof dataLayer !== 'undefined') {\n dataLayer.push(dataLayerObject);\n }\n });\n }\n\n checkout() {\n $('div#store-picker button').on('click', function (e) {\n var dataLayerObject = {\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'find_a_store',\n event_action: $('#store-picker-autocomplete').val().split(', ').slice(-1)[0],\n event_label: `${$('#store-picker-autocomplete').val().split(', ')[0]}|${$('#store-picker-range').val()}km`\n };\n\n console.log(JSON.stringify(dataLayerObject));\n if (typeof dataLayer !== 'undefined') {\n dataLayer.push(dataLayerObject);\n }\n });\n\n // code moved and modified in checkout.js\n\n // $('.single-shipping .tab-nav a').on('click', function (e) {\n // var dataLayerObject = {\n // 'event': 'checkoutOption',\n // 'ecommerce': {\n // 'checkout_option': {\n // 'actionField': {\n // 'step': 1,\n // 'option': $(e.target).parents('li').data('target')\n // }\n // }\n // }\n // };\n\n // actionField.option = $(e.target).parents('li').data('target');\n // console.log(JSON.stringify(dataLayerObject));\n // if(typeof dataLayer !== 'undefined'){\n // dataLayer.push(dataLayerObject);\n // }\n // });\n\n // $('.payment-options input[type=\"radio\"]').on('click', function (e) {\n // var dataLayerObject = {\n // 'event': 'checkoutOption',\n // 'ecommerce': {\n // 'checkout_option': {\n // 'actionField': {\n // 'step': 2,\n // 'option': this.id.toLowerCase()\n // }\n // }\n // }\n // };\n\n // actionField.option = this.id.toLowerCase();\n // console.log(JSON.stringify(dataLayerObject));\n // if(typeof dataLayer !== 'undefined'){\n // dataLayer.push(dataLayerObject);\n // }\n // });\n }\n\n passwordInteractionEvent(actionName){\n dataLayer.push({\n event: \"GAevent\",\n eventID: \"002\",\n eventCategory: \"user_interaction\",\n eventAction: \"password-interaction\",\n eventLabel: actionName,\n eventElement01: \"-\",\n eventElement02: \"-\",\n eventElement03: \"-\"\n })\n }\n}\n\nfunction getPageType(pageAction, element){\n var item_list_name = ''\n if (pageAction === 'Home-Show') {\n item_list_name = 'homepage';\n } else if (pageAction === 'Search-Show') {\n item_list_name = $('.js-page').data('querystring').includes('cgid') ? 'category_listing' : 'search_results';\n }else if (pageAction === 'Product-Show') {\n item_list_name = $(element).parents('.recommendations').length > 0 ? 'related_products' : 'pdp';\n }else if (pageAction === 'Cart-Show') {\n item_list_name = $(element).parents('.recommendations').length > 0 ? 'related_products' : 'cart';\n }\n\n return item_list_name;\n}\n\nfunction trackForWish(urlProductVariant, isInWishlist, variantID, item_list_name) {\n\n $.ajax({\n url: urlProductVariant,\n type: 'get',\n context: this,\n dataType: 'json',\n success: (data) => {\n let discount = '0.00';\n let originalPrice = data.product.price.list;\n let finalPrice = data.product.price.sales;\n\n if(data.product.price.type === 'range'){\n finalPrice = data.product.price.min.sales;\n originalPrice = data.product.price.min.list ? data.product.price.min.list : finalPrice;\n }\n\n if (originalPrice)\n discount = ((parseFloat(originalPrice.decimalPrice) - parseFloat(finalPrice.decimalPrice)).toFixed(2)).toString();\n\n let currency = finalPrice.currency;\n let categories = data.product.categoryPath.split(\"/\");\n let variant = '';\n let pidSplit = data.queryString.split('_');\n if (pidSplit.length > 1) {\n variant = pidSplit[1];\n }\n\n var colorID = variantID.split('_')[1];\n var size = variantID.split('_')[2];\n\n var colorName = colorID;\n data.product.variationAttributes[0].values.filter((obj) => {\n if(obj.id === colorID){\n colorName = obj.displayValue;\n }\n });\n\n const dataLayerGA4 = {\n event: isInWishlist ? 'remove_from_wishlist' : 'add_to_wishlist',\n ecommerce: {\n currency: currency,\n where: item_list_name,\n value: Number(finalPrice.decimalPrice),\n items: [\n {\n item_id: data.product.id,\n item_name: data.product.productName,\n currency: currency,\n discount: Number(discount),\n item_brand: 'twinset milano',\n item_category: categories.length > 0 ? categories[0] : '',\n item_category2: categories.length > 1 ? categories[1] : '',\n item_category3: categories.length > 2 ? categories[2] : '',\n item_list_name: item_list_name,\n item_variant: colorName,\n price: originalPrice ? Number(originalPrice.decimalPrice) : Number(finalPrice.decimalPrice),\n quantity: data.product.selectedQuantity,\n item_availability: data.product.availability.inStock ? 'in_stock' : 'out_of_stock',\n item_discount_tag: discount !== '0.00' ? 'on_sale' : 'not_on_sale',\n available_size_percentage: Number(data.product.available_size_percentage),\n item_size: size,\n item_variant_v2: variantID,\n item_url: data.product.masterUrl,\n item_img: data.product.images.large[0].url\n }\n ]\n }\n }\n dataLayer.push(dataLayerGA4);\n },\n error: (err) => {\n }\n });\n}\n\nconst Seo = new SEO();\nexport default Seo;\n\n\n\n// WEBPACK FOOTER //\n// ./assets/scripts/components/seo.js","function showAlertModal(data) {\r\n const modal = $('.modal-background')\r\n modal.css('display', 'flex').html(data.message);\r\n modal.find('.js-continue-btn').click((e) => {\r\n e.preventDefault();\r\n $('.prices-add-to-cart-actions button').first().trigger('click', {destroyBasket: true});\r\n modal.empty().hide();\r\n });\r\n modal.find('.js-not-continue-btn').click((e) => {\r\n e.preventDefault();\r\n modal.hide();\r\n });\r\n}\r\n\r\nmodule.exports = {\r\n showAlertModal: showAlertModal\r\n};\n\n\n// WEBPACK FOOTER //\n// ./assets/scripts/product/giftCardHelper.js","let svgSprite;\nlet svgSpriteElement;\n\nfunction fixOldSpriteUse() {\n try {\n const allSvg = document.querySelectorAll(\"svg\");\n allSvg.forEach(svg => {\n const use = svg.querySelector(\"use\");\n if (use) {\n const oldXlink = use.getAttribute(\"xlink:href\");\n const xlinkArray = oldXlink.split(\"#\").filter(el => el.length > 0);\n if (xlinkArray.length > 1) {\n const newXlink = `#${xlinkArray[xlinkArray.length - 1]}`;\n use.setAttribute(\"xlink:href\", newXlink);\n }\n }\n });\n } catch (e) {\n console.error(e);\n }\n}\n\nfunction getSvgSprite() {\n return new Promise((resolve, reject) => {\n if (!svgSprite) {\n fetch(\n `${document.documentElement.dataset.publicpath}/images/sprite.svg`,\n {\n mode: \"no-cors\",\n headers: {\n \"Access-Control-Allow-Origin\": \"*\"\n }\n }\n )\n .then(response => response.text())\n .then(data => {\n svgSprite = data;\n if (!svgSpriteElement) {\n svgSpriteElement = document.createElement(\"div\");\n svgSpriteElement.setAttribute(\"id\", \"svg-icons\");\n svgSpriteElement.style.display = \"none\";\n }\n svgSpriteElement.innerHTML = svgSprite;\n if (document.body) {\n document.body.prepend(svgSpriteElement);\n resolve();\n } else {\n getSvgSprite();\n reject();\n }\n });\n }\n });\n}\n\ngetSvgSprite().then(res => {\n fixOldSpriteUse();\n});\n\n\n\n// WEBPACK FOOTER //\n// ./assets/scripts/util/svgSpriteUtil.js","exports.Plugins = require('./plugins').default;\nexports.Common = require('./common').default;\nexports.Callout = require('./callout').default;\n\n\n// WEBPACK FOOTER //\n// ./assets/scripts/components/index.js","import { makeID } from '../services/utils';\n\n\nclass plugins {\n // we use this class to load global plugins\n constructor() {\n // tab selectors\n this.tabSelect = $('.tab-select');\n this.tabNav = $('.tab-nav');\n this.tabContent = $('.tab-content');\n\n // table selectors\n this.fixedColTable = $('.table[data-col-fixed]');\n\n // datepicker selector\n this.datepicker = $('.input-date');\n\n this.foundation();\n this.validator();\n this.svg4everybody();\n this.select();\n this.breadcrumbs();\n this.filters();\n this.tab();\n this.table();\n this.fdatepicker();\n this.cleave();\n }\n\n foundation() {\n $(document).foundation();\n }\n\n svg4everybody() {\n svg4everybody();\n }\n\n validator() {\n const forms = $('[data-validate]');\n if (!forms.length) return;\n var errorList = [];\n\n Parsley.addValidator('genericCustomValidation', {\n requirementType: 'string',\n validateString: function(value, requirement) {\n return requirement === 'valid';\n }\n });\n\n forms.each((i, form) => {\n $(form).parsley({\n errorClass: 'is-invalid-input',\n successClass: 'is-valid-input',\n errorsWrapper: '<div class=\"errors-list\"></div>',\n errorTemplate: '<span class=\"form-error is-visible\"></span>',\n errorsContainer: e => e.$element.closest('label')\n }).on('field:error', (e) => {\n e.$element\n .closest('label')\n .removeClass('is-valid-label')\n .addClass('is-invalid-label');\n }).on('field:success', (e) => {\n e.$element\n .closest('label')\n .removeClass('is-invalid-label')\n .addClass('is-valid-label');\n })\n .on('form:error', (e) => {\n $(e.$element).find('.is-invalid-input').each(function (e, v) {\n errorList.push(v);\n });\n\n $(window).trigger('submittedForm:error', { form: $(this), errorList: errorList.slice(0) });\n errorList.splice(0, errorList.length); // reset error list array\n\n $(window).trigger('submittedForm:error', { form: $(this), errorList: errorList.slice(0) });\n });\n });\n }\n\n breadcrumbs() {\n var breadcrumbs = $('.breadcrumbs-filters').find('.breadcrumbs-wrapper.scrollable-list');\n breadcrumbs.removeClass('align-items-right').removeClass('align-items-left');\n if (breadcrumbs.find('.breadcrumbs-nav').length > 0 && breadcrumbs.find('.breadcrumbs-nav')[0].scrollWidth > breadcrumbs.innerWidth()) {\n breadcrumbs.addClass('align-items-right');\n breadcrumbs.find('.breadcrumbs-nav.is-left-aligned').remove();\n } else {\n breadcrumbs.addClass('align-items-left');\n breadcrumbs.find('.breadcrumbs-nav.is-right-aligned').remove();\n }\n breadcrumbs.css('opacity', 1);\n }\n\n filters() {\n // Fix filters bar on scroll\n $(window).scroll(function (e) {\n var filters = $('.nav-filters-sorting-wrapper');\n if ($(this).scrollTop() > 529) {\n filters.addClass('is-fixed');\n } else {\n filters.removeClass('is-fixed');\n }\n });\n }\n\n select() {\n // Handle select picker with redirect urls\n $('.select-picker-redirect').on('change', function () {\n var redirectUrl = this.value;\n var eventLabel = this.options[this.selectedIndex].getAttribute('data-event-label');\n $(this).prop('selectedIndex', 0);\n\n dataLayer.push({\n 'event': 'asyncAction',\n 'gaHitType' : 'event',\n 'event_category' : 'breadcrumbs',\n 'event_action' : 'third_level',\n 'event_label' : eventLabel\n });\n\n window.location.href = redirectUrl;\n });\n\n // Handle select picker with sub-categories\n $('.select-picker-redirect-category').on('change', function () {\n var selectedValue = this.value;\n var eventLabel = this.options[this.options.selectedIndex].getAttribute('data-event-label');\n\n $(this).prop('selectedIndex', 0);\n\n var dataLayerObject = {\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'fascia_categorie',\n event_action: (($(this).data('level') == '3') ? 'third_level' : 'second_level'),\n event_label: eventLabel\n };\n\n if (typeof dataLayer !== 'undefined') {\n dataLayer.push(dataLayerObject);\n }\n\n setTimeout(function () {\n window.location.href = selectedValue;\n }, 100);\n });\n\n // Handle select picker with sortings\n $('.select-picker-redirect-sorting').on('change', function () {\n var selectedValue = this.value;\n $(this).prop('selectedIndex', 0);\n\n var dataLayerObject = {\n event: 'asyncAction',\n gaHitType: 'event',\n event_category: 'filters',\n event_action: 'sort_by',\n event_label: selectedValue\n };\n\n if (typeof dataLayer !== 'undefined') {\n dataLayer.push(dataLayerObject);\n }\n\n setTimeout(function () {\n var target = $('[data-id=\"' + selectedValue + '\"] a');\n var href = $(target).attr('href');\n\n window.location.href = href;\n }, 100);\n });\n\n if (['small', 'medium'].indexOf(Foundation.MediaQuery.current) > -1) return;\n\n const makeCustom = (select) => {\n if (!$(select).attr('data-id')) $(select).attr('data-id', makeID());\n $(select).customSelect({\n transition: 300,\n modifier: `${$(select).attr('class')} ${$(select).attr('data-id')}`\n });\n\n $(select).on('change', function () {\n $(this).trigger('refresh');\n });\n };\n\n let debounce = {};\n $('select:not(.nocustom):not(.hidden)').each((i, select) => {\n makeCustom(select);\n\n $(select).on('DOMSubtreeModified, refresh', (e) => {\n const id = $(e.currentTarget).data('id');\n if (debounce[id]) {\n clearTimeout(debounce[id]);\n debounce[id] = null;\n }\n\n debounce[id] = setTimeout(() => {\n $(e.currentTarget).removeData('custom-select');\n $(`.${id}`).remove();\n makeCustom(e.currentTarget);\n }, 100);\n });\n });\n }\n\n tab() {\n // show-hide tab content\n const updateView = (targetContent) => {\n this.tabContent.removeClass('is-active');\n $(`#${targetContent}`).addClass('is-active');\n\n $(window).trigger('resize');\n };\n\n // update view based on target clicked - desktop\n this.tabNav.on('click', 'a', (e) => {\n e.preventDefault();\n const targetContent = $(e.currentTarget).parents('li').data('target');\n this.tabNav.find('li').removeClass('is-current');\n $(e.currentTarget).parents('li').addClass('is-current');\n // update mobile select value\n this.tabSelect.val(targetContent);\n if (['small', 'medium'].indexOf(Foundation.MediaQuery.current) === -1) {\n this.tabSelect.removeData('custom-select').show().next('.custom-select').remove();\n this.tabSelect.customSelect({\n transition: 300,\n modifier: this.tabSelect.attr('class')\n });\n }\n updateView(targetContent);\n\n $(document).trigger('tabToggle', targetContent);\n });\n\n // update view based on target chosen - mobile\n this.tabSelect.on('change', (e) => {\n e.preventDefault();\n const targetContent = $(e.currentTarget).val();\n // update desktop cta list\n this.tabNav.find('li').removeClass('is-current');\n this.tabNav.find(`li[data-target=\"${targetContent}\"]`).addClass('is-current');\n updateView(targetContent);\n });\n }\n\n table() {\n const defaultThWidth = 90;\n const getThrWidth = (table) => {\n let tableWidth = table.width();\n let tdrWidth = table.find('.tdr').width();\n return tableWidth - tdrWidth;\n };\n\n const handleCols = (table) => {\n const thrWidth = table.find('.thr').width();\n const tdrWidth = table.find('.tdr').width();\n const tableOverflowWidth = table.parents('.table-overflow').width();\n\n if (thrWidth + tdrWidth < tableOverflowWidth) {\n table.find('.th').css('width', 'auto');\n table.parents('.table-container').find('.thr-fixed').hide();\n table.css('width', 'auto');\n } else {\n table.find('.th').width(defaultThWidth);\n table.parents('.table-container').find('.thr-fixed').show();\n table.css({\n width: defaultThWidth + tdrWidth,\n 'min-width': defaultThWidth + tdrWidth\n });\n }\n };\n\n this.fixedColTable.each(function () {\n let tableWidth = $(this).width();\n let thrWidth = Math.max.apply(Math, $(this).find('.thr').map(function () {\n return $(this).width();\n }).get());\n let tdrWidth = $(this).find('.tdr:last-of-type').width();\n\n $(this).css('min-width', thrWidth + tdrWidth);\n $(this).parents('.table-container').prepend('<div class=\"thr-fixed\"></div>');\n $(this).find('.tr').each((i, tr) => {\n let thString = $(tr).find('.th').text();\n $(this).parents('.table-container').find('.thr-fixed').append('<div class=\"tr\"><ul class=\"thr\"><li class=\"th\">' + thString + '</li></ul></div>');\n });\n handleCols($(this));\n });\n\n $(window).on('resize', () => {\n this.fixedColTable.each(function () {\n handleCols($(this));\n });\n });\n }\n\n fdatepicker() {\n this.datepicker.fdatepicker({\n language: $('html').attr('lang'),\n leftArrow: `<svg><use xlink:href=\"${window.staticURL}/images/sprite.svg#arrow-left\" /></use></svg>`,\n rightArrow: `<svg><use xlink:href=\"${window.staticURL}/images/sprite.svg#arrow-right\" /></use></svg>`,\n format: 'mm/dd/yyyy',\n endDate: new Date()\n });\n }\n\n\n cleave() {\n $('.input-date-cleave').each((i, el) => {\n if (Cleave) {\n let format = $(el).data('format').toUpperCase()\n .replace('MM', 'm')\n .replace('DD', 'd')\n .replace('YYYY', 'Y');\n let split = format.split('/');\n\n let minDate = $(el).data('min');\n let maxDate = $(el).data('max');\n\n const option = {\n date: true,\n delimiter: '/',\n datePattern: split\n }\n\n if(!!minDate) option.dateMin = minDate;\n if(!!maxDate) option.dateMax = maxDate;\n\n let cl = new Cleave(el, option);\n } else {\n console.error('found a date field but Cleave is not imported');\n }\n });\n\n $('.input-phone').each((i, el) => {\n if (Cleave) {\n let cl = new Cleave(el, {\n phone: true\n });\n } else {\n console.error('found a phone field but Cleave is not imported');\n }\n });\n }\n}\n\nconst Plugins = new plugins();\nexport default Plugins;\n\n\n\n// WEBPACK FOOTER //\n// ./assets/scripts/components/plugins.js","import Login from './login';\nimport Search from './search';\nimport Minicart from './minicart';\nimport Accordion from './accordion';\nimport CookieCheck from './cookie.js';\nimport WishlistAdd from './wishlist';\nimport Seo from './seo';\nimport phonePrefix from './phonePrefix';\nimport LocaleSelector from './localeSelector';\nimport EnhancedSeo from '../enhancedSeo';\nimport Business from './b2b';\nimport HeaderStrip from './header';\nimport Plugins from './plugins';\n\nclass common {\n run() {\n this.mobileMenu();\n this.footerMenu();\n this.submitNewsletter();\n Login.login();\n Search.run();\n Minicart.run();\n Accordion.run();\n CookieCheck.cookieSid();\n WishlistAdd.run();\n Seo.run();\n this.loginToggle();\n this.loginMobileToggle();\n this.appInStoreDropdown();\n this.logoutAction();\n\n EnhancedSeo.clickMobileFooterMenu([\n \".mobile-pane-footer\",\n \"a\",\n \"data-icon-name\"\n ]);\n EnhancedSeo.clickOnCookieBanner([\".cookie-alert\", \"a\", \"button\"]);\n EnhancedSeo.clickCreateAccountHeaderPopup([\".header-popup-footer\", \"a\"]);\n this.setStoreLocatorUrlFooter();\n this.disableCopyPastePasswordInputFields();\n Business.init();\n phonePrefix.run();\n this.hideShowPassword();\n }\n\n\n mobileLoginForgotPassword(){\n $('.mobile-login .forgotpassword-link').on('click', () => {\n $('.close-login-popup').trigger('click');\n Login.resetPassword();\n });\n }\n\n hideShowPassword(){\n\n $('[id*=\"password\"], [id*=\"Password\"]').on('input', function() {\n var inputVal = $(this).val();\n if (inputVal.length > 0) {\n if($(this).attr('type')==='password'){\n $(this).siblings('.show-pass').removeClass('hide');\n }else{\n $(this).siblings('.hide-pass').removeClass('hide');\n }\n } else {\n $(this).siblings('.hide-pass').addClass('hide');\n $(this).siblings('.show-pass').addClass('hide');\n }\n });\n\n $('[id*=\"password\"], [id*=\"Password\"]').parent().find('.show-pass').click(function () {\n $(this).addClass('hide');\n $(this).siblings('[id*=\"password\"], [id*=\"Password\"]').attr('type', 'text');\n $(this).siblings('.hide-pass').removeClass('hide');\n Seo.passwordInteractionEvent('show');\n })\n\n $('[id*=\"password\"], [id*=\"Password\"]').parent().find('.hide-pass').click(function () {\n $(this).addClass('hide');\n $(this).siblings('[id*=\"password\"], [id*=\"Password\"]').attr('type', 'password');\n $(this).siblings('.show-pass').removeClass('hide');\n Seo.passwordInteractionEvent('hide');\n })\n\n }\n\n mobileMenu() {\n $(\".nav.level-1 > li\").data(\"counter\", 0);\n $(\".nav.level-1 > li\").on(\"touchstart mouseenter focus\", e => {\n let counter = parseInt($(e.currentTarget).data(\"counter\"), 10);\n $(\".nav.level-1 > li\").data(\"counter\", 0);\n\n if (e.type === \"touchstart\") {\n if (!counter) {\n counter++;\n $(e.currentTarget).data(\"counter\", counter);\n e.stopImmediatePropagation();\n e.preventDefault();\n }\n }\n });\n\n // if (['small', 'medium'].indexOf(Foundation.MediaQuery.current) === -1) {\n // return;\n // }\n\n const $menuPaneContainer = $(\".mobile-pane-content\");\n\n $(\".mobile-menu a.has-submenu\").click(event => {\n $(event.currentTarget).toggleClass(\"open\");\n $(event.currentTarget)\n .next(\".mobile-submenu\")\n .slideToggle();\n\n const $scrollTo = $(event.currentTarget).parent();\n $menuPaneContainer.animate({\n scrollTop:\n $scrollTo.offset().top -\n $menuPaneContainer.offset().top +\n $menuPaneContainer.scrollTop()\n });\n });\n\n $(\".mobile-menu\").on(\"click\", \".level-1\", event => {\n event.stopPropagation();\n var dataLayerObject = {\n event: \"asyncAction\",\n gaHitType: \"event\",\n event_category: \"menu\",\n event_action: event.currentTarget.name,\n event_label: \"only_first_level\"\n };\n\n if (typeof dataLayer !== \"undefined\") {\n dataLayer.push(dataLayerObject);\n }\n });\n\n $(\".mobile-submenu\").on(\"click\", \".level-2\", event => {\n event.stopPropagation();\n var parentCat = $(event.currentTarget)\n .closest(\".mobile-level-1\")\n .find(\".has-submenu\")\n .attr(\"name\");\n var dataLayerObject = {\n event: \"asyncAction\",\n gaHitType: \"event\",\n event_category: \"menu\",\n event_action: parentCat,\n event_label: event.currentTarget.innerText\n };\n\n if (typeof dataLayer !== \"undefined\") {\n dataLayer.push(dataLayerObject);\n }\n });\n\n $(\".mobile-submenu\").on(\"click\", \".level-3\", event => {\n event.stopPropagation();\n var parentCat = $(event.currentTarget)\n .closest(\".mobile-level-1\")\n .find(\".has-submenu\")\n .attr(\"name\");\n var cat = $(event.currentTarget)\n .closest(\".mobile-level-2\")\n .find(\".has-submenu\")\n .attr(\"name\");\n var dataLayerObject = {\n event: \"asyncAction\",\n gaHitType: \"event\",\n event_category: \"menu\",\n event_action: parentCat,\n event_label: cat + \"/\" + event.target.innerText\n };\n\n if (typeof dataLayer !== \"undefined\") {\n dataLayer.push(dataLayerObject);\n }\n });\n\n $(\"#toggle-mobile-menu, #close-mobile-menu\").click(event => {\n $(\"body\").toggleClass(\"menu-visible\");\n $(\"body\").removeClass(\"login-popup-visible\");\n });\n\n $(document).ready(() => {\n let menuList = $('.nav.level-1');\n let mobileMenu = $('.mobile-menu');\n $.ajax({\n url: menuList.data('includeGiftCardMenu'),\n method: 'GET',\n success: (data) => {\n if(!data.position && data.position !== 0){\n menuList.append(data.template);\n mobileMenu.append(data.templateMobile)\n } else if(data.position === 0) {\n menuList.prepend(data.template);\n mobileMenu.prepend(data.templateMobile)\n } else {\n $(`.nav.level-1>li:nth-child(${data.position})`).after(data.template);\n $(`.mobile-menu>li:nth-child(${data.position})`).after(data.templateMobile);\n }\n }\n })\n });\n }\n\n footerMenu() {\n $(\"footer h6\").click(event => {\n if ([\"small\", \"medium\"].indexOf(Foundation.MediaQuery.current) > -1) {\n $(event.currentTarget).toggleClass(\"open\");\n $(event.currentTarget)\n .next(\".menu-footer\")\n .slideToggle();\n }\n });\n }\n\n submitNewsletter() {\n $(\".newsletterfooterform\").submit(e => {\n e.preventDefault();\n\n var formHelpers = require(\"../util/formErrors\");\n var $form = $(e.currentTarget);\n var action = $form.attr(\"action\");\n\n var button = $form.find(\".newslettersubmit\");\n $(button).attr(\"disabled\", true);\n\n $.ajax({\n url: action,\n type: \"post\",\n data: $form.serialize(),\n success: response => {\n formHelpers.clearPreviousErrors($form);\n var dataLayerObject;\n\n if (response.success) {\n $form.find(\"input[name$=_email]\").val(\"\");\n if (response.alreadyRegistered) {\n var dataLayerObject = {\n event: \"asyncAction\",\n gaHitType: \"event\",\n event_category: \"newsletter_subscription\",\n event_action: \"ko\",\n event_label: response.errorMessage\n };\n } else {\n var dataLayerObject = {\n event: \"asyncAction\",\n gaHitType: \"event\",\n event_category: \"newsletter_subscription\",\n event_action: \"ok\"\n };\n }\n console.log(JSON.stringify(dataLayerObject));\n dataLayer.push(dataLayerObject);\n window.location.href = response.redirectUrl;\n } else {\n $(button).attr(\"disabled\", false);\n dataLayerObject = {\n event: \"asyncAction\",\n gaHitType: \"event\",\n event_category: \"newsletter_subscription\",\n event_action: \"ko\",\n event_label: response.errorMessage\n };\n console.log(JSON.stringify(dataLayerObject));\n dataLayer.push(dataLayerObject);\n formHelpers.resetErrorList($form, response.error);\n formHelpers.loadFormErrors($form, response.error);\n }\n },\n error: () => {}\n });\n });\n\n $(\".newsletterlocalization\").click(e => {\n e.preventDefault();\n\n var formHelpers = require(\"../util/formErrors\");\n var $form = $(\".newsletterlocalizationform\");\n var action = $form.attr(\"action\");\n\n $.ajax({\n url: action,\n type: \"post\",\n data: $form.serialize(),\n success: response => {\n formHelpers.clearPreviousErrors($form);\n if (response.success) {\n $form.find(\"input[name$=_email]\").val(\"\");\n window.location.href = response.redirectUrl;\n } else {\n formHelpers.resetErrorList($form, response.error);\n formHelpers.loadFormErrors($form, response.error);\n }\n },\n error: () => {}\n });\n });\n }\n\n appInStoreDropdown() {\n const $storeDropdown = $(\".js-app-popup-wrapper\");\n $storeDropdown.on('click', (e) => {\n if (e.currentTarget.classList.contains('open')) {\n e.currentTarget.classList.remove('open');\n } else {\n e.currentTarget.classList.add('open');\n }\n })\n }\n\n logoutAction(){\n $('.js-log-out').on('click', () => {\n let loyaltyStatus = $('.user.header-popup-wrapper .loyalty-icon-text-account').data('loyalty-status');\n EnhancedSeo.loginLogoutEvent('logout', loyaltyStatus);\n });\n }\n\n loginToggle() {\n const $loginBtn = $(\".header-popup-wrapper.user > a\");\n const $loginBtnWrapper = $loginBtn.parent();\n\n $loginBtn.click(e => {\n e.preventDefault();\n e.stopImmediatePropagation();\n if (!$loginBtnWrapper) return;\n $loginBtnWrapper.toggleClass(\"open\");\n });\n }\n\n loginMobileToggle() {\n const $loginBtn = $(\"a.open-popup\");\n const $loginWrapper = $('.header-popup-wrapper.mobile-login');\n const $loginWrapperPopup = $loginWrapper.find('.header-popup');\n\n $loginBtn.click(e => {\n e.preventDefault();\n e.stopImmediatePropagation();\n\n if (!$loginWrapper) return;\n\n const $loginPopUpBody = $loginWrapper.find('.header-popup-body');\n const url = $loginBtn.data('href');\n\n $loginPopUpBody.empty();\n\n if ($loginWrapperPopup) {\n $loginWrapperPopup.css(\"height\", window.visualViewport.height + \"px\");\n }\n $loginWrapper.toggleClass(\"open loading\");\n\n $.get(url, { mobileView: true }, data => {\n\n $loginPopUpBody.append(data);\n if(!$loginWrapper.hasClass('logged-user')){\n Plugins.foundation();\n Plugins.validator();\n Login.login();\n this.hideShowPassword();\n this.mobileLoginForgotPassword();\n\n }\n\n $(\"body\").addClass(\"login-popup-visible\");\n $(\"body\").removeClass(\"menu-visible\");\n $loginWrapper.toggleClass(\"loading\");\n\n });\n\n $('.close-login-popup').click( e => {\n if ($loginWrapper.hasClass(\"open\")) {\n $loginWrapper.removeClass(\"open\");\n $(\"body\").removeClass(\"login-popup-visible\");\n }\n });\n });\n }\n\n setStoreLocatorUrlFooter() {\n $(document).ready(() => {\n let footerUrls = $(\".footer-container a\");\n let storelocator = $(\".find-in-botique\");\n let storelocatorname = storelocator.attr(\"data-storelocator-name\");\n footerUrls.each((i, el) => {\n let currentTarget = $(el);\n if (\n currentTarget.attr(\"href\") &&\n currentTarget.attr(\"href\").indexOf(storelocatorname) != -1\n ) {\n currentTarget.attr(\"href\", storelocator.attr(\"href\"));\n }\n });\n });\n }\n\n disableCopyPastePasswordInputFields() {\n $(document).ready(() => {\n $(\"input[type=password]\").on(\"cut copy paste\", e => {\n e.preventDefault();\n });\n });\n }\n}\n\nconst Common = new common();\nexport default Common;\n\n\n\n// WEBPACK FOOTER //\n// ./assets/scripts/components/common.js","import Callout from './callout';\nimport EnhancedSeo from \"../enhancedSeo\";\nvar formHelpers = require('../util/formErrors');\n\nclass login {\n login() {\n $('form.login').submit((e) => {\n const form = $(e.currentTarget);\n e.preventDefault();\n var url = form.attr('action');\n var calloutMsg = null;\n\n if(form.parents('.mobile-login').length === 0){\n calloutMsg = form.attr('data-callout-msg');\n }\n\n form.hide();\n $('.login-spinner').show();\n // clean previous callout messages\n form.find('.callout').remove();\n\n $.ajax({\n url: url,\n type: 'post',\n dataType: 'json',\n data: form.serialize(),\n success: (data) => {\n if (data.success) {\n $.get(data.logOutUrl);\n\n EnhancedSeo.loginLogoutEvent('login', data.loyaltyLevel);\n\n // STEP 1 -- Retrieve the page action and define actions that should not trigger a page reload\n const pageElement = $('.js-page');\n const pageAction = pageElement.length > 0 ? pageElement.data('action') : null;\n const includeReloadActions = ['Product-Show', 'Search-Show', 'Home-Show', 'Page-Show', 'CustomerService-Show', 'BookAnAppointment-Show', 'Loyalty-ShowLanding', 'Wishlist-Show', 'Cart-Show'];\n\n // STEP 2 -- Check if the current page action is not in the excluded list\n if (includeReloadActions.includes(pageAction))\n location.reload();\n else if (data && data.redirectUrl)\n window.location.href = data.redirectUrl;\n\n } else {\n console.log(data);\n Callout.error(calloutMsg, data.error, form, true, true);\n $(form).find('.is-valid-label').addClass('is-invalid-label').removeClass('is-valid-label');\n $(form).find('[name*=loginPassword]').addClass('is-invalid-input').removeClass('is-valid-input');\n $(form).find('[name*=loginEmail]').addClass('is-invalid-input').removeClass('is-valid-input');\n $('.login-spinner').hide();\n form.show();\n }\n },\n error: (data) => {\n if (data.responseJSON.redirectUrl) {\n window.location.href = data.responseJSON.redirectUrl;\n } else {\n $('.login-spinner').hide();\n form.show();\n }\n }\n });\n return false;\n });\n\n $('form.login').find('.forgotpassword-link').on('click', (e) => {\n const _this = $(e.currentTarget);\n if (typeof window.sessionStorage !== 'undefined') {\n var insertedMail = _this.parents('form.login').find('[name=\"loginEmail\"]').val();\n if (insertedMail) {\n window.sessionStorage.forgotPasswordMail = insertedMail;\n }\n }\n });\n }\n\n register() {\n $('form.registration').submit((e) => {\n var form = $(e.currentTarget);\n e.preventDefault();\n\n var url = form.attr('action');\n form.spinner().start();\n $('form.registration').trigger('login:register', e);\n\n $.ajax({\n url: url,\n type: 'post',\n dataType: 'json',\n data: form.serialize(),\n success: function (data) {\n form.spinner().stop();\n // if (!data.success) {\n // formValidation(form, data);\n // } else {\n // location.href = data.redirectUrl;\n // }\n },\n error: function (err) {\n if (err.responseJSON.redirectUrl) {\n window.location.href = err.responseJSON.redirectUrl;\n }\n\n form.spinner().stop();\n }\n });\n return false;\n });\n }\n\n resetPassword() {\n if (typeof window.sessionStorage !== 'undefined') {\n if (window.sessionStorage.forgotPasswordMail) {\n formHelpers.clearPreviousErrors($('#reset-password-form'));\n $('#reset-password-form').find('[name=\"loginEmail\"]').val(window.sessionStorage.forgotPasswordMail);\n delete window.sessionStorage.forgotPasswordMail;\n }\n }\n\n $('.reset-password-form').submit(function (e) {\n var form = $(this);\n var formParent = form.parents('.forgot-password-modal')\n var calloutMsg = form.attr('data-callout-msg');\n\n e.preventDefault();\n var url = form.attr('action');\n\n if(formParent.length > 0){\n formHelpers.clearPreviousErrors(form);\n formParent.toggleClass('loading');\n } else {\n form.spinner().start();\n }\n $('.reset-password-form').trigger('login:register', e);\n $.ajax({\n url: url,\n type: 'post',\n dataType: 'json',\n data: form.serialize(),\n success: function (data) {\n if(formParent.length > 0) {\n formParent.toggleClass('loading');\n } else {\n form.spinner().stop();\n }\n\n if (!data.success) {\n if(formParent.length > 0){\n formHelpers.resetErrorList(form, data.error);\n formHelpers.loadFormErrors(form, data.error);\n }\n } else if (Object.prototype.hasOwnProperty.call(data, 'redirectUrl')) {\n if (data.redirectUrl) {\n window.location.href = data.redirectUrl;\n }\n } else {\n $('.request-password-title').text(data.receivedMsgHeading);\n $('.request-password-body').empty()\n .append('<p>' + data.receivedMsgBody + '</p>');\n if (!data.mobile) {\n $('#submitEmailButton').text(data.buttonText)\n .attr('data-dismiss', 'modal');\n } else {\n $('.send-email-btn').empty()\n .html('<a href=\"'\n + data.returnUrl\n + '\" class=\"btn btn-primary btn-block\">'\n + data.buttonText + '</a>');\n }\n }\n },\n error: function () {\n if(formParent.length > 0) {\n formParent.toggleClass('loading');\n } else {\n form.spinner().stop();\n }\n }\n });\n return false;\n });\n }\n\n clearResetForm() {\n $('#login .modal').on('hidden.bs.modal', function () {\n $('#reset-password-email').val('');\n $('.modal-dialog .form-control.is-invalid').removeClass('is-invalid');\n });\n\n\n }\n}\n\nconst Login = new login();\nexport default Login;\n\n\n\n// WEBPACK FOOTER //\n// ./assets/scripts/components/login.js","import EnhancedSeo from '../enhancedSeo';\n\nclass search {\n constructor () {\n this.minChars = 3;\n this.debounce = null;\n this.searchToggle = $('.search-item a, #search .close-modal, #toggle-mobile-search, #toggle-mobile-search2, .trigger-search-modal');\n\n // selectors\n this.endpoint = $('.suggestions-wrapper').data('url');\n this.searchField = $('input.search-field');\n this.searchIcon = $('#search .search-icon');\n this.clearSearch = $('#search .clear-search');\n }\n\n run () {\n this.toggleSearch();\n this.clear();\n\n this.searchField.on('keyup click', e => {\n if (this.debounce) {\n clearTimeout(this.debounce);\n this.debounce = null;\n }\n\n this.debounce = setTimeout(() => {\n this.getSuggestions(e.target);\n }, 300);\n });\n\n EnhancedSeo.clickOnSearch(['#search', '.close-modal', '.search-products a.float-right', '.search-explore a.float-right']);\n }\n\n toggleSearch () {\n this.searchToggle.click(() => {\n this.searchField.val('');\n this.getSuggestionsWrapper().empty();\n $('body').toggleClass('search-visible');\n $('#search .search-field').focus();\n\n if ($('body').hasClass('search-visible')) {\n this.getSuggestions(this.searchField);\n }\n });\n\n this.searchIcon.on('click', (event) => {\n if ($('#search .search-field').val() !== '') $('#search-form').submit();\n });\n }\n\n clear () {\n this.clearSearch.click(() => {\n this.searchField.val('');\n this.searchField.trigger('click');\n });\n }\n\n /**\n * Retrieve suggestions\n *\n * @param {Object} scope - Search field DOM element\n */\n getSuggestions (scope) {\n if (['small', 'medium'].indexOf(Foundation.MediaQuery.current) > -1) {\n if ($(scope).val().length) {\n this.searchIcon.hide();\n this.clearSearch.show();\n } else {\n this.searchIcon.show();\n this.clearSearch.hide();\n }\n } else {\n this.clearSearch.hide();\n this.searchIcon.show();\n }\n\n // if ($(scope).val().length >= this.minChars) {\n // $.spinner().start();\n let endpoint = this.endpoint;\n if ($(scope).val().length && $(scope).val().length >= this.minChars) {\n endpoint += encodeURIComponent($(scope).val());\n }\n\n $.ajax({\n context: scope,\n url: endpoint,\n method: 'GET',\n success: response => {\n this.processResponse(response);\n },\n error: () => {\n // $.spinner().stop();\n }\n });\n // } else {\n // this.getSuggestionsWrapper().empty();\n // }\n }\n\n /**\n * Retrieves Suggestions element relative to scope\n *\n * @param {Object} scope - Search input field DOM element\n * @return {JQuery} - .suggestions-wrapper element\n */\n getSuggestionsWrapper () {\n return $('#search .suggestions-wrapper');\n }\n\n /**\n * Process Ajax response for SearchServices-GetSuggestions\n *\n * @param {Object|string} response - Empty object literal if null response or string with rendered\n * suggestions template contents\n */\n processResponse (response) {\n var $suggestionsWrapper = this.getSuggestionsWrapper().empty();\n\n // $.spinner().stop();\n\n if (!(typeof (response) === 'object')) {\n $suggestionsWrapper.append(response).show();\n\n $('.popular-searches a').click(e => {\n e.preventDefault();\n this.searchField.val($(e.target).text());\n this.searchField.trigger('click');\n });\n } else {\n $suggestionsWrapper.hide();\n }\n }\n}\n\nconst Search = new search();\nexport default Search;\n\n\n\n// WEBPACK FOOTER //\n// ./assets/scripts/components/search.js","import {appendToUrl} from '../services/utils';\nimport Product from '../product';\nimport Callout from './callout';\n\nclass minicart {\n constructor() {\n this.miniCart = $('.mini-cart');\n this.miniCartContent = $('.mini-cart-content');\n this.miniCartSpinner = $('.mini-cart-spinner');\n this.miniCartQty = $('.minicart-quantity').eq(0);\n }\n\n run() {\n // Initially hide the header-popup to ensure it is not visible before user interaction\n // preventing display issues or an uninitialized state.\n this.miniCart.find('.header-popup').hide();\n\n $('.mini-cart').on('count:update', (event, count) => {\n if (count && $.isNumeric(count.quantityTotal)) {\n this.updateCount(count.quantityTotal);\n }\n });\n\n if (['small', 'medium'].indexOf(Foundation.MediaQuery.current) === -1) this.toggleMinicart();\n }\n\n toggleMinicart() {\n $('.mini-cart .mini-cart-link').mouseenter((e) => {\n const popupEl = this.miniCart.find('.header-popup');\n popupEl.show();\n let recommProd = [];\n\n const count = parseInt(this.miniCartQty.text(), 10);\n\n if (popupEl.length > 0) {\n popupEl.find('[id^=\"cq_recomm_slot-\"] .js-recomm-prod').each(function (i, select) {\n let categories = (typeof select.dataset.category !== 'undefined') ? select.dataset.category : '';\n categories = categories.split('/');\n\n var discount = select.dataset.discount;\n\n recommProd.push({\n item_id: (typeof select.dataset.pid !== 'undefined') ? select.dataset.pid : '',\n item_name: (typeof select.dataset.name !== 'undefined') ? select.dataset.name : '',\n currency: currentCurrency,\n discount: Number(discount),\n index: i + 1,\n item_brand: 'twinset milano',\n item_category: categories.length > 0 ? categories[0] : '',\n item_category2: categories.length > 1 ? categories[1] : '',\n item_category3: categories.length > 2 ? categories[2] : '',\n item_list_name: 'suggeriti-minicart',\n item_variant: select.dataset.color_name,\n price: (typeof select.dataset.price !== 'undefined') ? Number(select.dataset.price.split(' ')[1]) : '',\n quantity: 1,\n item_availability: select.dataset.item_availability,\n item_discount_tag: discount !== '0.00' ? 'on_sale' : 'not_on_sale',\n available_size_percentage: Number(select.dataset.available_size_percentage),\n item_size: '',\n item_url: select.dataset.master_url,\n item_img: select.dataset.default_color_image\n });\n });\n\n if (recommProd.length > 0) {\n dataLayer.push({\n 'event': 'view_item_list',\n 'ecommerce': {\n currency: currentCurrency,\n items: recommProd\n }\n });\n }\n }\n\n\n if (count !== 0) {\n this.loadMiniCart();\n }\n });\n }\n\n loadMiniCart() {\n const count = parseInt(this.miniCartQty.text(), 10);\n const url = this.miniCart.data('action-url');\n this.miniCartSpinner.show();\n var einstein = this.miniCartContent.find('.einstein-container');\n\n $.get(url, data => {\n this.miniCartContent.empty().append(data).append(einstein);\n\n let popup = $(\".mini-cart .header-popup\");\n const isLandscape = window.matchMedia(\"(orientation: landscape)\").matches;\n const maxHeight = window.innerHeight * (isLandscape ? 0.75 : 0.88);\n\n var isEinsteinScrollable = false;\n if(einstein.find('.items').length > 0){\n var eisteinList = einstein.find('.items')[0];\n isEinsteinScrollable = eisteinList.scrollHeight > eisteinList.clientHeight;\n }\n\n if (popup.length > 0 && popup[0].scrollHeight > maxHeight && isEinsteinScrollable) {\n this.miniCartContent.addClass(\"same-space-partition\");\n } else {\n this.miniCartContent.removeClass(\"same-space-partition\");\n }\n\n if(einstein.find('.items').length === 0){\n this.miniCartContent.css(\"grid-template-rows\", '1fr auto');\n }\n\n this.miniCartSpinner.hide();\n this.updateCount(count);\n\n $('.mini-cart-content .js-empty-cart-trigger').click((e) => {\n e.preventDefault();\n const modalid = $(e.currentTarget).data('open');\n\n var modal = new Foundation.Reveal($(`#${modalid}`));\n modal.open();\n });\n\n $('.mini-cart-content .remove-line-item a').click(e => {\n const actionUrl = $(e.currentTarget).data('action');\n const productID = $(e.currentTarget).data('pid');\n const productName = $(e.currentTarget).data('name');\n const uuid = $(e.currentTarget).data('uuid');\n\n var removePopup = new Foundation.Reveal($(`#removeProductModal-${uuid}`));\n removePopup.open();\n\n $(document).on('closed.zf.reveal', `#removeProductModal-${uuid}`, e => {\n $(e.target).parent().remove();\n setTimeout(() => {\n this.miniCart.removeClass('popup-open');\n }, 2000);\n });\n\n this.miniCart.addClass('popup-open');\n\n this.removeProduct(actionUrl, productID, productName, uuid);\n });\n });\n }\n\n removeProduct(actionUrl, productID, productName, uuid) {\n $(`#removeProductModal-${uuid} .cart-delete-confirmation-btn`).on('click', e => {\n e.preventDefault();\n\n const url = appendToUrl(actionUrl, {\n pid: productID,\n uuid: uuid\n });\n\n this.miniCartSpinner.show();\n\n $.ajax({\n url: url,\n type: 'get',\n dataType: 'json',\n success: data => {\n if ($('.row-basket-items').length) {\n document.location.reload();\n } else {\n this.updateCount(data.basket.numItems);\n this.miniCartSpinner.hide();\n this.loadMiniCart();\n\n setTimeout(() => {\n this.miniCart.removeClass('popup-open');\n }, 2000);\n }\n dataLayer.push({\n event: 'remove_from_cart',\n ecommerce: Product.getDataLayerGA4(\n data.basket,\n data.removedItemModel,\n \"remove_from_cart\",\n false\n )\n });\n },\n error: err => {\n if (err.responseJSON.redirectUrl) {\n window.location.href = err.responseJSON.redirectUrl;\n } else {\n Callout.error('', err.responseJSON.errorMessage, this.miniCartContent);\n this.miniCartSpinner.hide();\n }\n\n setTimeout(() => {\n this.miniCart.removeClass('popup-open');\n }, 2000);\n }\n });\n });\n }\n\n updateCount(count) {\n $('.minicart-quantity').text(count);\n }\n}\n\nconst Minicart = new minicart();\nexport default Minicart;\n\n\n// WEBPACK FOOTER //\n// ./assets/scripts/components/minicart.js","import CookieUtil from '../util/cookieUtil';\nclass cookieCheck {\n constructor() {\n\n this.modalFoundationArray = new Array();\n\n if ($('#localization-modal').length > 0) {\n this.modalFoundationArray.push($('#localization-modal'));\n }\n if ($('#golive-country-modal').length > 0) {\n this.modalFoundationArray.push($('#golive-country-modal'));\n }\n this.cookieBanner = $('#cookie-alert');\n this.cookieBanner.on('click', '.button', (event) => {\n event.preventDefault();\n CookieUtil.setCookie('Cookie_Banner', 'ACCEPTED', 365);\n this.cookieBanner.hide();\n });\n }\n\n cookieSid() {\n\n if (CookieUtil.getCookie('Cookie_Banner') == '') {\n var previousSessionID = window.localStorage.getItem('previousSid');\n var currentSessionID = CookieUtil.getCookie('sid');\n \n if (!previousSessionID && currentSessionID) {\n previousSessionID = currentSessionID;\n \n window.localStorage.setItem('previousSid', previousSessionID);\n this.modalFoundationArray.forEach(function (modal) {\n modal.foundation('open');\n });\n this.cookieBanner.show();\n } else if (previousSessionID && previousSessionID === currentSessionID) {\n this.modalFoundationArray.forEach(function (modal) {\n modal.foundation('close');\n });\n this.cookieBanner.hide();\n } else {\n previousSessionID = '';\n window.localStorage.removeItem('previousSid');\n }\n }\n }\n}\n\nconst CookieCheck = new cookieCheck();\nexport default CookieCheck;\n\n\n// WEBPACK FOOTER //\n// ./assets/scripts/components/cookie.js","class cookieUtil {\n\n getCookie(cookieName) {\n var name = cookieName + '=';\n var decodedCookie = decodeURIComponent(document.cookie);\n var cookieArray = decodedCookie.split(';');\n\n for (var i = 0; i < cookieArray.length; i++) {\n var cookieItem = cookieArray[i];\n\n while (cookieItem.charAt(0) === ' ') {\n cookieItem = cookieItem.substring(1);\n }\n\n if (cookieItem.indexOf(name) === 0) {\n return cookieItem.substring(name.length, cookieItem.length);\n }\n }\n\n return '';\n }\n\n setCookie(cookieName, value, days, path) {\n var expires = '';\n if (days) {\n var date = new Date();\n date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));\n expires = '; expires=' + date.toUTCString();\n }\n if (path) {\n document.cookie = cookieName + '=' + (value || '') + expires + '; path=' + path;\n } else {\n document.cookie = cookieName + '=' + (value || '') + expires + '; path=/';\n }\n }\n\n deleteCookie(name) {\n document.cookie = name + '=; Path=/; expires=Thu, 01 Jan 1970 00:00:01 GMT;';\n }\n\n};\n\nconst CookieUtil = new cookieUtil()\nexport default CookieUtil\n\n\n// WEBPACK FOOTER //\n// ./assets/scripts/util/cookieUtil.js","export const wishlistModal = () => {\n const modalInstances = {};\n const breakpoint = Foundation.MediaQuery.current;\n // generate wishlist modals\n $('.wishlist-modal:not(.initialized)').each((i, el) => {\n const $modal = $(el);\n const id = $modal.data('id');\n $modal.addClass('initialized');\n if (!Object.prototype.hasOwnProperty.call(modalInstances, id)) {\n modalInstances[id] = new Foundation.Reveal($modal);\n }\n\n // const $modalError = $modal.find('.wishlist-modal-error-wrapper');\n\n let pid;\n $modal.find('.wishlist-list-size li').click((e) => {\n $(e.currentTarget).siblings().removeClass('selected');\n $(e.currentTarget).addClass('selected');\n pid = $(e.currentTarget).data('id');\n $modal.find('.add-to-wishlist-modal').attr('disabled', false);\n });\n\n $modal.find('.add-to-wishlist-modal').click((e) => {\n const url = $(e.currentTarget).data('url');\n const modalID = $(e.currentTarget).data('id');\n if (!pid) return;\n\n $.ajax({\n url: url,\n method: 'POST',\n data: {\n pid\n },\n success: (data) => {\n if (breakpoint !== 'large' && breakpoint !== 'xlarge' && breakpoint !== 'xxlarge') {\n if (!$('.add-to-wl-messages').hasClass('show')) {\n var link = $('.add-to-wl-messages').attr('data-href');\n $('.add-to-wl-messages').append(\n `<div class=\"add-to-wl-alert success text-center\" role=\"alert\">\n <a href=\"${link}\">\n ${data.msg}\n </a>\n </div>`\n ).addClass('show');\n\n setTimeout(function () {\n $('.add-to-wl-messages').removeClass('show');\n $('.add-to-wl-alert').remove();\n $('.header-toolbar .wishlist-icon, .mobile-pane-header .wishlist-render').addClass('has-wishlist-list');\n $modal.find('.add-to-wishlist-modal').attr('disabled', true);\n $modal.find('.wishlist-list-size li').removeClass('selected');\n modalInstances[modalID].close();\n }, 1500);\n }\n } else {\n $('.header-toolbar .wishlist-icon, .mobile-pane-header .wishlist-render').addClass('has-wishlist-list');\n $modal.find('.add-to-wishlist-modal').attr('disabled', true);\n $modal.find('.wishlist-list-size li').removeClass('selected');\n modalInstances[modalID].close();\n // $(`#wishlist-modal-${modalID}`).foundation('close');\n }\n\n $('.wishlist-modal-open[data-id=' + modalID + ']').addClass('is-in-wishlist');\n\n let event_action = '';\n let action = $('.js-page').data('action');\n if (action === 'Home-Show') {\n event_action = 'homepage';\n } else if (action === 'Search-Show') {\n event_action = 'category_page';\n } else {\n event_action = (action || action.length >0 ) ? action.split('-')[0].toLowerCase() + '_page' : 'undefined_action';\n }\n\n // Trigger Goal Event: wishlist_created\n if (data.created) {\n dataLayer.push({\n gaHitType: 'event',\n event: 'goal_event',\n event_category: 'wishlist_created',\n event_action: event_action,\n event_label: pid.replace(/_([^_]*)$/, '|$1', '|$1')\n });\n }\n },\n error: (error) => {\n console.log('error in process request', error);\n // Callout.error(null, error.)\n }\n });\n });\n });\n\n // open modals\n $('.wishlist-modal-open:not(.initialized)').each((i, el) => {\n const $openWishlistLink = $(el);\n $openWishlistLink.addClass('initialized');\n\n $openWishlistLink.click((e) => {\n const modalID = $(e.currentTarget).data('id');\n if (modalInstances[modalID] !== 'undefined') {\n modalInstances[modalID].open();\n }\n });\n });\n};\n\nclass wishlistAdd {\n run() {\n this.addToWishlist();\n $(window).off('wishlist:initialize').on('wishlist:initialize', (e, data) => {\n this.addToWishlist();\n wishlistModal();\n });\n }\n\n addToWishlist() {\n $(document).on('click', '.add-to-wish-list', (e) => {\n e.preventDefault();\n\n const self = $(e.currentTarget);\n const url = (!self.hasClass('is-in-wishlist')) ? (self.attr('href') || self.attr('data-action-add')) : self.attr('data-remove-url');\n const headerWishlist = $('.header-toolbar .wishlist-icon');\n const headerWishlistMobile = $('.mobile-pane-header .wishlist-render');\n const breakpoint = Foundation.MediaQuery.current;\n\n let pid = self.closest('.product-detail').attr('data-pid') || self.attr('data-pid');\n let optionId;\n let optionVal;\n\n optionId = optionId || null;\n optionVal = optionVal || null;\n\n const addToWishlistCall = (u, id, optId, optVal) => {\n self.attr('disabled', true);\n\n $.ajax({\n url: u,\n type: 'post',\n dataType: 'json',\n data: {\n pid: id,\n optionId: optId,\n optionVal: optVal\n },\n success: (data) => {\n self.attr('disabled', false).addClass('is-in-wishlist');\n\n if (!headerWishlist.hasClass('has-wishlist-list')) {\n headerWishlist.addClass('has-wishlist-list');\n }\n\n if (!headerWishlistMobile.hasClass('has-wishlist-list')) {\n headerWishlistMobile.addClass('has-wishlist-list');\n }\n\n if (self.parent('.edit-add-to-wishlist').length) {\n self.closest('.card').find('.add-to-wish-list').each((index, el) => {\n el = $(el);\n const label = el.attr('data-remove-label');\n el.addClass('is-in-wishlist').children('.label').text(label).attr('title', label);\n });\n }\n\n if (self.parents('#size-modal-wishlist').length) {\n $('#size-modal-wishlist .close-modal').trigger('click');\n $('.product-detail .add-to-wish-list').addClass('is-in-wishlist');\n }\n if (breakpoint !== 'large' && breakpoint !== 'xlarge' && breakpoint !== 'xxlarge') {\n if (!$('.add-to-wl-messages').hasClass('show')) {\n var link = $('.add-to-wl-messages').attr('data-href');\n $('.add-to-wl-messages').append(\n `<div class=\"add-to-wl-alert success text-center\" role=\"alert\">\n <a href=\"${link}\">\n ${data.msg}\n </a>\n </div>`\n ).addClass('show');\n\n setTimeout(function () {\n $('.add-to-wl-messages').removeClass('show');\n $('.add-to-wl-alert').remove();\n }, 3500);\n }\n }\n\n let event_action = '';\n let action = $('.js-page').data('action');\n if (action === 'Home-Show') {\n event_action = 'homepage';\n } else if (action === 'Search-Show') {\n event_action = 'category_page';\n } else {\n event_action = (action || action.length >0 ) ? action.split('-')[0].toLowerCase() + '_page' : 'undefined_action';\n }\n // Trigger Goal Event: wishlist_created\n if (data.created) {\n dataLayer.push({\n gaHitType: 'event',\n event: 'goal_event',\n event_category: 'wishlist_created',\n event_action: event_action,\n event_label: pid.replace(/_([^_]*)$/, '|$1', '|$1')\n });\n }\n },\n error: (err) => {\n console.log(err);\n }\n });\n };\n\n const removeWishlist = (u) => {\n $.ajax({\n url: u,\n type: 'get',\n dataType: 'json',\n data: {},\n success: (data) => {\n self.attr('disabled', false).removeClass('is-in-wishlist');\n\n if (data.list.length === 1) {\n headerWishlist.removeClass('has-wishlist-list');\n headerWishlistMobile.removeClass('has-wishlist-list');\n }\n\n if (self.parent('.edit-add-to-wishlist').length) {\n self.closest('.card').find('.add-to-wish-list').each((index, el) => {\n el = $(el);\n const label = el.attr('data-add-label');\n el.removeClass('is-in-wishlist').children('.label').text(label).attr('title', label);\n });\n }\n },\n error: () => {\n document.location.reload();\n }\n });\n };\n\n if (!url || !pid || self.attr('disabled') || self.hasClass('disabled')) {\n return;\n }\n\n if ($('.list-size').length) {\n if ($('.list-size > li.selected').length === 0) {\n if ($('.size-modal-wishlist-button').length) {\n $('.size-modal-wishlist-button').trigger('click');\n } else if ($('.list-size').next('.error-msg').length === 0) {\n const div = $('<div class=\"error-msg\"></div>');\n const errorMsg = $('.variation-attr').attr('data-error-msg');\n div.text(errorMsg).insertAfter('.quick-view-details .list-size');\n }\n } else if (!self.hasClass('is-in-wishlist')) {\n addToWishlistCall(url, pid, optionId, optionVal);\n } else {\n removeWishlist(url);\n }\n } else if (!self.hasClass('is-in-wishlist')) {\n addToWishlistCall(url, pid, optionId, optionVal);\n } else {\n removeWishlist(url);\n }\n });\n }\n}\n\nconst WishlistAdd = new wishlistAdd();\nexport default WishlistAdd;\n\n\n\n// WEBPACK FOOTER //\n// ./assets/scripts/components/wishlist.js","const intlTelInput = require('intl-tel-input');\nconst tomSelect = require('tom-select');\nimport '../../../node_modules/intl-tel-input/build/js/utils.js';\n\nclass PhonePrefixField {\n constructor (wrapper) {\n this.wrapper = $(wrapper);\n try {\n this.phonePrefixObj = JSON.parse(decodeURIComponent(this.wrapper.data('prefixes')));\n }catch (e){\n return;\n }\n this.phonePrefixSelect = this.wrapper.find('.input-phone-prefixes');\n this.phoneInput = this.wrapper.find('.input-phone');\n this.form = this.wrapper.closest('form');\n\n if(this.phonePrefixObj.error) return;\n this.run();\n }\n\n run(){\n this.tomSelectObj = this.initTomSelect(this.phonePrefixSelect);\n this.intlTelInputObj = this.initIntlTelInput(this.phoneInput[0]);\n\n this.cleave = new Cleave(this.phoneInput, {\n phone: true,\n phoneRegionCode: this.findCountryByPrefix(this.phonePrefixObj.selected)\n });\n\n if(this.phoneInput.val() !== '') this.handleChange(null);\n\n this.tomSelectObj.on('change', (e) => this.handleSelectChange(e));\n this.phoneInput.on('input', (e)=>this.handleChange(null, e));\n this.phonePrefixSelect.on('custom:changePrefix', (e, country, silent) => {\n if(!!country && country.length>0) {\n this.tomSelectObj.setValue(country, silent);\n }\n });\n }\n\n initIntlTelInput(telInput){\n let prefixObj = this.phonePrefixObj;\n let selected = this.findCountryByPrefix(prefixObj.selected);\n let settings = {\n allowDropdown: false,\n initialCountry: selected.toLowerCase(),\n nationalMode: true,\n utilsScript: \"../../../node_modules/intl-tel-input/build/js/utils.js?1234567890\",\n separateDialCode: false\n }\n return intlTelInput(telInput, settings);\n }\n\n initTomSelect(select){\n let prefixObj = this.phonePrefixObj;\n let settings = {\n maxItems: 1,\n maxOptions: null,\n valueField: 'value',\n labelField: 'label',\n searchField: ['country', 'label'],\n sortField: 'label',\n options: prefixObj.country,\n create: false,\n placeholder: select.data('searchPlaceholder'),\n plugins: ['dropdown_input'],\n items: [prefixObj.selected]\n };\n return new tomSelect(select, settings);\n }\n handleSelectChange(country){\n this.handleChange(country);\n this.phoneInput.parsley().validate();\n }\n handleChange(country, e){\n let inputPref = this.wrapper.find('[name=inputPhonePrefixes]');\n if(!!country && country.length>0) {\n let selected = this.findCountryByPrefix(country);\n this.intlTelInputObj.setCountry(selected.toLowerCase());\n this.cleave.setPhoneRegionCode(selected);\n inputPref.val(this.tomSelectObj.getValue());\n }\n\n if(this.intlTelInputObj.getNumber() !== ''){\n if(this.intlTelInputObj.isValidNumber()){\n this.phoneInput.attr('data-parsley-phone', 'valid');\n this.phoneInput.parsley().validate();\n }else{\n this.phoneInput.attr('data-parsley-phone', 'invalid');\n }\n } else {\n e && e.stopImmediatePropagation();\n this.phoneInput.parsley().removeError('required', { updateClass: true });\n this.phoneInput.removeClass('is-valid-input');\n this.phoneInput.removeClass('is-invalid-input');\n this.phoneInput.closest('label').removeClass('is-invalid-label');\n }\n }\n\n findCountryByPrefix(country){\n let selected = this.phonePrefixObj.country.find((el)=>{\n return country === el.value;\n });\n return selected.label.substring(0, 2);\n }\n}\n\n\nclass PhonePrefix {\n run () {\n Parsley.addValidator('phone', {\n requirementType: 'string',\n validateString: function(value, requirement) {\n return requirement === 'valid';\n }\n });\n this.wrappers = [];\n let phoneNumberWrapper = $('.phone-number-wrapper');\n if (phoneNumberWrapper.length > 0) {\n [...phoneNumberWrapper].forEach((wrapper) => {\n this.wrappers.push(new PhonePrefixField(wrapper));\n });\n }\n }\n}\n\nconst phonePrefix = new PhonePrefix();\nexport default phonePrefix;\n\n\n\n// WEBPACK FOOTER //\n// ./assets/scripts/components/phonePrefix.js","(function(){/*\n\n Copyright The Closure Library Authors.\n SPDX-License-Identifier: Apache-2.0\n*/\nvar aa=this||self;function k(a,b){a=a.split(\".\");var c=aa;a[0]in c||\"undefined\"==typeof c.execScript||c.execScript(\"var \"+a[0]);for(var d;a.length&&(d=a.shift());)a.length||void 0===b?c[d]&&c[d]!==Object.prototype[d]?c=c[d]:c=c[d]={}:c[d]=b}function m(a,b){function c(){}c.prototype=b.prototype;a.$=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.fa=function(d,e,g){for(var f=Array(arguments.length-2),h=2;h<arguments.length;h++)f[h-2]=arguments[h];return b.prototype[e].apply(d,f)}};function ba(a){var b=[],c=0,d;for(d in a)b[c++]=a[d];return b};function ca(a,b){a.sort(b||da)}function da(a,b){return a>b?1:a<b?-1:0};function ea(a,b){this.g=a;this.m=!!b.o;this.i=b.h;this.v=b.type;this.u=!1;switch(this.i){case fa:case ha:case ia:case ja:case ka:case la:case ma:this.u=!0}this.l=b.defaultValue}var ma=1,la=2,fa=3,ha=4,ia=6,ja=16,ka=18;function na(a,b){this.i=a;this.g={};for(a=0;a<b.length;a++){var c=b[a];this.g[c.g]=c}}function oa(a){a=ba(a.g);ca(a,function(b,c){return b.g-c.g});return a};function n(){this.g={};this.l=this.j().g;this.i=this.m=null}n.prototype.has=function(a){return null!=this.g[a.g]};n.prototype.get=function(a,b){return p(this,a.g,b)};n.prototype.set=function(a,b){q(this,a.g,b)};n.prototype.add=function(a,b){r(this,a.g,b)};\nfunction t(a,b){for(var c=oa(a.j()),d=0;d<c.length;d++){var e=c[d],g=e.g;if(null!=b.g[g]){a.i&&delete a.i[e.g];var f=11==e.i||10==e.i;if(e.m){e=u(b,g);for(var h=0;h<e.length;h++)r(a,g,f?e[h].clone():e[h])}else e=v(b,g),f?(f=v(a,g))?t(f,e):q(a,g,e.clone()):q(a,g,e)}}}n.prototype.clone=function(){var a=new this.constructor;a!=this&&(a.g={},a.i&&(a.i={}),t(a,this));return a};\nfunction v(a,b){var c=a.g[b];if(null==c)return null;if(a.m){if(!(b in a.i)){var d=a.m,e=a.l[b];if(null!=c)if(e.m){for(var g=[],f=0;f<c.length;f++)g[f]=d.i(e,c[f]);c=g}else c=d.i(e,c);return a.i[b]=c}return a.i[b]}return c}function p(a,b,c){var d=v(a,b);return a.l[b].m?d[c||0]:d}function w(a,b){if(null!=a.g[b])a=p(a,b,void 0);else a:{a=a.l[b];if(void 0===a.l)if(b=a.v,b===Boolean)a.l=!1;else if(b===Number)a.l=0;else if(b===String)a.l=a.u?\"0\":\"\";else{a=new b;break a}a=a.l}return a}\nfunction u(a,b){return v(a,b)||[]}function x(a,b){return a.l[b].m?null!=a.g[b]?a.g[b].length:0:null!=a.g[b]?1:0}function q(a,b,c){a.g[b]=c;a.i&&(a.i[b]=c)}function r(a,b,c){a.g[b]||(a.g[b]=[]);a.g[b].push(c);a.i&&delete a.i[b]}function y(a,b){var c=[],d;for(d in b)0!=d&&c.push(new ea(d,b[d]));return new na(a,c)};function A(){}A.prototype.g=function(a){new a.i;throw Error(\"Unimplemented\");};A.prototype.i=function(a,b){if(11==a.i||10==a.i)return b instanceof n?b:this.g(a.v.prototype.j(),b);if(14==a.i)return\"string\"===typeof b&&B.test(b)&&(a=Number(b),0<a)?a:b;if(!a.u)return b;a=a.v;if(a===String){if(\"number\"===typeof b)return String(b)}else if(a===Number&&\"string\"===typeof b&&(\"Infinity\"===b||\"-Infinity\"===b||\"NaN\"===b||B.test(b)))return Number(b);return b};var B=/^-?[0-9]+$/;function C(){}m(C,A);C.prototype.g=function(a,b){a=new a.i;a.m=this;a.g=b;a.i={};return a};function D(){}m(D,C);D.prototype.i=function(a,b){return 8==a.i?!!b:A.prototype.i.apply(this,arguments)};D.prototype.g=function(a,b){return D.$.g.call(this,a,b)};function E(a,b){null!=a&&this.g.apply(this,arguments)}E.prototype.i=\"\";E.prototype.set=function(a){this.i=\"\"+a};E.prototype.g=function(a,b,c){this.i+=String(a);if(null!=b)for(var d=1;d<arguments.length;d++)this.i+=arguments[d];return this};E.prototype.toString=function(){return this.i};/*\n\n Protocol Buffer 2 Copyright 2008 Google Inc.\n All other code copyright its respective owners.\n Copyright (C) 2010 The Libphonenumber Authors\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\nfunction F(){n.call(this)}m(F,n);var pa=null;function G(){n.call(this)}m(G,n);var qa=null;function H(){n.call(this)}m(H,n);var ra=null;\nF.prototype.j=function(){var a=pa;a||(pa=a=y(F,{0:{name:\"NumberFormat\",s:\"i18n.phonenumbers.NumberFormat\"},1:{name:\"pattern\",required:!0,h:9,type:String},2:{name:\"format\",required:!0,h:9,type:String},3:{name:\"leading_digits_pattern\",o:!0,h:9,type:String},4:{name:\"national_prefix_formatting_rule\",h:9,type:String},6:{name:\"national_prefix_optional_when_formatting\",h:8,defaultValue:!1,type:Boolean},5:{name:\"domestic_carrier_code_formatting_rule\",h:9,type:String}}));return a};F.j=F.prototype.j;\nG.prototype.j=function(){var a=qa;a||(qa=a=y(G,{0:{name:\"PhoneNumberDesc\",s:\"i18n.phonenumbers.PhoneNumberDesc\"},2:{name:\"national_number_pattern\",h:9,type:String},9:{name:\"possible_length\",o:!0,h:5,type:Number},10:{name:\"possible_length_local_only\",o:!0,h:5,type:Number},6:{name:\"example_number\",h:9,type:String}}));return a};G.j=G.prototype.j;\nH.prototype.j=function(){var a=ra;a||(ra=a=y(H,{0:{name:\"PhoneMetadata\",s:\"i18n.phonenumbers.PhoneMetadata\"},1:{name:\"general_desc\",h:11,type:G},2:{name:\"fixed_line\",h:11,type:G},3:{name:\"mobile\",h:11,type:G},4:{name:\"toll_free\",h:11,type:G},5:{name:\"premium_rate\",h:11,type:G},6:{name:\"shared_cost\",h:11,type:G},7:{name:\"personal_number\",h:11,type:G},8:{name:\"voip\",h:11,type:G},21:{name:\"pager\",h:11,type:G},25:{name:\"uan\",h:11,type:G},27:{name:\"emergency\",h:11,type:G},28:{name:\"voicemail\",h:11,type:G},\n29:{name:\"short_code\",h:11,type:G},30:{name:\"standard_rate\",h:11,type:G},31:{name:\"carrier_specific\",h:11,type:G},33:{name:\"sms_services\",h:11,type:G},24:{name:\"no_international_dialling\",h:11,type:G},9:{name:\"id\",required:!0,h:9,type:String},10:{name:\"country_code\",h:5,type:Number},11:{name:\"international_prefix\",h:9,type:String},17:{name:\"preferred_international_prefix\",h:9,type:String},12:{name:\"national_prefix\",h:9,type:String},13:{name:\"preferred_extn_prefix\",h:9,type:String},15:{name:\"national_prefix_for_parsing\",\nh:9,type:String},16:{name:\"national_prefix_transform_rule\",h:9,type:String},18:{name:\"same_mobile_and_fixed_line_pattern\",h:8,defaultValue:!1,type:Boolean},19:{name:\"number_format\",o:!0,h:11,type:F},20:{name:\"intl_number_format\",o:!0,h:11,type:F},22:{name:\"main_country_for_code\",h:8,defaultValue:!1,type:Boolean},23:{name:\"leading_digits\",h:9,type:String},26:{name:\"leading_zero_possible\",h:8,defaultValue:!1,type:Boolean}}));return a};H.j=H.prototype.j;function I(){n.call(this)}m(I,n);var sa=null,ta={ea:0,da:1,ca:5,ba:10,aa:20};\nI.prototype.j=function(){var a=sa;a||(sa=a=y(I,{0:{name:\"PhoneNumber\",s:\"i18n.phonenumbers.PhoneNumber\"},1:{name:\"country_code\",required:!0,h:5,type:Number},2:{name:\"national_number\",required:!0,h:4,type:Number},3:{name:\"extension\",h:9,type:String},4:{name:\"italian_leading_zero\",h:8,type:Boolean},8:{name:\"number_of_leading_zeros\",h:5,defaultValue:1,type:Number},5:{name:\"raw_input\",h:9,type:String},6:{name:\"country_code_source\",h:14,defaultValue:0,type:ta},7:{name:\"preferred_domestic_carrier_code\",\nh:9,type:String}}));return a};I.ctor=I;I.ctor.j=I.prototype.j;/*\n\n Copyright (C) 2010 The Libphonenumber Authors\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\nvar J={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\".split(\" \"),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\"],\n86:[\"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\"],\n253:[\"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\"],\n386:[\"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\"],\n691:[\"FM\"],692:[\"MH\"],800:[\"001\"],808:[\"001\"],850:[\"KP\"],852:[\"HK\"],853:[\"MO\"],855:[\"KH\"],856:[\"LA\"],870:[\"001\"],878:[\"001\"],880:[\"BD\"],881:[\"001\"],882:[\"001\"],883:[\"001\"],886:[\"TW\"],888:[\"001\"],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\"],979:[\"001\"],992:[\"TJ\"],993:[\"TM\"],994:[\"AZ\"],995:[\"GE\"],996:[\"KG\"],998:[\"UZ\"]},va={AC:[,[,,\"(?:[01589]\\\\d|[46])\\\\d{4}\",\n,,,,,,[5,6]],[,,\"6[2-467]\\\\d{3}\",,,,\"62889\",,,[5]],[,,\"4\\\\d{4}\",,,,\"40123\",,,[5]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"AC\",247,\"00\",,,,,,,,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"(?:0[1-9]|[1589]\\\\d)\\\\d{4}\",,,,\"542011\",,,[6]],,,[,,,,,,,,,[-1]]],AD:[,[,,\"(?:1|6\\\\d)\\\\d{7}|[135-9]\\\\d{5}\",,,,,,,[6,8,9]],[,,\"[78]\\\\d{5}\",,,,\"712345\",,,[6]],[,,\"690\\\\d{6}|[356]\\\\d{5}\",,,,\"312345\",,,[6,9]],[,,\"180[02]\\\\d{4}\",,,,\"18001234\",,,[8]],[,,\"[19]\\\\d{5}\",,,,\"912345\",,,[6]],\n[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"AD\",376,\"00\",,,,,,,,[[,\"(\\\\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\"]]],,[,,,,,,,,,[-1]],,,[,,\"1800\\\\d{4}\",,,,,,,[8]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AE:[,[,,\"(?:[4-7]\\\\d|9[0-689])\\\\d{7}|800\\\\d{2,9}|[2-4679]\\\\d{7}\",,,,,,,[5,6,7,8,9,10,11,12]],[,,\"[2-4679][2-8]\\\\d{6}\",,,,\"22345678\",,,[8],[7]],[,,\"5[024-68]\\\\d{7}\",,,,\"501234567\",,,[9]],[,,\"400\\\\d{6}|800\\\\d{2,9}\",,,,\"800123456\"],\n[,,\"900[02]\\\\d{5}\",,,,\"900234567\",,,[9]],[,,\"700[05]\\\\d{5}\",,,,\"700012345\",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"AE\",971,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\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\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"600[25]\\\\d{5}\",,,,\"600212345\",,,[9]],,,[,,,,,,,,,[-1]]],AF:[,[,,\"[2-7]\\\\d{8}\",,,,,,,[9],[7]],[,,\"(?:[25][0-8]|[34][0-4]|6[0-5])[2-9]\\\\d{6}\",\n,,,\"234567890\",,,,[7]],[,,\"7\\\\d{8}\",,,,\"701234567\",,,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"AF\",93,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[1-9]\"]],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-7]\"],\"0$1\"]],[[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-7]\"],\"0$1\"]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AG:[,[,,\"(?:268|[58]\\\\d\\\\d|900)\\\\d{7}\",,,,,,,[10],[7]],[,,\"268(?:4(?:6[0-38]|84)|56[0-2])\\\\d{4}\",,,,\"2684601234\",\n,,,[7]],[,,\"268(?:464|7(?:1[3-9]|[28]\\\\d|3[0246]|64|7[0-689]))\\\\d{4}\",,,,\"2684641234\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002123456\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002123456\"],[,,,,,,,,,[-1]],[,,\"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[12]|33|44|66|77|88)[2-9]\\\\d{6}\",,,,\"5002345678\"],[,,\"26848[01]\\\\d{4}\",,,,\"2684801234\",,,,[7]],\n\"AG\",1,\"011\",\"1\",,,\"1|([457]\\\\d{6})$\",\"268$1\",,,,,[,,\"26840[69]\\\\d{4}\",,,,\"2684061234\",,,,[7]],,\"268\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AI:[,[,,\"(?:264|[58]\\\\d\\\\d|900)\\\\d{7}\",,,,,,,[10],[7]],[,,\"264(?:292|4(?:6[12]|9[78]))\\\\d{4}\",,,,\"2644612345\",,,,[7]],[,,\"264(?:235|4(?:69|76)|5(?:3[6-9]|8[1-4])|7(?:29|72))\\\\d{4}\",,,,\"2642351234\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002123456\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002123456\"],[,,,,,,,,,[-1]],[,,\"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[12]|33|44|66|77|88)[2-9]\\\\d{6}\",\n,,,\"5002345678\"],[,,,,,,,,,[-1]],\"AI\",1,\"011\",\"1\",,,\"1|([2457]\\\\d{6})$\",\"264$1\",,,,,[,,\"264724\\\\d{4}\",,,,\"2647241234\",,,,[7]],,\"264\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AL:[,[,,\"(?:700\\\\d\\\\d|900)\\\\d{3}|8\\\\d{5,7}|(?:[2-5]|6\\\\d)\\\\d{7}\",,,,,,,[6,7,8,9],[5]],[,,\"4505[0-2]\\\\d{3}|(?:[2358][16-9]\\\\d[2-9]|4410)\\\\d{4}|(?:[2358][2-5][2-9]|4(?:[2-57-9][2-9]|6\\\\d))\\\\d{5}\",,,,\"22345678\",,,[8],[5,6,7]],[,,\"6(?:[78][2-9]|9\\\\d)\\\\d{6}\",,,,\"672123456\",,,[9]],[,,\"800\\\\d{4}\",,,,\"8001234\",,,[7]],[,,\"900[1-9]\\\\d\\\\d\",\n,,,\"900123\",,,[6]],[,,\"808[1-9]\\\\d\\\\d\",,,,\"808123\",,,[6]],[,,\"700[2-9]\\\\d{4}\",,,,\"70021234\",,,[8]],[,,,,,,,,,[-1]],\"AL\",355,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\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\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AM:[,[,,\"(?:[1-489]\\\\d|55|60|77)\\\\d{6}\",\n,,,,,,[8],[5,6]],[,,\"(?:(?:1[0-25]|47)\\\\d|2(?:2[2-46]|3[1-8]|4[2-69]|5[2-7]|6[1-9]|8[1-7])|3[12]2)\\\\d{5}\",,,,\"10123456\",,,,[5,6]],[,,\"(?:33|4[1349]|55|77|88|9[13-9])\\\\d{6}\",,,,\"77123456\"],[,,\"800\\\\d{5}\",,,,\"80012345\"],[,,\"90[016]\\\\d{5}\",,,,\"90012345\"],[,,\"80[1-4]\\\\d{5}\",,,,\"80112345\"],[,,,,,,,,,[-1]],[,,\"60(?:2[78]|3[5-9]|4[02-9]|5[0-46-9]|[6-8]\\\\d|9[01])\\\\d{4}\",,,,\"60271234\"],\"AM\",374,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]0\"],\"0 $1\"],[,\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"2|3[12]\"],\n\"(0$1)\"],[,\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"1|47\"],\"(0$1)\"],[,\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[3-9]\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AO:[,[,,\"[29]\\\\d{8}\",,,,,,,[9]],[,,\"2\\\\d(?:[0134][25-9]|[25-9]\\\\d)\\\\d{5}\",,,,\"222123456\"],[,,\"9[1-49]\\\\d{7}\",,,,\"923123456\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"AO\",244,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[29]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\n,,[,,,,,,,,,[-1]]],AR:[,[,,\"(?:11|[89]\\\\d\\\\d)\\\\d{8}|[2368]\\\\d{9}\",,,,,,,[10,11],[6,7,8]],[,,\"3888[013-9]\\\\d{5}|(?:29(?:54|66)|3(?:777|865))[2-8]\\\\d{5}|3(?:7(?:1[15]|81)|8(?:21|4[16]|69|9[12]))[46]\\\\d{5}|(?:2(?:2(?:2[59]|44|52)|3(?:26|44)|473|9(?:[07]2|2[26]|34|46))|3327)[45]\\\\d{5}|(?:2(?:284|302|657|920)|3(?:4(?:8[27]|92)|541|755|878))[2-7]\\\\d{5}|(?:2(?:(?:26|62)2|32[03]|477|9(?:42|83))|3(?:329|4(?:[47]6|62|89)|564))[2-6]\\\\d{5}|(?:(?:11[1-8]|670)\\\\d|2(?:2(?:0[45]|1[2-6]|3[3-6])|3(?:[06]4|7[45])|494|6(?:04|1[2-8]|[36][45]|4[3-6])|80[45]|9(?:[17][4-6]|[48][45]|9[3-6]))|3(?:364|4(?:1[2-7]|[235][4-6]|84)|5(?:1[2-8]|[38][4-6])|6(?:2[45]|44)|7[069][45]|8(?:[03][45]|[17][2-6]|[58][3-6])))\\\\d{6}|2(?:2(?:21|4[23]|6[145]|7[1-4]|8[356]|9[267])|3(?:16|3[13-8]|43|5[346-8]|9[3-5])|475|6(?:2[46]|4[78]|5[1568])|9(?:03|2[1457-9]|3[1356]|4[08]|[56][23]|82))4\\\\d{5}|(?:2(?:2(?:57|81)|3(?:24|46|92)|9(?:01|23|64))|3(?:4(?:42|71)|5(?:25|37|4[347]|71)|7(?:18|5[17])))[3-6]\\\\d{5}|(?:2(?:2(?:02|2[3467]|4[156]|5[45]|6[6-8]|91)|3(?:1[47]|25|[45][25]|96)|47[48]|625|932)|3(?:38[2578]|4(?:0[0-24-9]|3[78]|4[457]|58|6[03-9]|72|83|9[136-8])|5(?:2[124]|[368][23]|4[2689]|7[2-6])|7(?:16|2[15]|3[145]|4[13]|5[468]|7[2-5]|8[26])|8(?:2[5-7]|3[278]|4[3-5]|5[78]|6[1-378]|[78]7|94)))[4-6]\\\\d{5}\",\n,,,\"1123456789\",,,[10],[6,7,8]],[,,\"93888[013-9]\\\\d{5}|9(?:29(?:54|66)|3(?:777|865))[2-8]\\\\d{5}|93(?:7(?:1[15]|81)|8(?:21|4[16]|69|9[12]))[46]\\\\d{5}|9(?:2(?:2(?:2[59]|44|52)|3(?:26|44)|473|9(?:[07]2|2[26]|34|46))|3327)[45]\\\\d{5}|9(?:2(?:284|302|657|920)|3(?:4(?:8[27]|92)|541|755|878))[2-7]\\\\d{5}|9(?:2(?:(?:26|62)2|32[03]|477|9(?:42|83))|3(?:329|4(?:[47]6|62|89)|564))[2-6]\\\\d{5}|(?:675\\\\d|9(?:11[1-8]\\\\d|2(?:2(?:0[45]|1[2-6]|3[3-6])|3(?:[06]4|7[45])|494|6(?:04|1[2-8]|[36][45]|4[3-6])|80[45]|9(?:[17][4-6]|[48][45]|9[3-6]))|3(?:364|4(?:1[2-7]|[235][4-6]|84)|5(?:1[2-8]|[38][4-6])|6(?:2[45]|44)|7[069][45]|8(?:[03][45]|[17][2-6]|[58][3-6]))))\\\\d{6}|92(?:2(?:21|4[23]|6[145]|7[1-4]|8[356]|9[267])|3(?:16|3[13-8]|43|5[346-8]|9[3-5])|475|6(?:2[46]|4[78]|5[1568])|9(?:03|2[1457-9]|3[1356]|4[08]|[56][23]|82))4\\\\d{5}|9(?:2(?:2(?:57|81)|3(?:24|46|92)|9(?:01|23|64))|3(?:4(?:42|71)|5(?:25|37|4[347]|71)|7(?:18|5[17])))[3-6]\\\\d{5}|9(?:2(?:2(?:02|2[3467]|4[156]|5[45]|6[6-8]|91)|3(?:1[47]|25|[45][25]|96)|47[48]|625|932)|3(?:38[2578]|4(?:0[0-24-9]|3[78]|4[457]|58|6[03-9]|72|83|9[136-8])|5(?:2[124]|[368][23]|4[2689]|7[2-6])|7(?:16|2[15]|3[145]|4[13]|5[468]|7[2-5]|8[26])|8(?:2[5-7]|3[278]|4[3-5]|5[78]|6[1-378]|[78]7|94)))[4-6]\\\\d{5}\",\n,,,\"91123456789\",,,,[6,7,8]],[,,\"800\\\\d{7,8}\",,,,\"8001234567\"],[,,\"60[04579]\\\\d{7}\",,,,\"6001234567\",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"AR\",54,\"00\",\"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)?\",\n\"9$1\",,,[[,\"(\\\\d{3})\",\"$1\",[\"0|1(?:0[0-35-7]|1[02-5]|2[015]|3[47]|4[478])|911\"]],[,\"(\\\\d{2})(\\\\d{4})\",\"$1-$2\",[\"[1-9]\"]],[,\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[2-8]\"]],[,\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"[1-8]\"]],[,\"(\\\\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)\",\n\"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]\"],\n\"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)\",\n\"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]\"],\n\"0$1\"],[,\"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$2 15-$3-$4\",[\"91\"],\"0$1\"],[,\"(\\\\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\"]],[[,\"(\\\\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)\",\n\"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]\"],\n\"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})\",\"$1 $2 $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)\",\n\"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]\"]],\n[,\"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3-$4\",[\"91\"]],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\",\"$1-$2-$3\",[\"8\"],\"0$1\"],[,\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3-$4\",[\"9\"]]],[,,,,,,,,,[-1]],,,[,,\"810\\\\d{7}\",,,,,,,[10]],[,,\"810\\\\d{7}\",,,,\"8101234567\",,,[10]],,,[,,,,,,,,,[-1]]],AS:[,[,,\"(?:[58]\\\\d\\\\d|684|900)\\\\d{7}\",,,,,,,[10],[7]],[,,\"6846(?:22|33|44|55|77|88|9[19])\\\\d{4}\",,,,\"6846221234\",,,,[7]],[,,\"684(?:2(?:48|5[2468]|72)|7(?:3[13]|70|82))\\\\d{4}\",,,,\"6847331234\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",\n,,,\"8002123456\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002123456\"],[,,,,,,,,,[-1]],[,,\"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[12]|33|44|66|77|88)[2-9]\\\\d{6}\",,,,\"5002345678\"],[,,,,,,,,,[-1]],\"AS\",1,\"011\",\"1\",,,\"1|([267]\\\\d{6})$\",\"684$1\",,,,,[,,,,,,,,,[-1]],,\"684\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AT:[,[,,\"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}\",\n,,,,,,[4,5,6,7,8,9,10,11,12,13],[3]],[,,\"1(?:11\\\\d|[2-9]\\\\d{3,11})|(?:316|463|(?:51|66|73)2)\\\\d{3,10}|(?:2(?:1[467]|2[13-8]|5[2357]|6[1-46-8]|7[1-8]|8[124-7]|9[1458])|3(?:1[1-578]|3[23568]|4[5-7]|5[1378]|6[1-38]|8[3-68])|4(?:2[1-8]|35|7[1368]|8[2457])|5(?:2[1-8]|3[357]|4[147]|5[12578]|6[37])|6(?:13|2[1-47]|4[135-8]|5[468])|7(?:2[1-8]|35|4[13478]|5[68]|6[16-8]|7[1-6]|9[45]))\\\\d{4,10}\",,,,\"1234567890\",,,,[3]],[,,\"6(?:5[0-3579]|6[013-9]|[7-9]\\\\d)\\\\d{4,10}\",,,,\"664123456\",,,[7,8,9,10,11,12,13]],[,,\"800\\\\d{6,10}\",\n,,,\"800123456\",,,[9,10,11,12,13]],[,,\"(?:8[69][2-68]|9(?:0[01]|3[019]))\\\\d{6,10}\",,,,\"900123456\",,,[9,10,11,12,13]],[,,\"8(?:10|2[018])\\\\d{6,10}|828\\\\d{5}\",,,,\"810123456\",,,[8,9,10,11,12,13]],[,,,,,,,,,[-1]],[,,\"5(?:0[1-9]|17|[79]\\\\d)\\\\d{2,10}|7[28]0\\\\d{6,10}\",,,,\"780123456\",,,[5,6,7,8,9,10,11,12,13]],\"AT\",43,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\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{6})\",\"$1\",[\"1\"]],\n[,\"(\\\\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\"]],[[,\"(\\\\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\"],\n[,\"(\\\\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\"]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AU:[,[,,\"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]],[,,\"(?:(?: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}\",\n,,,\"212345678\",,,[9],[8]],[,,\"4(?:83[0-38]|93[0-6])\\\\d{5}|4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-24-9]|9[0-27-9])\\\\d{6}\",,,,\"412345678\",,,[9]],[,,\"180(?:0\\\\d{3}|2)\\\\d{3}\",,,,\"1800123456\",,,[7,10]],[,,\"190[0-26]\\\\d{6}\",,,,\"1900123456\",,,[10]],[,,\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\",,,,\"1300123456\",,,[6,8,10,12]],[,,,,,,,,,[-1]],[,,\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\",,,,\"147101234\",,,[9]],\"AU\",61,\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"0\",,,\"0|(183[12])\",\n,\"0011\",,[[,\"(\\\\d{2})(\\\\d{3,4})\",\"$1 $2\",[\"16\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"13\"]],[,\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"19\"]],[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"180\",\"1802\"]],[,\"(\\\\d{4})(\\\\d{3,4})\",\"$1 $2\",[\"19\"]],[,\"(\\\\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)\",\"$CC ($1)\"],[,\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1(?:30|[89])\"]],[,\"(\\\\d{4})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",\n[\"130\"]]],[[,\"(\\\\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)\",\"$CC ($1)\"],[,\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1(?:30|[89])\"]]],[,,\"163\\\\d{2,6}\",,,,\"1631234\",,,[5,6,7,8,9]],1,,[,,\"1(?:3(?:00\\\\d{5}|45[0-4])|802)\\\\d{3}|1[38]00\\\\d{6}|13\\\\d{4}\",,,,,,,[6,7,8,10,12]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AW:[,[,,\"(?:[25-79]\\\\d\\\\d|800)\\\\d{4}\",\n,,,,,,[7]],[,,\"5(?:2\\\\d|8[1-9])\\\\d{4}\",,,,\"5212345\"],[,,\"(?:290|5[69]\\\\d|6(?:[03]0|22|4[0-2]|[69]\\\\d)|7(?:[34]\\\\d|7[07])|9(?:6[45]|9[4-8]))\\\\d{4}\",,,,\"5601234\"],[,,\"800\\\\d{4}\",,,,\"8001234\"],[,,\"900\\\\d{4}\",,,,\"9001234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"(?:28\\\\d|501)\\\\d{4}\",,,,\"5011234\"],\"AW\",297,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[25-9]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AX:[,[,,\"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}\",\n,,,,,,[5,6,7,8,9,10,11,12]],[,,\"18[1-8]\\\\d{3,6}\",,,,\"181234567\",,,[6,7,8,9]],[,,\"4946\\\\d{2,6}|(?:4[0-8]|50)\\\\d{4,8}\",,,,\"412345678\",,,[6,7,8,9,10]],[,,\"800\\\\d{4,6}\",,,,\"800123456\",,,[7,8,9]],[,,\"[67]00\\\\d{5,6}\",,,,\"600123456\",,,[8,9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"AX\",358,\"00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))\",\"0\",,,\"0\",,\"00\",,,,[,,,,,,,,,[-1]],,\"18\",[,,,,,,,,,[-1]],[,,\"20\\\\d{4,8}|60[12]\\\\d{5,6}|7(?:099\\\\d{4,5}|5[03-9]\\\\d{3,7})|20[2-59]\\\\d\\\\d|(?:606|7(?:0[78]|1|3\\\\d))\\\\d{7}|(?:10|29|3[09]|70[1-5]\\\\d)\\\\d{4,8}\",\n,,,\"10112345\"],,,[,,,,,,,,,[-1]]],AZ:[,[,,\"365\\\\d{6}|(?:[124579]\\\\d|60|88)\\\\d{7}\",,,,,,,[9],[7]],[,,\"(?:2[12]428|3655[02])\\\\d{4}|(?:2(?:22[0-79]|63[0-28])|3654)\\\\d{5}|(?:(?:1[28]|46)\\\\d|2(?:[014-6]2|[23]3))\\\\d{6}\",,,,\"123123456\",,,,[7]],[,,\"36554\\\\d{4}|(?:[16]0|4[04]|5[015]|7[07]|99)\\\\d{7}\",,,,\"401234567\"],[,,\"88\\\\d{7}\",,,,\"881234567\"],[,,\"900200\\\\d{3}\",,,,\"900200123\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"AZ\",994,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[1-9]\"]],[,\n\"(\\\\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\"]],[[,\"(\\\\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\",\n[\"[13-9]\"],\"0$1\"]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BA:[,[,,\"6\\\\d{8}|(?:[35689]\\\\d|49|70)\\\\d{6}\",,,,,,,[8,9],[6]],[,,\"(?:3(?:[05-79][2-9]|1[4579]|[23][24-9]|4[2-4689]|8[2457-9])|49[2-579]|5(?:0[2-49]|[13][2-9]|[268][2-4679]|4[4689]|5[2-79]|7[2-69]|9[2-4689]))\\\\d{5}\",,,,\"30212345\",,,[8],[6]],[,,\"6040\\\\d{5}|6(?:03|[1-356]|44|7\\\\d)\\\\d{6}\",,,,\"61123456\"],[,,\"8[08]\\\\d{6}\",,,,\"80123456\",,,[8]],[,,\"9[0246]\\\\d{6}\",,,,\"90123456\",,,[8]],[,,\"8[12]\\\\d{6}\",,,,\"82123456\",,,[8]],\n[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"BA\",387,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{3})(\\\\d{3})\",\"$1-$2\",[\"[2-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\"]],[[,\"(\\\\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\"]],[,,,,,,,,,[-1]],\n,,[,,,,,,,,,[-1]],[,,\"703[235]0\\\\d{3}|70(?:2[0-5]|3[0146]|[56]0)\\\\d{4}\",,,,\"70341234\",,,[8]],,,[,,,,,,,,,[-1]]],BB:[,[,,\"(?:246|[58]\\\\d\\\\d|900)\\\\d{7}\",,,,,,,[10],[7]],[,,\"246(?:2(?:2[78]|7[0-4])|4(?:1[024-6]|2\\\\d|3[2-9])|5(?:20|[34]\\\\d|54|7[1-3])|6(?:2\\\\d|38)|7[35]7|9(?:1[89]|63))\\\\d{4}\",,,,\"2464123456\",,,,[7]],[,,\"246(?:2(?:[3568]\\\\d|4[0-57-9])|45\\\\d|69[5-7]|8(?:[2-5]\\\\d|83))\\\\d{4}\",,,,\"2462501234\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002123456\"],[,,\"(?:246976|900[2-9]\\\\d\\\\d)\\\\d{4}\",\n,,,\"9002123456\",,,,[7]],[,,,,,,,,,[-1]],[,,\"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[12]|33|44|66|77|88)[2-9]\\\\d{6}\",,,,\"5002345678\"],[,,\"24631\\\\d{5}\",,,,\"2463101234\",,,,[7]],\"BB\",1,\"011\",\"1\",,,\"1|([2-9]\\\\d{6})$\",\"246$1\",,,,,[,,,,,,,,,[-1]],,\"246\",[,,,,,,,,,[-1]],[,,\"246(?:292|367|4(?:1[7-9]|3[01]|44|67)|7(?:36|53))\\\\d{4}\",,,,\"2464301234\",,,,\n[7]],,,[,,,,,,,,,[-1]]],BD:[,[,,\"[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]],[,,\"(?:4(?:31\\\\d\\\\d|423)|5222)\\\\d{3}(?:\\\\d{2})?|8332[6-9]\\\\d\\\\d|(?:3(?:03[56]|224)|4(?:22[25]|653))\\\\d{3,4}|(?:3(?:42[47]|529|823)|4(?:027|525|65(?:28|8))|562|6257|7(?:1(?:5[3-5]|6[12]|7[156]|89)|22[589]56|32|42675|52(?:[25689](?:56|8)|[347]8)|71(?:6[1267]|75|89)|92374)|82(?:2[59]|32)56|9(?:03[23]56|23(?:256|373)|31|5(?:1|2[4589]56)))\\\\d{3}|(?:3(?:02[348]|22[35]|324|422)|4(?:22[67]|32[236-9]|6(?:2[46]|5[57])|953)|5526|6(?:024|6655)|81)\\\\d{4,5}|(?:2(?:7(?:1[0-267]|2[0-289]|3[0-29]|4[01]|5[1-3]|6[013]|7[0178]|91)|8(?:0[125]|1[1-6]|2[0157-9]|3[1-69]|41|6[1-35]|7[1-5]|8[1-8]|9[0-6])|9(?:0[0-2]|1[0-4]|2[568]|3[3-6]|5[5-7]|6[0136-9]|7[0-7]|8[014-9]))|3(?:0(?:2[025-79]|3[2-4])|181|22[12]|32[2356]|824)|4(?:02[09]|22[348]|32[045]|523|6(?:27|54))|666(?:22|53)|7(?:22[57-9]|42[56]|82[35])8|8(?:0[124-9]|2(?:181|2[02-4679]8)|4[12]|[5-7]2)|9(?:[04]2|2(?:2|328)|81))\\\\d{4}|(?:2(?:222|[45]\\\\d)\\\\d|3(?:1(?:2[5-7]|[5-7])|425|822)|4(?:033|1\\\\d|[257]1|332|4(?:2[246]|5[25])|6(?:2[35]|56|62)|8(?:23|54)|92[2-5])|5(?:02[03489]|22[457]|32[35-79]|42[46]|6(?:[18]|53)|724|826)|6(?:023|2(?:2[2-5]|5[3-5]|8)|32[3478]|42[34]|52[47]|6(?:[18]|6(?:2[34]|5[24]))|[78]2[2-5]|92[2-6])|7(?:02|21\\\\d|[3-589]1|6[12]|72[24])|8(?:217|3[12]|[5-7]1)|9[24]1)\\\\d{5}|(?:(?:3[2-8]|5[2-57-9]|6[03-589])1|4[4689][18])\\\\d{5}|[59]1\\\\d{5}\",\n,,,\"27111234\"],[,,\"(?:1[13-9]\\\\d|644)\\\\d{7}|(?:3[78]|44|66)[02-9]\\\\d{7}\",,,,\"1812345678\",,,[10]],[,,\"80[03]\\\\d{7}\",,,,\"8001234567\",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"96(?:0[469]|1[0-47]|3[389]|6[69]|7[78])\\\\d{6}\",,,,\"9604123456\",,,[10]],\"BD\",880,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\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]\"],\n\"0$1\"],[,\"(\\\\d{4})(\\\\d{3,6})\",\"$1-$2\",[\"[13-9]|22\"],\"0$1\"],[,\"(\\\\d)(\\\\d{7,8})\",\"$1-$2\",[\"2\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BE:[,[,,\"4\\\\d{8}|[1-9]\\\\d{7}\",,,,,,,[8,9]],[,,\"80[2-8]\\\\d{5}|(?:1[0-69]|[23][2-8]|4[23]|5\\\\d|6[013-57-9]|71|8[1-79]|9[2-4])\\\\d{6}\",,,,\"12345678\",,,[8]],[,,\"4[5-9]\\\\d{7}\",,,,\"470123456\",,,[9]],[,,\"800[1-9]\\\\d{4}\",,,,\"80012345\",,,[8]],[,,\"(?:70(?:2[0-57]|3[04-7]|44|69|7[0579])|90(?:0[0-8]|1[36]|2[0-3568]|3[013-689]|[47][2-68]|5[1-68]|6[0-378]|9[34679]))\\\\d{4}\",\n,,,\"90012345\",,,[8]],[,,\"7879\\\\d{4}\",,,,\"78791234\",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"BE\",32,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\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\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"78(?:0[57]|1[0458]|2[25]|3[15-8]|48|[56]0|7[078]|9\\\\d)\\\\d{4}\",,,,\"78102345\",,,[8]],\n,,[,,,,,,,,,[-1]]],BF:[,[,,\"[025-7]\\\\d{7}\",,,,,,,[8]],[,,\"2(?:0(?:49|5[23]|6[56]|9[016-9])|4(?:4[569]|5[4-6]|6[56]|7[0179])|5(?:[34]\\\\d|50|6[5-7]))\\\\d{4}\",,,,\"20491234\"],[,,\"(?:0[1267]|5[1-8]|[67]\\\\d)\\\\d{6}\",,,,\"70123456\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"BF\",226,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[025-7]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BG:[,[,,\"[2-7]\\\\d{6,7}|[89]\\\\d{6,8}|2\\\\d{5}\",\n,,,,,,[6,7,8,9],[4,5]],[,,\"2\\\\d{5,7}|(?:43[1-6]|70[1-9])\\\\d{4,5}|(?:[36]\\\\d|4[124-7]|[57][1-9]|8[1-6]|9[1-7])\\\\d{5,6}\",,,,\"2123456\",,,[6,7,8],[4,5]],[,,\"43[07-9]\\\\d{5}|(?:48|8[7-9]\\\\d|9(?:8\\\\d|9[69]))\\\\d{6}\",,,,\"48123456\",,,[8,9]],[,,\"800\\\\d{5}\",,,,\"80012345\",,,[8]],[,,\"90\\\\d{6}\",,,,\"90123456\",,,[8]],[,,\"700\\\\d{5}\",,,,\"70012345\",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"BG\",359,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{6})\",\"$1\",[\"1\"]],[,\"(\\\\d)(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"2\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{4})\",\n\"$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\"]],[[,\"(\\\\d)(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"2\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",\n[\"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\"]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BH:[,[,,\"[136-9]\\\\d{7}\",\n,,,,,,[8]],[,,\"(?:1(?:3[1356]|6[0156]|7\\\\d)\\\\d|6(?:1[16]\\\\d|500|6(?:0\\\\d|3[12]|44|7[7-9]|88)|9[69][69])|7(?:1(?:11|78)|7\\\\d\\\\d))\\\\d{4}\",,,,\"17001234\"],[,,\"(?:3(?:[1-79]\\\\d|8[0-47-9])\\\\d|6(?:3(?:00|33|6[16])|6(?:3[03-9]|[69]\\\\d|7[0-6])))\\\\d{4}\",,,,\"36001234\"],[,,\"80\\\\d{6}\",,,,\"80123456\"],[,,\"(?:87|9[014578])\\\\d{6}\",,,,\"90123456\"],[,,\"84\\\\d{6}\",,,,\"84123456\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"BH\",973,\"00\",,,,,,,,[[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[13679]|8[047]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,\n,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BI:[,[,,\"(?:[267]\\\\d|31)\\\\d{6}\",,,,,,,[8]],[,,\"22\\\\d{6}\",,,,\"22201234\"],[,,\"(?:29|31|6[1257-9]|7[125-9])\\\\d{6}\",,,,\"79561234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"BI\",257,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2367]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BJ:[,[,,\"[25689]\\\\d{7}\",,,,,,,[8]],[,,\"2(?:02|1[037]|2[45]|3[68])\\\\d{5}\",,,,\"20211234\"],[,,\"(?:5[1-35-8]|6\\\\d|9[013-9])\\\\d{6}\",\n,,,\"90011234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"857[58]\\\\d{4}\",,,,\"85751234\"],\"BJ\",229,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[25689]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"81\\\\d{6}\",,,,\"81123456\"],,,[,,,,,,,,,[-1]]],BL:[,[,,\"(?:590|(?:69|80)\\\\d|976)\\\\d{6}\",,,,,,,[9]],[,,\"590(?:2[7-9]|5[12]|87)\\\\d{4}\",,,,\"590271234\"],[,,\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5]))\\\\d{4}\",,,,\"690001234\"],[,,\"80[0-5]\\\\d{6}\",,,,\"800012345\"],[,,,,,,,,,[-1]],[,,,,\n,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"976[01]\\\\d{5}\",,,,\"976012345\"],\"BL\",590,\"00\",\"0\",,,\"0\",,,,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BM:[,[,,\"(?:441|[58]\\\\d\\\\d|900)\\\\d{7}\",,,,,,,[10],[7]],[,,\"441(?:[46]\\\\d\\\\d|5(?:4\\\\d|60|89))\\\\d{4}\",,,,\"4414123456\",,,,[7]],[,,\"441(?:[2378]\\\\d|5[0-39])\\\\d{5}\",,,,\"4413701234\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002123456\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002123456\"],[,,,,,,,,,[-1]],[,,\"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[12]|33|44|66|77|88)[2-9]\\\\d{6}\",\n,,,\"5002345678\"],[,,,,,,,,,[-1]],\"BM\",1,\"011\",\"1\",,,\"1|([2-8]\\\\d{6})$\",\"441$1\",,,,,[,,,,,,,,,[-1]],,\"441\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BN:[,[,,\"[2-578]\\\\d{6}\",,,,,,,[7]],[,,\"22[0-7]\\\\d{4}|(?:2[013-9]|[34]\\\\d|5[0-25-9])\\\\d{5}\",,,,\"2345678\"],[,,\"(?:22[89]|[78]\\\\d\\\\d)\\\\d{4}\",,,,\"7123456\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"5[34]\\\\d{5}\",,,,\"5345678\"],\"BN\",673,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-578]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],\n[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BO:[,[,,\"(?:[2-467]\\\\d\\\\d|8001)\\\\d{5}\",,,,,,,[8,9],[7]],[,,\"(?:2(?:2\\\\d\\\\d|5(?:11|[258]\\\\d|9[67])|6(?:12|2\\\\d|9[34])|8(?:2[34]|39|62))|3(?:3\\\\d\\\\d|4(?:6\\\\d|8[24])|8(?:25|42|5[257]|86|9[25])|9(?:[27]\\\\d|3[2-4]|4[248]|5[24]|6[2-6]))|4(?:4\\\\d\\\\d|6(?:11|[24689]\\\\d|72)))\\\\d{4}\",,,,\"22123456\",,,[8],[7]],[,,\"[67]\\\\d{7}\",,,,\"71234567\",,,[8]],[,,\"8001[07]\\\\d{4}\",,,,\"800171234\",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"BO\",591,\"00(?:1\\\\d)?\",\"0\",\n,,\"0(1\\\\d)?\",,,,[[,\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"[23]|4[46]\"],,\"0$CC $1\"],[,\"(\\\\d{8})\",\"$1\",[\"[67]\"],,\"0$CC $1\"],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"],,\"0$CC $1\"]],,[,,,,,,,,,[-1]],,,[,,\"8001[07]\\\\d{4}\",,,,,,,[9]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BQ:[,[,,\"(?:[34]1|7\\\\d)\\\\d{5}\",,,,,,,[7]],[,,\"(?:318[023]|41(?:6[023]|70)|7(?:1[578]|2[05]|50)\\\\d)\\\\d{3}\",,,,\"7151234\"],[,,\"(?:31(?:8[14-8]|9[14578])|416[14-9]|7(?:0[01]|7[07]|8\\\\d|9[056])\\\\d)\\\\d{3}\",,,,\"3181234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,\n,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"BQ\",599,\"00\",,,,,,,,,,[,,,,,,,,,[-1]],,\"[347]\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BR:[,[,,\"(?:[1-46-9]\\\\d\\\\d|5(?:[0-46-9]\\\\d|5[0-24679]))\\\\d{8}|[1-9]\\\\d{9}|[3589]\\\\d{8}|[34]\\\\d{7}\",,,,,,,[8,9,10,11]],[,,\"(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-5]\\\\d{7}\",,,,\"1123456789\",,,[10],[8]],[,,\"(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])(?:7|9\\\\d)\\\\d{7}\",,,,\"11961234567\",,,[10,11],[8,9]],[,,\"800\\\\d{6,7}\",,,,\"800123456\",,\n,[9,10]],[,,\"300\\\\d{6}|[59]00\\\\d{6,7}\",,,,\"300123456\",,,[9,10]],[,,\"300\\\\d{7}|[34]00\\\\d{5}|4(?:02|37)0\\\\d{4}\",,,,\"40041234\",,,[8,10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"BR\",55,\"00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)\",\"0\",,,\"(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\\\d{10,11}))?\",\"$2\",,,[[,\"(\\\\d{3,6})\",\"$1\",[\"1(?:1[25-8]|2[357-9]|3[02-68]|4[12568]|5|6[0-8]|8[015]|9[0-47-9])|321|610\"]],[,\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"300|4(?:0[02]|37)\",\"4(?:02|37)0|[34]00\"]],[,\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"[2-57]\",\n\"[2357]|4(?:[0-24-9]|3(?:[0-689]|7[1-9]))\"]],[,\"(\\\\d{3})(\\\\d{2,3})(\\\\d{4})\",\"$1 $2 $3\",[\"(?:[358]|90)0\"],\"0$1\"],[,\"(\\\\d{5})(\\\\d{4})\",\"$1-$2\",[\"9\"]],[,\"(\\\\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)\",\"0 $CC ($1)\"],[,\"(\\\\d{2})(\\\\d{5})(\\\\d{4})\",\"$1 $2-$3\",[\"[16][1-9]|[2-57-9]\"],\"($1)\",\"0 $CC ($1)\"]],[[,\"(\\\\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})\",\n\"$1 $2-$3\",[\"(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]\"],\"($1)\",\"0 $CC ($1)\"],[,\"(\\\\d{2})(\\\\d{5})(\\\\d{4})\",\"$1 $2-$3\",[\"[16][1-9]|[2-57-9]\"],\"($1)\",\"0 $CC ($1)\"]],[,,,,,,,,,[-1]],,,[,,\"4020\\\\d{4}|[34]00\\\\d{5}\",,,,,,,[8]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BS:[,[,,\"(?:242|[58]\\\\d\\\\d|900)\\\\d{7}\",,,,,,,[10],[7]],[,,\"242(?:3(?:02|[236][1-9]|4[0-24-9]|5[0-68]|7[347]|8[0-4]|9[2-467])|461|502|6(?:0[1-4]|12|2[013]|[45]0|7[67]|8[78]|9[89])|7(?:02|88))\\\\d{4}\",,,,\"2423456789\",,,,[7]],[,,\"242(?:3(?:5[79]|7[56]|95)|4(?:[23][1-9]|4[1-35-9]|5[1-8]|6[2-8]|7\\\\d|81)|5(?:2[45]|3[35]|44|5[1-46-9]|65|77)|6[34]6|7(?:27|38)|8(?:0[1-9]|1[02-9]|2\\\\d|[89]9))\\\\d{4}\",\n,,,\"2423591234\",,,,[7]],[,,\"242300\\\\d{4}|8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002123456\",,,,[7]],[,,\"900[2-9]\\\\d{6}\",,,,\"9002123456\"],[,,,,,,,,,[-1]],[,,\"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[12]|33|44|66|77|88)[2-9]\\\\d{6}\",,,,\"5002345678\"],[,,,,,,,,,[-1]],\"BS\",1,\"011\",\"1\",,,\"1|([3-8]\\\\d{6})$\",\"242$1\",,,,,[,,,,,,,,,[-1]],,\"242\",[,,,,\n,,,,,[-1]],[,,\"242225\\\\d{4}\",,,,\"2422250123\"],,,[,,,,,,,,,[-1]]],BT:[,[,,\"[17]\\\\d{7}|[2-8]\\\\d{6}\",,,,,,,[7,8],[6]],[,,\"(?:2[3-6]|[34][5-7]|5[236]|6[2-46]|7[246]|8[2-4])\\\\d{5}\",,,,\"2345678\",,,[7],[6]],[,,\"(?:1[67]|77)\\\\d{6}\",,,,\"17123456\",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"BT\",975,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"[2-7]\"]],[,\"(\\\\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\"]]],\n[[,\"(\\\\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\"]]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BW:[,[,,\"(?:0800|(?:[37]|800)\\\\d)\\\\d{6}|(?:[2-6]\\\\d|90)\\\\d{5}\",,,,,,,[7,8,10]],[,,\"(?:2(?:4[0-48]|6[0-24]|9[0578])|3(?:1[0-35-9]|55|[69]\\\\d|7[013])|4(?:6[03]|7[1267]|9[0-5])|5(?:3[03489]|4[0489]|7[1-47]|88|9[0-49])|6(?:2[1-35]|5[149]|8[067]))\\\\d{4}\",,,,\"2401234\",,,[7]],[,,\"(?:321|7(?:[1-7]\\\\d|8[01]))\\\\d{5}\",,\n,,\"71123456\",,,[8]],[,,\"(?:0800|800\\\\d)\\\\d{6}\",,,,\"0800012345\",,,[10]],[,,\"90\\\\d{5}\",,,,\"9012345\",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"79(?:1(?:[01]\\\\d|20)|2[0-25-7]\\\\d)\\\\d{3}\",,,,\"79101234\",,,[8]],\"BW\",267,\"00\",,,,,,,,[[,\"(\\\\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\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,\n,,[-1]],,,[,,,,,,,,,[-1]]],BY:[,[,,\"(?:[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],[5]],[,,\"(?:1(?:5(?:1[1-5]|[24]\\\\d|6[2-4]|9[1-7])|6(?:[235]\\\\d|4[1-7])|7\\\\d\\\\d)|2(?:1(?:[246]\\\\d|3[0-35-9]|5[1-9])|2(?:[235]\\\\d|4[0-8])|3(?:[26]\\\\d|3[02-79]|4[024-7]|5[03-7])))\\\\d{5}\",,,,\"152450911\",,,[9],[5,6,7]],[,,\"(?:2(?:5[5-79]|9[1-9])|(?:33|44)\\\\d)\\\\d{6}\",,,,\"294911911\",,,[9]],[,,\"800\\\\d{3,7}|8(?:0[13]|20\\\\d)\\\\d{7}\",\n,,,\"8011234567\"],[,,\"(?:810|902)\\\\d{7}\",,,,\"9021234567\",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"249\\\\d{6}\",,,,\"249123456\",,,[9]],\"BY\",375,\"810\",\"8\",,,\"0|80?\",,\"8~10\",,[[,\"(\\\\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})\",\n\"$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\"]],,[,,,,,,,,,[-1]],,,[,,\"800\\\\d{3,7}|(?:8(?:0[13]|10|20\\\\d)|902)\\\\d{7}\"],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BZ:[,[,,\"(?:0800\\\\d|[2-8])\\\\d{6}\",,,,,,,[7,11]],[,,\"(?:2(?:[02]\\\\d|36|[68]0)|[3-58](?:[02]\\\\d|[68]0)|7(?:[02]\\\\d|32|[68]0))\\\\d{4}\",,,,\"2221234\",,,[7]],[,,\"6[0-35-7]\\\\d{5}\",,,,\"6221234\",,,[7]],[,,\"0800\\\\d{7}\",,,,\"08001234123\",\n,,[11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"BZ\",501,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[2-8]\"]],[,\"(\\\\d)(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\"$1-$2-$3-$4\",[\"0\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CA:[,[,,\"(?:[2-8]\\\\d|90)\\\\d{8}\",,,,,,,[10],[7]],[,,\"(?:2(?:04|[23]6|[48]9|50)|3(?:06|43|6[578])|4(?:03|1[68]|3[178]|50|74)|5(?:06|1[49]|48|79|8[17])|6(?:04|13|39|47|72)|7(?:0[59]|78|8[02])|8(?:[06]7|19|25|73)|90[25])[2-9]\\\\d{6}\",,,,\"5062345678\",\n,,,[7]],[,,\"(?:2(?:04|[23]6|[48]9|50)|3(?:06|43|6[578])|4(?:03|1[68]|3[178]|50|74)|5(?:06|1[49]|48|79|8[17])|6(?:04|13|39|47|72)|7(?:0[59]|78|8[02])|8(?:[06]7|19|25|73)|90[25])[2-9]\\\\d{6}\",,,,\"5062345678\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002123456\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002123456\"],[,,,,,,,,,[-1]],[,,\"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[12]|33|44|66|77|88)|622)[2-9]\\\\d{6}\",\n,,,\"5002345678\"],[,,\"600[2-9]\\\\d{6}\",,,,\"6002012345\"],\"CA\",1,\"011\",\"1\",,,\"1\",,,1,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CC:[,[,,\"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]],[,,\"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}\",,,,\"891621234\",,,[9],[8]],[,,\"4(?:83[0-38]|93[0-6])\\\\d{5}|4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-24-9]|9[0-27-9])\\\\d{6}\",\n,,,\"412345678\",,,[9]],[,,\"180(?:0\\\\d{3}|2)\\\\d{3}\",,,,\"1800123456\",,,[7,10]],[,,\"190[0-26]\\\\d{6}\",,,,\"1900123456\",,,[10]],[,,\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\",,,,\"1300123456\",,,[6,8,10,12]],[,,,,,,,,,[-1]],[,,\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\",,,,\"147101234\",,,[9]],\"CC\",61,\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"0\",,,\"0|([59]\\\\d{7})$\",\"8$1\",\"0011\",,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CD:[,[,,\"[189]\\\\d{8}|[1-68]\\\\d{6}\",,,,,,\n,[7,9]],[,,\"12\\\\d{7}|[1-6]\\\\d{6}\",,,,\"1234567\"],[,,\"88\\\\d{5}|(?:8[0-59]|9[017-9])\\\\d{7}\",,,,\"991234567\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"CD\",243,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\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\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CF:[,[,,\n\"(?:[27]\\\\d{3}|8776)\\\\d{4}\",,,,,,,[8]],[,,\"2[12]\\\\d{6}\",,,,\"21612345\"],[,,\"7[0257]\\\\d{6}\",,,,\"70012345\"],[,,,,,,,,,[-1]],[,,\"8776\\\\d{4}\",,,,\"87761234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"CF\",236,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[278]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CG:[,[,,\"222\\\\d{6}|(?:0\\\\d|80)\\\\d{7}\",,,,,,,[9]],[,,\"222[1-589]\\\\d{5}\",,,,\"222123456\"],[,,\"026(?:1[0-5]|6[6-9])\\\\d{4}|0(?:[14-6]\\\\d\\\\d|2(?:40|5[5-8]|6[07-9]))\\\\d{5}\",\n,,,\"061234567\"],[,,,,,,,,,[-1]],[,,\"80(?:0\\\\d\\\\d|120)\\\\d{4}\",,,,\"800123456\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"CG\",242,\"00\",,,,,,,,[[,\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[02]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CH:[,[,,\"8\\\\d{11}|[2-9]\\\\d{8}\",,,,,,,[9,12]],[,,\"(?:2[12467]|3[1-4]|4[134]|5[256]|6[12]|[7-9]1)\\\\d{7}\",,,,\"212345678\",,,[9]],[,,\"7[35-9]\\\\d{7}\",,,,\"781234567\",,,[9]],[,,\"800\\\\d{6}\",,,,\"800123456\",\n,,[9]],[,,\"90[016]\\\\d{6}\",,,,\"900123456\",,,[9]],[,,\"84[0248]\\\\d{6}\",,,,\"840123456\",,,[9]],[,,\"878\\\\d{6}\",,,,\"878123456\",,,[9]],[,,,,,,,,,[-1]],\"CH\",41,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\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\"]],,[,,\"74[0248]\\\\d{6}\",,,,\"740123456\",,,[9]],,,[,,,,,,,,,[-1]],[,,\"5[18]\\\\d{7}\",,,,\"581234567\",,,[9]],,,[,,\"860\\\\d{9}\",,,,\"860123456789\",\n,,[12]]],CI:[,[,,\"[02]\\\\d{9}\",,,,,,,[10]],[,,\"2(?:[15]\\\\d{3}|7(?:2(?:0[23]|1[2357]|[23][45]|4[3-5])|3(?:06|1[69]|[2-6]7)))\\\\d{5}\",,,,\"2123456789\"],[,,\"0704[0-7]\\\\d{5}|0(?:[15]\\\\d\\\\d|7(?:0[0-37-9]|[4-9][7-9]))\\\\d{6}\",,,,\"0123456789\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"CI\",225,\"00\",,,,,,,,[[,\"(\\\\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\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,\n,[,,,,,,,,,[-1]]],CK:[,[,,\"[2-578]\\\\d{4}\",,,,,,,[5]],[,,\"(?:2\\\\d|3[13-7]|4[1-5])\\\\d{3}\",,,,\"21234\"],[,,\"[578]\\\\d{4}\",,,,\"71234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"CK\",682,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"[2-578]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CL:[,[,,\"12300\\\\d{6}|6\\\\d{9,10}|[2-9]\\\\d{8}\",,,,,,,[9,10,11]],[,,\"2(?:1982[0-6]|3314[05-9])\\\\d{3}|(?:2(?:1(?:160|962)|3(?:2\\\\d\\\\d|3(?:[034]\\\\d|1[0-35-9]|2[1-9]|5[0-2])|600))|80[1-9]\\\\d\\\\d|9(?:3(?:[0-57-9]\\\\d\\\\d|6(?:0[02-9]|[1-9]\\\\d))|6(?:[0-8]\\\\d\\\\d|9(?:[02-79]\\\\d|1[05-9]))|7[1-9]\\\\d\\\\d|9(?:[03-9]\\\\d\\\\d|1(?:[0235-9]\\\\d|4[0-24-9])|2(?:[0-79]\\\\d|8[0-46-9]))))\\\\d{4}|(?:22|3[2-5]|[47][1-35]|5[1-3578]|6[13-57]|8[1-9]|9[2458])\\\\d{7}\",\n,,,\"221234567\",,,[9]],[,,\"2(?:1982[0-6]|3314[05-9])\\\\d{3}|(?:2(?:1(?:160|962)|3(?:2\\\\d\\\\d|3(?:[034]\\\\d|1[0-35-9]|2[1-9]|5[0-2])|600))|80[1-9]\\\\d\\\\d|9(?:3(?:[0-57-9]\\\\d\\\\d|6(?:0[02-9]|[1-9]\\\\d))|6(?:[0-8]\\\\d\\\\d|9(?:[02-79]\\\\d|1[05-9]))|7[1-9]\\\\d\\\\d|9(?:[03-9]\\\\d\\\\d|1(?:[0235-9]\\\\d|4[0-24-9])|2(?:[0-79]\\\\d|8[0-46-9]))))\\\\d{4}|(?:22|3[2-5]|[47][1-35]|5[1-3578]|6[13-57]|8[1-9]|9[2458])\\\\d{7}\",,,,\"221234567\",,,[9]],[,,\"(?:123|8)00\\\\d{6}\",,,,\"800123456\",,,[9,11]],[,,,,,,,,,[-1]],[,,\"600\\\\d{7,8}\",,,,\"6001234567\",\n,,[10,11]],[,,,,,,,,,[-1]],[,,\"44\\\\d{7}\",,,,\"441234567\",,,[9]],\"CL\",56,\"(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0\",,,,,,,1,[[,\"(\\\\d{4})\",\"$1\",[\"1(?:[03-589]|21)|[29]0|78\"]],[,\"(\\\\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-3]\"],\"($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})\",\n\"$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\"]]],[[,\"(\\\\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-3]\"],\"($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})\",\n\"$1 $2 $3\",[\"1\"]],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"60\"]]],[,,,,,,,,,[-1]],,,[,,\"600\\\\d{7,8}\",,,,,,,[10,11]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CM:[,[,,\"[26]\\\\d{8}|88\\\\d{6,7}\",,,,,,,[8,9]],[,,\"2(?:22|33)\\\\d{6}\",,,,\"222123456\",,,[9]],[,,\"(?:24[23]|6[5-9]\\\\d)\\\\d{6}\",,,,\"671234567\",,,[9]],[,,\"88\\\\d{6,7}\",,,,\"88012345\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"CM\",237,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"88\"]],[,\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\"$1 $2 $3 $4 $5\",[\"[26]|88\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CN:[,[,,\"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],[5,6]],[,,\"(?:10(?:[02-79]\\\\d\\\\d|[18](?:0[1-9]|[1-9]\\\\d))|21(?:[18](?:0[1-9]|[1-9]\\\\d)|[2-79]\\\\d\\\\d))\\\\d{5}|(?:43[35]|754)\\\\d{7,8}|8(?:078\\\\d{7}|51\\\\d{7,8})|(?:10|(?:2|85)1|43[35]|754)(?:100\\\\d\\\\d|95\\\\d{3,4})|(?:2[02-57-9]|3(?:11|7[179])|4(?:[15]1|3[12])|5(?:1\\\\d|2[37]|3[12]|51|7[13-79]|9[15])|7(?:[39]1|5[57]|6[09])|8(?:71|98))(?:[02-8]\\\\d{7}|1(?:0(?:0\\\\d\\\\d(?:\\\\d{3})?|[1-9]\\\\d{5})|[1-9]\\\\d{6})|9(?:[0-46-9]\\\\d{6}|5\\\\d{3}(?:\\\\d(?:\\\\d{2})?)?))|(?:3(?:1[02-9]|35|49|5\\\\d|7[02-68]|9[1-68])|4(?:1[02-9]|2[179]|3[46-9]|5[2-9]|6[47-9]|7\\\\d|8[23])|5(?:3[03-9]|4[36]|5[02-9]|6[1-46]|7[028]|80|9[2-46-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[17]\\\\d|2[248]|3[04-9]|4[3-6]|5[0-3689]|6[2368]|9[02-9])|8(?:1[236-8]|2[5-7]|3\\\\d|5[2-9]|7[02-9]|8[36-8]|9[1-7])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))(?:[02-8]\\\\d{6}|1(?:0(?:0\\\\d\\\\d(?:\\\\d{2})?|[1-9]\\\\d{4})|[1-9]\\\\d{5})|9(?:[0-46-9]\\\\d{5}|5\\\\d{3,5}))\",\n,,,\"1012345678\",,,[7,8,9,10,11],[5,6]],[,,\"1740[0-5]\\\\d{6}|1(?:[38]\\\\d|4[57]|5[0-35-9]|6[25-7]|7[0-35-8]|9[0135-9])\\\\d{8}\",,,,\"13123456789\",,,[11]],[,,\"(?:(?:10|21)8|8)00\\\\d{7}\",,,,\"8001234567\",,,[10,12]],[,,\"16[08]\\\\d{5}\",,,,\"16812345\",,,[8]],[,,\"400\\\\d{7}|950\\\\d{7,8}|(?:10|2[0-57-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[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))96\\\\d{3,4}\",\n,,,\"4001234567\",,,[7,8,9,10,11],[5,6]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"CN\",86,\"00|1(?:[12]\\\\d|79)\\\\d\\\\d00\",\"0\",,,\"0|(1(?:[12]\\\\d|79)\\\\d\\\\d)\",,\"00\",,[[,\"(\\\\d{5,6})\",\"$1\",[\"96\"]],[,\"(\\\\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\",\"$CC $1\"],[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[1-9]\",\"1[1-9]|26|[3-9]|(?:10|2[0-57-9])(?:[0-8]|9[0-47-9])\",\"1[1-9]|26|[3-9]|(?:10|2[0-57-9])(?:[02-8]|1(?:0[1-9]|[1-9])|9[0-47-9])\"]],[,\"(\\\\d{4})(\\\\d{4})\",\n\"$1 $2\",[\"16[08]\"]],[,\"(\\\\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]\",\n\"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])\"],\n\"0$1\",\"$CC $1\"],[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[1-9]\",\"1[1-9]|26|[3-9]|(?:10|2[0-57-9])(?:[0-8]|9[0-47-9])\",\"26|3(?:[0268]|9[079])|4(?:[049]|2[02-68]|[35]0|6[0-356]|8[014-9])|5(?:0|2[0-24-689]|4[0-2457-9]|6[057-9]|90)|6(?:[0-24578]|6[14-79]|9[03-9])|7(?:0[02-9]|2[0135-79]|3[23]|4[0-27-9]|6[1457]|8)|8(?:[046]|1[01459]|2[0-489]|50|8[0-2459]|9[09])|9(?:0[0457]|1[08]|[268]|4[024-9])|(?:34|85[23])[0-8]|(?:1|58)[1-9]|(?:63|95)[06-9]|(?:33|85[23]9)[0-46-9]|(?:10|2[0-57-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[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))(?:[0-8]|9[0-47-9])\",\n\"26|3(?:[0268]|3[0-46-9]|4[0-8]|9[079])|4(?:[049]|2[02-68]|[35]0|6[0-356]|8[014-9])|5(?:0|2[0-24-689]|4[0-2457-9]|6[057-9]|90)|6(?:[0-24578]|3[06-9]|6[14-79]|9[03-9])|7(?:0[02-9]|2[0135-79]|3[23]|4[0-27-9]|6[1457]|8)|8(?:[046]|1[01459]|2[0-489]|5(?:0|[23](?:[02-8]|1[1-9]|9[0-46-9]))|8[0-2459]|9[09])|9(?:0[0457]|1[08]|[268]|4[024-9]|5[06-9])|(?:1|58|85[23]10)[1-9]|(?:10|2[0-57-9])(?:[0-8]|9[0-47-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[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))(?:[02-8]|1(?:0[1-9]|[1-9])|9[0-47-9])\"]],\n[,\"(\\\\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\",\"$CC $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\",\"$CC $1\",1],[,\"(\\\\d{3})(\\\\d{7,8})\",\n\"$1 $2\",[\"9\"]],[,\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"80\"],\"0$1\",\"$CC $1\",1],[,\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[3-578]\"],\"0$1\",\"$CC $1\",1],[,\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"1[3-9]\"],,\"$CC $1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"[12]\"],\"0$1\",,1]],[[,\"(\\\\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\",\"$CC $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]\",\n\"(?: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])\",\n\"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\",\"$CC $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])\"],\n\"0$1\",\"$CC $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\",\"$CC $1\",1],[,\"(\\\\d{3})(\\\\d{7,8})\",\"$1 $2\",[\"9\"]],[,\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"80\"],\"0$1\",\"$CC $1\",1],[,\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[3-578]\"],\"0$1\",\"$CC $1\",1],[,\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"1[3-9]\"],,\"$CC $1\"],\n[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"[12]\"],\"0$1\",,1]],[,,,,,,,,,[-1]],,,[,,\"(?:(?:10|21)8|[48])00\\\\d{7}|950\\\\d{7,8}\",,,,,,,[10,11,12]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CO:[,[,,\"(?:(?:1\\\\d|[36])\\\\d{3}|9101)\\\\d{6}|[124-8]\\\\d{7}\",,,,,,,[8,10,11],[7]],[,,\"60[124-8][2-9]\\\\d{6}|[124-8][2-9]\\\\d{6}\",,,,\"12345678\",,,[8,10],[7]],[,,\"3333(?:0(?:0\\\\d|1[0-5])|[4-9]\\\\d\\\\d)\\\\d{3}|(?:3(?:24[2-6]|3(?:00|3[0-24-9]))|9101)\\\\d{6}|3(?:0[0-5]|1\\\\d|2[0-3]|5[01]|70)\\\\d{7}\",,,,\"3211234567\",,,[10]],[,,\"1800\\\\d{7}\",\n,,,\"18001234567\",,,[11]],[,,\"19(?:0[01]|4[78])\\\\d{7}\",,,,\"19001234567\",,,[11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"CO\",57,\"00(?:4(?:[14]4|56)|[579])\",\"0\",,,\"0([3579]|4(?:[14]4|56))?\",,,,[[,\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"[146][2-9]|[2578]\"],\"($1)\",\"0$CC $1\"],[,\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"6\"],\"($1)\"],[,\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"[39]\"],,\"0$CC $1\"],[,\"(\\\\d)(\\\\d{3})(\\\\d{7})\",\"$1-$2-$3\",[\"1\"],\"0$1\"]],[[,\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"[146][2-9]|[2578]\"],\"($1)\",\"0$CC $1\"],[,\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",\n[\"6\"],\"($1)\"],[,\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"[39]\"],,\"0$CC $1\"],[,\"(\\\\d)(\\\\d{3})(\\\\d{7})\",\"$1 $2 $3\",[\"1\"]]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CR:[,[,,\"(?:8\\\\d|90)\\\\d{8}|(?:[24-8]\\\\d{3}|3005)\\\\d{4}\",,,,,,,[8,10]],[,,\"210[7-9]\\\\d{4}|2(?:[024-7]\\\\d|1[1-9])\\\\d{5}\",,,,\"22123456\",,,[8]],[,,\"(?:3005\\\\d|6500[01])\\\\d{3}|(?:5[07]|6[0-4]|7[0-3]|8[3-9])\\\\d{6}\",,,,\"83123456\",,,[8]],[,,\"800\\\\d{7}\",,,,\"8001234567\",,,[10]],[,,\"90[059]\\\\d{7}\",,,,\"9001234567\",,,[10]],[,,,,,,,,,[-1]],\n[,,,,,,,,,[-1]],[,,\"(?:210[0-6]|4\\\\d{3}|5100)\\\\d{4}\",,,,\"40001234\",,,[8]],\"CR\",506,\"00\",,,,\"(19(?:0[0-2468]|1[09]|20|66|77|99))\",,,,[[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-7]|8[3-9]\"],,\"$CC $1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[89]\"],,\"$CC $1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CU:[,[,,\"[27]\\\\d{6,7}|[34]\\\\d{5,7}|(?:5|8\\\\d\\\\d)\\\\d{7}\",,,,,,,[6,7,8,10],[4,5]],[,,\"(?:3[23]|48)\\\\d{4,6}|(?:31|4[36]|8(?:0[25]|78)\\\\d)\\\\d{6}|(?:2[1-4]|4[1257]|7\\\\d)\\\\d{5,6}\",,,,\"71234567\",\n,,,[4,5]],[,,\"5\\\\d{7}\",,,,\"51234567\",,,[8]],[,,\"800\\\\d{7}\",,,,\"8001234567\",,,[10]],[,,,,,,,,,[-1]],[,,\"807\\\\d{7}\",,,,\"8071234567\",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"CU\",53,\"119\",\"0\",,,\"0\",,,,[[,\"(\\\\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\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CV:[,[,,\"(?:[2-59]\\\\d\\\\d|800)\\\\d{4}\",,,,,,,[7]],[,,\"2(?:2[1-7]|3[0-8]|4[12]|5[1256]|6\\\\d|7[1-3]|8[1-5])\\\\d{4}\",\n,,,\"2211234\"],[,,\"(?:[34][36]|5[1-389]|9\\\\d)\\\\d{5}\",,,,\"9911234\"],[,,\"800\\\\d{4}\",,,,\"8001234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"CV\",238,\"0\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[2-589]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CW:[,[,,\"(?:[34]1|60|(?:7|9\\\\d)\\\\d)\\\\d{5}\",,,,,,,[7,8]],[,,\"9(?:4(?:3[0-5]|4[14]|6\\\\d)|50\\\\d|7(?:2[014]|3[02-9]|4[4-9]|6[357]|77|8[7-9])|8(?:3[39]|[46]\\\\d|7[01]|8[57-9]))\\\\d{4}\",,,,\"94351234\"],[,,\"953[01]\\\\d{4}|9(?:5[12467]|6[5-9])\\\\d{5}\",\n,,,\"95181234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"60[0-2]\\\\d{4}\",,,,\"6001234\",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"CW\",599,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[3467]\"]],[,\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"9[4-8]\"]]],,[,,\"955\\\\d{5}\",,,,\"95581234\",,,[8]],1,\"[69]\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CX:[,[,,\"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]],[,,\"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}\",\n,,,\"891641234\",,,[9],[8]],[,,\"4(?:83[0-38]|93[0-6])\\\\d{5}|4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-24-9]|9[0-27-9])\\\\d{6}\",,,,\"412345678\",,,[9]],[,,\"180(?:0\\\\d{3}|2)\\\\d{3}\",,,,\"1800123456\",,,[7,10]],[,,\"190[0-26]\\\\d{6}\",,,,\"1900123456\",,,[10]],[,,\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\",,,,\"1300123456\",,,[6,8,10,12]],[,,,,,,,,,[-1]],[,,\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\",,,,\"147101234\",,,[9]],\"CX\",61,\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"0\",,,\"0|([59]\\\\d{7})$\",\n\"8$1\",\"0011\",,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CY:[,[,,\"(?:[279]\\\\d|[58]0)\\\\d{6}\",,,,,,,[8]],[,,\"2[2-6]\\\\d{6}\",,,,\"22345678\"],[,,\"9[4-79]\\\\d{6}\",,,,\"96123456\"],[,,\"800\\\\d{5}\",,,,\"80001234\"],[,,\"90[09]\\\\d{5}\",,,,\"90012345\"],[,,\"80[1-9]\\\\d{5}\",,,,\"80112345\"],[,,\"700\\\\d{5}\",,,,\"70012345\"],[,,,,,,,,,[-1]],\"CY\",357,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[257-9]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"(?:50|77)\\\\d{6}\",,,,\"77123456\"],,,[,,,,,,,,,[-1]]],CZ:[,\n[,,\"(?:[2-578]\\\\d|60)\\\\d{7}|9\\\\d{8,11}\",,,,,,,[9,10,11,12]],[,,\"(?:2\\\\d|3[1257-9]|4[16-9]|5[13-9])\\\\d{7}\",,,,\"212345678\",,,[9]],[,,\"(?:60[1-8]|7(?:0[2-5]|[2379]\\\\d))\\\\d{6}\",,,,\"601123456\",,,[9]],[,,\"800\\\\d{6}\",,,,\"800123456\",,,[9]],[,,\"9(?:0[05689]|76)\\\\d{6}\",,,,\"900123456\",,,[9]],[,,\"8[134]\\\\d{7}\",,,,\"811234567\",,,[9]],[,,\"70[01]\\\\d{6}\",,,,\"700123456\",,,[9]],[,,\"9[17]0\\\\d{6}\",,,,\"910123456\",,,[9]],\"CZ\",420,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-8]|9[015-7]\"]],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\n\"$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\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"9(?:5\\\\d|7[2-4])\\\\d{6}\",,,,\"972123456\",,,[9]],,,[,,\"9(?:3\\\\d{9}|6\\\\d{7,10})\",,,,\"93123456789\"]],DE:[,[,,\"[2579]\\\\d{5,14}|49(?:[34]0|69|8\\\\d)\\\\d\\\\d?|49(?:37|49|60|7[089]|9\\\\d)\\\\d{1,3}|49(?:1\\\\d|2[02-9]|3[2-689]|7[1-7])\\\\d{1,8}|(?:1|[368]\\\\d|4[0-8])\\\\d{3,13}|49(?:[05]\\\\d|[23]1|[46][1-8])\\\\d{1,9}\",,,,,,,[4,5,6,7,8,9,10,11,12,\n13,14,15],[2,3]],[,,\"32\\\\d{9,11}|49[2-6]\\\\d{10}|49[0-7]\\\\d{3,9}|(?:[34]0|[68]9)\\\\d{3,13}|(?:2(?:0[1-689]|[1-3569]\\\\d|4[0-8]|7[1-7]|8[0-7])|3(?:[3569]\\\\d|4[0-79]|7[1-7]|8[1-8])|4(?:1[02-9]|[2-48]\\\\d|5[0-6]|6[0-8]|7[0-79])|5(?:0[2-8]|[124-6]\\\\d|[38][0-8]|[79][0-7])|6(?:0[02-9]|[1-358]\\\\d|[47][0-8]|6[1-9])|7(?:0[2-8]|1[1-9]|[27][0-7]|3\\\\d|[4-6][0-8]|8[0-5]|9[013-7])|8(?:0[2-9]|1[0-79]|2\\\\d|3[0-46-9]|4[0-6]|5[013-9]|6[1-8]|7[0-8]|8[0-24-6])|9(?:0[6-9]|[1-4]\\\\d|[589][0-7]|6[0-8]|7[0-467]))\\\\d{3,12}\",,\n,,\"30123456\",,,[5,6,7,8,9,10,11,12,13,14,15],[2,3,4]],[,,\"15[0-25-9]\\\\d{8}|1(?:6[023]|7\\\\d)\\\\d{7,8}\",,,,\"15123456789\",,,[10,11]],[,,\"800\\\\d{7,12}\",,,,\"8001234567890\",,,[10,11,12,13,14,15]],[,,\"(?:137[7-9]|900(?:[135]|9\\\\d))\\\\d{6}\",,,,\"9001234567\",,,[10,11]],[,,\"180\\\\d{5,11}|13(?:7[1-6]\\\\d\\\\d|8)\\\\d{4}\",,,,\"18012345\",,,[7,8,9,10,11,12,13,14]],[,,\"700\\\\d{8}\",,,,\"70012345678\",,,[11]],[,,,,,,,,,[-1]],\"DE\",49,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{3,13})\",\"$1 $2\",[\"3[02]|40|[68]9\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3,12})\",\n\"$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]\"],\n\"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\"],\n[,\"(\\\\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\"]],,[,,\"16(?:4\\\\d{1,10}|[89]\\\\d{1,11})\",,,,\"16412345\",,,[4,5,6,7,8,9,10,11,12,13,14]],,,[,,,,,,,,,[-1]],[,,\"18(?:1\\\\d{5,11}|[2-9]\\\\d{8})\",,,,\"18500123456\",,,[8,9,10,11,12,13,14]],,,[,,\"1(?:6(?:013|255|399)|7(?:(?:[015]1|[69]3)3|[2-4]55|[78]99))\\\\d{7,8}|15(?:(?:[03-68]00|113)\\\\d|2\\\\d55|7\\\\d99|9\\\\d33)\\\\d{7}\",\n,,,\"177991234567\",,,[12,13]]],DJ:[,[,,\"(?:2\\\\d|77)\\\\d{6}\",,,,,,,[8]],[,,\"2(?:1[2-5]|7[45])\\\\d{5}\",,,,\"21360003\"],[,,\"77\\\\d{6}\",,,,\"77831001\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"DJ\",253,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[27]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],DK:[,[,,\"[2-9]\\\\d{7}\",,,,,,,[8]],[,,\"(?:[2-7]\\\\d|8[126-9]|9[1-46-9])\\\\d{6}\",,,,\"32123456\"],[,,\"(?:[2-7]\\\\d|8[126-9]|9[1-46-9])\\\\d{6}\",\n,,,\"32123456\"],[,,\"80\\\\d{6}\",,,,\"80123456\"],[,,\"90\\\\d{6}\",,,,\"90123456\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"DK\",45,\"00\",,,,,,,1,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-9]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],DM:[,[,,\"(?:[58]\\\\d\\\\d|767|900)\\\\d{7}\",,,,,,,[10],[7]],[,,\"767(?:2(?:55|66)|4(?:2[01]|4[0-25-9])|50[0-4])\\\\d{4}\",,,,\"7674201234\",,,,[7]],[,,\"767(?:2(?:[2-4689]5|7[5-7])|31[5-7]|61[1-8]|70[1-6])\\\\d{4}\",,,,\"7672251234\",,,,[7]],\n[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002123456\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002123456\"],[,,,,,,,,,[-1]],[,,\"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[12]|33|44|66|77|88)[2-9]\\\\d{6}\",,,,\"5002345678\"],[,,,,,,,,,[-1]],\"DM\",1,\"011\",\"1\",,,\"1|([2-7]\\\\d{6})$\",\"767$1\",,,,,[,,,,,,,,,[-1]],,\"767\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],\nDO:[,[,,\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",,,,,,,[10],[7]],[,,\"8(?:[04]9[2-9]\\\\d\\\\d|29(?:2(?:[0-59]\\\\d|6[04-9]|7[0-27]|8[0237-9])|3(?:[0-35-9]\\\\d|4[7-9])|[45]\\\\d\\\\d|6(?:[0-27-9]\\\\d|[3-5][1-9]|6[0135-8])|7(?:0[013-9]|[1-37]\\\\d|4[1-35689]|5[1-4689]|6[1-57-9]|8[1-79]|9[1-8])|8(?:0[146-9]|1[0-48]|[248]\\\\d|3[1-79]|5[01589]|6[013-68]|7[124-8]|9[0-8])|9(?:[0-24]\\\\d|3[02-46-9]|5[0-79]|60|7[0169]|8[57-9]|9[02-9])))\\\\d{4}\",,,,\"8092345678\",,,,[7]],[,,\"8[024]9[2-9]\\\\d{6}\",,,,\"8092345678\",,,,[7]],[,,\"8(?:00(?:14|[2-9]\\\\d)|(?:33|44|55|66|77|88)[2-9]\\\\d)\\\\d{5}\",\n,,,\"8002123456\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002123456\"],[,,,,,,,,,[-1]],[,,\"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[12]|33|44|66|77|88)[2-9]\\\\d{6}\",,,,\"5002345678\"],[,,,,,,,,,[-1]],\"DO\",1,\"011\",\"1\",,,\"1\",,,,,,[,,,,,,,,,[-1]],,\"8001|8[024]9\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],DZ:[,[,,\"(?:[1-4]|[5-79]\\\\d|80)\\\\d{7}\",,,,,,,[8,9]],[,\n,\"9619\\\\d{5}|(?:1\\\\d|2[013-79]|3[0-8]|4[0135689])\\\\d{6}\",,,,\"12345678\"],[,,\"(?:5(?:4[0-29]|5\\\\d|6[0-2])|6(?:[569]\\\\d|7[0-6])|7[7-9]\\\\d)\\\\d{6}\",,,,\"551234567\",,,[9]],[,,\"800\\\\d{6}\",,,,\"800123456\",,,[9]],[,,\"80[3-689]1\\\\d{5}\",,,,\"808123456\",,,[9]],[,,\"80[12]1\\\\d{5}\",,,,\"801123456\",,,[9]],[,,,,,,,,,[-1]],[,,\"98[23]\\\\d{6}\",,,,\"983123456\",,,[9]],\"DZ\",213,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\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\"],\n[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-8]\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],EC:[,[,,\"1\\\\d{9,10}|(?:[2-7]|9\\\\d)\\\\d{7}\",,,,,,,[8,9,10,11],[7]],[,,\"[2-7][2-7]\\\\d{6}\",,,,\"22123456\",,,[8],[7]],[,,\"964[0-2]\\\\d{5}|9(?:39|[57][89]|6[0-36-9]|[89]\\\\d)\\\\d{6}\",,,,\"991234567\",,,[9]],[,,\"1800\\\\d{7}|1[78]00\\\\d{6}\",,,,\"18001234567\",,,[10,11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"[2-7]890\\\\d{4}\",,,,\"28901234\",,,[8]],\"EC\",593,\"00\",\"0\",,,\n\"0\",,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[2-7]\"]],[,\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2-$3\",[\"[2-7]\"],\"(0$1)\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[,\"(\\\\d{4})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"1\"]]],[[,\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[2-7]\"]],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[,\"(\\\\d{4})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"1\"]]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],EE:[,[,,\"8\\\\d{9}|[4578]\\\\d{7}|(?:[3-8]\\\\d|90)\\\\d{5}\",,,,,,,[7,8,10]],[,,\"(?:3[23589]|4[3-8]|6\\\\d|7[1-9]|88)\\\\d{5}\",\n,,,\"3212345\",,,[7]],[,,\"(?:5\\\\d{5}|8(?:1(?:0(?:000|[3-9]\\\\d\\\\d)|(?:1(?:0[236]|1\\\\d)|(?:23|[3-79]\\\\d)\\\\d)\\\\d)|2(?:0(?:000|(?:19|[24-7]\\\\d)\\\\d)|(?:(?:[124-6]\\\\d|3[5-9])\\\\d|7(?:[679]\\\\d|8[13-9])|8(?:[2-6]\\\\d|7[01]))\\\\d)|[349]\\\\d{4}))\\\\d\\\\d|5(?:(?:[02]\\\\d|5[0-478])\\\\d|1(?:[0-8]\\\\d|95)|6(?:4[0-4]|5[1-589]))\\\\d{3}\",,,,\"51234567\",,,[7,8]],[,,\"800(?:(?:0\\\\d\\\\d|1)\\\\d|[2-9])\\\\d{3}\",,,,\"80012345\"],[,,\"(?:40\\\\d\\\\d|900)\\\\d{4}\",,,,\"9001234\",,,[7,8]],[,,,,,,,,,[-1]],[,,\"70[0-2]\\\\d{5}\",,,,\"70012345\",,,[8]],[,,,,\n,,,,,[-1]],\"EE\",372,\"00\",,,,,,,,[[,\"(\\\\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\"]]],,[,,,,,,,,,[-1]],,,[,,\"800[2-9]\\\\d{3}\",,,,,,,[7]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],EG:[,[,,\"[189]\\\\d{8,9}|[24-6]\\\\d{8}|[135]\\\\d{7}\",\n,,,,,,[8,9,10],[6,7]],[,,\"13[23]\\\\d{6}|(?:15|57)\\\\d{6,7}|(?:2[2-4]|3|4[05-8]|5[05]|6[24-689]|8[2468]|9[235-7])\\\\d{7}\",,,,\"234567890\",,,[8,9],[6,7]],[,,\"1[0-25]\\\\d{8}\",,,,\"1001234567\",,,[10]],[,,\"800\\\\d{7}\",,,,\"8001234567\",,,[10]],[,,\"900\\\\d{7}\",,,,\"9001234567\",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"EG\",20,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\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]\"],\n\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],EH:[,[,,\"[5-8]\\\\d{8}\",,,,,,,[9]],[,,\"528[89]\\\\d{5}\",,,,\"528812345\"],[,,\"(?:6(?:[0-79]\\\\d|8[0-247-9])|7(?:[01]\\\\d|6[1267]|7[0-57]))\\\\d{6}\",,,,\"650123456\"],[,,\"80\\\\d{7}\",,,,\"801234567\"],[,,\"89\\\\d{7}\",,,,\"891234567\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"592(?:4[0-2]|93)\\\\d{4}\",,,,\"592401234\"],\"EH\",212,\"00\",\"0\",,,\"0\",,,,,,[,,,,,,,,,[-1]],,\"528[89]\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],ER:[,[,,\"[178]\\\\d{6}\",,,,,\n,,[7],[6]],[,,\"(?:1(?:1[12568]|[24]0|55|6[146])|8\\\\d\\\\d)\\\\d{4}\",,,,\"8370362\",,,,[6]],[,,\"(?:17[1-3]|7\\\\d\\\\d)\\\\d{4}\",,,,\"7123456\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"ER\",291,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[178]\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],ES:[,[,,\"[5-9]\\\\d{8}\",,,,,,,[9]],[,,\"96906(?:0[0-8]|1[1-9]|[2-9]\\\\d)\\\\d\\\\d|9(?:69(?:0[0-57-9]|[1-9]\\\\d)|73(?:[0-8]\\\\d|9[1-9]))\\\\d{4}|(?:8(?:[1356]\\\\d|[28][0-8]|[47][1-9])|9(?:[135]\\\\d|[268][0-8]|4[1-9]|7[124-9]))\\\\d{6}\",\n,,,\"810123456\"],[,,\"(?:590[16]00\\\\d|9(?:6906(?:09|10)|7390\\\\d\\\\d))\\\\d\\\\d|(?:6\\\\d|7[1-48])\\\\d{7}\",,,,\"612345678\"],[,,\"[89]00\\\\d{6}\",,,,\"800123456\"],[,,\"80[367]\\\\d{6}\",,,,\"803123456\"],[,,\"90[12]\\\\d{6}\",,,,\"901123456\"],[,,\"70\\\\d{7}\",,,,\"701234567\"],[,,,,,,,,,[-1]],\"ES\",34,\"00\",,,,,,,,[[,\"(\\\\d{4})\",\"$1\",[\"905\"]],[,\"(\\\\d{6})\",\"$1\",[\"[79]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]\"]]],[[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]00\"]],\n[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-9]\"]]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"51\\\\d{7}\",,,,\"511234567\"],,,[,,,,,,,,,[-1]]],ET:[,[,,\"(?:11|[2-59]\\\\d)\\\\d{7}\",,,,,,,[9],[7]],[,,\"11667[01]\\\\d{3}|(?:11(?:1(?:1[124]|2[2-7]|3[1-5]|5[5-8]|8[6-8])|2(?:13|3[6-8]|5[89]|7[05-9]|8[2-6])|3(?:2[01]|3[0-289]|4[1289]|7[1-4]|87)|4(?:1[69]|3[2-49]|4[0-3]|6[5-8])|5(?:1[578]|44|5[0-4])|6(?:1[78]|2[69]|39|4[5-7]|5[1-5]|6[0-59]|8[015-8]))|2(?:2(?:11[1-9]|22[0-7]|33\\\\d|44[1467]|66[1-68])|5(?:11[124-6]|33[2-8]|44[1467]|55[14]|66[1-3679]|77[124-79]|880))|3(?:3(?:11[0-46-8]|(?:22|55)[0-6]|33[0134689]|44[04]|66[01467])|4(?:44[0-8]|55[0-69]|66[0-3]|77[1-5]))|4(?:6(?:119|22[0-24-7]|33[1-5]|44[13-69]|55[14-689]|660|88[1-4])|7(?:(?:11|22)[1-9]|33[13-7]|44[13-6]|55[1-689]))|5(?:7(?:227|55[05]|(?:66|77)[14-8])|8(?:11[149]|22[013-79]|33[0-68]|44[013-8]|550|66[1-5]|77\\\\d)))\\\\d{4}\",\n,,,\"111112345\",,,,[7]],[,,\"9\\\\d{8}\",,,,\"911234567\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"ET\",251,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-59]\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],FI:[,[,,\"[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]],[,,\"(?:1[3-79][1-8]|[235689][1-8]\\\\d)\\\\d{2,6}\",,,,\"131234567\",,,[5,6,7,8,9]],[,,\"4946\\\\d{2,6}|(?:4[0-8]|50)\\\\d{4,8}\",\n,,,\"412345678\",,,[6,7,8,9,10]],[,,\"800\\\\d{4,6}\",,,,\"800123456\",,,[7,8,9]],[,,\"[67]00\\\\d{5,6}\",,,,\"600123456\",,,[8,9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"FI\",358,\"00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))\",\"0\",,,\"0\",,\"00\",,[[,\"(\\\\d{5})\",\"$1\",[\"75[12]\"],\"0$1\"],[,\"(\\\\d)(\\\\d{4,9})\",\"$1 $2\",[\"[2568][1-8]|3(?:0[1-9]|[1-9])|9\"],\"0$1\"],[,\"(\\\\d{6})\",\"$1\",[\"11\"]],[,\"(\\\\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\"],[,\n\"(\\\\d{2})(\\\\d{6,10})\",\"$1 $2\",[\"7\"],\"0$1\"]],[[,\"(\\\\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\"]],[,,,,,,,,,[-1]],1,\"1[03-79]|[2-9]\",[,,\"20(?:2[023]|9[89])\\\\d{1,6}|(?:60[12]\\\\d|7099)\\\\d{4,5}|(?:606|7(?:0[78]|1|3\\\\d))\\\\d{7}|(?:[1-3]00|7(?:0[1-5]\\\\d\\\\d|5[03-9]))\\\\d{3,7}\"],[,,\"20\\\\d{4,8}|60[12]\\\\d{5,6}|7(?:099\\\\d{4,5}|5[03-9]\\\\d{3,7})|20[2-59]\\\\d\\\\d|(?:606|7(?:0[78]|1|3\\\\d))\\\\d{7}|(?:10|29|3[09]|70[1-5]\\\\d)\\\\d{4,8}\",\n,,,\"10112345\"],,,[,,,,,,,,,[-1]]],FJ:[,[,,\"45\\\\d{5}|(?:0800\\\\d|[235-9])\\\\d{6}\",,,,,,,[7,11]],[,,\"603\\\\d{4}|(?:3[0-5]|6[25-7]|8[58])\\\\d{5}\",,,,\"3212345\",,,[7]],[,,\"(?:[279]\\\\d|45|5[01568]|8[034679])\\\\d{5}\",,,,\"7012345\",,,[7]],[,,\"0800\\\\d{7}\",,,,\"08001234567\",,,[11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"FJ\",679,\"0(?:0|52)\",,,,,,\"00\",,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[235-9]|45\"]],[,\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"0\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,\n[-1]],,,[,,,,,,,,,[-1]]],FK:[,[,,\"[2-7]\\\\d{4}\",,,,,,,[5]],[,,\"[2-47]\\\\d{4}\",,,,\"31234\"],[,,\"[56]\\\\d{4}\",,,,\"51234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"FK\",500,\"00\",,,,,,,,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],FM:[,[,,\"(?:[39]\\\\d\\\\d|820)\\\\d{4}\",,,,,,,[7]],[,,\"31(?:00[67]|208|309)\\\\d\\\\d|(?:3(?:[2357]0[1-9]|602|804|905)|(?:820|9[2-6]\\\\d)\\\\d)\\\\d{3}\",,,,\"3201234\"],[,,\"31(?:00[67]|208|309)\\\\d\\\\d|(?:3(?:[2357]0[1-9]|602|804|905)|(?:820|9[2-7]\\\\d)\\\\d)\\\\d{3}\",\n,,,\"3501234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"FM\",691,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[389]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],FO:[,[,,\"[2-9]\\\\d{5}\",,,,,,,[6]],[,,\"(?:20|[34]\\\\d|8[19])\\\\d{4}\",,,,\"201234\"],[,,\"(?:[27][1-9]|5\\\\d|91)\\\\d{4}\",,,,\"211234\"],[,,\"80[257-9]\\\\d{3}\",,,,\"802123\"],[,,\"90(?:[13-5][15-7]|2[125-7]|9\\\\d)\\\\d\\\\d\",,,,\"901123\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"(?:6[0-36]|88)\\\\d{4}\",,\n,,\"601234\"],\"FO\",298,\"00\",,,,\"(10(?:01|[12]0|88))\",,,,[[,\"(\\\\d{6})\",\"$1\",[\"[2-9]\"],,\"$CC $1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],FR:[,[,,\"[1-9]\\\\d{8}\",,,,,,,[9]],[,,\"(?:[1-35]\\\\d|4[1-9])\\\\d{7}\",,,,\"123456789\"],[,,\"(?:6(?:[0-24-8]\\\\d|3[0-8]|9[589])|7(?:00|[3-9]\\\\d))\\\\d{6}\",,,,\"612345678\"],[,,\"80[0-5]\\\\d{6}\",,,,\"801234567\"],[,,\"836(?:0[0-36-9]|[1-9]\\\\d)\\\\d{4}|8(?:1[2-9]|2[2-47-9]|3[0-57-9]|[569]\\\\d|8[0-35-9])\\\\d{6}\",,,,\"891123456\"],[,,\"8(?:1[01]|2[0156]|84)\\\\d{6}\",\n,,,\"884012345\"],[,,,,,,,,,[-1]],[,,\"9\\\\d{8}\",,,,\"912345678\"],\"FR\",33,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{4})\",\"$1\",[\"10\"]],[,\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"1\"]],[,\"(\\\\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\"]],[[,\"(\\\\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\"]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"80[6-9]\\\\d{6}\",,,,\"806123456\"],\n,,[,,,,,,,,,[-1]]],GA:[,[,,\"(?:[067]\\\\d|11)\\\\d{6}|[2-7]\\\\d{6}\",,,,,,,[7,8]],[,,\"[01]1\\\\d{6}\",,,,\"01441234\",,,[8]],[,,\"(?:(?:0[2-7]\\\\d|6(?:0[0-4]|10|[256]\\\\d))\\\\d|7(?:[47]\\\\d\\\\d|658))\\\\d{4}|[2-7]\\\\d{6}\",,,,\"06031234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"GA\",241,\"00\",,,,\"0(11\\\\d{6}|60\\\\d{6}|61\\\\d{6}|6[256]\\\\d{6}|7[47]\\\\d{6}|76\\\\d{6})\",\"$1\",,,[[,\"(\\\\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\",\n[\"11|[67]\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"0\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GB:[,[,,\"[1-357-9]\\\\d{9}|[18]\\\\d{8}|8\\\\d{6}\",,,,,,,[7,9,10],[4,5,6,8]],[,,\"(?:1(?:1(?:3(?:[0-58]\\\\d\\\\d|73[0235])|4(?:[0-5]\\\\d\\\\d|69[7-9]|70[0359])|(?:5[0-26-9]|[78][0-49])\\\\d\\\\d|6(?:[0-4]\\\\d\\\\d|50[0-24-69]))|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-278])))|(?: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}\",\n,,,\"1212345678\",,,[9,10],[4,5,6,7,8]],[,,\"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}\",,,,\"7400123456\",,,[10]],[,,\"80[08]\\\\d{7}|800\\\\d{6}|8001111\",,,,\"8001234567\"],[,,\"(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\\\d|8[2-49]))\\\\d{7}|845464\\\\d\",,,,\"9012345678\",,,[7,10]],[,,,,,,,,,[-1]],[,,\"70\\\\d{8}\",,,,\"7012345678\",,,[10]],[,,\"56\\\\d{8}\",,,,\"5612345678\",\n,,[10]],\"GB\",44,\"00\",\"0\",\" x\",,\"0\",,,,[[,\"(\\\\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])\",\n\"[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\"]],,[,,\"76(?:464|652)\\\\d{5}|76(?:0[0-2]|2[356]|34|4[01347]|5[49]|6[0-369]|77|81|9[139])\\\\d{6}\",,,,\"7640123456\",,,[10]],1,,[,,,,,,,,,[-1]],[,,\"(?:3[0347]|55)\\\\d{8}\",,,,\"5512345678\",,,[10]],,,[,,,,,,,,,[-1]]],GD:[,[,,\"(?:473|[58]\\\\d\\\\d|900)\\\\d{7}\",,,,,,,[10],[7]],[,,\"473(?:2(?:3[0-2]|69)|3(?:2[89]|86)|4(?:[06]8|3[5-9]|4[0-49]|5[5-79]|73|90)|63[68]|7(?:58|84)|800|938)\\\\d{4}\",\n,,,\"4732691234\",,,,[7]],[,,\"473(?:4(?:0[2-79]|1[04-9]|2[0-5]|58)|5(?:2[01]|3[3-8])|901)\\\\d{4}\",,,,\"4734031234\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002123456\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002123456\"],[,,,,,,,,,[-1]],[,,\"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[12]|33|44|66|77|88)[2-9]\\\\d{6}\",,,,\"5002345678\"],[,,,,,,,,,[-1]],\"GD\",\n1,\"011\",\"1\",,,\"1|([2-9]\\\\d{6})$\",\"473$1\",,,,,[,,,,,,,,,[-1]],,\"473\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GE:[,[,,\"(?:[3-57]\\\\d\\\\d|800)\\\\d{6}\",,,,,,,[9],[6,7]],[,,\"(?:3(?:[256]\\\\d|4[124-9]|7[0-4])|4(?:1\\\\d|2[2-7]|3[1-79]|4[2-8]|7[239]|9[1-7]))\\\\d{6}\",,,,\"322123456\",,,,[6,7]],[,,\"5(?:(?:0555|1177)[5-9]|757(?:7[7-9]|8[01]))\\\\d{3}|5(?:0070|(?:11|33)33|[25]222)[0-4]\\\\d{3}|5(?:00(?:0\\\\d|50)|11(?:00|1\\\\d|2[0-4])|5200|75(?:00|[57]5)|8(?:0(?:[01]\\\\d|2[0-4])|58[89]|8(?:55|88)))\\\\d{4}|(?:5(?:[14]4|5[0157-9]|68|7[0147-9]|9[1-35-9])|790)\\\\d{6}\",\n,,,\"555123456\"],[,,\"800\\\\d{6}\",,,,\"800123456\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"70[67]\\\\d{6}\",,,,\"706123456\"],\"GE\",995,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\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\"]],,[,,,,,,,,,[-1]],,,[,,\"70[67]\\\\d{6}\"],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GF:[,[,,\"(?:[56]94|80\\\\d|976)\\\\d{6}\",\n,,,,,,[9]],[,,\"594(?:[023]\\\\d|1[01]|4[03-9]|5[6-9]|6[0-3]|80|9[0-4])\\\\d{4}\",,,,\"594101234\"],[,,\"694(?:[0-249]\\\\d|3[0-48])\\\\d{4}\",,,,\"694201234\"],[,,\"80[0-5]\\\\d{6}\",,,,\"800012345\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"976\\\\d{6}\",,,,\"976012345\"],\"GF\",594,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\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\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GG:[,[,,\"(?:1481|[357-9]\\\\d{3})\\\\d{6}|8\\\\d{6}(?:\\\\d{2})?\",\n,,,,,,[7,9,10],[6]],[,,\"1481[25-9]\\\\d{5}\",,,,\"1481256789\",,,[10],[6]],[,,\"7(?:(?:781|839)\\\\d|911[17])\\\\d{5}\",,,,\"7781123456\",,,[10]],[,,\"80[08]\\\\d{7}|800\\\\d{6}|8001111\",,,,\"8001234567\"],[,,\"(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\\\d|8[0-3]))\\\\d{7}|845464\\\\d\",,,,\"9012345678\",,,[7,10]],[,,,,,,,,,[-1]],[,,\"70\\\\d{8}\",,,,\"7012345678\",,,[10]],[,,\"56\\\\d{8}\",,,,\"5612345678\",,,[10]],\"GG\",44,\"00\",\"0\",,,\"0|([25-9]\\\\d{5})$\",\"1481$1\",,,,,[,,\"76(?:464|652)\\\\d{5}|76(?:0[0-2]|2[356]|34|4[01347]|5[49]|6[0-369]|77|81|9[139])\\\\d{6}\",\n,,,\"7640123456\",,,[10]],,,[,,,,,,,,,[-1]],[,,\"(?:3[0347]|55)\\\\d{8}\",,,,\"5512345678\",,,[10]],,,[,,,,,,,,,[-1]]],GH:[,[,,\"(?:[235]\\\\d{3}|800)\\\\d{5}\",,,,,,,[8,9],[7]],[,,\"3082[0-5]\\\\d{4}|3(?:0(?:[237]\\\\d|8[01])|[167](?:2[0-6]|7\\\\d|80)|2(?:2[0-5]|7\\\\d|80)|3(?:2[0-3]|7\\\\d|80)|4(?:2[013-9]|3[01]|7\\\\d|80)|5(?:2[0-7]|7\\\\d|80)|8(?:2[0-2]|7\\\\d|80)|9(?:[28]0|7\\\\d))\\\\d{5}\",,,,\"302345678\",,,[9],[7]],[,,\"(?:2(?:[0346-8]\\\\d|5[67])|5(?:[0457]\\\\d|6[01]|9[1-9]))\\\\d{6}\",,,,\"231234567\",,,[9]],[,,\"800\\\\d{5}\",,,,\"80012345\",\n,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"GH\",233,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[237]|8[0-2]\"]],[,\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"8\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[235]\"],\"0$1\"]],[[,\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"8\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[235]\"],\"0$1\"]],[,,,,,,,,,[-1]],,,[,,\"800\\\\d{5}\",,,,,,,[8]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GI:[,[,,\"(?:[25]\\\\d\\\\d|606)\\\\d{5}\",,,,,,,[8]],[,,\"21(?:6[24-7]\\\\d|90[0-2])\\\\d{3}|2(?:00|2[25])\\\\d{5}\",\n,,,\"20012345\"],[,,\"(?:5[146-8]\\\\d|606)\\\\d{5}\",,,,\"57123456\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"GI\",350,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"2\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GL:[,[,,\"(?:19|[2-689]\\\\d|70)\\\\d{4}\",,,,,,,[6]],[,,\"(?:19|3[1-7]|6[14689]|70|8[14-79]|9\\\\d)\\\\d{4}\",,,,\"321000\"],[,,\"[245]\\\\d{5}\",,,,\"221234\"],[,,\"80\\\\d{4}\",,,,\"801234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"3[89]\\\\d{4}\",\n,,,\"381234\"],\"GL\",299,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"19|[2-9]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GM:[,[,,\"[2-9]\\\\d{6}\",,,,,,,[7]],[,,\"(?:4(?:[23]\\\\d\\\\d|4(?:1[024679]|[6-9]\\\\d))|5(?:5(?:3\\\\d|4[0-7])|6[67]\\\\d|7(?:1[04]|2[035]|3[58]|48))|8\\\\d{3})\\\\d{3}\",,,,\"5661234\"],[,,\"(?:[23679]\\\\d|5[0-389])\\\\d{5}\",,,,\"3012345\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"GM\",220,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",\n[\"[2-9]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GN:[,[,,\"722\\\\d{6}|(?:3|6\\\\d)\\\\d{7}\",,,,,,,[8,9]],[,,\"3(?:0(?:24|3[12]|4[1-35-7]|5[13]|6[189]|[78]1|9[1478])|1\\\\d\\\\d)\\\\d{4}\",,,,\"30241234\",,,[8]],[,,\"6[0-356]\\\\d{7}\",,,,\"601123456\",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"722\\\\d{6}\",,,,\"722123456\",,,[9]],\"GN\",224,\"00\",,,,,,,,[[,\"(\\\\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\",\n[\"[67]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GP:[,[,,\"(?:590|(?:69|80)\\\\d|976)\\\\d{6}\",,,,,,,[9]],[,,\"590(?:0[1-68]|1[0-2]|2[0-68]|3[1289]|4[0-24-9]|5[3-579]|6[0189]|7[08]|8[0-689]|9\\\\d)\\\\d{4}\",,,,\"590201234\"],[,,\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5]))\\\\d{4}\",,,,\"690001234\"],[,,\"80[0-5]\\\\d{6}\",,,,\"800012345\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"976[01]\\\\d{5}\",,,,\"976012345\"],\"GP\",590,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",\n[\"[569]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],,[,,,,,,,,,[-1]],1,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GQ:[,[,,\"222\\\\d{6}|(?:3\\\\d|55|[89]0)\\\\d{7}\",,,,,,,[9]],[,,\"33[0-24-9]\\\\d[46]\\\\d{4}|3(?:33|5\\\\d)\\\\d[7-9]\\\\d{4}\",,,,\"333091234\"],[,,\"(?:222|55\\\\d)\\\\d{6}\",,,,\"222123456\"],[,,\"80\\\\d[1-9]\\\\d{5}\",,,,\"800123456\"],[,,\"90\\\\d[1-9]\\\\d{5}\",,,,\"900123456\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"GQ\",240,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",\n[\"[235]\"]],[,\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"[89]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GR:[,[,,\"5005000\\\\d{3}|8\\\\d{9,11}|(?:[269]\\\\d|70)\\\\d{8}\",,,,,,,[10,11,12]],[,,\"2(?:1\\\\d\\\\d|2(?:2[1-46-9]|[36][1-8]|4[1-7]|5[1-4]|7[1-5]|[89][1-9])|3(?:1\\\\d|2[1-57]|[35][1-3]|4[13]|7[1-7]|8[124-6]|9[1-79])|4(?:1\\\\d|2[1-8]|3[1-4]|4[13-5]|6[1-578]|9[1-5])|5(?:1\\\\d|[29][1-4]|3[1-5]|4[124]|5[1-6])|6(?:1\\\\d|[269][1-6]|3[1245]|4[1-7]|5[13-9]|7[14]|8[1-5])|7(?:1\\\\d|2[1-5]|3[1-6]|4[1-7]|5[1-57]|6[135]|9[125-7])|8(?:1\\\\d|2[1-5]|[34][1-4]|9[1-57]))\\\\d{6}\",\n,,,\"2123456789\",,,[10]],[,,\"68[57-9]\\\\d{7}|(?:69|94)\\\\d{8}\",,,,\"6912345678\",,,[10]],[,,\"800\\\\d{7,9}\",,,,\"8001234567\"],[,,\"90[19]\\\\d{7}\",,,,\"9091234567\",,,[10]],[,,\"8(?:0[16]|12|[27]5|50)\\\\d{7}\",,,,\"8011234567\",,,[10]],[,,\"70\\\\d{8}\",,,,\"7012345678\",,,[10]],[,,,,,,,,,[-1]],\"GR\",30,\"00\",,,,,,,,[[,\"(\\\\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})\",\n\"$1 $2 $3\",[\"8\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"5005000\\\\d{3}\",,,,\"5005000123\",,,[10]],,,[,,,,,,,,,[-1]]],GT:[,[,,\"(?:1\\\\d{3}|[2-7])\\\\d{7}\",,,,,,,[8,11]],[,,\"[267][2-9]\\\\d{6}\",,,,\"22456789\",,,[8]],[,,\"[3-5]\\\\d{7}\",,,,\"51234567\",,,[8]],[,,\"18[01]\\\\d{8}\",,,,\"18001112222\",,,[11]],[,,\"19\\\\d{9}\",,,,\"19001112222\",,,[11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"GT\",502,\"00\",,,,,,,,[[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-7]\"]],[,\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]]],,[,,,,,,,,,[-1]],\n,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GU:[,[,,\"(?:[58]\\\\d\\\\d|671|900)\\\\d{7}\",,,,,,,[10],[7]],[,,\"671(?:3(?:00|3[39]|4[349]|55|6[26])|4(?:00|56|7[1-9]|8[0236-9])|5(?:55|6[2-5]|88)|6(?:3[2-578]|4[24-9]|5[34]|78|8[235-9])|7(?:[0479]7|2[0167]|3[45]|8[7-9])|8(?:[2-57-9]8|6[48])|9(?:2[29]|6[79]|7[1279]|8[7-9]|9[78]))\\\\d{4}\",,,,\"6713001234\",,,,[7]],[,,\"671(?:3(?:00|3[39]|4[349]|55|6[26])|4(?:00|56|7[1-9]|8[0236-9])|5(?:55|6[2-5]|88)|6(?:3[2-578]|4[24-9]|5[34]|78|8[235-9])|7(?:[0479]7|2[0167]|3[45]|8[7-9])|8(?:[2-57-9]8|6[48])|9(?:2[29]|6[79]|7[1279]|8[7-9]|9[78]))\\\\d{4}\",\n,,,\"6713001234\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002123456\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002123456\"],[,,,,,,,,,[-1]],[,,\"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[12]|33|44|66|77|88)[2-9]\\\\d{6}\",,,,\"5002345678\"],[,,,,,,,,,[-1]],\"GU\",1,\"011\",\"1\",,,\"1|([3-9]\\\\d{6})$\",\"671$1\",,1,,,[,,,,,,,,,[-1]],,\"671\",[,,,,,,,,,[-1]],[,,,,,,,\n,,[-1]],,,[,,,,,,,,,[-1]]],GW:[,[,,\"[49]\\\\d{8}|4\\\\d{6}\",,,,,,,[7,9]],[,,\"443\\\\d{6}\",,,,\"443201234\",,,[9]],[,,\"9(?:5\\\\d|6[569]|77)\\\\d{6}\",,,,\"955012345\",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"40\\\\d{5}\",,,,\"4012345\",,,[7]],\"GW\",245,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"40\"]],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[49]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GY:[,[,,\"(?:862\\\\d|9008)\\\\d{3}|(?:[2-46]\\\\d|77)\\\\d{5}\",,,,,,,[7]],\n[,,\"(?:2(?:1[6-9]|2[0-35-9]|3[1-4]|5[3-9]|6\\\\d|7[0-24-79])|3(?:2[25-9]|3\\\\d)|4(?:4[0-24]|5[56])|77[1-57])\\\\d{4}\",,,,\"2201234\"],[,,\"6\\\\d{6}\",,,,\"6091234\"],[,,\"(?:289|862)\\\\d{4}\",,,,\"2891234\"],[,,\"9008\\\\d{3}\",,,,\"9008123\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"GY\",592,\"001\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-46-9]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],HK:[,[,,\"8[0-46-9]\\\\d{6,7}|9\\\\d{4}(?:\\\\d(?:\\\\d(?:\\\\d{4})?)?)?|(?:[235-79]\\\\d|46)\\\\d{6}\",,,,,,,[5,\n6,7,8,9,11]],[,,\"(?:2(?:[13-9]\\\\d|2[013-9])\\\\d|3(?:(?:[1569][0-24-9]|4[0-246-9]|7[0-24-69])\\\\d|8(?:4[0-8]|5[0-5]|9\\\\d))|58(?:0[1-8]|1[2-9]))\\\\d{4}\",,,,\"21234567\",,,[8]],[,,\"(?:46(?:[07][0-7]|1[0-6]|4[0-57-9]|5[0-8]|6[0-4])|573[0-6]|6(?:26[013-7]|66[0-3])|70(?:7[1-5]|8[0-4])|848[015-9]|929[03-9])\\\\d{4}|(?:46[238]|5(?:[1-59][0-46-9]|6[0-4689]|7[0-2469])|6(?:0[1-9]|[13-59]\\\\d|[268][0-57-9]|7[0-79])|84[09]|9(?:0[1-9]|1[02-9]|[2358][0-8]|[467]\\\\d))\\\\d{5}\",,,,\"51234567\",,,[8]],[,,\"800\\\\d{6}\",,,,\"800123456\",\n,,[9]],[,,\"900(?:[0-24-9]\\\\d{7}|3\\\\d{1,4})\",,,,\"90012345678\",,,[5,6,7,8,11]],[,,,,,,,,,[-1]],[,,\"8(?:1[0-4679]\\\\d|2(?:[0-36]\\\\d|7[0-4])|3(?:[034]\\\\d|2[09]|70))\\\\d{4}\",,,,\"81123456\",,,[8]],[,,,,,,,,,[-1]],\"HK\",852,\"00(?:30|5[09]|[126-9]?)\",,,,,,\"00\",,[[,\"(\\\\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\"]]],,[,,\"7(?:1(?:0[0-38]|1[0-3679]|3[013]|69|9[0136])|2(?:[02389]\\\\d|1[18]|7[27-9])|3(?:[0-38]\\\\d|7[0-369]|9[2357-9])|47\\\\d|5(?:[178]\\\\d|5[0-5])|6(?:0[0-7]|2[236-9]|[35]\\\\d)|7(?:[27]\\\\d|8[7-9])|8(?:[23689]\\\\d|7[1-9])|9(?:[025]\\\\d|6[0-246-8]|7[0-36-9]|8[238]))\\\\d{4}\",\n,,,\"71123456\",,,[8]],,,[,,,,,,,,,[-1]],[,,\"30(?:0[1-9]|[15-7]\\\\d|2[047]|89)\\\\d{4}\",,,,\"30161234\",,,[8]],,,[,,,,,,,,,[-1]]],HN:[,[,,\"8\\\\d{10}|[237-9]\\\\d{7}\",,,,,,,[8,11]],[,,\"2(?:2(?:0[0-39]|1[1-367]|[23]\\\\d|4[03-6]|5[57]|6[245]|7[0135689]|8[01346-9]|9[0-2])|4(?:0[78]|2[3-59]|3[13-9]|4[0-68]|5[1-35])|5(?:0[7-9]|16|4[03-5]|5\\\\d|6[014-6]|7[04]|80)|6(?:[056]\\\\d|17|2[067]|3[04]|4[0-378]|[78][0-8]|9[01])|7(?:6[46-9]|7[02-9]|8[034]|91)|8(?:79|8[0-357-9]|9[1-57-9]))\\\\d{4}\",,,,\"22123456\",,,[8]],[,,\"[37-9]\\\\d{7}\",\n,,,\"91234567\",,,[8]],[,,\"8002\\\\d{7}\",,,,\"80021234567\",,,[11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"HN\",504,\"00\",,,,,,,,[[,\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"[237-9]\"]],[,\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]]],[[,\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"[237-9]\"]]],[,,,,,,,,,[-1]],,,[,,\"8002\\\\d{7}\",,,,,,,[11]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],HR:[,[,,\"(?:[24-69]\\\\d|3[0-79])\\\\d{7}|80\\\\d{5,7}|[1-79]\\\\d{7}|6\\\\d{5,6}\",,,,,,,[6,7,8,9]],[,,\"1\\\\d{7}|(?:2[0-3]|3[1-5]|4[02-47-9]|5[1-3])\\\\d{6,7}\",\n,,,\"12345678\",,,[8,9],[6,7]],[,,\"9(?:751\\\\d{5}|8\\\\d{6,7})|9(?:0[1-9]|[1259]\\\\d|7[0679])\\\\d{6}\",,,,\"921234567\",,,[8,9]],[,,\"80[01]\\\\d{4,6}\",,,,\"800123456\",,,[7,8,9]],[,,\"6[01459]\\\\d{6}|6[01]\\\\d{4,5}\",,,,\"611234\",,,[6,7,8]],[,,,,,,,,,[-1]],[,,\"7[45]\\\\d{6}\",,,,\"74123456\",,,[8]],[,,,,,,,,,[-1]],\"HR\",385,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\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})\",\n\"$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\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"62\\\\d{6,7}|72\\\\d{6}\",,,,\"62123456\",,,[8,9]],,,[,,,,,,,,,[-1]]],HT:[,[,,\"[2-489]\\\\d{7}\",,,,,,,[8]],[,,\"2(?:2\\\\d|5[1-5]|81|9[149])\\\\d{5}\",,,,\"22453300\"],[,,\"[34]\\\\d{7}\",,,,\"34101234\"],[,,\"8\\\\d{7}\",,,,\"80012345\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"9(?:[67][0-4]|8[0-3589]|9\\\\d)\\\\d{5}\",\n,,,\"98901234\"],\"HT\",509,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-489]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],HU:[,[,,\"[235-7]\\\\d{8}|[1-9]\\\\d{7}\",,,,,,,[8,9],[6,7]],[,,\"(?:1\\\\d|[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6[23689]|8[2-57-9]|9[2-69])\\\\d{6}\",,,,\"12345678\",,,[8],[6,7]],[,,\"(?:[257]0|3[01])\\\\d{7}\",,,,\"201234567\",,,[9]],[,,\"(?:[48]0\\\\d|680[29])\\\\d{5}\",,,,\"80123456\"],[,,\"9[01]\\\\d{6}\",,,,\"90123456\",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"21\\\\d{7}\",\n,,,\"211234567\",,,[9]],\"HU\",36,\"00\",\"06\",,,\"06\",,,,[[,\"(\\\\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\"]],,[,,,,,,,,,[-1]],,,[,,\"(?:[48]0\\\\d|680[29])\\\\d{5}\"],[,,\"38\\\\d{7}\",,,,\"381234567\",,,[9]],,,[,,,,,,,,,[-1]]],ID:[,[,,\"(?:(?: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],[5,6]],\n[,,\"2[124]\\\\d{7,8}|619\\\\d{8}|2(?:1(?:14|500)|2\\\\d{3})\\\\d{3}|61\\\\d{5,8}|(?:2(?:[35][1-4]|6[0-8]|7[1-6]|8\\\\d|9[1-8])|3(?:1|[25][1-8]|3[1-68]|4[1-3]|6[1-3568]|7[0-469]|8\\\\d)|4(?:0[1-589]|1[01347-9]|2[0-36-8]|3[0-24-68]|43|5[1-378]|6[1-5]|7[134]|8[1245])|5(?:1[1-35-9]|2[25-8]|3[124-9]|4[1-3589]|5[1-46]|6[1-8])|6(?:[25]\\\\d|3[1-69]|4[1-6])|7(?:02|[125][1-9]|[36]\\\\d|4[1-8]|7[0-36-9])|9(?:0[12]|1[013-8]|2[0-479]|5[125-8]|6[23679]|7[159]|8[01346]))\\\\d{5,8}\",,,,\"218350123\",,,[7,8,9,10,11],[5,6]],[,,\"8[1-35-9]\\\\d{7,10}\",\n,,,\"812345678\",,,[9,10,11,12]],[,,\"00[17]803\\\\d{7}|(?:177\\\\d|800)\\\\d{5,7}|001803\\\\d{6}\",,,,\"8001234567\",,,[8,9,10,11,12,13]],[,,\"809\\\\d{7}\",,,,\"8091234567\",,,[10]],[,,\"804\\\\d{7}\",,,,\"8041234567\",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"ID\",62,\"00[89]\",\"0\",,,\"0\",,,,[[,\"(\\\\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\",\n[\"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\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"001\"]],[,\"(\\\\d{2})(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"0\"]]],[[,\"(\\\\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\"],\n[,\"(\\\\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\"]],[,,,,,,,,,[-1]],,,[,,\"001803\\\\d{6,7}|(?:007803\\\\d|8071)\\\\d{6}\",,,,,,,[10,12,13]],[,,\"(?:1500|8071\\\\d{3})\\\\d{3}\",,,,\"8071123456\",,,[7,10]],,,[,,,,,,,,,[-1]]],IE:[,[,,\"(?:1\\\\d|[2569])\\\\d{6,8}|4\\\\d{6,9}|7\\\\d{8}|8\\\\d{8,9}\",\n,,,,,,[7,8,9,10],[5,6]],[,,\"(?:1\\\\d|21)\\\\d{6,7}|(?:2[24-9]|4(?:0[24]|5\\\\d|7)|5(?:0[45]|1\\\\d|8)|6(?:1\\\\d|[237-9])|9(?:1\\\\d|[35-9]))\\\\d{5}|(?:23|4(?:[1-469]|8\\\\d)|5[23679]|6[4-6]|7[14]|9[04])\\\\d{7}\",,,,\"2212345\",,,,[5,6]],[,,\"8(?:22|[35-9]\\\\d)\\\\d{6}\",,,,\"850123456\",,,[9]],[,,\"1800\\\\d{6}\",,,,\"1800123456\",,,[10]],[,,\"15(?:1[2-8]|[2-8]0|9[089])\\\\d{6}\",,,,\"1520123456\",,,[10]],[,,\"18[59]0\\\\d{6}\",,,,\"1850123456\",,,[10]],[,,\"700\\\\d{6}\",,,,\"700123456\",,,[9]],[,,\"76\\\\d{7}\",,,,\"761234567\",,,[9]],\"IE\",353,\"00\",\n\"0\",,,\"0\",,,,[[,\"(\\\\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})\",\n\"$1 $2 $3\",[\"4\"],\"(0$1)\"],[,\"(\\\\d{2})(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,\"18[59]0\\\\d{6}\",,,,,,,[10]],[,,\"818\\\\d{6}\",,,,\"818123456\",,,[9]],,,[,,\"88210[1-9]\\\\d{4}|8(?:[35-79]5\\\\d\\\\d|8(?:[013-9]\\\\d\\\\d|2(?:[01][1-9]|[2-9]\\\\d)))\\\\d{5}\",,,,\"8551234567\",,,[10]]],IL:[,[,,\"1\\\\d{6}(?:\\\\d{3,5})?|[57]\\\\d{8}|[1-489]\\\\d{7}\",,,,,,,[7,8,9,10,11,12]],[,,\"153\\\\d{8,9}|29[1-9]\\\\d{5}|(?:2[0-8]|[3489]\\\\d)\\\\d{6}\",,,,\"21234567\",,,[8,11,12],[7]],[,,\"5(?:(?:[02368]\\\\d|[19][2-9]|4[1-9])\\\\d|5(?:01|1[79]|2[2-9]|3[0-3]|4[34]|5[015689]|6[6-8]|7[0-267]|8[7-9]|9[1-9]))\\\\d{5}\",\n,,,\"502345678\",,,[9]],[,,\"1(?:255|80[019]\\\\d{3})\\\\d{3}\",,,,\"1800123456\",,,[7,10]],[,,\"1212\\\\d{4}|1(?:200|9(?:0[01]|19))\\\\d{6}\",,,,\"1919123456\",,,[8,10]],[,,\"1700\\\\d{6}\",,,,\"1700123456\",,,[10]],[,,,,,,,,,[-1]],[,,\"7(?:380|8(?:33|55|77|81))\\\\d{5}|7(?:18|2[23]|3[237]|47|6[58]|7\\\\d|82|9[235-9])\\\\d{6}\",,,,\"771234567\",,,[9]],\"IL\",972,\"0(?:0|1[2-9])\",\"0\",,,\"0\",,,,[[,\"(\\\\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\"],\n[,\"(\\\\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\"]]],,[,,,,,,,,,[-1]],,,[,,\"1700\\\\d{6}\",,,,,,,[10]],[,,\"1599\\\\d{6}\",,,,\"1599123456\",,,[10]],,,[,,\"151\\\\d{8,9}\",,,,\"15112340000\",,,[11,12]]],IM:[,[,,\"1624\\\\d{6}|(?:[3578]\\\\d|90)\\\\d{8}\",,,,,,,[10],[6]],[,,\"1624(?:230|[5-8]\\\\d\\\\d)\\\\d{3}\",,,,\"1624756789\",\n,,,[6]],[,,\"76245[06]\\\\d{4}|7(?:4576|[59]24\\\\d|624[0-4689])\\\\d{5}\",,,,\"7924123456\"],[,,\"808162\\\\d{4}\",,,,\"8081624567\"],[,,\"8(?:440[49]06|72299\\\\d)\\\\d{3}|(?:8(?:45|70)|90[0167])624\\\\d{4}\",,,,\"9016247890\"],[,,,,,,,,,[-1]],[,,\"70\\\\d{8}\",,,,\"7012345678\"],[,,\"56\\\\d{8}\",,,,\"5612345678\"],\"IM\",44,\"00\",\"0\",,,\"0|([25-8]\\\\d{5})$\",\"1624$1\",,,,,[,,,,,,,,,[-1]],,\"74576|(?:16|7[56])24\",[,,,,,,,,,[-1]],[,,\"3440[49]06\\\\d{3}|(?:3(?:08162|3\\\\d{4}|45624|7(?:0624|2299))|55\\\\d{4})\\\\d{4}\",,,,\"5512345678\"],,,[,,,,,,,,,[-1]]],\nIN:[,[,,\"(?:000800|[2-9]\\\\d\\\\d)\\\\d{7}|1\\\\d{7,12}\",,,,,,,[8,9,10,11,12,13],[6,7]],[,,\"2717(?:[2-7]\\\\d|95)\\\\d{4}|(?:271[0-689]|782[0-6])[2-7]\\\\d{5}|(?:170[24]|2(?:(?:[02][2-79]|90)\\\\d|80[13468])|(?:3(?:23|80)|683|79[1-7])\\\\d|4(?:20[24]|72[2-8])|552[1-7])\\\\d{6}|(?:11|33|4[04]|80)[2-7]\\\\d{7}|(?:342|674|788)(?:[0189][2-7]|[2-7]\\\\d)\\\\d{5}|(?:1(?:2[0-249]|3[0-25]|4[145]|[59][14]|6[014]|7[1257]|8[01346])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[13]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[014-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|2[14]|3[134]|4[47]|5[15]|[67]1)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91))[2-7]\\\\d{6}|(?:1(?:2[35-8]|3[346-9]|4[236-9]|[59][0235-9]|6[235-9]|7[34689]|8[257-9])|2(?:1[134689]|3[24-8]|4[2-8]|5[25689]|6[2-4679]|7[3-79]|8[2-479]|9[235-9])|3(?:01|1[79]|2[1245]|4[5-8]|5[125689]|6[235-7]|7[157-9]|8[2-46-8])|4(?:1[14578]|2[5689]|3[2-467]|5[4-7]|6[35]|73|8[2689]|9[2389])|5(?:[16][146-9]|2[14-8]|3[1346]|4[14-69]|5[46]|7[2-4]|8[2-8]|9[246])|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])|7(?:1[013-9]|2[0235-9]|3[2679]|4[1-35689]|5[2-46-9]|[67][02-9]|8[013-7]|9[089])|8(?:1[1357-9]|2[235-8]|3[03-57-9]|4[0-24-9]|5\\\\d|6[2457-9]|7[1-6]|8[1256]|9[2-4]))\\\\d[2-7]\\\\d{5}\",\n,,,\"7410410123\",,,[10],[6,7,8]],[,,\"(?:61279|7(?:887[02-9]|9(?:313|79[07-9]))|8(?:079[04-9]|(?:84|91)7[02-8]))\\\\d{5}|(?:6(?:12|[2-47]1|5[17]|6[13]|80)[0189]|7(?:1(?:2[0189]|9[0-5])|2(?:[14][017-9]|8[0-59])|3(?:2[5-8]|[34][017-9]|9[016-9])|4(?:1[015-9]|[29][89]|39|8[389])|5(?:[15][017-9]|2[04-9]|9[7-9])|6(?:0[0-47]|1[0-257-9]|2[0-4]|3[19]|5[4589])|70[0289]|88[089]|97[02-8])|8(?:0(?:6[67]|7[02-8])|70[017-9]|84[01489]|91[0-289]))\\\\d{6}|(?:7(?:31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[0189]\\\\d|7[02-8])\\\\d{5}|(?:6(?:[09]\\\\d|1[04679]|2[03689]|3[05-9]|4[0489]|50|6[069]|7[07]|8[7-9])|7(?:0\\\\d|2[0235-79]|3[05-8]|40|5[0346-8]|6[6-9]|7[1-9]|8[0-79]|9[089])|8(?:0[01589]|1[0-57-9]|2[235-9]|3[03-57-9]|[45]\\\\d|6[02457-9]|7[1-69]|8[0-25-9]|9[02-9])|9\\\\d\\\\d)\\\\d{7}|(?:6(?:(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|8[124-6])\\\\d|7(?:[235689]\\\\d|4[0189]))|7(?:1(?:[013-8]\\\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-5])|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]|881))[0189]\\\\d{5}\",\n,,,\"8123456789\",,,[10]],[,,\"000800\\\\d{7}|1(?:600\\\\d{6}|80(?:0\\\\d{4,9}|3\\\\d{9}))\",,,,\"1800123456\"],[,,\"186[12]\\\\d{9}\",,,,\"1861123456789\",,,[13]],[,,\"1860\\\\d{7}\",,,,\"18603451234\",,,[11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"IN\",91,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{7})\",\"$1\",[\"575\"]],[,\"(\\\\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)\"],,,1],[,\"(\\\\d{4})(\\\\d{4,5})\",\"$1 $2\",[\"180\",\"1800\"],,,1],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",\n[\"140\"],,,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]\",\n\"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]\"],\n\"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]\",\n\"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)\"],,,1],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\"$1 $2 $3 $4\",[\"0\"]],[,\"(\\\\d{4})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"18\"],,,1]],[[,\"(\\\\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)\"],,,1],[,\"(\\\\d{4})(\\\\d{4,5})\",\"$1 $2\",[\"180\",\"1800\"],,,1],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"140\"],,,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])\"],\n\"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]\",\n\"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]\"],\n\"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]\",\n\"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)\"],,,1],[,\"(\\\\d{4})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\"$1 $2 $3 $4\",[\"18\"],,,1]],[,,,,,,,,,[-1]],,,[,,\"1(?:600\\\\d{6}|800\\\\d{4,9})|(?:000800|18(?:03\\\\d\\\\d|6(?:0|[12]\\\\d\\\\d)))\\\\d{7}\"],[,,\"140\\\\d{7}\",,,,\"1409305260\",,,[10]],,,[,,,,,,,,,[-1]]],IO:[,[,,\"3\\\\d{6}\",,,,,,,[7]],[,,\"37\\\\d{5}\",,,,\"3709100\"],[,,\"38\\\\d{5}\",,,,\"3801234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"IO\",246,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"3\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],IQ:[,[,,\"(?:1|7\\\\d\\\\d)\\\\d{7}|[2-6]\\\\d{7,8}\",\n,,,,,,[8,9,10],[6,7]],[,,\"1\\\\d{7}|(?:2[13-5]|3[02367]|4[023]|5[03]|6[026])\\\\d{6,7}\",,,,\"12345678\",,,[8,9],[6,7]],[,,\"7[3-9]\\\\d{8}\",,,,\"7912345678\",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"IQ\",964,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\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\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],IR:[,\n[,,\"[1-9]\\\\d{9}|(?:[1-8]\\\\d\\\\d|9)\\\\d{3,4}\",,,,,,,[4,5,6,7,10],[8]],[,,\"(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])(?:[03-57]\\\\d{7}|[16]\\\\d{3}(?:\\\\d{4})?|[289]\\\\d{3}(?:\\\\d(?:\\\\d{3})?)?)|94(?:000[09]|2(?:121|[2689]0\\\\d)|30[0-2]\\\\d|4(?:111|40\\\\d))\\\\d{4}\",,,,\"2123456789\",,,[6,7,10],[4,5,8]],[,,\"9(?:(?:0(?:[0-35]\\\\d|4[4-6])|(?:[13]\\\\d|2[0-3])\\\\d)\\\\d|9(?:(?:[0-3]\\\\d|4[0145])\\\\d|5[15]0|8(?:1\\\\d|88)|9(?:0[013]|[19]\\\\d|21|77|8[7-9])))\\\\d{5}\",,,,\"9123456789\",,,[10]],[,,,,,,,,,[-1]],[,\n,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"IR\",98,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\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\"]],,[,,,,,,,,,[-1]],,,[,,\"9(?:4440\\\\d{5}|6(?:0[12]|2[16-8]|3(?:08|[14]5|[23]|66)|4(?:0|80)|5[01]|6[89]|86|9[19]))\",,,,,,,[4,5,10]],[,,\"96(?:0[12]|2[16-8]|3(?:08|[14]5|[23]|66)|4(?:0|80)|5[01]|6[89]|86|9[19])\",\n,,,\"9601\",,,[4,5]],,,[,,,,,,,,,[-1]]],IS:[,[,,\"(?:38\\\\d|[4-9])\\\\d{6}\",,,,,,,[7,9]],[,,\"(?:4(?:1[0-24-69]|2[0-7]|[37][0-8]|4[0-245]|5[0-68]|6\\\\d|8[0-36-8])|5(?:05|[156]\\\\d|2[02578]|3[0-579]|4[03-7]|7[0-2578]|8[0-35-9]|9[013-689])|872)\\\\d{4}\",,,,\"4101234\",,,[7]],[,,\"(?:38[589]\\\\d\\\\d|6(?:1[1-8]|2[0-6]|3[027-9]|4[014679]|5[0159]|6[0-69]|70|8[06-8]|9\\\\d)|7(?:5[057]|[6-9]\\\\d)|8(?:2[0-59]|[3-69]\\\\d|8[28]))\\\\d{4}\",,,,\"6111234\"],[,,\"80[08]\\\\d{4}\",,,,\"8001234\",,,[7]],[,,\"90(?:0\\\\d|1[5-79]|2[015-79]|3[135-79]|4[125-7]|5[25-79]|7[1-37]|8[0-35-7])\\\\d{3}\",\n,,,\"9001234\",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"49[0-24-79]\\\\d{4}\",,,,\"4921234\",,,[7]],\"IS\",354,\"00|1(?:0(?:01|[12]0)|100)\",,,,,,\"00\",,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[4-9]\"]],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"3\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"809\\\\d{4}\",,,,\"8091234\",,,[7]],,,[,,\"(?:689|8(?:7[18]|80)|95[48])\\\\d{4}\",,,,\"6891234\",,,[7]]],IT:[,[,,\"0\\\\d{5,10}|1\\\\d{8,10}|3(?:[0-8]\\\\d{7,10}|9\\\\d{7,8})|55\\\\d{8}|8\\\\d{5}(?:\\\\d{2,4})?\",,,,,,,[6,7,8,9,10,11,12]],[,,\"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}\",\n,,,\"0212345678\",,,[6,7,8,9,10,11]],[,,\"3[1-9]\\\\d{8}|3[2-9]\\\\d{7}\",,,,\"3123456789\",,,[9,10]],[,,\"80(?:0\\\\d{3}|3)\\\\d{3}\",,,,\"800123456\",,,[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}\",,,,\"899123456\",,,[6,8,9,10]],[,,\"84(?:[08]\\\\d{3}|[17])\\\\d{3}\",,,,\"848123456\",,,[6,9]],[,,\"1(?:78\\\\d|99)\\\\d{6}\",,,,\"1781234567\",,,[9,10]],[,,\"55\\\\d{8}\",,,,\"5512345678\",,,[10]],\"IT\",39,\"00\",,,,,,,,[[,\"(\\\\d{4,5})\",\"$1\",[\"1(?:0|9[246])\",\"1(?:0|9(?:2[2-9]|[46]))\"]],\n[,\"(\\\\d{6})\",\"$1\",[\"1(?:1|92)\"]],[,\"(\\\\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])|[38]\"]],[,\"(\\\\d{3})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"0[13-57-9][0159]|14\"]],[,\"(\\\\d{2})(\\\\d{4})(\\\\d{5})\",\n\"$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\"]]],[[,\"(\\\\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])|[38]\"]],\n[,\"(\\\\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\"]]],[,,,,,,,,,[-1]],1,,[,,\"848\\\\d{6}\",,,,,,,[9]],[,,,,,,,,,[-1]],,,[,,\"3[2-8]\\\\d{9,10}\",,,,\"33101234501\",,,[11,12]]],JE:[,[,,\"1534\\\\d{6}|(?:[3578]\\\\d|90)\\\\d{8}\",,,,,,,[10],[6]],[,,\"1534[0-24-8]\\\\d{5}\",,,,\"1534456789\",,,,[6]],[,,\"7(?:(?:(?:50|82)9|937)\\\\d|7(?:00[378]|97[7-9]))\\\\d{5}\",,,,\"7797712345\"],\n[,,\"80(?:07(?:35|81)|8901)\\\\d{4}\",,,,\"8007354567\"],[,,\"(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\\\d{4}\",,,,\"9018105678\"],[,,,,,,,,,[-1]],[,,\"701511\\\\d{4}\",,,,\"7015115678\"],[,,\"56\\\\d{8}\",,,,\"5612345678\"],\"JE\",44,\"00\",\"0\",,,\"0|([0-24-8]\\\\d{5})$\",\"1534$1\",,,,,[,,\"76(?:464|652)\\\\d{5}|76(?:0[0-2]|2[356]|34|4[01347]|5[49]|6[0-369]|77|81|9[139])\\\\d{6}\",,,,\"7640123456\"],,,[,,,,,,,,,[-1]],[,,\"(?: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}\",\n,,,\"5512345678\"],,,[,,,,,,,,,[-1]]],JM:[,[,,\"(?:[58]\\\\d\\\\d|658|900)\\\\d{7}\",,,,,,,[10],[7]],[,,\"8766060\\\\d{3}|(?:658(?:2(?:[0-8]\\\\d|9[0-46-9])|[3-9]\\\\d\\\\d)|876(?:52[35]|6(?:0[1-3579]|1[0237-9]|[23]\\\\d|40|5[06]|6[2-589]|7[05]|8[04]|9[4-9])|7(?:0[2-689]|[1-6]\\\\d|8[056]|9[45])|9(?:0[1-8]|1[02378]|[2-8]\\\\d|9[2-468])))\\\\d{4}\",,,,\"8765230123\",,,,[7]],[,,\"(?:658295|876(?:2(?:0[2-9]|[14-9]\\\\d|2[013-9]|3[3-9])|[348]\\\\d\\\\d|5(?:0[1-9]|[1-9]\\\\d)|6(?:4[89]|6[67])|7(?:0[07]|7\\\\d|8[1-47-9]|9[0-36-9])|9(?:[01]9|9[0579])))\\\\d{4}\",\n,,,\"8762101234\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002123456\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002123456\"],[,,,,,,,,,[-1]],[,,\"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[12]|33|44|66|77|88)[2-9]\\\\d{6}\",,,,\"5002345678\"],[,,,,,,,,,[-1]],\"JM\",1,\"011\",\"1\",,,\"1\",,,,,,[,,,,,,,,,[-1]],,\"658|876\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,\n,[-1]]],JO:[,[,,\"(?:(?:[2689]|7\\\\d)\\\\d|32|53)\\\\d{6}\",,,,,,,[8,9]],[,,\"87(?:000|90[01])\\\\d{3}|(?:2(?:6(?:2[0-35-9]|3[0-578]|4[24-7]|5[0-24-8]|[6-8][023]|9[0-3])|7(?:0[1-79]|10|2[014-7]|3[0-689]|4[019]|5[0-3578]))|32(?:0[1-69]|1[1-35-7]|2[024-7]|3\\\\d|4[0-3]|[5-7][023])|53(?:0[0-3]|[13][023]|2[0-59]|49|5[0-35-9]|6[15]|7[45]|8[1-6]|9[0-36-9])|6(?:2(?:[05]0|22)|3(?:00|33)|4(?:0[0-25]|1[2-7]|2[0569]|[38][07-9]|4[025689]|6[0-589]|7\\\\d|9[0-2])|5(?:[01][056]|2[034]|3[0-57-9]|4[178]|5[0-69]|6[0-35-9]|7[1-379]|8[0-68]|9[0239]))|87(?:20|7[078]|99))\\\\d{4}\",\n,,,\"62001234\",,,[8]],[,,\"7(?:[78][0-25-9]|9\\\\d)\\\\d{6}\",,,,\"790123456\",,,[9]],[,,\"80\\\\d{6}\",,,,\"80012345\",,,[8]],[,,\"9\\\\d{7}\",,,,\"90012345\",,,[8]],[,,\"85\\\\d{6}\",,,,\"85012345\",,,[8]],[,,\"70\\\\d{7}\",,,,\"700123456\",,,[9]],[,,,,,,,,,[-1]],\"JO\",962,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\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\"]],,[,,\"74(?:66|77)\\\\d{5}\",,,,\"746612345\",\n,,[9]],,,[,,,,,,,,,[-1]],[,,\"8(?:10|8\\\\d)\\\\d{5}\",,,,\"88101234\",,,[8]],,,[,,,,,,,,,[-1]]],JP:[,[,,\"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]],[,,\"(?:1(?:1[235-8]|2[3-6]|3[3-9]|4[2-6]|[58][2-8]|6[2-7]|7[2-9]|9[1-9])|(?:2[2-9]|[36][1-9])\\\\d|4(?:[2-578]\\\\d|6[02-8]|9[2-59])|5(?:[2-589]\\\\d|6[1-9]|7[2-8])|7(?:[25-9]\\\\d|3[4-9]|4[02-9])|8(?:[2679]\\\\d|3[2-9]|4[5-9]|5[1-9]|8[03-9])|9(?:[2-58]\\\\d|[679][1-9]))\\\\d{6}\",,,,\"312345678\",,,[9]],[,,\"[7-9]0[1-9]\\\\d{7}\",\n,,,\"9012345678\",,,[10]],[,,\"00777(?:[01]|5\\\\d)\\\\d\\\\d|(?:00(?:7778|882[1245])|(?:120|800\\\\d)\\\\d\\\\d)\\\\d{4}|00(?:37|66|78)\\\\d{6,13}\",,,,\"120123456\"],[,,\"990\\\\d{6}\",,,,\"990123456\",,,[9]],[,,,,,,,,,[-1]],[,,\"60\\\\d{7}\",,,,\"601234567\",,,[9]],[,,\"50[1-9]\\\\d{7}\",,,,\"5012345678\",,,[10]],\"JP\",81,\"010\",\"0\",,,\"0\",,,,[[,\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"007\",\"0077\",\"00777\",\"00777[01]\"]],[,\"(\\\\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(?:49|80|9[16])\",\n\"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(?:496|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(?:496|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))\"],\n\"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]\",\n\"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]\",\n\"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]\"],\n\"0$1\"],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1-$2-$3\",[\"[14]|[289][2-9]|5[3-9]|7[2-4679]\"],\"0$1\"],[,\"(\\\\d{4})(\\\\d{2})(\\\\d{3,4})\",\"$1-$2-$3\",[\"007\",\"0077\"]],[,\"(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\"$1-$2-$3\",[\"008\"]],[,\"(\\\\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\"],[,\"(\\\\d{4})(\\\\d{3})(\\\\d{3,4})\",\"$1-$2-$3\",[\"0\"]],[,\"(\\\\d{4})(\\\\d{4})(\\\\d{4,5})\",\"$1-$2-$3\",[\"0\"]],[,\"(\\\\d{4})(\\\\d{5})(\\\\d{5,6})\",\"$1-$2-$3\",[\"0\"]],[,\"(\\\\d{4})(\\\\d{6})(\\\\d{6,7})\",\"$1-$2-$3\",\n[\"0\"]]],[[,\"(\\\\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(?:49|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(?:496|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(?:496|802|9(?:1[23]|69))|1(?:45|58)[67]\"],\n\"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])\",\n\"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]\",\n\"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]\",\n\"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]\"],\n\"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\"]],[,,\"20\\\\d{8}\",,,,\"2012345678\",,,[10]],,,[,,\"00(?:777(?:[01]|(?:5|8\\\\d)\\\\d)|882[1245]\\\\d\\\\d)\\\\d\\\\d|00(?:37|66|78)\\\\d{6,13}\"],[,,\"570\\\\d{6}\",,,,\"570123456\",,,[9]],,,[,,,,,,,,,[-1]]],KE:[,[,,\"(?:[17]\\\\d\\\\d|900)\\\\d{6}|(?:2|80)0\\\\d{6,7}|[4-6]\\\\d{6,8}\",,,,,,,[7,8,9,10]],[,,\"(?:4[245]|5[1-79]|6[01457-9])\\\\d{5,7}|(?:4[136]|5[08]|62)\\\\d{7}|(?:[24]0|66)\\\\d{6,7}\",\n,,,\"202012345\",,,[7,8,9]],[,,\"(?:1(?:0[0-6]|1[0-5]|2[014])|7\\\\d\\\\d)\\\\d{6}\",,,,\"712123456\",,,[9]],[,,\"800[24-8]\\\\d{5,6}\",,,,\"800223456\",,,[9,10]],[,,\"900[02-9]\\\\d{5}\",,,,\"900223456\",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"KE\",254,\"000\",\"0\",,,\"0\",,,,[[,\"(\\\\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\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],KG:[,[,,\"8\\\\d{9}|(?:[235-8]\\\\d|99)\\\\d{7}\",\n,,,,,,[9,10],[5,6]],[,,\"312(?:5[0-79]\\\\d|9(?:[0-689]\\\\d|7[0-24-9]))\\\\d{3}|(?:3(?:1(?:2[0-46-8]|3[1-9]|47|[56]\\\\d)|2(?:22|3[0-479]|6[0-7])|4(?:22|5[6-9]|6\\\\d)|5(?:22|3[4-7]|59|6\\\\d)|6(?:22|5[35-7]|6\\\\d)|7(?:22|3[468]|4[1-9]|59|[67]\\\\d)|9(?:22|4[1-8]|6\\\\d))|6(?:09|12|2[2-4])\\\\d)\\\\d{5}\",,,,\"312123456\",,,[9],[5,6]],[,,\"312(?:58\\\\d|973)\\\\d{3}|(?:2(?:0[0-35]|2\\\\d)|5[0-24-7]\\\\d|7(?:[07]\\\\d|55)|880|99[05-9])\\\\d{6}\",,,,\"700123456\",,,[9]],[,,\"800\\\\d{6,7}\",,,,\"800123456\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\n,,,,,,,[-1]],[,,,,,,,,,[-1]],\"KG\",996,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\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\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],KH:[,[,,\"1\\\\d{9}|[1-9]\\\\d{7,8}\",,,,,,,[8,9,10],[6,7]],[,,\"23(?:4(?:[2-4]|[56]\\\\d)|[568]\\\\d\\\\d)\\\\d{4}|23[236-9]\\\\d{5}|(?:2[4-6]|3[2-6]|4[2-4]|[5-7][2-5])(?:(?:[237-9]|4[56]|5\\\\d)\\\\d{5}|6\\\\d{5,6})\",\n,,,\"23756789\",,,[8,9],[6,7]],[,,\"(?:(?:1[28]|3[18]|9[67])\\\\d|6[016-9]|7(?:[07-9]|[16]\\\\d)|8(?:[013-79]|8\\\\d))\\\\d{6}|(?:1\\\\d|9[0-57-9])\\\\d{6}|(?:2[3-6]|3[2-6]|4[2-4]|[5-7][2-5])48\\\\d{5}\",,,,\"91234567\",,,[8,9]],[,,\"1800(?:1\\\\d|2[019])\\\\d{4}\",,,,\"1800123456\",,,[10]],[,,\"1900(?:1\\\\d|2[09])\\\\d{4}\",,,,\"1900123456\",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"KH\",855,\"00[14-9]\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[1-9]\"],\"0$1\"],[,\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]]],\n,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],KI:[,[,,\"(?:[37]\\\\d|6[0-79])\\\\d{6}|(?:[2-48]\\\\d|50)\\\\d{3}\",,,,,,,[5,8]],[,,\"(?:[24]\\\\d|3[1-9]|50|65(?:02[12]|12[56]|22[89]|[3-5]00)|7(?:27\\\\d\\\\d|3100|5(?:02[12]|12[56]|22[89]|[34](?:00|81)|500))|8[0-5])\\\\d{3}\",,,,\"31234\"],[,,\"(?:63\\\\d{3}|73(?:0[0-5]\\\\d|140))\\\\d{3}|[67]200[01]\\\\d{3}\",,,,\"72001234\",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"30(?:0[01]\\\\d\\\\d|12(?:11|20))\\\\d\\\\d\",,,,\"30010000\",,,[8]],\n\"KI\",686,\"00\",\"0\",,,\"0\",,,,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],KM:[,[,,\"[3478]\\\\d{6}\",,,,,,,[7],[4]],[,,\"7[4-7]\\\\d{5}\",,,,\"7712345\",,,,[4]],[,,\"[34]\\\\d{6}\",,,,\"3212345\"],[,,,,,,,,,[-1]],[,,\"8\\\\d{6}\",,,,\"8001234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"KM\",269,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[3478]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],KN:[,[,,\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",,,,,,,[10],[7]],[,,\"869(?:2(?:29|36)|302|4(?:6[015-9]|70)|56[5-7])\\\\d{4}\",\n,,,\"8692361234\",,,,[7]],[,,\"869(?:48[89]|55[6-8]|66\\\\d|76[02-7])\\\\d{4}\",,,,\"8697652917\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002123456\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002123456\"],[,,,,,,,,,[-1]],[,,\"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[12]|33|44|66|77|88)[2-9]\\\\d{6}\",,,,\"5002345678\"],[,,,,,,,,,[-1]],\"KN\",1,\"011\",\"1\",,,\"1|([2-7]\\\\d{6})$\",\n\"869$1\",,,,,[,,,,,,,,,[-1]],,\"869\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],KP:[,[,,\"85\\\\d{6}|(?:19\\\\d|[2-7])\\\\d{7}\",,,,,,,[8,10],[6,7]],[,,\"(?:(?:195|2)\\\\d|3[19]|4[159]|5[37]|6[17]|7[39]|85)\\\\d{6}\",,,,\"21234567\",,,,[6,7]],[,,\"19[1-3]\\\\d{7}\",,,,\"1921234567\",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"KP\",850,\"00|99\",\"0\",,,\"0\",,,,[[,\"(\\\\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})\",\n\"$1 $2 $3\",[\"1\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,\"238[02-9]\\\\d{4}|2(?:[0-24-9]\\\\d|3[0-79])\\\\d{5}\",,,,,,,[8]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],KR:[,[,,\"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],[3,4,7]],[,,\"(?:2|3[1-3]|[46][1-4]|5[1-5])[1-9]\\\\d{6,7}|(?:3[1-3]|[46][1-4]|5[1-5])1\\\\d{2,3}\",,,,\"22123456\",,,[5,6,8,9,10],[3,4,7]],[,,\"1(?:05(?:[0-8]\\\\d|9[0-6])|22[13]\\\\d)\\\\d{4,5}|1(?:0[1-46-9]|[16-9]\\\\d|2[013-9])\\\\d{6,7}\",\n,,,\"1020000000\",,,[9,10]],[,,\"00(?:308\\\\d{6,7}|798\\\\d{7,9})|(?:00368|80)\\\\d{7}\",,,,\"801234567\",,,[9,11,12,13,14]],[,,\"60[2-9]\\\\d{6}\",,,,\"602345678\",,,[9]],[,,,,,,,,,[-1]],[,,\"50\\\\d{8,9}\",,,,\"5012345678\",,,[10,11]],[,,\"70\\\\d{8}\",,,,\"7012345678\",,,[10]],\"KR\",82,\"00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))\",\"0\",,,\"0(8(?:[1-46-8]|5\\\\d\\\\d))?\",,,,[[,\"(\\\\d{5})\",\"$1\",[\"1[016-9]1\",\"1[016-9]11\",\"1[016-9]114\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3,4})\",\"$1-$2\",[\"(?:3[1-3]|[46][1-4]|5[1-5])1\"],\"0$1\",\"0$CC-$1\"],[,\n\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"1\"]],[,\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\"$1-$2-$3\",[\"2\"],\"0$1\",\"0$CC-$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"60|8\"],\"0$1\",\"0$CC-$1\"],[,\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1-$2-$3\",[\"[1346]|5[1-5]\"],\"0$1\",\"0$CC-$1\"],[,\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[57]\"],\"0$1\",\"0$CC-$1\"],[,\"(\\\\d{5})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"003\",\"0030\"]],[,\"(\\\\d{2})(\\\\d{5})(\\\\d{4})\",\"$1-$2-$3\",[\"5\"],\"0$1\",\"0$CC-$1\"],[,\"(\\\\d{5})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"0\"]],[,\"(\\\\d{5})(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\"$1 $2 $3 $4\",[\"0\"]]],[[,\"(\\\\d{2})(\\\\d{3,4})\",\"$1-$2\",[\"(?:3[1-3]|[46][1-4]|5[1-5])1\"],\"0$1\",\"0$CC-$1\"],[,\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"1\"]],[,\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\"$1-$2-$3\",[\"2\"],\"0$1\",\"0$CC-$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"60|8\"],\"0$1\",\"0$CC-$1\"],[,\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1-$2-$3\",[\"[1346]|5[1-5]\"],\"0$1\",\"0$CC-$1\"],[,\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[57]\"],\"0$1\",\"0$CC-$1\"],[,\"(\\\\d{2})(\\\\d{5})(\\\\d{4})\",\"$1-$2-$3\",[\"5\"],\"0$1\",\"0$CC-$1\"]],[,,\"15\\\\d{7,8}\",,,,\"1523456789\",\n,,[9,10]],,,[,,\"00(?:3(?:08\\\\d{6,7}|68\\\\d{7})|798\\\\d{7,9})\",,,,,,,[11,12,13,14]],[,,\"1(?:5(?:22|33|44|66|77|88|99)|6(?:[07]0|44|6[16]|88)|8(?:00|33|55|77|99))\\\\d{4}\",,,,\"15441234\",,,[8]],,,[,,,,,,,,,[-1]]],KW:[,[,,\"18\\\\d{5}|(?:[2569]\\\\d|41)\\\\d{6}\",,,,,,,[7,8]],[,,\"2(?:[23]\\\\d\\\\d|4(?:[1-35-9]\\\\d|44)|5(?:0[034]|[2-46]\\\\d|5[1-3]|7[1-7]))\\\\d{4}\",,,,\"22345678\",,,[8]],[,,\"(?:41\\\\d\\\\d|5(?:(?:[05]\\\\d|1[0-7]|6[56])\\\\d|2(?:22|5[25])|7(?:55|77)|88[58])|6(?:(?:0[034679]|5[015-9]|6\\\\d)\\\\d|222|333|444|7(?:0[013-9]|[67]\\\\d)|888|9(?:[069]\\\\d|3[039]))|9(?:(?:0[09]|22|[4679]\\\\d|8[057-9])\\\\d|1(?:1[01]|99)|3(?:00|33)|5(?:00|5\\\\d)))\\\\d{4}\",\n,,,\"50012345\",,,[8]],[,,\"18\\\\d{5}\",,,,\"1801234\",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"KW\",965,\"00\",,,,,,,,[[,\"(\\\\d{4})(\\\\d{3,4})\",\"$1 $2\",[\"[169]|2(?:[235]|4[1-35-9])|52\"]],[,\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[245]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],KY:[,[,,\"(?:345|[58]\\\\d\\\\d|900)\\\\d{7}\",,,,,,,[10],[7]],[,,\"345(?:2(?:22|3[23]|44|66)|333|444|6(?:23|38|40)|7(?:30|4[35-79]|6[6-9]|77)|8(?:00|1[45]|25|[48]8)|9(?:14|4[035-9]))\\\\d{4}\",,\n,,\"3452221234\",,,,[7]],[,,\"345(?:32[1-9]|42[0-4]|5(?:1[67]|2[5-79]|4[6-9]|50|76)|649|9(?:1[679]|2[2-9]|3[06-9]|90))\\\\d{4}\",,,,\"3453231234\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002345678\"],[,,\"(?:345976|900[2-9]\\\\d\\\\d)\\\\d{4}\",,,,\"9002345678\"],[,,,,,,,,,[-1]],[,,\"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[12]|33|44|66|77|88)[2-9]\\\\d{6}\",\n,,,\"5002345678\"],[,,,,,,,,,[-1]],\"KY\",1,\"011\",\"1\",,,\"1|([2-9]\\\\d{6})$\",\"345$1\",,,,,[,,\"345849\\\\d{4}\",,,,\"3458491234\"],,\"345\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],KZ:[,[,,\"(?:33622|8\\\\d{8})\\\\d{5}|[78]\\\\d{9}\",,,,,,,[10,14],[5,6,7]],[,,\"(?:33622|7(?:1(?:0(?:[23]\\\\d|4[0-3]|59|63)|1(?:[23]\\\\d|4[0-79]|59)|2(?:[23]\\\\d|59)|3(?:2\\\\d|3[0-79]|4[0-35-9]|59)|4(?:[24]\\\\d|3[013-9]|5[1-9])|5(?:2\\\\d|3[1-9]|4[0-7]|59)|6(?:[2-4]\\\\d|5[19]|61)|72\\\\d|8(?:[27]\\\\d|3[1-46-9]|4[0-5]))|2(?:1(?:[23]\\\\d|4[46-9]|5[3469])|2(?:2\\\\d|3[0679]|46|5[12679])|3(?:[2-4]\\\\d|5[139])|4(?:2\\\\d|3[1-35-9]|59)|5(?:[23]\\\\d|4[0-246-8]|59|61)|6(?:2\\\\d|3[1-9]|4[0-4]|59)|7(?:[2379]\\\\d|40|5[279])|8(?:[23]\\\\d|4[0-3]|59)|9(?:2\\\\d|3[124578]|59))))\\\\d{5}\",\n,,,\"7123456789\",,,[10],[5,6,7]],[,,\"7(?:0[0-25-8]|47|6[0-4]|7[15-8]|85)\\\\d{7}\",,,,\"7710009998\",,,[10]],[,,\"8(?:00|108\\\\d{3})\\\\d{7}\",,,,\"8001234567\"],[,,\"809\\\\d{7}\",,,,\"8091234567\",,,[10]],[,,,,,,,,,[-1]],[,,\"808\\\\d{7}\",,,,\"8081234567\",,,[10]],[,,\"751\\\\d{7}\",,,,\"7511234567\",,,[10]],\"KZ\",7,\"810\",\"8\",,,\"8\",,\"8~10\",,,,[,,,,,,,,,[-1]],,\"33|7\",[,,\"751\\\\d{7}\",,,,,,,[10]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],LA:[,[,,\"[23]\\\\d{9}|3\\\\d{8}|(?:[235-8]\\\\d|41)\\\\d{6}\",,,,,,,[8,9,10],[6]],[,,\"(?:2[13]|[35-7][14]|41|8[1468])\\\\d{6}\",\n,,,\"21212862\",,,[8],[6]],[,,\"(?:20(?:[239]\\\\d|5[24-9]|7[6-8])|302\\\\d)\\\\d{6}\",,,,\"2023123456\",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"LA\",856,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\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\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"30[013-9]\\\\d{6}\",,,,\"301234567\",,,[9]],,,[,,\n,,,,,,,[-1]]],LB:[,[,,\"[27-9]\\\\d{7}|[13-9]\\\\d{6}\",,,,,,,[7,8]],[,,\"7(?:62|8[0-7]|9[04-9])\\\\d{4}|(?:[14-69]\\\\d|2(?:[14-69]\\\\d|[78][1-9])|7[2-57]|8[02-9])\\\\d{5}\",,,,\"1123456\"],[,,\"793(?:[01]\\\\d|2[0-4])\\\\d{3}|(?:(?:3|81)\\\\d|7(?:[01]\\\\d|6[013-9]|8[89]|9[12]))\\\\d{5}\",,,,\"71123456\"],[,,,,,,,,,[-1]],[,,\"9[01]\\\\d{6}\",,,,\"90123456\",,,[8]],[,,\"80\\\\d{6}\",,,,\"80123456\",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"LB\",961,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[13-69]|7(?:[2-57]|62|8[0-7]|9[04-9])|8[02-9]\"],\n\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[27-9]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],LC:[,[,,\"(?:[58]\\\\d\\\\d|758|900)\\\\d{7}\",,,,,,,[10],[7]],[,,\"758(?:234|4(?:30|5\\\\d|6[2-9]|8[0-2])|57[0-2]|(?:63|75)8)\\\\d{4}\",,,,\"7584305678\",,,,[7]],[,,\"758(?:28[4-7]|384|4(?:6[01]|8[4-9])|5(?:1[89]|20|84)|7(?:1[2-9]|2\\\\d|3[0-3])|812)\\\\d{4}\",,,,\"7582845678\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002123456\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002123456\"],[,,,,,,,,,[-1]],\n[,,\"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[12]|33|44|66|77|88)[2-9]\\\\d{6}\",,,,\"5002345678\"],[,,,,,,,,,[-1]],\"LC\",1,\"011\",\"1\",,,\"1|([2-8]\\\\d{6})$\",\"758$1\",,,,,[,,,,,,,,,[-1]],,\"758\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],LI:[,[,,\"[68]\\\\d{8}|(?:[2378]\\\\d|90)\\\\d{5}\",,,,,,,[7,9]],[,,\"(?:2(?:01|1[27]|2[02]|3\\\\d|6[02-578]|96)|3(?:[24]0|33|7[0135-7]|8[048]|9[0269]))\\\\d{4}\",\n,,,\"2345678\",,,[7]],[,,\"(?:6(?:4(?:5[4-9]|[6-9]\\\\d)|5[0-4]\\\\d|6(?:[0245]\\\\d|[17]0|3[7-9]))\\\\d|7(?:[37-9]\\\\d|42|56))\\\\d{4}\",,,,\"660234567\"],[,,\"8002[28]\\\\d\\\\d|80(?:05\\\\d|9)\\\\d{4}\",,,,\"8002222\"],[,,\"90(?:02[258]|1(?:23|3[14])|66[136])\\\\d\\\\d\",,,,\"9002222\",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"LI\",423,\"00\",\"0\",,,\"0|(1001)\",,,,[[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[2379]|8(?:0[09]|7)\",\"[2379]|8(?:0(?:02|9)|7)\"],,\"$CC $1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\"$1 $2 $3\",[\"69\"],,\"$CC $1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6\"],,\"$CC $1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"870(?:28|87)\\\\d\\\\d\",,,,\"8702812\",,,[7]],,,[,,\"697(?:42|56|[78]\\\\d)\\\\d{4}\",,,,\"697861234\",,,[9]]],LK:[,[,,\"[1-9]\\\\d{8}\",,,,,,,[9],[7]],[,,\"(?:12[2-9]|602|8[12]\\\\d|9(?:1\\\\d|22|9[245]))\\\\d{6}|(?:11|2[13-7]|3[1-8]|4[157]|5[12457]|6[35-7])[2-57]\\\\d{6}\",,,,\"112345678\",,,,[7]],[,,\"7(?:[0-25-8]\\\\d|4[0-4])\\\\d{6}\",,,,\"712345678\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,\n,,,,,[-1]],[,,,,,,,,,[-1]],\"LK\",94,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\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\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"1973\\\\d{5}\",,,,\"197312345\"],,,[,,,,,,,,,[-1]]],LR:[,[,,\"(?:2|33|5\\\\d|77|88)\\\\d{7}|[4-6]\\\\d{6}\",,,,,,,[7,8,9]],[,,\"(?:2\\\\d{3}|33333)\\\\d{4}\",,,,\"21234567\",,,[8,9]],[,,\"(?:(?:330|555|(?:77|88)\\\\d)\\\\d|4[67])\\\\d{5}|[56]\\\\d{6}\",,,,\"770123456\",,,[7,9]],[,,,,,,,,,[-1]],[,,\"332(?:02|[34]\\\\d)\\\\d{4}\",,,,\"332021234\",\n,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"LR\",231,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\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\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],LS:[,[,,\"(?:[256]\\\\d\\\\d|800)\\\\d{5}\",,,,,,,[8]],[,,\"2\\\\d{7}\",,,,\"22123456\"],[,,\"[56]\\\\d{7}\",,,,\"50123456\"],[,,\"800[256]\\\\d{4}\",,,,\"80021234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,\n,[-1]],[,,,,,,,,,[-1]],\"LS\",266,\"00\",,,,,,,,[[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2568]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],LT:[,[,,\"(?:[3469]\\\\d|52|[78]0)\\\\d{6}\",,,,,,,[8]],[,,\"(?:3[1478]|4[124-6]|52)\\\\d{6}\",,,,\"31234567\"],[,,\"6\\\\d{7}\",,,,\"61234567\"],[,,\"80[02]\\\\d{5}\",,,,\"80012345\"],[,,\"9(?:0[0239]|10)\\\\d{5}\",,,,\"90012345\"],[,,\"808\\\\d{5}\",,,,\"80812345\"],[,,\"70[05]\\\\d{5}\",,,,\"70012345\"],[,,\"[89]01\\\\d{5}\",,,,\"80123456\"],\"LT\",370,\"00\",\"8\",,,\"[08]\",,,,[[,\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\n\"$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]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"70[67]\\\\d{5}\",,,,\"70712345\"],,,[,,,,,,,,,[-1]]],LU:[,[,,\"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]],[,,\"(?:35[013-9]|80[2-9]|90[89])\\\\d{1,8}|(?:2[2-9]|3[0-46-9]|[457]\\\\d|8[13-9]|9[2-579])\\\\d{2,9}\",\n,,,\"27123456\"],[,,\"6(?:[269][18]|5[1568]|7[189]|81)\\\\d{6}\",,,,\"628123456\",,,[9]],[,,\"800\\\\d{5}\",,,,\"80012345\",,,[8]],[,,\"90[015]\\\\d{5}\",,,,\"90012345\",,,[8]],[,,\"801\\\\d{5}\",,,,\"80112345\",,,[8]],[,,,,,,,,,[-1]],[,,\"20(?:1\\\\d{5}|[2-689]\\\\d{1,7})\",,,,\"20201234\",,,[4,5,6,7,8,9,10]],\"LU\",352,\"00\",,,,\"(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\\\d)\",,,,[[,\"(\\\\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])\"],,\"$CC $1\"],[,\"(\\\\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])\"],\n,\"$CC $1\"],[,\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"20[2-689]\"],,\"$CC $1\"],[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,2})\",\"$1 $2 $3 $4\",[\"2(?:[0367]|4[3-8])\"],,\"$CC $1\"],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"80[01]|90[015]\"],,\"$CC $1\"],[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"20\"],,\"$CC $1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6\"],,\"$CC $1\"],[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,2})\",\"$1 $2 $3 $4 $5\",[\"2(?:[0367]|4[3-8])\"],,\"$CC $1\"],[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,5})\",\"$1 $2 $3 $4\",\n[\"[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]\"],,\"$CC $1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],LV:[,[,,\"(?:[268]\\\\d|90)\\\\d{6}\",,,,,,,[8]],[,,\"6\\\\d{7}\",,,,\"63123456\"],[,,\"2\\\\d{7}\",,,,\"21234567\"],[,,\"80\\\\d{6}\",,,,\"80123456\"],[,,\"90\\\\d{6}\",,,,\"90123456\"],[,,\"81\\\\d{6}\",,,,\"81123456\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"LV\",371,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[269]|8[01]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],\nLY:[,[,,\"[2-9]\\\\d{8}\",,,,,,,[9],[7]],[,,\"(?:2(?:0[56]|[1-6]\\\\d|7[124579]|8[124])|3(?:1\\\\d|2[2356])|4(?:[17]\\\\d|2[1-357]|5[2-4]|8[124])|5(?:[1347]\\\\d|2[1-469]|5[13-5]|8[1-4])|6(?:[1-479]\\\\d|5[2-57]|8[1-5])|7(?:[13]\\\\d|2[13-79])|8(?:[124]\\\\d|5[124]|84))\\\\d{6}\",,,,\"212345678\",,,,[7]],[,,\"9[1-6]\\\\d{7}\",,,,\"912345678\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"LY\",218,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{7})\",\"$1-$2\",[\"[2-9]\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],\n[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MA:[,[,,\"[5-8]\\\\d{8}\",,,,,,,[9]],[,,\"5(?:29(?:[189][05]|2[29]|3[01])|38[89][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]|80|9[3-9])|(?:4[067]|5[03])\\\\d)\\\\d{5}\",,,,\"520123456\"],[,,\"(?:6(?:[0-79]\\\\d|8[0-247-9])|7(?:[01]\\\\d|6[1267]|7[0-57]))\\\\d{6}\",,,,\"650123456\"],[,,\"80\\\\d{7}\",,,,\"801234567\"],[,,\"89\\\\d{7}\",,,,\"891234567\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"592(?:4[0-2]|93)\\\\d{4}\",,,,\"592401234\"],\"MA\",212,\"00\",\"0\",\n,,\"0\",,,,[[,\"(\\\\d{5})(\\\\d{4})\",\"$1-$2\",[\"5(?:29|38)\",\"5(?:29|38)[89]\",\"5(?:29|38)[89]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\"]],,[,,,,,,,,,[-1]],1,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MC:[,[,,\"(?:[3489]|6\\\\d)\\\\d{7}\",,,,,,,[8,9]],[,,\"(?:870|9[2-47-9]\\\\d)\\\\d{5}\",\n,,,\"99123456\",,,[8]],[,,\"4(?:[46]\\\\d|5[1-9])\\\\d{5}|(?:3|6\\\\d)\\\\d{7}\",,,,\"612345678\"],[,,\"(?:800|90\\\\d)\\\\d{5}\",,,,\"90123456\",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"MC\",377,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3\",[\"87\"]],[,\"(\\\\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\"]],[[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"4\"],\n\"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\"]],[,,,,,,,,,[-1]],,,[,,\"8[07]0\\\\d{5}\",,,,,,,[8]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MD:[,[,,\"(?:[235-7]\\\\d|[89]0)\\\\d{6}\",,,,,,,[8]],[,,\"(?:(?:2[1-9]|3[1-79])\\\\d|5(?:33|5[257]))\\\\d{5}\",,,,\"22212345\"],[,,\"562\\\\d{5}|(?:6\\\\d|7[16-9])\\\\d{6}\",,,,\"62112345\"],[,,\"800\\\\d{5}\",,,,\"80012345\"],[,,\"90[056]\\\\d{5}\",,,,\"90012345\"],[,,\"808\\\\d{5}\",,,,\"80812345\"],[,,,,,,,,,[-1]],\n[,,\"3[08]\\\\d{6}\",,,,\"30123456\"],\"MD\",373,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\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\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"803\\\\d{5}\",,,,\"80312345\"],,,[,,,,,,,,,[-1]]],ME:[,[,,\"(?:20|[3-79]\\\\d)\\\\d{6}|80\\\\d{6,7}\",,,,,,,[8,9],[6]],[,,\"(?:20[2-8]|3(?:[0-2][2-7]|3[24-7])|4(?:0[2-467]|1[2467])|5(?:0[2467]|1[24-7]|2[2-467]))\\\\d{5}\",,,,\"30234567\",,,[8],[6]],[,,\"6(?:[07-9]\\\\d|3[024]|6[0-25])\\\\d{5}\",\n,,,\"67622901\",,,[8]],[,,\"80(?:[0-2578]|9\\\\d)\\\\d{5}\",,,,\"80080002\"],[,,\"9(?:4[1568]|5[178])\\\\d{5}\",,,,\"94515151\",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"78[1-49]\\\\d{5}\",,,,\"78108780\",,,[8]],\"ME\",382,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-9]\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"77[1-9]\\\\d{5}\",,,,\"77273012\",,,[8]],,,[,,,,,,,,,[-1]]],MF:[,[,,\"(?:590|(?:69|80)\\\\d|976)\\\\d{6}\",,,,,,,[9]],[,,\"590(?:0[079]|[14]3|[27][79]|30|5[0-268]|87)\\\\d{4}\",,,,\"590271234\"],[,,\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5]))\\\\d{4}\",\n,,,\"690001234\"],[,,\"80[0-5]\\\\d{6}\",,,,\"800012345\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"976[01]\\\\d{5}\",,,,\"976012345\"],\"MF\",590,\"00\",\"0\",,,\"0\",,,,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MG:[,[,,\"[23]\\\\d{8}\",,,,,,,[9],[7]],[,,\"2072[29]\\\\d{4}|20(?:2\\\\d|4[47]|5[3467]|6[279]|7[35]|8[268]|9[245])\\\\d{5}\",,,,\"202123456\",,,,[7]],[,,\"3[2-489]\\\\d{7}\",,,,\"321234567\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"22\\\\d{7}\",,,,\"221234567\"],\"MG\",\n261,\"00\",\"0\",,,\"0|([24-9]\\\\d{6})$\",\"20$1\",,,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[23]\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MH:[,[,,\"329\\\\d{4}|(?:[256]\\\\d|45)\\\\d{5}\",,,,,,,[7]],[,,\"(?:247|528|625)\\\\d{4}\",,,,\"2471234\"],[,,\"(?:(?:23|54)5|329|45[56])\\\\d{4}\",,,,\"2351234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"635\\\\d{4}\",,,,\"6351234\"],\"MH\",692,\"011\",\"1\",,,\"1\",,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[2-6]\"]]],,[,,,,,,,,\n,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MK:[,[,,\"[2-578]\\\\d{7}\",,,,,,,[8],[6,7]],[,,\"(?:2(?:[23]\\\\d|5[0-24578]|6[01]|82)|3(?:1[3-68]|[23][2-68]|4[23568])|4(?:[23][2-68]|4[3-68]|5[2568]|6[25-8]|7[24-68]|8[4-68]))\\\\d{5}\",,,,\"22012345\",,,,[6,7]],[,,\"7(?:3555|4(?:60\\\\d|747)|94(?:[01]\\\\d|2[0-4]))\\\\d{3}|7(?:[0-25-8]\\\\d|3[2-4]|42|9[23])\\\\d{5}\",,,,\"72345678\"],[,,\"800\\\\d{5}\",,,,\"80012345\"],[,,\"5[02-9]\\\\d{6}\",,,,\"50012345\"],[,,\"8(?:0[1-9]|[1-9]\\\\d)\\\\d{5}\",,,,\"80123456\"],[,,,,,,,,,[-1]],\n[,,,,,,,,,[-1]],\"MK\",389,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"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\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],ML:[,[,,\"[24-9]\\\\d{7}\",,,,,,,[8]],[,,\"2(?:07[0-8]|12[67])\\\\d{4}|(?:2(?:02|1[4-689])|4(?:0[0-4]|4[1-39]))\\\\d{5}\",,,,\"20212345\"],[,,\"2(?:0(?:01|79)|17\\\\d)\\\\d{4}|(?:5[01]|[679]\\\\d|8[239])\\\\d{6}\",,,,\"65012345\"],[,,\"80\\\\d{6}\",\n,,,\"80012345\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"ML\",223,\"00\",,,,,,,,[[,\"(\\\\d{4})\",\"$1\",[\"67[057-9]|74[045]\",\"67(?:0[09]|[59]9|77|8[89])|74(?:0[02]|44|55)\"]],[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[24-9]\"]]],[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[24-9]\"]]],[,,,,,,,,,[-1]],,,[,,\"80\\\\d{6}\"],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MM:[,[,,\"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],[5]],[,,\"(?:1(?:(?:2\\\\d|3[56]|[89][0-6])\\\\d|4(?:2[2-469]|39|46|6[25]|7[0-3]|83)|6)|2(?:2(?:00|8[34])|4(?:0\\\\d|2[246]|39|46|62|7[0-3]|83)|51\\\\d\\\\d)|4(?:2(?:2\\\\d\\\\d|48[0-3])|3(?:20\\\\d|4(?:70|83)|56)|420\\\\d|5470)|6(?:0(?:[23]|88\\\\d)|(?:124|[56]2\\\\d)\\\\d|247[23]|3(?:20\\\\d|470)|4(?:2[04]\\\\d|47[23])|7(?:(?:3\\\\d|8[01459])\\\\d|4(?:39|60|7[013]))))\\\\d{4}|5(?:2(?:2\\\\d{5,6}|47[023]\\\\d{4})|(?:347[23]|4(?:2(?:1|86)|470)|522\\\\d|6(?:20\\\\d|483)|7(?:20\\\\d|48[0-2])|8(?:20\\\\d|47[02])|9(?:20\\\\d|47[01]))\\\\d{4})|7(?:(?:0470|4(?:25\\\\d|470)|5(?:202|470|96\\\\d))\\\\d{4}|1(?:20\\\\d{4,5}|4(?:70|83)\\\\d{4}))|8(?:1(?:2\\\\d{5,6}|4(?:10|7[01]\\\\d)\\\\d{3})|2(?:2\\\\d{5,6}|(?:320|490\\\\d)\\\\d{3})|(?:3(?:2\\\\d\\\\d|470)|4[24-7]|5(?:2\\\\d|4[1-9]|51)\\\\d|6[23])\\\\d{4})|(?:1[2-6]\\\\d|4(?:2[24-8]|3[2-7]|[46][2-6]|5[3-5])|5(?:[27][2-8]|3[2-68]|4[24-8]|5[23]|6[2-4]|8[24-7]|9[2-7])|6(?:[19]20|42[03-6]|(?:52|7[45])\\\\d)|7(?:[04][24-8]|[15][2-7]|22|3[2-4])|8(?:1[2-689]|2[2-8]|[35]2\\\\d))\\\\d{4}|25\\\\d{5,6}|(?:2[2-9]|6(?:1[2356]|[24][2-6]|3[24-6]|5[2-4]|6[2-8]|7[235-7]|8[245]|9[24])|8(?:3[24]|5[245]))\\\\d{4}\",\n,,,\"1234567\",,,[6,7,8,9],[5]],[,,\"(?:17[01]|9(?:2(?:[0-4]|[56]\\\\d\\\\d)|(?:3(?:[0-36]|4\\\\d)|(?:6\\\\d|8[89]|9[4-8])\\\\d|7(?:3|40|[5-9]\\\\d))\\\\d|4(?:(?:[0245]\\\\d|[1379])\\\\d|88)|5[0-6])\\\\d)\\\\d{4}|9[69]1\\\\d{6}|9(?:[68]\\\\d|9[089])\\\\d{5}\",,,,\"92123456\",,,[7,8,9,10]],[,,\"80080(?:[01][1-9]|2\\\\d)\\\\d{3}\",,,,\"8008001234\",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"1333\\\\d{4}|[12]468\\\\d{4}\",,,,\"13331234\",,,[8]],\"MM\",95,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d)(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"16|2\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\n\"$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\"]],,[,,,\n,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MN:[,[,,\"[12]\\\\d{7,9}|[57-9]\\\\d{7}\",,,,,,,[8,9,10],[4,5,6]],[,,\"[12]2[1-3]\\\\d{5,6}|7(?:0[0-5]\\\\d|128)\\\\d{4}|(?:[12](?:1|27)|5[368])\\\\d{6}|[12](?:3[2-8]|4[2-68]|5[1-4689])\\\\d{6,7}\",,,,\"53123456\",,,,[4,5,6]],[,,\"(?:83[01]|920)\\\\d{5}|(?:5[05]|8[05689]|9[013-9])\\\\d{6}\",,,,\"88123456\",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"712[0-79]\\\\d{4}|7(?:1[013-9]|[5-8]\\\\d)\\\\d{5}\",,,,\"75123456\",,,[8]],\"MN\",976,\"001\",\n\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[12]1\"],\"0$1\"],[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[57-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\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MO:[,[,,\"0800\\\\d{3}|(?:28|[68]\\\\d)\\\\d{6}\",,,,,,,[7,8]],[,,\"(?:28[2-9]|8(?:11|[2-57-9]\\\\d))\\\\d{5}\",\n,,,\"28212345\",,,[8]],[,,\"6800[0-79]\\\\d{3}|6(?:[235]\\\\d\\\\d|6(?:0[0-5]|[1-9]\\\\d)|8(?:0[1-9]|[14-8]\\\\d|2[5-9]|[39][0-4]))\\\\d{4}\",,,,\"66123456\",,,[8]],[,,\"0800\\\\d{3}\",,,,\"0800501\",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"MO\",853,\"00\",,,,,,,,[[,\"(\\\\d{4})(\\\\d{3})\",\"$1 $2\",[\"0\"]],[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[268]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MP:[,[,,\"[58]\\\\d{9}|(?:67|90)0\\\\d{7}\",,,,,,,[10],[7]],[,,\"670(?:2(?:3[3-7]|56|8[4-8])|32[1-38]|4(?:33|8[348])|5(?:32|55|88)|6(?:64|70|82)|78[3589]|8[3-9]8|989)\\\\d{4}\",\n,,,\"6702345678\",,,,[7]],[,,\"670(?:2(?:3[3-7]|56|8[4-8])|32[1-38]|4(?:33|8[348])|5(?:32|55|88)|6(?:64|70|82)|78[3589]|8[3-9]8|989)\\\\d{4}\",,,,\"6702345678\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002123456\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002123456\"],[,,,,,,,,,[-1]],[,,\"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[12]|33|44|66|77|88)[2-9]\\\\d{6}\",\n,,,\"5002345678\"],[,,,,,,,,,[-1]],\"MP\",1,\"011\",\"1\",,,\"1|([2-9]\\\\d{6})$\",\"670$1\",,1,,,[,,,,,,,,,[-1]],,\"670\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MQ:[,[,,\"(?:69|80)\\\\d{7}|(?:59|97)6\\\\d{6}\",,,,,,,[9]],[,,\"596(?:[04-7]\\\\d|10|2[7-9]|3[04-9]|8[09]|9[4-9])\\\\d{4}\",,,,\"596301234\"],[,,\"69(?:6(?:[0-46-9]\\\\d|5[0-6])|727)\\\\d{4}\",,,,\"696201234\"],[,,\"80[0-5]\\\\d{6}\",,,,\"800012345\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"976(?:6\\\\d|7[0-367])\\\\d{4}\",,,,\"976612345\"],\"MQ\",596,\"00\",\"0\",,,\"0\",\n,,,[[,\"(\\\\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\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MR:[,[,,\"(?:[2-4]\\\\d\\\\d|800)\\\\d{5}\",,,,,,,[8]],[,,\"(?:25[08]|35\\\\d|45[1-7])\\\\d{5}\",,,,\"35123456\"],[,,\"[2-4][0-46-9]\\\\d{6}\",,,,\"22123456\"],[,,\"800\\\\d{5}\",,,,\"80012345\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"MR\",222,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",\n[\"[2-48]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MS:[,[,,\"(?:[58]\\\\d\\\\d|664|900)\\\\d{7}\",,,,,,,[10],[7]],[,,\"6644(?:1[0-3]|91)\\\\d{4}\",,,,\"6644912345\",,,,[7]],[,,\"664(?:3(?:49|9[1-6])|49[2-6])\\\\d{4}\",,,,\"6644923456\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002123456\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002123456\"],[,,,,,,,,,[-1]],[,,\"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[12]|33|44|66|77|88)[2-9]\\\\d{6}\",\n,,,\"5002345678\"],[,,,,,,,,,[-1]],\"MS\",1,\"011\",\"1\",,,\"1|([34]\\\\d{6})$\",\"664$1\",,,,,[,,,,,,,,,[-1]],,\"664\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MT:[,[,,\"3550\\\\d{4}|(?:[2579]\\\\d\\\\d|800)\\\\d{5}\",,,,,,,[8]],[,,\"20(?:3[1-4]|6[059])\\\\d{4}|2(?:0[19]|[1-357]\\\\d|60)\\\\d{5}\",,,,\"21001234\"],[,,\"(?:7(?:210|[79]\\\\d\\\\d)|9(?:[29]\\\\d\\\\d|69[67]|8(?:1[1-3]|89|97)))\\\\d{4}\",,,,\"96961234\"],[,,\"800[3467]\\\\d{4}\",,,,\"80071234\"],[,,\"5(?:0(?:0(?:37|43)|(?:6\\\\d|70|9[0168])\\\\d)|[12]\\\\d0[1-5])\\\\d{3}\",,,,\"50037123\"],\n[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"3550\\\\d{4}\",,,,\"35501234\"],\"MT\",356,\"00\",,,,,,,,[[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2357-9]\"]]],,[,,\"7117\\\\d{4}\",,,,\"71171234\"],,,[,,,,,,,,,[-1]],[,,\"501\\\\d{5}\",,,,\"50112345\"],,,[,,,,,,,,,[-1]]],MU:[,[,,\"(?:5|8\\\\d\\\\d)\\\\d{7}|[2-468]\\\\d{6}\",,,,,,,[7,8,10]],[,,\"(?:2(?:[0346-8]\\\\d|1[0-7])|4(?:[013568]\\\\d|2[4-7])|54(?:[3-5]\\\\d|71)|6\\\\d\\\\d|8(?:14|3[129]))\\\\d{4}\",,,,\"54480123\",,,[7,8]],[,,\"5(?:4(?:2[1-389]|7[1-9])|87[15-8])\\\\d{4}|5(?:2[5-9]|4[3-589]|[57]\\\\d|8[0-689]|9[0-8])\\\\d{5}\",\n,,,\"52512345\",,,[8]],[,,\"802\\\\d{7}|80[0-2]\\\\d{4}\",,,,\"8001234\",,,[7,10]],[,,\"30\\\\d{5}\",,,,\"3012345\",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"3(?:20|9\\\\d)\\\\d{4}\",,,,\"3201234\",,,[7]],\"MU\",230,\"0(?:0|[24-7]0|3[03])\",,,,,,\"020\",,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-46]|8[013]\"]],[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"5\"]],[,\"(\\\\d{5})(\\\\d{5})\",\"$1 $2\",[\"8\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MV:[,[,,\"(?:800|9[0-57-9]\\\\d)\\\\d{7}|[34679]\\\\d{6}\",,,,,,,[7,10]],[,,\"(?:3(?:0[0-3]|3[0-59])|6(?:[57][02468]|6[024-68]|8[024689]))\\\\d{4}\",\n,,,\"6701234\",,,[7]],[,,\"46[46]\\\\d{4}|(?:7\\\\d|9[13-9])\\\\d{5}\",,,,\"7712345\",,,[7]],[,,\"800\\\\d{7}\",,,,\"8001234567\",,,[10]],[,,\"900\\\\d{7}\",,,,\"9001234567\",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"MV\",960,\"0(?:0|19)\",,,,,,\"00\",,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[3467]|9[13-9]\"]],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"4[05]0\\\\d{4}\",,,,\"4001234\",,,[7]],,,[,,,,,,,,,[-1]]],MW:[,[,,\"(?:[19]\\\\d|[23]1|77|88)\\\\d{7}|1\\\\d{6}\",,,,,,,[7,9]],[,,\"(?:1[2-9]|21\\\\d\\\\d)\\\\d{5}\",\n,,,\"1234567\"],[,,\"111\\\\d{6}|(?:31|77|88|9[89])\\\\d{7}\",,,,\"991234567\",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"MW\",265,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\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\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MX:[,[,,\"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}\",\n,,,,,,[10,11],[7,8]],[,,\"6571\\\\d{6}|(?:2(?:0[01]|2[1-9]|3[1-35-8]|4[13-9]|7[1-689]|8[1-578]|9[467])|3(?:1[1-79]|[2458][1-9]|3\\\\d|7[1-8]|9[1-5])|4(?:1[1-57-9]|[25-7][1-9]|3[1-8]|4\\\\d|8[1-35-9]|9[2-689])|5(?:[56]\\\\d|88|9[1-79])|6(?:1[2-68]|[2-4][1-9]|5[1-3689]|6[1-57-9]|7[1-7]|8[67]|9[4-8])|7(?:[1-467][1-9]|5[13-9]|8[1-69]|9[17])|8(?:1\\\\d|2[13-689]|3[1-6]|4[124-6]|6[1246-9]|7[1-378]|9[12479])|9(?:1[346-9]|2[1-4]|3[2-46-8]|5[1348]|6[1-9]|7[12]|8[1-8]|9\\\\d))\\\\d{7}\",,,,\"2001234567\",,,[10],[7,8]],[,,\"6571\\\\d{6}|(?:1(?:2(?:2[1-9]|3[1-35-8]|4[13-9]|7[1-689]|8[1-578]|9[467])|3(?:1[1-79]|[2458][1-9]|3\\\\d|7[1-8]|9[1-5])|4(?:1[1-57-9]|[24-7][1-9]|3[1-8]|8[1-35-9]|9[2-689])|5(?:[56]\\\\d|88|9[1-79])|6(?:1[2-68]|[2-4][1-9]|5[1-3689]|6[1-57-9]|7[1-7]|8[67]|9[4-8])|7(?:[1-467][1-9]|5[13-9]|8[1-69]|9[17])|8(?:1\\\\d|2[13-689]|3[1-6]|4[124-6]|6[1246-9]|7[1-378]|9[12479])|9(?:1[346-9]|2[1-4]|3[2-46-8]|5[1348]|[69][1-9]|7[12]|8[1-8]))|2(?:2[1-9]|3[1-35-8]|4[13-9]|7[1-689]|8[1-578]|9[467])|3(?:1[1-79]|[2458][1-9]|3\\\\d|7[1-8]|9[1-5])|4(?:1[1-57-9]|[25-7][1-9]|3[1-8]|4\\\\d|8[1-35-9]|9[2-689])|5(?:[56]\\\\d|88|9[1-79])|6(?:1[2-68]|[2-4][1-9]|5[1-3689]|6[1-57-9]|7[1-7]|8[67]|9[4-8])|7(?:[1-467][1-9]|5[13-9]|8[1-69]|9[17])|8(?:1\\\\d|2[13-689]|3[1-6]|4[124-6]|6[1246-9]|7[1-378]|9[12479])|9(?:1[346-9]|2[1-4]|3[2-46-8]|5[1348]|6[1-9]|7[12]|8[1-8]|9\\\\d))\\\\d{7}\",\n,,,\"12221234567\",,,,[7,8]],[,,\"8(?:00|88)\\\\d{7}\",,,,\"8001234567\",,,[10]],[,,\"900\\\\d{7}\",,,,\"9001234567\",,,[10]],[,,\"300\\\\d{7}\",,,,\"3001234567\",,,[10]],[,,\"500\\\\d{7}\",,,,\"5001234567\",,,[10]],[,,,,,,,,,[-1]],\"MX\",52,\"0[09]\",\"01\",,,\"0(?:[12]|4[45])|1\",,\"00\",,[[,\"(\\\\d{5})\",\"$1\",[\"53\"]],[,\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"33|5[56]|81\"],,,1],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-9]\"],,,1],[,\"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$2 $3 $4\",[\"1(?:33|5[56]|81)\"],,,1],[,\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\"$2 $3 $4\",[\"1\"],,,1]],[[,\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"33|5[56]|81\"],,,1],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-9]\"],,,1],[,\"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$2 $3 $4\",[\"1(?:33|5[56]|81)\"],,,1],[,\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$2 $3 $4\",[\"1\"],,,1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MY:[,[,,\"1\\\\d{8,9}|(?:3\\\\d|[4-9])\\\\d{7}\",,,,,,,[8,9,10],[6,7]],[,,\"(?:3(?:2[0-36-9]|3[0-368]|4[0-278]|5[0-24-8]|6[0-467]|7[1246-9]|8\\\\d|9[0-57])\\\\d|4(?:2[0-689]|[3-79]\\\\d|8[1-35689])|5(?:2[0-589]|[3468]\\\\d|5[0-489]|7[1-9]|9[23])|6(?:2[2-9]|3[1357-9]|[46]\\\\d|5[0-6]|7[0-35-9]|85|9[015-8])|7(?:[2579]\\\\d|3[03-68]|4[0-8]|6[5-9]|8[0-35-9])|8(?:[24][2-8]|3[2-5]|5[2-7]|6[2-589]|7[2-578]|[89][2-9])|9(?:0[57]|13|[25-7]\\\\d|[3489][0-8]))\\\\d{5}\",\n,,,\"323856789\",,,[8,9],[6,7]],[,,\"1(?:1888[69]|4400|8(?:47|8[27])[0-4])\\\\d{4}|1(?:0(?:[23568]\\\\d|4[0-6]|7[016-9]|9[0-8])|1(?:[1-5]\\\\d\\\\d|6(?:0[5-9]|[1-9]\\\\d)|7(?:[0134]\\\\d|2[1-9]|5[0-6]))|(?:(?:[269]|59)\\\\d|[37][1-9]|4[235-9])\\\\d|8(?:1[23]|[236]\\\\d|4[06]|5[7-9]|7[016-9]|8[01]|9[0-8]))\\\\d{5}\",,,,\"123456789\",,,[9,10]],[,,\"1[378]00\\\\d{6}\",,,,\"1300123456\",,,[10]],[,,\"1600\\\\d{6}\",,,,\"1600123456\",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"15(?:4(?:6[0-4]\\\\d|8(?:0[125]|[17]\\\\d|21|3[01]|4[01589]|5[014]|6[02]))|6(?:32[0-6]|78\\\\d))\\\\d{4}\",\n,,,\"1546012345\",,,[10]],\"MY\",60,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\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])|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[36-8]\"]],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2 $3\",[\"15\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2 $3\",[\"1\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MZ:[,[,,\"(?:2|8\\\\d)\\\\d{7}\",\n,,,,,,[8,9]],[,,\"2(?:[1346]\\\\d|5[0-2]|[78][12]|93)\\\\d{5}\",,,,\"21123456\",,,[8]],[,,\"8[2-79]\\\\d{7}\",,,,\"821234567\",,,[9]],[,,\"800\\\\d{6}\",,,,\"800123456\",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"MZ\",258,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2|8[2-79]\"]],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],NA:[,[,,\"[68]\\\\d{7,8}\",,,,,,,[8,9]],[,,\"64426\\\\d{3}|6(?:1(?:2[2-7]|3[01378]|4[0-4])|254|32[0237]|4(?:27|41|5[25])|52[236-8]|626|7(?:2[2-4]|30))\\\\d{4,5}|6(?:1(?:(?:0\\\\d|2[0189]|3[24-69]|4[5-9])\\\\d|17|69|7[014])|2(?:17|5[0-36-8]|69|70)|3(?:17|2[14-689]|34|6[289]|7[01]|81)|4(?:17|2[0-2]|4[06]|5[0137]|69|7[01])|5(?:17|2[0459]|69|7[01])|6(?:17|25|38|42|69|7[01])|7(?:17|2[569]|3[13]|6[89]|7[01]))\\\\d{4}\",\n,,,\"61221234\"],[,,\"(?:60|8[1245])\\\\d{7}\",,,,\"811234567\",,,[9]],[,,\"80\\\\d{7}\",,,,\"800123456\",,,[9]],[,,\"8701\\\\d{5}\",,,,\"870123456\",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"8(?:3\\\\d\\\\d|86)\\\\d{5}\",,,,\"88612345\"],\"NA\",264,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\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\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,\n[-1]],,,[,,,,,,,,,[-1]]],NC:[,[,,\"[2-57-9]\\\\d{5}\",,,,,,,[6]],[,,\"(?:2[03-9]|3[0-5]|4[1-7]|88)\\\\d{4}\",,,,\"201234\"],[,,\"(?:5[0-4]|[79]\\\\d|8[0-79])\\\\d{4}\",,,,\"751234\"],[,,,,,,,,,[-1]],[,,\"36\\\\d{4}\",,,,\"366711\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"NC\",687,\"00\",,,,,,,,[[,\"(\\\\d{3})\",\"$1\",[\"5[6-8]\"]],[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1.$2.$3\",[\"[2-57-9]\"]]],[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1.$2.$3\",[\"[2-57-9]\"]]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],NE:[,[,,\"[027-9]\\\\d{7}\",\n,,,,,,[8]],[,,\"2(?:0(?:20|3[1-8]|4[13-5]|5[14]|6[14578]|7[1-578])|1(?:4[145]|5[14]|6[14-68]|7[169]|88))\\\\d{4}\",,,,\"20201234\"],[,,\"(?:23|7[04]|[89]\\\\d)\\\\d{6}\",,,,\"93123456\"],[,,\"08\\\\d{6}\",,,,\"08123456\"],[,,\"09\\\\d{6}\",,,,\"09123456\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"NE\",227,\"00\",,,,,,,,[[,\"(\\\\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]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],NF:[,[,\n,\"[13]\\\\d{5}\",,,,,,,[6],[5]],[,,\"(?:1(?:06|17|28|39)|3[0-2]\\\\d)\\\\d{3}\",,,,\"106609\",,,,[5]],[,,\"(?:14|3[58])\\\\d{4}\",,,,\"381234\",,,,[5]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"NF\",672,\"00\",,,,\"([0-258]\\\\d{4})$\",\"3$1\",,,[[,\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"1[0-3]\"]],[,\"(\\\\d)(\\\\d{5})\",\"$1 $2\",[\"[13]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],NG:[,[,,\"(?:[124-7]|9\\\\d{3})\\\\d{6}|[1-9]\\\\d{7}|[78]\\\\d{9,13}\",,,,,,,[7,8,10,11,12,13,14],[5,6]],\n[,,\"(?:(?:[1-356]\\\\d|4[02-8]|8[2-9])\\\\d|9(?:0[3-9]|[1-9]\\\\d))\\\\d{5}|7(?:0(?:[013-689]\\\\d|2[0-24-9])\\\\d{3,4}|[1-79]\\\\d{6})|(?:[12]\\\\d|4[147]|5[14579]|6[1578]|7[1-3578])\\\\d{5}\",,,,\"18040123\",,,[7,8],[5,6]],[,,\"(?:702[0-24-9]|8(?:01|19)[01])\\\\d{6}|(?:70[13-689]|8(?:0[2-9]|1[0-8])|9(?:0[1-9]|1[2356]))\\\\d{7}\",,,,\"8021234567\",,,[10]],[,,\"800\\\\d{7,11}\",,,,\"80017591759\",,,[10,11,12,13,14]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"NG\",234,\"009\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\n\"$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\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"700\\\\d{7,11}\",,,,\"7001234567\",,,[10,11,12,13,14]],,,[,,,,,,,,,[-1]]],NI:[,[,,\"(?:1800|[25-8]\\\\d{3})\\\\d{4}\",,,,,,,[8]],[,,\"2\\\\d{7}\",\n,,,\"21234567\"],[,,\"(?:5(?:5[0-7]|[78]\\\\d)|6(?:20|3[035]|4[045]|5[05]|77|8[1-9]|9[059])|(?:7[5-8]|8\\\\d)\\\\d)\\\\d{5}\",,,,\"81234567\"],[,,\"1800\\\\d{4}\",,,,\"18001234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"NI\",505,\"00\",,,,,,,,[[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[125-8]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],NL:[,[,,\"(?:[124-7]\\\\d\\\\d|3(?:[02-9]\\\\d|1[0-8]))\\\\d{6}|[89]\\\\d{6,9}|1\\\\d{4,5}\",,,,,,,[5,6,7,8,9,10]],[,,\"(?:1(?:[035]\\\\d|1[13-578]|6[124-8]|7[24]|8[0-467])|2(?:[0346]\\\\d|2[2-46-9]|5[125]|9[479])|3(?:[03568]\\\\d|1[3-8]|2[01]|4[1-8])|4(?:[0356]\\\\d|1[1-368]|7[58]|8[15-8]|9[23579])|5(?:[0358]\\\\d|[19][1-9]|2[1-57-9]|4[13-8]|6[126]|7[0-3578])|7\\\\d\\\\d)\\\\d{6}\",\n,,,\"101234567\",,,[9]],[,,\"6[1-58]\\\\d{7}\",,,,\"612345678\",,,[9]],[,,\"800\\\\d{4,7}\",,,,\"8001234\",,,[7,8,9,10]],[,,\"90[069]\\\\d{4,7}\",,,,\"9061234\",,,[7,8,9,10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"(?:85|91)\\\\d{7}\",,,,\"851234567\",,,[9]],\"NL\",31,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{4})\",\"$1\",[\"1[238]|[34]\"]],[,\"(\\\\d{2})(\\\\d{3,4})\",\"$1 $2\",[\"14\"]],[,\"(\\\\d{6})\",\"$1\",[\"1\"]],[,\"(\\\\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})\",\n\"$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-57-9]\"],\"0$1\"]],[[,\"(\\\\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-57-9]\"],\"0$1\"]],[,,\"66\\\\d{7}\",,,,\"662345678\",,,[9]],,,[,,\"140(?:1[035]|2[0346]|3[03568]|4[0356]|5[0358]|8[458])|140(?:1[16-8]|2[259]|3[124]|4[17-9]|5[124679]|7)\\\\d\",\n,,,,,,[5,6]],[,,\"140(?:1[035]|2[0346]|3[03568]|4[0356]|5[0358]|8[458])|(?:140(?:1[16-8]|2[259]|3[124]|4[17-9]|5[124679]|7)|8[478]\\\\d{6})\\\\d\",,,,\"14020\",,,[5,6,9]],,,[,,,,,,,,,[-1]]],NO:[,[,,\"(?:0|[2-9]\\\\d{3})\\\\d{4}\",,,,,,,[5,8]],[,,\"(?:2[1-4]|3[1-3578]|5[1-35-7]|6[1-4679]|7[0-8])\\\\d{6}\",,,,\"21234567\",,,[8]],[,,\"(?:4[015-8]|59|9\\\\d)\\\\d{6}\",,,,\"40612345\",,,[8]],[,,\"80[01]\\\\d{5}\",,,,\"80012345\",,,[8]],[,,\"82[09]\\\\d{5}\",,,,\"82012345\",,,[8]],[,,\"810(?:0[0-6]|[2-8]\\\\d)\\\\d{3}\",,,,\"81021234\",,,[8]],[,,\"880\\\\d{5}\",\n,,,\"88012345\",,,[8]],[,,\"85[0-5]\\\\d{5}\",,,,\"85012345\",,,[8]],\"NO\",47,\"00\",,,,,,,,[[,\"(\\\\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]\"]]],,[,,,,,,,,,[-1]],1,\"[02-689]|7[0-8]\",[,,,,,,,,,[-1]],[,,\"(?:0[2-9]|81(?:0(?:0[7-9]|1\\\\d)|5\\\\d\\\\d))\\\\d{3}\",,,,\"02000\"],,,[,,\"81[23]\\\\d{5}\",,,,\"81212345\",,,[8]]],NP:[,[,,\"(?:1\\\\d|9)\\\\d{9}|[1-9]\\\\d{7}\",,,,,,,[8,10,11],[6,7]],[,,\"(?:1[0-6]\\\\d|99[02-6])\\\\d{5}|(?:2[13-79]|3[135-8]|4[146-9]|5[135-7]|6[13-9]|7[15-9]|8[1-46-9]|9[1-7])[2-6]\\\\d{5}\",\n,,,\"14567890\",,,[8],[6,7]],[,,\"9(?:6[0-3]|7[245]|8[0-24-68])\\\\d{7}\",,,,\"9841234567\",,,[10]],[,,\"1(?:66001|800\\\\d\\\\d)\\\\d{5}\",,,,\"16600101234\",,,[11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"NP\",977,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d)(\\\\d{7})\",\"$1-$2\",[\"1[2-6]\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{6})\",\"$1-$2\",[\"1[01]|[2-8]|9(?:[1-579]|6[2-6])\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{7})\",\"$1-$2\",[\"9\"]],[,\"(\\\\d{4})(\\\\d{2})(\\\\d{5})\",\"$1-$2-$3\",[\"1\"]]],[[,\"(\\\\d)(\\\\d{7})\",\"$1-$2\",[\"1[2-6]\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{6})\",\n\"$1-$2\",[\"1[01]|[2-8]|9(?:[1-579]|6[2-6])\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{7})\",\"$1-$2\",[\"9\"]]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],NR:[,[,,\"(?:444|(?:55|8\\\\d)\\\\d|666)\\\\d{4}\",,,,,,,[7]],[,,\"444\\\\d{4}\",,,,\"4441234\"],[,,\"(?:55[3-9]|666|8\\\\d\\\\d)\\\\d{4}\",,,,\"5551234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"NR\",674,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[4-68]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],\nNU:[,[,,\"(?:[47]|888\\\\d)\\\\d{3}\",,,,,,,[4,7]],[,,\"[47]\\\\d{3}\",,,,\"7012\",,,[4]],[,,\"888[4-9]\\\\d{3}\",,,,\"8884012\",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"NU\",683,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"8\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],NZ:[,[,,\"[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]],[,,\"24099\\\\d{3}|(?:3[2-79]|[49][2-9]|6[235-9]|7[2-57-9])\\\\d{6}\",\n,,,\"32345678\",,,[8],[7]],[,,\"2[0-27-9]\\\\d{7,8}|21\\\\d{6}\",,,,\"211234567\",,,[8,9,10]],[,,\"508\\\\d{6,7}|80\\\\d{6,8}\",,,,\"800123456\",,,[8,9,10]],[,,\"(?:11\\\\d{5}|50(?:0[08]|30|66|77|88))\\\\d{3}|90\\\\d{6,8}\",,,,\"900123456\",,,[7,8,9,10]],[,,,,,,,,,[-1]],[,,\"70\\\\d{7}\",,,,\"701234567\",,,[9]],[,,,,,,,,,[-1]],\"NZ\",64,\"0(?:0|161)\",\"0\",,,\"0\",,\"00\",,[[,\"(\\\\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})\",\n\"$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\"]],,[,,\"[28]6\\\\d{6,7}\",,,,\"26123456\",,,[8,9]],,,[,,,,,,,,,[-1]],[,,\"8(?:1[6-9]|22|3\\\\d|4[045]|5[459]|7[0-3579]|90)\\\\d{2,7}\",,,,\"83012378\"],,,[,,,,,,,,,[-1]]],OM:[,[,,\"(?:1505|[279]\\\\d{3}|500)\\\\d{4}|800\\\\d{5,6}\",,,,,,,[7,8,9]],[,,\"2[2-6]\\\\d{6}\",\n,,,\"23123456\",,,[8]],[,,\"1505\\\\d{4}|(?:7(?:[1289]\\\\d|70)|9(?:0[1-9]|[1-9]\\\\d))\\\\d{5}\",,,,\"92123456\",,,[8]],[,,\"8007\\\\d{4,5}|(?:500|800[05])\\\\d{4}\",,,,\"80071234\"],[,,\"900\\\\d{5}\",,,,\"90012345\",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"OM\",968,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{4,6})\",\"$1 $2\",[\"[58]\"]],[,\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"2\"]],[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[179]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],PA:[,[,,\"(?:00800|8\\\\d{3})\\\\d{6}|[68]\\\\d{7}|[1-57-9]\\\\d{6}\",\n,,,,,,[7,8,10,11]],[,,\"(?:1(?:0\\\\d|1[479]|2[37]|3[0137]|4[17]|5[05]|6[58]|7[0167]|8[258]|9[1389])|2(?:[0235-79]\\\\d|1[0-7]|4[013-9]|8[02-9])|3(?:[089]\\\\d|1[0-7]|2[0-5]|33|4[0-79]|5[05]|6[068]|7[0-8])|4(?:00|3[0-579]|4\\\\d|7[0-57-9])|5(?:[01]\\\\d|2[0-7]|[56]0|79)|7(?:0[09]|2[0-26-8]|3[03]|4[04]|5[05-9]|6[056]|7[0-24-9]|8[6-9]|90)|8(?:09|2[89]|3\\\\d|4[0-24-689]|5[014]|8[02])|9(?:0[5-9]|1[0135-8]|2[036-9]|3[35-79]|40|5[0457-9]|6[05-9]|7[04-9]|8[35-8]|9\\\\d))\\\\d{4}\",,,,\"2001234\",,,[7]],[,,\"(?:1[16]1|21[89]|6(?:[02-9]\\\\d|1[0-8])\\\\d|8(?:1[01]|7[23]))\\\\d{4}\",\n,,,\"61234567\",,,[7,8]],[,,\"800\\\\d{4,5}|(?:00800|800\\\\d)\\\\d{6}\",,,,\"8001234\"],[,,\"(?:8(?:22|55|60|7[78]|86)|9(?:00|81))\\\\d{4}\",,,,\"8601234\",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"PA\",507,\"00\",,,,,,,,[[,\"(\\\\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\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],PE:[,[,,\"(?:[14-8]|9\\\\d)\\\\d{7}\",,,,,,,[8,9],[6,7]],[,,\"(?:(?:4[34]|5[14])[0-8]\\\\d|7(?:173|3[0-8]\\\\d)|8(?:10[05689]|6(?:0[06-9]|1[6-9]|29)|7(?:0[569]|[56]0)))\\\\d{4}|(?:1[0-8]|4[12]|5[236]|6[1-7]|7[246]|8[2-4])\\\\d{6}\",\n,,,\"11234567\",,,[8],[6,7]],[,,\"9\\\\d{8}\",,,,\"912345678\",,,[9]],[,,\"800\\\\d{5}\",,,,\"80012345\",,,[8]],[,,\"805\\\\d{5}\",,,,\"80512345\",,,[8]],[,,\"801\\\\d{5}\",,,,\"80112345\",,,[8]],[,,\"80[24]\\\\d{5}\",,,,\"80212345\",,,[8]],[,,,,,,,,,[-1]],\"PE\",51,\"19(?:1[124]|77|90)00\",\"0\",\" Anexo \",,\"0\",,,,[[,\"(\\\\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\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,\n,,,,,[-1]],,,[,,,,,,,,,[-1]]],PF:[,[,,\"4\\\\d{5}(?:\\\\d{2})?|8\\\\d{7,8}\",,,,,,,[6,8,9]],[,,\"4(?:0[4-689]|9[4-68])\\\\d{5}\",,,,\"40412345\",,,[8]],[,,\"8[7-9]\\\\d{6}\",,,,\"87123456\",,,[8]],[,,\"80[0-5]\\\\d{6}\",,,,\"800012345\",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"499\\\\d{5}\",,,,\"49901234\",,,[8]],\"PF\",689,\"00\",,,,,,,,[[,\"(\\\\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\"]]],,[,,,\n,,,,,,[-1]],,,[,,\"44\\\\d{4}\",,,,,,,[6]],[,,\"44\\\\d{4}\",,,,\"440123\",,,[6]],,,[,,,,,,,,,[-1]]],PG:[,[,,\"(?:180|[78]\\\\d{3})\\\\d{4}|(?:[2-589]\\\\d|64)\\\\d{5}\",,,,,,,[7,8]],[,,\"(?:(?:3[0-2]|4[257]|5[34]|9[78])\\\\d|64[1-9]|85[02-46-9])\\\\d{4}\",,,,\"3123456\",,,[7]],[,,\"(?:7\\\\d|8[18])\\\\d{6}\",,,,\"70123456\",,,[8]],[,,\"180\\\\d{4}\",,,,\"1801234\",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"2(?:0[0-47]|7[568])\\\\d{4}\",,,,\"2751234\",,,[7]],\"PG\",675,\"00|140[1-3]\",,,,,,\"00\",,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"18|[2-69]|85\"]],\n[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[78]\"]]],,[,,\"27[01]\\\\d{4}\",,,,\"2700123\",,,[7]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],PH:[,[,,\"(?:[2-7]|9\\\\d)\\\\d{8}|2\\\\d{5}|(?:1800|8)\\\\d{7,9}\",,,,,,,[6,8,9,10,11,12,13],[4,5,7]],[,,\"(?:(?:2[3-8]|3[2-68]|4[2-9]|5[2-6]|6[2-58]|7[24578])\\\\d{3}|88(?:22\\\\d\\\\d|42))\\\\d{4}|(?:2|8[2-8]\\\\d\\\\d)\\\\d{5}\",,,,\"232345678\",,,[6,8,9,10],[4,5,7]],[,,\"(?:8(?:1[37]|9[5-8])|9(?:0[5-9]|1[0-24-9]|[235-7]\\\\d|4[2-9]|8[135-9]|9[1-9]))\\\\d{7}\",,,,\"9051234567\",,,[10]],[,,\"1800\\\\d{7,9}\",\n,,,\"180012345678\",,,[11,12,13]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"PH\",63,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\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})\",\n\"$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\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],PK:[,[,,\"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}\",,,,,,\n,[8,9,10,11,12],[5,6,7]],[,,\"(?:(?:21|42)[2-9]|58[126])\\\\d{7}|(?:2[25]|4[0146-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]\\\\d{6,7}|(?: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]))[2-9]\\\\d{5,6}\",,,,\"2123456789\",,,[9,10],[5,6,7,8]],[,,\"3(?:[014]\\\\d|2[0-5]|3[0-7]|55|64)\\\\d{7}\",,,,\"3012345678\",,,[10]],[,,\"800\\\\d{5}(?:\\\\d{3})?\",,,,\"80012345\",,,[8,11]],[,,\"900\\\\d{5}\",,,,\"90012345\",,,[8]],[,,,,,,,,,[-1]],[,,\"122\\\\d{6}\",\n,,,\"122044444\",,,[9]],[,,,,,,,,,[-1]],\"PK\",92,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\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]\"],\n\"(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)\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"(?:2(?:[125]|3[2358]|4[2-4]|9[2-8])|4(?:[0-246-9]|5[3479])|5(?:[1-35-7]|4[2-467])|6(?:0[468]|[1-8])|7(?:[14]|2[236])|8(?:[16]|2[2-689]|3[23578]|4[3478]|5[2356])|9(?:1|22|3[27-9]|4[2-6]|6[3569]|9[2-7]))111\\\\d{6}\",\n,,,\"21111825888\",,,[11,12]],,,[,,,,,,,,,[-1]]],PL:[,[,,\"6\\\\d{5}(?:\\\\d{2})?|8\\\\d{9}|[1-9]\\\\d{6}(?:\\\\d{2})?\",,,,,,,[6,7,8,9,10]],[,,\"47\\\\d{7}|(?: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])(?:[02-9]\\\\d{6}|1(?:[0-8]\\\\d{5}|9\\\\d{3}(?:\\\\d{2})?))\",,,,\"123456789\",,,[7,9]],[,,\"211(?:1\\\\d|3[1-5])\\\\d{4}|(?:45|5[0137]|6[069]|7[2389]|88)\\\\d{7}\",,,,\"512345678\",,,[9]],[,,\"800\\\\d{6,7}\",,,,\"800123456\",,,[9,10]],[,,\"70[01346-8]\\\\d{6}\",,,,\"701234567\",,,[9]],[,,\"801\\\\d{6}\",,,,\"801234567\",\n,,[9]],[,,,,,,,,,[-1]],[,,\"39\\\\d{7}\",,,,\"391234567\",,,[9]],\"PL\",48,\"00\",,,,,,,,[[,\"(\\\\d{5})\",\"$1\",[\"19\"]],[,\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"11|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})\",\n\"$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\"]]],,[,,\"64\\\\d{4,7}\",,,,\"641234567\",,,[6,7,8,9]],,,[,,,,,,,,,[-1]],[,,\"804\\\\d{6}\",,,,\"804123456\",,,[9]],,,[,,,,,,,,,[-1]]],PM:[,[,,\"(?:[45]|80\\\\d\\\\d)\\\\d{5}\",,,,,,,[6,9]],[,,\"(?:4[1-3]|50)\\\\d{4}\",,,,\"430123\",,,[6]],[,,\"(?:4[02-4]|5[05])\\\\d{4}\",,,,\"551234\",,,[6]],[,,\"80[0-5]\\\\d{6}\",,,,\"800012345\",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"PM\",508,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\"$1 $2 $3\",[\"[45]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],PR:[,[,,\"(?:[589]\\\\d\\\\d|787)\\\\d{7}\",,,,,,,[10],[7]],[,,\"(?:787|939)[2-9]\\\\d{6}\",,,,\"7872345678\",,,,[7]],[,,\"(?:787|939)[2-9]\\\\d{6}\",,,,\"7872345678\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002345678\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002345678\"],[,,,,,,,,,[-1]],[,,\"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[12]|33|44|66|77|88)[2-9]\\\\d{6}\",\n,,,\"5002345678\"],[,,,,,,,,,[-1]],\"PR\",1,\"011\",\"1\",,,\"1\",,,1,,,[,,,,,,,,,[-1]],,\"787|939\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],PS:[,[,,\"[2489]2\\\\d{6}|(?:1\\\\d|5)\\\\d{8}\",,,,,,,[8,9,10],[7]],[,,\"(?:22[2-47-9]|42[45]|82[014-68]|92[3569])\\\\d{5}\",,,,\"22234567\",,,[8],[7]],[,,\"5[69]\\\\d{7}\",,,,\"599123456\",,,[9]],[,,\"1800\\\\d{6}\",,,,\"1800123456\",,,[10]],[,,,,,,,,,[-1]],[,,\"1700\\\\d{6}\",,,,\"1700123456\",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"PS\",970,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",\n[\"[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\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],PT:[,[,,\"1693\\\\d{5}|(?:[26-9]\\\\d|30)\\\\d{7}\",,,,,,,[9]],[,,\"2(?:[12]\\\\d|[35][1-689]|4[1-59]|6[1-35689]|7[1-9]|8[1-69]|9[1256])\\\\d{6}\",,,,\"212345678\"],[,,\"6[0356]92(?:30|9\\\\d)\\\\d{3}|(?:(?:16|6[0356])93|9(?:[1-36]\\\\d\\\\d|480))\\\\d{5}\",,,,\"912345678\"],[,,\"80[02]\\\\d{6}\",,,,\"800123456\"],[,,\"(?:6(?:0[178]|4[68])\\\\d|76(?:0[1-57]|1[2-47]|2[237]))\\\\d{5}\",\n,,,\"760123456\"],[,,\"80(?:8\\\\d|9[1579])\\\\d{5}\",,,,\"808123456\"],[,,\"884[0-4689]\\\\d{5}\",,,,\"884123456\"],[,,\"30\\\\d{7}\",,,,\"301234567\"],\"PT\",351,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2[12]\"]],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"16|[236-9]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"70(?:7\\\\d|8[17])\\\\d{5}\",,,,\"707123456\"],,,[,,\"600\\\\d{6}\",,,,\"600110000\"]],PW:[,[,,\"(?:[24-8]\\\\d\\\\d|345|900)\\\\d{4}\",,,,,,,[7]],[,,\"(?:2(?:55|77)|345|488|5(?:35|44|87)|6(?:22|54|79)|7(?:33|47)|8(?:24|55|76)|900)\\\\d{4}\",\n,,,\"2771234\"],[,,\"(?:46[0-5]|6[2-4689]0)\\\\d{4}|(?:45|77|88)\\\\d{5}\",,,,\"6201234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"PW\",680,\"01[12]\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-9]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],PY:[,[,,\"59\\\\d{4,6}|9\\\\d{5,10}|(?:[2-46-8]\\\\d|5[0-8])\\\\d{4,7}\",,,,,,,[6,7,8,9,10,11],[5]],[,,\"(?:[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36])\\\\d{5,7}|(?:2(?:2[4-68]|[4-68]\\\\d|7[15]|9[1-5])|3(?:18|3[167]|4[2357]|51|[67]\\\\d)|4(?:3[12]|5[13]|9[1-47])|5(?:[1-4]\\\\d|5[02-4])|6(?:3[1-3]|44|7[1-8])|7(?:4[0-4]|5\\\\d|6[1-578]|75|8[0-8])|858)\\\\d{5,6}\",\n,,,\"212345678\",,,[7,8,9],[5,6]],[,,\"9(?:51|6[129]|[78][1-6]|9[1-5])\\\\d{6}\",,,,\"961456789\",,,[9]],[,,\"9800\\\\d{5,7}\",,,,\"98000123456\",,,[9,10,11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"8700[0-4]\\\\d{4}\",,,,\"870012345\",,,[9]],\"PY\",595,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\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})\",\n\"$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\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"[2-9]0\\\\d{4,7}\",,,,\"201234567\",,,[6,7,8,9]],,,[,,,,,,,,,[-1]]],QA:[,[,,\"[2-7]\\\\d{7}|800\\\\d{4}(?:\\\\d{2})?|2\\\\d{6}\",,,,,,,[7,8,9]],[,,\"4141\\\\d{4}|(?:23|4[04])\\\\d{6}\",,,,\"44123456\",\n,,[8]],[,,\"(?:28|[35-7]\\\\d)\\\\d{6}\",,,,\"33123456\",,,[8]],[,,\"800\\\\d{4}(?:\\\\d{2})?\",,,,\"8001234\",,,[7,9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"QA\",974,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"2[126]|8\"]],[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-7]\"]]],,[,,\"2(?:[12]\\\\d|61)\\\\d{4}\",,,,\"2123456\",,,[7]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],RE:[,[,,\"9769\\\\d{5}|(?:26|[68]\\\\d)\\\\d{7}\",,,,,,,[9]],[,,\"26(?:2\\\\d\\\\d|30[0-5])\\\\d{4}\",,,,\"262161234\"],[,,\"(?:69(?:2\\\\d\\\\d|3(?:[06][0-46]|1[013]|2[0-2]|3[0-39]|4\\\\d|5[0-5]|7[0-27]|8[0-8]|9[0-479]))|9769\\\\d)\\\\d{4}\",\n,,,\"692123456\"],[,,\"80\\\\d{7}\",,,,\"801234567\"],[,,\"89[1-37-9]\\\\d{6}\",,,,\"891123456\"],[,,\"8(?:1[019]|2[0156]|84|90)\\\\d{6}\",,,,\"810123456\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"RE\",262,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2689]\"],\"0$1\"]],,[,,,,,,,,,[-1]],1,\"26[23]|69|[89]\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],RO:[,[,,\"(?:[2378]\\\\d|90)\\\\d{7}|[23]\\\\d{5}\",,,,,,,[6,9]],[,,\"[23][13-6]\\\\d{7}|(?:2(?:19\\\\d|[3-6]\\\\d9)|31\\\\d\\\\d)\\\\d\\\\d\",,,,\"211234567\"],[,,\"7020\\\\d{5}|7(?:0[013-9]|1[0-3]|[2-7]\\\\d|8[03-8]|9[019])\\\\d{6}\",\n,,,\"712034567\",,,[9]],[,,\"800\\\\d{6}\",,,,\"800123456\",,,[9]],[,,\"90[0136]\\\\d{6}\",,,,\"900123456\",,,[9]],[,,\"801\\\\d{6}\",,,,\"801123456\",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"RO\",40,\"00\",\"0\",\" int \",,\"0\",,,,[[,\"(\\\\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\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"(?:37\\\\d|80[578])\\\\d{6}\",,,,\"372123456\",\n,,[9]],,,[,,,,,,,,,[-1]]],RS:[,[,,\"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],[4,5]],[,,\"(?:11[1-9]\\\\d|(?:2[389]|39)(?:0[2-9]|[2-9]\\\\d))\\\\d{3,8}|(?:1[02-9]|2[0-24-7]|3[0-8])[2-9]\\\\d{4,9}\",,,,\"10234567\",,,[7,8,9,10,11,12],[4,5,6]],[,,\"6(?:[0-689]|7\\\\d)\\\\d{6,7}\",,,,\"601234567\",,,[8,9,10]],[,,\"800\\\\d{3,9}\",,,,\"80012345\"],[,,\"(?:78\\\\d|90[0169])\\\\d{3,7}\",,,,\"90012345\",,,[6,7,8,9,10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,\n,,,,,,,,[-1]],\"RS\",381,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\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\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"7[06]\\\\d{4,10}\",,,,\"700123456\"],,,[,,,,,,,,,[-1]]],RU:[,[,,\"8\\\\d{13}|[347-9]\\\\d{9}\",,,,,,,[10,14],[7]],[,,\"(?:3(?:0[12]|4[1-35-79]|5[1-3]|65|8[1-58]|9[0145])|4(?:01|1[1356]|2[13467]|7[1-5]|8[1-7]|9[1-689])|8(?:1[1-8]|2[01]|3[13-6]|4[0-8]|5[15]|6[1-35-79]|7[1-37-9]))\\\\d{7}\",,,,\"3011234567\",,,[10],[7]],[,,\"9\\\\d{9}\",\n,,,\"9123456789\",,,[10]],[,,\"8(?:0[04]|108\\\\d{3})\\\\d{7}\",,,,\"8001234567\"],[,,\"80[39]\\\\d{7}\",,,,\"8091234567\",,,[10]],[,,,,,,,,,[-1]],[,,\"808\\\\d{7}\",,,,\"8081234567\",,,[10]],[,,,,,,,,,[-1]],\"RU\",7,\"810\",\"8\",,,\"8\",,\"8~10\",,[[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1-$2-$3\",[\"[0-79]\"]],[,\"(\\\\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})\",\n\"$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})\",\n\"$1 $2 $3 $4\",[\"8\"],\"8 ($1)\"]],[[,\"(\\\\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]\"],\n\"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)\"]],[,,,,,,,,,[-1]],1,\"3[04-689]|[489]\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],RW:[,[,,\"(?:06|[27]\\\\d\\\\d|[89]00)\\\\d{6}\",,,,,,,[8,9]],[,,\"(?:06|2[23568]\\\\d)\\\\d{6}\",,,,\"250123456\"],[,,\"7[2389]\\\\d{7}\",,,,\"720123456\",,,[9]],[,,\"800\\\\d{6}\",,,,\"800123456\",,,[9]],[,,\n\"900\\\\d{6}\",,,,\"900123456\",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"RW\",250,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\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\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SA:[,[,,\"92\\\\d{7}|(?:[15]|8\\\\d)\\\\d{8}\",,,,,,,[9,10],[7]],[,,\"1(?:1\\\\d|2[24-8]|3[35-8]|4[3-68]|6[2-5]|7[235-7])\\\\d{6}\",,,,\"112345678\",,,[9],[7]],[,,\"579[01]\\\\d{5}|5(?:[013-689]\\\\d|7[0-36-8])\\\\d{6}\",\n,,,\"512345678\",,,[9]],[,,\"800\\\\d{7}\",,,,\"8001234567\",,,[10]],[,,\"925\\\\d{6}\",,,,\"925012345\",,,[9]],[,,\"920\\\\d{6}\",,,,\"920012345\",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"SA\",966,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\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\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"811\\\\d{7}\",,,,\"8110123456\",\n,,[10]],,,[,,,,,,,,,[-1]]],SB:[,[,,\"(?:[1-6]|[7-9]\\\\d\\\\d)\\\\d{4}\",,,,,,,[5,7]],[,,\"(?:1[4-79]|[23]\\\\d|4[0-2]|5[03]|6[0-37])\\\\d{3}\",,,,\"40123\",,,[5]],[,,\"48\\\\d{3}|(?:(?:7[1-9]|8[4-9])\\\\d|9(?:1[2-9]|2[013-9]|3[0-2]|[46]\\\\d|5[0-46-9]|7[0-689]|8[0-79]|9[0-8]))\\\\d{4}\",,,,\"7421234\"],[,,\"1[38]\\\\d{3}\",,,,\"18123\",,,[5]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"5[12]\\\\d{3}\",,,,\"51123\",,,[5]],\"SB\",677,\"0[01]\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"7|8[4-9]|9(?:[1-8]|9[0-8])\"]]],,[,,,,,,,,,[-1]],,,\n[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SC:[,[,,\"8000\\\\d{3}|(?:[249]\\\\d|64)\\\\d{5}\",,,,,,,[7]],[,,\"4[2-46]\\\\d{5}\",,,,\"4217123\"],[,,\"2[5-8]\\\\d{5}\",,,,\"2510123\"],[,,\"8000\\\\d{3}\",,,,\"8000000\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"971\\\\d{4}|(?:64|95)\\\\d{5}\",,,,\"6412345\"],\"SC\",248,\"010|0[0-2]\",,,,,,\"00\",,[[,\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[246]|9[57]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SD:[,[,,\"[19]\\\\d{8}\",,,,,,,[9]],[,,\"1(?:5\\\\d|8[35-7])\\\\d{6}\",\n,,,\"153123456\"],[,,\"(?:1[0-2]|9[0-3569])\\\\d{7}\",,,,\"911231234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"SD\",249,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[19]\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SE:[,[,,\"(?:[26]\\\\d\\\\d|9)\\\\d{9}|[1-9]\\\\d{8}|[1-689]\\\\d{7}|[1-4689]\\\\d{6}|2\\\\d{5}\",,,,,,,[6,7,8,9,10,12]],[,,\"(?:(?:[12][136]|3[356]|4[0246]|6[03]|8\\\\d)\\\\d|90[1-9])\\\\d{4,6}|(?:1(?:2[0-35]|4[0-4]|5[0-25-9]|7[13-6]|[89]\\\\d)|2(?:2[0-7]|4[0136-8]|5[0138]|7[018]|8[01]|9[0-57])|3(?:0[0-4]|1\\\\d|2[0-25]|4[056]|7[0-2]|8[0-3]|9[023])|4(?:1[013-8]|3[0135]|5[14-79]|7[0-246-9]|8[0156]|9[0-689])|5(?:0[0-6]|[15][0-5]|2[0-68]|3[0-4]|4\\\\d|6[03-5]|7[013]|8[0-79]|9[01])|6(?:1[1-3]|2[0-4]|4[02-57]|5[0-37]|6[0-3]|7[0-2]|8[0247]|9[0-356])|9(?:1[0-68]|2\\\\d|3[02-5]|4[0-3]|5[0-4]|[68][01]|7[0135-8]))\\\\d{5,6}\",\n,,,\"8123456\",,,[7,8,9]],[,,\"7[02369]\\\\d{7}\",,,,\"701234567\",,,[9]],[,,\"20\\\\d{4,7}\",,,,\"20123456\",,,[6,7,8,9]],[,,\"649\\\\d{6}|9(?:00|39|44)[1-8]\\\\d{3,6}\",,,,\"9001234567\",,,[7,8,9,10]],[,,\"77[0-7]\\\\d{6}\",,,,\"771234567\",,,[9]],[,,\"75[1-8]\\\\d{6}\",,,,\"751234567\",,,[9]],[,,,,,,,,,[-1]],\"SE\",46,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{2,3})(\\\\d{2})\",\"$1-$2 $3\",[\"20\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"9(?:00|39|44)\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{2})\",\"$1-$2 $3\",[\"[12][136]|3[356]|4[0246]|6[03]|90[1-9]\"],\"0$1\"],\n[,\"(\\\\d)(\\\\d{2,3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"8\"],\"0$1\"],[,\"(\\\\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\"],[,\"(\\\\d{3})(\\\\d{2,3})(\\\\d{3})\",\"$1-$2 $3\",[\"9(?:00|39|44)\"],\"0$1\"],[,\"(\\\\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\"],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"10|7\"],\"0$1\"],[,\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\n\"$1-$2 $3 $4\",[\"8\"],\"0$1\"],[,\"(\\\\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\"],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1-$2 $3 $4\",[\"9\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4 $5\",[\"[26]\"],\"0$1\"]],[[,\"(\\\\d{2})(\\\\d{2,3})(\\\\d{2})\",\"$1 $2 $3\",[\"20\"]],[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"9(?:00|39|44)\"]],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3\",[\"[12][136]|3[356]|4[0246]|6[03]|90[1-9]\"]],[,\"(\\\\d)(\\\\d{2,3})(\\\\d{2})(\\\\d{2})\",\n\"$1 $2 $3 $4\",[\"8\"]],[,\"(\\\\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])\"]],[,\"(\\\\d{3})(\\\\d{2,3})(\\\\d{3})\",\"$1 $2 $3\",[\"9(?:00|39|44)\"]],[,\"(\\\\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]\"]],[,\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"10|7\"]],[,\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"]],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\"$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])\"]],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"[26]\"]]],[,,\"74[02-9]\\\\d{6}\",,,,\"740123456\",,,[9]],,,[,,,,,,,,,[-1]],[,,\"10[1-8]\\\\d{6}\",,,,\"102345678\",,,[9]],,,[,,\"(?:25[245]|67[3-68])\\\\d{9}\",,,,\"254123456789\",,,[12]]],SG:[,[,,\"(?:(?:1\\\\d|8)\\\\d\\\\d|7000)\\\\d{7}|[3689]\\\\d{7}\",,,,,,,[8,10,11]],[,,\"662[0-24-9]\\\\d{4}|6(?:[1-578]\\\\d|6[013-57-9]|9[0-35-9])\\\\d{5}\",\n,,,\"61234567\",,,[8]],[,,\"895[0-2]\\\\d{4}|(?:8(?:0[1-4]|[1-8]\\\\d|9[0-4])|9[0-8]\\\\d)\\\\d{5}\",,,,\"81234567\",,,[8]],[,,\"(?:18|8)00\\\\d{7}\",,,,\"18001234567\",,,[10,11]],[,,\"1900\\\\d{7}\",,,,\"19001234567\",,,[11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"(?:3[12]\\\\d|666)\\\\d{5}\",,,,\"31234567\",,,[8]],\"SG\",65,\"0[0-3]\\\\d\",,,,,,,,[[,\"(\\\\d{4,5})\",\"$1\",[\"1[013-9]|77\",\"1(?:[013-8]|9(?:0[1-9]|[1-9]))|77\"]],[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[369]|8(?:0[1-4]|[1-9])\"]],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]],[,\"(\\\\d{4})(\\\\d{4})(\\\\d{3})\",\n\"$1 $2 $3\",[\"7\"]],[,\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]]],[[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[369]|8(?:0[1-4]|[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\"]]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"7000\\\\d{7}\",,,,\"70001234567\",,,[11]],,,[,,,,,,,,,[-1]]],SH:[,[,,\"(?:[256]\\\\d|8)\\\\d{3}\",,,,,,,[4,5]],[,,\"2(?:[0-57-9]\\\\d|6[4-9])\\\\d\\\\d\",,,,\"22158\"],[,,\"[56]\\\\d{4}\",,,,\"51234\",,,[5]],[,,,,,,,,,[-1]],\n[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"262\\\\d\\\\d\",,,,\"26212\",,,[5]],\"SH\",290,\"00\",,,,,,,,,,[,,,,,,,,,[-1]],1,\"[256]\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SI:[,[,,\"[1-7]\\\\d{7}|8\\\\d{4,7}|90\\\\d{4,6}\",,,,,,,[5,6,7,8]],[,,\"(?:[1-357][2-8]|4[24-8])\\\\d{6}\",,,,\"12345678\",,,[8],[7]],[,,\"65(?:1\\\\d|55|[67]0)\\\\d{4}|(?:[37][01]|4[0139]|51|6[489])\\\\d{6}\",,,,\"31234567\",,,[8]],[,,\"80\\\\d{4,6}\",,,,\"80123456\",,,[6,7,8]],[,,\"89[1-3]\\\\d{2,5}|90\\\\d{4,6}\",,,,\"90123456\"],[,,,,,,,,,[-1]],[,,,,,\n,,,,[-1]],[,,\"(?:59\\\\d\\\\d|8(?:1(?:[67]\\\\d|8[0-489])|2(?:0\\\\d|2[0-37-9]|8[0-2489])|3[389]\\\\d))\\\\d{4}\",,,,\"59012345\",,,[8]],\"SI\",386,\"00|10(?:22|66|88|99)\",\"0\",,,\"0\",,\"00\",,[[,\"(\\\\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)\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SJ:[,[,,\"0\\\\d{4}|(?:[489]\\\\d|[57]9)\\\\d{6}\",\n,,,,,,[5,8]],[,,\"79\\\\d{6}\",,,,\"79123456\",,,[8]],[,,\"(?:4[015-8]|59|9\\\\d)\\\\d{6}\",,,,\"41234567\",,,[8]],[,,\"80[01]\\\\d{5}\",,,,\"80012345\",,,[8]],[,,\"82[09]\\\\d{5}\",,,,\"82012345\",,,[8]],[,,\"810(?:0[0-6]|[2-8]\\\\d)\\\\d{3}\",,,,\"81021234\",,,[8]],[,,\"880\\\\d{5}\",,,,\"88012345\",,,[8]],[,,\"85[0-5]\\\\d{5}\",,,,\"85012345\",,,[8]],\"SJ\",47,\"00\",,,,,,,,,,[,,,,,,,,,[-1]],,\"79\",[,,,,,,,,,[-1]],[,,\"(?:0[2-9]|81(?:0(?:0[7-9]|1\\\\d)|5\\\\d\\\\d))\\\\d{3}\",,,,\"02000\"],,,[,,\"81[23]\\\\d{5}\",,,,\"81212345\",,,[8]]],SK:[,[,,\"[2-689]\\\\d{8}|[2-59]\\\\d{6}|[2-5]\\\\d{5}\",\n,,,,,,[6,7,9]],[,,\"(?:2(?:16|[2-9]\\\\d{3})|(?:(?:[3-5][1-8]\\\\d|819)\\\\d|601[1-5])\\\\d)\\\\d{4}|(?:2|[3-5][1-8])1[67]\\\\d{3}|[3-5][1-8]16\\\\d\\\\d\",,,,\"221234567\"],[,,\"909[1-9]\\\\d{5}|9(?:0[1-8]|1[0-24-9]|4[03-57-9]|5\\\\d)\\\\d{6}\",,,,\"912123456\",,,[9]],[,,\"800\\\\d{6}\",,,,\"800123456\",,,[9]],[,,\"9(?:00|[78]\\\\d)\\\\d{6}\",,,,\"900123456\",,,[9]],[,,\"8[5-9]\\\\d{7}\",,,,\"850123456\",,,[9]],[,,,,,,,,,[-1]],[,,\"6(?:02|5[0-4]|9[0-6])\\\\d{6}\",,,,\"690123456\",,,[9]],\"SK\",421,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d)(\\\\d{2})(\\\\d{3,4})\",\"$1 $2 $3\",\n[\"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{4})(\\\\d{3})\",\"$1 $2\",[\"909\",\"9090\"],\"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\"]],[[,\"(\\\\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})\",\n\"$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\"]],[,,\"9090\\\\d{3}\",,,,\"9090123\",,,[7]],,,[,,\"9090\\\\d{3}|(?:602|8(?:00|[5-9]\\\\d)|9(?:00|[78]\\\\d))\\\\d{6}\",,,,,,,[7,9]],[,,\"96\\\\d{7}\",,,,\"961234567\",,,[9]],,,[,,,,,,,,,[-1]]],SL:[,[,,\"(?:[237-9]\\\\d|66)\\\\d{6}\",,,,,,,[8],[6]],[,,\"22[2-4][2-9]\\\\d{4}\",,,,\"22221234\",,,,[6]],[,,\"(?:25|3[0-5]|66|7[3-9]|8[08]|9[09])\\\\d{6}\",,,,\"25123456\"],[,,,,,,,,,[-1]],[,,,,,\n,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"SL\",232,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[236-9]\"],\"(0$1)\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SM:[,[,,\"(?:0549|[5-7]\\\\d)\\\\d{6}\",,,,,,,[8,10],[6]],[,,\"0549(?:8[0157-9]|9\\\\d)\\\\d{4}\",,,,\"0549886377\",,,[10],[6]],[,,\"6[16]\\\\d{6}\",,,,\"66661212\",,,[8]],[,,,,,,,,,[-1]],[,,\"7[178]\\\\d{6}\",,,,\"71123456\",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"5[158]\\\\d{6}\",,,,\"58001110\",,,[8]],\"SM\",378,\"00\",,,\n,\"([89]\\\\d{5})$\",\"0549$1\",,,[[,\"(\\\\d{6})\",\"$1\",[\"[89]\"]],[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-7]\"]],[,\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"0\"]]],[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-7]\"]],[,\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"0\"]]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SN:[,[,,\"(?:[378]\\\\d|93)\\\\d{7}\",,,,,,,[9]],[,,\"3(?:0(?:1[0-2]|80)|282|3(?:8[1-9]|9[3-9])|611)\\\\d{5}\",,,,\"301012345\"],[,,\"75(?:01|[38]3)\\\\d{5}|7(?:[06-8]\\\\d|21|5[4-7]|90)\\\\d{6}\",\n,,,\"701234567\"],[,,\"800\\\\d{6}\",,,,\"800123456\"],[,,\"88[4689]\\\\d{6}\",,,,\"884123456\"],[,,\"81[02468]\\\\d{6}\",,,,\"810123456\"],[,,,,,,,,,[-1]],[,,\"(?:3(?:392|9[01]\\\\d)\\\\d|93(?:3[13]0|929))\\\\d{4}\",,,,\"933301234\"],\"SN\",221,\"00\",,,,,,,,[[,\"(\\\\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]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SO:[,[,,\"[346-9]\\\\d{8}|[12679]\\\\d{7}|[1-5]\\\\d{6}|[1348]\\\\d{5}\",,,,,,,[6,7,8,9]],[,,\n\"(?:1\\\\d|2[0-79]|3[0-46-8]|4[0-7]|5[57-9])\\\\d{5}|(?:[134]\\\\d|8[125])\\\\d{4}\",,,,\"4012345\",,,[6,7]],[,,\"(?:(?:15|(?:3[59]|4[89]|79|8[08])\\\\d|6(?:0[5-7]|[1-9]\\\\d)|9(?:0\\\\d|[2-9]))\\\\d|2(?:4\\\\d|8))\\\\d{5}|(?:6\\\\d|7[1-9])\\\\d{6}\",,,,\"71123456\",,,[7,8,9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"SO\",252,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\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})\",\n\"$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]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SR:[,[,,\"(?:[2-5]|68|[78]\\\\d)\\\\d{5}\",,,,,,,[6,7]],[,,\"(?:2[1-3]|3[0-7]|(?:4|68)\\\\d|5[2-58])\\\\d{4}\",,,,\"211234\"],[,,\"(?:7[124-7]|8[124-9])\\\\d{5}\",,,,\"7412345\",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"56\\\\d{4}\",,,,\"561234\",,,[6]],\"SR\",597,\"00\",,,,,,,\n,[[,\"(\\\\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]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SS:[,[,,\"[19]\\\\d{8}\",,,,,,,[9]],[,,\"1[89]\\\\d{7}\",,,,\"181234567\"],[,,\"(?:12|9[1257-9])\\\\d{7}\",,,,\"977123456\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"SS\",211,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[19]\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,\n,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],ST:[,[,,\"(?:22|9\\\\d)\\\\d{5}\",,,,,,,[7]],[,,\"22\\\\d{5}\",,,,\"2221234\"],[,,\"900[5-9]\\\\d{3}|9(?:0[1-9]|[89]\\\\d)\\\\d{4}\",,,,\"9812345\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"ST\",239,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[29]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SV:[,[,,\"[267]\\\\d{7}|[89]00\\\\d{4}(?:\\\\d{4})?\",,,,,,,[7,8,11]],[,,\"2(?:[1-6]\\\\d{3}|[79]90[034]|890[0245])\\\\d{3}\",,,,\"21234567\",\n,,[8]],[,,\"66(?:[02-9]\\\\d\\\\d|1(?:[02-9]\\\\d|16))\\\\d{3}|(?:6[0-57-9]|7\\\\d)\\\\d{6}\",,,,\"70123456\",,,[8]],[,,\"800\\\\d{4}(?:\\\\d{4})?\",,,,\"8001234\",,,[7,11]],[,,\"900\\\\d{4}(?:\\\\d{4})?\",,,,\"9001234\",,,[7,11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"SV\",503,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[89]\"]],[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[267]\"]],[,\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SX:[,[,,\"7215\\\\d{6}|(?:[58]\\\\d\\\\d|900)\\\\d{7}\",\n,,,,,,[10],[7]],[,,\"7215(?:4[2-8]|8[239]|9[056])\\\\d{4}\",,,,\"7215425678\",,,,[7]],[,,\"7215(?:1[02]|2\\\\d|5[034679]|8[014-8])\\\\d{4}\",,,,\"7215205678\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002123456\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002123456\"],[,,,,,,,,,[-1]],[,,\"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[12]|33|44|66|77|88)[2-9]\\\\d{6}\",,,\n,\"5002345678\"],[,,,,,,,,,[-1]],\"SX\",1,\"011\",\"1\",,,\"1|(5\\\\d{6})$\",\"721$1\",,,,,[,,,,,,,,,[-1]],,\"721\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SY:[,[,,\"[1-39]\\\\d{8}|[1-5]\\\\d{7}\",,,,,,,[8,9],[6,7]],[,,\"21\\\\d{6,7}|(?:1(?:[14]\\\\d|[2356])|2[235]|3(?:[13]\\\\d|4)|4[134]|5[1-3])\\\\d{6}\",,,,\"112345678\",,,,[6,7]],[,,\"9(?:22|[3-689]\\\\d)\\\\d{6}\",,,,\"944567890\",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"SY\",963,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\n\"$1 $2 $3\",[\"[1-5]\"],\"0$1\",,1],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"0$1\",,1]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SZ:[,[,,\"0800\\\\d{4}|(?:[237]\\\\d|900)\\\\d{6}\",,,,,,,[8,9]],[,,\"[23][2-5]\\\\d{6}\",,,,\"22171234\",,,[8]],[,,\"7[6-9]\\\\d{6}\",,,,\"76123456\",,,[8]],[,,\"0800\\\\d{4}\",,,,\"08001234\",,,[8]],[,,\"900\\\\d{6}\",,,,\"900012345\",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"70\\\\d{6}\",,,,\"70012345\",,,[8]],\"SZ\",268,\"00\",,,,,,,,[[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[0237]\"]],[,\n\"(\\\\d{5})(\\\\d{4})\",\"$1 $2\",[\"9\"]]],,[,,,,,,,,,[-1]],,,[,,\"0800\\\\d{4}\",,,,,,,[8]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TA:[,[,,\"8\\\\d{3}\",,,,,,,[4]],[,,\"8\\\\d{3}\",,,,\"8999\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"TA\",290,\"00\",,,,,,,,,,[,,,,,,,,,[-1]],,\"8\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TC:[,[,,\"(?:[58]\\\\d\\\\d|649|900)\\\\d{7}\",,,,,,,[10],[7]],[,,\"649(?:266|712|9(?:4\\\\d|50))\\\\d{4}\",,,,\"6497121234\",,,,[7]],[,,\"649(?:2(?:3[129]|4[1-79])|3\\\\d\\\\d|4[34][1-3])\\\\d{4}\",\n,,,\"6492311234\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002345678\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002345678\"],[,,,,,,,,,[-1]],[,,\"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[12]|33|44|66|77|88)[2-9]\\\\d{6}\",,,,\"5002345678\"],[,,\"649(?:71[01]|966)\\\\d{4}\",,,,\"6497101234\",,,,[7]],\"TC\",1,\"011\",\"1\",,,\"1|([2-479]\\\\d{6})$\",\"649$1\",,,,,[,,,,,,,,\n,[-1]],,\"649\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TD:[,[,,\"(?:22|[69]\\\\d|77)\\\\d{6}\",,,,,,,[8]],[,,\"22(?:[37-9]0|5[0-5]|6[89])\\\\d{4}\",,,,\"22501234\"],[,,\"(?:6[023568]|77|9\\\\d)\\\\d{6}\",,,,\"63012345\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"TD\",235,\"00|16\",,,,,,\"00\",,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2679]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TG:[,[,,\"[279]\\\\d{7}\",,,,,,,[8]],[,,\"2(?:2[2-7]|3[23]|4[45]|55|6[67]|77)\\\\d{5}\",\n,,,\"22212345\"],[,,\"(?:7[09]|9[0-36-9])\\\\d{6}\",,,,\"90112345\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"TG\",228,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[279]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TH:[,[,,\"(?:001800|[2-57]|[689]\\\\d)\\\\d{7}|1\\\\d{7,9}\",,,,,,,[8,9,10,13]],[,,\"(?:1[0689]|2\\\\d|3[2-9]|4[2-5]|5[2-6]|7[3-7])\\\\d{6}\",,,,\"21234567\",,,[8]],[,,\"671[0-8]\\\\d{5}|(?:14|6[1-6]|[89]\\\\d)\\\\d{7}\",,,,\"812345678\",\n,,[9]],[,,\"(?:001800\\\\d|1800)\\\\d{6}\",,,,\"1800123456\",,,[10,13]],[,,\"1900\\\\d{6}\",,,,\"1900123456\",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"6[08]\\\\d{7}\",,,,\"601234567\",,,[9]],\"TH\",66,\"00[1-9]\",\"0\",,,\"0\",,,,[[,\"(\\\\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\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TJ:[,[,,\"(?:00|[1-57-9]\\\\d)\\\\d{7}\",,,,,,,[9],[3,5,6,7]],[,,\"(?:3(?:1[3-5]|2[245]|3[12]|4[24-7]|5[25]|72)|4(?:46|74|87))\\\\d{6}\",\n,,,\"372123456\",,,,[3,5,6,7]],[,,\"41[18]\\\\d{6}|(?:[034]0|1[01]|2[02]|5[05]|7[017]|8[08]|9\\\\d)\\\\d{7}\",,,,\"917123456\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"TJ\",992,\"810\",,,,,,\"8~10\",,[[,\"(\\\\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]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,\n,,[-1]]],TK:[,[,,\"[2-47]\\\\d{3,6}\",,,,,,,[4,5,6,7]],[,,\"(?:2[2-4]|[34]\\\\d)\\\\d{2,5}\",,,,\"3101\"],[,,\"7[2-4]\\\\d{2,5}\",,,,\"7290\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"TK\",690,\"00\",,,,,,,,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TL:[,[,,\"7\\\\d{7}|(?:[2-47]\\\\d|[89]0)\\\\d{5}\",,,,,,,[7,8]],[,,\"(?:2[1-5]|3[1-9]|4[1-4])\\\\d{5}\",,,,\"2112345\",,,[7]],[,,\"7[2-8]\\\\d{6}\",,,,\"77212345\",,,[8]],[,,\"80\\\\d{5}\",,,,\"8012345\",,,[7]],[,,\"90\\\\d{5}\",,,,\"9012345\",\n,,[7]],[,,,,,,,,,[-1]],[,,\"70\\\\d{5}\",,,,\"7012345\",,,[7]],[,,,,,,,,,[-1]],\"TL\",670,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-489]|70\"]],[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"7\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TM:[,[,,\"[1-6]\\\\d{7}\",,,,,,,[8]],[,,\"(?:1(?:2\\\\d|3[1-9])|2(?:22|4[0-35-8])|3(?:22|4[03-9])|4(?:22|3[128]|4\\\\d|6[15])|5(?:22|5[7-9]|6[014-689]))\\\\d{5}\",,,,\"12345678\"],[,,\"6\\\\d{7}\",,,,\"66123456\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\n[,,,,,,,,,[-1]],\"TM\",993,\"810\",\"8\",,,\"8\",,\"8~10\",,[[,\"(\\\\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\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TN:[,[,,\"[2-57-9]\\\\d{7}\",,,,,,,[8]],[,,\"81200\\\\d{3}|(?:3[0-2]|7\\\\d)\\\\d{6}\",,,,\"30010123\"],[,,\"3(?:001|[12]40)\\\\d{4}|(?:(?:[259]\\\\d|4[0-7])\\\\d|3(?:1[1-35]|6[0-4]|91))\\\\d{5}\",,,,\"20123456\"],[,,\"8010\\\\d{4}\",\n,,,\"80101234\"],[,,\"88\\\\d{6}\",,,,\"88123456\"],[,,\"8[12]10\\\\d{4}\",,,,\"81101234\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"TN\",216,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-57-9]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TO:[,[,,\"(?:0800|(?:[5-8]\\\\d\\\\d|999)\\\\d)\\\\d{3}|[2-8]\\\\d{4}\",,,,,,,[5,7]],[,,\"(?:2\\\\d|3[0-8]|4[0-4]|50|6[09]|7[0-24-69]|8[05])\\\\d{3}\",,,,\"20123\",,,[5]],[,,\"(?:55[4-6]|6(?:[09]\\\\d|3[02]|8[15-9])|(?:7\\\\d|8[46-9])\\\\d|999)\\\\d{4}\",,,,\"7715123\",,,[7]],\n[,,\"0800\\\\d{3}\",,,,\"0800222\",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"55[0-37-9]\\\\d{4}\",,,,\"5510123\",,,[7]],\"TO\",676,\"00\",,,,,,,,[[,\"(\\\\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]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TR:[,[,,\"4\\\\d{6}|8\\\\d{11,12}|(?:[2-58]\\\\d\\\\d|900)\\\\d{7}\",,,,,,,[7,10,12,13]],[,,\"(?:2(?:[13][26]|[28][2468]|[45][268]|[67][246])|3(?:[13][28]|[24-6][2468]|[78][02468]|92)|4(?:[16][246]|[23578][2468]|4[26]))\\\\d{7}\",\n,,,\"2123456789\",,,[10]],[,,\"56161\\\\d{5}|5(?:0[15-7]|1[06]|24|[34]\\\\d|5[1-59]|9[46])\\\\d{7}\",,,,\"5012345678\",,,[10]],[,,\"8(?:00\\\\d{7}(?:\\\\d{2,3})?|11\\\\d{7})\",,,,\"8001234567\",,,[10,12,13]],[,,\"(?:8[89]8|900)\\\\d{7}\",,,,\"9001234567\",,,[10]],[,,,,,,,,,[-1]],[,,\"592(?:21[12]|461)\\\\d{4}\",,,,\"5922121234\",,,[10]],[,,\"850\\\\d{7}\",,,,\"8500123456\",,,[10]],\"TR\",90,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{3})(\\\\d)(\\\\d{3})\",\"$1 $2 $3\",[\"444\"],,,1],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"512|8[01589]|90\"],\"0$1\",,1],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\"$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]],[[,\"(\\\\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})\",\n\"$1 $2 $3\",[\"80\"],\"0$1\",,1]],[,,\"512\\\\d{7}\",,,,\"5123456789\",,,[10]],,,[,,\"(?:444|811\\\\d{3})\\\\d{4}\",,,,,,,[7,10]],[,,\"444\\\\d{4}\",,,,\"4441444\",,,[7]],,,[,,,,,,,,,[-1]]],TT:[,[,,\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",,,,,,,[10],[7]],[,,\"868(?:2(?:0[13]|1[89]|[23]\\\\d|4[0-2])|6(?:0[7-9]|1[02-8]|2[1-9]|[3-69]\\\\d|7[0-79])|82[124])\\\\d{4}\",,,,\"8682211234\",,,,[7]],[,,\"868(?:(?:2[5-9]|3\\\\d)\\\\d|4(?:3[0-6]|[6-9]\\\\d)|6(?:20|78|8\\\\d)|7(?:0[1-9]|1[02-9]|[2-9]\\\\d))\\\\d{4}\",,,,\"8682911234\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",\n,,,\"8002345678\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002345678\"],[,,,,,,,,,[-1]],[,,\"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[12]|33|44|66|77|88)[2-9]\\\\d{6}\",,,,\"5002345678\"],[,,,,,,,,,[-1]],\"TT\",1,\"011\",\"1\",,,\"1|([2-46-8]\\\\d{6})$\",\"868$1\",,,,,[,,,,,,,,,[-1]],,\"868\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,\"868619\\\\d{4}\",,,,\"8686191234\",,,,[7]]],TV:[,[,,\"(?:2|7\\\\d\\\\d|90)\\\\d{4}\",\n,,,,,,[5,6,7]],[,,\"2[02-9]\\\\d{3}\",,,,\"20123\",,,[5]],[,,\"(?:7[01]\\\\d|90)\\\\d{4}\",,,,\"901234\",,,[6,7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"TV\",688,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"2\"]],[,\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"90\"]],[,\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"7\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TW:[,[,,\"[2-689]\\\\d{8}|7\\\\d{9,10}|[2-8]\\\\d{7}|2\\\\d{6}\",,,,,,,[7,8,9,10,11]],[,,\"(?:2[2-8]\\\\d|370|55[01]|7[1-9])\\\\d{6}|4(?:(?:0(?:0[1-9]|[2-48]\\\\d)|1[023]\\\\d)\\\\d{4,5}|(?:[239]\\\\d\\\\d|4(?:0[56]|12|49))\\\\d{5})|6(?:[01]\\\\d{7}|4(?:0[56]|12|24|4[09])\\\\d{4,5})|8(?:(?:2(?:3\\\\d|4[0-269]|[578]0|66)|36[24-9]|90\\\\d\\\\d)\\\\d{4}|4(?:0[56]|12|24|4[09])\\\\d{4,5})|(?:2(?:2(?:0\\\\d\\\\d|4(?:0[68]|[249]0|3[0-467]|5[0-25-9]|6[0235689]))|(?:3(?:[09]\\\\d|1[0-4])|(?:4\\\\d|5[0-49]|6[0-29]|7[0-5])\\\\d)\\\\d)|(?:(?:3[2-9]|5[2-8]|6[0-35-79]|8[7-9])\\\\d\\\\d|4(?:2(?:[089]\\\\d|7[1-9])|(?:3[0-4]|[78]\\\\d|9[01])\\\\d))\\\\d)\\\\d{3}\",\n,,,\"221234567\",,,[8,9]],[,,\"(?:40001[0-2]|9[0-8]\\\\d{4})\\\\d{3}\",,,,\"912345678\",,,[9]],[,,\"80[0-79]\\\\d{6}|800\\\\d{5}\",,,,\"800123456\",,,[8,9]],[,,\"20(?:[013-9]\\\\d\\\\d|2)\\\\d{4}\",,,,\"203123456\",,,[7,9]],[,,,,,,,,,[-1]],[,,\"99\\\\d{7}\",,,,\"990123456\",,,[9]],[,,\"7010(?:[0-2679]\\\\d|3[0-7]|8[0-5])\\\\d{5}|70\\\\d{8}\",,,,\"7012345678\",,,[10,11]],\"TW\",886,\"0(?:0[25-79]|19)\",\"0\",\"#\",,\"0\",,,,[[,\"(\\\\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})\",\n\"$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\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"50[0-46-9]\\\\d{6}\",,,,\"500123456\",,,[9]],,,[,,,,,,,,,[-1]]],TZ:[,[,,\"(?:[26-8]\\\\d|41|90)\\\\d{7}\",,,,,,,[9]],[,,\"2[2-8]\\\\d{7}\",,,,\"222345678\"],[,,\"77[2-9]\\\\d{6}|(?:6[1-9]|7[1-689])\\\\d{7}\",,,,\"621234567\"],[,,\"80[08]\\\\d{6}\",,,,\"800123456\"],[,,\"90\\\\d{7}\",\n,,,\"900123456\"],[,,\"8(?:40|6[01])\\\\d{6}\",,,,\"840123456\"],[,,,,,,,,,[-1]],[,,\"41\\\\d{7}\",,,,\"412345678\"],\"TZ\",255,\"00[056]\",\"0\",,,\"0\",,,,[[,\"(\\\\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{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[67]\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,\"(?:8(?:[04]0|6[01])|90\\\\d)\\\\d{6}\"],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],UA:[,[,,\"[89]\\\\d{9}|[3-9]\\\\d{8}\",,,,,,,[9,10],[5,6,7]],[,,\"(?:3[1-8]|4[13-8]|5[1-7]|6[12459])\\\\d{7}\",,,\n,\"311234567\",,,[9],[5,6,7]],[,,\"(?:50|6[36-8]|7[1-3]|9[1-9])\\\\d{7}\",,,,\"501234567\",,,[9]],[,,\"800[1-8]\\\\d{5,6}\",,,,\"800123456\"],[,,\"900[239]\\\\d{5,6}\",,,,\"900212345\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"89[1-579]\\\\d{6}\",,,,\"891234567\",,,[9]],\"UA\",380,\"00\",\"0\",,,\"0\",,\"0~0\",,[[,\"(\\\\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{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",\n[\"4[45][0-5]|5(?:0|6[37])|6(?:[12][018]|[36-8])|7|89|9[1-9]|(?:48|57)[0137-9]\",\"4[45][0-5]|5(?:0|6(?:3[14-7]|7))|6(?:[12][018]|[36-8])|7|89|9[1-9]|(?:48|57)[0137-9]\"],\"0$1\"],[,\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"[3-6]\"],\"0$1\"],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],UG:[,[,,\"800\\\\d{6}|(?:[29]0|[347]\\\\d)\\\\d{7}\",,,,,,,[9],[5,6,7]],[,,\"20(?:(?:(?:24|81)0|30[67])\\\\d|6(?:00[0-2]|30[0-4]))\\\\d{3}|(?:20(?:[0147]\\\\d|2[5-9]|32|5[0-4]|6[15-9])|[34]\\\\d{3})\\\\d{5}\",\n,,,\"312345678\",,,,[5,6,7]],[,,\"726[01]\\\\d{5}|7(?:[0157-9]\\\\d|20|36|[46][0-4])\\\\d{6}\",,,,\"712345678\"],[,,\"800[1-3]\\\\d{5}\",,,,\"800123456\"],[,,\"90[1-3]\\\\d{6}\",,,,\"901123456\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"UG\",256,\"00[057]\",\"0\",,,\"0\",,,,[[,\"(\\\\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\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],US:[,[,,\"[2-9]\\\\d{9}\",\n,,,,,,[10],[7]],[,,\"5(?:05(?:[2-57-9]\\\\d\\\\d|6(?:[0-35-9]\\\\d|44))|82(?:2(?:0[0-3]|[268]2)|3(?:0[02]|33)|4(?:00|4[24]|65|82)|5(?:00|29|83)|6(?:00|66|82)|777|8(?:00|88)|9(?:00|9[89])))\\\\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[39]|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[056])|6(?:0[1-35-9]|1[024-9]|2[03689]|[34][016]|5[0179]|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[08]|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[01579]|5[12469]|7[0-389]|8[04-69]))[2-9]\\\\d{6}\",\n,,,\"2015550123\",,,,[7]],[,,\"5(?:05(?:[2-57-9]\\\\d\\\\d|6(?:[0-35-9]\\\\d|44))|82(?:2(?:0[0-3]|[268]2)|3(?:0[02]|33)|4(?:00|4[24]|65|82)|5(?:00|29|83)|6(?:00|66|82)|777|8(?:00|88)|9(?:00|9[89])))\\\\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[39]|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[056])|6(?:0[1-35-9]|1[024-9]|2[03689]|[34][016]|5[0179]|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[08]|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[01579]|5[12469]|7[0-389]|8[04-69]))[2-9]\\\\d{6}\",\n,,,\"2015550123\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002345678\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002345678\"],[,,,,,,,,,[-1]],[,,\"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[12]|33|44|66|77|88)[2-9]\\\\d{6}\",,,,\"5002345678\"],[,,,,,,,,,[-1]],\"US\",1,\"011\",\"1\",,,\"1\",,,1,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[2-9]\"]],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"($1) $2-$3\",\n[\"[2-9]\"],,,1]],[[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[2-9]\"]]],[,,,,,,,,,[-1]],1,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],UY:[,[,,\"4\\\\d{9}|[1249]\\\\d{7}|(?:[49]\\\\d|80)\\\\d{5}\",,,,,,,[7,8,10]],[,,\"(?:1(?:770|987)|(?:2\\\\d|4[2-7])\\\\d\\\\d)\\\\d{4}\",,,,\"21231234\",,,[8],[7]],[,,\"9[1-9]\\\\d{6}\",,,,\"94231234\",,,[8]],[,,\"(?:4\\\\d{5}|80[05])\\\\d{4}|405\\\\d{4}\",,,,\"8001234\",,,[7,10]],[,,\"90[0-8]\\\\d{4}\",,,,\"9001234\",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"UY\",598,\"0(?:0|1[3-9]\\\\d)\",\"0\",\n\" int. \",,\"0\",,\"00\",,[[,\"(\\\\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\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],UZ:[,[,,\"(?:33|55|[679]\\\\d|88)\\\\d{7}\",,,,,,,[9]],[,,\"(?:6(?:1(?:22|3[124]|4[1-4]|5[1-3578]|64)|2(?:22|3[0-57-9]|41)|5(?:22|3[3-7]|5[024-8])|6\\\\d\\\\d|7(?:[23]\\\\d|7[69])|9(?:22|4[1-8]|6[135]))|7(?:0(?:5[4-9]|6[0146]|7[124-6]|9[135-8])|(?:1[12]|8\\\\d)\\\\d|2(?:22|3[13-57-9]|4[1-3579]|5[14])|3(?:2\\\\d|3[1578]|4[1-35-7]|5[1-57]|61)|4(?:2\\\\d|3[1-579]|7[1-79])|5(?:22|5[1-9]|6[1457])|6(?:22|3[12457]|4[13-8])|9(?:22|5[1-9])))\\\\d{5}\",\n,,,\"669050123\"],[,,\"(?:(?:33|88|9[0-57-9])\\\\d{3}|55(?:50[013]|90\\\\d)|6(?:1(?:2(?:2[01]|98)|35[0-4]|50\\\\d|61[23]|7(?:[01][017]|4\\\\d|55|9[5-9]))|2(?:(?:11|7\\\\d)\\\\d|2(?:[12]1|9[01379])|5(?:[126]\\\\d|3[0-4]))|5(?:19[01]|2(?:27|9[26])|(?:30|59|7\\\\d)\\\\d)|6(?:2(?:1[5-9]|2[0367]|38|41|52|60)|(?:3[79]|9[0-3])\\\\d|4(?:56|83)|7(?:[07]\\\\d|1[017]|3[07]|4[047]|5[057]|67|8[0178]|9[79]))|7(?:2(?:24|3[237]|4[5-9]|7[15-8])|5(?:7[12]|8[0589])|7(?:0\\\\d|[39][07])|9(?:0\\\\d|7[079]))|9(?:2(?:1[1267]|3[01]|5\\\\d|7[0-4])|(?:5[67]|7\\\\d)\\\\d|6(?:2[0-26]|8\\\\d)))|7(?:[07]\\\\d{3}|1(?:13[01]|6(?:0[47]|1[67]|66)|71[3-69]|98\\\\d)|2(?:2(?:2[79]|95)|3(?:2[5-9]|6[0-6])|57\\\\d|7(?:0\\\\d|1[17]|2[27]|3[37]|44|5[057]|66|88))|3(?:2(?:1[0-6]|21|3[469]|7[159])|(?:33|9[4-6])\\\\d|5(?:0[0-4]|5[579]|9\\\\d)|7(?:[0-3579]\\\\d|4[0467]|6[67]|8[078]))|4(?:2(?:29|5[0257]|6[0-7]|7[1-57])|5(?:1[0-4]|8\\\\d|9[5-9])|7(?:0\\\\d|1[024589]|2[0-27]|3[0137]|[46][07]|5[01]|7[5-9]|9[079])|9(?:7[015-9]|[89]\\\\d))|5(?:112|2(?:0\\\\d|2[29]|[49]4)|3[1568]\\\\d|52[6-9]|7(?:0[01578]|1[017]|[23]7|4[047]|[5-7]\\\\d|8[78]|9[079]))|6(?:2(?:2[1245]|4[2-4])|39\\\\d|41[179]|5(?:[349]\\\\d|5[0-2])|7(?:0[017]|[13]\\\\d|22|44|55|67|88))|9(?:22[128]|3(?:2[0-4]|7\\\\d)|57[02569]|7(?:2[05-9]|3[37]|4\\\\d|60|7[2579]|87|9[07]))))\\\\d{4}\",\n,,,\"912345678\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"UZ\",998,\"810\",\"8\",,,\"8\",,\"8~10\",,[[,\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[35-9]\"],\"8 $1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],VA:[,[,,\"0\\\\d{5,10}|3[0-8]\\\\d{7,10}|55\\\\d{8}|8\\\\d{5}(?:\\\\d{2,4})?|(?:1\\\\d|39)\\\\d{7,8}\",,,,,,,[6,7,8,9,10,11,12]],[,,\"06698\\\\d{1,6}\",,,,\"0669812345\",,,[6,7,8,9,10,11]],[,,\"3[1-9]\\\\d{8}|3[2-9]\\\\d{7}\",,,,\"3123456789\",,,[9,10]],[,,\"80(?:0\\\\d{3}|3)\\\\d{3}\",\n,,,\"800123456\",,,[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}\",,,,\"899123456\",,,[6,8,9,10]],[,,\"84(?:[08]\\\\d{3}|[17])\\\\d{3}\",,,,\"848123456\",,,[6,9]],[,,\"1(?:78\\\\d|99)\\\\d{6}\",,,,\"1781234567\",,,[9,10]],[,,\"55\\\\d{8}\",,,,\"5512345678\",,,[10]],\"VA\",39,\"00\",,,,,,,,,,[,,,,,,,,,[-1]],,\"06698\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,\"3[2-8]\\\\d{9,10}\",,,,\"33101234501\",,,[11,12]]],VC:[,[,,\"(?:[58]\\\\d\\\\d|784|900)\\\\d{7}\",,,,,,,[10],[7]],\n[,,\"784(?:266|3(?:6[6-9]|7\\\\d|8[0-6])|4(?:38|5[0-36-8]|8[0-8])|5(?:55|7[0-2]|93)|638|784)\\\\d{4}\",,,,\"7842661234\",,,,[7]],[,,\"784(?:4(?:3[0-5]|5[45]|89|9[0-8])|5(?:2[6-9]|3[0-4])|720)\\\\d{4}\",,,,\"7844301234\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002345678\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002345678\"],[,,,,,,,,,[-1]],[,,\"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[12]|33|44|66|77|88)[2-9]\\\\d{6}\",\n,,,\"5002345678\"],[,,,,,,,,,[-1]],\"VC\",1,\"011\",\"1\",,,\"1|([2-7]\\\\d{6})$\",\"784$1\",,,,,[,,,,,,,,,[-1]],,\"784\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],VE:[,[,,\"[68]00\\\\d{7}|(?:[24]\\\\d|[59]0)\\\\d{8}\",,,,,,,[10],[7]],[,,\"(?:2(?:12|3[457-9]|[467]\\\\d|[58][1-9]|9[1-6])|[4-6]00)\\\\d{7}\",,,,\"2121234567\",,,,[7]],[,,\"4(?:1[24-8]|2[46])\\\\d{7}\",,,,\"4121234567\"],[,,\"800\\\\d{7}\",,,,\"8001234567\"],[,,\"90[01]\\\\d{7}\",,,,\"9001234567\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"VE\",58,\"00\",\"0\",,,\"0\",,,,[[,\n\"(\\\\d{3})(\\\\d{7})\",\"$1-$2\",[\"[24-689]\"],\"0$1\",\"$CC $1\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"501\\\\d{7}\",,,,\"5010123456\",,,,[7]],,,[,,,,,,,,,[-1]]],VG:[,[,,\"(?:284|[58]\\\\d\\\\d|900)\\\\d{7}\",,,,,,,[10],[7]],[,,\"284496[0-5]\\\\d{3}|284(?:229|4(?:22|9[45])|774|8(?:52|6[459]))\\\\d{4}\",,,,\"2842291234\",,,,[7]],[,,\"284496[6-9]\\\\d{3}|284(?:245|3(?:0[0-3]|4[0-7]|68|9[34])|4(?:4[0-6]|68|99)|5(?:4[0-7]|68|9[69]))\\\\d{4}\",,,,\"2843001234\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002345678\"],[,,\"900[2-9]\\\\d{6}\",\n,,,\"9002345678\"],[,,,,,,,,,[-1]],[,,\"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[12]|33|44|66|77|88)[2-9]\\\\d{6}\",,,,\"5002345678\"],[,,,,,,,,,[-1]],\"VG\",1,\"011\",\"1\",,,\"1|([2-578]\\\\d{6})$\",\"284$1\",,,,,[,,,,,,,,,[-1]],,\"284\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],VI:[,[,,\"[58]\\\\d{9}|(?:34|90)0\\\\d{7}\",,,,,,,[10],[7]],[,,\"340(?:2(?:0[0-38]|2[06-8]|4[49]|77)|3(?:32|44)|4(?:2[23]|44|7[34]|89)|5(?:1[34]|55)|6(?:2[56]|4[23]|77|9[023])|7(?:1[2-57-9]|2[57]|7\\\\d)|884|998)\\\\d{4}\",\n,,,\"3406421234\",,,,[7]],[,,\"340(?:2(?:0[0-38]|2[06-8]|4[49]|77)|3(?:32|44)|4(?:2[23]|44|7[34]|89)|5(?:1[34]|55)|6(?:2[56]|4[23]|77|9[023])|7(?:1[2-57-9]|2[57]|7\\\\d)|884|998)\\\\d{4}\",,,,\"3406421234\",,,,[7]],[,,\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",,,,\"8002345678\"],[,,\"900[2-9]\\\\d{6}\",,,,\"9002345678\"],[,,,,,,,,,[-1]],[,,\"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[12]|33|44|66|77|88)[2-9]\\\\d{6}\",\n,,,\"5002345678\"],[,,,,,,,,,[-1]],\"VI\",1,\"011\",\"1\",,,\"1|([2-9]\\\\d{6})$\",\"340$1\",,1,,,[,,,,,,,,,[-1]],,\"340\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],VN:[,[,,\"[12]\\\\d{9}|[135-9]\\\\d{8}|[16]\\\\d{7}|[16-8]\\\\d{6}\",,,,,,,[7,8,9,10]],[,,\"2(?:0[3-9]|1[0-689]|2[0-25-9]|3[2-9]|4[2-8]|5[124-9]|6[0-39]|7[0-7]|8[2-79]|9[0-4679])\\\\d{7}\",,,,\"2101234567\",,,[10]],[,,\"(?:5(?:2[238]|59)|89[689]|99[013-9])\\\\d{6}|(?:3\\\\d|5[689]|7[06-9]|8[1-8]|9[0-8])\\\\d{7}\",,,,\"912345678\",,,[9]],[,,\"1800\\\\d{4,6}|12(?:0[13]|28)\\\\d{4}\",\n,,,\"1800123456\",,,[8,9,10]],[,,\"1900\\\\d{4,6}\",,,,\"1900123456\",,,[8,9,10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"672\\\\d{6}\",,,,\"672012345\",,,[9]],\"VN\",84,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[17]99\"],\"0$1\",,1],[,\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"80\"],\"0$1\",,1],[,\"(\\\\d{3})(\\\\d{4,5})\",\"$1 $2\",[\"69\"],\"0$1\",,1],[,\"(\\\\d{4})(\\\\d{4,6})\",\"$1 $2\",[\"1\"],,,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})\",\n\"$1 $2 $3\",[\"2[48]\"],\"0$1\",,1],[,\"(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\",,1]],[[,\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"80\"],\"0$1\",,1],[,\"(\\\\d{4})(\\\\d{4,6})\",\"$1 $2\",[\"1\"],,,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]],[,,,,,,,,,[-1]],,,[,,\"[17]99\\\\d{4}|69\\\\d{5,6}\",,,,,,,[7,8]],[,,\"(?:[17]99|80\\\\d)\\\\d{4}|69\\\\d{5,6}\",\n,,,\"1992000\",,,[7,8]],,,[,,,,,,,,,[-1]]],VU:[,[,,\"[57-9]\\\\d{6}|(?:[238]\\\\d|48)\\\\d{3}\",,,,,,,[5,7]],[,,\"(?:38[0-8]|48[4-9])\\\\d\\\\d|(?:2[02-9]|3[4-7]|88)\\\\d{3}\",,,,\"22123\",,,[5]],[,,\"(?:[58]\\\\d|7[013-7])\\\\d{5}\",,,,\"5912345\",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"9(?:0[1-9]|1[01])\\\\d{4}\",,,,\"9010123\",,,[7]],\"VU\",678,\"00\",,,,,,,,[[,\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[57-9]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"(?:3[03]|900\\\\d)\\\\d{3}\",,,,\"30123\"],,,[,,,,,,,,,[-1]]],WF:[,\n[,,\"(?:40|72)\\\\d{4}|8\\\\d{5}(?:\\\\d{3})?\",,,,,,,[6,9]],[,,\"72\\\\d{4}\",,,,\"721234\",,,[6]],[,,\"(?:72|8[23])\\\\d{4}\",,,,\"821234\",,,[6]],[,,\"80[0-5]\\\\d{6}\",,,,\"800012345\",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"WF\",681,\"00\",,,,,,,,[[,\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[478]\"]],[,\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,\"[48]0\\\\d{4}\",,,,\"401234\",,,[6]]],WS:[,[,,\"(?:[2-6]|8\\\\d{5})\\\\d{4}|[78]\\\\d{6}|[68]\\\\d{5}\",\n,,,,,,[5,6,7,10]],[,,\"6[1-9]\\\\d{3}|(?:[2-5]|60)\\\\d{4}\",,,,\"22123\",,,[5,6]],[,,\"(?:7[1-35-7]|8(?:[3-7]|9\\\\d{3}))\\\\d{5}\",,,,\"7212345\",,,[7,10]],[,,\"800\\\\d{3}\",,,,\"800123\",,,[6]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"WS\",685,\"0\",,,,,,,,[[,\"(\\\\d{5})\",\"$1\",[\"[2-5]|6[1-9]\"]],[,\"(\\\\d{3})(\\\\d{3,7})\",\"$1 $2\",[\"[68]\"]],[,\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"7\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],XK:[,[,,\"[23]\\\\d{7,8}|(?:4\\\\d\\\\d|[89]00)\\\\d{5}\",,,,,,,[8,\n9]],[,,\"(?:2[89]|39)0\\\\d{6}|[23][89]\\\\d{6}\",,,,\"28012345\"],[,,\"4[3-9]\\\\d{6}\",,,,\"43201234\",,,[8]],[,,\"800\\\\d{5}\",,,,\"80001234\",,,[8]],[,,\"900\\\\d{5}\",,,,\"90001234\",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"XK\",383,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\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\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],YE:[,[,,\"(?:1|7\\\\d)\\\\d{7}|[1-7]\\\\d{6}\",\n,,,,,,[7,8,9],[6]],[,,\"78[0-7]\\\\d{4}|17\\\\d{6}|(?:[12][2-68]|3[2358]|4[2-58]|5[2-6]|6[3-58]|7[24-6])\\\\d{5}\",,,,\"1234567\",,,[7,8],[6]],[,,\"7[0137]\\\\d{7}\",,,,\"712345678\",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"YE\",967,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\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\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],YT:[,[,,\"80\\\\d{7}|(?:26|63)9\\\\d{6}\",\n,,,,,,[9]],[,,\"269(?:0[67]|5[0-3]|6\\\\d|[78]0)\\\\d{4}\",,,,\"269601234\"],[,,\"639(?:0[0-79]|1[019]|[267]\\\\d|3[09]|40|5[05-9]|9[04-79])\\\\d{4}\",,,,\"639012345\"],[,,\"80\\\\d{7}\",,,,\"801234567\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"YT\",262,\"00\",\"0\",,,\"0\",,,,,,[,,,,,,,,,[-1]],,\"269|63\",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],ZA:[,[,,\"[1-79]\\\\d{8}|8\\\\d{4,9}\",,,,,,,[5,6,7,8,9,10]],[,,\"(?:2(?:0330|4302)|52087)0\\\\d{3}|(?:1[0-8]|2[1-378]|3[1-69]|4\\\\d|5[1346-8])\\\\d{7}\",,,,\"101234567\",\n,,[9]],[,,\"(?:1(?:3492[0-25]|4495[0235]|549(?:20|5[01]))|4[34]492[01])\\\\d{3}|8[1-4]\\\\d{3,7}|(?:2[27]|47|54)4950\\\\d{3}|(?:1(?:049[2-4]|9[12]\\\\d\\\\d)|(?:6\\\\d|7[0-46-9])\\\\d{3}|8(?:5\\\\d{3}|7(?:08[67]|158|28[5-9]|310)))\\\\d{4}|(?:1[6-8]|28|3[2-69]|4[025689]|5[36-8])4920\\\\d{3}|(?:12|[2-5]1)492\\\\d{4}\",,,,\"711234567\",,,[5,6,7,8,9]],[,,\"80\\\\d{7}\",,,,\"801234567\",,,[9]],[,,\"(?:86[2-9]|9[0-2]\\\\d)\\\\d{6}\",,,,\"862345678\",,,[9]],[,,\"860\\\\d{6}\",,,,\"860123456\",,,[9]],[,,,,,,,,,[-1]],[,,\"87(?:08[0-589]|15[0-79]|28[0-4]|31[1-9])\\\\d{4}|87(?:[02][0-79]|1[0-46-9]|3[02-9]|[4-9]\\\\d)\\\\d{5}\",\n,,,\"871234567\",,,[9]],\"ZA\",27,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\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\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"861\\\\d{6,7}\",,,,\"861123456\",,,[9,10]],,,[,,,,,,,,,[-1]]],ZM:[,[,,\"(?:63|80)0\\\\d{6}|(?:21|[79]\\\\d)\\\\d{7}\",,,,,,,[9],[6]],[,,\"21[1-8]\\\\d{6}\",\n,,,\"211234567\",,,,[6]],[,,\"(?:7[679]|9[5-8])\\\\d{7}\",,,,\"955123456\"],[,,\"800\\\\d{6}\",,,,\"800123456\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"630\\\\d{6}\",,,,\"630012345\"],\"ZM\",260,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"[1-9]\"]],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[28]\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"[79]\"],\"0$1\"]],[[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[28]\"],\"0$1\"],[,\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"[79]\"],\"0$1\"]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\n,,[,,,,,,,,,[-1]]],ZW:[,[,,\"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],[3,4]],[,,\"(?:1(?:(?:3\\\\d|9)\\\\d|[4-8])|2(?:(?:(?:0(?:2[014]|5)|(?:2[0157]|31|84|9)\\\\d\\\\d|[56](?:[14]\\\\d\\\\d|20)|7(?:[089]|2[03]|[35]\\\\d\\\\d))\\\\d|4(?:2\\\\d\\\\d|8))\\\\d|1(?:2|[39]\\\\d{4}))|3(?:(?:123|(?:29\\\\d|92)\\\\d)\\\\d\\\\d|7(?:[19]|[56]\\\\d))|5(?:0|1[2-478]|26|[37]2|4(?:2\\\\d{3}|83)|5(?:25\\\\d\\\\d|[78])|[689]\\\\d)|6(?:(?:[16-8]21|28|52[013])\\\\d\\\\d|[39])|8(?:[1349]28|523)\\\\d\\\\d)\\\\d{3}|(?:4\\\\d\\\\d|9[2-9])\\\\d{4,5}|(?:(?:2(?:(?:(?:0|8[146])\\\\d|7[1-7])\\\\d|2(?:[278]\\\\d|92)|58(?:2\\\\d|3))|3(?:[26]|9\\\\d{3})|5(?:4\\\\d|5)\\\\d\\\\d)\\\\d|6(?:(?:(?:[0-246]|[78]\\\\d)\\\\d|37)\\\\d|5[2-8]))\\\\d\\\\d|(?:2(?:[569]\\\\d|8[2-57-9])|3(?:[013-59]\\\\d|8[37])|6[89]8)\\\\d{3}\",\n,,,\"1312345\",,,,[3,4]],[,,\"7(?:[178]\\\\d|3[1-9])\\\\d{6}\",,,,\"712345678\",,,[9]],[,,\"80(?:[01]\\\\d|20|8[0-8])\\\\d{3}\",,,,\"8001234\",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"86(?:1[12]|22|30|44|55|77|8[368])\\\\d{6}\",,,,\"8686123456\",,,[10]],\"ZW\",263,\"00\",\"0\",,,\"0\",,,,[[,\"(\\\\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\"],\n[,\"(\\\\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]\"],\n\"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\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],800:[,[,,\"(?:005|[1-9]\\\\d\\\\d)\\\\d{5}\",,,,,,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"(?:005|[1-9]\\\\d\\\\d)\\\\d{5}\",,,,\"12345678\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"001\",800,,,,,,,,1,[[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"\\\\d\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,\n,,,,[-1]],,,[,,,,,,,,,[-1]]],808:[,[,,\"[1-9]\\\\d{7}\",,,,,,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"[1-9]\\\\d{7}\",,,,\"12345678\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"001\",808,,,,,,,,1,[[,\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[1-9]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],870:[,[,,\"7\\\\d{11}|[35-7]\\\\d{8}\",,,,,,,[9,12]],[,,,,,,,,,[-1]],[,,\"(?:[356]|774[45])\\\\d{8}|7[6-8]\\\\d{7}\",,,,\"301234567\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,\n[-1]],[,,,,,,,,,[-1]],\"001\",870,,,,,,,,,[[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[35-7]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],878:[,[,,\"10\\\\d{10}\",,,,,,,[12]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"10\\\\d{10}\",,,,\"101234567890\"],\"001\",878,,,,,,,,1,[[,\"(\\\\d{2})(\\\\d{5})(\\\\d{5})\",\"$1 $2 $3\",[\"1\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],881:[,[,,\"[0-36-9]\\\\d{8}\",,,,,,,[9]],\n[,,,,,,,,,[-1]],[,,\"[0-36-9]\\\\d{8}\",,,,\"612345678\"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"001\",881,,,,,,,,,[[,\"(\\\\d)(\\\\d{3})(\\\\d{5})\",\"$1 $2 $3\",[\"[0-36-9]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],882:[,[,,\"[13]\\\\d{6}(?:\\\\d{2,5})?|285\\\\d{9}|(?:[19]\\\\d|49)\\\\d{6}\",,,,,,,[7,8,9,10,11,12]],[,,,,,,,,,[-1]],[,,\"342\\\\d{4}|(?:337|49)\\\\d{6}|3(?:2|47|7\\\\d{3})\\\\d{7}\",,,,\"3421234\",,,[7,8,9,10,12]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,\n,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"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}\",,,,\"390123456789\"],\"001\",882,,,,,,,,,[[,\"(\\\\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})\",\n\"$1 $2 $3\",[\"34\"]],[,\"(\\\\d{2})(\\\\d{4,5})(\\\\d{5})\",\"$1 $2 $3\",[\"[1-3]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,\"348[57]\\\\d{7}\",,,,\"34851234567\",,,[11]]],883:[,[,,\"(?:210|370\\\\d\\\\d)\\\\d{7}|51\\\\d{7}(?:\\\\d{3})?\",,,,,,,[9,10,12]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"(?:210|(?:370[1-9]|51[013]0)\\\\d)\\\\d{7}|5100\\\\d{5}\",,,,\"510012345\"],\"001\",883,,,,,,,,1,[[,\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"510\"]],[,\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\"$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]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],888:[,[,,\"\\\\d{11}\",,,,,,,[11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"001\",888,,,,,,,,1,[[,\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\",\"$1 $2 $3\"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,\"\\\\d{11}\",,,,\"12345678901\"],,,[,,,,,,,,,[-1]]],979:[,[,,\n\"[1359]\\\\d{8}\",,,,,,,[9],[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,\"[1359]\\\\d{8}\",,,,\"123456789\",,,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],\"001\",979,,,,,,,,1,[[,\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[1359]\"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]]};/*\n\n Copyright (C) 2010 The Libphonenumber Authors.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\nfunction K(){this.g={}}K.i=void 0;K.g=function(){return K.i?K.i:K.i=new K};\nvar wa={0:\"0\",1:\"1\",2:\"2\",3:\"3\",4:\"4\",5:\"5\",6:\"6\",7:\"7\",8:\"8\",9:\"9\",\"\\uff10\":\"0\",\"\\uff11\":\"1\",\"\\uff12\":\"2\",\"\\uff13\":\"3\",\"\\uff14\":\"4\",\"\\uff15\":\"5\",\"\\uff16\":\"6\",\"\\uff17\":\"7\",\"\\uff18\":\"8\",\"\\uff19\":\"9\",\"\\u0660\":\"0\",\"\\u0661\":\"1\",\"\\u0662\":\"2\",\"\\u0663\":\"3\",\"\\u0664\":\"4\",\"\\u0665\":\"5\",\"\\u0666\":\"6\",\"\\u0667\":\"7\",\"\\u0668\":\"8\",\"\\u0669\":\"9\",\"\\u06f0\":\"0\",\"\\u06f1\":\"1\",\"\\u06f2\":\"2\",\"\\u06f3\":\"3\",\"\\u06f4\":\"4\",\"\\u06f5\":\"5\",\"\\u06f6\":\"6\",\"\\u06f7\":\"7\",\"\\u06f8\":\"8\",\"\\u06f9\":\"9\"},xa={0:\"0\",1:\"1\",2:\"2\",3:\"3\",4:\"4\",5:\"5\",6:\"6\",\n7:\"7\",8:\"8\",9:\"9\",\"\\uff10\":\"0\",\"\\uff11\":\"1\",\"\\uff12\":\"2\",\"\\uff13\":\"3\",\"\\uff14\":\"4\",\"\\uff15\":\"5\",\"\\uff16\":\"6\",\"\\uff17\":\"7\",\"\\uff18\":\"8\",\"\\uff19\":\"9\",\"\\u0660\":\"0\",\"\\u0661\":\"1\",\"\\u0662\":\"2\",\"\\u0663\":\"3\",\"\\u0664\":\"4\",\"\\u0665\":\"5\",\"\\u0666\":\"6\",\"\\u0667\":\"7\",\"\\u0668\":\"8\",\"\\u0669\":\"9\",\"\\u06f0\":\"0\",\"\\u06f1\":\"1\",\"\\u06f2\":\"2\",\"\\u06f3\":\"3\",\"\\u06f4\":\"4\",\"\\u06f5\":\"5\",\"\\u06f6\":\"6\",\"\\u06f7\":\"7\",\"\\u06f8\":\"8\",\"\\u06f9\":\"9\",A:\"2\",B:\"2\",C:\"2\",D:\"3\",E:\"3\",F:\"3\",G:\"4\",H:\"4\",I:\"4\",J:\"5\",K:\"5\",L:\"5\",M:\"6\",N:\"6\",O:\"6\",P:\"7\",\nQ:\"7\",R:\"7\",S:\"7\",T:\"8\",U:\"8\",V:\"8\",W:\"9\",X:\"9\",Y:\"9\",Z:\"9\"},L=/^[+\\uff0b]+/,ya=/([0-9\\uff10-\\uff19\\u0660-\\u0669\\u06f0-\\u06f9])/,za=/[+\\uff0b0-9\\uff10-\\uff19\\u0660-\\u0669\\u06f0-\\u06f9]/,Aa=/[\\\\\\/] *x/,Ba=/[^0-9\\uff10-\\uff19\\u0660-\\u0669\\u06f0-\\u06f9A-Za-z#]+$/,Ca=/(?:.*?[A-Za-z]){3}.*/;function N(a){return\"([0-9\\uff10-\\uff19\\u0660-\\u0669\\u06f0-\\u06f9]{1,\"+a+\"})\"}\nfunction Da(){return\";ext=\"+N(\"20\")+\"|[ \\u00a0\\\\t,]*(?:e?xt(?:ensi(?:o\\u0301?|\\u00f3))?n?|\\uff45?\\uff58\\uff54\\uff4e?|\\u0434\\u043e\\u0431|anexo)[:\\\\.\\uff0e]?[ \\u00a0\\\\t,-]*\"+(N(\"20\")+\"#?|[ \\u00a0\\\\t,]*(?:[x\\uff58#\\uff03~\\uff5e]|int|\\uff49\\uff4e\\uff54)[:\\\\.\\uff0e]?[ \\u00a0\\\\t,-]*\")+(N(\"9\")+\"#?|[- ]+\")+(N(\"6\")+\"#|[ \\u00a0\\\\t]*(?:,{2}|;)[:\\\\.\\uff0e]?[ \\u00a0\\\\t,-]*\")+(N(\"15\")+\"#?|[ \\u00a0\\\\t]*(?:,)+[:\\\\.\\uff0e]?[ \\u00a0\\\\t,-]*\")+(N(\"9\")+\"#?\")}\nvar Ea=new RegExp(\"(?:\"+Da()+\")$\",\"i\"),Fa=new RegExp(\"^[0-9\\uff10-\\uff19\\u0660-\\u0669\\u06f0-\\u06f9]{2}$|^[+\\uff0b]*(?:[-x\\u2010-\\u2015\\u2212\\u30fc\\uff0d-\\uff0f \\u00a0\\u00ad\\u200b\\u2060\\u3000()\\uff08\\uff09\\uff3b\\uff3d.\\\\[\\\\]/~\\u2053\\u223c\\uff5e*]*[0-9\\uff10-\\uff19\\u0660-\\u0669\\u06f0-\\u06f9]){3,}[-x\\u2010-\\u2015\\u2212\\u30fc\\uff0d-\\uff0f \\u00a0\\u00ad\\u200b\\u2060\\u3000()\\uff08\\uff09\\uff3b\\uff3d.\\\\[\\\\]/~\\u2053\\u223c\\uff5e*A-Za-z0-9\\uff10-\\uff19\\u0660-\\u0669\\u06f0-\\u06f9]*(?:\"+Da()+\")?$\",\"i\"),Ga=/(\\$\\d)/;\nfunction Ha(a){return 2>a.length?!1:O(Fa,a)}function Ia(a){return O(Ca,a)?P(a,xa):P(a,wa)}function Ja(a){var b=Ia(a.toString());a.i=\"\";a.g(b)}function Ka(a){return null!=a&&(1!=x(a,9)||-1!=u(a,9)[0])}function P(a,b){for(var c=new E,d,e=a.length,g=0;g<e;++g)d=a.charAt(g),d=b[d.toUpperCase()],null!=d&&c.g(d);return c.toString()}function Q(a){return null!=a&&isNaN(a)&&a.toUpperCase()in va}\nfunction La(a,b,c){if(0==p(b,2)&&null!=b.g[5]){var d=w(b,5);if(0<d.length)return d}d=w(b,1);var e=R(b);if(0==c)return Ma(d,0,e,\"\");if(!(d in J))return e;a=S(a,d,T(d));b=null!=b.g[3]&&0!=p(b,3).length?3==c?\";ext=\"+p(b,3):null!=a.g[13]?p(a,13)+w(b,3):\" ext. \"+w(b,3):\"\";a:{a=0==u(a,20).length||2==c?u(a,19):u(a,20);for(var g,f=a.length,h=0;h<f;++h){g=a[h];var l=x(g,3);if(0==l||0==e.search(p(g,3,l-1)))if(l=new RegExp(p(g,1)),O(l,e)){a=g;break a}}a=null}null!=a&&(f=a,a=w(f,2),g=new RegExp(p(f,1)),w(f,5),\nf=w(f,4),e=2==c&&null!=f&&0<f.length?e.replace(g,a.replace(Ga,f)):e.replace(g,a),3==c&&(e=e.replace(/^[-x\\u2010-\\u2015\\u2212\\u30fc\\uff0d-\\uff0f \\u00a0\\u00ad\\u200b\\u2060\\u3000()\\uff08\\uff09\\uff3b\\uff3d.\\[\\]/~\\u2053\\u223c\\uff5e]+/,\"\"),e=e.replace(/[-x\\u2010-\\u2015\\u2212\\u30fc\\uff0d-\\uff0f \\u00a0\\u00ad\\u200b\\u2060\\u3000()\\uff08\\uff09\\uff3b\\uff3d.\\[\\]/~\\u2053\\u223c\\uff5e]+/g,\"-\")));return Ma(d,c,e,b)}function S(a,b,c){return\"001\"==c?U(a,\"\"+b):U(a,c)}\nfunction R(a){if(null==a.g[2])return\"\";var b=\"\"+p(a,2);return null!=a.g[4]&&p(a,4)&&0<w(a,8)?Array(w(a,8)+1).join(\"0\")+b:b}function Ma(a,b,c,d){switch(b){case 0:return\"+\"+a+c+d;case 1:return\"+\"+a+\" \"+c+d;case 3:return\"tel:+\"+a+\"-\"+c+d;default:return c+d}}\nfunction V(a,b){switch(b){case 4:return p(a,5);case 3:return p(a,4);case 1:return p(a,3);case 0:case 2:return p(a,2);case 5:return p(a,6);case 6:return p(a,8);case 7:return p(a,7);case 8:return p(a,21);case 9:return p(a,25);case 10:return p(a,28);default:return p(a,1)}}function W(a,b){return X(a,p(b,1))?X(a,p(b,5))?4:X(a,p(b,4))?3:X(a,p(b,6))?5:X(a,p(b,8))?6:X(a,p(b,7))?7:X(a,p(b,21))?8:X(a,p(b,25))?9:X(a,p(b,28))?10:X(a,p(b,2))?p(b,18)||X(a,p(b,3))?2:0:!p(b,18)&&X(a,p(b,3))?1:-1:-1}\nfunction U(a,b){if(null==b)return null;b=b.toUpperCase();var c=a.g[b];if(null==c){c=va[b];if(null==c)return null;c=(new D).g(H.j(),c);a.g[b]=c}return c}function X(a,b){var c=a.length;return 0<x(b,9)&&-1==u(b,9).indexOf(c)?!1:O(w(b,2),a)}\nfunction Na(a,b){if(null==b)return null;var c=w(b,1);c=J[c];if(null==c)a=null;else if(1==c.length)a=c[0];else a:{b=R(b);for(var d,e=c.length,g=0;g<e;g++){d=c[g];var f=U(a,d);if(null!=f.g[23]){if(0==b.search(p(f,23))){a=d;break a}}else if(-1!=W(b,f)){a=d;break a}}a=null}return a}function T(a){a=J[a];return null==a?\"ZZ\":a[0]}\nfunction Y(a,b,c,d){var e=V(c,d),g=0==x(e,9)?u(p(c,1),9):u(e,9);e=u(e,10);if(2==d)if(Ka(V(c,0)))a=V(c,1),Ka(a)&&(g=g.concat(0==x(a,9)?u(p(c,1),9):u(a,9)),g.sort(),0==e.length?e=u(a,10):(e=e.concat(u(a,10)),e.sort()));else return Y(a,b,c,1);if(-1==g[0])return 5;b=b.length;if(-1<e.indexOf(b))return 4;c=g[0];return c==b?0:c>b?2:g[g.length-1]<b?3:-1<g.indexOf(b,1)?0:5}function Oa(a,b){var c=R(b);b=w(b,1);if(!(b in J))return 1;b=S(a,b,T(b));return Y(a,c,b,-1)}\nfunction Pa(a,b,c,d,e,g){if(0==b.length)return 0;b=new E(b);var f;null!=c&&(f=p(c,11));null==f&&(f=\"NonMatch\");var h=b.toString();if(0==h.length)f=20;else if(L.test(h))h=h.replace(L,\"\"),b.i=\"\",b.g(Ia(h)),f=1;else{h=new RegExp(f);Ja(b);f=b.toString();if(0==f.search(h)){h=f.match(h)[0].length;var l=f.substring(h).match(ya);l&&null!=l[1]&&0<l[1].length&&\"0\"==P(l[1],wa)?f=!1:(b.i=\"\",b.g(f.substring(h)),f=!0)}else f=!1;f=f?5:20}e&&q(g,6,f);if(20!=f){if(2>=b.i.length)throw Error(\"Phone number too short after IDD\");\na:{a=b.toString();if(0!=a.length&&\"0\"!=a.charAt(0))for(e=a.length,b=1;3>=b&&b<=e;++b)if(c=parseInt(a.substring(0,b),10),c in J){d.g(a.substring(b));d=c;break a}d=0}if(0!=d)return q(g,1,d),d;throw Error(\"Invalid country calling code\");}if(null!=c&&(f=w(c,10),h=\"\"+f,l=b.toString(),0==l.lastIndexOf(h,0)&&(h=new E(l.substring(h.length)),l=p(c,1),l=new RegExp(w(l,2)),Qa(h,c,null),h=h.toString(),!O(l,b.toString())&&O(l,h)||3==Y(a,b.toString(),c,-1))))return d.g(h),e&&q(g,6,10),q(g,1,f),f;q(g,1,0);return 0}\nfunction Qa(a,b,c){var d=a.toString(),e=d.length,g=p(b,15);if(0!=e&&null!=g&&0!=g.length){var f=new RegExp(\"^(?:\"+g+\")\");if(e=f.exec(d)){g=new RegExp(w(p(b,1),2));var h=O(g,d),l=e.length-1;b=p(b,16);if(null==b||0==b.length||null==e[l]||0==e[l].length){if(!h||O(g,d.substring(e[0].length)))null!=c&&0<l&&null!=e[l]&&c.g(e[1]),a.set(d.substring(e[0].length))}else if(d=d.replace(f,b),!h||O(g,d))null!=c&&0<l&&c.g(e[1]),a.set(d)}}}\nfunction Z(a,b,c){if(!Q(c)&&0<b.length&&\"+\"!=b.charAt(0))throw Error(\"Invalid country calling code\");return Ra(a,b,c,!0)}\nfunction Ra(a,b,c,d){if(null==b)throw Error(\"The string supplied did not seem to be a phone number\");if(250<b.length)throw Error(\"The string supplied is too long to be a phone number\");var e=new E,g=b.indexOf(\";phone-context=\");if(0<=g){var f=g+15;if(\"+\"==b.charAt(f)){var h=b.indexOf(\";\",f);0<h?e.g(b.substring(f,h)):e.g(b.substring(f))}f=b.indexOf(\"tel:\");e.g(b.substring(0<=f?f+4:0,g))}else g=e.g,f=b.search(za),0<=f?(f=b.substring(f),f=f.replace(Ba,\"\"),h=f.search(Aa),0<=h&&(f=f.substring(0,h))):f=\n\"\",g.call(e,f);g=e.toString();f=g.indexOf(\";isub=\");0<f&&(e.i=\"\",e.g(g.substring(0,f)));if(!Ha(e.toString()))throw Error(\"The string supplied did not seem to be a phone number\");g=e.toString();if(!(Q(c)||null!=g&&0<g.length&&L.test(g)))throw Error(\"Invalid country calling code\");g=new I;d&&q(g,5,b);a:{b=e.toString();f=b.search(Ea);if(0<=f&&Ha(b.substring(0,f))){h=b.match(Ea);for(var l=h.length,z=1;z<l;++z)if(null!=h[z]&&0<h[z].length){e.i=\"\";e.g(b.substring(0,f));b=h[z];break a}}b=\"\"}0<b.length&&\nq(g,3,b);f=U(a,c);b=new E;h=0;l=e.toString();try{h=Pa(a,l,f,b,d,g)}catch(M){if(\"Invalid country calling code\"==M.message&&L.test(l)){if(l=l.replace(L,\"\"),h=Pa(a,l,f,b,d,g),0==h)throw M;}else throw M;}0!=h?(e=T(h),e!=c&&(f=S(a,h,e))):(Ja(e),b.g(e.toString()),null!=c?(h=w(f,10),q(g,1,h)):d&&(delete g.g[6],g.i&&delete g.i[6]));if(2>b.i.length)throw Error(\"The string supplied is too short to be a phone number\");null!=f&&(c=new E,e=new E(b.toString()),Qa(e,f,c),a=Y(a,e.toString(),f,-1),2!=a&&4!=a&&5!=\na&&(b=e,d&&0<c.toString().length&&q(g,7,c.toString())));d=b.toString();a=d.length;if(2>a)throw Error(\"The string supplied is too short to be a phone number\");if(17<a)throw Error(\"The string supplied is too long to be a phone number\");if(1<d.length&&\"0\"==d.charAt(0)){q(g,4,!0);for(a=1;a<d.length-1&&\"0\"==d.charAt(a);)a++;1!=a&&q(g,8,a)}q(g,2,parseInt(d,10));return g}function O(a,b){return(a=\"string\"==typeof a?b.match(\"^(?:\"+a+\")$\"):b.match(a))&&a[0].length==b.length?!0:!1};k(\"intlTelInputUtils\",{});k(\"intlTelInputUtils.formatNumber\",function(a,b,c){try{var d=K.g(),e=Z(d,a,b),g=Oa(d,e);return 0==g||4==g?La(d,e,\"undefined\"==typeof c?0:c):a}catch(f){return a}});k(\"intlTelInputUtils.getExampleNumber\",function(a,b,c){try{var d=K.g();a:{if(Q(a)){var e=V(U(d,a),c);try{if(null!=e.g[6]){var g=p(e,6);var f=Ra(d,g,a,!1);break a}}catch(h){}}f=null}return La(d,f,b?2:1)}catch(h){return\"\"}});k(\"intlTelInputUtils.getExtension\",function(a,b){try{return p(Z(K.g(),a,b),3)}catch(c){return\"\"}});\nk(\"intlTelInputUtils.getNumberType\",function(a,b){try{var c=K.g();var d=Z(c,a,b),e=Na(c,d),g=S(c,w(d,1),e);if(null==g)var f=-1;else{var h=R(d);f=W(h,g)}return f}catch(l){return-99}});\nk(\"intlTelInputUtils.getValidationError\",function(a,b){try{var c=K.g(),d=Z(c,a,b);return Oa(c,d)}catch(e){return\"Invalid country calling code\"==e.message?1:\"Phone number too short after IDD\"==e.message||\"The string supplied is too short to be a phone number\"==e.message?2:\"The string supplied is too long to be a phone number\"==e.message?3:-99}});\nk(\"intlTelInputUtils.isValidNumber\",function(a,b){try{var c=K.g(),d=Z(c,a,b);var e=Na(c,d),g=w(d,1),f=S(c,g,e),h;if(!(h=null==f)){var l;if(l=\"001\"!=e){var z=U(c,e);if(null==z)throw Error(\"Invalid region code: \"+e);var M=w(z,10);l=g!=M}h=l}if(h)var ua=!1;else{var Sa=R(d);ua=-1!=W(Sa,f)}return ua}catch(Ta){return!1}});k(\"intlTelInputUtils.numberFormat\",{E164:0,INTERNATIONAL:1,NATIONAL:2,RFC3966:3});\nk(\"intlTelInputUtils.numberType\",{FIXED_LINE:0,MOBILE:1,FIXED_LINE_OR_MOBILE:2,TOLL_FREE:3,PREMIUM_RATE:4,SHARED_COST:5,VOIP:6,PERSONAL_NUMBER:7,PAGER:8,UAN:9,VOICEMAIL:10,UNKNOWN:-1});k(\"intlTelInputUtils.validationError\",{IS_POSSIBLE:0,INVALID_COUNTRY_CODE:1,TOO_SHORT:2,TOO_LONG:3,IS_POSSIBLE_LOCAL_ONLY:4,INVALID_LENGTH:5});})();\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/intl-tel-input/build/js/utils.js\n// module id = 93\n// module chunks = 16","/**\n * Exposing intl-tel-input as a component\n */\nmodule.exports = require(\"./build/js/intlTelInput\");\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/intl-tel-input/index.js\n// module id = 94\n// module chunks = 16","/*\n * International Telephone Input v17.0.15\n * https://github.com/jackocnr/intl-tel-input.git\n * Licensed under the MIT license\n */\n\n// wrap in UMD\n(function(factory) {\n if (typeof module === \"object\" && module.exports) module.exports = factory(); else window.intlTelInput = factory();\n})(function(undefined) {\n \"use strict\";\n return function() {\n // Array of country objects for the flag dropdown.\n // Here is the criteria for the plugin to support a given country/territory\n // - It has an iso2 code: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2\n // - It has it's own country calling code (it is not a sub-region of another country): https://en.wikipedia.org/wiki/List_of_country_calling_codes\n // - It has a flag in the region-flags project: https://github.com/behdad/region-flags/tree/gh-pages/png\n // - It is supported by libphonenumber (it must be listed on this page): https://github.com/googlei18n/libphonenumber/blob/master/resources/ShortNumberMetadata.xml\n // Each country array has the following information:\n // [\n // Country name,\n // iso2 code,\n // International dial code,\n // Order (if >1 country with same dial code),\n // Area codes\n // ]\n var allCountries = [ [ \"Afghanistan (‫اÙغانستان‬‎)\", \"af\", \"93\" ], [ \"Albania (Shqipëri)\", \"al\", \"355\" ], [ \"Algeria (‫الجزائر‬‎)\", \"dz\", \"213\" ], [ \"American Samoa\", \"as\", \"1\", 5, [ \"684\" ] ], [ \"Andorra\", \"ad\", \"376\" ], [ \"Angola\", \"ao\", \"244\" ], [ \"Anguilla\", \"ai\", \"1\", 6, [ \"264\" ] ], [ \"Antigua and Barbuda\", \"ag\", \"1\", 7, [ \"268\" ] ], [ \"Argentina\", \"ar\", \"54\" ], [ \"Armenia (Õ€Õ¡ÕµÕ¡Õ½Õ¿Õ¡Õ¶)\", \"am\", \"374\" ], [ \"Aruba\", \"aw\", \"297\" ], [ \"Ascension Island\", \"ac\", \"247\" ], [ \"Australia\", \"au\", \"61\", 0 ], [ \"Austria (Österreich)\", \"at\", \"43\" ], [ \"Azerbaijan (AzÉ™rbaycan)\", \"az\", \"994\" ], [ \"Bahamas\", \"bs\", \"1\", 8, [ \"242\" ] ], [ \"Bahrain (‫البØرين‬‎)\", \"bh\", \"973\" ], [ \"Bangladesh (বাংলাদেশ)\", \"bd\", \"880\" ], [ \"Barbados\", \"bb\", \"1\", 9, [ \"246\" ] ], [ \"Belarus (БеларуÑÑŒ)\", \"by\", \"375\" ], [ \"Belgium (België)\", \"be\", \"32\" ], [ \"Belize\", \"bz\", \"501\" ], [ \"Benin (Bénin)\", \"bj\", \"229\" ], [ \"Bermuda\", \"bm\", \"1\", 10, [ \"441\" ] ], [ \"Bhutan (འབྲུག)\", \"bt\", \"975\" ], [ \"Bolivia\", \"bo\", \"591\" ], [ \"Bosnia and Herzegovina (БоÑна и Херцеговина)\", \"ba\", \"387\" ], [ \"Botswana\", \"bw\", \"267\" ], [ \"Brazil (Brasil)\", \"br\", \"55\" ], [ \"British Indian Ocean Territory\", \"io\", \"246\" ], [ \"British Virgin Islands\", \"vg\", \"1\", 11, [ \"284\" ] ], [ \"Brunei\", \"bn\", \"673\" ], [ \"Bulgaria (БългариÑ)\", \"bg\", \"359\" ], [ \"Burkina Faso\", \"bf\", \"226\" ], [ \"Burundi (Uburundi)\", \"bi\", \"257\" ], [ \"Cambodia (កម្ពុជា)\", \"kh\", \"855\" ], [ \"Cameroon (Cameroun)\", \"cm\", \"237\" ], [ \"Canada\", \"ca\", \"1\", 1, [ \"204\", \"226\", \"236\", \"249\", \"250\", \"289\", \"306\", \"343\", \"365\", \"387\", \"403\", \"416\", \"418\", \"431\", \"437\", \"438\", \"450\", \"506\", \"514\", \"519\", \"548\", \"579\", \"581\", \"587\", \"604\", \"613\", \"639\", \"647\", \"672\", \"705\", \"709\", \"742\", \"778\", \"780\", \"782\", \"807\", \"819\", \"825\", \"867\", \"873\", \"902\", \"905\" ] ], [ \"Cape Verde (Kabu Verdi)\", \"cv\", \"238\" ], [ \"Caribbean Netherlands\", \"bq\", \"599\", 1, [ \"3\", \"4\", \"7\" ] ], [ \"Cayman Islands\", \"ky\", \"1\", 12, [ \"345\" ] ], [ \"Central African Republic (République centrafricaine)\", \"cf\", \"236\" ], [ \"Chad (Tchad)\", \"td\", \"235\" ], [ \"Chile\", \"cl\", \"56\" ], [ \"China (ä¸å›½)\", \"cn\", \"86\" ], [ \"Christmas Island\", \"cx\", \"61\", 2, [ \"89164\" ] ], [ \"Cocos (Keeling) Islands\", \"cc\", \"61\", 1, [ \"89162\" ] ], [ \"Colombia\", \"co\", \"57\" ], [ \"Comoros (‫جزر القمر‬‎)\", \"km\", \"269\" ], [ \"Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)\", \"cd\", \"243\" ], [ \"Congo (Republic) (Congo-Brazzaville)\", \"cg\", \"242\" ], [ \"Cook Islands\", \"ck\", \"682\" ], [ \"Costa Rica\", \"cr\", \"506\" ], [ \"Côte d’Ivoire\", \"ci\", \"225\" ], [ \"Croatia (Hrvatska)\", \"hr\", \"385\" ], [ \"Cuba\", \"cu\", \"53\" ], [ \"Curaçao\", \"cw\", \"599\", 0 ], [ \"Cyprus (ΚÏÏ€Ïος)\", \"cy\", \"357\" ], [ \"Czech Republic (ÄŒeská republika)\", \"cz\", \"420\" ], [ \"Denmark (Danmark)\", \"dk\", \"45\" ], [ \"Djibouti\", \"dj\", \"253\" ], [ \"Dominica\", \"dm\", \"1\", 13, [ \"767\" ] ], [ \"Dominican Republic (República Dominicana)\", \"do\", \"1\", 2, [ \"809\", \"829\", \"849\" ] ], [ \"Ecuador\", \"ec\", \"593\" ], [ \"Egypt (‫مصر‬‎)\", \"eg\", \"20\" ], [ \"El Salvador\", \"sv\", \"503\" ], [ \"Equatorial Guinea (Guinea Ecuatorial)\", \"gq\", \"240\" ], [ \"Eritrea\", \"er\", \"291\" ], [ \"Estonia (Eesti)\", \"ee\", \"372\" ], [ \"Eswatini\", \"sz\", \"268\" ], [ \"Ethiopia\", \"et\", \"251\" ], [ \"Falkland Islands (Islas Malvinas)\", \"fk\", \"500\" ], [ \"Faroe Islands (Føroyar)\", \"fo\", \"298\" ], [ \"Fiji\", \"fj\", \"679\" ], [ \"Finland (Suomi)\", \"fi\", \"358\", 0 ], [ \"France\", \"fr\", \"33\" ], [ \"French Guiana (Guyane française)\", \"gf\", \"594\" ], [ \"French Polynesia (Polynésie française)\", \"pf\", \"689\" ], [ \"Gabon\", \"ga\", \"241\" ], [ \"Gambia\", \"gm\", \"220\" ], [ \"Georgia (სáƒáƒ¥áƒáƒ თველáƒ)\", \"ge\", \"995\" ], [ \"Germany (Deutschland)\", \"de\", \"49\" ], [ \"Ghana (Gaana)\", \"gh\", \"233\" ], [ \"Gibraltar\", \"gi\", \"350\" ], [ \"Greece (Ελλάδα)\", \"gr\", \"30\" ], [ \"Greenland (Kalaallit Nunaat)\", \"gl\", \"299\" ], [ \"Grenada\", \"gd\", \"1\", 14, [ \"473\" ] ], [ \"Guadeloupe\", \"gp\", \"590\", 0 ], [ \"Guam\", \"gu\", \"1\", 15, [ \"671\" ] ], [ \"Guatemala\", \"gt\", \"502\" ], [ \"Guernsey\", \"gg\", \"44\", 1, [ \"1481\", \"7781\", \"7839\", \"7911\" ] ], [ \"Guinea (Guinée)\", \"gn\", \"224\" ], [ \"Guinea-Bissau (Guiné Bissau)\", \"gw\", \"245\" ], [ \"Guyana\", \"gy\", \"592\" ], [ \"Haiti\", \"ht\", \"509\" ], [ \"Honduras\", \"hn\", \"504\" ], [ \"Hong Kong (香港)\", \"hk\", \"852\" ], [ \"Hungary (Magyarország)\", \"hu\", \"36\" ], [ \"Iceland (Ãsland)\", \"is\", \"354\" ], [ \"India (à¤à¤¾à¤°à¤¤)\", \"in\", \"91\" ], [ \"Indonesia\", \"id\", \"62\" ], [ \"Iran (‫ایران‬‎)\", \"ir\", \"98\" ], [ \"Iraq (‫العراق‬‎)\", \"iq\", \"964\" ], [ \"Ireland\", \"ie\", \"353\" ], [ \"Isle of Man\", \"im\", \"44\", 2, [ \"1624\", \"74576\", \"7524\", \"7924\", \"7624\" ] ], [ \"Israel (‫ישר×ל‬‎)\", \"il\", \"972\" ], [ \"Italy (Italia)\", \"it\", \"39\", 0 ], [ \"Jamaica\", \"jm\", \"1\", 4, [ \"876\", \"658\" ] ], [ \"Japan (日本)\", \"jp\", \"81\" ], [ \"Jersey\", \"je\", \"44\", 3, [ \"1534\", \"7509\", \"7700\", \"7797\", \"7829\", \"7937\" ] ], [ \"Jordan (‫الأردن‬‎)\", \"jo\", \"962\" ], [ \"Kazakhstan (КазахÑтан)\", \"kz\", \"7\", 1, [ \"33\", \"7\" ] ], [ \"Kenya\", \"ke\", \"254\" ], [ \"Kiribati\", \"ki\", \"686\" ], [ \"Kosovo\", \"xk\", \"383\" ], [ \"Kuwait (‫الكويت‬‎)\", \"kw\", \"965\" ], [ \"Kyrgyzstan (КыргызÑтан)\", \"kg\", \"996\" ], [ \"Laos (ລາວ)\", \"la\", \"856\" ], [ \"Latvia (Latvija)\", \"lv\", \"371\" ], [ \"Lebanon (‫لبنان‬‎)\", \"lb\", \"961\" ], [ \"Lesotho\", \"ls\", \"266\" ], [ \"Liberia\", \"lr\", \"231\" ], [ \"Libya (‫ليبيا‬‎)\", \"ly\", \"218\" ], [ \"Liechtenstein\", \"li\", \"423\" ], [ \"Lithuania (Lietuva)\", \"lt\", \"370\" ], [ \"Luxembourg\", \"lu\", \"352\" ], [ \"Macau (澳門)\", \"mo\", \"853\" ], [ \"North Macedonia (Македонија)\", \"mk\", \"389\" ], [ \"Madagascar (Madagasikara)\", \"mg\", \"261\" ], [ \"Malawi\", \"mw\", \"265\" ], [ \"Malaysia\", \"my\", \"60\" ], [ \"Maldives\", \"mv\", \"960\" ], [ \"Mali\", \"ml\", \"223\" ], [ \"Malta\", \"mt\", \"356\" ], [ \"Marshall Islands\", \"mh\", \"692\" ], [ \"Martinique\", \"mq\", \"596\" ], [ \"Mauritania (‫موريتانيا‬‎)\", \"mr\", \"222\" ], [ \"Mauritius (Moris)\", \"mu\", \"230\" ], [ \"Mayotte\", \"yt\", \"262\", 1, [ \"269\", \"639\" ] ], [ \"Mexico (México)\", \"mx\", \"52\" ], [ \"Micronesia\", \"fm\", \"691\" ], [ \"Moldova (Republica Moldova)\", \"md\", \"373\" ], [ \"Monaco\", \"mc\", \"377\" ], [ \"Mongolia (Монгол)\", \"mn\", \"976\" ], [ \"Montenegro (Crna Gora)\", \"me\", \"382\" ], [ \"Montserrat\", \"ms\", \"1\", 16, [ \"664\" ] ], [ \"Morocco (‫المغرب‬‎)\", \"ma\", \"212\", 0 ], [ \"Mozambique (Moçambique)\", \"mz\", \"258\" ], [ \"Myanmar (Burma) (မြန်မာ)\", \"mm\", \"95\" ], [ \"Namibia (Namibië)\", \"na\", \"264\" ], [ \"Nauru\", \"nr\", \"674\" ], [ \"Nepal (नेपाल)\", \"np\", \"977\" ], [ \"Netherlands (Nederland)\", \"nl\", \"31\" ], [ \"New Caledonia (Nouvelle-Calédonie)\", \"nc\", \"687\" ], [ \"New Zealand\", \"nz\", \"64\" ], [ \"Nicaragua\", \"ni\", \"505\" ], [ \"Niger (Nijar)\", \"ne\", \"227\" ], [ \"Nigeria\", \"ng\", \"234\" ], [ \"Niue\", \"nu\", \"683\" ], [ \"Norfolk Island\", \"nf\", \"672\" ], [ \"North Korea (ì¡°ì„ ë¯¼ì£¼ì£¼ì˜ ì¸ë¯¼ 공화êµ)\", \"kp\", \"850\" ], [ \"Northern Mariana Islands\", \"mp\", \"1\", 17, [ \"670\" ] ], [ \"Norway (Norge)\", \"no\", \"47\", 0 ], [ \"Oman (‫عÙمان‬‎)\", \"om\", \"968\" ], [ \"Pakistan (‫پاکستان‬‎)\", \"pk\", \"92\" ], [ \"Palau\", \"pw\", \"680\" ], [ \"Palestine (‫Ùلسطين‬‎)\", \"ps\", \"970\" ], [ \"Panama (Panamá)\", \"pa\", \"507\" ], [ \"Papua New Guinea\", \"pg\", \"675\" ], [ \"Paraguay\", \"py\", \"595\" ], [ \"Peru (Perú)\", \"pe\", \"51\" ], [ \"Philippines\", \"ph\", \"63\" ], [ \"Poland (Polska)\", \"pl\", \"48\" ], [ \"Portugal\", \"pt\", \"351\" ], [ \"Puerto Rico\", \"pr\", \"1\", 3, [ \"787\", \"939\" ] ], [ \"Qatar (‫قطر‬‎)\", \"qa\", \"974\" ], [ \"Réunion (La Réunion)\", \"re\", \"262\", 0 ], [ \"Romania (România)\", \"ro\", \"40\" ], [ \"Russia (РоÑÑиÑ)\", \"ru\", \"7\", 0 ], [ \"Rwanda\", \"rw\", \"250\" ], [ \"Saint Barthélemy\", \"bl\", \"590\", 1 ], [ \"Saint Helena\", \"sh\", \"290\" ], [ \"Saint Kitts and Nevis\", \"kn\", \"1\", 18, [ \"869\" ] ], [ \"Saint Lucia\", \"lc\", \"1\", 19, [ \"758\" ] ], [ \"Saint Martin (Saint-Martin (partie française))\", \"mf\", \"590\", 2 ], [ \"Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)\", \"pm\", \"508\" ], [ \"Saint Vincent and the Grenadines\", \"vc\", \"1\", 20, [ \"784\" ] ], [ \"Samoa\", \"ws\", \"685\" ], [ \"San Marino\", \"sm\", \"378\" ], [ \"São Tomé and PrÃncipe (São Tomé e PrÃncipe)\", \"st\", \"239\" ], [ \"Saudi Arabia (‫المملكة العربية السعودية‬‎)\", \"sa\", \"966\" ], [ \"Senegal (Sénégal)\", \"sn\", \"221\" ], [ \"Serbia (Србија)\", \"rs\", \"381\" ], [ \"Seychelles\", \"sc\", \"248\" ], [ \"Sierra Leone\", \"sl\", \"232\" ], [ \"Singapore\", \"sg\", \"65\" ], [ \"Sint Maarten\", \"sx\", \"1\", 21, [ \"721\" ] ], [ \"Slovakia (Slovensko)\", \"sk\", \"421\" ], [ \"Slovenia (Slovenija)\", \"si\", \"386\" ], [ \"Solomon Islands\", \"sb\", \"677\" ], [ \"Somalia (Soomaaliya)\", \"so\", \"252\" ], [ \"South Africa\", \"za\", \"27\" ], [ \"South Korea (대한민êµ)\", \"kr\", \"82\" ], [ \"South Sudan (‫جنوب السودان‬‎)\", \"ss\", \"211\" ], [ \"Spain (España)\", \"es\", \"34\" ], [ \"Sri Lanka (à·à·Šâ€à¶»à·“ ලංකà·à·€)\", \"lk\", \"94\" ], [ \"Sudan (‫السودان‬‎)\", \"sd\", \"249\" ], [ \"Suriname\", \"sr\", \"597\" ], [ \"Svalbard and Jan Mayen\", \"sj\", \"47\", 1, [ \"79\" ] ], [ \"Sweden (Sverige)\", \"se\", \"46\" ], [ \"Switzerland (Schweiz)\", \"ch\", \"41\" ], [ \"Syria (‫سوريا‬‎)\", \"sy\", \"963\" ], [ \"Taiwan (å°ç£)\", \"tw\", \"886\" ], [ \"Tajikistan\", \"tj\", \"992\" ], [ \"Tanzania\", \"tz\", \"255\" ], [ \"Thailand (ไทย)\", \"th\", \"66\" ], [ \"Timor-Leste\", \"tl\", \"670\" ], [ \"Togo\", \"tg\", \"228\" ], [ \"Tokelau\", \"tk\", \"690\" ], [ \"Tonga\", \"to\", \"676\" ], [ \"Trinidad and Tobago\", \"tt\", \"1\", 22, [ \"868\" ] ], [ \"Tunisia (‫تونس‬‎)\", \"tn\", \"216\" ], [ \"Turkey (Türkiye)\", \"tr\", \"90\" ], [ \"Turkmenistan\", \"tm\", \"993\" ], [ \"Turks and Caicos Islands\", \"tc\", \"1\", 23, [ \"649\" ] ], [ \"Tuvalu\", \"tv\", \"688\" ], [ \"U.S. Virgin Islands\", \"vi\", \"1\", 24, [ \"340\" ] ], [ \"Uganda\", \"ug\", \"256\" ], [ \"Ukraine (Україна)\", \"ua\", \"380\" ], [ \"United Arab Emirates (‫الإمارات العربية المتØدة‬‎)\", \"ae\", \"971\" ], [ \"United Kingdom\", \"gb\", \"44\", 0 ], [ \"United States\", \"us\", \"1\", 0 ], [ \"Uruguay\", \"uy\", \"598\" ], [ \"Uzbekistan (OÊ»zbekiston)\", \"uz\", \"998\" ], [ \"Vanuatu\", \"vu\", \"678\" ], [ \"Vatican City (Città del Vaticano)\", \"va\", \"39\", 1, [ \"06698\" ] ], [ \"Venezuela\", \"ve\", \"58\" ], [ \"Vietnam (Việt Nam)\", \"vn\", \"84\" ], [ \"Wallis and Futuna (Wallis-et-Futuna)\", \"wf\", \"681\" ], [ \"Western Sahara (‫الصØراء الغربية‬‎)\", \"eh\", \"212\", 1, [ \"5288\", \"5289\" ] ], [ \"Yemen (‫اليمن‬‎)\", \"ye\", \"967\" ], [ \"Zambia\", \"zm\", \"260\" ], [ \"Zimbabwe\", \"zw\", \"263\" ], [ \"Ã…land Islands\", \"ax\", \"358\", 1, [ \"18\" ] ] ];\n // loop over all of the countries above, restructuring the data to be objects with named keys\n for (var i = 0; i < allCountries.length; i++) {\n var c = allCountries[i];\n allCountries[i] = {\n name: c[0],\n iso2: c[1],\n dialCode: c[2],\n priority: c[3] || 0,\n areaCodes: c[4] || null\n };\n }\n \"use strict\";\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n var intlTelInputGlobals = {\n getInstance: function getInstance(input) {\n var id = input.getAttribute(\"data-intl-tel-input-id\");\n return window.intlTelInputGlobals.instances[id];\n },\n instances: {},\n // using a global like this allows us to mock it in the tests\n documentReady: function documentReady() {\n return document.readyState === \"complete\";\n }\n };\n if (typeof window === \"object\") window.intlTelInputGlobals = intlTelInputGlobals;\n // these vars persist through all instances of the plugin\n var id = 0;\n var defaults = {\n // whether or not to allow the dropdown\n allowDropdown: true,\n // if there is just a dial code in the input: remove it on blur\n autoHideDialCode: true,\n // add a placeholder in the input with an example number for the selected country\n autoPlaceholder: \"polite\",\n // modify the parentClass\n customContainer: \"\",\n // modify the auto placeholder\n customPlaceholder: null,\n // append menu to specified element\n dropdownContainer: null,\n // don't display these countries\n excludeCountries: [],\n // format the input value during initialisation and on setNumber\n formatOnDisplay: true,\n // geoIp lookup function\n geoIpLookup: null,\n // inject a hidden input with this name, and on submit, populate it with the result of getNumber\n hiddenInput: \"\",\n // initial country\n initialCountry: \"\",\n // localized country names e.g. { 'de': 'Deutschland' }\n localizedCountries: null,\n // don't insert international dial codes\n nationalMode: true,\n // display only these countries\n onlyCountries: [],\n // number type to use for placeholders\n placeholderNumberType: \"MOBILE\",\n // the countries at the top of the list. defaults to united states and united kingdom\n preferredCountries: [ \"us\", \"gb\" ],\n // display the country dial code next to the selected flag so it's not part of the typed number\n separateDialCode: false,\n // specify the path to the libphonenumber script to enable validation/formatting\n utilsScript: \"\"\n };\n // https://en.wikipedia.org/wiki/List_of_North_American_Numbering_Plan_area_codes#Non-geographic_area_codes\n var regionlessNanpNumbers = [ \"800\", \"822\", \"833\", \"844\", \"855\", \"866\", \"877\", \"880\", \"881\", \"882\", \"883\", \"884\", \"885\", \"886\", \"887\", \"888\", \"889\" ];\n // utility function to iterate over an object. can't use Object.entries or native forEach because\n // of IE11\n var forEachProp = function forEachProp(obj, callback) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n callback(keys[i], obj[keys[i]]);\n }\n };\n // run a method on each instance of the plugin\n var forEachInstance = function forEachInstance(method) {\n forEachProp(window.intlTelInputGlobals.instances, function(key) {\n window.intlTelInputGlobals.instances[key][method]();\n });\n };\n // this is our plugin class that we will create an instance of\n // eslint-disable-next-line no-unused-vars\n var Iti = /*#__PURE__*/\n function() {\n function Iti(input, options) {\n var _this = this;\n _classCallCheck(this, Iti);\n this.id = id++;\n this.telInput = input;\n this.activeItem = null;\n this.highlightedItem = null;\n // process specified options / defaults\n // alternative to Object.assign, which isn't supported by IE11\n var customOptions = options || {};\n this.options = {};\n forEachProp(defaults, function(key, value) {\n _this.options[key] = customOptions.hasOwnProperty(key) ? customOptions[key] : value;\n });\n this.hadInitialPlaceholder = Boolean(input.getAttribute(\"placeholder\"));\n }\n _createClass(Iti, [ {\n key: \"_init\",\n value: function _init() {\n var _this2 = this;\n // if in nationalMode, disable options relating to dial codes\n if (this.options.nationalMode) this.options.autoHideDialCode = false;\n // if separateDialCode then doesn't make sense to A) insert dial code into input\n // (autoHideDialCode), and B) display national numbers (because we're displaying the country\n // dial code next to them)\n if (this.options.separateDialCode) {\n this.options.autoHideDialCode = this.options.nationalMode = false;\n }\n // we cannot just test screen size as some smartphones/website meta tags will report desktop\n // resolutions\n // Note: for some reason jasmine breaks if you put this in the main Plugin function with the\n // rest of these declarations\n // Note: to target Android Mobiles (and not Tablets), we must find 'Android' and 'Mobile'\n this.isMobile = /Android.+Mobile|webOS|iPhone|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n if (this.isMobile) {\n // trigger the mobile dropdown css\n document.body.classList.add(\"iti-mobile\");\n // on mobile, we want a full screen dropdown, so we must append it to the body\n if (!this.options.dropdownContainer) this.options.dropdownContainer = document.body;\n }\n // these promises get resolved when their individual requests complete\n // this way the dev can do something like iti.promise.then(...) to know when all requests are\n // complete\n if (typeof Promise !== \"undefined\") {\n var autoCountryPromise = new Promise(function(resolve, reject) {\n _this2.resolveAutoCountryPromise = resolve;\n _this2.rejectAutoCountryPromise = reject;\n });\n var utilsScriptPromise = new Promise(function(resolve, reject) {\n _this2.resolveUtilsScriptPromise = resolve;\n _this2.rejectUtilsScriptPromise = reject;\n });\n this.promise = Promise.all([ autoCountryPromise, utilsScriptPromise ]);\n } else {\n // prevent errors when Promise doesn't exist\n this.resolveAutoCountryPromise = this.rejectAutoCountryPromise = function() {};\n this.resolveUtilsScriptPromise = this.rejectUtilsScriptPromise = function() {};\n }\n // in various situations there could be no country selected initially, but we need to be able\n // to assume this variable exists\n this.selectedCountryData = {};\n // process all the data: onlyCountries, excludeCountries, preferredCountries etc\n this._processCountryData();\n // generate the markup\n this._generateMarkup();\n // set the initial state of the input value and the selected flag\n this._setInitialState();\n // start all of the event listeners: autoHideDialCode, input keydown, selectedFlag click\n this._initListeners();\n // utils script, and auto country\n this._initRequests();\n }\n }, {\n key: \"_processCountryData\",\n value: function _processCountryData() {\n // process onlyCountries or excludeCountries array if present\n this._processAllCountries();\n // process the countryCodes map\n this._processCountryCodes();\n // process the preferredCountries\n this._processPreferredCountries();\n // translate countries according to localizedCountries option\n if (this.options.localizedCountries) this._translateCountriesByLocale();\n // sort countries by name\n if (this.options.onlyCountries.length || this.options.localizedCountries) {\n this.countries.sort(this._countryNameSort);\n }\n }\n }, {\n key: \"_addCountryCode\",\n value: function _addCountryCode(iso2, countryCode, priority) {\n if (countryCode.length > this.countryCodeMaxLen) {\n this.countryCodeMaxLen = countryCode.length;\n }\n if (!this.countryCodes.hasOwnProperty(countryCode)) {\n this.countryCodes[countryCode] = [];\n }\n // bail if we already have this country for this countryCode\n for (var i = 0; i < this.countryCodes[countryCode].length; i++) {\n if (this.countryCodes[countryCode][i] === iso2) return;\n }\n // check for undefined as 0 is falsy\n var index = priority !== undefined ? priority : this.countryCodes[countryCode].length;\n this.countryCodes[countryCode][index] = iso2;\n }\n }, {\n key: \"_processAllCountries\",\n value: function _processAllCountries() {\n if (this.options.onlyCountries.length) {\n var lowerCaseOnlyCountries = this.options.onlyCountries.map(function(country) {\n return country.toLowerCase();\n });\n this.countries = allCountries.filter(function(country) {\n return lowerCaseOnlyCountries.indexOf(country.iso2) > -1;\n });\n } else if (this.options.excludeCountries.length) {\n var lowerCaseExcludeCountries = this.options.excludeCountries.map(function(country) {\n return country.toLowerCase();\n });\n this.countries = allCountries.filter(function(country) {\n return lowerCaseExcludeCountries.indexOf(country.iso2) === -1;\n });\n } else {\n this.countries = allCountries;\n }\n }\n }, {\n key: \"_translateCountriesByLocale\",\n value: function _translateCountriesByLocale() {\n for (var i = 0; i < this.countries.length; i++) {\n var iso = this.countries[i].iso2.toLowerCase();\n if (this.options.localizedCountries.hasOwnProperty(iso)) {\n this.countries[i].name = this.options.localizedCountries[iso];\n }\n }\n }\n }, {\n key: \"_countryNameSort\",\n value: function _countryNameSort(a, b) {\n return a.name.localeCompare(b.name);\n }\n }, {\n key: \"_processCountryCodes\",\n value: function _processCountryCodes() {\n this.countryCodeMaxLen = 0;\n // here we store just dial codes\n this.dialCodes = {};\n // here we store \"country codes\" (both dial codes and their area codes)\n this.countryCodes = {};\n // first: add dial codes\n for (var i = 0; i < this.countries.length; i++) {\n var c = this.countries[i];\n if (!this.dialCodes[c.dialCode]) this.dialCodes[c.dialCode] = true;\n this._addCountryCode(c.iso2, c.dialCode, c.priority);\n }\n // next: add area codes\n // this is a second loop over countries, to make sure we have all of the \"root\" countries\n // already in the map, so that we can access them, as each time we add an area code substring\n // to the map, we also need to include the \"root\" country's code, as that also matches\n for (var _i = 0; _i < this.countries.length; _i++) {\n var _c = this.countries[_i];\n // area codes\n if (_c.areaCodes) {\n var rootCountryCode = this.countryCodes[_c.dialCode][0];\n // for each area code\n for (var j = 0; j < _c.areaCodes.length; j++) {\n var areaCode = _c.areaCodes[j];\n // for each digit in the area code to add all partial matches as well\n for (var k = 1; k < areaCode.length; k++) {\n var partialDialCode = _c.dialCode + areaCode.substr(0, k);\n // start with the root country, as that also matches this dial code\n this._addCountryCode(rootCountryCode, partialDialCode);\n this._addCountryCode(_c.iso2, partialDialCode);\n }\n // add the full area code\n this._addCountryCode(_c.iso2, _c.dialCode + areaCode);\n }\n }\n }\n }\n }, {\n key: \"_processPreferredCountries\",\n value: function _processPreferredCountries() {\n this.preferredCountries = [];\n for (var i = 0; i < this.options.preferredCountries.length; i++) {\n var countryCode = this.options.preferredCountries[i].toLowerCase();\n var countryData = this._getCountryData(countryCode, false, true);\n if (countryData) this.preferredCountries.push(countryData);\n }\n }\n }, {\n key: \"_createEl\",\n value: function _createEl(name, attrs, container) {\n var el = document.createElement(name);\n if (attrs) forEachProp(attrs, function(key, value) {\n return el.setAttribute(key, value);\n });\n if (container) container.appendChild(el);\n return el;\n }\n }, {\n key: \"_generateMarkup\",\n value: function _generateMarkup() {\n // if autocomplete does not exist on the element and its form, then\n // prevent autocomplete as there's no safe, cross-browser event we can react to, so it can\n // easily put the plugin in an inconsistent state e.g. the wrong flag selected for the\n // autocompleted number, which on submit could mean wrong number is saved (esp in nationalMode)\n if (!this.telInput.hasAttribute(\"autocomplete\") && !(this.telInput.form && this.telInput.form.hasAttribute(\"autocomplete\"))) {\n this.telInput.setAttribute(\"autocomplete\", \"off\");\n }\n // containers (mostly for positioning)\n var parentClass = \"iti\";\n if (this.options.allowDropdown) parentClass += \" iti--allow-dropdown\";\n if (this.options.separateDialCode) parentClass += \" iti--separate-dial-code\";\n if (this.options.customContainer) {\n parentClass += \" \";\n parentClass += this.options.customContainer;\n }\n var wrapper = this._createEl(\"div\", {\n \"class\": parentClass\n });\n this.telInput.parentNode.insertBefore(wrapper, this.telInput);\n this.flagsContainer = this._createEl(\"div\", {\n \"class\": \"iti__flag-container\"\n }, wrapper);\n wrapper.appendChild(this.telInput);\n // selected flag (displayed to left of input)\n this.selectedFlag = this._createEl(\"div\", {\n \"class\": \"iti__selected-flag\",\n role: \"combobox\",\n \"aria-controls\": \"iti-\".concat(this.id, \"__country-listbox\"),\n \"aria-owns\": \"iti-\".concat(this.id, \"__country-listbox\"),\n \"aria-expanded\": \"false\"\n }, this.flagsContainer);\n this.selectedFlagInner = this._createEl(\"div\", {\n \"class\": \"iti__flag\"\n }, this.selectedFlag);\n if (this.options.separateDialCode) {\n this.selectedDialCode = this._createEl(\"div\", {\n \"class\": \"iti__selected-dial-code\"\n }, this.selectedFlag);\n }\n if (this.options.allowDropdown) {\n // make element focusable and tab navigable\n this.selectedFlag.setAttribute(\"tabindex\", \"0\");\n this.dropdownArrow = this._createEl(\"div\", {\n \"class\": \"iti__arrow\"\n }, this.selectedFlag);\n // country dropdown: preferred countries, then divider, then all countries\n this.countryList = this._createEl(\"ul\", {\n \"class\": \"iti__country-list iti__hide\",\n id: \"iti-\".concat(this.id, \"__country-listbox\"),\n role: \"listbox\",\n \"aria-label\": \"List of countries\"\n });\n if (this.preferredCountries.length) {\n this._appendListItems(this.preferredCountries, \"iti__preferred\", true);\n this._createEl(\"li\", {\n \"class\": \"iti__divider\",\n role: \"separator\",\n \"aria-disabled\": \"true\"\n }, this.countryList);\n }\n this._appendListItems(this.countries, \"iti__standard\");\n // create dropdownContainer markup\n if (this.options.dropdownContainer) {\n this.dropdown = this._createEl(\"div\", {\n \"class\": \"iti iti--container\"\n });\n this.dropdown.appendChild(this.countryList);\n } else {\n this.flagsContainer.appendChild(this.countryList);\n }\n }\n if (this.options.hiddenInput) {\n var hiddenInputName = this.options.hiddenInput;\n var name = this.telInput.getAttribute(\"name\");\n if (name) {\n var i = name.lastIndexOf(\"[\");\n // if input name contains square brackets, then give the hidden input the same name,\n // replacing the contents of the last set of brackets with the given hiddenInput name\n if (i !== -1) hiddenInputName = \"\".concat(name.substr(0, i), \"[\").concat(hiddenInputName, \"]\");\n }\n this.hiddenInput = this._createEl(\"input\", {\n type: \"hidden\",\n name: hiddenInputName\n });\n wrapper.appendChild(this.hiddenInput);\n }\n }\n }, {\n key: \"_appendListItems\",\n value: function _appendListItems(countries, className, preferred) {\n // we create so many DOM elements, it is faster to build a temp string\n // and then add everything to the DOM in one go at the end\n var tmp = \"\";\n // for each country\n for (var i = 0; i < countries.length; i++) {\n var c = countries[i];\n var idSuffix = preferred ? \"-preferred\" : \"\";\n // open the list item\n tmp += \"<li class='iti__country \".concat(className, \"' tabIndex='-1' id='iti-\").concat(this.id, \"__item-\").concat(c.iso2).concat(idSuffix, \"' role='option' data-dial-code='\").concat(c.dialCode, \"' data-country-code='\").concat(c.iso2, \"' aria-selected='false'>\");\n // add the flag\n tmp += \"<div class='iti__flag-box'><div class='iti__flag iti__\".concat(c.iso2, \"'></div></div>\");\n // and the country name and dial code\n tmp += \"<span class='iti__country-name'>\".concat(c.name, \"</span>\");\n tmp += \"<span class='iti__dial-code'>+\".concat(c.dialCode, \"</span>\");\n // close the list item\n tmp += \"</li>\";\n }\n this.countryList.insertAdjacentHTML(\"beforeend\", tmp);\n }\n }, {\n key: \"_setInitialState\",\n value: function _setInitialState() {\n // fix firefox bug: when first load page (with input with value set to number with intl dial\n // code) and initialising plugin removes the dial code from the input, then refresh page,\n // and we try to init plugin again but this time on number without dial code so get grey flag\n var attributeValue = this.telInput.getAttribute(\"value\");\n var inputValue = this.telInput.value;\n var useAttribute = attributeValue && attributeValue.charAt(0) === \"+\" && (!inputValue || inputValue.charAt(0) !== \"+\");\n var val = useAttribute ? attributeValue : inputValue;\n var dialCode = this._getDialCode(val);\n var isRegionlessNanp = this._isRegionlessNanp(val);\n var _this$options = this.options, initialCountry = _this$options.initialCountry, nationalMode = _this$options.nationalMode, autoHideDialCode = _this$options.autoHideDialCode, separateDialCode = _this$options.separateDialCode;\n // if we already have a dial code, and it's not a regionlessNanp, we can go ahead and set the\n // flag, else fall back to the default country\n if (dialCode && !isRegionlessNanp) {\n this._updateFlagFromNumber(val);\n } else if (initialCountry !== \"auto\") {\n // see if we should select a flag\n if (initialCountry) {\n this._setFlag(initialCountry.toLowerCase());\n } else {\n if (dialCode && isRegionlessNanp) {\n // has intl dial code, is regionless nanp, and no initialCountry, so default to US\n this._setFlag(\"us\");\n } else {\n // no dial code and no initialCountry, so default to first in list\n this.defaultCountry = this.preferredCountries.length ? this.preferredCountries[0].iso2 : this.countries[0].iso2;\n if (!val) {\n this._setFlag(this.defaultCountry);\n }\n }\n }\n // if empty and no nationalMode and no autoHideDialCode then insert the default dial code\n if (!val && !nationalMode && !autoHideDialCode && !separateDialCode) {\n this.telInput.value = \"+\".concat(this.selectedCountryData.dialCode);\n }\n }\n // NOTE: if initialCountry is set to auto, that will be handled separately\n // format - note this wont be run after _updateDialCode as that's only called if no val\n if (val) this._updateValFromNumber(val);\n }\n }, {\n key: \"_initListeners\",\n value: function _initListeners() {\n this._initKeyListeners();\n if (this.options.autoHideDialCode) this._initBlurListeners();\n if (this.options.allowDropdown) this._initDropdownListeners();\n if (this.hiddenInput) this._initHiddenInputListener();\n }\n }, {\n key: \"_initHiddenInputListener\",\n value: function _initHiddenInputListener() {\n var _this3 = this;\n this._handleHiddenInputSubmit = function() {\n _this3.hiddenInput.value = _this3.getNumber();\n };\n if (this.telInput.form) this.telInput.form.addEventListener(\"submit\", this._handleHiddenInputSubmit);\n }\n }, {\n key: \"_getClosestLabel\",\n value: function _getClosestLabel() {\n var el = this.telInput;\n while (el && el.tagName !== \"LABEL\") {\n el = el.parentNode;\n }\n return el;\n }\n }, {\n key: \"_initDropdownListeners\",\n value: function _initDropdownListeners() {\n var _this4 = this;\n // hack for input nested inside label (which is valid markup): clicking the selected-flag to\n // open the dropdown would then automatically trigger a 2nd click on the input which would\n // close it again\n this._handleLabelClick = function(e) {\n // if the dropdown is closed, then focus the input, else ignore the click\n if (_this4.countryList.classList.contains(\"iti__hide\")) _this4.telInput.focus(); else e.preventDefault();\n };\n var label = this._getClosestLabel();\n if (label) label.addEventListener(\"click\", this._handleLabelClick);\n // toggle country dropdown on click\n this._handleClickSelectedFlag = function() {\n // only intercept this event if we're opening the dropdown\n // else let it bubble up to the top (\"click-off-to-close\" listener)\n // we cannot just stopPropagation as it may be needed to close another instance\n if (_this4.countryList.classList.contains(\"iti__hide\") && !_this4.telInput.disabled && !_this4.telInput.readOnly) {\n _this4._showDropdown();\n }\n };\n this.selectedFlag.addEventListener(\"click\", this._handleClickSelectedFlag);\n // open dropdown list if currently focused\n this._handleFlagsContainerKeydown = function(e) {\n var isDropdownHidden = _this4.countryList.classList.contains(\"iti__hide\");\n if (isDropdownHidden && [ \"ArrowUp\", \"Up\", \"ArrowDown\", \"Down\", \" \", \"Enter\" ].indexOf(e.key) !== -1) {\n // prevent form from being submitted if \"ENTER\" was pressed\n e.preventDefault();\n // prevent event from being handled again by document\n e.stopPropagation();\n _this4._showDropdown();\n }\n // allow navigation from dropdown to input on TAB\n if (e.key === \"Tab\") _this4._closeDropdown();\n };\n this.flagsContainer.addEventListener(\"keydown\", this._handleFlagsContainerKeydown);\n }\n }, {\n key: \"_initRequests\",\n value: function _initRequests() {\n var _this5 = this;\n // if the user has specified the path to the utils script, fetch it on window.load, else resolve\n if (this.options.utilsScript && !window.intlTelInputUtils) {\n // if the plugin is being initialised after the window.load event has already been fired\n if (window.intlTelInputGlobals.documentReady()) {\n window.intlTelInputGlobals.loadUtils(this.options.utilsScript);\n } else {\n // wait until the load event so we don't block any other requests e.g. the flags image\n window.addEventListener(\"load\", function() {\n window.intlTelInputGlobals.loadUtils(_this5.options.utilsScript);\n });\n }\n } else this.resolveUtilsScriptPromise();\n if (this.options.initialCountry === \"auto\") this._loadAutoCountry(); else this.resolveAutoCountryPromise();\n }\n }, {\n key: \"_loadAutoCountry\",\n value: function _loadAutoCountry() {\n // 3 options:\n // 1) already loaded (we're done)\n // 2) not already started loading (start)\n // 3) already started loading (do nothing - just wait for loading callback to fire)\n if (window.intlTelInputGlobals.autoCountry) {\n this.handleAutoCountry();\n } else if (!window.intlTelInputGlobals.startedLoadingAutoCountry) {\n // don't do this twice!\n window.intlTelInputGlobals.startedLoadingAutoCountry = true;\n if (typeof this.options.geoIpLookup === \"function\") {\n this.options.geoIpLookup(function(countryCode) {\n window.intlTelInputGlobals.autoCountry = countryCode.toLowerCase();\n // tell all instances the auto country is ready\n // TODO: this should just be the current instances\n // UPDATE: use setTimeout in case their geoIpLookup function calls this callback straight\n // away (e.g. if they have already done the geo ip lookup somewhere else). Using\n // setTimeout means that the current thread of execution will finish before executing\n // this, which allows the plugin to finish initialising.\n setTimeout(function() {\n return forEachInstance(\"handleAutoCountry\");\n });\n }, function() {\n return forEachInstance(\"rejectAutoCountryPromise\");\n });\n }\n }\n }\n }, {\n key: \"_initKeyListeners\",\n value: function _initKeyListeners() {\n var _this6 = this;\n // update flag on keyup\n this._handleKeyupEvent = function() {\n if (_this6._updateFlagFromNumber(_this6.telInput.value)) {\n _this6._triggerCountryChange();\n }\n };\n this.telInput.addEventListener(\"keyup\", this._handleKeyupEvent);\n // update flag on cut/paste events (now supported in all major browsers)\n this._handleClipboardEvent = function() {\n // hack because \"paste\" event is fired before input is updated\n setTimeout(_this6._handleKeyupEvent);\n };\n this.telInput.addEventListener(\"cut\", this._handleClipboardEvent);\n this.telInput.addEventListener(\"paste\", this._handleClipboardEvent);\n }\n }, {\n key: \"_cap\",\n value: function _cap(number) {\n var max = this.telInput.getAttribute(\"maxlength\");\n return max && number.length > max ? number.substr(0, max) : number;\n }\n }, {\n key: \"_initBlurListeners\",\n value: function _initBlurListeners() {\n var _this7 = this;\n // on blur or form submit: if just a dial code then remove it\n this._handleSubmitOrBlurEvent = function() {\n _this7._removeEmptyDialCode();\n };\n if (this.telInput.form) this.telInput.form.addEventListener(\"submit\", this._handleSubmitOrBlurEvent);\n this.telInput.addEventListener(\"blur\", this._handleSubmitOrBlurEvent);\n }\n }, {\n key: \"_removeEmptyDialCode\",\n value: function _removeEmptyDialCode() {\n if (this.telInput.value.charAt(0) === \"+\") {\n var numeric = this._getNumeric(this.telInput.value);\n // if just a plus, or if just a dial code\n if (!numeric || this.selectedCountryData.dialCode === numeric) {\n this.telInput.value = \"\";\n }\n }\n }\n }, {\n key: \"_getNumeric\",\n value: function _getNumeric(s) {\n return s.replace(/\\D/g, \"\");\n }\n }, {\n key: \"_trigger\",\n value: function _trigger(name) {\n // have to use old school document.createEvent as IE11 doesn't support `new Event()` syntax\n var e = document.createEvent(\"Event\");\n e.initEvent(name, true, true);\n // can bubble, and is cancellable\n this.telInput.dispatchEvent(e);\n }\n }, {\n key: \"_showDropdown\",\n value: function _showDropdown() {\n this.countryList.classList.remove(\"iti__hide\");\n this.selectedFlag.setAttribute(\"aria-expanded\", \"true\");\n this._setDropdownPosition();\n // update highlighting and scroll to active list item\n if (this.activeItem) {\n this._highlightListItem(this.activeItem, false);\n this._scrollTo(this.activeItem, true);\n }\n // bind all the dropdown-related listeners: mouseover, click, click-off, keydown\n this._bindDropdownListeners();\n // update the arrow\n this.dropdownArrow.classList.add(\"iti__arrow--up\");\n this._trigger(\"open:countrydropdown\");\n }\n }, {\n key: \"_toggleClass\",\n value: function _toggleClass(el, className, shouldHaveClass) {\n if (shouldHaveClass && !el.classList.contains(className)) el.classList.add(className); else if (!shouldHaveClass && el.classList.contains(className)) el.classList.remove(className);\n }\n }, {\n key: \"_setDropdownPosition\",\n value: function _setDropdownPosition() {\n var _this8 = this;\n if (this.options.dropdownContainer) {\n this.options.dropdownContainer.appendChild(this.dropdown);\n }\n if (!this.isMobile) {\n var pos = this.telInput.getBoundingClientRect();\n // windowTop from https://stackoverflow.com/a/14384091/217866\n var windowTop = window.pageYOffset || document.documentElement.scrollTop;\n var inputTop = pos.top + windowTop;\n var dropdownHeight = this.countryList.offsetHeight;\n // dropdownFitsBelow = (dropdownBottom < windowBottom)\n var dropdownFitsBelow = inputTop + this.telInput.offsetHeight + dropdownHeight < windowTop + window.innerHeight;\n var dropdownFitsAbove = inputTop - dropdownHeight > windowTop;\n // by default, the dropdown will be below the input. If we want to position it above the\n // input, we add the dropup class.\n this._toggleClass(this.countryList, \"iti__country-list--dropup\", !dropdownFitsBelow && dropdownFitsAbove);\n // if dropdownContainer is enabled, calculate postion\n if (this.options.dropdownContainer) {\n // by default the dropdown will be directly over the input because it's not in the flow.\n // If we want to position it below, we need to add some extra top value.\n var extraTop = !dropdownFitsBelow && dropdownFitsAbove ? 0 : this.telInput.offsetHeight;\n // calculate placement\n this.dropdown.style.top = \"\".concat(inputTop + extraTop, \"px\");\n this.dropdown.style.left = \"\".concat(pos.left + document.body.scrollLeft, \"px\");\n // close menu on window scroll\n this._handleWindowScroll = function() {\n return _this8._closeDropdown();\n };\n window.addEventListener(\"scroll\", this._handleWindowScroll);\n }\n }\n }\n }, {\n key: \"_getClosestListItem\",\n value: function _getClosestListItem(target) {\n var el = target;\n while (el && el !== this.countryList && !el.classList.contains(\"iti__country\")) {\n el = el.parentNode;\n }\n // if we reached the countryList element, then return null\n return el === this.countryList ? null : el;\n }\n }, {\n key: \"_bindDropdownListeners\",\n value: function _bindDropdownListeners() {\n var _this9 = this;\n // when mouse over a list item, just highlight that one\n // we add the class \"highlight\", so if they hit \"enter\" we know which one to select\n this._handleMouseoverCountryList = function(e) {\n // handle event delegation, as we're listening for this event on the countryList\n var listItem = _this9._getClosestListItem(e.target);\n if (listItem) _this9._highlightListItem(listItem, false);\n };\n this.countryList.addEventListener(\"mouseover\", this._handleMouseoverCountryList);\n // listen for country selection\n this._handleClickCountryList = function(e) {\n var listItem = _this9._getClosestListItem(e.target);\n if (listItem) _this9._selectListItem(listItem);\n };\n this.countryList.addEventListener(\"click\", this._handleClickCountryList);\n // click off to close\n // (except when this initial opening click is bubbling up)\n // we cannot just stopPropagation as it may be needed to close another instance\n var isOpening = true;\n this._handleClickOffToClose = function() {\n if (!isOpening) _this9._closeDropdown();\n isOpening = false;\n };\n document.documentElement.addEventListener(\"click\", this._handleClickOffToClose);\n // listen for up/down scrolling, enter to select, or letters to jump to country name.\n // use keydown as keypress doesn't fire for non-char keys and we want to catch if they\n // just hit down and hold it to scroll down (no keyup event).\n // listen on the document because that's where key events are triggered if no input has focus\n var query = \"\";\n var queryTimer = null;\n this._handleKeydownOnDropdown = function(e) {\n // prevent down key from scrolling the whole page,\n // and enter key from submitting a form etc\n e.preventDefault();\n // up and down to navigate\n if (e.key === \"ArrowUp\" || e.key === \"Up\" || e.key === \"ArrowDown\" || e.key === \"Down\") _this9._handleUpDownKey(e.key); else if (e.key === \"Enter\") _this9._handleEnterKey(); else if (e.key === \"Escape\") _this9._closeDropdown(); else if (/^[a-zA-ZÀ-ÿа-ÑÐ-Я ]$/.test(e.key)) {\n // jump to countries that start with the query string\n if (queryTimer) clearTimeout(queryTimer);\n query += e.key.toLowerCase();\n _this9._searchForCountry(query);\n // if the timer hits 1 second, reset the query\n queryTimer = setTimeout(function() {\n query = \"\";\n }, 1e3);\n }\n };\n document.addEventListener(\"keydown\", this._handleKeydownOnDropdown);\n }\n }, {\n key: \"_handleUpDownKey\",\n value: function _handleUpDownKey(key) {\n var next = key === \"ArrowUp\" || key === \"Up\" ? this.highlightedItem.previousElementSibling : this.highlightedItem.nextElementSibling;\n if (next) {\n // skip the divider\n if (next.classList.contains(\"iti__divider\")) {\n next = key === \"ArrowUp\" || key === \"Up\" ? next.previousElementSibling : next.nextElementSibling;\n }\n this._highlightListItem(next, true);\n }\n }\n }, {\n key: \"_handleEnterKey\",\n value: function _handleEnterKey() {\n if (this.highlightedItem) this._selectListItem(this.highlightedItem);\n }\n }, {\n key: \"_searchForCountry\",\n value: function _searchForCountry(query) {\n for (var i = 0; i < this.countries.length; i++) {\n if (this._startsWith(this.countries[i].name, query)) {\n var listItem = this.countryList.querySelector(\"#iti-\".concat(this.id, \"__item-\").concat(this.countries[i].iso2));\n // update highlighting and scroll\n this._highlightListItem(listItem, false);\n this._scrollTo(listItem, true);\n break;\n }\n }\n }\n }, {\n key: \"_startsWith\",\n value: function _startsWith(a, b) {\n return a.substr(0, b.length).toLowerCase() === b;\n }\n }, {\n key: \"_updateValFromNumber\",\n value: function _updateValFromNumber(originalNumber) {\n var number = originalNumber;\n if (this.options.formatOnDisplay && window.intlTelInputUtils && this.selectedCountryData) {\n var useNational = !this.options.separateDialCode && (this.options.nationalMode || number.charAt(0) !== \"+\");\n var _intlTelInputUtils$nu = intlTelInputUtils.numberFormat, NATIONAL = _intlTelInputUtils$nu.NATIONAL, INTERNATIONAL = _intlTelInputUtils$nu.INTERNATIONAL;\n var format = useNational ? NATIONAL : INTERNATIONAL;\n number = intlTelInputUtils.formatNumber(number, this.selectedCountryData.iso2, format);\n }\n number = this._beforeSetNumber(number);\n this.telInput.value = number;\n }\n }, {\n key: \"_updateFlagFromNumber\",\n value: function _updateFlagFromNumber(originalNumber) {\n // if we're in nationalMode and we already have US/Canada selected, make sure the number starts\n // with a +1 so _getDialCode will be able to extract the area code\n // update: if we dont yet have selectedCountryData, but we're here (trying to update the flag\n // from the number), that means we're initialising the plugin with a number that already has a\n // dial code, so fine to ignore this bit\n var number = originalNumber;\n var selectedDialCode = this.selectedCountryData.dialCode;\n var isNanp = selectedDialCode === \"1\";\n if (number && this.options.nationalMode && isNanp && number.charAt(0) !== \"+\") {\n if (number.charAt(0) !== \"1\") number = \"1\".concat(number);\n number = \"+\".concat(number);\n }\n // update flag if user types area code for another country\n if (this.options.separateDialCode && selectedDialCode && number.charAt(0) !== \"+\") {\n number = \"+\".concat(selectedDialCode).concat(number);\n }\n // try and extract valid dial code from input\n var dialCode = this._getDialCode(number, true);\n var numeric = this._getNumeric(number);\n var countryCode = null;\n if (dialCode) {\n var countryCodes = this.countryCodes[this._getNumeric(dialCode)];\n // check if the right country is already selected. this should be false if the number is\n // longer than the matched dial code because in this case we need to make sure that if\n // there are multiple country matches, that the first one is selected (note: we could\n // just check that here, but it requires the same loop that we already have later)\n var alreadySelected = countryCodes.indexOf(this.selectedCountryData.iso2) !== -1 && numeric.length <= dialCode.length - 1;\n var isRegionlessNanpNumber = selectedDialCode === \"1\" && this._isRegionlessNanp(numeric);\n // only update the flag if:\n // A) NOT (we currently have a NANP flag selected, and the number is a regionlessNanp)\n // AND\n // B) the right country is not already selected\n if (!isRegionlessNanpNumber && !alreadySelected) {\n // if using onlyCountries option, countryCodes[0] may be empty, so we must find the first\n // non-empty index\n for (var j = 0; j < countryCodes.length; j++) {\n if (countryCodes[j]) {\n countryCode = countryCodes[j];\n break;\n }\n }\n }\n } else if (number.charAt(0) === \"+\" && numeric.length) {\n // invalid dial code, so empty\n // Note: use getNumeric here because the number has not been formatted yet, so could contain\n // bad chars\n countryCode = \"\";\n } else if (!number || number === \"+\") {\n // empty, or just a plus, so default\n countryCode = this.defaultCountry;\n }\n if (countryCode !== null) {\n return this._setFlag(countryCode);\n }\n return false;\n }\n }, {\n key: \"_isRegionlessNanp\",\n value: function _isRegionlessNanp(number) {\n var numeric = this._getNumeric(number);\n if (numeric.charAt(0) === \"1\") {\n var areaCode = numeric.substr(1, 3);\n return regionlessNanpNumbers.indexOf(areaCode) !== -1;\n }\n return false;\n }\n }, {\n key: \"_highlightListItem\",\n value: function _highlightListItem(listItem, shouldFocus) {\n var prevItem = this.highlightedItem;\n if (prevItem) prevItem.classList.remove(\"iti__highlight\");\n this.highlightedItem = listItem;\n this.highlightedItem.classList.add(\"iti__highlight\");\n if (shouldFocus) this.highlightedItem.focus();\n }\n }, {\n key: \"_getCountryData\",\n value: function _getCountryData(countryCode, ignoreOnlyCountriesOption, allowFail) {\n var countryList = ignoreOnlyCountriesOption ? allCountries : this.countries;\n for (var i = 0; i < countryList.length; i++) {\n if (countryList[i].iso2 === countryCode) {\n return countryList[i];\n }\n }\n if (allowFail) {\n return null;\n }\n throw new Error(\"No country data for '\".concat(countryCode, \"'\"));\n }\n }, {\n key: \"_setFlag\",\n value: function _setFlag(countryCode) {\n var prevCountry = this.selectedCountryData.iso2 ? this.selectedCountryData : {};\n // do this first as it will throw an error and stop if countryCode is invalid\n this.selectedCountryData = countryCode ? this._getCountryData(countryCode, false, false) : {};\n // update the defaultCountry - we only need the iso2 from now on, so just store that\n if (this.selectedCountryData.iso2) {\n this.defaultCountry = this.selectedCountryData.iso2;\n }\n this.selectedFlagInner.setAttribute(\"class\", \"iti__flag iti__\".concat(countryCode));\n // update the selected country's title attribute\n var title = countryCode ? \"\".concat(this.selectedCountryData.name, \": +\").concat(this.selectedCountryData.dialCode) : \"Unknown\";\n this.selectedFlag.setAttribute(\"title\", title);\n if (this.options.separateDialCode) {\n var dialCode = this.selectedCountryData.dialCode ? \"+\".concat(this.selectedCountryData.dialCode) : \"\";\n this.selectedDialCode.innerHTML = dialCode;\n // offsetWidth is zero if input is in a hidden container during initialisation\n var selectedFlagWidth = this.selectedFlag.offsetWidth || this._getHiddenSelectedFlagWidth();\n // add 6px of padding after the grey selected-dial-code box, as this is what we use in the css\n this.telInput.style.paddingLeft = \"\".concat(selectedFlagWidth + 6, \"px\");\n }\n // and the input's placeholder\n this._updatePlaceholder();\n // update the active list item\n if (this.options.allowDropdown) {\n var prevItem = this.activeItem;\n if (prevItem) {\n prevItem.classList.remove(\"iti__active\");\n prevItem.setAttribute(\"aria-selected\", \"false\");\n }\n if (countryCode) {\n // check if there is a preferred item first, else fall back to standard\n var nextItem = this.countryList.querySelector(\"#iti-\".concat(this.id, \"__item-\").concat(countryCode, \"-preferred\")) || this.countryList.querySelector(\"#iti-\".concat(this.id, \"__item-\").concat(countryCode));\n nextItem.setAttribute(\"aria-selected\", \"true\");\n nextItem.classList.add(\"iti__active\");\n this.activeItem = nextItem;\n this.selectedFlag.setAttribute(\"aria-activedescendant\", nextItem.getAttribute(\"id\"));\n }\n }\n // return if the flag has changed or not\n return prevCountry.iso2 !== countryCode;\n }\n }, {\n key: \"_getHiddenSelectedFlagWidth\",\n value: function _getHiddenSelectedFlagWidth() {\n // to get the right styling to apply, all we need is a shallow clone of the container,\n // and then to inject a deep clone of the selectedFlag element\n var containerClone = this.telInput.parentNode.cloneNode();\n containerClone.style.visibility = \"hidden\";\n document.body.appendChild(containerClone);\n var flagsContainerClone = this.flagsContainer.cloneNode();\n containerClone.appendChild(flagsContainerClone);\n var selectedFlagClone = this.selectedFlag.cloneNode(true);\n flagsContainerClone.appendChild(selectedFlagClone);\n var width = selectedFlagClone.offsetWidth;\n containerClone.parentNode.removeChild(containerClone);\n return width;\n }\n }, {\n key: \"_updatePlaceholder\",\n value: function _updatePlaceholder() {\n var shouldSetPlaceholder = this.options.autoPlaceholder === \"aggressive\" || !this.hadInitialPlaceholder && this.options.autoPlaceholder === \"polite\";\n if (window.intlTelInputUtils && shouldSetPlaceholder) {\n var numberType = intlTelInputUtils.numberType[this.options.placeholderNumberType];\n var placeholder = this.selectedCountryData.iso2 ? intlTelInputUtils.getExampleNumber(this.selectedCountryData.iso2, this.options.nationalMode, numberType) : \"\";\n placeholder = this._beforeSetNumber(placeholder);\n if (typeof this.options.customPlaceholder === \"function\") {\n placeholder = this.options.customPlaceholder(placeholder, this.selectedCountryData);\n }\n this.telInput.setAttribute(\"placeholder\", placeholder);\n }\n }\n }, {\n key: \"_selectListItem\",\n value: function _selectListItem(listItem) {\n // update selected flag and active list item\n var flagChanged = this._setFlag(listItem.getAttribute(\"data-country-code\"));\n this._closeDropdown();\n this._updateDialCode(listItem.getAttribute(\"data-dial-code\"), true);\n // focus the input\n this.telInput.focus();\n // put cursor at end - this fix is required for FF and IE11 (with nationalMode=false i.e. auto\n // inserting dial code), who try to put the cursor at the beginning the first time\n var len = this.telInput.value.length;\n this.telInput.setSelectionRange(len, len);\n if (flagChanged) {\n this._triggerCountryChange();\n }\n }\n }, {\n key: \"_closeDropdown\",\n value: function _closeDropdown() {\n this.countryList.classList.add(\"iti__hide\");\n this.selectedFlag.setAttribute(\"aria-expanded\", \"false\");\n // update the arrow\n this.dropdownArrow.classList.remove(\"iti__arrow--up\");\n // unbind key events\n document.removeEventListener(\"keydown\", this._handleKeydownOnDropdown);\n document.documentElement.removeEventListener(\"click\", this._handleClickOffToClose);\n this.countryList.removeEventListener(\"mouseover\", this._handleMouseoverCountryList);\n this.countryList.removeEventListener(\"click\", this._handleClickCountryList);\n // remove menu from container\n if (this.options.dropdownContainer) {\n if (!this.isMobile) window.removeEventListener(\"scroll\", this._handleWindowScroll);\n if (this.dropdown.parentNode) this.dropdown.parentNode.removeChild(this.dropdown);\n }\n this._trigger(\"close:countrydropdown\");\n }\n }, {\n key: \"_scrollTo\",\n value: function _scrollTo(element, middle) {\n var container = this.countryList;\n // windowTop from https://stackoverflow.com/a/14384091/217866\n var windowTop = window.pageYOffset || document.documentElement.scrollTop;\n var containerHeight = container.offsetHeight;\n var containerTop = container.getBoundingClientRect().top + windowTop;\n var containerBottom = containerTop + containerHeight;\n var elementHeight = element.offsetHeight;\n var elementTop = element.getBoundingClientRect().top + windowTop;\n var elementBottom = elementTop + elementHeight;\n var newScrollTop = elementTop - containerTop + container.scrollTop;\n var middleOffset = containerHeight / 2 - elementHeight / 2;\n if (elementTop < containerTop) {\n // scroll up\n if (middle) newScrollTop -= middleOffset;\n container.scrollTop = newScrollTop;\n } else if (elementBottom > containerBottom) {\n // scroll down\n if (middle) newScrollTop += middleOffset;\n var heightDifference = containerHeight - elementHeight;\n container.scrollTop = newScrollTop - heightDifference;\n }\n }\n }, {\n key: \"_updateDialCode\",\n value: function _updateDialCode(newDialCodeBare, hasSelectedListItem) {\n var inputVal = this.telInput.value;\n // save having to pass this every time\n var newDialCode = \"+\".concat(newDialCodeBare);\n var newNumber;\n if (inputVal.charAt(0) === \"+\") {\n // there's a plus so we're dealing with a replacement (doesn't matter if nationalMode or not)\n var prevDialCode = this._getDialCode(inputVal);\n if (prevDialCode) {\n // current number contains a valid dial code, so replace it\n newNumber = inputVal.replace(prevDialCode, newDialCode);\n } else {\n // current number contains an invalid dial code, so ditch it\n // (no way to determine where the invalid dial code ends and the rest of the number begins)\n newNumber = newDialCode;\n }\n } else if (this.options.nationalMode || this.options.separateDialCode) {\n // don't do anything\n return;\n } else {\n // nationalMode is disabled\n if (inputVal) {\n // there is an existing value with no dial code: prefix the new dial code\n newNumber = newDialCode + inputVal;\n } else if (hasSelectedListItem || !this.options.autoHideDialCode) {\n // no existing value and either they've just selected a list item, or autoHideDialCode is\n // disabled: insert new dial code\n newNumber = newDialCode;\n } else {\n return;\n }\n }\n this.telInput.value = newNumber;\n }\n }, {\n key: \"_getDialCode\",\n value: function _getDialCode(number, includeAreaCode) {\n var dialCode = \"\";\n // only interested in international numbers (starting with a plus)\n if (number.charAt(0) === \"+\") {\n var numericChars = \"\";\n // iterate over chars\n for (var i = 0; i < number.length; i++) {\n var c = number.charAt(i);\n // if char is number (https://stackoverflow.com/a/8935649/217866)\n if (!isNaN(parseInt(c, 10))) {\n numericChars += c;\n // if current numericChars make a valid dial code\n if (includeAreaCode) {\n if (this.countryCodes[numericChars]) {\n // store the actual raw string (useful for matching later)\n dialCode = number.substr(0, i + 1);\n }\n } else {\n if (this.dialCodes[numericChars]) {\n dialCode = number.substr(0, i + 1);\n // if we're just looking for a dial code, we can break as soon as we find one\n break;\n }\n }\n // stop searching as soon as we can - in this case when we hit max len\n if (numericChars.length === this.countryCodeMaxLen) {\n break;\n }\n }\n }\n }\n return dialCode;\n }\n }, {\n key: \"_getFullNumber\",\n value: function _getFullNumber() {\n var val = this.telInput.value.trim();\n var dialCode = this.selectedCountryData.dialCode;\n var prefix;\n var numericVal = this._getNumeric(val);\n if (this.options.separateDialCode && val.charAt(0) !== \"+\" && dialCode && numericVal) {\n // when using separateDialCode, it is visible so is effectively part of the typed number\n prefix = \"+\".concat(dialCode);\n } else {\n prefix = \"\";\n }\n return prefix + val;\n }\n }, {\n key: \"_beforeSetNumber\",\n value: function _beforeSetNumber(originalNumber) {\n var number = originalNumber;\n if (this.options.separateDialCode) {\n var dialCode = this._getDialCode(number);\n // if there is a valid dial code\n if (dialCode) {\n // in case _getDialCode returned an area code as well\n dialCode = \"+\".concat(this.selectedCountryData.dialCode);\n // a lot of numbers will have a space separating the dial code and the main number, and\n // some NANP numbers will have a hyphen e.g. +1 684-733-1234 - in both cases we want to get\n // rid of it\n // NOTE: don't just trim all non-numerics as may want to preserve an open parenthesis etc\n var start = number[dialCode.length] === \" \" || number[dialCode.length] === \"-\" ? dialCode.length + 1 : dialCode.length;\n number = number.substr(start);\n }\n }\n return this._cap(number);\n }\n }, {\n key: \"_triggerCountryChange\",\n value: function _triggerCountryChange() {\n this._trigger(\"countrychange\");\n }\n }, {\n key: \"handleAutoCountry\",\n value: function handleAutoCountry() {\n if (this.options.initialCountry === \"auto\") {\n // we must set this even if there is an initial val in the input: in case the initial val is\n // invalid and they delete it - they should see their auto country\n this.defaultCountry = window.intlTelInputGlobals.autoCountry;\n // if there's no initial value in the input, then update the flag\n if (!this.telInput.value) {\n this.setCountry(this.defaultCountry);\n }\n this.resolveAutoCountryPromise();\n }\n }\n }, {\n key: \"handleUtils\",\n value: function handleUtils() {\n // if the request was successful\n if (window.intlTelInputUtils) {\n // if there's an initial value in the input, then format it\n if (this.telInput.value) {\n this._updateValFromNumber(this.telInput.value);\n }\n this._updatePlaceholder();\n }\n this.resolveUtilsScriptPromise();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var form = this.telInput.form;\n if (this.options.allowDropdown) {\n // make sure the dropdown is closed (and unbind listeners)\n this._closeDropdown();\n this.selectedFlag.removeEventListener(\"click\", this._handleClickSelectedFlag);\n this.flagsContainer.removeEventListener(\"keydown\", this._handleFlagsContainerKeydown);\n // label click hack\n var label = this._getClosestLabel();\n if (label) label.removeEventListener(\"click\", this._handleLabelClick);\n }\n // unbind hiddenInput listeners\n if (this.hiddenInput && form) form.removeEventListener(\"submit\", this._handleHiddenInputSubmit);\n // unbind autoHideDialCode listeners\n if (this.options.autoHideDialCode) {\n if (form) form.removeEventListener(\"submit\", this._handleSubmitOrBlurEvent);\n this.telInput.removeEventListener(\"blur\", this._handleSubmitOrBlurEvent);\n }\n // unbind key events, and cut/paste events\n this.telInput.removeEventListener(\"keyup\", this._handleKeyupEvent);\n this.telInput.removeEventListener(\"cut\", this._handleClipboardEvent);\n this.telInput.removeEventListener(\"paste\", this._handleClipboardEvent);\n // remove attribute of id instance: data-intl-tel-input-id\n this.telInput.removeAttribute(\"data-intl-tel-input-id\");\n // remove markup (but leave the original input)\n var wrapper = this.telInput.parentNode;\n wrapper.parentNode.insertBefore(this.telInput, wrapper);\n wrapper.parentNode.removeChild(wrapper);\n delete window.intlTelInputGlobals.instances[this.id];\n }\n }, {\n key: \"getExtension\",\n value: function getExtension() {\n if (window.intlTelInputUtils) {\n return intlTelInputUtils.getExtension(this._getFullNumber(), this.selectedCountryData.iso2);\n }\n return \"\";\n }\n }, {\n key: \"getNumber\",\n value: function getNumber(format) {\n if (window.intlTelInputUtils) {\n var iso2 = this.selectedCountryData.iso2;\n return intlTelInputUtils.formatNumber(this._getFullNumber(), iso2, format);\n }\n return \"\";\n }\n }, {\n key: \"getNumberType\",\n value: function getNumberType() {\n if (window.intlTelInputUtils) {\n return intlTelInputUtils.getNumberType(this._getFullNumber(), this.selectedCountryData.iso2);\n }\n return -99;\n }\n }, {\n key: \"getSelectedCountryData\",\n value: function getSelectedCountryData() {\n return this.selectedCountryData;\n }\n }, {\n key: \"getValidationError\",\n value: function getValidationError() {\n if (window.intlTelInputUtils) {\n var iso2 = this.selectedCountryData.iso2;\n return intlTelInputUtils.getValidationError(this._getFullNumber(), iso2);\n }\n return -99;\n }\n }, {\n key: \"isValidNumber\",\n value: function isValidNumber() {\n var val = this._getFullNumber().trim();\n var countryCode = this.options.nationalMode ? this.selectedCountryData.iso2 : \"\";\n return window.intlTelInputUtils ? intlTelInputUtils.isValidNumber(val, countryCode) : null;\n }\n }, {\n key: \"setCountry\",\n value: function setCountry(originalCountryCode) {\n var countryCode = originalCountryCode.toLowerCase();\n // check if already selected\n if (!this.selectedFlagInner.classList.contains(\"iti__\".concat(countryCode))) {\n this._setFlag(countryCode);\n this._updateDialCode(this.selectedCountryData.dialCode, false);\n this._triggerCountryChange();\n }\n }\n }, {\n key: \"setNumber\",\n value: function setNumber(number) {\n // we must update the flag first, which updates this.selectedCountryData, which is used for\n // formatting the number before displaying it\n var flagChanged = this._updateFlagFromNumber(number);\n this._updateValFromNumber(number);\n if (flagChanged) {\n this._triggerCountryChange();\n }\n }\n }, {\n key: \"setPlaceholderNumberType\",\n value: function setPlaceholderNumberType(type) {\n this.options.placeholderNumberType = type;\n this._updatePlaceholder();\n }\n } ]);\n return Iti;\n }();\n /********************\n * STATIC METHODS\n ********************/\n // get the country data object\n intlTelInputGlobals.getCountryData = function() {\n return allCountries;\n };\n // inject a <script> element to load utils.js\n var injectScript = function injectScript(path, handleSuccess, handleFailure) {\n // inject a new script element into the page\n var script = document.createElement(\"script\");\n script.onload = function() {\n forEachInstance(\"handleUtils\");\n if (handleSuccess) handleSuccess();\n };\n script.onerror = function() {\n forEachInstance(\"rejectUtilsScriptPromise\");\n if (handleFailure) handleFailure();\n };\n script.className = \"iti-load-utils\";\n script.async = true;\n script.src = path;\n document.body.appendChild(script);\n };\n // load the utils script\n intlTelInputGlobals.loadUtils = function(path) {\n // 2 options:\n // 1) not already started loading (start)\n // 2) already started loading (do nothing - just wait for the onload callback to fire, which will\n // trigger handleUtils on all instances, invoking their resolveUtilsScriptPromise functions)\n if (!window.intlTelInputUtils && !window.intlTelInputGlobals.startedLoadingUtilsScript) {\n // only do this once\n window.intlTelInputGlobals.startedLoadingUtilsScript = true;\n // if we have promises, then return a promise\n if (typeof Promise !== \"undefined\") {\n return new Promise(function(resolve, reject) {\n return injectScript(path, resolve, reject);\n });\n }\n injectScript(path);\n }\n return null;\n };\n // default options\n intlTelInputGlobals.defaults = defaults;\n // version\n intlTelInputGlobals.version = \"17.0.15\";\n // convenience wrapper\n return function(input, options) {\n var iti = new Iti(input, options);\n iti._init();\n input.setAttribute(\"data-intl-tel-input-id\", iti.id);\n window.intlTelInputGlobals.instances[iti.id] = iti;\n return iti;\n };\n }();\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/intl-tel-input/build/js/intlTelInput.js\n// module id = 95\n// module chunks = 16","/**\n* Tom Select v2.0.0\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n*/\n\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.TomSelect = factory());\n}(this, (function () { 'use strict';\n\n\t/**\n\t * MicroEvent - to make any js object an event emitter\n\t *\n\t * - pure javascript - server compatible, browser compatible\n\t * - dont rely on the browser doms\n\t * - super simple - you get it immediatly, no mistery, no magic involved\n\t *\n\t * @author Jerome Etienne (https://github.com/jeromeetienne)\n\t */\n\n\t/**\n\t * Execute callback for each event in space separated list of event names\n\t *\n\t */\n\tfunction forEvents(events, callback) {\n\t events.split(/\\s+/).forEach(event => {\n\t callback(event);\n\t });\n\t}\n\n\tclass MicroEvent {\n\t constructor() {\n\t this._events = {};\n\t }\n\n\t on(events, fct) {\n\t forEvents(events, event => {\n\t this._events[event] = this._events[event] || [];\n\n\t this._events[event].push(fct);\n\t });\n\t }\n\n\t off(events, fct) {\n\t var n = arguments.length;\n\n\t if (n === 0) {\n\t this._events = {};\n\t return;\n\t }\n\n\t forEvents(events, event => {\n\t if (n === 1) return delete this._events[event];\n\t if (event in this._events === false) return;\n\n\t this._events[event].splice(this._events[event].indexOf(fct), 1);\n\t });\n\t }\n\n\t trigger(events, ...args) {\n\t var self = this;\n\t forEvents(events, event => {\n\t if (event in self._events === false) return;\n\n\t for (let fct of self._events[event]) {\n\t fct.apply(self, args);\n\t }\n\t });\n\t }\n\n\t}\n\n\t/**\n\t * microplugin.js\n\t * Copyright (c) 2013 Brian Reavis & contributors\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this\n\t * file except in compliance with the License. You may obtain a copy of the License at:\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software distributed under\n\t * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF\n\t * ANY KIND, either express or implied. See the License for the specific language\n\t * governing permissions and limitations under the License.\n\t *\n\t * @author Brian Reavis <brian@thirdroute.com>\n\t */\n\tfunction MicroPlugin(Interface) {\n\t Interface.plugins = {};\n\t return class extends Interface {\n\t constructor(...args) {\n\t super(...args);\n\t this.plugins = {\n\t names: [],\n\t settings: {},\n\t requested: {},\n\t loaded: {}\n\t };\n\t }\n\n\t /**\n\t * Registers a plugin.\n\t *\n\t * @param {function} fn\n\t */\n\t static define(name, fn) {\n\t Interface.plugins[name] = {\n\t 'name': name,\n\t 'fn': fn\n\t };\n\t }\n\t /**\n\t * Initializes the listed plugins (with options).\n\t * Acceptable formats:\n\t *\n\t * List (without options):\n\t * ['a', 'b', 'c']\n\t *\n\t * List (with options):\n\t * [{'name': 'a', options: {}}, {'name': 'b', options: {}}]\n\t *\n\t * Hash (with options):\n\t * {'a': { ... }, 'b': { ... }, 'c': { ... }}\n\t *\n\t * @param {array|object} plugins\n\t */\n\n\n\t initializePlugins(plugins) {\n\t var key, name;\n\t const self = this;\n\t const queue = [];\n\n\t if (Array.isArray(plugins)) {\n\t plugins.forEach(plugin => {\n\t if (typeof plugin === 'string') {\n\t queue.push(plugin);\n\t } else {\n\t self.plugins.settings[plugin.name] = plugin.options;\n\t queue.push(plugin.name);\n\t }\n\t });\n\t } else if (plugins) {\n\t for (key in plugins) {\n\t if (plugins.hasOwnProperty(key)) {\n\t self.plugins.settings[key] = plugins[key];\n\t queue.push(key);\n\t }\n\t }\n\t }\n\n\t while (name = queue.shift()) {\n\t self.require(name);\n\t }\n\t }\n\n\t loadPlugin(name) {\n\t var self = this;\n\t var plugins = self.plugins;\n\t var plugin = Interface.plugins[name];\n\n\t if (!Interface.plugins.hasOwnProperty(name)) {\n\t throw new Error('Unable to find \"' + name + '\" plugin');\n\t }\n\n\t plugins.requested[name] = true;\n\t plugins.loaded[name] = plugin.fn.apply(self, [self.plugins.settings[name] || {}]);\n\t plugins.names.push(name);\n\t }\n\t /**\n\t * Initializes a plugin.\n\t *\n\t */\n\n\n\t require(name) {\n\t var self = this;\n\t var plugins = self.plugins;\n\n\t if (!self.plugins.loaded.hasOwnProperty(name)) {\n\t if (plugins.requested[name]) {\n\t throw new Error('Plugin has circular dependency (\"' + name + '\")');\n\t }\n\n\t self.loadPlugin(name);\n\t }\n\n\t return plugins.loaded[name];\n\t }\n\n\t };\n\t}\n\n\t// https://github.com/andrewrk/node-diacritics/blob/master/index.js\n\tvar latin_pat;\n\tconst accent_pat = '[\\u0300-\\u036F\\u{b7}\\u{2be}]'; // \\u{2bc}\n\n\tconst accent_reg = new RegExp(accent_pat, 'g');\n\tvar diacritic_patterns;\n\tconst latin_convert = {\n\t 'æ': 'ae',\n\t 'â±¥': 'a',\n\t 'ø': 'o'\n\t};\n\tconst convert_pat = new RegExp(Object.keys(latin_convert).join('|'), 'g');\n\t/**\n\t * code points generated from toCodePoints();\n\t * removed 65339 to 65345\n\t */\n\n\tconst code_points = [[67, 67], [160, 160], [192, 438], [452, 652], [961, 961], [1019, 1019], [1083, 1083], [1281, 1289], [1984, 1984], [5095, 5095], [7429, 7441], [7545, 7549], [7680, 7935], [8580, 8580], [9398, 9449], [11360, 11391], [42792, 42793], [42802, 42851], [42873, 42897], [42912, 42922], [64256, 64260], [65313, 65338], [65345, 65370]];\n\t/**\n\t * Remove accents\n\t * via https://github.com/krisk/Fuse/issues/133#issuecomment-318692703\n\t *\n\t */\n\n\tconst asciifold = str => {\n\t return str.normalize('NFKD').replace(accent_reg, '').toLowerCase().replace(convert_pat, function (foreignletter) {\n\t return latin_convert[foreignletter];\n\t });\n\t};\n\t/**\n\t * Convert array of strings to a regular expression\n\t *\tex ['ab','a'] => (?:ab|a)\n\t * \tex ['a','b'] => [ab]\n\t *\n\t */\n\n\n\tconst arrayToPattern = (chars, glue = '|') => {\n\t if (chars.length == 1) {\n\t return chars[0];\n\t }\n\n\t var longest = 1;\n\t chars.forEach(a => {\n\t longest = Math.max(longest, a.length);\n\t });\n\n\t if (longest == 1) {\n\t return '[' + chars.join('') + ']';\n\t }\n\n\t return '(?:' + chars.join(glue) + ')';\n\t};\n\t/**\n\t * Get all possible combinations of substrings that add up to the given string\n\t * https://stackoverflow.com/questions/30169587/find-all-the-combination-of-substrings-that-add-up-to-the-given-string\n\t *\n\t */\n\n\tconst allSubstrings = input => {\n\t if (input.length === 1) return [[input]];\n\t var result = [];\n\t allSubstrings(input.substring(1)).forEach(function (subresult) {\n\t var tmp = subresult.slice(0);\n\t tmp[0] = input.charAt(0) + tmp[0];\n\t result.push(tmp);\n\t tmp = subresult.slice(0);\n\t tmp.unshift(input.charAt(0));\n\t result.push(tmp);\n\t });\n\t return result;\n\t};\n\t/**\n\t * Generate a list of diacritics from the list of code points\n\t *\n\t */\n\n\tconst generateDiacritics = () => {\n\t var diacritics = {};\n\t code_points.forEach(code_range => {\n\t for (let i = code_range[0]; i <= code_range[1]; i++) {\n\t let diacritic = String.fromCharCode(i);\n\t let latin = asciifold(diacritic);\n\n\t if (latin == diacritic.toLowerCase()) {\n\t continue;\n\t }\n\n\t if (!(latin in diacritics)) {\n\t diacritics[latin] = [latin];\n\t }\n\n\t var patt = new RegExp(arrayToPattern(diacritics[latin]), 'iu');\n\n\t if (diacritic.match(patt)) {\n\t continue;\n\t }\n\n\t diacritics[latin].push(diacritic);\n\t }\n\t });\n\t var latin_chars = Object.keys(diacritics); // latin character pattern\n\t // match longer substrings first\n\n\t latin_chars = latin_chars.sort((a, b) => b.length - a.length);\n\t latin_pat = new RegExp('(' + arrayToPattern(latin_chars) + accent_pat + '*)', 'g'); // build diacritic patterns\n\t // ae needs: \n\t //\t(?:(?:ae|Æ|Ǽ|Ç¢)|(?:A|â’¶|A...)(?:E|É›|â’º...))\n\n\t var diacritic_patterns = {};\n\t latin_chars.sort((a, b) => a.length - b.length).forEach(latin => {\n\t var substrings = allSubstrings(latin);\n\t var pattern = substrings.map(sub_pat => {\n\t sub_pat = sub_pat.map(l => {\n\t if (diacritics.hasOwnProperty(l)) {\n\t return arrayToPattern(diacritics[l]);\n\t }\n\n\t return l;\n\t });\n\t return arrayToPattern(sub_pat, '');\n\t });\n\t diacritic_patterns[latin] = arrayToPattern(pattern);\n\t });\n\t return diacritic_patterns;\n\t};\n\t/**\n\t * Expand a regular expression pattern to include diacritics\n\t * \teg /a/ becomes /aâ“ï½áºšÃ áâầấẫẩãÄăằắẵẳȧǡäǟảåǻǎÈȃạáºáº·á¸Ä…â±¥ÉÉ‘AⒶAÀÃÃ‚áº¦áº¤áºªáº¨ÃƒÄ€Ä‚áº°áº®áº´áº²È¦Ç Ã„Çžáº¢Ã…ÇºÇȀȂẠẬẶḀĄȺⱯ/\n\t *\n\t */\n\n\tconst diacriticRegexPoints = regex => {\n\t if (diacritic_patterns === undefined) {\n\t diacritic_patterns = generateDiacritics();\n\t }\n\n\t const decomposed = regex.normalize('NFKD').toLowerCase();\n\t return decomposed.split(latin_pat).map(part => {\n\t if (part == '') {\n\t return '';\n\t } // \"ffl\" or \"ffl\"\n\n\n\t const no_accent = asciifold(part);\n\n\t if (diacritic_patterns.hasOwnProperty(no_accent)) {\n\t return diacritic_patterns[no_accent];\n\t } // 'أهلا' (\\u{623}\\u{647}\\u{644}\\u{627}) or 'أهلا' (\\u{627}\\u{654}\\u{647}\\u{644}\\u{627})\n\n\n\t const composed_part = part.normalize('NFC');\n\n\t if (composed_part != part) {\n\t return arrayToPattern([part, composed_part]);\n\t }\n\n\t return part;\n\t }).join('');\n\t};\n\n\t// @ts-ignore TS2691 \"An import path cannot end with a '.ts' extension\"\n\n\t/**\n\t * A property getter resolving dot-notation\n\t * @param {Object} obj The root object to fetch property on\n\t * @param {String} name The optionally dotted property name to fetch\n\t * @return {Object} The resolved property value\n\t */\n\tconst getAttr = (obj, name) => {\n\t if (!obj) return;\n\t return obj[name];\n\t};\n\t/**\n\t * A property getter resolving dot-notation\n\t * @param {Object} obj The root object to fetch property on\n\t * @param {String} name The optionally dotted property name to fetch\n\t * @return {Object} The resolved property value\n\t */\n\n\tconst getAttrNesting = (obj, name) => {\n\t if (!obj) return;\n\t var part,\n\t names = name.split(\".\");\n\n\t while ((part = names.shift()) && (obj = obj[part]));\n\n\t return obj;\n\t};\n\t/**\n\t * Calculates how close of a match the\n\t * given value is against a search token.\n\t *\n\t */\n\n\tconst scoreValue = (value, token, weight) => {\n\t var score, pos;\n\t if (!value) return 0;\n\t value = value + '';\n\t pos = value.search(token.regex);\n\t if (pos === -1) return 0;\n\t score = token.string.length / value.length;\n\t if (pos === 0) score += 0.5;\n\t return score * weight;\n\t};\n\t/**\n\t *\n\t * https://stackoverflow.com/questions/63006601/why-does-u-throw-an-invalid-escape-error\n\t */\n\n\tconst escape_regex = str => {\n\t return (str + '').replace(/([\\$\\(-\\+\\.\\?\\[-\\^\\{-\\}])/g, '\\\\$1');\n\t};\n\t/**\n\t * Cast object property to an array if it exists and has a value\n\t *\n\t */\n\n\tconst propToArray = (obj, key) => {\n\t var value = obj[key];\n\t if (typeof value == 'function') return value;\n\n\t if (value && !Array.isArray(value)) {\n\t obj[key] = [value];\n\t }\n\t};\n\t/**\n\t * Iterates over arrays and hashes.\n\t *\n\t * ```\n\t * iterate(this.items, function(item, id) {\n\t * // invoked for each item\n\t * });\n\t * ```\n\t *\n\t */\n\n\tconst iterate = (object, callback) => {\n\t if (Array.isArray(object)) {\n\t object.forEach(callback);\n\t } else {\n\t for (var key in object) {\n\t if (object.hasOwnProperty(key)) {\n\t callback(object[key], key);\n\t }\n\t }\n\t }\n\t};\n\tconst cmp = (a, b) => {\n\t if (typeof a === 'number' && typeof b === 'number') {\n\t return a > b ? 1 : a < b ? -1 : 0;\n\t }\n\n\t a = asciifold(a + '').toLowerCase();\n\t b = asciifold(b + '').toLowerCase();\n\t if (a > b) return 1;\n\t if (b > a) return -1;\n\t return 0;\n\t};\n\n\t/**\n\t * sifter.js\n\t * Copyright (c) 2013–2020 Brian Reavis & contributors\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this\n\t * file except in compliance with the License. You may obtain a copy of the License at:\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software distributed under\n\t * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF\n\t * ANY KIND, either express or implied. See the License for the specific language\n\t * governing permissions and limitations under the License.\n\t *\n\t * @author Brian Reavis <brian@thirdroute.com>\n\t */\n\n\tclass Sifter {\n\t // []|{};\n\n\t /**\n\t * Textually searches arrays and hashes of objects\n\t * by property (or multiple properties). Designed\n\t * specifically for autocomplete.\n\t *\n\t */\n\t constructor(items, settings) {\n\t this.items = items;\n\t this.settings = settings || {\n\t diacritics: true\n\t };\n\t }\n\n\t /**\n\t * Splits a search string into an array of individual\n\t * regexps to be used to match results.\n\t *\n\t */\n\t tokenize(query, respect_word_boundaries, weights) {\n\t if (!query || !query.length) return [];\n\t const tokens = [];\n\t const words = query.split(/\\s+/);\n\t var field_regex;\n\n\t if (weights) {\n\t field_regex = new RegExp('^(' + Object.keys(weights).map(escape_regex).join('|') + ')\\:(.*)$');\n\t }\n\n\t words.forEach(word => {\n\t let field_match;\n\t let field = null;\n\t let regex = null; // look for \"field:query\" tokens\n\n\t if (field_regex && (field_match = word.match(field_regex))) {\n\t field = field_match[1];\n\t word = field_match[2];\n\t }\n\n\t if (word.length > 0) {\n\t regex = escape_regex(word);\n\n\t if (this.settings.diacritics) {\n\t regex = diacriticRegexPoints(regex);\n\t }\n\n\t if (respect_word_boundaries) regex = \"\\\\b\" + regex;\n\t }\n\n\t tokens.push({\n\t string: word,\n\t regex: regex ? new RegExp(regex, 'iu') : null,\n\t field: field\n\t });\n\t });\n\t return tokens;\n\t }\n\n\t /**\n\t * Returns a function to be used to score individual results.\n\t *\n\t * Good matches will have a higher score than poor matches.\n\t * If an item is not a match, 0 will be returned by the function.\n\t *\n\t * @returns {function}\n\t */\n\t getScoreFunction(query, options) {\n\t var search = this.prepareSearch(query, options);\n\t return this._getScoreFunction(search);\n\t }\n\n\t _getScoreFunction(search) {\n\t const tokens = search.tokens,\n\t token_count = tokens.length;\n\n\t if (!token_count) {\n\t return function () {\n\t return 0;\n\t };\n\t }\n\n\t const fields = search.options.fields,\n\t weights = search.weights,\n\t field_count = fields.length,\n\t getAttrFn = search.getAttrFn;\n\n\t if (!field_count) {\n\t return function () {\n\t return 1;\n\t };\n\t }\n\t /**\n\t * Calculates the score of an object\n\t * against the search query.\n\t *\n\t */\n\n\n\t const scoreObject = function () {\n\t if (field_count === 1) {\n\t return function (token, data) {\n\t const field = fields[0].field;\n\t return scoreValue(getAttrFn(data, field), token, weights[field]);\n\t };\n\t }\n\n\t return function (token, data) {\n\t var sum = 0; // is the token specific to a field?\n\n\t if (token.field) {\n\t const value = getAttrFn(data, token.field);\n\n\t if (!token.regex && value) {\n\t sum += 1 / field_count;\n\t } else {\n\t sum += scoreValue(value, token, 1);\n\t }\n\t } else {\n\t iterate(weights, (weight, field) => {\n\t sum += scoreValue(getAttrFn(data, field), token, weight);\n\t });\n\t }\n\n\t return sum / field_count;\n\t };\n\t }();\n\n\t if (token_count === 1) {\n\t return function (data) {\n\t return scoreObject(tokens[0], data);\n\t };\n\t }\n\n\t if (search.options.conjunction === 'and') {\n\t return function (data) {\n\t var i = 0,\n\t score,\n\t sum = 0;\n\n\t for (; i < token_count; i++) {\n\t score = scoreObject(tokens[i], data);\n\t if (score <= 0) return 0;\n\t sum += score;\n\t }\n\n\t return sum / token_count;\n\t };\n\t } else {\n\t return function (data) {\n\t var sum = 0;\n\t iterate(tokens, token => {\n\t sum += scoreObject(token, data);\n\t });\n\t return sum / token_count;\n\t };\n\t }\n\t }\n\n\t /**\n\t * Returns a function that can be used to compare two\n\t * results, for sorting purposes. If no sorting should\n\t * be performed, `null` will be returned.\n\t *\n\t * @return function(a,b)\n\t */\n\t getSortFunction(query, options) {\n\t var search = this.prepareSearch(query, options);\n\t return this._getSortFunction(search);\n\t }\n\n\t _getSortFunction(search) {\n\t var i, n, implicit_score;\n\t const self = this,\n\t options = search.options,\n\t sort = !search.query && options.sort_empty ? options.sort_empty : options.sort,\n\t sort_flds = [],\n\t multipliers = [];\n\n\t if (typeof sort == 'function') {\n\t return sort.bind(this);\n\t }\n\t /**\n\t * Fetches the specified sort field value\n\t * from a search result item.\n\t *\n\t */\n\n\n\t const get_field = function get_field(name, result) {\n\t if (name === '$score') return result.score;\n\t return search.getAttrFn(self.items[result.id], name);\n\t }; // parse options\n\n\n\t if (sort) {\n\t for (i = 0, n = sort.length; i < n; i++) {\n\t if (search.query || sort[i].field !== '$score') {\n\t sort_flds.push(sort[i]);\n\t }\n\t }\n\t } // the \"$score\" field is implied to be the primary\n\t // sort field, unless it's manually specified\n\n\n\t if (search.query) {\n\t implicit_score = true;\n\n\t for (i = 0, n = sort_flds.length; i < n; i++) {\n\t if (sort_flds[i].field === '$score') {\n\t implicit_score = false;\n\t break;\n\t }\n\t }\n\n\t if (implicit_score) {\n\t sort_flds.unshift({\n\t field: '$score',\n\t direction: 'desc'\n\t });\n\t }\n\t } else {\n\t for (i = 0, n = sort_flds.length; i < n; i++) {\n\t if (sort_flds[i].field === '$score') {\n\t sort_flds.splice(i, 1);\n\t break;\n\t }\n\t }\n\t }\n\n\t for (i = 0, n = sort_flds.length; i < n; i++) {\n\t multipliers.push(sort_flds[i].direction === 'desc' ? -1 : 1);\n\t } // build function\n\n\n\t const sort_flds_count = sort_flds.length;\n\n\t if (!sort_flds_count) {\n\t return null;\n\t } else if (sort_flds_count === 1) {\n\t const sort_fld = sort_flds[0].field;\n\t const multiplier = multipliers[0];\n\t return function (a, b) {\n\t return multiplier * cmp(get_field(sort_fld, a), get_field(sort_fld, b));\n\t };\n\t } else {\n\t return function (a, b) {\n\t var i, result, field;\n\n\t for (i = 0; i < sort_flds_count; i++) {\n\t field = sort_flds[i].field;\n\t result = multipliers[i] * cmp(get_field(field, a), get_field(field, b));\n\t if (result) return result;\n\t }\n\n\t return 0;\n\t };\n\t }\n\t }\n\n\t /**\n\t * Parses a search query and returns an object\n\t * with tokens and fields ready to be populated\n\t * with results.\n\t *\n\t */\n\t prepareSearch(query, optsUser) {\n\t const weights = {};\n\t var options = Object.assign({}, optsUser);\n\t propToArray(options, 'sort');\n\t propToArray(options, 'sort_empty'); // convert fields to new format\n\n\t if (options.fields) {\n\t propToArray(options, 'fields');\n\t const fields = [];\n\t options.fields.forEach(field => {\n\t if (typeof field == 'string') {\n\t field = {\n\t field: field,\n\t weight: 1\n\t };\n\t }\n\n\t fields.push(field);\n\t weights[field.field] = 'weight' in field ? field.weight : 1;\n\t });\n\t options.fields = fields;\n\t }\n\n\t return {\n\t options: options,\n\t query: query.toLowerCase().trim(),\n\t tokens: this.tokenize(query, options.respect_word_boundaries, weights),\n\t total: 0,\n\t items: [],\n\t weights: weights,\n\t getAttrFn: options.nesting ? getAttrNesting : getAttr\n\t };\n\t }\n\n\t /**\n\t * Searches through all items and returns a sorted array of matches.\n\t *\n\t */\n\t search(query, options) {\n\t var self = this,\n\t score,\n\t search;\n\t search = this.prepareSearch(query, options);\n\t options = search.options;\n\t query = search.query; // generate result scoring function\n\n\t const fn_score = options.score || self._getScoreFunction(search); // perform search and sort\n\n\n\t if (query.length) {\n\t iterate(self.items, (item, id) => {\n\t score = fn_score(item);\n\n\t if (options.filter === false || score > 0) {\n\t search.items.push({\n\t 'score': score,\n\t 'id': id\n\t });\n\t }\n\t });\n\t } else {\n\t iterate(self.items, (item, id) => {\n\t search.items.push({\n\t 'score': 1,\n\t 'id': id\n\t });\n\t });\n\t }\n\n\t const fn_sort = self._getSortFunction(search);\n\n\t if (fn_sort) search.items.sort(fn_sort); // apply limits\n\n\t search.total = search.items.length;\n\n\t if (typeof options.limit === 'number') {\n\t search.items = search.items.slice(0, options.limit);\n\t }\n\n\t return search;\n\t }\n\n\t}\n\n\t/**\n\t * Return a dom element from either a dom query string, jQuery object, a dom element or html string\n\t * https://stackoverflow.com/questions/494143/creating-a-new-dom-element-from-an-html-string-using-built-in-dom-methods-or-pro/35385518#35385518\n\t *\n\t * param query should be {}\n\t */\n\n\tconst getDom = query => {\n\t if (query.jquery) {\n\t return query[0];\n\t }\n\n\t if (query instanceof HTMLElement) {\n\t return query;\n\t }\n\n\t if (isHtmlString(query)) {\n\t let div = document.createElement('div');\n\t div.innerHTML = query.trim(); // Never return a text node of whitespace as the result\n\n\t return div.firstChild;\n\t }\n\n\t return document.querySelector(query);\n\t};\n\tconst isHtmlString = arg => {\n\t if (typeof arg === 'string' && arg.indexOf('<') > -1) {\n\t return true;\n\t }\n\n\t return false;\n\t};\n\tconst escapeQuery = query => {\n\t return query.replace(/['\"\\\\]/g, '\\\\$&');\n\t};\n\t/**\n\t * Dispatch an event\n\t *\n\t */\n\n\tconst triggerEvent = (dom_el, event_name) => {\n\t var event = document.createEvent('HTMLEvents');\n\t event.initEvent(event_name, true, false);\n\t dom_el.dispatchEvent(event);\n\t};\n\t/**\n\t * Apply CSS rules to a dom element\n\t *\n\t */\n\n\tconst applyCSS = (dom_el, css) => {\n\t Object.assign(dom_el.style, css);\n\t};\n\t/**\n\t * Add css classes\n\t *\n\t */\n\n\tconst addClasses = (elmts, ...classes) => {\n\t var norm_classes = classesArray(classes);\n\t elmts = castAsArray(elmts);\n\t elmts.map(el => {\n\t norm_classes.map(cls => {\n\t el.classList.add(cls);\n\t });\n\t });\n\t};\n\t/**\n\t * Remove css classes\n\t *\n\t */\n\n\tconst removeClasses = (elmts, ...classes) => {\n\t var norm_classes = classesArray(classes);\n\t elmts = castAsArray(elmts);\n\t elmts.map(el => {\n\t norm_classes.map(cls => {\n\t el.classList.remove(cls);\n\t });\n\t });\n\t};\n\t/**\n\t * Return arguments\n\t *\n\t */\n\n\tconst classesArray = args => {\n\t var classes = [];\n\t iterate(args, _classes => {\n\t if (typeof _classes === 'string') {\n\t _classes = _classes.trim().split(/[\\11\\12\\14\\15\\40]/);\n\t }\n\n\t if (Array.isArray(_classes)) {\n\t classes = classes.concat(_classes);\n\t }\n\t });\n\t return classes.filter(Boolean);\n\t};\n\t/**\n\t * Create an array from arg if it's not already an array\n\t *\n\t */\n\n\tconst castAsArray = arg => {\n\t if (!Array.isArray(arg)) {\n\t arg = [arg];\n\t }\n\n\t return arg;\n\t};\n\t/**\n\t * Get the closest node to the evt.target matching the selector\n\t * Stops at wrapper\n\t *\n\t */\n\n\tconst parentMatch = (target, selector, wrapper) => {\n\t if (wrapper && !wrapper.contains(target)) {\n\t return;\n\t }\n\n\t while (target && target.matches) {\n\t if (target.matches(selector)) {\n\t return target;\n\t }\n\n\t target = target.parentNode;\n\t }\n\t};\n\t/**\n\t * Get the first or last item from an array\n\t *\n\t * > 0 - right (last)\n\t * <= 0 - left (first)\n\t *\n\t */\n\n\tconst getTail = (list, direction = 0) => {\n\t if (direction > 0) {\n\t return list[list.length - 1];\n\t }\n\n\t return list[0];\n\t};\n\t/**\n\t * Return true if an object is empty\n\t *\n\t */\n\n\tconst isEmptyObject = obj => {\n\t return Object.keys(obj).length === 0;\n\t};\n\t/**\n\t * Get the index of an element amongst sibling nodes of the same type\n\t *\n\t */\n\n\tconst nodeIndex = (el, amongst) => {\n\t if (!el) return -1;\n\t amongst = amongst || el.nodeName;\n\t var i = 0;\n\n\t while (el = el.previousElementSibling) {\n\t if (el.matches(amongst)) {\n\t i++;\n\t }\n\t }\n\n\t return i;\n\t};\n\t/**\n\t * Set attributes of an element\n\t *\n\t */\n\n\tconst setAttr = (el, attrs) => {\n\t iterate(attrs, (val, attr) => {\n\t if (val == null) {\n\t el.removeAttribute(attr);\n\t } else {\n\t el.setAttribute(attr, '' + val);\n\t }\n\t });\n\t};\n\t/**\n\t * Replace a node\n\t */\n\n\tconst replaceNode = (existing, replacement) => {\n\t if (existing.parentNode) existing.parentNode.replaceChild(replacement, existing);\n\t};\n\n\t/**\n\t * highlight v3 | MIT license | Johann Burkard <jb@eaio.com>\n\t * Highlights arbitrary terms in a node.\n\t *\n\t * - Modified by Marshal <beatgates@gmail.com> 2011-6-24 (added regex)\n\t * - Modified by Brian Reavis <brian@thirdroute.com> 2012-8-27 (cleanup)\n\t */\n\tconst highlight = (element, regex) => {\n\t if (regex === null) return; // convet string to regex\n\n\t if (typeof regex === 'string') {\n\t if (!regex.length) return;\n\t regex = new RegExp(regex, 'i');\n\t } // Wrap matching part of text node with highlighting <span>, e.g.\n\t // Soccer -> <span class=\"highlight\">Soc</span>cer for regex = /soc/i\n\n\n\t const highlightText = node => {\n\t var match = node.data.match(regex);\n\n\t if (match && node.data.length > 0) {\n\t var spannode = document.createElement('span');\n\t spannode.className = 'highlight';\n\t var middlebit = node.splitText(match.index);\n\t middlebit.splitText(match[0].length);\n\t var middleclone = middlebit.cloneNode(true);\n\t spannode.appendChild(middleclone);\n\t replaceNode(middlebit, spannode);\n\t return 1;\n\t }\n\n\t return 0;\n\t }; // Recurse element node, looking for child text nodes to highlight, unless element\n\t // is childless, <script>, <style>, or already highlighted: <span class=\"hightlight\">\n\n\n\t const highlightChildren = node => {\n\t if (node.nodeType === 1 && node.childNodes && !/(script|style)/i.test(node.tagName) && (node.className !== 'highlight' || node.tagName !== 'SPAN')) {\n\t for (var i = 0; i < node.childNodes.length; ++i) {\n\t i += highlightRecursive(node.childNodes[i]);\n\t }\n\t }\n\t };\n\n\t const highlightRecursive = node => {\n\t if (node.nodeType === 3) {\n\t return highlightText(node);\n\t }\n\n\t highlightChildren(node);\n\t return 0;\n\t };\n\n\t highlightRecursive(element);\n\t};\n\t/**\n\t * removeHighlight fn copied from highlight v5 and\n\t * edited to remove with(), pass js strict mode, and use without jquery\n\t */\n\n\tconst removeHighlight = el => {\n\t var elements = el.querySelectorAll(\"span.highlight\");\n\t Array.prototype.forEach.call(elements, function (el) {\n\t var parent = el.parentNode;\n\t parent.replaceChild(el.firstChild, el);\n\t parent.normalize();\n\t });\n\t};\n\n\tconst KEY_A = 65;\n\tconst KEY_RETURN = 13;\n\tconst KEY_ESC = 27;\n\tconst KEY_LEFT = 37;\n\tconst KEY_UP = 38;\n\tconst KEY_RIGHT = 39;\n\tconst KEY_DOWN = 40;\n\tconst KEY_BACKSPACE = 8;\n\tconst KEY_DELETE = 46;\n\tconst KEY_TAB = 9;\n\tconst IS_MAC = typeof navigator === 'undefined' ? false : /Mac/.test(navigator.userAgent);\n\tconst KEY_SHORTCUT = IS_MAC ? 'metaKey' : 'ctrlKey'; // ctrl key or apple key for ma\n\n\tvar defaults = {\n\t options: [],\n\t optgroups: [],\n\t plugins: [],\n\t delimiter: ',',\n\t splitOn: null,\n\t // regexp or string for splitting up values from a paste command\n\t persist: true,\n\t diacritics: true,\n\t create: null,\n\t createOnBlur: false,\n\t createFilter: null,\n\t highlight: true,\n\t openOnFocus: true,\n\t shouldOpen: null,\n\t maxOptions: 50,\n\t maxItems: null,\n\t hideSelected: null,\n\t duplicates: false,\n\t addPrecedence: false,\n\t selectOnTab: false,\n\t preload: null,\n\t allowEmptyOption: false,\n\t //closeAfterSelect: false,\n\t loadThrottle: 300,\n\t loadingClass: 'loading',\n\t dataAttr: null,\n\t //'data-data',\n\t optgroupField: 'optgroup',\n\t valueField: 'value',\n\t labelField: 'text',\n\t disabledField: 'disabled',\n\t optgroupLabelField: 'label',\n\t optgroupValueField: 'value',\n\t lockOptgroupOrder: false,\n\t sortField: '$order',\n\t searchField: ['text'],\n\t searchConjunction: 'and',\n\t mode: null,\n\t wrapperClass: 'ts-wrapper',\n\t controlClass: 'ts-control',\n\t dropdownClass: 'ts-dropdown',\n\t dropdownContentClass: 'ts-dropdown-content',\n\t itemClass: 'item',\n\t optionClass: 'option',\n\t dropdownParent: null,\n\t controlInput: '<input type=\"text\" autocomplete=\"off\" size=\"1\" />',\n\t copyClassesToDropdown: false,\n\t placeholder: null,\n\t hidePlaceholder: null,\n\t shouldLoad: function (query) {\n\t return query.length > 0;\n\t },\n\n\t /*\n\t load : null, // function(query, callback) { ... }\n\t score : null, // function(search) { ... }\n\t onInitialize : null, // function() { ... }\n\t onChange : null, // function(value) { ... }\n\t onItemAdd : null, // function(value, $item) { ... }\n\t onItemRemove : null, // function(value) { ... }\n\t onClear : null, // function() { ... }\n\t onOptionAdd : null, // function(value, data) { ... }\n\t onOptionRemove : null, // function(value) { ... }\n\t onOptionClear : null, // function() { ... }\n\t onOptionGroupAdd : null, // function(id, data) { ... }\n\t onOptionGroupRemove : null, // function(id) { ... }\n\t onOptionGroupClear : null, // function() { ... }\n\t onDropdownOpen : null, // function(dropdown) { ... }\n\t onDropdownClose : null, // function(dropdown) { ... }\n\t onType : null, // function(str) { ... }\n\t onDelete : null, // function(values) { ... }\n\t */\n\t render: {\n\t /*\n\t item: null,\n\t optgroup: null,\n\t optgroup_header: null,\n\t option: null,\n\t option_create: null\n\t */\n\t }\n\t};\n\n\t/**\n\t * Converts a scalar to its best string representation\n\t * for hash keys and HTML attribute values.\n\t *\n\t * Transformations:\n\t * 'str' -> 'str'\n\t * null -> ''\n\t * undefined -> ''\n\t * true -> '1'\n\t * false -> '0'\n\t * 0 -> '0'\n\t * 1 -> '1'\n\t *\n\t */\n\tconst hash_key = value => {\n\t if (typeof value === 'undefined' || value === null) return null;\n\t return get_hash(value);\n\t};\n\tconst get_hash = value => {\n\t if (typeof value === 'boolean') return value ? '1' : '0';\n\t return value + '';\n\t};\n\t/**\n\t * Escapes a string for use within HTML.\n\t *\n\t */\n\n\tconst escape_html = str => {\n\t return (str + '').replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/\"/g, '"');\n\t};\n\t/**\n\t * Debounce the user provided load function\n\t *\n\t */\n\n\tconst loadDebounce = (fn, delay) => {\n\t var timeout;\n\t return function (value, callback) {\n\t var self = this;\n\n\t if (timeout) {\n\t self.loading = Math.max(self.loading - 1, 0);\n\t clearTimeout(timeout);\n\t }\n\n\t timeout = setTimeout(function () {\n\t timeout = null;\n\t self.loadedSearches[value] = true;\n\t fn.call(self, value, callback);\n\t }, delay);\n\t };\n\t};\n\t/**\n\t * Debounce all fired events types listed in `types`\n\t * while executing the provided `fn`.\n\t *\n\t */\n\n\tconst debounce_events = (self, types, fn) => {\n\t var type;\n\t var trigger = self.trigger;\n\t var event_args = {}; // override trigger method\n\n\t self.trigger = function () {\n\t var type = arguments[0];\n\n\t if (types.indexOf(type) !== -1) {\n\t event_args[type] = arguments;\n\t } else {\n\t return trigger.apply(self, arguments);\n\t }\n\t }; // invoke provided function\n\n\n\t fn.apply(self, []);\n\t self.trigger = trigger; // trigger queued events\n\n\t for (type of types) {\n\t if (type in event_args) {\n\t trigger.apply(self, event_args[type]);\n\t }\n\t }\n\t};\n\t/**\n\t * Determines the current selection within a text input control.\n\t * Returns an object containing:\n\t * - start\n\t * - length\n\t *\n\t */\n\n\tconst getSelection = input => {\n\t return {\n\t start: input.selectionStart || 0,\n\t length: (input.selectionEnd || 0) - (input.selectionStart || 0)\n\t };\n\t};\n\t/**\n\t * Prevent default\n\t *\n\t */\n\n\tconst preventDefault = (evt, stop = false) => {\n\t if (evt) {\n\t evt.preventDefault();\n\n\t if (stop) {\n\t evt.stopPropagation();\n\t }\n\t }\n\t};\n\t/**\n\t * Prevent default\n\t *\n\t */\n\n\tconst addEvent = (target, type, callback, options) => {\n\t target.addEventListener(type, callback, options);\n\t};\n\t/**\n\t * Return true if the requested key is down\n\t * Will return false if more than one control character is pressed ( when [ctrl+shift+a] != [ctrl+a] )\n\t * The current evt may not always set ( eg calling advanceSelection() )\n\t *\n\t */\n\n\tconst isKeyDown = (key_name, evt) => {\n\t if (!evt) {\n\t return false;\n\t }\n\n\t if (!evt[key_name]) {\n\t return false;\n\t }\n\n\t var count = (evt.altKey ? 1 : 0) + (evt.ctrlKey ? 1 : 0) + (evt.shiftKey ? 1 : 0) + (evt.metaKey ? 1 : 0);\n\n\t if (count === 1) {\n\t return true;\n\t }\n\n\t return false;\n\t};\n\t/**\n\t * Get the id of an element\n\t * If the id attribute is not set, set the attribute with the given id\n\t *\n\t */\n\n\tconst getId = (el, id) => {\n\t const existing_id = el.getAttribute('id');\n\n\t if (existing_id) {\n\t return existing_id;\n\t }\n\n\t el.setAttribute('id', id);\n\t return id;\n\t};\n\t/**\n\t * Returns a string with backslashes added before characters that need to be escaped.\n\t */\n\n\tconst addSlashes = str => {\n\t return str.replace(/[\\\\\"']/g, '\\\\$&');\n\t};\n\t/**\n\t *\n\t */\n\n\tconst append = (parent, node) => {\n\t if (node) parent.append(node);\n\t};\n\n\tfunction getSettings(input, settings_user) {\n\t var settings = Object.assign({}, defaults, settings_user);\n\t var attr_data = settings.dataAttr;\n\t var field_label = settings.labelField;\n\t var field_value = settings.valueField;\n\t var field_disabled = settings.disabledField;\n\t var field_optgroup = settings.optgroupField;\n\t var field_optgroup_label = settings.optgroupLabelField;\n\t var field_optgroup_value = settings.optgroupValueField;\n\t var tag_name = input.tagName.toLowerCase();\n\t var placeholder = input.getAttribute('placeholder') || input.getAttribute('data-placeholder');\n\n\t if (!placeholder && !settings.allowEmptyOption) {\n\t let option = input.querySelector('option[value=\"\"]');\n\n\t if (option) {\n\t placeholder = option.textContent;\n\t }\n\t }\n\n\t var settings_element = {\n\t placeholder: placeholder,\n\t options: [],\n\t optgroups: [],\n\t items: [],\n\t maxItems: null\n\t };\n\t /**\n\t * Initialize from a <select> element.\n\t *\n\t */\n\n\t var init_select = () => {\n\t var tagName;\n\t var options = settings_element.options;\n\t var optionsMap = {};\n\t var group_count = 1;\n\n\t var readData = el => {\n\t var data = Object.assign({}, el.dataset); // get plain object from DOMStringMap\n\n\t var json = attr_data && data[attr_data];\n\n\t if (typeof json === 'string' && json.length) {\n\t data = Object.assign(data, JSON.parse(json));\n\t }\n\n\t return data;\n\t };\n\n\t var addOption = (option, group) => {\n\t var value = hash_key(option.value);\n\t if (value == null) return;\n\t if (!value && !settings.allowEmptyOption) return; // if the option already exists, it's probably been\n\t // duplicated in another optgroup. in this case, push\n\t // the current group to the \"optgroup\" property on the\n\t // existing option so that it's rendered in both places.\n\n\t if (optionsMap.hasOwnProperty(value)) {\n\t if (group) {\n\t var arr = optionsMap[value][field_optgroup];\n\n\t if (!arr) {\n\t optionsMap[value][field_optgroup] = group;\n\t } else if (!Array.isArray(arr)) {\n\t optionsMap[value][field_optgroup] = [arr, group];\n\t } else {\n\t arr.push(group);\n\t }\n\t }\n\t } else {\n\t var option_data = readData(option);\n\t option_data[field_label] = option_data[field_label] || option.textContent;\n\t option_data[field_value] = option_data[field_value] || value;\n\t option_data[field_disabled] = option_data[field_disabled] || option.disabled;\n\t option_data[field_optgroup] = option_data[field_optgroup] || group;\n\t option_data.$option = option;\n\t optionsMap[value] = option_data;\n\t options.push(option_data);\n\t }\n\n\t if (option.selected) {\n\t settings_element.items.push(value);\n\t }\n\t };\n\n\t var addGroup = optgroup => {\n\t var id, optgroup_data;\n\t optgroup_data = readData(optgroup);\n\t optgroup_data[field_optgroup_label] = optgroup_data[field_optgroup_label] || optgroup.getAttribute('label') || '';\n\t optgroup_data[field_optgroup_value] = optgroup_data[field_optgroup_value] || group_count++;\n\t optgroup_data[field_disabled] = optgroup_data[field_disabled] || optgroup.disabled;\n\t settings_element.optgroups.push(optgroup_data);\n\t id = optgroup_data[field_optgroup_value];\n\t iterate(optgroup.children, option => {\n\t addOption(option, id);\n\t });\n\t };\n\n\t settings_element.maxItems = input.hasAttribute('multiple') ? null : 1;\n\t iterate(input.children, child => {\n\t tagName = child.tagName.toLowerCase();\n\n\t if (tagName === 'optgroup') {\n\t addGroup(child);\n\t } else if (tagName === 'option') {\n\t addOption(child);\n\t }\n\t });\n\t };\n\t /**\n\t * Initialize from a <input type=\"text\"> element.\n\t *\n\t */\n\n\n\t var init_textbox = () => {\n\t const data_raw = input.getAttribute(attr_data);\n\n\t if (!data_raw) {\n\t var value = input.value.trim() || '';\n\t if (!settings.allowEmptyOption && !value.length) return;\n\t const values = value.split(settings.delimiter);\n\t iterate(values, value => {\n\t const option = {};\n\t option[field_label] = value;\n\t option[field_value] = value;\n\t settings_element.options.push(option);\n\t });\n\t settings_element.items = values;\n\t } else {\n\t settings_element.options = JSON.parse(data_raw);\n\t iterate(settings_element.options, opt => {\n\t settings_element.items.push(opt[field_value]);\n\t });\n\t }\n\t };\n\n\t if (tag_name === 'select') {\n\t init_select();\n\t } else {\n\t init_textbox();\n\t }\n\n\t return Object.assign({}, defaults, settings_element, settings_user);\n\t}\n\n\tvar instance_i = 0;\n\tclass TomSelect extends MicroPlugin(MicroEvent) {\n\t // @deprecated 1.8\n\t constructor(input_arg, user_settings) {\n\t super();\n\t this.order = 0;\n\t this.isOpen = false;\n\t this.isDisabled = false;\n\t this.isInvalid = false;\n\t this.isValid = true;\n\t this.isLocked = false;\n\t this.isFocused = false;\n\t this.isInputHidden = false;\n\t this.isSetup = false;\n\t this.ignoreFocus = false;\n\t this.hasOptions = false;\n\t this.lastValue = '';\n\t this.caretPos = 0;\n\t this.loading = 0;\n\t this.loadedSearches = {};\n\t this.activeOption = null;\n\t this.activeItems = [];\n\t this.optgroups = {};\n\t this.options = {};\n\t this.userOptions = {};\n\t this.items = [];\n\t instance_i++;\n\t var dir;\n\t var input = getDom(input_arg);\n\n\t if (input.tomselect) {\n\t throw new Error('Tom Select already initialized on this element');\n\t }\n\n\t input.tomselect = this; // detect rtl environment\n\n\t var computedStyle = window.getComputedStyle && window.getComputedStyle(input, null);\n\t dir = computedStyle.getPropertyValue('direction'); // setup default state\n\n\t const settings = getSettings(input, user_settings);\n\t this.settings = settings;\n\t this.input = input;\n\t this.tabIndex = input.tabIndex || 0;\n\t this.is_select_tag = input.tagName.toLowerCase() === 'select';\n\t this.rtl = /rtl/i.test(dir);\n\t this.inputId = getId(input, 'tomselect-' + instance_i);\n\t this.isRequired = input.required; // search system\n\n\t this.sifter = new Sifter(this.options, {\n\t diacritics: settings.diacritics\n\t }); // option-dependent defaults\n\n\t settings.mode = settings.mode || (settings.maxItems === 1 ? 'single' : 'multi');\n\n\t if (typeof settings.hideSelected !== 'boolean') {\n\t settings.hideSelected = settings.mode === 'multi';\n\t }\n\n\t if (typeof settings.hidePlaceholder !== 'boolean') {\n\t settings.hidePlaceholder = settings.mode !== 'multi';\n\t } // set up createFilter callback\n\n\n\t var filter = settings.createFilter;\n\n\t if (typeof filter !== 'function') {\n\t if (typeof filter === 'string') {\n\t filter = new RegExp(filter);\n\t }\n\n\t if (filter instanceof RegExp) {\n\t settings.createFilter = input => filter.test(input);\n\t } else {\n\t settings.createFilter = () => true;\n\t }\n\t }\n\n\t this.initializePlugins(settings.plugins);\n\t this.setupCallbacks();\n\t this.setupTemplates(); // Create all elements\n\n\t const wrapper = getDom('<div>');\n\t const control = getDom('<div>');\n\n\t const dropdown = this._render('dropdown');\n\n\t const dropdown_content = getDom(`<div role=\"listbox\" tabindex=\"-1\">`);\n\t const classes = this.input.getAttribute('class') || '';\n\t const inputMode = settings.mode;\n\t var control_input;\n\t addClasses(wrapper, settings.wrapperClass, classes, inputMode);\n\t addClasses(control, settings.controlClass);\n\t append(wrapper, control);\n\t addClasses(dropdown, settings.dropdownClass, inputMode);\n\n\t if (settings.copyClassesToDropdown) {\n\t addClasses(dropdown, classes);\n\t }\n\n\t addClasses(dropdown_content, settings.dropdownContentClass);\n\t append(dropdown, dropdown_content);\n\t getDom(settings.dropdownParent || wrapper).appendChild(dropdown); // default controlInput\n\n\t if (isHtmlString(settings.controlInput)) {\n\t control_input = getDom(settings.controlInput); // set attributes\n\n\t var attrs = ['autocorrect', 'autocapitalize', 'autocomplete'];\n\t iterate(attrs, attr => {\n\t if (input.getAttribute(attr)) {\n\t setAttr(control_input, {\n\t [attr]: input.getAttribute(attr)\n\t });\n\t }\n\t });\n\t control_input.tabIndex = -1;\n\t control.appendChild(control_input);\n\t this.focus_node = control_input; // dom element\t\n\t } else if (settings.controlInput) {\n\t control_input = getDom(settings.controlInput);\n\t this.focus_node = control_input;\n\t } else {\n\t control_input = getDom('<input/>');\n\t this.focus_node = control;\n\t }\n\n\t this.wrapper = wrapper;\n\t this.dropdown = dropdown;\n\t this.dropdown_content = dropdown_content;\n\t this.control = control;\n\t this.control_input = control_input;\n\t this.setup();\n\t }\n\t /**\n\t * set up event bindings.\n\t *\n\t */\n\n\n\t setup() {\n\t const self = this;\n\t const settings = self.settings;\n\t const control_input = self.control_input;\n\t const dropdown = self.dropdown;\n\t const dropdown_content = self.dropdown_content;\n\t const wrapper = self.wrapper;\n\t const control = self.control;\n\t const input = self.input;\n\t const focus_node = self.focus_node;\n\t const passive_event = {\n\t passive: true\n\t };\n\t const listboxId = self.inputId + '-ts-dropdown';\n\t setAttr(dropdown_content, {\n\t id: listboxId\n\t });\n\t setAttr(focus_node, {\n\t role: 'combobox',\n\t 'aria-haspopup': 'listbox',\n\t 'aria-expanded': 'false',\n\t 'aria-controls': listboxId\n\t });\n\t const control_id = getId(focus_node, self.inputId + '-ts-control');\n\t const query = \"label[for='\" + escapeQuery(self.inputId) + \"']\";\n\t const label = document.querySelector(query);\n\t const label_click = self.focus.bind(self);\n\n\t if (label) {\n\t addEvent(label, 'click', label_click);\n\t setAttr(label, {\n\t for: control_id\n\t });\n\t const label_id = getId(label, self.inputId + '-ts-label');\n\t setAttr(focus_node, {\n\t 'aria-labelledby': label_id\n\t });\n\t setAttr(dropdown_content, {\n\t 'aria-labelledby': label_id\n\t });\n\t }\n\n\t wrapper.style.width = input.style.width;\n\n\t if (self.plugins.names.length) {\n\t const classes_plugins = 'plugin-' + self.plugins.names.join(' plugin-');\n\t addClasses([wrapper, dropdown], classes_plugins);\n\t }\n\n\t if ((settings.maxItems === null || settings.maxItems > 1) && self.is_select_tag) {\n\t setAttr(input, {\n\t multiple: 'multiple'\n\t });\n\t }\n\n\t if (self.settings.placeholder) {\n\t setAttr(control_input, {\n\t placeholder: settings.placeholder\n\t });\n\t } // if splitOn was not passed in, construct it from the delimiter to allow pasting universally\n\n\n\t if (!self.settings.splitOn && self.settings.delimiter) {\n\t self.settings.splitOn = new RegExp('\\\\s*' + escape_regex(self.settings.delimiter) + '+\\\\s*');\n\t } // debounce user defined load() if loadThrottle > 0\n\t // after initializePlugins() so plugins can create/modify user defined loaders\n\n\n\t if (settings.load && settings.loadThrottle) {\n\t settings.load = loadDebounce(settings.load, settings.loadThrottle);\n\t }\n\n\t self.control_input.type = input.type; // clicking on an option should select it\n\n\t addEvent(dropdown, 'click', evt => {\n\t const option = parentMatch(evt.target, '[data-selectable]');\n\n\t if (option) {\n\t self.onOptionSelect(evt, option);\n\t preventDefault(evt, true);\n\t }\n\t });\n\t addEvent(control, 'click', evt => {\n\t var target_match = parentMatch(evt.target, '[data-ts-item]', control);\n\n\t if (target_match && self.onItemSelect(evt, target_match)) {\n\t preventDefault(evt, true);\n\t return;\n\t } // retain focus (see control_input mousedown)\n\n\n\t if (control_input.value != '') {\n\t return;\n\t }\n\n\t self.onClick();\n\t preventDefault(evt, true);\n\t }); // keydown on focus_node for arrow_down/arrow_up\n\n\t addEvent(focus_node, 'keydown', e => self.onKeyDown(e)); // keypress and input/keyup\n\n\t addEvent(control_input, 'keypress', e => self.onKeyPress(e));\n\t addEvent(control_input, 'input', e => self.onInput(e));\n\t addEvent(focus_node, 'resize', () => self.positionDropdown(), passive_event);\n\t addEvent(focus_node, 'blur', e => self.onBlur(e));\n\t addEvent(focus_node, 'focus', e => self.onFocus(e));\n\t addEvent(focus_node, 'paste', e => self.onPaste(e));\n\n\t const doc_mousedown = evt => {\n\t // blur if target is outside of this instance\n\t // dropdown is not always inside wrapper\n\t const target = evt.composedPath()[0];\n\n\t if (!wrapper.contains(target) && !dropdown.contains(target)) {\n\t if (self.isFocused) {\n\t self.blur();\n\t }\n\n\t self.inputState();\n\t return;\n\t } // retain focus by preventing native handling. if the\n\t // event target is the input it should not be modified.\n\t // otherwise, text selection within the input won't work.\n\t // Fixes bug #212 which is no covered by tests\n\n\n\t if (target == control_input && self.isOpen) {\n\t evt.stopPropagation(); // clicking anywhere in the control should not blur the control_input (which would close the dropdown)\n\t } else {\n\t preventDefault(evt, true);\n\t }\n\t };\n\n\t var win_scroll = () => {\n\t if (self.isOpen) {\n\t self.positionDropdown();\n\t }\n\t };\n\n\t addEvent(document, 'mousedown', doc_mousedown);\n\t addEvent(window, 'scroll', win_scroll, passive_event);\n\t addEvent(window, 'resize', win_scroll, passive_event);\n\n\t this._destroy = () => {\n\t document.removeEventListener('mousedown', doc_mousedown);\n\t window.removeEventListener('sroll', win_scroll);\n\t window.removeEventListener('resize', win_scroll);\n\t if (label) label.removeEventListener('click', label_click);\n\t }; // store original html and tab index so that they can be\n\t // restored when the destroy() method is called.\n\n\n\t this.revertSettings = {\n\t innerHTML: input.innerHTML,\n\t tabIndex: input.tabIndex\n\t };\n\t input.tabIndex = -1;\n\t input.insertAdjacentElement('afterend', self.wrapper);\n\t self.sync(false);\n\t settings.items = [];\n\t delete settings.optgroups;\n\t delete settings.options;\n\t addEvent(input, 'invalid', e => {\n\t if (self.isValid) {\n\t self.isValid = false;\n\t self.isInvalid = true;\n\t self.refreshState();\n\t }\n\t });\n\t self.updateOriginalInput();\n\t self.refreshItems();\n\t self.close(false);\n\t self.inputState();\n\t self.isSetup = true;\n\n\t if (input.disabled) {\n\t self.disable();\n\t } else {\n\t self.enable(); //sets tabIndex\n\t }\n\n\t self.on('change', this.onChange);\n\t addClasses(input, 'tomselected', 'ts-hidden-accessible');\n\t self.trigger('initialize'); // preload options\n\n\t if (settings.preload === true) {\n\t self.preload();\n\t }\n\t }\n\t /**\n\t * Register options and optgroups\n\t *\n\t */\n\n\n\t setupOptions(options = [], optgroups = []) {\n\t // build options table\n\t this.addOptions(options); // build optgroup table\n\n\t iterate(optgroups, optgroup => {\n\t this.registerOptionGroup(optgroup);\n\t });\n\t }\n\t /**\n\t * Sets up default rendering functions.\n\t */\n\n\n\t setupTemplates() {\n\t var self = this;\n\t var field_label = self.settings.labelField;\n\t var field_optgroup = self.settings.optgroupLabelField;\n\t var templates = {\n\t 'optgroup': data => {\n\t let optgroup = document.createElement('div');\n\t optgroup.className = 'optgroup';\n\t optgroup.appendChild(data.options);\n\t return optgroup;\n\t },\n\t 'optgroup_header': (data, escape) => {\n\t return '<div class=\"optgroup-header\">' + escape(data[field_optgroup]) + '</div>';\n\t },\n\t 'option': (data, escape) => {\n\t return '<div>' + escape(data[field_label]) + '</div>';\n\t },\n\t 'item': (data, escape) => {\n\t return '<div>' + escape(data[field_label]) + '</div>';\n\t },\n\t 'option_create': (data, escape) => {\n\t return '<div class=\"create\">Add <strong>' + escape(data.input) + '</strong>…</div>';\n\t },\n\t 'no_results': () => {\n\t return '<div class=\"no-results\">No results found</div>';\n\t },\n\t 'loading': () => {\n\t return '<div class=\"spinner\"></div>';\n\t },\n\t 'not_loading': () => {},\n\t 'dropdown': () => {\n\t return '<div></div>';\n\t }\n\t };\n\t self.settings.render = Object.assign({}, templates, self.settings.render);\n\t }\n\t /**\n\t * Maps fired events to callbacks provided\n\t * in the settings used when creating the control.\n\t */\n\n\n\t setupCallbacks() {\n\t var key, fn;\n\t var callbacks = {\n\t 'initialize': 'onInitialize',\n\t 'change': 'onChange',\n\t 'item_add': 'onItemAdd',\n\t 'item_remove': 'onItemRemove',\n\t 'item_select': 'onItemSelect',\n\t 'clear': 'onClear',\n\t 'option_add': 'onOptionAdd',\n\t 'option_remove': 'onOptionRemove',\n\t 'option_clear': 'onOptionClear',\n\t 'optgroup_add': 'onOptionGroupAdd',\n\t 'optgroup_remove': 'onOptionGroupRemove',\n\t 'optgroup_clear': 'onOptionGroupClear',\n\t 'dropdown_open': 'onDropdownOpen',\n\t 'dropdown_close': 'onDropdownClose',\n\t 'type': 'onType',\n\t 'load': 'onLoad',\n\t 'focus': 'onFocus',\n\t 'blur': 'onBlur'\n\t };\n\n\t for (key in callbacks) {\n\t fn = this.settings[callbacks[key]];\n\t if (fn) this.on(key, fn);\n\t }\n\t }\n\t /**\n\t * Sync the Tom Select instance with the original input or select\n\t *\n\t */\n\n\n\t sync(get_settings = true) {\n\t const self = this;\n\t const settings = get_settings ? getSettings(self.input, {\n\t delimiter: self.settings.delimiter\n\t }) : self.settings;\n\t self.setupOptions(settings.options, settings.optgroups);\n\t self.setValue(settings.items, true); // silent prevents recursion\n\n\t self.lastQuery = null; // so updated options will be displayed in dropdown\n\t }\n\t /**\n\t * Triggered when the main control element\n\t * has a click event.\n\t *\n\t */\n\n\n\t onClick() {\n\t var self = this;\n\n\t if (self.activeItems.length > 0) {\n\t self.clearActiveItems();\n\t self.focus();\n\t return;\n\t }\n\n\t if (self.isFocused && self.isOpen) {\n\t self.blur();\n\t } else {\n\t self.focus();\n\t }\n\t }\n\t /**\n\t * @deprecated v1.7\n\t *\n\t */\n\n\n\t onMouseDown() {}\n\t /**\n\t * Triggered when the value of the control has been changed.\n\t * This should propagate the event to the original DOM\n\t * input / select element.\n\t */\n\n\n\t onChange() {\n\t triggerEvent(this.input, 'input');\n\t triggerEvent(this.input, 'change');\n\t }\n\t /**\n\t * Triggered on <input> paste.\n\t *\n\t */\n\n\n\t onPaste(e) {\n\t var self = this;\n\n\t if (self.isInputHidden || self.isLocked) {\n\t preventDefault(e);\n\t return;\n\t } // If a regex or string is included, this will split the pasted\n\t // input and create Items for each separate value\n\n\n\t if (self.settings.splitOn) {\n\t // Wait for pasted text to be recognized in value\n\t setTimeout(() => {\n\t var pastedText = self.inputValue();\n\n\t if (!pastedText.match(self.settings.splitOn)) {\n\t return;\n\t }\n\n\t var splitInput = pastedText.trim().split(self.settings.splitOn);\n\t iterate(splitInput, piece => {\n\t self.createItem(piece);\n\t });\n\t }, 0);\n\t }\n\t }\n\t /**\n\t * Triggered on <input> keypress.\n\t *\n\t */\n\n\n\t onKeyPress(e) {\n\t var self = this;\n\n\t if (self.isLocked) {\n\t preventDefault(e);\n\t return;\n\t }\n\n\t var character = String.fromCharCode(e.keyCode || e.which);\n\n\t if (self.settings.create && self.settings.mode === 'multi' && character === self.settings.delimiter) {\n\t self.createItem();\n\t preventDefault(e);\n\t return;\n\t }\n\t }\n\t /**\n\t * Triggered on <input> keydown.\n\t *\n\t */\n\n\n\t onKeyDown(e) {\n\t var self = this;\n\n\t if (self.isLocked) {\n\t if (e.keyCode !== KEY_TAB) {\n\t preventDefault(e);\n\t }\n\n\t return;\n\t }\n\n\t switch (e.keyCode) {\n\t // ctrl+A: select all\n\t case KEY_A:\n\t if (isKeyDown(KEY_SHORTCUT, e)) {\n\t if (self.control_input.value == '') {\n\t preventDefault(e);\n\t self.selectAll();\n\t return;\n\t }\n\t }\n\n\t break;\n\t // esc: close dropdown\n\n\t case KEY_ESC:\n\t if (self.isOpen) {\n\t preventDefault(e, true);\n\t self.close();\n\t }\n\n\t self.clearActiveItems();\n\t return;\n\t // down: open dropdown or move selection down\n\n\t case KEY_DOWN:\n\t if (!self.isOpen && self.hasOptions) {\n\t self.open();\n\t } else if (self.activeOption) {\n\t let next = self.getAdjacent(self.activeOption, 1);\n\t if (next) self.setActiveOption(next);\n\t }\n\n\t preventDefault(e);\n\t return;\n\t // up: move selection up\n\n\t case KEY_UP:\n\t if (self.activeOption) {\n\t let prev = self.getAdjacent(self.activeOption, -1);\n\t if (prev) self.setActiveOption(prev);\n\t }\n\n\t preventDefault(e);\n\t return;\n\t // return: select active option\n\n\t case KEY_RETURN:\n\t if (self.canSelect(self.activeOption)) {\n\t self.onOptionSelect(e, self.activeOption);\n\t preventDefault(e); // if the option_create=null, the dropdown might be closed\n\t } else if (self.settings.create && self.createItem()) {\n\t preventDefault(e);\n\t }\n\n\t return;\n\t // left: modifiy item selection to the left\n\n\t case KEY_LEFT:\n\t self.advanceSelection(-1, e);\n\t return;\n\t // right: modifiy item selection to the right\n\n\t case KEY_RIGHT:\n\t self.advanceSelection(1, e);\n\t return;\n\t // tab: select active option and/or create item\n\n\t case KEY_TAB:\n\t if (self.settings.selectOnTab) {\n\t if (self.canSelect(self.activeOption)) {\n\t self.onOptionSelect(e, self.activeOption); // prevent default [tab] behaviour of jump to the next field\n\t // if select isFull, then the dropdown won't be open and [tab] will work normally\n\n\t preventDefault(e);\n\t }\n\n\t if (self.settings.create && self.createItem()) {\n\t preventDefault(e);\n\t }\n\t }\n\n\t return;\n\t // delete|backspace: delete items\n\n\t case KEY_BACKSPACE:\n\t case KEY_DELETE:\n\t self.deleteSelection(e);\n\t return;\n\t } // don't enter text in the control_input when active items are selected\n\n\n\t if (self.isInputHidden && !isKeyDown(KEY_SHORTCUT, e)) {\n\t preventDefault(e);\n\t }\n\t }\n\t /**\n\t * Triggered on <input> keyup.\n\t *\n\t */\n\n\n\t onInput(e) {\n\t var self = this;\n\n\t if (self.isLocked) {\n\t return;\n\t }\n\n\t var value = self.inputValue();\n\n\t if (self.lastValue !== value) {\n\t self.lastValue = value;\n\n\t if (self.settings.shouldLoad.call(self, value)) {\n\t self.load(value);\n\t }\n\n\t self.refreshOptions();\n\t self.trigger('type', value);\n\t }\n\t }\n\t /**\n\t * Triggered on <input> focus.\n\t *\n\t */\n\n\n\t onFocus(e) {\n\t var self = this;\n\t var wasFocused = self.isFocused;\n\n\t if (self.isDisabled) {\n\t self.blur();\n\t preventDefault(e);\n\t return;\n\t }\n\n\t if (self.ignoreFocus) return;\n\t self.isFocused = true;\n\t if (self.settings.preload === 'focus') self.preload();\n\t if (!wasFocused) self.trigger('focus');\n\n\t if (!self.activeItems.length) {\n\t self.showInput();\n\t self.refreshOptions(!!self.settings.openOnFocus);\n\t }\n\n\t self.refreshState();\n\t }\n\t /**\n\t * Triggered on <input> blur.\n\t *\n\t */\n\n\n\t onBlur(e) {\n\t if (document.hasFocus() === false) return;\n\t var self = this;\n\t if (!self.isFocused) return;\n\t self.isFocused = false;\n\t self.ignoreFocus = false;\n\n\t var deactivate = () => {\n\t self.close();\n\t self.setActiveItem();\n\t self.setCaret(self.items.length);\n\t self.trigger('blur');\n\t };\n\n\t if (self.settings.create && self.settings.createOnBlur) {\n\t self.createItem(null, false, deactivate);\n\t } else {\n\t deactivate();\n\t }\n\t }\n\t /**\n\t * Triggered when the user clicks on an option\n\t * in the autocomplete dropdown menu.\n\t *\n\t */\n\n\n\t onOptionSelect(evt, option) {\n\t var value,\n\t self = this; // should not be possible to trigger a option under a disabled optgroup\n\n\t if (option.parentElement && option.parentElement.matches('[data-disabled]')) {\n\t return;\n\t }\n\n\t if (option.classList.contains('create')) {\n\t self.createItem(null, true, () => {\n\t if (self.settings.closeAfterSelect) {\n\t self.close();\n\t }\n\t });\n\t } else {\n\t value = option.dataset.value;\n\n\t if (typeof value !== 'undefined') {\n\t self.lastQuery = null;\n\t self.addItem(value);\n\n\t if (self.settings.closeAfterSelect) {\n\t self.close();\n\t }\n\n\t if (!self.settings.hideSelected && evt.type && /click/.test(evt.type)) {\n\t self.setActiveOption(option);\n\t }\n\t }\n\t }\n\t }\n\t /**\n\t * Return true if the given option can be selected\n\t *\n\t */\n\n\n\t canSelect(option) {\n\t if (this.isOpen && option && this.dropdown_content.contains(option)) {\n\t return true;\n\t }\n\n\t return false;\n\t }\n\t /**\n\t * Triggered when the user clicks on an item\n\t * that has been selected.\n\t *\n\t */\n\n\n\t onItemSelect(evt, item) {\n\t var self = this;\n\n\t if (!self.isLocked && self.settings.mode === 'multi') {\n\t preventDefault(evt);\n\t self.setActiveItem(item, evt);\n\t return true;\n\t }\n\n\t return false;\n\t }\n\t /**\n\t * Determines whether or not to invoke\n\t * the user-provided option provider / loader\n\t *\n\t * Note, there is a subtle difference between\n\t * this.canLoad() and this.settings.shouldLoad();\n\t *\n\t *\t- settings.shouldLoad() is a user-input validator.\n\t *\tWhen false is returned, the not_loading template\n\t *\twill be added to the dropdown\n\t *\n\t *\t- canLoad() is lower level validator that checks\n\t * \tthe Tom Select instance. There is no inherent user\n\t *\tfeedback when canLoad returns false\n\t *\n\t */\n\n\n\t canLoad(value) {\n\t if (!this.settings.load) return false;\n\t if (this.loadedSearches.hasOwnProperty(value)) return false;\n\t return true;\n\t }\n\t /**\n\t * Invokes the user-provided option provider / loader.\n\t *\n\t */\n\n\n\t load(value) {\n\t const self = this;\n\t if (!self.canLoad(value)) return;\n\t addClasses(self.wrapper, self.settings.loadingClass);\n\t self.loading++;\n\t const callback = self.loadCallback.bind(self);\n\t self.settings.load.call(self, value, callback);\n\t }\n\t /**\n\t * Invoked by the user-provided option provider\n\t *\n\t */\n\n\n\t loadCallback(options, optgroups) {\n\t const self = this;\n\t self.loading = Math.max(self.loading - 1, 0);\n\t self.lastQuery = null;\n\t self.clearActiveOption(); // when new results load, focus should be on first option\n\n\t self.setupOptions(options, optgroups);\n\t self.refreshOptions(self.isFocused && !self.isInputHidden);\n\n\t if (!self.loading) {\n\t removeClasses(self.wrapper, self.settings.loadingClass);\n\t }\n\n\t self.trigger('load', options, optgroups);\n\t }\n\n\t preload() {\n\t var classList = this.wrapper.classList;\n\t if (classList.contains('preloaded')) return;\n\t classList.add('preloaded');\n\t this.load('');\n\t }\n\t /**\n\t * Sets the input field of the control to the specified value.\n\t *\n\t */\n\n\n\t setTextboxValue(value = '') {\n\t var input = this.control_input;\n\t var changed = input.value !== value;\n\n\t if (changed) {\n\t input.value = value;\n\t triggerEvent(input, 'update');\n\t this.lastValue = value;\n\t }\n\t }\n\t /**\n\t * Returns the value of the control. If multiple items\n\t * can be selected (e.g. <select multiple>), this returns\n\t * an array. If only one item can be selected, this\n\t * returns a string.\n\t *\n\t */\n\n\n\t getValue() {\n\t if (this.is_select_tag && this.input.hasAttribute('multiple')) {\n\t return this.items;\n\t }\n\n\t return this.items.join(this.settings.delimiter);\n\t }\n\t /**\n\t * Resets the selected items to the given value.\n\t *\n\t */\n\n\n\t setValue(value, silent) {\n\t var events = silent ? [] : ['change'];\n\t debounce_events(this, events, () => {\n\t this.clear(silent);\n\t this.addItems(value, silent);\n\t });\n\t }\n\t /**\n\t * Resets the number of max items to the given value\n\t *\n\t */\n\n\n\t setMaxItems(value) {\n\t if (value === 0) value = null; //reset to unlimited items.\n\n\t this.settings.maxItems = value;\n\t this.refreshState();\n\t }\n\t /**\n\t * Sets the selected item.\n\t *\n\t */\n\n\n\t setActiveItem(item, e) {\n\t var self = this;\n\t var eventName;\n\t var i, begin, end, swap;\n\t var last;\n\t if (self.settings.mode === 'single') return; // clear the active selection\n\n\t if (!item) {\n\t self.clearActiveItems();\n\n\t if (self.isFocused) {\n\t self.showInput();\n\t }\n\n\t return;\n\t } // modify selection\n\n\n\t eventName = e && e.type.toLowerCase();\n\n\t if (eventName === 'click' && isKeyDown('shiftKey', e) && self.activeItems.length) {\n\t last = self.getLastActive();\n\t begin = Array.prototype.indexOf.call(self.control.children, last);\n\t end = Array.prototype.indexOf.call(self.control.children, item);\n\n\t if (begin > end) {\n\t swap = begin;\n\t begin = end;\n\t end = swap;\n\t }\n\n\t for (i = begin; i <= end; i++) {\n\t item = self.control.children[i];\n\n\t if (self.activeItems.indexOf(item) === -1) {\n\t self.setActiveItemClass(item);\n\t }\n\t }\n\n\t preventDefault(e);\n\t } else if (eventName === 'click' && isKeyDown(KEY_SHORTCUT, e) || eventName === 'keydown' && isKeyDown('shiftKey', e)) {\n\t if (item.classList.contains('active')) {\n\t self.removeActiveItem(item);\n\t } else {\n\t self.setActiveItemClass(item);\n\t }\n\t } else {\n\t self.clearActiveItems();\n\t self.setActiveItemClass(item);\n\t } // ensure control has focus\n\n\n\t self.hideInput();\n\n\t if (!self.isFocused) {\n\t self.focus();\n\t }\n\t }\n\t /**\n\t * Set the active and last-active classes\n\t *\n\t */\n\n\n\t setActiveItemClass(item) {\n\t const self = this;\n\t const last_active = self.control.querySelector('.last-active');\n\t if (last_active) removeClasses(last_active, 'last-active');\n\t addClasses(item, 'active last-active');\n\t self.trigger('item_select', item);\n\n\t if (self.activeItems.indexOf(item) == -1) {\n\t self.activeItems.push(item);\n\t }\n\t }\n\t /**\n\t * Remove active item\n\t *\n\t */\n\n\n\t removeActiveItem(item) {\n\t var idx = this.activeItems.indexOf(item);\n\t this.activeItems.splice(idx, 1);\n\t removeClasses(item, 'active');\n\t }\n\t /**\n\t * Clears all the active items\n\t *\n\t */\n\n\n\t clearActiveItems() {\n\t removeClasses(this.activeItems, 'active');\n\t this.activeItems = [];\n\t }\n\t /**\n\t * Sets the selected item in the dropdown menu\n\t * of available options.\n\t *\n\t */\n\n\n\t setActiveOption(option) {\n\t if (option === this.activeOption) {\n\t return;\n\t }\n\n\t this.clearActiveOption();\n\t if (!option) return;\n\t this.activeOption = option;\n\t setAttr(this.focus_node, {\n\t 'aria-activedescendant': option.getAttribute('id')\n\t });\n\t setAttr(option, {\n\t 'aria-selected': 'true'\n\t });\n\t addClasses(option, 'active');\n\t this.scrollToOption(option);\n\t }\n\t /**\n\t * Sets the dropdown_content scrollTop to display the option\n\t *\n\t */\n\n\n\t scrollToOption(option, behavior) {\n\t if (!option) return;\n\t const content = this.dropdown_content;\n\t const height_menu = content.clientHeight;\n\t const scrollTop = content.scrollTop || 0;\n\t const height_item = option.offsetHeight;\n\t const y = option.getBoundingClientRect().top - content.getBoundingClientRect().top + scrollTop;\n\n\t if (y + height_item > height_menu + scrollTop) {\n\t this.scroll(y - height_menu + height_item, behavior);\n\t } else if (y < scrollTop) {\n\t this.scroll(y, behavior);\n\t }\n\t }\n\t /**\n\t * Scroll the dropdown to the given position\n\t *\n\t */\n\n\n\t scroll(scrollTop, behavior) {\n\t const content = this.dropdown_content;\n\n\t if (behavior) {\n\t content.style.scrollBehavior = behavior;\n\t }\n\n\t content.scrollTop = scrollTop;\n\t content.style.scrollBehavior = '';\n\t }\n\t /**\n\t * Clears the active option\n\t *\n\t */\n\n\n\t clearActiveOption() {\n\t if (this.activeOption) {\n\t removeClasses(this.activeOption, 'active');\n\t setAttr(this.activeOption, {\n\t 'aria-selected': null\n\t });\n\t }\n\n\t this.activeOption = null;\n\t setAttr(this.focus_node, {\n\t 'aria-activedescendant': null\n\t });\n\t }\n\t /**\n\t * Selects all items (CTRL + A).\n\t */\n\n\n\t selectAll() {\n\t if (this.settings.mode === 'single') return;\n\t const activeItems = this.controlChildren();\n\t if (!activeItems.length) return;\n\t this.hideInput();\n\t this.close();\n\t this.activeItems = activeItems;\n\t addClasses(activeItems, 'active');\n\t }\n\t /**\n\t * Determines if the control_input should be in a hidden or visible state\n\t *\n\t */\n\n\n\t inputState() {\n\t var self = this;\n\t if (!self.control.contains(self.control_input)) return;\n\t setAttr(self.control_input, {\n\t placeholder: self.settings.placeholder\n\t });\n\n\t if (self.activeItems.length > 0 || !self.isFocused && self.settings.hidePlaceholder && self.items.length > 0) {\n\t self.setTextboxValue();\n\t self.isInputHidden = true;\n\t } else {\n\t if (self.settings.hidePlaceholder && self.items.length > 0) {\n\t setAttr(self.control_input, {\n\t placeholder: ''\n\t });\n\t }\n\n\t self.isInputHidden = false;\n\t }\n\n\t self.wrapper.classList.toggle('input-hidden', self.isInputHidden);\n\t }\n\t /**\n\t * Hides the input element out of view, while\n\t * retaining its focus.\n\t * @deprecated 1.3\n\t */\n\n\n\t hideInput() {\n\t this.inputState();\n\t }\n\t /**\n\t * Restores input visibility.\n\t * @deprecated 1.3\n\t */\n\n\n\t showInput() {\n\t this.inputState();\n\t }\n\t /**\n\t * Get the input value\n\t */\n\n\n\t inputValue() {\n\t return this.control_input.value.trim();\n\t }\n\t /**\n\t * Gives the control focus.\n\t */\n\n\n\t focus() {\n\t var self = this;\n\t if (self.isDisabled) return;\n\t self.ignoreFocus = true;\n\n\t if (self.control_input.offsetWidth) {\n\t self.control_input.focus();\n\t } else {\n\t self.focus_node.focus();\n\t }\n\n\t setTimeout(() => {\n\t self.ignoreFocus = false;\n\t self.onFocus();\n\t }, 0);\n\t }\n\t /**\n\t * Forces the control out of focus.\n\t *\n\t */\n\n\n\t blur() {\n\t this.focus_node.blur();\n\t this.onBlur();\n\t }\n\t /**\n\t * Returns a function that scores an object\n\t * to show how good of a match it is to the\n\t * provided query.\n\t *\n\t * @return {function}\n\t */\n\n\n\t getScoreFunction(query) {\n\t return this.sifter.getScoreFunction(query, this.getSearchOptions());\n\t }\n\t /**\n\t * Returns search options for sifter (the system\n\t * for scoring and sorting results).\n\t *\n\t * @see https://github.com/orchidjs/sifter.js\n\t * @return {object}\n\t */\n\n\n\t getSearchOptions() {\n\t var settings = this.settings;\n\t var sort = settings.sortField;\n\n\t if (typeof settings.sortField === 'string') {\n\t sort = [{\n\t field: settings.sortField\n\t }];\n\t }\n\n\t return {\n\t fields: settings.searchField,\n\t conjunction: settings.searchConjunction,\n\t sort: sort,\n\t nesting: settings.nesting\n\t };\n\t }\n\t /**\n\t * Searches through available options and returns\n\t * a sorted array of matches.\n\t *\n\t */\n\n\n\t search(query) {\n\t var i, result, calculateScore;\n\t var self = this;\n\t var options = this.getSearchOptions(); // validate user-provided result scoring function\n\n\t if (self.settings.score) {\n\t calculateScore = self.settings.score.call(self, query);\n\n\t if (typeof calculateScore !== 'function') {\n\t throw new Error('Tom Select \"score\" setting must be a function that returns a function');\n\t }\n\t } // perform search\n\n\n\t if (query !== self.lastQuery) {\n\t self.lastQuery = query;\n\t result = self.sifter.search(query, Object.assign(options, {\n\t score: calculateScore\n\t }));\n\t self.currentResults = result;\n\t } else {\n\t result = Object.assign({}, self.currentResults);\n\t } // filter out selected items\n\n\n\t if (self.settings.hideSelected) {\n\t for (i = result.items.length - 1; i >= 0; i--) {\n\t let hashed = hash_key(result.items[i].id);\n\n\t if (hashed && self.items.indexOf(hashed) !== -1) {\n\t result.items.splice(i, 1);\n\t }\n\t }\n\t }\n\n\t return result;\n\t }\n\t /**\n\t * Refreshes the list of available options shown\n\t * in the autocomplete dropdown menu.\n\t *\n\t */\n\n\n\t refreshOptions(triggerDropdown = true) {\n\t var i, j, k, n, optgroup, optgroups, html, has_create_option, active_value, active_group;\n\t var create;\n\t const groups = {};\n\t const groups_order = [];\n\t var self = this;\n\t var query = self.inputValue();\n\t var results = self.search(query);\n\t var active_option = self.activeOption;\n\t var show_dropdown = self.settings.shouldOpen || false;\n\t var dropdown_content = self.dropdown_content;\n\n\t if (active_option) {\n\t active_value = active_option.dataset.value;\n\t active_group = active_option.closest('[data-group]');\n\t } // build markup\n\n\n\t n = results.items.length;\n\n\t if (typeof self.settings.maxOptions === 'number') {\n\t n = Math.min(n, self.settings.maxOptions);\n\t }\n\n\t if (n > 0) {\n\t show_dropdown = true;\n\t } // render and group available options individually\n\n\n\t for (i = 0; i < n; i++) {\n\t // get option dom element\n\t let opt_value = results.items[i].id;\n\t let option = self.options[opt_value];\n\t let option_el = self.getOption(opt_value, true); // toggle 'selected' class\n\n\t if (!self.settings.hideSelected) {\n\t option_el.classList.toggle('selected', self.items.includes(opt_value));\n\t }\n\n\t optgroup = option[self.settings.optgroupField] || '';\n\t optgroups = Array.isArray(optgroup) ? optgroup : [optgroup];\n\n\t for (j = 0, k = optgroups && optgroups.length; j < k; j++) {\n\t optgroup = optgroups[j];\n\n\t if (!self.optgroups.hasOwnProperty(optgroup)) {\n\t optgroup = '';\n\t }\n\n\t if (!groups.hasOwnProperty(optgroup)) {\n\t groups[optgroup] = document.createDocumentFragment();\n\t groups_order.push(optgroup);\n\t } // nodes can only have one parent, so if the option is in mutple groups, we need a clone\n\n\n\t if (j > 0) {\n\t option_el = option_el.cloneNode(true);\n\t setAttr(option_el, {\n\t id: option.$id + '-clone-' + j,\n\t 'aria-selected': null\n\t });\n\t option_el.classList.add('ts-cloned');\n\t removeClasses(option_el, 'active');\n\t } // make sure we keep the activeOption in the same group\n\n\n\t if (active_value == opt_value && active_group && active_group.dataset.group === optgroup) {\n\t active_option = option_el;\n\t }\n\n\t groups[optgroup].appendChild(option_el);\n\t }\n\t } // sort optgroups\n\n\n\t if (this.settings.lockOptgroupOrder) {\n\t groups_order.sort((a, b) => {\n\t var a_order = self.optgroups[a] && self.optgroups[a].$order || 0;\n\t var b_order = self.optgroups[b] && self.optgroups[b].$order || 0;\n\t return a_order - b_order;\n\t });\n\t } // render optgroup headers & join groups\n\n\n\t html = document.createDocumentFragment();\n\t iterate(groups_order, optgroup => {\n\t if (self.optgroups.hasOwnProperty(optgroup) && groups[optgroup].children.length) {\n\t let group_options = document.createDocumentFragment();\n\t let header = self.render('optgroup_header', self.optgroups[optgroup]);\n\t append(group_options, header);\n\t append(group_options, groups[optgroup]);\n\t let group_html = self.render('optgroup', {\n\t group: self.optgroups[optgroup],\n\t options: group_options\n\t });\n\t append(html, group_html);\n\t } else {\n\t append(html, groups[optgroup]);\n\t }\n\t });\n\t dropdown_content.innerHTML = '';\n\t append(dropdown_content, html); // highlight matching terms inline\n\n\t if (self.settings.highlight) {\n\t removeHighlight(dropdown_content);\n\n\t if (results.query.length && results.tokens.length) {\n\t iterate(results.tokens, tok => {\n\t highlight(dropdown_content, tok.regex);\n\t });\n\t }\n\t } // helper method for adding templates to dropdown\n\n\n\t var add_template = template => {\n\t let content = self.render(template, {\n\t input: query\n\t });\n\n\t if (content) {\n\t show_dropdown = true;\n\t dropdown_content.insertBefore(content, dropdown_content.firstChild);\n\t }\n\n\t return content;\n\t }; // add loading message\n\n\n\t if (self.loading) {\n\t add_template('loading'); // invalid query\n\t } else if (!self.settings.shouldLoad.call(self, query)) {\n\t add_template('not_loading'); // add no_results message\n\t } else if (results.items.length === 0) {\n\t add_template('no_results');\n\t } // add create option\n\n\n\t has_create_option = self.canCreate(query);\n\n\t if (has_create_option) {\n\t create = add_template('option_create');\n\t } // activate\n\n\n\t self.hasOptions = results.items.length > 0 || has_create_option;\n\n\t if (show_dropdown) {\n\t if (results.items.length > 0) {\n\t if (!dropdown_content.contains(active_option) && self.settings.mode === 'single' && self.items.length) {\n\t active_option = self.getOption(self.items[0]);\n\t }\n\n\t if (!dropdown_content.contains(active_option)) {\n\t let active_index = 0;\n\n\t if (create && !self.settings.addPrecedence) {\n\t active_index = 1;\n\t }\n\n\t active_option = self.selectable()[active_index];\n\t }\n\t } else if (create) {\n\t active_option = create;\n\t }\n\n\t if (triggerDropdown && !self.isOpen) {\n\t self.open();\n\t self.scrollToOption(active_option, 'auto');\n\t }\n\n\t self.setActiveOption(active_option);\n\t } else {\n\t self.clearActiveOption();\n\n\t if (triggerDropdown && self.isOpen) {\n\t self.close(false); // if create_option=null, we want the dropdown to close but not reset the textbox value\n\t }\n\t }\n\t }\n\t /**\n\t * Return list of selectable options\n\t *\n\t */\n\n\n\t selectable() {\n\t return this.dropdown_content.querySelectorAll('[data-selectable]');\n\t }\n\t /**\n\t * Adds an available option. If it already exists,\n\t * nothing will happen. Note: this does not refresh\n\t * the options list dropdown (use `refreshOptions`\n\t * for that).\n\t *\n\t * Usage:\n\t *\n\t * this.addOption(data)\n\t *\n\t */\n\n\n\t addOption(data, user_created = false) {\n\t const self = this; // @deprecated 1.7.7\n\t // use addOptions( array, user_created ) for adding multiple options\n\n\t if (Array.isArray(data)) {\n\t self.addOptions(data, user_created);\n\t return false;\n\t }\n\n\t const key = hash_key(data[self.settings.valueField]);\n\n\t if (key === null || self.options.hasOwnProperty(key)) {\n\t return false;\n\t }\n\n\t data.$order = data.$order || ++self.order;\n\t data.$id = self.inputId + '-opt-' + data.$order;\n\t self.options[key] = data;\n\t self.lastQuery = null;\n\n\t if (user_created) {\n\t self.userOptions[key] = user_created;\n\t self.trigger('option_add', key, data);\n\t }\n\n\t return key;\n\t }\n\t /**\n\t * Add multiple options\n\t *\n\t */\n\n\n\t addOptions(data, user_created = false) {\n\t iterate(data, dat => {\n\t this.addOption(dat, user_created);\n\t });\n\t }\n\t /**\n\t * @deprecated 1.7.7\n\t */\n\n\n\t registerOption(data) {\n\t return this.addOption(data);\n\t }\n\t /**\n\t * Registers an option group to the pool of option groups.\n\t *\n\t * @return {boolean|string}\n\t */\n\n\n\t registerOptionGroup(data) {\n\t var key = hash_key(data[this.settings.optgroupValueField]);\n\t if (key === null) return false;\n\t data.$order = data.$order || ++this.order;\n\t this.optgroups[key] = data;\n\t return key;\n\t }\n\t /**\n\t * Registers a new optgroup for options\n\t * to be bucketed into.\n\t *\n\t */\n\n\n\t addOptionGroup(id, data) {\n\t var hashed_id;\n\t data[this.settings.optgroupValueField] = id;\n\n\t if (hashed_id = this.registerOptionGroup(data)) {\n\t this.trigger('optgroup_add', hashed_id, data);\n\t }\n\t }\n\t /**\n\t * Removes an existing option group.\n\t *\n\t */\n\n\n\t removeOptionGroup(id) {\n\t if (this.optgroups.hasOwnProperty(id)) {\n\t delete this.optgroups[id];\n\t this.clearCache();\n\t this.trigger('optgroup_remove', id);\n\t }\n\t }\n\t /**\n\t * Clears all existing option groups.\n\t */\n\n\n\t clearOptionGroups() {\n\t this.optgroups = {};\n\t this.clearCache();\n\t this.trigger('optgroup_clear');\n\t }\n\t /**\n\t * Updates an option available for selection. If\n\t * it is visible in the selected items or options\n\t * dropdown, it will be re-rendered automatically.\n\t *\n\t */\n\n\n\t updateOption(value, data) {\n\t const self = this;\n\t var item_new;\n\t var index_item;\n\t const value_old = hash_key(value);\n\t const value_new = hash_key(data[self.settings.valueField]); // sanity checks\n\n\t if (value_old === null) return;\n\t if (!self.options.hasOwnProperty(value_old)) return;\n\t if (typeof value_new !== 'string') throw new Error('Value must be set in option data');\n\t const option = self.getOption(value_old);\n\t const item = self.getItem(value_old);\n\t data.$order = data.$order || self.options[value_old].$order;\n\t delete self.options[value_old]; // invalidate render cache\n\t // don't remove existing node yet, we'll remove it after replacing it\n\n\t self.uncacheValue(value_new);\n\t self.options[value_new] = data; // update the option if it's in the dropdown\n\n\t if (option) {\n\t if (self.dropdown_content.contains(option)) {\n\t const option_new = self._render('option', data);\n\n\t replaceNode(option, option_new);\n\n\t if (self.activeOption === option) {\n\t self.setActiveOption(option_new);\n\t }\n\t }\n\n\t option.remove();\n\t } // update the item if we have one\n\n\n\t if (item) {\n\t index_item = self.items.indexOf(value_old);\n\n\t if (index_item !== -1) {\n\t self.items.splice(index_item, 1, value_new);\n\t }\n\n\t item_new = self._render('item', data);\n\t if (item.classList.contains('active')) addClasses(item_new, 'active');\n\t replaceNode(item, item_new);\n\t } // invalidate last query because we might have updated the sortField\n\n\n\t self.lastQuery = null;\n\t }\n\t /**\n\t * Removes a single option.\n\t *\n\t */\n\n\n\t removeOption(value, silent) {\n\t const self = this;\n\t value = get_hash(value);\n\t self.uncacheValue(value);\n\t delete self.userOptions[value];\n\t delete self.options[value];\n\t self.lastQuery = null;\n\t self.trigger('option_remove', value);\n\t self.removeItem(value, silent);\n\t }\n\t /**\n\t * Clears all options.\n\t */\n\n\n\t clearOptions() {\n\t this.loadedSearches = {};\n\t this.userOptions = {};\n\t this.clearCache();\n\t var selected = {};\n\t iterate(this.options, (option, key) => {\n\t if (this.items.indexOf(key) >= 0) {\n\t selected[key] = this.options[key];\n\t }\n\t });\n\t this.options = this.sifter.items = selected;\n\t this.lastQuery = null;\n\t this.trigger('option_clear');\n\t }\n\t /**\n\t * Returns the dom element of the option\n\t * matching the given value.\n\t *\n\t */\n\n\n\t getOption(value, create = false) {\n\t const hashed = hash_key(value);\n\n\t if (hashed !== null && this.options.hasOwnProperty(hashed)) {\n\t const option = this.options[hashed];\n\n\t if (option.$div) {\n\t return option.$div;\n\t }\n\n\t if (create) {\n\t return this._render('option', option);\n\t }\n\t }\n\n\t return null;\n\t }\n\t /**\n\t * Returns the dom element of the next or previous dom element of the same type\n\t * Note: adjacent options may not be adjacent DOM elements (optgroups)\n\t *\n\t */\n\n\n\t getAdjacent(option, direction, type = 'option') {\n\t var self = this,\n\t all;\n\n\t if (!option) {\n\t return null;\n\t }\n\n\t if (type == 'item') {\n\t all = self.controlChildren();\n\t } else {\n\t all = self.dropdown_content.querySelectorAll('[data-selectable]');\n\t }\n\n\t for (let i = 0; i < all.length; i++) {\n\t if (all[i] != option) {\n\t continue;\n\t }\n\n\t if (direction > 0) {\n\t return all[i + 1];\n\t }\n\n\t return all[i - 1];\n\t }\n\n\t return null;\n\t }\n\t /**\n\t * Returns the dom element of the item\n\t * matching the given value.\n\t *\n\t */\n\n\n\t getItem(item) {\n\t if (typeof item == 'object') {\n\t return item;\n\t }\n\n\t var value = hash_key(item);\n\t return value !== null ? this.control.querySelector(`[data-value=\"${addSlashes(value)}\"]`) : null;\n\t }\n\t /**\n\t * \"Selects\" multiple items at once. Adds them to the list\n\t * at the current caret position.\n\t *\n\t */\n\n\n\t addItems(values, silent) {\n\t var self = this;\n\t var items = Array.isArray(values) ? values : [values];\n\t items = items.filter(x => self.items.indexOf(x) === -1);\n\n\t for (let i = 0, n = items.length; i < n; i++) {\n\t self.isPending = i < n - 1;\n\t self.addItem(items[i], silent);\n\t }\n\t }\n\t /**\n\t * \"Selects\" an item. Adds it to the list\n\t * at the current caret position.\n\t *\n\t */\n\n\n\t addItem(value, silent) {\n\t var events = silent ? [] : ['change', 'dropdown_close'];\n\t debounce_events(this, events, () => {\n\t var item, wasFull;\n\t const self = this;\n\t const inputMode = self.settings.mode;\n\t const hashed = hash_key(value);\n\n\t if (hashed && self.items.indexOf(hashed) !== -1) {\n\t if (inputMode === 'single') {\n\t self.close();\n\t }\n\n\t if (inputMode === 'single' || !self.settings.duplicates) {\n\t return;\n\t }\n\t }\n\n\t if (hashed === null || !self.options.hasOwnProperty(hashed)) return;\n\t if (inputMode === 'single') self.clear(silent);\n\t if (inputMode === 'multi' && self.isFull()) return;\n\t item = self._render('item', self.options[hashed]);\n\n\t if (self.control.contains(item)) {\n\t // duplicates\n\t item = item.cloneNode(true);\n\t }\n\n\t wasFull = self.isFull();\n\t self.items.splice(self.caretPos, 0, hashed);\n\t self.insertAtCaret(item);\n\n\t if (self.isSetup) {\n\t // update menu / remove the option (if this is not one item being added as part of series)\n\t if (!self.isPending && self.settings.hideSelected) {\n\t let option = self.getOption(hashed);\n\t let next = self.getAdjacent(option, 1);\n\n\t if (next) {\n\t self.setActiveOption(next);\n\t }\n\t } // refreshOptions after setActiveOption(),\n\t // otherwise setActiveOption() will be called by refreshOptions() with the wrong value\n\n\n\t if (!self.isPending && !self.settings.closeAfterSelect) {\n\t self.refreshOptions(self.isFocused && inputMode !== 'single');\n\t } // hide the menu if the maximum number of items have been selected or no options are left\n\n\n\t if (self.settings.closeAfterSelect != false && self.isFull()) {\n\t self.close();\n\t } else if (!self.isPending) {\n\t self.positionDropdown();\n\t }\n\n\t self.trigger('item_add', hashed, item);\n\n\t if (!self.isPending) {\n\t self.updateOriginalInput({\n\t silent: silent\n\t });\n\t }\n\t }\n\n\t if (!self.isPending || !wasFull && self.isFull()) {\n\t self.inputState();\n\t self.refreshState();\n\t }\n\t });\n\t }\n\t /**\n\t * Removes the selected item matching\n\t * the provided value.\n\t *\n\t */\n\n\n\t removeItem(item = null, silent) {\n\t const self = this;\n\t item = self.getItem(item);\n\t if (!item) return;\n\t var i, idx;\n\t const value = item.dataset.value;\n\t i = nodeIndex(item);\n\t item.remove();\n\n\t if (item.classList.contains('active')) {\n\t idx = self.activeItems.indexOf(item);\n\t self.activeItems.splice(idx, 1);\n\t removeClasses(item, 'active');\n\t }\n\n\t self.items.splice(i, 1);\n\t self.lastQuery = null;\n\n\t if (!self.settings.persist && self.userOptions.hasOwnProperty(value)) {\n\t self.removeOption(value, silent);\n\t }\n\n\t if (i < self.caretPos) {\n\t self.setCaret(self.caretPos - 1);\n\t }\n\n\t self.updateOriginalInput({\n\t silent: silent\n\t });\n\t self.refreshState();\n\t self.positionDropdown();\n\t self.trigger('item_remove', value, item);\n\t }\n\t /**\n\t * Invokes the `create` method provided in the\n\t * TomSelect options that should provide the data\n\t * for the new item, given the user input.\n\t *\n\t * Once this completes, it will be added\n\t * to the item list.\n\t *\n\t */\n\n\n\t createItem(input = null, triggerDropdown = true, callback = () => {}) {\n\t var self = this;\n\t var caret = self.caretPos;\n\t var output;\n\t input = input || self.inputValue();\n\n\t if (!self.canCreate(input)) {\n\t callback();\n\t return false;\n\t }\n\n\t self.lock();\n\t var created = false;\n\n\t var create = data => {\n\t self.unlock();\n\t if (!data || typeof data !== 'object') return callback();\n\t var value = hash_key(data[self.settings.valueField]);\n\n\t if (typeof value !== 'string') {\n\t return callback();\n\t }\n\n\t self.setTextboxValue();\n\t self.addOption(data, true);\n\t self.setCaret(caret);\n\t self.addItem(value);\n\t callback(data);\n\t created = true;\n\t };\n\n\t if (typeof self.settings.create === 'function') {\n\t output = self.settings.create.call(this, input, create);\n\t } else {\n\t output = {\n\t [self.settings.labelField]: input,\n\t [self.settings.valueField]: input\n\t };\n\t }\n\n\t if (!created) {\n\t create(output);\n\t }\n\n\t return true;\n\t }\n\t /**\n\t * Re-renders the selected item lists.\n\t */\n\n\n\t refreshItems() {\n\t var self = this;\n\t self.lastQuery = null;\n\n\t if (self.isSetup) {\n\t self.addItems(self.items);\n\t }\n\n\t self.updateOriginalInput();\n\t self.refreshState();\n\t }\n\t /**\n\t * Updates all state-dependent attributes\n\t * and CSS classes.\n\t */\n\n\n\t refreshState() {\n\t const self = this;\n\t self.refreshValidityState();\n\t const isFull = self.isFull();\n\t const isLocked = self.isLocked;\n\t self.wrapper.classList.toggle('rtl', self.rtl);\n\t const wrap_classList = self.wrapper.classList;\n\t wrap_classList.toggle('focus', self.isFocused);\n\t wrap_classList.toggle('disabled', self.isDisabled);\n\t wrap_classList.toggle('required', self.isRequired);\n\t wrap_classList.toggle('invalid', !self.isValid);\n\t wrap_classList.toggle('locked', isLocked);\n\t wrap_classList.toggle('full', isFull);\n\t wrap_classList.toggle('input-active', self.isFocused && !self.isInputHidden);\n\t wrap_classList.toggle('dropdown-active', self.isOpen);\n\t wrap_classList.toggle('has-options', isEmptyObject(self.options));\n\t wrap_classList.toggle('has-items', self.items.length > 0);\n\t }\n\t /**\n\t * Update the `required` attribute of both input and control input.\n\t *\n\t * The `required` property needs to be activated on the control input\n\t * for the error to be displayed at the right place. `required` also\n\t * needs to be temporarily deactivated on the input since the input is\n\t * hidden and can't show errors.\n\t */\n\n\n\t refreshValidityState() {\n\t var self = this;\n\n\t if (!self.input.checkValidity) {\n\t return;\n\t }\n\n\t self.isValid = self.input.checkValidity();\n\t self.isInvalid = !self.isValid;\n\t }\n\t /**\n\t * Determines whether or not more items can be added\n\t * to the control without exceeding the user-defined maximum.\n\t *\n\t * @returns {boolean}\n\t */\n\n\n\t isFull() {\n\t return this.settings.maxItems !== null && this.items.length >= this.settings.maxItems;\n\t }\n\t /**\n\t * Refreshes the original <select> or <input>\n\t * element to reflect the current state.\n\t *\n\t */\n\n\n\t updateOriginalInput(opts = {}) {\n\t const self = this;\n\t var option, label;\n\t const empty_option = self.input.querySelector('option[value=\"\"]');\n\n\t if (self.is_select_tag) {\n\t const selected = [];\n\n\t function AddSelected(option_el, value, label) {\n\t if (!option_el) {\n\t option_el = getDom('<option value=\"' + escape_html(value) + '\">' + escape_html(label) + '</option>');\n\t } // don't move empty option from top of list\n\t // fixes bug in firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1725293\t\t\t\t\n\n\n\t if (option_el != empty_option) {\n\t self.input.append(option_el);\n\t }\n\n\t selected.push(option_el);\n\t option_el.selected = true;\n\t return option_el;\n\t } // unselect all selected options\n\n\n\t self.input.querySelectorAll('option:checked').forEach(option_el => {\n\t option_el.selected = false;\n\t }); // nothing selected?\n\n\t if (self.items.length == 0 && self.settings.mode == 'single') {\n\t AddSelected(empty_option, \"\", \"\"); // order selected <option> tags for values in self.items\n\t } else {\n\t self.items.forEach(value => {\n\t option = self.options[value];\n\t label = option[self.settings.labelField] || '';\n\n\t if (selected.includes(option.$option)) {\n\t const reuse_opt = self.input.querySelector(`option[value=\"${addSlashes(value)}\"]:not(:checked)`);\n\t AddSelected(reuse_opt, value, label);\n\t } else {\n\t option.$option = AddSelected(option.$option, value, label);\n\t }\n\t });\n\t }\n\t } else {\n\t self.input.value = self.getValue();\n\t }\n\n\t if (self.isSetup) {\n\t if (!opts.silent) {\n\t self.trigger('change', self.getValue());\n\t }\n\t }\n\t }\n\t /**\n\t * Shows the autocomplete dropdown containing\n\t * the available options.\n\t */\n\n\n\t open() {\n\t var self = this;\n\t if (self.isLocked || self.isOpen || self.settings.mode === 'multi' && self.isFull()) return;\n\t self.isOpen = true;\n\t setAttr(self.focus_node, {\n\t 'aria-expanded': 'true'\n\t });\n\t self.refreshState();\n\t applyCSS(self.dropdown, {\n\t visibility: 'hidden',\n\t display: 'block'\n\t });\n\t self.positionDropdown();\n\t applyCSS(self.dropdown, {\n\t visibility: 'visible',\n\t display: 'block'\n\t });\n\t self.focus();\n\t self.trigger('dropdown_open', self.dropdown);\n\t }\n\t /**\n\t * Closes the autocomplete dropdown menu.\n\t */\n\n\n\t close(setTextboxValue = true) {\n\t var self = this;\n\t var trigger = self.isOpen;\n\n\t if (setTextboxValue) {\n\t // before blur() to prevent form onchange event\n\t self.setTextboxValue();\n\n\t if (self.settings.mode === 'single' && self.items.length) {\n\t self.hideInput();\n\t }\n\t }\n\n\t self.isOpen = false;\n\t setAttr(self.focus_node, {\n\t 'aria-expanded': 'false'\n\t });\n\t applyCSS(self.dropdown, {\n\t display: 'none'\n\t });\n\n\t if (self.settings.hideSelected) {\n\t self.clearActiveOption();\n\t }\n\n\t self.refreshState();\n\t if (trigger) self.trigger('dropdown_close', self.dropdown);\n\t }\n\t /**\n\t * Calculates and applies the appropriate\n\t * position of the dropdown if dropdownParent = 'body'.\n\t * Otherwise, position is determined by css\n\t */\n\n\n\t positionDropdown() {\n\t if (this.settings.dropdownParent !== 'body') {\n\t return;\n\t }\n\n\t var context = this.control;\n\t var rect = context.getBoundingClientRect();\n\t var top = context.offsetHeight + rect.top + window.scrollY;\n\t var left = rect.left + window.scrollX;\n\t applyCSS(this.dropdown, {\n\t width: rect.width + 'px',\n\t top: top + 'px',\n\t left: left + 'px'\n\t });\n\t }\n\t /**\n\t * Resets / clears all selected items\n\t * from the control.\n\t *\n\t */\n\n\n\t clear(silent) {\n\t var self = this;\n\t if (!self.items.length) return;\n\t var items = self.controlChildren();\n\t iterate(items, item => {\n\t self.removeItem(item, true);\n\t });\n\t self.showInput();\n\t if (!silent) self.updateOriginalInput();\n\t self.trigger('clear');\n\t }\n\t /**\n\t * A helper method for inserting an element\n\t * at the current caret position.\n\t *\n\t */\n\n\n\t insertAtCaret(el) {\n\t const self = this;\n\t const caret = self.caretPos;\n\t const target = self.control;\n\t target.insertBefore(el, target.children[caret]);\n\t self.setCaret(caret + 1);\n\t }\n\t /**\n\t * Removes the current selected item(s).\n\t *\n\t */\n\n\n\t deleteSelection(e) {\n\t var direction, selection, caret, tail;\n\t var self = this;\n\t direction = e && e.keyCode === KEY_BACKSPACE ? -1 : 1;\n\t selection = getSelection(self.control_input); // determine items that will be removed\n\n\t const rm_items = [];\n\n\t if (self.activeItems.length) {\n\t tail = getTail(self.activeItems, direction);\n\t caret = nodeIndex(tail);\n\n\t if (direction > 0) {\n\t caret++;\n\t }\n\n\t iterate(self.activeItems, item => rm_items.push(item));\n\t } else if ((self.isFocused || self.settings.mode === 'single') && self.items.length) {\n\t const items = self.controlChildren();\n\n\t if (direction < 0 && selection.start === 0 && selection.length === 0) {\n\t rm_items.push(items[self.caretPos - 1]);\n\t } else if (direction > 0 && selection.start === self.inputValue().length) {\n\t rm_items.push(items[self.caretPos]);\n\t }\n\t }\n\n\t const values = rm_items.map(item => item.dataset.value); // allow the callback to abort\n\n\t if (!values.length || typeof self.settings.onDelete === 'function' && self.settings.onDelete.call(self, values, e) === false) {\n\t return false;\n\t }\n\n\t preventDefault(e, true); // perform removal\n\n\t if (typeof caret !== 'undefined') {\n\t self.setCaret(caret);\n\t }\n\n\t while (rm_items.length) {\n\t self.removeItem(rm_items.pop());\n\t }\n\n\t self.showInput();\n\t self.positionDropdown();\n\t self.refreshOptions(false);\n\t return true;\n\t }\n\t /**\n\t * Selects the previous / next item (depending on the `direction` argument).\n\t *\n\t * > 0 - right\n\t * < 0 - left\n\t *\n\t */\n\n\n\t advanceSelection(direction, e) {\n\t var last_active,\n\t adjacent,\n\t self = this;\n\t if (self.rtl) direction *= -1;\n\t if (self.inputValue().length) return; // add or remove to active items\n\n\t if (isKeyDown(KEY_SHORTCUT, e) || isKeyDown('shiftKey', e)) {\n\t last_active = self.getLastActive(direction);\n\n\t if (last_active) {\n\t if (!last_active.classList.contains('active')) {\n\t adjacent = last_active;\n\t } else {\n\t adjacent = self.getAdjacent(last_active, direction, 'item');\n\t } // if no active item, get items adjacent to the control input\n\n\t } else if (direction > 0) {\n\t adjacent = self.control_input.nextElementSibling;\n\t } else {\n\t adjacent = self.control_input.previousElementSibling;\n\t }\n\n\t if (adjacent) {\n\t if (adjacent.classList.contains('active')) {\n\t self.removeActiveItem(last_active);\n\t }\n\n\t self.setActiveItemClass(adjacent); // mark as last_active !! after removeActiveItem() on last_active\n\t } // move caret to the left or right\n\n\t } else {\n\t self.moveCaret(direction);\n\t }\n\t }\n\n\t moveCaret(direction) {}\n\t /**\n\t * Get the last active item\n\t *\n\t */\n\n\n\t getLastActive(direction) {\n\t let last_active = this.control.querySelector('.last-active');\n\n\t if (last_active) {\n\t return last_active;\n\t }\n\n\t var result = this.control.querySelectorAll('.active');\n\n\t if (result) {\n\t return getTail(result, direction);\n\t }\n\t }\n\t /**\n\t * Moves the caret to the specified index.\n\t *\n\t * The input must be moved by leaving it in place and moving the\n\t * siblings, due to the fact that focus cannot be restored once lost\n\t * on mobile webkit devices\n\t *\n\t */\n\n\n\t setCaret(new_pos) {\n\t this.caretPos = this.items.length;\n\t }\n\t /**\n\t * Return list of item dom elements\n\t *\n\t */\n\n\n\t controlChildren() {\n\t return Array.from(this.control.querySelectorAll('[data-ts-item]'));\n\t }\n\t /**\n\t * Disables user input on the control. Used while\n\t * items are being asynchronously created.\n\t */\n\n\n\t lock() {\n\t this.isLocked = true;\n\t this.refreshState();\n\t }\n\t /**\n\t * Re-enables user input on the control.\n\t */\n\n\n\t unlock() {\n\t this.isLocked = false;\n\t this.refreshState();\n\t }\n\t /**\n\t * Disables user input on the control completely.\n\t * While disabled, it cannot receive focus.\n\t */\n\n\n\t disable() {\n\t var self = this;\n\t self.input.disabled = true;\n\t self.control_input.disabled = true;\n\t self.focus_node.tabIndex = -1;\n\t self.isDisabled = true;\n\t this.close();\n\t self.lock();\n\t }\n\t /**\n\t * Enables the control so that it can respond\n\t * to focus and user input.\n\t */\n\n\n\t enable() {\n\t var self = this;\n\t self.input.disabled = false;\n\t self.control_input.disabled = false;\n\t self.focus_node.tabIndex = self.tabIndex;\n\t self.isDisabled = false;\n\t self.unlock();\n\t }\n\t /**\n\t * Completely destroys the control and\n\t * unbinds all event listeners so that it can\n\t * be garbage collected.\n\t */\n\n\n\t destroy() {\n\t var self = this;\n\t var revertSettings = self.revertSettings;\n\t self.trigger('destroy');\n\t self.off();\n\t self.wrapper.remove();\n\t self.dropdown.remove();\n\t self.input.innerHTML = revertSettings.innerHTML;\n\t self.input.tabIndex = revertSettings.tabIndex;\n\t removeClasses(self.input, 'tomselected', 'ts-hidden-accessible');\n\n\t self._destroy();\n\n\t delete self.input.tomselect;\n\t }\n\t /**\n\t * A helper method for rendering \"item\" and\n\t * \"option\" templates, given the data.\n\t *\n\t */\n\n\n\t render(templateName, data) {\n\t if (typeof this.settings.render[templateName] !== 'function') {\n\t return null;\n\t }\n\n\t return this._render(templateName, data);\n\t }\n\t /**\n\t * _render() can be called directly when we know we don't want to hit the cache\n\t * return type could be null for some templates, we need https://github.com/microsoft/TypeScript/issues/33014\n\t */\n\n\n\t _render(templateName, data) {\n\t var value = '',\n\t id,\n\t html;\n\t const self = this;\n\n\t if (templateName === 'option' || templateName == 'item') {\n\t value = get_hash(data[self.settings.valueField]);\n\t } // render markup\n\n\n\t html = self.settings.render[templateName].call(this, data, escape_html);\n\n\t if (html == null) {\n\t return html;\n\t }\n\n\t html = getDom(html); // add mandatory attributes\n\n\t if (templateName === 'option' || templateName === 'option_create') {\n\t if (data[self.settings.disabledField]) {\n\t setAttr(html, {\n\t 'aria-disabled': 'true'\n\t });\n\t } else {\n\t setAttr(html, {\n\t 'data-selectable': ''\n\t });\n\t }\n\t } else if (templateName === 'optgroup') {\n\t id = data.group[self.settings.optgroupValueField];\n\t setAttr(html, {\n\t 'data-group': id\n\t });\n\n\t if (data.group[self.settings.disabledField]) {\n\t setAttr(html, {\n\t 'data-disabled': ''\n\t });\n\t }\n\t }\n\n\t if (templateName === 'option' || templateName === 'item') {\n\t setAttr(html, {\n\t 'data-value': value\n\t }); // make sure we have some classes if a template is overwritten\n\n\t if (templateName === 'item') {\n\t addClasses(html, self.settings.itemClass);\n\t setAttr(html, {\n\t 'data-ts-item': ''\n\t });\n\t } else {\n\t addClasses(html, self.settings.optionClass);\n\t setAttr(html, {\n\t role: 'option',\n\t id: data.$id\n\t }); // update cache\n\n\t self.options[value].$div = html;\n\t }\n\t }\n\n\t return html;\n\t }\n\t /**\n\t * Clears the render cache for a template. If\n\t * no template is given, clears all render\n\t * caches.\n\t *\n\t */\n\n\n\t clearCache() {\n\t iterate(this.options, (option, value) => {\n\t if (option.$div) {\n\t option.$div.remove();\n\t delete option.$div;\n\t }\n\t });\n\t }\n\t /**\n\t * Removes a value from item and option caches\n\t *\n\t */\n\n\n\t uncacheValue(value) {\n\t const option_el = this.getOption(value);\n\t if (option_el) option_el.remove();\n\t }\n\t /**\n\t * Determines whether or not to display the\n\t * create item prompt, given a user input.\n\t *\n\t */\n\n\n\t canCreate(input) {\n\t return this.settings.create && input.length > 0 && this.settings.createFilter.call(this, input);\n\t }\n\t /**\n\t * Wraps this.`method` so that `new_fn` can be invoked 'before', 'after', or 'instead' of the original method\n\t *\n\t * this.hook('instead','onKeyDown',function( arg1, arg2 ...){\n\t *\n\t * });\n\t */\n\n\n\t hook(when, method, new_fn) {\n\t var self = this;\n\t var orig_method = self[method];\n\n\t self[method] = function () {\n\t var result, result_new;\n\n\t if (when === 'after') {\n\t result = orig_method.apply(self, arguments);\n\t }\n\n\t result_new = new_fn.apply(self, arguments);\n\n\t if (when === 'instead') {\n\t return result_new;\n\t }\n\n\t if (when === 'before') {\n\t result = orig_method.apply(self, arguments);\n\t }\n\n\t return result;\n\t };\n\t }\n\n\t}\n\n\t/**\n\t * Plugin: \"change_listener\" (Tom Select)\n\t * Copyright (c) contributors\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this\n\t * file except in compliance with the License. You may obtain a copy of the License at:\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software distributed under\n\t * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF\n\t * ANY KIND, either express or implied. See the License for the specific language\n\t * governing permissions and limitations under the License.\n\t *\n\t */\n\tfunction change_listener () {\n\t addEvent(this.input, 'change', () => {\n\t this.sync();\n\t });\n\t}\n\n\t/**\n\t * Plugin: \"restore_on_backspace\" (Tom Select)\n\t * Copyright (c) contributors\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this\n\t * file except in compliance with the License. You may obtain a copy of the License at:\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software distributed under\n\t * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF\n\t * ANY KIND, either express or implied. See the License for the specific language\n\t * governing permissions and limitations under the License.\n\t *\n\t */\n\tfunction checkbox_options () {\n\t var self = this;\n\t var orig_onOptionSelect = self.onOptionSelect;\n\t self.settings.hideSelected = false; // update the checkbox for an option\n\n\t var UpdateCheckbox = function UpdateCheckbox(option) {\n\t setTimeout(() => {\n\t var checkbox = option.querySelector('input');\n\n\t if (option.classList.contains('selected')) {\n\t checkbox.checked = true;\n\t } else {\n\t checkbox.checked = false;\n\t }\n\t }, 1);\n\t }; // add checkbox to option template\n\n\n\t self.hook('after', 'setupTemplates', () => {\n\t var orig_render_option = self.settings.render.option;\n\n\t self.settings.render.option = (data, escape_html) => {\n\t var rendered = getDom(orig_render_option.call(self, data, escape_html));\n\t var checkbox = document.createElement('input');\n\t checkbox.addEventListener('click', function (evt) {\n\t preventDefault(evt);\n\t });\n\t checkbox.type = 'checkbox';\n\t const hashed = hash_key(data[self.settings.valueField]);\n\n\t if (hashed && self.items.indexOf(hashed) > -1) {\n\t checkbox.checked = true;\n\t }\n\n\t rendered.prepend(checkbox);\n\t return rendered;\n\t };\n\t }); // uncheck when item removed\n\n\t self.on('item_remove', value => {\n\t var option = self.getOption(value);\n\n\t if (option) {\n\t // if dropdown hasn't been opened yet, the option won't exist\n\t option.classList.remove('selected'); // selected class won't be removed yet\n\n\t UpdateCheckbox(option);\n\t }\n\t }); // remove items when selected option is clicked\n\n\t self.hook('instead', 'onOptionSelect', (evt, option) => {\n\t if (option.classList.contains('selected')) {\n\t option.classList.remove('selected');\n\t self.removeItem(option.dataset.value);\n\t self.refreshOptions();\n\t preventDefault(evt, true);\n\t return;\n\t }\n\n\t orig_onOptionSelect.call(self, evt, option);\n\t UpdateCheckbox(option);\n\t });\n\t}\n\n\t/**\n\t * Plugin: \"dropdown_header\" (Tom Select)\n\t * Copyright (c) contributors\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this\n\t * file except in compliance with the License. You may obtain a copy of the License at:\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software distributed under\n\t * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF\n\t * ANY KIND, either express or implied. See the License for the specific language\n\t * governing permissions and limitations under the License.\n\t *\n\t */\n\tfunction clear_button (userOptions) {\n\t const self = this;\n\t const options = Object.assign({\n\t className: 'clear-button',\n\t title: 'Clear All',\n\t html: data => {\n\t return `<div class=\"${data.className}\" title=\"${data.title}\">×</div>`;\n\t }\n\t }, userOptions);\n\t self.on('initialize', () => {\n\t var button = getDom(options.html(options));\n\t button.addEventListener('click', evt => {\n\t self.clear();\n\n\t if (self.settings.mode === 'single' && self.settings.allowEmptyOption) {\n\t self.addItem('');\n\t }\n\n\t evt.preventDefault();\n\t evt.stopPropagation();\n\t });\n\t self.control.appendChild(button);\n\t });\n\t}\n\n\t/**\n\t * Plugin: \"drag_drop\" (Tom Select)\n\t * Copyright (c) contributors\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this\n\t * file except in compliance with the License. You may obtain a copy of the License at:\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software distributed under\n\t * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF\n\t * ANY KIND, either express or implied. See the License for the specific language\n\t * governing permissions and limitations under the License.\n\t *\n\t */\n\tfunction drag_drop () {\n\t var self = this;\n\t if (!$.fn.sortable) throw new Error('The \"drag_drop\" plugin requires jQuery UI \"sortable\".');\n\t if (self.settings.mode !== 'multi') return;\n\t var orig_lock = self.lock;\n\t var orig_unlock = self.unlock;\n\t self.hook('instead', 'lock', () => {\n\t var sortable = $(self.control).data('sortable');\n\t if (sortable) sortable.disable();\n\t return orig_lock.call(self);\n\t });\n\t self.hook('instead', 'unlock', () => {\n\t var sortable = $(self.control).data('sortable');\n\t if (sortable) sortable.enable();\n\t return orig_unlock.call(self);\n\t });\n\t self.on('initialize', () => {\n\t var $control = $(self.control).sortable({\n\t items: '[data-value]',\n\t forcePlaceholderSize: true,\n\t disabled: self.isLocked,\n\t start: (e, ui) => {\n\t ui.placeholder.css('width', ui.helper.css('width'));\n\t $control.css({\n\t overflow: 'visible'\n\t });\n\t },\n\t stop: () => {\n\t $control.css({\n\t overflow: 'hidden'\n\t });\n\t var values = [];\n\t $control.children('[data-value]').each(function () {\n\t if (this.dataset.value) values.push(this.dataset.value);\n\t });\n\t self.setValue(values);\n\t }\n\t });\n\t });\n\t}\n\n\t/**\n\t * Plugin: \"dropdown_header\" (Tom Select)\n\t * Copyright (c) contributors\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this\n\t * file except in compliance with the License. You may obtain a copy of the License at:\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software distributed under\n\t * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF\n\t * ANY KIND, either express or implied. See the License for the specific language\n\t * governing permissions and limitations under the License.\n\t *\n\t */\n\tfunction dropdown_header (userOptions) {\n\t const self = this;\n\t const options = Object.assign({\n\t title: 'Untitled',\n\t headerClass: 'dropdown-header',\n\t titleRowClass: 'dropdown-header-title',\n\t labelClass: 'dropdown-header-label',\n\t closeClass: 'dropdown-header-close',\n\t html: data => {\n\t return '<div class=\"' + data.headerClass + '\">' + '<div class=\"' + data.titleRowClass + '\">' + '<span class=\"' + data.labelClass + '\">' + data.title + '</span>' + '<a class=\"' + data.closeClass + '\">×</a>' + '</div>' + '</div>';\n\t }\n\t }, userOptions);\n\t self.on('initialize', () => {\n\t var header = getDom(options.html(options));\n\t var close_link = header.querySelector('.' + options.closeClass);\n\n\t if (close_link) {\n\t close_link.addEventListener('click', evt => {\n\t preventDefault(evt, true);\n\t self.close();\n\t });\n\t }\n\n\t self.dropdown.insertBefore(header, self.dropdown.firstChild);\n\t });\n\t}\n\n\t/**\n\t * Plugin: \"dropdown_input\" (Tom Select)\n\t * Copyright (c) contributors\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this\n\t * file except in compliance with the License. You may obtain a copy of the License at:\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software distributed under\n\t * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF\n\t * ANY KIND, either express or implied. See the License for the specific language\n\t * governing permissions and limitations under the License.\n\t *\n\t */\n\tfunction caret_position () {\n\t var self = this;\n\t /**\n\t * Moves the caret to the specified index.\n\t *\n\t * The input must be moved by leaving it in place and moving the\n\t * siblings, due to the fact that focus cannot be restored once lost\n\t * on mobile webkit devices\n\t *\n\t */\n\n\t self.hook('instead', 'setCaret', new_pos => {\n\t if (self.settings.mode === 'single' || !self.control.contains(self.control_input)) {\n\t new_pos = self.items.length;\n\t } else {\n\t new_pos = Math.max(0, Math.min(self.items.length, new_pos));\n\n\t if (new_pos != self.caretPos && !self.isPending) {\n\t self.controlChildren().forEach((child, j) => {\n\t if (j < new_pos) {\n\t self.control_input.insertAdjacentElement('beforebegin', child);\n\t } else {\n\t self.control.appendChild(child);\n\t }\n\t });\n\t }\n\t }\n\n\t self.caretPos = new_pos;\n\t });\n\t self.hook('instead', 'moveCaret', direction => {\n\t if (!self.isFocused) return; // move caret before or after selected items\n\n\t const last_active = self.getLastActive(direction);\n\n\t if (last_active) {\n\t const idx = nodeIndex(last_active);\n\t self.setCaret(direction > 0 ? idx + 1 : idx);\n\t self.setActiveItem(); // move caret left or right of current position\n\t } else {\n\t self.setCaret(self.caretPos + direction);\n\t }\n\t });\n\t}\n\n\t/**\n\t * Plugin: \"dropdown_input\" (Tom Select)\n\t * Copyright (c) contributors\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this\n\t * file except in compliance with the License. You may obtain a copy of the License at:\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software distributed under\n\t * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF\n\t * ANY KIND, either express or implied. See the License for the specific language\n\t * governing permissions and limitations under the License.\n\t *\n\t */\n\tfunction dropdown_input () {\n\t var self = this;\n\t self.settings.shouldOpen = true; // make sure the input is shown even if there are no options to display in the dropdown\n\n\t self.hook('before', 'setup', () => {\n\t self.focus_node = self.control;\n\t addClasses(self.control_input, 'dropdown-input');\n\t const div = getDom('<div class=\"dropdown-input-wrap\">');\n\t div.append(self.control_input);\n\t self.dropdown.insertBefore(div, self.dropdown.firstChild);\n\t });\n\t self.on('initialize', () => {\n\t // set tabIndex on control to -1, otherwise [shift+tab] will put focus right back on control_input\n\t self.control_input.addEventListener('keydown', evt => {\n\t //addEvent(self.control_input,'keydown' as const,(evt:KeyboardEvent) =>{\n\t switch (evt.keyCode) {\n\t case KEY_ESC:\n\t if (self.isOpen) {\n\t preventDefault(evt, true);\n\t self.close();\n\t }\n\n\t self.clearActiveItems();\n\t return;\n\n\t case KEY_TAB:\n\t self.focus_node.tabIndex = -1;\n\t break;\n\t }\n\n\t return self.onKeyDown.call(self, evt);\n\t });\n\t self.on('blur', () => {\n\t self.focus_node.tabIndex = self.isDisabled ? -1 : self.tabIndex;\n\t }); // give the control_input focus when the dropdown is open\n\n\t self.on('dropdown_open', () => {\n\t self.control_input.focus();\n\t }); // prevent onBlur from closing when focus is on the control_input\n\n\t const orig_onBlur = self.onBlur;\n\t self.hook('instead', 'onBlur', evt => {\n\t if (evt && evt.relatedTarget == self.control_input) return;\n\t return orig_onBlur.call(self);\n\t });\n\t addEvent(self.control_input, 'blur', () => self.onBlur()); // return focus to control to allow further keyboard input\n\n\t self.hook('before', 'close', () => {\n\t if (!self.isOpen) return;\n\t self.focus_node.focus();\n\t });\n\t });\n\t}\n\n\t/**\n\t * Plugin: \"input_autogrow\" (Tom Select)\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this\n\t * file except in compliance with the License. You may obtain a copy of the License at:\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software distributed under\n\t * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF\n\t * ANY KIND, either express or implied. See the License for the specific language\n\t * governing permissions and limitations under the License.\n\t *\n\t */\n\tfunction input_autogrow () {\n\t var self = this;\n\t self.on('initialize', () => {\n\t var test_input = document.createElement('span');\n\t var control = self.control_input;\n\t test_input.style.cssText = 'position:absolute; top:-99999px; left:-99999px; width:auto; padding:0; white-space:pre; ';\n\t self.wrapper.appendChild(test_input);\n\t var transfer_styles = ['letterSpacing', 'fontSize', 'fontFamily', 'fontWeight', 'textTransform'];\n\n\t for (const style_name of transfer_styles) {\n\t // @ts-ignore TS7015 https://stackoverflow.com/a/50506154/697576\n\t test_input.style[style_name] = control.style[style_name];\n\t }\n\t /**\n\t * Set the control width\n\t *\n\t */\n\n\n\t var resize = () => {\n\t if (self.items.length > 0) {\n\t test_input.textContent = control.value;\n\t control.style.width = test_input.clientWidth + 'px';\n\t } else {\n\t control.style.width = '';\n\t }\n\t };\n\n\t resize();\n\t self.on('update item_add item_remove', resize);\n\t addEvent(control, 'input', resize);\n\t addEvent(control, 'keyup', resize);\n\t addEvent(control, 'blur', resize);\n\t addEvent(control, 'update', resize);\n\t });\n\t}\n\n\t/**\n\t * Plugin: \"input_autogrow\" (Tom Select)\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this\n\t * file except in compliance with the License. You may obtain a copy of the License at:\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software distributed under\n\t * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF\n\t * ANY KIND, either express or implied. See the License for the specific language\n\t * governing permissions and limitations under the License.\n\t *\n\t */\n\tfunction no_backspace_delete () {\n\t var self = this;\n\t var orig_deleteSelection = self.deleteSelection;\n\t this.hook('instead', 'deleteSelection', evt => {\n\t if (self.activeItems.length) {\n\t return orig_deleteSelection.call(self, evt);\n\t }\n\n\t return false;\n\t });\n\t}\n\n\t/**\n\t * Plugin: \"input_autogrow\" (Tom Select)\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this\n\t * file except in compliance with the License. You may obtain a copy of the License at:\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software distributed under\n\t * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF\n\t * ANY KIND, either express or implied. See the License for the specific language\n\t * governing permissions and limitations under the License.\n\t *\n\t */\n\tfunction no_active_items () {\n\t this.hook('instead', 'setActiveItem', () => {});\n\t this.hook('instead', 'selectAll', () => {});\n\t}\n\n\t/**\n\t * Plugin: \"optgroup_columns\" (Tom Select.js)\n\t * Copyright (c) contributors\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this\n\t * file except in compliance with the License. You may obtain a copy of the License at:\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software distributed under\n\t * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF\n\t * ANY KIND, either express or implied. See the License for the specific language\n\t * governing permissions and limitations under the License.\n\t *\n\t */\n\tfunction optgroup_columns () {\n\t var self = this;\n\t var orig_keydown = self.onKeyDown;\n\t self.hook('instead', 'onKeyDown', evt => {\n\t var index, option, options, optgroup;\n\n\t if (!self.isOpen || !(evt.keyCode === KEY_LEFT || evt.keyCode === KEY_RIGHT)) {\n\t return orig_keydown.call(self, evt);\n\t }\n\n\t optgroup = parentMatch(self.activeOption, '[data-group]');\n\t index = nodeIndex(self.activeOption, '[data-selectable]');\n\n\t if (!optgroup) {\n\t return;\n\t }\n\n\t if (evt.keyCode === KEY_LEFT) {\n\t optgroup = optgroup.previousSibling;\n\t } else {\n\t optgroup = optgroup.nextSibling;\n\t }\n\n\t if (!optgroup) {\n\t return;\n\t }\n\n\t options = optgroup.querySelectorAll('[data-selectable]');\n\t option = options[Math.min(options.length - 1, index)];\n\n\t if (option) {\n\t self.setActiveOption(option);\n\t }\n\t });\n\t}\n\n\t/**\n\t * Plugin: \"remove_button\" (Tom Select)\n\t * Copyright (c) contributors\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this\n\t * file except in compliance with the License. You may obtain a copy of the License at:\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software distributed under\n\t * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF\n\t * ANY KIND, either express or implied. See the License for the specific language\n\t * governing permissions and limitations under the License.\n\t *\n\t */\n\tfunction remove_button (userOptions) {\n\t const options = Object.assign({\n\t label: '×',\n\t title: 'Remove',\n\t className: 'remove',\n\t append: true\n\t }, userOptions); //options.className = 'remove-single';\n\n\t var self = this; // override the render method to add remove button to each item\n\n\t if (!options.append) {\n\t return;\n\t }\n\n\t var html = '<a href=\"javascript:void(0)\" class=\"' + options.className + '\" tabindex=\"-1\" title=\"' + escape_html(options.title) + '\">' + options.label + '</a>';\n\t self.hook('after', 'setupTemplates', () => {\n\t var orig_render_item = self.settings.render.item;\n\n\t self.settings.render.item = (data, escape) => {\n\t var rendered = getDom(orig_render_item.call(self, data, escape));\n\t var close_button = getDom(html);\n\t rendered.appendChild(close_button);\n\t addEvent(close_button, 'mousedown', evt => {\n\t preventDefault(evt, true);\n\t });\n\t addEvent(close_button, 'click', evt => {\n\t // propagating will trigger the dropdown to show for single mode\n\t preventDefault(evt, true);\n\t if (self.isLocked) return;\n\t var value = rendered.dataset.value;\n\t self.removeItem(value);\n\t self.refreshOptions(false);\n\t });\n\t return rendered;\n\t };\n\t });\n\t}\n\n\t/**\n\t * Plugin: \"restore_on_backspace\" (Tom Select)\n\t * Copyright (c) contributors\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this\n\t * file except in compliance with the License. You may obtain a copy of the License at:\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software distributed under\n\t * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF\n\t * ANY KIND, either express or implied. See the License for the specific language\n\t * governing permissions and limitations under the License.\n\t *\n\t */\n\tfunction restore_on_backspace (userOptions) {\n\t const self = this;\n\t const options = Object.assign({\n\t text: option => {\n\t return option[self.settings.labelField];\n\t }\n\t }, userOptions);\n\t self.on('item_remove', function (value) {\n\t if (self.control_input.value.trim() === '') {\n\t var option = self.options[value];\n\n\t if (option) {\n\t self.setTextboxValue(options.text.call(self, option));\n\t }\n\t }\n\t });\n\t}\n\n\t/**\n\t * Plugin: \"restore_on_backspace\" (Tom Select)\n\t * Copyright (c) contributors\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this\n\t * file except in compliance with the License. You may obtain a copy of the License at:\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software distributed under\n\t * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF\n\t * ANY KIND, either express or implied. See the License for the specific language\n\t * governing permissions and limitations under the License.\n\t *\n\t */\n\tfunction virtual_scroll () {\n\t const self = this;\n\t const orig_canLoad = self.canLoad;\n\t const orig_clearActiveOption = self.clearActiveOption;\n\t const orig_loadCallback = self.loadCallback;\n\t var pagination = {};\n\t var dropdown_content;\n\t var loading_more = false;\n\n\t if (!self.settings.firstUrl) {\n\t throw 'virtual_scroll plugin requires a firstUrl() method';\n\t } // in order for virtual scrolling to work,\n\t // options need to be ordered the same way they're returned from the remote data source\n\n\n\t self.settings.sortField = [{\n\t field: '$order'\n\t }, {\n\t field: '$score'\n\t }]; // can we load more results for given query?\n\n\t function canLoadMore(query) {\n\t if (typeof self.settings.maxOptions === 'number' && dropdown_content.children.length >= self.settings.maxOptions) {\n\t return false;\n\t }\n\n\t if (query in pagination && pagination[query]) {\n\t return true;\n\t }\n\n\t return false;\n\t } // set the next url that will be\n\n\n\t self.setNextUrl = function (value, next_url) {\n\t pagination[value] = next_url;\n\t }; // getUrl() to be used in settings.load()\n\n\n\t self.getUrl = function (query) {\n\t if (query in pagination) {\n\t const next_url = pagination[query];\n\t pagination[query] = false;\n\t return next_url;\n\t } // if the user goes back to a previous query\n\t // we need to load the first page again\n\n\n\t pagination = {};\n\t return self.settings.firstUrl(query);\n\t }; // don't clear the active option (and cause unwanted dropdown scroll)\n\t // while loading more results\n\n\n\t self.hook('instead', 'clearActiveOption', () => {\n\t if (loading_more) {\n\t return;\n\t }\n\n\t return orig_clearActiveOption.call(self);\n\t }); // override the canLoad method\n\n\t self.hook('instead', 'canLoad', query => {\n\t // first time the query has been seen\n\t if (!(query in pagination)) {\n\t return orig_canLoad.call(self, query);\n\t }\n\n\t return canLoadMore(query);\n\t }); // wrap the load\n\n\t self.hook('instead', 'loadCallback', (options, optgroups) => {\n\t if (!loading_more) {\n\t self.clearOptions();\n\t }\n\n\t orig_loadCallback.call(self, options, optgroups);\n\t loading_more = false;\n\t }); // add templates to dropdown\n\t //\tloading_more if we have another url in the queue\n\t //\tno_more_results if we don't have another url in the queue\n\n\t self.hook('after', 'refreshOptions', () => {\n\t const query = self.lastValue;\n\t var option;\n\n\t if (canLoadMore(query)) {\n\t option = self.render('loading_more', {\n\t query: query\n\t });\n\t if (option) option.setAttribute('data-selectable', ''); // so that navigating dropdown with [down] keypresses can navigate to this node\n\t } else if (query in pagination && !dropdown_content.querySelector('.no-results')) {\n\t option = self.render('no_more_results', {\n\t query: query\n\t });\n\t }\n\n\t if (option) {\n\t addClasses(option, self.settings.optionClass);\n\t dropdown_content.append(option);\n\t }\n\t }); // add scroll listener and default templates\n\n\t self.on('initialize', () => {\n\t dropdown_content = self.dropdown_content; // default templates\n\n\t self.settings.render = Object.assign({}, {\n\t loading_more: function () {\n\t return `<div class=\"loading-more-results\">Loading more results ... </div>`;\n\t },\n\t no_more_results: function () {\n\t return `<div class=\"no-more-results\">No more results</div>`;\n\t }\n\t }, self.settings.render); // watch dropdown content scroll position\n\n\t dropdown_content.addEventListener('scroll', function () {\n\t const scroll_percent = dropdown_content.clientHeight / (dropdown_content.scrollHeight - dropdown_content.scrollTop);\n\n\t if (scroll_percent < 0.95) {\n\t return;\n\t } // !important: this will get checked again in load() but we still need to check here otherwise loading_more will be set to true\n\n\n\t if (!canLoadMore(self.lastValue)) {\n\t return;\n\t } // don't call load() too much\n\n\n\t if (loading_more) return;\n\t loading_more = true;\n\t self.load.call(self, self.lastValue);\n\t });\n\t });\n\t}\n\n\tTomSelect.define('change_listener', change_listener);\n\tTomSelect.define('checkbox_options', checkbox_options);\n\tTomSelect.define('clear_button', clear_button);\n\tTomSelect.define('drag_drop', drag_drop);\n\tTomSelect.define('dropdown_header', dropdown_header);\n\tTomSelect.define('caret_position', caret_position);\n\tTomSelect.define('dropdown_input', dropdown_input);\n\tTomSelect.define('input_autogrow', input_autogrow);\n\tTomSelect.define('no_backspace_delete', no_backspace_delete);\n\tTomSelect.define('no_active_items', no_active_items);\n\tTomSelect.define('optgroup_columns', optgroup_columns);\n\tTomSelect.define('remove_button', remove_button);\n\tTomSelect.define('restore_on_backspace', restore_on_backspace);\n\tTomSelect.define('virtual_scroll', virtual_scroll);\n\n\treturn TomSelect;\n\n})));\nvar tomSelect=function(el,opts){return new TomSelect(el,opts);} \n//# sourceMappingURL=tom-select.complete.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tom-select/dist/js/tom-select.complete.js\n// module id = 96\n// module chunks = 16","class localeSelector {\n\n constructor () {\n this.page = $('.page');\n this.langList = $('.lang-list');\n this.langLink = $('.lang-list a');\n this.countryList = $('.country-list');\n this.countryLink = $('.country-list a');\n this.languageSelectorClick();\n this.countrySelectorClick();\n }\n\n languageSelectorClick () {\n\n this.langLink.click(e => {\n e.preventDefault();\n var action = this.page.data('action');\n var localeCode = $(e.currentTarget).data('locale');\n var localeCurrencyCode = $(e.currentTarget).data('currencycode');\n var queryString = this.page.data('querystring');\n var url = this.langList.data('url');\n\n $.ajax({\n url: url,\n type: 'get',\n dataType: 'json',\n data: {\n code: localeCode,\n queryString: queryString,\n CurrencyCode: localeCurrencyCode,\n action: action\n },\n success: response => {\n if (response && response.redirectUrl) {\n window.location.href = response.redirectUrl;\n }\n },\n error: () => {\n }\n });\n });\n\n }\n\n countrySelectorClick () {\n\n this.countryLink.click(e => {\n e.preventDefault();\n var action = this.page.data('action');\n var localeCode = $(e.currentTarget).data('locale');\n var localeCountryCode = $(e.currentTarget).data('countrycode');\n var url = this.countryList.data('url');\n\n $.ajax({\n url: url,\n type: 'get',\n dataType: 'json',\n data: {\n countryCode: localeCountryCode,\n code: localeCode,\n action: action\n },\n success: response => {\n if (response && response.redirectUrl) {\n window.location.href = response.redirectUrl;\n }\n },\n error: () => {\n }\n });\n });\n\n }\n\n};\n\nconst LocaleSelector = new localeSelector()\nexport default LocaleSelector\n\n\n// WEBPACK FOOTER //\n// ./assets/scripts/components/localeSelector.js","class business {\n init() {\n this.companyAutofill();\n }\n\n checkFormAndSubmit(form, companyList) {\n var eMail = $('form.b2b-signup input.email-company').val();\n\n var actDomain = companyList.find(el => eMail.endsWith(el.domain));\n if (!actDomain) {\n $('form.b2b-signup input.name-company').val('');\n $('form.b2b-signup input.company-domain').val('');\n\n $('form.b2b-signup input.email-company').removeClass('is-valid-input');\n $('form.b2b-signup input.name-company').removeClass('is-valid-input');\n $('form.b2b-signup input.name-company').val('');\n\n form.one('submit', (e) => {\n e.preventDefault();\n this.checkFormAndSubmit(form, companyList);\n });\n } else {\n $('form.b2b-signup input.name-company').val(actDomain.name);\n $('form.b2b-signup input.company-domain').val(actDomain.domain);\n form.submit();\n }\n }\n\n companyAutofill() {\n const form = $('form.b2b-signup');\n\n const companyList = $('form.b2b-signup').data('companyList');\n\n if (!companyList) {\n return false;\n }\n\n const emailValue = $('form.b2b-signup input.email-company').val();\n if (emailValue) {\n var initialActDomain = companyList.find(el => emailValue.endsWith(el.domain));\n if (initialActDomain) {\n $('form.b2b-signup input.name-company').val(initialActDomain.name);\n $('form.b2b-signup input.company-domain').val(initialActDomain.domain);\n }\n }\n\n $('form.b2b-signup input.email-company').blur((e) => {\n var actDomain = companyList.find(el => e.target.value.endsWith(el.domain));\n if (actDomain) {\n $('form.b2b-signup input.name-company').val(actDomain.name);\n $('form.b2b-signup input.company-domain').val(actDomain.domain);\n } else {\n $('form.b2b-signup input.name-company').val('');\n $('form.b2b-signup input.company-domain').val('');\n }\n });\n\n form.one('submit', (e) => {\n e.preventDefault();\n this.checkFormAndSubmit(form, companyList);\n });\n }\n}\n\nconst Business = new business();\nexport default Business;\n\n\n\n// WEBPACK FOOTER //\n// ./assets/scripts/components/b2b.js","class header {\n constructor() {\n $(document).ready(() => {\n this.headerStrip();\n });\n }\n\n headerStrip() {\n /**\n * handle auto-scrolling elements\n */\n var x = 0;\n var wrapper = $('.header-promotion');\n var container = wrapper.find('ul.ticker');\n var items = container.find('li');\n var containerHeight = 0;\n var numberVisible = 1;\n var intervalSec = 3000;\n var color = wrapper.data('color');\n\n if (typeof color !== 'undefined') {\n $('.header-banner').css('background-color', color);\n }\n\n if (!container.find('li:first').hasClass('first')) {\n container.find('li:first').addClass('first');\n }\n\n items.each(function () {\n if (x < numberVisible) {\n containerHeight += $(this).outerHeight();\n x++;\n }\n });\n\n container.css({\n height: containerHeight,\n overflow: 'hidden'\n });\n\n function verticalCycle() {\n var firstItem = container.find('li.first').html();\n\n container.append('<li>' + firstItem + '</li>');\n firstItem = '';\n container.find('li.first').animate({ marginTop: '-25px' }, 600, function () {\n $(this).remove();\n container.find('li:first').addClass('first');\n });\n }\n\n var init = setInterval(() => verticalCycle(), intervalSec);\n\n container.hover(function () {\n clearInterval(init);\n }, function () {\n init = setInterval(() => verticalCycle(), intervalSec);\n });\n\n /**\n * if the strip has a link element, make all the strip clickable\n */\n var link = container.find('a').first();\n\n if (link.length > 0) {\n container.addClass('has-link');\n\n $(container).click(function (e) {\n e.preventDefault();\n window.location.href = link.attr('href');\n });\n }\n }\n}\n\nconst Header = new header();\nexport default Header;\n\n\n\n// WEBPACK FOOTER //\n// ./assets/scripts/components/header.js"],"sourceRoot":""}