From 051ebd2fb5bab6f6719399a188b364dcd9c80a73 Mon Sep 17 00:00:00 2001 From: Robert DeSimone Date: Sun, 27 Nov 2016 18:42:58 -0500 Subject: [PATCH] Allow requiring display names as part of email, optionally --- README.md | 2 +- lib/alpha.js | 2 ++ lib/isEmail.js | 7 +++++++ src/lib/isEmail.js | 7 +++++++ test/validators.js | 47 ++++++++++++++++++++++++++++++++++++++++++++++ validator.js | 9 +++++++++ validator.min.js | 2 +- 7 files changed, 74 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3ecbb13d7..bf9217804 100644 --- a/README.md +++ b/README.md @@ -68,7 +68,7 @@ Passing anything other than a string is an error. - **isDate(str)** - check if the string is a date. - **isDecimal(str)** - check if the string represents a decimal number, such as 0.1, .3, 1.1, 1.00003, 4.0, etc. - **isDivisibleBy(str, number)** - check if the string is a number that's divisible by another. -- **isEmail(str [, options])** - check if the string is an email. `options` is an object which defaults to `{ allow_display_name: false, allow_utf8_local_part: true, require_tld: true }`. If `allow_display_name` is set to true, the validator will also match `Display Name `. If `allow_utf8_local_part` is set to false, the validator will not allow any non-English UTF8 character in email address' local part. If `require_tld` is set to false, e-mail addresses without having TLD in their domain will also be matched. +- **isEmail(str [, options])** - check if the string is an email. `options` is an object which defaults to `{ allow_display_name: false, require_display_name: false, allow_utf8_local_part: true, require_tld: true }`. If `allow_display_name` is set to true, the validator will also match `Display Name `. If `require_display_name` is set to true, the validator will reject strings without the format `Display Name `. If `allow_utf8_local_part` is set to false, the validator will not allow any non-English UTF8 character in email address' local part. If `require_tld` is set to false, e-mail addresses without having TLD in their domain will also be matched. - **isEmpty(str)** - check if the string has a length of zero. - **isFQDN(str [, options])** - check if the string is a fully qualified domain name (e.g. domain.com). `options` is an object which defaults to `{ require_tld: true, allow_underscores: false, allow_trailing_dot: false }`. - **isFloat(str [, options])** - check if the string is a float. `options` is an object which can contain the keys `min`, `max`, `gt`, and/or `lt` to validate the float is within boundaries (e.g. `{ min: 7.22, max: 9.55 }`). `min` and `max` are equivalent to 'greater or equal' and 'less or equal', respectively while `gt` and `lt` are their strict counterparts. diff --git a/lib/alpha.js b/lib/alpha.js index 38a550086..d138a3cd9 100644 --- a/lib/alpha.js +++ b/lib/alpha.js @@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { var alpha = exports.alpha = { 'en-US': /^[A-Z]+$/i, 'cs-CZ': /^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i, + 'da-DK': /^[A-ZÆØÅ]+$/i, 'de-DE': /^[A-ZÄÖÜß]+$/i, 'es-ES': /^[A-ZÁÉÍÑÓÚÜ]+$/i, 'fr-FR': /^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i, @@ -24,6 +25,7 @@ var alpha = exports.alpha = { var alphanumeric = exports.alphanumeric = { 'en-US': /^[0-9A-Z]+$/i, 'cs-CZ': /^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i, + 'da-DK': /^[0-9A-ZÆØÅ]$/i, 'de-DE': /^[0-9A-ZÄÖÜß]+$/i, 'es-ES': /^[0-9A-ZÁÉÍÑÓÚÜ]+$/i, 'fr-FR': /^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i, diff --git a/lib/isEmail.js b/lib/isEmail.js index a6dd6bd58..19345cf1a 100644 --- a/lib/isEmail.js +++ b/lib/isEmail.js @@ -25,6 +25,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de var default_email_options = { allow_display_name: false, + require_display_name: false, allow_utf8_local_part: true, require_tld: true }; @@ -43,10 +44,16 @@ function isEmail(str, options) { (0, _assertString2.default)(str); options = (0, _merge2.default)(options, default_email_options); + if (options.require_display_name) { + options.allow_display_name = true; + } + if (options.allow_display_name) { var display_email = str.match(displayName); if (display_email) { str = display_email[1]; + } else if (options.require_display_name) { + return false; } } diff --git a/src/lib/isEmail.js b/src/lib/isEmail.js index 58e76f2a7..5b0d48516 100644 --- a/src/lib/isEmail.js +++ b/src/lib/isEmail.js @@ -6,6 +6,7 @@ import isFQDN from './isFQDN'; const default_email_options = { allow_display_name: false, + require_display_name: false, allow_utf8_local_part: true, require_tld: true, }; @@ -24,10 +25,16 @@ export default function isEmail(str, options) { assertString(str); options = merge(options, default_email_options); + if (options.require_display_name) { + options.allow_display_name = true; + } + if (options.allow_display_name) { const display_email = str.match(displayName); if (display_email) { str = display_email[1]; + } else if (options.require_display_name) { + return false; } } diff --git a/test/validators.js b/test/validators.js index 72dba3224..c3e32c8af 100644 --- a/test/validators.js +++ b/test/validators.js @@ -151,6 +151,53 @@ describe('Validators', function () { }); }); + it('should validate email addresses with required display names', function () { + test({ + validator: 'isEmail', + args: [{ require_display_name: true }], + valid: [ + 'Some Name ', + 'Some Name ', + 'Some Name ', + 'Some Name ', + 'Some Name ', + 'Some Name ', + 'Some Name ', + 'Some Name ', + 'Some Name ', + 'Some Middle Name ', + 'Name ', + 'Name', + ], + invalid: [ + 'some.name.midd.leNa.me.+extension@GoogleMail.com', + 'foo@bar.com', + 'x@x.au', + 'foo@bar.com.au', + 'foo+bar@bar.com', + 'hans.m端ller@test.com', + 'hans@m端ller.com', + 'test|123@m端ller.com', + 'test+ext@gmail.com', + 'invalidemail@', + 'invalid.com', + '@invalid.com', + 'foo@bar.com.', + 'foo@bar.co.uk.', + 'Some Name ', + 'Some Name ', + 'Some Name <@invalid.com>', + 'Some Name ', + 'Some Name ', + 'Some Name foo@bar.co.uk.>', + 'Some Name ', + 'Name foo@bar.co.uk', + ], + }); + }); + + it('should validate URLs', function () { test({ validator: 'isURL', diff --git a/validator.js b/validator.js index 1d48614ad..9032461d9 100644 --- a/validator.js +++ b/validator.js @@ -277,6 +277,7 @@ var default_email_options = { allow_display_name: false, + require_display_name: false, allow_utf8_local_part: true, require_tld: true }; @@ -295,10 +296,16 @@ assertString(str); options = merge(options, default_email_options); + if (options.require_display_name) { + options.allow_display_name = true; + } + if (options.allow_display_name) { var display_email = str.match(displayName); if (display_email) { str = display_email[1]; + } else if (options.require_display_name) { + return false; } } @@ -536,6 +543,7 @@ var alpha = { 'en-US': /^[A-Z]+$/i, 'cs-CZ': /^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i, + 'da-DK': /^[A-ZÆØÅ]+$/i, 'de-DE': /^[A-ZÄÖÜß]+$/i, 'es-ES': /^[A-ZÁÉÍÑÓÚÜ]+$/i, 'fr-FR': /^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i, @@ -554,6 +562,7 @@ var alphanumeric = { 'en-US': /^[0-9A-Z]+$/i, 'cs-CZ': /^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i, + 'da-DK': /^[0-9A-ZÆØÅ]$/i, 'de-DE': /^[0-9A-ZÄÖÜß]+$/i, 'es-ES': /^[0-9A-ZÁÉÍÑÓÚÜ]+$/i, 'fr-FR': /^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i, diff --git a/validator.min.js b/validator.min.js index ead6bae53..04bacc78c 100644 --- a/validator.min.js +++ b/validator.min.js @@ -20,4 +20,4 @@ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.validator=e()}(this,function(){"use strict";function t(t){if("string"!=typeof t)throw new TypeError("This library (validator.js) validates strings only")}function e(e){return t(e),e=Date.parse(e),isNaN(e)?null:new Date(e)}function r(e){return t(e),parseFloat(e)}function o(e,r){return t(e),parseInt(e,r||10)}function n(e,r){return t(e),r?"1"===e||"true"===e:"0"!==e&&"false"!==e&&""!==e}function i(e,r){return t(e),e===r}function a(t){return"object"===("undefined"==typeof t?"undefined":ht(t))&&null!==t?t="function"==typeof t.toString?t.toString():"[object Object]":(null===t||"undefined"==typeof t||isNaN(t)&&!t.length)&&(t=""),String(t)}function l(e,r){return t(e),e.indexOf(a(r))>=0}function u(e,r,o){return t(e),"[object RegExp]"!==Object.prototype.toString.call(r)&&(r=new RegExp(r,o)),r.test(e)}function s(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments[1];for(var r in e)"undefined"==typeof t[r]&&(t[r]=e[r]);return t}function c(e,r){t(e);var o=void 0,n=void 0;"object"===("undefined"==typeof r?"undefined":ht(r))?(o=r.min||0,n=r.max):(o=arguments[1],n=arguments[2]);var i=encodeURI(e).split(/%..|./).length-1;return i>=o&&("undefined"==typeof n||i<=n)}function f(e,r){t(e),r=s(r,gt),r.allow_trailing_dot&&"."===e[e.length-1]&&(e=e.substring(0,e.length-1));var o=e.split(".");if(r.require_tld){var n=o.pop();if(!o.length||!/^([a-z\u00a1-\uffff]{2,}|xn[a-z0-9-]{2,})$/i.test(n))return!1}for(var i,a=0;a1&&void 0!==arguments[1]?arguments[1]:"";if(t(e),r=String(r),!r)return p(e,4)||p(e,6);if("4"===r){if(!yt.test(e))return!1;var o=e.split(".").sort(function(t,e){return t-e});return o[3]<=255}if("6"===r){var n=e.split(":"),i=!1,a=p(n[n.length-1],4),l=a?7:8;if(n.length>l)return!1;if("::"===e)return!0;"::"===e.substr(0,2)?(n.shift(),n.shift(),i=!0):"::"===e.substr(e.length-2)&&(n.pop(),n.pop(),i=!0);for(var u=0;u0&&u=1:n.length===l}return!1}function h(t){return"[object RegExp]"===Object.prototype.toString.call(t)}function g(t,e){for(var r=0;r=2083||/\s/.test(e))return!1;if(0===e.indexOf("mailto:"))return!1;r=s(r,At);var o=void 0,n=void 0,i=void 0,a=void 0,l=void 0,u=void 0,c=void 0,d=void 0;if(c=e.split("#"),e=c.shift(),c=e.split("?"),e=c.shift(),c=e.split("://"),c.length>1){if(o=c.shift(),r.require_valid_protocol&&r.protocols.indexOf(o)===-1)return!1}else{if(r.require_protocol)return!1;r.allow_protocol_relative_urls&&"//"===e.substr(0,2)&&(c[0]=e.substr(2))}if(e=c.join("://"),c=e.split("/"),e=c.shift(),""===e&&!r.require_host)return!0;if(c=e.split("@"),c.length>1&&(n=c.shift(),n.indexOf(":")>=0&&n.split(":").length>2))return!1;a=c.join("@"),u=d=null;var h=a.match(bt);return h?(i="",d=h[1],u=h[2]||null):(c=a.split(":"),i=c.shift(),c.length&&(u=c.join(":"))),!(null!==u&&(l=parseInt(u,10),!/^[0-9]+$/.test(u)||l<=0||l>65535))&&(!!(p(i)||f(i,r)||d&&p(d,6)||"localhost"===i)&&(i=i||d,!(r.host_whitelist&&!g(i,r.host_whitelist))&&(!r.host_blacklist||!g(i,r.host_blacklist))))}function v(e){return t(e),kt.test(e)}function _(e){return t(e),["true","false","1","0"].indexOf(e)>=0}function F(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"en-US";if(t(e),r in St)return St[r].test(e);throw new Error("Invalid locale '"+r+"'")}function $(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"en-US";if(t(e),r in Dt)return Dt[r].test(e);throw new Error("Invalid locale '"+r+"'")}function x(e){return t(e),Rt.test(e)}function y(e){return t(e),e===e.toLowerCase()}function w(e){return t(e),e===e.toUpperCase()}function A(e){return t(e),jt.test(e)}function b(e){return t(e),zt.test(e)}function k(e){return t(e),Ut.test(e)}function S(e){return t(e),zt.test(e)&&Ut.test(e)}function D(e){return t(e),Pt.test(e)}function E(e){return t(e),Nt.test(e)}function Z(e,r){t(e),r=r||{};var o=r.hasOwnProperty("allow_leading_zeroes")&&!r.allow_leading_zeroes?Bt:Lt,n=!r.hasOwnProperty("min")||e>=r.min,i=!r.hasOwnProperty("max")||e<=r.max,a=!r.hasOwnProperty("lt")||er.gt;return o.test(e)&&n&&i&&a&&l}function I(e,r){return t(e),r=r||{},""!==e&&"."!==e&&(qt.test(e)&&(!r.hasOwnProperty("min")||e>=r.min)&&(!r.hasOwnProperty("max")||e<=r.max)&&(!r.hasOwnProperty("lt")||er.gt))}function O(e){return t(e),""!==e&&Tt.test(e)}function C(e){return t(e),Mt.test(e)}function R(e,o){return t(e),r(e)%parseInt(o,10)===0}function j(e){return t(e),Ht.test(e)}function z(e){return t(e),Wt.test(e)}function U(e){t(e);try{var r=JSON.parse(e);return!!r&&"object"===("undefined"==typeof r?"undefined":ht(r))}catch(t){}return!1}function P(e){return t(e),0===e.length}function N(e,r){t(e);var o=void 0,n=void 0;"object"===("undefined"==typeof r?"undefined":ht(r))?(o=r.min||0,n=r.max):(o=arguments[1],n=arguments[2]);var i=e.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g)||[],a=e.length-i.length;return a>=o&&("undefined"==typeof n||a<=n)}function B(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"all";t(e);var o=Yt[r];return o&&o.test(e)}function L(e){return t(e),C(e)&&24===e.length}function q(e){return t(e),Gt.test(e)}function T(t){var e=t.match(Gt),r=void 0,o=void 0,n=void 0,i=void 0;if(e){if(r=e[21],!r)return e[12]?null:0;if("z"===r||"Z"===r)return 0;o=e[22],r.indexOf(":")!==-1?(n=parseInt(e[23],10),i=parseInt(e[24],10)):(n=0,i=parseInt(e[23],10))}else{if(t=t.toLowerCase(),r=t.match(/(?:\s|gmt\s*)(-|\+)(\d{1,4})(\s|$)/),!r)return t.indexOf("gmt")!==-1?0:null;o=r[1];var a=r[2];3===a.length&&(a="0"+a),a.length<=2?(n=0,i=parseInt(a,10)):(n=parseInt(a.slice(0,2),10),i=parseInt(a.slice(2,4),10))}return(60*n+i)*("-"===o?1:-1)}function M(e){t(e);var r=new Date(Date.parse(e));if(isNaN(r))return!1;var o=T(e);if(null!==o){var n=r.getTimezoneOffset()-o;r=new Date(r.getTime()+6e4*n)}var i=String(r.getDate()),a=void 0,l=void 0,u=void 0;return!(l=e.match(/(^|[^:\d])[23]\d([^T:\d]|$)/g))||(a=l.map(function(t){return t.match(/\d+/g)[0]}).join("/"),u=String(r.getFullYear()).slice(-2),a===i||a===u||(a===""+i/u||a===""+u/i))}function H(r){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:String(new Date);t(r);var n=e(o),i=e(r);return!!(i&&n&&i>n)}function W(r){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:String(new Date);t(r);var n=e(o),i=e(r);return!!(i&&n&&i=0}return"object"===("undefined"==typeof r?"undefined":ht(r))?r.hasOwnProperty(e):!(!r||"function"!=typeof r.indexOf)&&r.indexOf(e)>=0}function G(e){t(e);var r=e.replace(/[^0-9]+/g,"");if(!Jt.test(r))return!1;for(var o=0,n=void 0,i=void 0,a=void 0,l=r.length-1;l>=0;l--)n=r.substring(l,l+1),i=parseInt(n,10),a?(i*=2,o+=i>=10?i%10+1:i):o+=i,a=!a;return!(o%10!==0||!r)}function J(e){if(t(e),!Kt.test(e))return!1;for(var r=e.replace(/[A-Z]/g,function(t){return parseInt(t,36)}),o=0,n=void 0,i=void 0,a=!0,l=r.length-2;l>=0;l--)n=r.substring(l,l+1),i=parseInt(n,10),a?(i*=2,o+=i>=10?i+1:i):o+=i,a=!a;return parseInt(e.substr(e.length-1),10)===(1e4-o)%10}function K(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(t(e),r=String(r),!r)return K(e,10)||K(e,13);var o=e.replace(/[\s-]+/g,""),n=0,i=void 0;if("10"===r){if(!Qt.test(o))return!1;for(i=0;i<9;i++)n+=(i+1)*o.charAt(i);if(n+="X"===o.charAt(9)?100:10*o.charAt(9),n%11===0)return!!o}else if("13"===r){if(!Xt.test(o))return!1;for(i=0;i<12;i++)n+=Vt[i%2]*o.charAt(i);if(o.charAt(12)-(10-n%10)%10===0)return!!o}return!1}function Q(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t(e);var o=te;if(o=r.require_hyphen?o.replace("?",""):o,o=r.case_sensitive?new RegExp(o):new RegExp(o,"i"),!o.test(e))return!1;var n=e.replace("-",""),i=8,a=0,l=!0,u=!1,s=void 0;try{for(var c,f=n[Symbol.iterator]();!(l=(c=f.next()).done);l=!0){var d=c.value,p="X"===d.toUpperCase()?10:+d;a+=p*i,--i}}catch(t){u=!0,s=t}finally{try{!l&&f.return&&f.return()}finally{if(u)throw s}}return a%11===0}function X(e,r){return t(e),r in ee&&ee[r].test(e)}function V(t){var e="(\\"+t.symbol.replace(/\./g,"\\.")+")"+(t.require_symbol?"":"?"),r="-?",o="[1-9]\\d*",n="[1-9]\\d{0,2}(\\"+t.thousands_separator+"\\d{3})*",i=["0",o,n],a="("+i.join("|")+")?",l="(\\"+t.decimal_separator+"\\d{2})?",u=a+l;return t.allow_negatives&&!t.parens_for_negatives&&(t.negative_sign_after_digits?u+=r:t.negative_sign_before_digits&&(u=r+u)),t.allow_negative_sign_placeholder?u="( (?!\\-))?"+u:t.allow_space_after_symbol?u=" ?"+u:t.allow_space_after_digits&&(u+="( (?!$))?"),t.symbol_after_digits?u+=e:u=e+u,t.allow_negatives&&(t.parens_for_negatives?u="(\\("+u+"\\)|"+u+")":t.negative_sign_before_digits||t.negative_sign_after_digits||(u=r+u)),new RegExp("^(?!-? )(?=.*\\d)"+u+"$")}function tt(e,r){return t(e),r=s(r,re),V(r).test(e)}function et(e){t(e);var r=e.length;if(!r||r%4!==0||oe.test(e))return!1;var o=e.indexOf("=");return o===-1||o===r-1||o===r-2&&"="===e[r-1]}function rt(e){return t(e),ne.test(e)}function ot(e,r){t(e);var o=r?new RegExp("^["+r+"]+","g"):/^\s+/g;return e.replace(o,"")}function nt(e,r){t(e);for(var o=r?new RegExp("["+r+"]"):/\s/,n=e.length-1;n>=0&&o.test(e[n]);)n--;return n/g,">").replace(/\//g,"/").replace(/\\/g,"\").replace(/`/g,"`")}function lt(e){return t(e),e.replace(/&/g,"&").replace(/"/g,'"').replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">").replace(///g,"/").replace(/`/g,"`")}function ut(e,r){return t(e),e.replace(new RegExp("["+r+"]+","g"),"")}function st(e,r){t(e);var o=r?"\\x00-\\x09\\x0B\\x0C\\x0E-\\x1F\\x7F":"\\x00-\\x1F\\x7F";return ut(e,o)}function ct(e,r){return t(e),e.replace(new RegExp("[^"+r+"]+","g"),"")}function ft(e,r){t(e);for(var o=e.length-1;o>=0;o--)if(r.indexOf(e[o])===-1)return!1;return!0}function dt(t,e){if(e=s(e,ie),!d(t))return!1;var r=t.split("@"),o=r.pop(),n=r.join("@"),i=[n,o];if(i[1]=i[1].toLowerCase(),"gmail.com"===i[1]||"googlemail.com"===i[1]){if(e.gmail_remove_subaddress&&(i[0]=i[0].split("+")[0]),e.gmail_remove_dots&&(i[0]=i[0].replace(/\./g,"")),!i[0].length)return!1;(e.all_lowercase||e.gmail_lowercase)&&(i[0]=i[0].toLowerCase()),i[1]=e.gmail_convert_googlemaildotcom?"gmail.com":i[1]}else if(~ae.indexOf(i[1])){if(e.icloud_remove_subaddress&&(i[0]=i[0].split("+")[0]),!i[0].length)return!1;(e.all_lowercase||e.icloud_lowercase)&&(i[0]=i[0].toLowerCase())}else if(~le.indexOf(i[1])){if(e.outlookdotcom_remove_subaddress&&(i[0]=i[0].split("+")[0]),!i[0].length)return!1;(e.all_lowercase||e.outlookdotcom_lowercase)&&(i[0]=i[0].toLowerCase())}else if(~ue.indexOf(i[1])){if(e.yahoo_remove_subaddress){var a=i[0].split("-");i[0]=a.length>1?a.slice(0,-1).join("-"):a[0]}if(!i[0].length)return!1;(e.all_lowercase||e.yahoo_lowercase)&&(i[0]=i[0].toLowerCase())}else e.all_lowercase&&(i[0]=i[0].toLowerCase());return i.join("@")}for(var pt,ht="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},gt=(function(){function t(t){this.value=t}function e(e){function r(t,e){return new Promise(function(r,n){var l={key:t,arg:e,resolve:r,reject:n,next:null};a?a=a.next=l:(i=a=l,o(t,e))})}function o(r,i){try{var a=e[r](i),l=a.value;l instanceof t?Promise.resolve(l.value).then(function(t){o("next",t)},function(t){o("throw",t)}):n(a.done?"return":"normal",a.value)}catch(t){n("throw",t)}}function n(t,e){switch(t){case"return":i.resolve({value:e,done:!0});break;case"throw":i.reject(e);break;default:i.resolve({value:e,done:!1})}i=i.next,i?o(i.key,i.arg):a=null}var i,a;this._invoke=r,"function"!=typeof e.return&&(this.return=void 0)}return"function"==typeof Symbol&&Symbol.asyncIterator&&(e.prototype[Symbol.asyncIterator]=function(){return this}),e.prototype.next=function(t){return this._invoke("next",t)},e.prototype.throw=function(t){return this._invoke("throw",t)},e.prototype.return=function(t){return this._invoke("return",t)},{wrap:function(t){return function(){return new e(t.apply(this,arguments))}},await:function(e){return new t(e)}}}(),{require_tld:!0,allow_underscores:!1,allow_trailing_dot:!1}),mt={allow_display_name:!1,allow_utf8_local_part:!0,require_tld:!0},vt=/^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\.\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\.\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF\s]*<(.+)>$/i,_t=/^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~]+$/i,Ft=/^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f]))*$/i,$t=/^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+$/i,xt=/^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))*$/i,yt=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/,wt=/^[0-9A-F]{1,4}$/i,At={protocols:["http","https","ftp"],require_tld:!0,require_protocol:!1,require_host:!0,require_valid_protocol:!0,allow_underscores:!1,allow_trailing_dot:!1,allow_protocol_relative_urls:!1},bt=/^\[([^\]]+)\](?::([0-9]+))?$/,kt=/^([0-9a-fA-F][0-9a-fA-F]:){5}([0-9a-fA-F][0-9a-fA-F])$/,St={"en-US":/^[A-Z]+$/i,"cs-CZ":/^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i,"de-DE":/^[A-ZÄÖÜß]+$/i,"es-ES":/^[A-ZÁÉÍÑÓÚÜ]+$/i,"fr-FR":/^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i,"nl-NL":/^[A-ZÉËÏÓÖÜ]+$/i,"hu-HU":/^[A-ZÁÉÍÓÖŐÚÜŰ]+$/i,"pl-PL":/^[A-ZĄĆĘŚŁŃÓŻŹ]+$/i,"pt-PT":/^[A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]+$/i,"ru-RU":/^[А-ЯЁ]+$/i,"sr-RS@latin":/^[A-ZČĆŽŠĐ]+$/i,"sr-RS":/^[А-ЯЂЈЉЊЋЏ]+$/i,"tr-TR":/^[A-ZÇĞİıÖŞÜ]+$/i,"uk-UA":/^[А-ЯЄIЇҐ]+$/i,ar:/^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]+$/},Dt={"en-US":/^[0-9A-Z]+$/i,"cs-CZ":/^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i,"de-DE":/^[0-9A-ZÄÖÜß]+$/i,"es-ES":/^[0-9A-ZÁÉÍÑÓÚÜ]+$/i,"fr-FR":/^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i,"hu-HU":/^[0-9A-ZÁÉÍÓÖŐÚÜŰ]+$/i,"nl-NL":/^[0-9A-ZÉËÏÓÖÜ]+$/i,"pl-PL":/^[0-9A-ZĄĆĘŚŁŃÓŻŹ]+$/i,"pt-PT":/^[0-9A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]+$/i,"ru-RU":/^[0-9А-ЯЁ]+$/i,"sr-RS@latin":/^[0-9A-ZČĆŽŠĐ]+$/i,"sr-RS":/^[0-9А-ЯЂЈЉЊЋЏ]+$/i,"tr-TR":/^[0-9A-ZÇĞİıÖŞÜ]+$/i,"uk-UA":/^[0-9А-ЯЄIЇҐ]+$/i,ar:/^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]+$/},Et=["AU","GB","HK","IN","NZ","ZA","ZM"],Zt=0;Zt=0}function u(t,r,o){return e(t),"[object RegExp]"!==Object.prototype.toString.call(r)&&(r=new RegExp(r,o)),r.test(t)}function s(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];for(var r in t)"undefined"==typeof e[r]&&(e[r]=t[r]);return e}function c(t,r){e(t);var o=void 0,n=void 0;"object"===("undefined"==typeof r?"undefined":he(r))?(o=r.min||0,n=r.max):(o=arguments[1],n=arguments[2]);var i=encodeURI(t).split(/%..|./).length-1;return i>=o&&("undefined"==typeof n||i<=n)}function f(t,r){e(t),r=s(r,ge),r.allow_trailing_dot&&"."===t[t.length-1]&&(t=t.substring(0,t.length-1));var o=t.split(".");if(r.require_tld){var n=o.pop();if(!o.length||!/^([a-z\u00a1-\uffff]{2,}|xn[a-z0-9-]{2,})$/i.test(n))return!1}for(var i,a=0;a1&&void 0!==arguments[1]?arguments[1]:"";if(e(t),r=String(r),!r)return p(t,4)||p(t,6);if("4"===r){if(!ye.test(t))return!1;var o=t.split(".").sort(function(e,t){return e-t});return o[3]<=255}if("6"===r){var n=t.split(":"),i=!1,a=p(n[n.length-1],4),l=a?7:8;if(n.length>l)return!1;if("::"===t)return!0;"::"===t.substr(0,2)?(n.shift(),n.shift(),i=!0):"::"===t.substr(t.length-2)&&(n.pop(),n.pop(),i=!0);for(var u=0;u0&&u=1:n.length===l}return!1}function h(e){return"[object RegExp]"===Object.prototype.toString.call(e)}function g(e,t){for(var r=0;r=2083||/\s/.test(t))return!1;if(0===t.indexOf("mailto:"))return!1;r=s(r,Ae);var o=void 0,n=void 0,i=void 0,a=void 0,l=void 0,u=void 0,c=void 0,d=void 0;if(c=t.split("#"),t=c.shift(),c=t.split("?"),t=c.shift(),c=t.split("://"),c.length>1){if(o=c.shift(),r.require_valid_protocol&&r.protocols.indexOf(o)===-1)return!1}else{if(r.require_protocol)return!1;r.allow_protocol_relative_urls&&"//"===t.substr(0,2)&&(c[0]=t.substr(2))}if(t=c.join("://"),c=t.split("/"),t=c.shift(),""===t&&!r.require_host)return!0;if(c=t.split("@"),c.length>1&&(n=c.shift(),n.indexOf(":")>=0&&n.split(":").length>2))return!1;a=c.join("@"),u=d=null;var h=a.match(be);return h?(i="",d=h[1],u=h[2]||null):(c=a.split(":"),i=c.shift(),c.length&&(u=c.join(":"))),!(null!==u&&(l=parseInt(u,10),!/^[0-9]+$/.test(u)||l<=0||l>65535))&&(!!(p(i)||f(i,r)||d&&p(d,6)||"localhost"===i)&&(i=i||d,!(r.host_whitelist&&!g(i,r.host_whitelist))&&(!r.host_blacklist||!g(i,r.host_blacklist))))}function v(t){return e(t),ke.test(t)}function _(t){return e(t),["true","false","1","0"].indexOf(t)>=0}function F(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"en-US";if(e(t),r in Se)return Se[r].test(t);throw new Error("Invalid locale '"+r+"'")}function $(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"en-US";if(e(t),r in De)return De[r].test(t);throw new Error("Invalid locale '"+r+"'")}function x(t){return e(t),Re.test(t)}function y(t){return e(t),t===t.toLowerCase()}function w(t){return e(t),t===t.toUpperCase()}function A(t){return e(t),je.test(t)}function b(t){return e(t),ze.test(t)}function k(t){return e(t),Ue.test(t)}function S(t){return e(t),ze.test(t)&&Ue.test(t)}function D(t){return e(t),Pe.test(t)}function E(t){return e(t),Ne.test(t)}function Z(t,r){e(t),r=r||{};var o=r.hasOwnProperty("allow_leading_zeroes")&&!r.allow_leading_zeroes?Be:Le,n=!r.hasOwnProperty("min")||t>=r.min,i=!r.hasOwnProperty("max")||t<=r.max,a=!r.hasOwnProperty("lt")||tr.gt;return o.test(t)&&n&&i&&a&&l}function I(t,r){return e(t),r=r||{},""!==t&&"."!==t&&(qe.test(t)&&(!r.hasOwnProperty("min")||t>=r.min)&&(!r.hasOwnProperty("max")||t<=r.max)&&(!r.hasOwnProperty("lt")||tr.gt))}function O(t){return e(t),""!==t&&Te.test(t)}function C(t){return e(t),Me.test(t)}function R(t,o){return e(t),r(t)%parseInt(o,10)===0}function j(t){return e(t),He.test(t)}function z(t){return e(t),We.test(t)}function U(t){e(t);try{var r=JSON.parse(t);return!!r&&"object"===("undefined"==typeof r?"undefined":he(r))}catch(e){}return!1}function P(t){return e(t),0===t.length}function N(t,r){e(t);var o=void 0,n=void 0;"object"===("undefined"==typeof r?"undefined":he(r))?(o=r.min||0,n=r.max):(o=arguments[1],n=arguments[2]);var i=t.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g)||[],a=t.length-i.length;return a>=o&&("undefined"==typeof n||a<=n)}function B(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"all";e(t);var o=Ke[r];return o&&o.test(t)}function L(t){return e(t),C(t)&&24===t.length}function q(t){return e(t),Ye.test(t)}function T(e){var t=e.match(Ye),r=void 0,o=void 0,n=void 0,i=void 0;if(t){if(r=t[21],!r)return t[12]?null:0;if("z"===r||"Z"===r)return 0;o=t[22],r.indexOf(":")!==-1?(n=parseInt(t[23],10),i=parseInt(t[24],10)):(n=0,i=parseInt(t[23],10))}else{if(e=e.toLowerCase(),r=e.match(/(?:\s|gmt\s*)(-|\+)(\d{1,4})(\s|$)/),!r)return e.indexOf("gmt")!==-1?0:null;o=r[1];var a=r[2];3===a.length&&(a="0"+a),a.length<=2?(n=0,i=parseInt(a,10)):(n=parseInt(a.slice(0,2),10),i=parseInt(a.slice(2,4),10))}return(60*n+i)*("-"===o?1:-1)}function M(t){e(t);var r=new Date(Date.parse(t));if(isNaN(r))return!1;var o=T(t);if(null!==o){var n=r.getTimezoneOffset()-o;r=new Date(r.getTime()+6e4*n)}var i=String(r.getDate()),a=void 0,l=void 0,u=void 0;return!(l=t.match(/(^|[^:\d])[23]\d([^T:\d]|$)/g))||(a=l.map(function(e){return e.match(/\d+/g)[0]}).join("/"),u=String(r.getFullYear()).slice(-2),a===i||a===u||(a===""+i/u||a===""+u/i))}function H(r){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:String(new Date);e(r);var n=t(o),i=t(r);return!!(i&&n&&i>n)}function W(r){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:String(new Date);e(r);var n=t(o),i=t(r);return!!(i&&n&&i=0}return"object"===("undefined"==typeof r?"undefined":he(r))?r.hasOwnProperty(t):!(!r||"function"!=typeof r.indexOf)&&r.indexOf(t)>=0}function Y(t){e(t);var r=t.replace(/[^0-9]+/g,"");if(!Ge.test(r))return!1;for(var o=0,n=void 0,i=void 0,a=void 0,l=r.length-1;l>=0;l--)n=r.substring(l,l+1),i=parseInt(n,10),a?(i*=2,o+=i>=10?i%10+1:i):o+=i,a=!a;return!(o%10!==0||!r)}function G(t){if(e(t),!Je.test(t))return!1;for(var r=t.replace(/[A-Z]/g,function(e){return parseInt(e,36)}),o=0,n=void 0,i=void 0,a=!0,l=r.length-2;l>=0;l--)n=r.substring(l,l+1),i=parseInt(n,10),a?(i*=2,o+=i>=10?i+1:i):o+=i,a=!a;return parseInt(t.substr(t.length-1),10)===(1e4-o)%10}function J(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(e(t),r=String(r),!r)return J(t,10)||J(t,13);var o=t.replace(/[\s-]+/g,""),n=0,i=void 0;if("10"===r){if(!Qe.test(o))return!1;for(i=0;i<9;i++)n+=(i+1)*o.charAt(i);if(n+="X"===o.charAt(9)?100:10*o.charAt(9),n%11===0)return!!o}else if("13"===r){if(!Xe.test(o))return!1;for(i=0;i<12;i++)n+=Ve[i%2]*o.charAt(i);if(o.charAt(12)-(10-n%10)%10===0)return!!o}return!1}function Q(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e(t);var o=et;if(o=r.require_hyphen?o.replace("?",""):o,o=r.case_sensitive?new RegExp(o):new RegExp(o,"i"),!o.test(t))return!1;var n=t.replace("-",""),i=8,a=0,l=!0,u=!1,s=void 0;try{for(var c,f=n[Symbol.iterator]();!(l=(c=f.next()).done);l=!0){var d=c.value,p="X"===d.toUpperCase()?10:+d;a+=p*i,--i}}catch(e){u=!0,s=e}finally{try{!l&&f.return&&f.return()}finally{if(u)throw s}}return a%11===0}function X(t,r){return e(t),r in tt&&tt[r].test(t)}function V(e){var t="(\\"+e.symbol.replace(/\./g,"\\.")+")"+(e.require_symbol?"":"?"),r="-?",o="[1-9]\\d*",n="[1-9]\\d{0,2}(\\"+e.thousands_separator+"\\d{3})*",i=["0",o,n],a="("+i.join("|")+")?",l="(\\"+e.decimal_separator+"\\d{2})?",u=a+l;return e.allow_negatives&&!e.parens_for_negatives&&(e.negative_sign_after_digits?u+=r:e.negative_sign_before_digits&&(u=r+u)),e.allow_negative_sign_placeholder?u="( (?!\\-))?"+u:e.allow_space_after_symbol?u=" ?"+u:e.allow_space_after_digits&&(u+="( (?!$))?"),e.symbol_after_digits?u+=t:u=t+u,e.allow_negatives&&(e.parens_for_negatives?u="(\\("+u+"\\)|"+u+")":e.negative_sign_before_digits||e.negative_sign_after_digits||(u=r+u)),new RegExp("^(?!-? )(?=.*\\d)"+u+"$")}function ee(t,r){return e(t),r=s(r,rt),V(r).test(t)}function te(t){e(t);var r=t.length;if(!r||r%4!==0||ot.test(t))return!1;var o=t.indexOf("=");return o===-1||o===r-1||o===r-2&&"="===t[r-1]}function re(t){return e(t),nt.test(t)}function oe(t,r){e(t);var o=r?new RegExp("^["+r+"]+","g"):/^\s+/g;return t.replace(o,"")}function ne(t,r){e(t);for(var o=r?new RegExp("["+r+"]"):/\s/,n=t.length-1;n>=0&&o.test(t[n]);)n--;return n/g,">").replace(/\//g,"/").replace(/\\/g,"\").replace(/`/g,"`")}function le(t){return e(t),t.replace(/&/g,"&").replace(/"/g,'"').replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">").replace(///g,"/").replace(/`/g,"`")}function ue(t,r){return e(t),t.replace(new RegExp("["+r+"]+","g"),"")}function se(t,r){e(t);var o=r?"\\x00-\\x09\\x0B\\x0C\\x0E-\\x1F\\x7F":"\\x00-\\x1F\\x7F";return ue(t,o)}function ce(t,r){return e(t),t.replace(new RegExp("[^"+r+"]+","g"),"")}function fe(t,r){e(t);for(var o=t.length-1;o>=0;o--)if(r.indexOf(t[o])===-1)return!1;return!0}function de(e,t){if(t=s(t,it),!d(e))return!1;var r=e.split("@"),o=r.pop(),n=r.join("@"),i=[n,o];if(i[1]=i[1].toLowerCase(),"gmail.com"===i[1]||"googlemail.com"===i[1]){if(t.gmail_remove_subaddress&&(i[0]=i[0].split("+")[0]),t.gmail_remove_dots&&(i[0]=i[0].replace(/\./g,"")),!i[0].length)return!1;(t.all_lowercase||t.gmail_lowercase)&&(i[0]=i[0].toLowerCase()),i[1]=t.gmail_convert_googlemaildotcom?"gmail.com":i[1]}else if(~at.indexOf(i[1])){if(t.icloud_remove_subaddress&&(i[0]=i[0].split("+")[0]),!i[0].length)return!1;(t.all_lowercase||t.icloud_lowercase)&&(i[0]=i[0].toLowerCase())}else if(~lt.indexOf(i[1])){if(t.outlookdotcom_remove_subaddress&&(i[0]=i[0].split("+")[0]),!i[0].length)return!1;(t.all_lowercase||t.outlookdotcom_lowercase)&&(i[0]=i[0].toLowerCase())}else if(~ut.indexOf(i[1])){if(t.yahoo_remove_subaddress){var a=i[0].split("-");i[0]=a.length>1?a.slice(0,-1).join("-"):a[0]}if(!i[0].length)return!1;(t.all_lowercase||t.yahoo_lowercase)&&(i[0]=i[0].toLowerCase())}else t.all_lowercase&&(i[0]=i[0].toLowerCase());return i.join("@")}for(var pe,he="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ge=(function(){function e(e){this.value=e}function t(t){function r(e,t){return new Promise(function(r,n){var l={key:e,arg:t,resolve:r,reject:n,next:null};a?a=a.next=l:(i=a=l,o(e,t))})}function o(r,i){try{var a=t[r](i),l=a.value;l instanceof e?Promise.resolve(l.value).then(function(e){o("next",e)},function(e){o("throw",e)}):n(a.done?"return":"normal",a.value)}catch(e){n("throw",e)}}function n(e,t){switch(e){case"return":i.resolve({value:t,done:!0});break;case"throw":i.reject(t);break;default:i.resolve({value:t,done:!1})}i=i.next,i?o(i.key,i.arg):a=null}var i,a;this._invoke=r,"function"!=typeof t.return&&(this.return=void 0)}return"function"==typeof Symbol&&Symbol.asyncIterator&&(t.prototype[Symbol.asyncIterator]=function(){return this}),t.prototype.next=function(e){return this._invoke("next",e)},t.prototype.throw=function(e){return this._invoke("throw",e)},t.prototype.return=function(e){return this._invoke("return",e)},{wrap:function(e){return function(){return new t(e.apply(this,arguments))}},await:function(t){return new e(t)}}}(),{require_tld:!0,allow_underscores:!1,allow_trailing_dot:!1}),me={allow_display_name:!1,require_display_name:!1,allow_utf8_local_part:!0,require_tld:!0},ve=/^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\.\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\.\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF\s]*<(.+)>$/i,_e=/^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~]+$/i,Fe=/^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f]))*$/i,$e=/^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+$/i,xe=/^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))*$/i,ye=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/,we=/^[0-9A-F]{1,4}$/i,Ae={protocols:["http","https","ftp"],require_tld:!0,require_protocol:!1,require_host:!0,require_valid_protocol:!0,allow_underscores:!1,allow_trailing_dot:!1,allow_protocol_relative_urls:!1},be=/^\[([^\]]+)\](?::([0-9]+))?$/,ke=/^([0-9a-fA-F][0-9a-fA-F]:){5}([0-9a-fA-F][0-9a-fA-F])$/,Se={"en-US":/^[A-Z]+$/i,"cs-CZ":/^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i,"da-DK":/^[A-ZÆØÅ]+$/i,"de-DE":/^[A-ZÄÖÜß]+$/i,"es-ES":/^[A-ZÁÉÍÑÓÚÜ]+$/i,"fr-FR":/^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i,"nl-NL":/^[A-ZÉËÏÓÖÜ]+$/i,"hu-HU":/^[A-ZÁÉÍÓÖŐÚÜŰ]+$/i,"pl-PL":/^[A-ZĄĆĘŚŁŃÓŻŹ]+$/i,"pt-PT":/^[A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]+$/i,"ru-RU":/^[А-ЯЁ]+$/i,"sr-RS@latin":/^[A-ZČĆŽŠĐ]+$/i,"sr-RS":/^[А-ЯЂЈЉЊЋЏ]+$/i,"tr-TR":/^[A-ZÇĞİıÖŞÜ]+$/i,"uk-UA":/^[А-ЯЄIЇҐ]+$/i,ar:/^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]+$/},De={"en-US":/^[0-9A-Z]+$/i,"cs-CZ":/^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i,"da-DK":/^[0-9A-ZÆØÅ]$/i,"de-DE":/^[0-9A-ZÄÖÜß]+$/i,"es-ES":/^[0-9A-ZÁÉÍÑÓÚÜ]+$/i,"fr-FR":/^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i,"hu-HU":/^[0-9A-ZÁÉÍÓÖŐÚÜŰ]+$/i,"nl-NL":/^[0-9A-ZÉËÏÓÖÜ]+$/i,"pl-PL":/^[0-9A-ZĄĆĘŚŁŃÓŻŹ]+$/i,"pt-PT":/^[0-9A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]+$/i,"ru-RU":/^[0-9А-ЯЁ]+$/i,"sr-RS@latin":/^[0-9A-ZČĆŽŠĐ]+$/i,"sr-RS":/^[0-9А-ЯЂЈЉЊЋЏ]+$/i,"tr-TR":/^[0-9A-ZÇĞİıÖŞÜ]+$/i,"uk-UA":/^[0-9А-ЯЄIЇҐ]+$/i,ar:/^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]+$/},Ee=["AU","GB","HK","IN","NZ","ZA","ZM"],Ze=0;Ze