Repository: baianat/vee-validate
Pull request #660 (2017-07-24 14:36:13)

Fix multiple validations  (validator pipeline + test)
#### Versions:
- VueJs: 2.3.4
- Vee-Validate: 2.0.0-rc7


### Description:
1) In commit 7dc8e740db06a8f8f1244652b560fefc8c41cdb7 a test was added to check that validations of multiple rules are correct:
```
test('it can hold handle mixed successes and errors from one field', async () => {
  const v = new Validator({
    name: 'alpha|'min:3
  }, { fastExit: false });
  expect(await v.validate('name', '123')).toBe(false);
  expect(v.errorBag.count()).toBe(1);
});
```
The test is not complete because it does not check a case where the first rule pass but the following rule/s fail.

2) Fixed validator pipeline code to address the issue above where it would return true if first validation passed but following failed in fastExit mode.

### Steps To Reproduce:

Run the new test in my commit without the fix to the validator pipeline to see the test failing.


Patch:
diff --git a/dist/locale/nl.js b/dist/locale/nl.js
index 7e7b9e7b..7d8caec7 100644
--- a/dist/locale/nl.js
+++ b/dist/locale/nl.js
@@ -1,1 +1,1 @@
-!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e.__vee_validate_locale__nl=e.__vee_validate_locale__nl||{},e.__vee_validate_locale__nl.js=n())}(this,function(){"use strict";var e={name:"nl",messages:{after:function(e,n){return e+" moet later zijn dan "+n[0]+"."},alpha_dash:function(e){return e+" mag alleen letters, nummers, en strepen bevatten."},alpha_num:function(e){return e+" mag alleen letters en nummers bevatten."},alpha:function(e){return e+" mag alleen letters bevatten."},before:function(e,n){return e+" moet eerder zijn dan "+n[0]+"."},between:function(e,n){return e+" moet tussen "+n[0]+" en "+n[1]+" liggen."},confirmed:function(e,n){return e+" komt niet overeen met "+n[0]+"."},date_between:function(e,n){return e+" moet tussen "+n[0]+" en "+n[1]+" liggen."},date_format:function(e,n){return e+" moet in het volgende formaat zijn: "+n[0]+"."},decimal:function(e,n){void 0===n&&(n=["*"]);var t=n[0];return e+" moet een nummer zijn en mag "+("*"===t?"":t)+" decimalen bevatten."},digits:function(e,n){return e+" moet een nummer zijn en exact "+n[0]+" tekens bevatten."},dimensions:function(e,n){return e+" moet "+n[0]+" pixels breed zijn en "+n[1]+" pixels hoog."},email:function(e){return e+" moet een geldig emailadres zijn"},ext:function(e){return e+" moet een geldig bestand zijn."},image:function(e){return e+" moet een afbeelding zijn."},in:function(e){return e+" moet een geldige waarde zijn."},ip:function(e){return e+" moet een geldig ip adres zijn."},max:function(e,n){return e+" mag niet groter zijn dan "+n[0]+" karakters."},mimes:function(e){return e+" moet een geldig bestandstype hebben."},min:function(e,n){return e+" moet minimaal "+n[0]+" karakaters zijn."},not_in:function(e){return e+" is ongeldig."},numeric:function(e){return e+" mag alleen nummers bevatten"},regex:function(e){return e+" formaat is ongeldig."},required:function(e){return e+" is verplicht."},size:function(e,n){return e+" moet minstens "+n[0]+" KB groot zijn."},url:function(e){return e+" is geen geldige URL."}},attributes:{}};return"undefined"!=typeof VeeValidate&&VeeValidate&&(VeeValidate.Validator,!0)&&VeeValidate.Validator.addLocale(e),e});
\ No newline at end of file
+!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e.__vee_validate_locale__nl=e.__vee_validate_locale__nl||{},e.__vee_validate_locale__nl.js=n())}(this,function(){"use strict";var e={name:"nl",messages:{after:function(e,n){return e+" moet later zijn dan "+n[0]+"."},alpha_dash:function(e){return e+" mag alleen letters, nummers, en strepen bevatten."},alpha_num:function(e){return e+" mag alleen letters en nummers bevatten."},alpha:function(e){return e+" mag alleen letters bevatten."},before:function(e,n){return e+" moet eerder zijn dan "+n[0]+"."},between:function(e,n){return e+" moet tussen "+n[0]+" en "+n[1]+" liggen."},confirmed:function(e,n){return e+" komt niet overeen met "+n[0]+"."},date_between:function(e,n){return e+" moet tussen "+n[0]+" en "+n[1]+" liggen."},date_format:function(e,n){return e+" moet in het volgende formaat zijn: "+n[0]+"."},decimal:function(e,n){void 0===n&&(n=["*"]);var t=n[0];return e+" moet een nummer zijn en mag "+("*"===t?"":t)+" decimalen bevatten."},digits:function(e,n){return e+" moet een nummer zijn en exact "+n[0]+" tekens bevatten."},dimensions:function(e,n){return e+" moet "+n[0]+" pixels breed zijn en "+n[1]+" pixels hoog."},email:function(e){return e+" moet een geldig emailadres zijn"},ext:function(e){return e+" moet een geldig bestand zijn."},image:function(e){return e+" moet een afbeelding zijn."},in:function(e){return e+" moet een geldige waarde zijn."},ip:function(e){return e+" moet een geldig ip adres zijn."},max:function(e,n){return e+" mag niet groter zijn dan "+n[0]+" karakters."},mimes:function(e){return e+" moet een geldig bestandstype hebben."},min:function(e,n){return e+" moet minimaal "+n[0]+" karakaters zijn."},not_in:function(e){return e+" is ongeldig."},numeric:function(e){return e+" mag alleen nummers bevatten"},regex:function(e){return e+" formaat is ongeldig."},required:function(e){return e+" is verplicht."},size:function(e,n){return e+" mag niet groter zijn dan "+n[0]+" KB."},url:function(e){return e+" is geen geldige URL."}},attributes:{}};return"undefined"!=typeof VeeValidate&&VeeValidate&&(VeeValidate.Validator,!0)&&VeeValidate.Validator.addLocale(e),e});
\ No newline at end of file
diff --git a/dist/locale/sr.js b/dist/locale/sr.js
new file mode 100644
index 00000000..8518a5eb
--- /dev/null
+++ b/dist/locale/sr.js
@@ -0,0 +1,1 @@
+!function(n,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(n.__vee_validate_locale__sr=n.__vee_validate_locale__sr||{},n.__vee_validate_locale__sr.js=e())}(this,function(){"use strict";var n={name:"en",messages:{_default:function(n){return"Поље "+n+" није валидно."},after:function(n,e){return"Поље "+n+" мора бити после "+e[0]+"."},alpha_dash:function(n){return"Поље "+n+" може садржати алфанумеричке карактере и повлаке."},alpha_num:function(n){return"Поље "+n+" може садржати само алфанумеричке карактере."},alpha_spaces:function(n){return"Поље "+n+" може садржати само алфанумеричке карактере и размаке."},alpha:function(n){return"Поље "+n+" може садржати само слова."},before:function(n,e){return"Поље "+n+" мора бити пре "+e[0]+"."},between:function(n,e){return"Поље "+n+" мора бити између "+e[0]+" и "+e[1]+"."},confirmed:function(n){return"Потврда поља "+n+" се не поклапа."},credit_card:function(n){return"Поље "+n+" није валидно."},date_between:function(n,e){return"Поље "+n+" мора бити између "+e[0]+" и "+e[1]+"."},date_format:function(n,e){return"Поље "+n+" мора бити у формату "+e[0]+"."},decimal:function(n,e){void 0===e&&(e=["*"]);var t=e[0];return"Поље "+n+" мора бити број и може садржати "+("*"===t?"":t)+" децималних места."},digits:function(n,e){return"Поље "+n+" мора бити број и садржати тачно "+e[0]+" цифара."},dimensions:function(n,e){return"Поље "+n+" мора бити "+e[0]+" x "+e[1]+" пиксела."},email:function(n){return"Поље "+n+" мора бити валидан имејл."},ext:function(n){return"Поље "+n+" мора бити валидан фајл."},image:function(n){return"Поље "+n+" мора бити слика."},in:function(n){return"Поље "+n+" мора бити валидна вредност."},ip:function(n){return"Поље "+n+' мора бити валидна "ај пи" адреса.'},max:function(n,e){return"Поље "+n+" не сме бити дуже од "+e[0]+" карактера."},max_value:function(n,e){return"Поље "+n+" не сме бити веће од "+e[0]+"."},mimes:function(n){return"Поље "+n+" мора бити валидан тип фајла."},min:function(n,e){return"Поље "+n+" мора садржати најмање "+e[0]+" карактера."},min_value:function(n,e){return"Поље "+n+" не сме бити мање од "+e[0]+"."},not_in:function(n){return"Поље "+n+" мора имати валидну вредност."},numeric:function(n){return"Поље "+n+" мора бити број."},regex:function(n){return"Формат поља "+n+" није валидан."},required:function(n){return"Поље "+n+" је обавезно."},size:function(n,e){return"Поље "+n+" мора бити мање од "+e[0]+" KB."},url:function(n){return"Поље "+n+" није валидна веб адреса."}},attributes:{}};return"undefined"!=typeof VeeValidate&&VeeValidate&&(VeeValidate.Validator,!0)&&VeeValidate.Validator.addLocale(n),n});
\ No newline at end of file
diff --git a/dist/vee-validate.esm.js b/dist/vee-validate.esm.js
index b72c6408..ffb45dbb 100644
--- a/dist/vee-validate.esm.js
+++ b/dist/vee-validate.esm.js
@@ -826,7 +826,7 @@ module.exports = exports['default'];
 var isURL = unwrapExports(isURL_1);
 
 var url = (value, [requireProtocol] = [true]) =>
-  isURL(value, { require_protocol: !! requireProtocol });
+  isURL(value, { require_protocol: !! requireProtocol, allow_underscores: true });
 
 /* eslint-disable camelcase */
 var Rules = {
@@ -2367,8 +2367,9 @@ class Validator {
     }
 
     const promises = [];
-    let test = true;
-    const syncResult = Object.keys(field.validations)[this.fastExit ? 'every' : 'some'](rule => {
+    let isExitEarly = false;
+    // use of '.some()' is to break iteration in middle by returning true
+    Object.keys(field.validations).some(rule => {
       const result = this._test(
         field,
         value,
@@ -2377,16 +2378,22 @@ class Validator {
 
       if (isCallable(result.then)) {
         promises.push(result);
-        return true;
+      } else if (this.fastExit && !result) {
+        isExitEarly = true;
+      } else {
+        const resultAsPromise = new Promise(resolve => {
+          resolve(result);
+        });
+        promises.push(resultAsPromise);
       }
 
-      test = test && result;
-      return result;
+      return isExitEarly;
     });
 
-    return Promise.all(promises).then(values => {
-      const valid = syncResult && test && values.every(t => t);
+    if (isExitEarly) return Promise.resolve(false);
 
+    return Promise.all(promises).then(values => {
+      const valid = values.every(t => t);
       return valid;
     });
   }
@@ -2874,7 +2881,7 @@ class ListenerGenerator {
      */
   _resolveFieldName () {
     if (this.component) {
-      return getDataAttribute(this.el, 'name') || this.component.name;
+      return getDataAttribute(this.el, 'name') || (this.component.$attrs && this.component.$attrs['data-vv-name']) || this.component.name;
     }
 
     return getDataAttribute(this.el, 'name') || this.el.name;
@@ -3095,9 +3102,9 @@ class ListenerGenerator {
   _attachComponentListeners () {
     this.componentListener = debounce((value) => {
       this._validate(value);
-    }, getDataAttribute(this.el, 'delay') || this.options.delay);
+    }, getDataAttribute(this.el, 'delay') || (this.component.$attrs && this.component.$attrs['data-vv-delay']) || this.options.delay);
 
-    const events = getDataAttribute(this.el, 'validate-on') || this.options.events;
+    const events = getDataAttribute(this.el, 'validate-on') || (this.component.$attrs && this.component.$attrs['data-vv-validate-on']) || this.options.events;
     events.split('|').forEach(e => {
       if (!e) {
         return;
@@ -3169,7 +3176,7 @@ class ListenerGenerator {
       return {
         context: () => this.component,
         getter: (context) => {
-          const path = getDataAttribute(this.el, 'value-path');
+          const path = getDataAttribute(this.el, 'value-path') || (this.component.$attrs && this.component.$attrs['data-vv-value-path']);
           if (path) {
             return getPath(path, this.component);
           }
diff --git a/dist/vee-validate.js b/dist/vee-validate.js
index 3010e654..f3115d0a 100644
--- a/dist/vee-validate.js
+++ b/dist/vee-validate.js
@@ -2564,8 +2564,9 @@ Validator.prototype._validate = function _validate (field, value) {
   }
 
   var promises = [];
-  var test = true;
-  var syncResult = Object.keys(field.validations)[this.fastExit ? 'every' : 'some'](function (rule) {
+  var isExitEarly = false;
+  // use of '.some()' is to break iteration in middle by returning true
+  Object.keys(field.validations).some(function (rule) {
     var result = this$1._test(
       field,
       value,
@@ -2574,16 +2575,22 @@ Validator.prototype._validate = function _validate (field, value) {
 
     if (isCallable(result.then)) {
       promises.push(result);
-      return true;
+    } else if (this$1.fastExit && !result) {
+      isExitEarly = true;
+    } else {
+      var resultAsPromise = new Promise(function (resolve) {
+        resolve(result);
+      });
+      promises.push(resultAsPromise);
     }
 
-    test = test && result;
-    return result;
+    return isExitEarly;
   });
 
-  return Promise.all(promises).then(function (values) {
-    var valid = syncResult && test && values.every(function (t) { return t; });
+  if (isExitEarly) { return Promise.resolve(false); }
 
+  return Promise.all(promises).then(function (values) {
+    var valid = values.every(function (t) { return t; });
     return valid;
   });
 };
diff --git a/dist/vee-validate.min.js b/dist/vee-validate.min.js
index 3ec5b701..efa6cab8 100644
--- a/dist/vee-validate.min.js
+++ b/dist/vee-validate.min.js
@@ -1,1 +1,1 @@
-!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.VeeValidate=t()}(this,function(){"use strict";function e(e){return e&&e.__esModule?e.default:e}function t(e,t){return t={exports:{}},e(t,t.exports),t.exports}var i={en:/^[A-Z]*$/i,cs:/^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]*$/i,da:/^[A-ZÆØÅ]*$/i,de:/^[A-ZÄÖÜß]*$/i,es:/^[A-ZÁÉÍÑÓÚÜ]*$/i,fr:/^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]*$/i,lt:/^[A-ZĄČĘĖĮŠŲŪŽ]*$/i,nl:/^[A-ZÉËÏÓÖÜ]*$/i,hu:/^[A-ZÁÉÍÓÖŐÚÜŰ]*$/i,pl:/^[A-ZĄĆĘŚŁŃÓŻŹ]*$/i,pt:/^[A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]*$/i,ru:/^[А-ЯЁ]*$/i,sk:/^[A-ZÁÄČĎÉÍĹĽŇÓŔŠŤÚÝŽ]*$/i,sr:/^[A-ZČĆŽŠĐ]*$/i,tr:/^[A-ZÇĞİıÖŞÜ]*$/i,uk:/^[А-ЩЬЮЯЄІЇҐ]*$/i,ar:/^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]*$/},n={en:/^[A-Z\s]*$/i,cs:/^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ\s]*$/i,da:/^[A-ZÆØÅ\s]*$/i,de:/^[A-ZÄÖÜß\s]*$/i,es:/^[A-ZÁÉÍÑÓÚÜ\s]*$/i,fr:/^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ\s]*$/i,lt:/^[A-ZĄČĘĖĮŠŲŪŽ\s]*$/i,nl:/^[A-ZÉËÏÓÖÜ\s]*$/i,hu:/^[A-ZÁÉÍÓÖŐÚÜŰ\s]*$/i,pl:/^[A-ZĄĆĘŚŁŃÓŻŹ\s]*$/i,pt:/^[A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ\s]*$/i,ru:/^[А-ЯЁ\s]*$/i,sk:/^[A-ZÁÄČĎÉÍĹĽŇÓŔŠŤÚÝŽ\s]*$/i,sr:/^[A-ZČĆŽŠĐ\s]*$/i,tr:/^[A-ZÇĞİıÖŞÜ\s]*$/i,uk:/^[А-ЩЬЮЯЄІЇҐ\s]*$/i,ar:/^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ\s]*$/},r={en:/^[0-9A-Z]*$/i,cs:/^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]*$/i,da:/^[0-9A-ZÆØÅ]$/i,de:/^[0-9A-ZÄÖÜß]*$/i,es:/^[0-9A-ZÁÉÍÑÓÚÜ]*$/i,fr:/^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]*$/i,lt:/^[0-9A-ZĄČĘĖĮŠŲŪŽ]*$/i,hu:/^[0-9A-ZÁÉÍÓÖŐÚÜŰ]*$/i,nl:/^[0-9A-ZÉËÏÓÖÜ]*$/i,pl:/^[0-9A-ZĄĆĘŚŁŃÓŻŹ]*$/i,pt:/^[0-9A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]*$/i,ru:/^[0-9А-ЯЁ]*$/i,sk:/^[0-9A-ZÁÄČĎÉÍĹĽŇÓŔŠŤÚÝŽ]*$/i,sr:/^[0-9A-ZČĆŽŠĐ]*$/i,tr:/^[0-9A-ZÇĞİıÖŞÜ]*$/i,uk:/^[0-9А-ЩЬЮЯЄІЇҐ]*$/i,ar:/^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]*$/},s={en:/^[0-9A-Z_-]*$/i,cs:/^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ_-]*$/i,da:/^[0-9A-ZÆØÅ_-]*$/i,de:/^[0-9A-ZÄÖÜß_-]*$/i,es:/^[0-9A-ZÁÉÍÑÓÚÜ_-]*$/i,fr:/^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ_-]*$/i,lt:/^[0-9A-ZĄČĘĖĮŠŲŪŽ_-]*$/i,nl:/^[0-9A-ZÉËÏÓÖÜ_-]*$/i,hu:/^[0-9A-ZÁÉÍÓÖŐÚÜŰ_-]*$/i,pl:/^[0-9A-ZĄĆĘŚŁŃÓŻŹ_-]*$/i,pt:/^[0-9A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ_-]*$/i,ru:/^[0-9А-ЯЁ_-]*$/i,sk:/^[0-9A-ZÁÄČĎÉÍĹĽŇÓŔŠŤÚÝŽ_-]*$/i,sr:/^[0-9A-ZČĆŽŠĐ_-]*$/i,tr:/^[0-9A-ZÇĞİıÖŞÜ_-]*$/i,uk:/^[0-9А-ЩЬЮЯЄІЇҐ_-]*$/i,ar:/^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ_-]*$/},o=t(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if(!("string"==typeof e||e instanceof String))throw new TypeError("This library (validator.js) validates strings only")},e.exports=t.default}),a=e(t(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,i.default)(e);var t=e.replace(/[- ]+/g,"");if(!n.test(t))return!1;for(var r=0,s=void 0,o=void 0,a=void 0,l=t.length-1;l>=0;l--)s=t.substring(l,l+1),o=parseInt(s,10),r+=a&&(o*=2)>=10?o%10+1:o,a=!a;return!(r%10!=0||!t)};var i=function(e){return e&&e.__esModule?e:{default:e}}(o),n=/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|(222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11}|62[0-9]{14})$/;e.exports=t.default})),l=function(e,t,i){var n=window.URL||window.webkitURL;return new Promise(function(r){var s=new Image;s.onerror=function(){return r({valid:!1})},s.onload=function(){return r({valid:s.width===Number(t)&&s.height===Number(i)})},s.src=n.createObjectURL(e)})},u=t(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];for(var i in t)void 0===e[i]&&(e[i]=t[i]);return e},e.exports=t.default}),c=t(function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var i="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};t.default=function(e,t){(0,n.default)(e);var r=void 0,s=void 0;"object"===(void 0===t?"undefined":i(t))?(r=t.min||0,s=t.max):(r=arguments[1],s=arguments[2]);var o=encodeURI(e).split(/%..|./).length-1;return o>=r&&(void 0===s||o<=s)};var n=function(e){return e&&e.__esModule?e:{default:e}}(o);e.exports=t.default}),f=t(function(e,t){function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,n.default)(e),(t=(0,r.default)(t,s)).allow_trailing_dot&&"."===e[e.length-1]&&(e=e.substring(0,e.length-1));var i=e.split(".");if(t.require_tld){var o=i.pop();if(!i.length||!/^([a-z\u00a1-\uffff]{2,}|xn[a-z0-9-]{2,})$/i.test(o))return!1;if(/[\s\u2002-\u200B\u202F\u205F\u3000\uFEFF\uDB40\uDC20]/.test(o))return!1}for(var a,l=0;l<i.length;l++){if(a=i[l],t.allow_underscores&&(a=a.replace(/_/g,"")),!/^[a-z\u00a1-\uffff0-9-]+$/i.test(a))return!1;if(/[\uff01-\uff5e]/.test(a))return!1;if("-"===a[0]||"-"===a[a.length-1])return!1}return!0};var n=i(o),r=i(u),s={require_tld:!0,allow_underscores:!1,allow_trailing_dot:!1};e.exports=t.default}),d=e(t(function(e,t){function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if((0,n.default)(e),(t=(0,r.default)(t,l)).require_display_name||t.allow_display_name){var i=e.match(d);if(i)e=i[1];else if(t.require_display_name)return!1}var o=e.split("@"),u=o.pop(),c=o.join("@"),f=u.toLowerCase();if("gmail.com"!==f&&"googlemail.com"!==f||(c=c.replace(/\./g,"").toLowerCase()),!(0,s.default)(c,{max:64})||!(0,s.default)(u,{max:254}))return!1;if(!(0,a.default)(u,{require_tld:t.require_tld}))return!1;if('"'===c[0])return c=c.slice(1,c.length-1),t.allow_utf8_local_part?m.test(c):p.test(c);for(var g=t.allow_utf8_local_part?v:h,_=c.split("."),y=0;y<_.length;y++)if(!g.test(_[y]))return!1;return!0};var n=i(o),r=i(u),s=i(c),a=i(f),l={allow_display_name:!1,require_display_name:!1,allow_utf8_local_part:!0,require_tld:!0},d=/^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\.\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\.\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF\s]*<(.+)>$/i,h=/^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~]+$/i,p=/^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f]))*$/i,v=/^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+$/i,m=/^([\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;e.exports=t.default})),h=t(function(e,t){function i(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if((0,n.default)(e),!(t=String(t)))return i(e,4)||i(e,6);if("4"===t)return!!r.test(e)&&e.split(".").sort(function(e,t){return e-t})[3]<=255;if("6"===t){var o=e.split(":"),a=!1,l=i(o[o.length-1],4),u=l?7:8;if(o.length>u)return!1;if("::"===e)return!0;"::"===e.substr(0,2)?(o.shift(),o.shift(),a=!0):"::"===e.substr(e.length-2)&&(o.pop(),o.pop(),a=!0);for(var c=0;c<o.length;++c)if(""===o[c]&&c>0&&c<o.length-1){if(a)return!1;a=!0}else if(l&&c===o.length-1);else if(!s.test(o[c]))return!1;return a?o.length>=1:o.length===u}return!1}Object.defineProperty(t,"__esModule",{value:!0}),t.default=i;var n=function(e){return e&&e.__esModule?e:{default:e}}(o),r=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/,s=/^[0-9A-F]{1,4}$/i;e.exports=t.default}),p=e(h),v=e(t(function(e,t){function i(e){return e&&e.__esModule?e:{default:e}}function n(e){return"[object RegExp]"===Object.prototype.toString.call(e)}function r(e,t){for(var i=0;i<t.length;i++){var r=t[i];if(e===r||n(r)&&r.test(e))return!0}return!1}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if((0,s.default)(e),!e||e.length>=2083||/[\s<>]/.test(e))return!1;if(0===e.indexOf("mailto:"))return!1;t=(0,c.default)(t,d);var i=void 0,n=void 0,o=void 0,u=void 0,f=void 0,h=void 0,v=void 0,m=void 0;if(v=e.split("#"),e=v.shift(),v=e.split("?"),e=v.shift(),(v=e.split("://")).length>1){if(i=v.shift(),t.require_valid_protocol&&-1===t.protocols.indexOf(i))return!1}else{if(t.require_protocol)return!1;t.allow_protocol_relative_urls&&"//"===e.substr(0,2)&&(v[0]=e.substr(2))}if(e=v.join("://"),v=e.split("/"),""===(e=v.shift())&&!t.require_host)return!0;if((v=e.split("@")).length>1&&(n=v.shift()).indexOf(":")>=0&&n.split(":").length>2)return!1;h=null,m=null;var g=(u=v.join("@")).match(p);return g?(o="",m=g[1],h=g[2]||null):(o=(v=u.split(":")).shift(),v.length&&(h=v.join(":"))),!(null!==h&&(f=parseInt(h,10),!/^[0-9]+$/.test(h)||f<=0||f>65535)||!((0,l.default)(o)||(0,a.default)(o,t)||m&&(0,l.default)(m,6)||"localhost"===o)||(o=o||m,t.host_whitelist&&!r(o,t.host_whitelist)||t.host_blacklist&&r(o,t.host_blacklist)))};var s=i(o),a=i(f),l=i(h),c=i(u),d={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},p=/^\[([^\]]+)\](?::([0-9]+))?$/;e.exports=t.default})),m={alpha_dash:function(e,t){void 0===t&&(t=[null]);var i=t[0];return i?(s[i]||s.en).test(e):Object.keys(s).some(function(t){return s[t].test(e)})},alpha_num:function(e,t){void 0===t&&(t=[null]);var i=t[0];return i?(r[i]||r.en).test(e):Object.keys(r).some(function(t){return r[t].test(e)})},alpha_spaces:function(e,t){void 0===t&&(t=[null]);var i=t[0];return i?(n[i]||n.en).test(e):Object.keys(n).some(function(t){return n[t].test(e)})},alpha:function(e,t){void 0===t&&(t=[null]);var n=t[0];return n?(i[n]||i.en).test(e):Object.keys(i).some(function(t){return i[t].test(e)})},between:function(e,t){var i=t[0],n=t[1];return Number(i)<=e&&Number(n)>=e},confirmed:function(e,t,i){var n=t[0],r=n?document.querySelector("input[name='"+n+"']"):document.querySelector("input[name='"+i+"_confirmation']");return r||(r=n?document.querySelector("input[data-vv-name='"+n+"']"):document.querySelector("input[data-vv-name='"+i+"_confirmation']")),!(!r||String(e)!==r.value)},credit_card:function(e){return a(String(e))},decimal:function(e,t){var i=Array.isArray(t)?t[0]||"*":"*";if(Array.isArray(e))return!1;if(null===e||void 0===e||""===e)return!0;if(0===Number(i))return/^-?\d*$/.test(e);var n="*"===i?"+":"{1,"+i+"}";if(!new RegExp("^-?\\d*(\\.\\d"+n+")?$").test(e))return!1;var r=parseFloat(e);return r===r},digits:function(e,t){var i=t[0],n=String(e);return/^[0-9]*$/.test(n)&&n.length===Number(i)},dimensions:function(e,t){for(var i=t[0],n=t[1],r=[],s=0;s<e.length;s++){if(!/\.(jpg|svg|jpeg|png|bmp|gif)$/i.test(e[s].name))return!1;r.push(e[s])}return Promise.all(r.map(function(e){return l(e,i,n)}))},email:function(e){return d(String(e))},ext:function(e,t){var i=new RegExp(".("+t.join("|")+")$","i");return e.every(function(e){return i.test(e.name)})},image:function(e){return e.every(function(e){return/\.(jpg|svg|jpeg|png|bmp|gif)$/i.test(e.name)})},in:function(e,t){return!!t.filter(function(t){return t==e}).length},ip:function(e,t){void 0===t&&(t=[4]);var i=t[0];return p(e,i)},max:function(e,t){var i=t[0];return void 0===e||null===e?i>=0:String(e).length<=i},max_value:function(e,t){var i=t[0];return!Array.isArray(e)&&null!==e&&void 0!==e&&""!==e&&Number(e)<=i},mimes:function(e,t){var i=new RegExp(t.join("|").replace("*",".+")+"$","i");return e.every(function(e){return i.test(e.type)})},min:function(e,t){var i=t[0];return void 0!==e&&null!==e&&String(e).length>=i},min_value:function(e,t){var i=t[0];return!Array.isArray(e)&&null!==e&&void 0!==e&&""!==e&&Number(e)>=i},not_in:function(e,t){return!t.filter(function(t){return t==e}).length},numeric:function(e){return/^[0-9]+$/.test(String(e))},regex:function(e,t){var i=t[0],n=t.slice(1);return i instanceof RegExp?i.test(e):new RegExp(i,n).test(String(e))},required:function(e,t){if(void 0===t&&(t=[!1]),Array.isArray(e))return!!e.length;var i=t[0];return!(!1===e&&i||void 0===e||null===e||!String(e).trim().length)},size:function(e,t){var i=t[0];if(isNaN(i))return!1;for(var n=1024*Number(i),r=0;r<e.length;r++)if(e[r].size>n)return!1;return!0},url:function(e,t){void 0===t&&(t=[!0]);var i=t[0];return v(e,{require_protocol:!!i})}},g=function(){this.errors=[]};g.prototype.add=function(e,t,i,n){void 0===n&&(n="__global__"),this.errors.push({field:e,msg:t,rule:i,scope:n})},g.prototype.all=function(e){return e?this.errors.filter(function(t){return t.scope===e}).map(function(e){return e.msg}):this.errors.map(function(e){return e.msg})},g.prototype.any=function(e){return e?!!this.errors.filter(function(t){return t.scope===e}).length:!!this.errors.length},g.prototype.clear=function(e){var t=this;e||(e="__global__");for(var i=0;i<this.errors.length;++i)(function(t){return t.scope===e})(t.errors[i])&&(t.errors.splice(i,1),--i)},g.prototype.collect=function(e,t,i){if(void 0===i&&(i=!0),!e){var n={};return this.errors.forEach(function(e){n[e.field]||(n[e.field]=[]),n[e.field].push(i?e.msg:e)}),n}return t?this.errors.filter(function(i){return i.field===e&&i.scope===t}).map(function(e){return i?e.msg:e}):this.errors.filter(function(t){return t.field===e}).map(function(e){return i?e.msg:e})},g.prototype.count=function(){return this.errors.length},g.prototype.first=function(e,t){var i=this;void 0===t&&(t="__global__");var n=this._selector(e),r=this._scope(e);if(r){var s=this.first(r.name,r.scope);if(s)return s}if(n)return this.firstByRule(n.name,n.rule,t);for(var o=0;o<this.errors.length;++o)if(i.errors[o].field===e&&i.errors[o].scope===t)return i.errors[o].msg;return null},g.prototype.firstRule=function(e,t){var i=this.collect(e,t,!1);return i.length&&i[0].rule||null},g.prototype.has=function(e,t){return void 0===t&&(t="__global__"),!!this.first(e,t)},g.prototype.firstByRule=function(e,t,i){var n=this.collect(e,i,!1).filter(function(e){return e.rule===t})[0];return n&&n.msg||null},g.prototype.remove=function(e,t){for(var i=this,n=t?function(i){return i.field===e&&i.scope===t}:function(t){return t.field===e&&"__global__"===t.scope},r=0;r<this.errors.length;++r)n(i.errors[r])&&(i.errors.splice(r,1),--r)},g.prototype._selector=function(e){if(e.indexOf(":")>-1){var t=e.split(":");return{name:t[0],rule:t[1]}}return null},g.prototype._scope=function(e){if(e.indexOf(".")>-1){var t=e.split("."),i=t[0];return{name:t[1],scope:i}}return null};var _=function(e,t){return e.getAttribute("data-vv-"+t)},y=function(e){var t=_(e,"scope");return!t&&e.form&&(t=_(e.form,"scope")),t},b=function(e,t,i){if(void 0===i&&(i=void 0),!e||!t)return i;var n=t;return e.split(".").every(function(e){return Object.prototype.hasOwnProperty.call(n,e)||void 0!==n[e]?(n=n[e],!0):(n=i,!1)}),n},$=function(e,t,i){if(void 0===t&&(t=0),void 0===i&&(i=!1),0===t)return e;var n;return function(){for(var r=[],s=arguments.length;s--;)r[s]=arguments[s];var o=i&&!n;clearTimeout(n),n=setTimeout(function(){n=null,i||e.apply(void 0,r)},t),o&&e.apply(void 0,r)}},x=function(e){console.warn("[vee-validate] "+e)},A=function(e){return new Error("[vee-validate] "+e)},F=function(e){return null!==e&&e&&"object"==typeof e&&!Array.isArray(e)},w=function(e){return"function"==typeof e},E=function(e,t){return e.classList?e.classList.contains(t):!!e.className.match(new RegExp("(\\s|^)"+t+"(\\s|$)"))},L=function(e,t){e.classList?e.classList.add(t):E(e,t)||(e.className+=" "+t)},N=function(e,t){if(e.classList)e.classList.remove(t);else if(E(e,t)){var i=new RegExp("(\\s|^)"+t+"(\\s|$)");e.className=e.className.replace(i," ")}},j=function(e){if(Array.from)return Array.from(e);for(var t=[],i=e.length,n=0;n<i;n++)t.push(e[n]);return t},O=function(e){for(var t=[],i=arguments.length-1;i-- >0;)t[i]=arguments[i+1];if(Object.assign)return Object.assign.apply(Object,[e].concat(t));if(null==e)throw new TypeError("Cannot convert undefined or null to object");var n=Object(e);return t.forEach(function(e){null!=e&&Object.keys(e).forEach(function(t){n[t]=e[t]})}),n},k=function(e,t){if(F(e)&&(e=Array.from(e)),e.find)return e.find(t);var i;return e.some(function(e){return!!t(e)&&(i=e,!0)}),i},Z=function(e,t,i){return e?"string"==typeof t?t:~["string","object"].indexOf(typeof t.rules)?t.rules:t:_(i,"rules")},S=function(e){return"SELECT"===e.tagName||~["radio","checkbox","file"].indexOf(e.type)?"change":"input"},T=function(e){void 0===e&&(e={}),this.container={},this.merge(e)};T.prototype.hasLocale=function(e){return!!this.container[e]},T.prototype.setDateFormat=function(e,t){this.container[e]||(this.container[e]={}),this.container[e].dateFormat=t},T.prototype.getDateFormat=function(e){if(this.container[e])return this.container[e].dateFormat},T.prototype.getMessage=function(e,t,i){return this.hasMessage(e,t)?this.container[e].messages[t]:i||this._getDefaultMessage(e)},T.prototype.getFieldMessage=function(e,t,i){if(!this.hasLocale(e))return this.getMessage(e,i);var n=this.container[e].custom&&this.container[e].custom[t];return n&&n[i]?n[i]:this.getMessage(e,i)},T.prototype._getDefaultMessage=function(e){return this.hasMessage(e,"_default")?this.container[e].messages._default:this.container.en.messages._default},T.prototype.getAttribute=function(e,t,i){return void 0===i&&(i=""),this.hasAttribute(e,t)?this.container[e].attributes[t]:i},T.prototype.hasMessage=function(e,t){return!!(this.hasLocale(e)&&this.container[e].messages&&this.container[e].messages[t])},T.prototype.hasAttribute=function(e,t){return!!(this.hasLocale(e)&&this.container[e].attributes&&this.container[e].attributes[t])},T.prototype.merge=function(e){this._merge(this.container,e)},T.prototype.setMessage=function(e,t,i){this.hasLocale(e)||(this.container[e]={messages:{},attributes:{}}),this.container[e].messages[t]=i},T.prototype.setAttribute=function(e,t,i){this.hasLocale(e)||(this.container[e]={messages:{},attributes:{}}),this.container[e].attributes[t]=i},T.prototype._merge=function(e,t){var i=this;return F(e)&&F(t)?(Object.keys(t).forEach(function(n){if(F(t[n])){if(!e[n]){O(e,(r={},r[n]={},r));var r}i._merge(e[n],t[n])}else{O(e,(s={},s[n]=t[n],s));var s}}),e):e};var M=function(e){return function(t,i){var n=i[0],r=i[1],s=i[2],o=document.querySelector("input[name='"+n+"']");void 0===s&&(s=r,r=!1);var a=e(t,s,!0),l=e(o?o.value:n,s,!0);return!(!a.isValid()||!l.isValid())&&(a.isAfter(l)||r&&a.isSame(l))}},q=function(e){return function(t,i){var n=i[0],r=i[1],s=i[2],o=document.querySelector("input[name='"+n+"']");void 0===s&&(s=r,r=!1);var a=e(t,s,!0),l=e(o?o.value:n,s,!0);return!(!a.isValid()||!l.isValid())&&(a.isBefore(l)||r&&a.isSame(l))}},D=function(e){return function(t,i){var n=i[0];return e(t,n,!0).isValid()}},B=function(e){return function(t,i){var n,r,s,o="()";if(i.length>3){var a;n=(a=i)[0],r=a[1],o=a[2],s=a[3]}else{var l;n=(l=i)[0],r=l[1],s=l[2]}var u=e(n,s,!0),c=e(r,s,!0),f=e(t,s,!0);return!!(u.isValid()&&c.isValid()&&f.isValid())&&f.isBetween(u,c,"days",o)}},P={make:function(e){return{date_format:D(e),after:M(e),before:q(e),date_between:B(e)}},messages:{after:function(e,t){var i=t[0];return"The "+e+" must be after "+(t[1]?"or equal to ":"")+i+"."},before:function(e,t){var i=t[0];return"The "+e+" must be before "+(t[1]?"or equal to ":"")+i+"."},date_between:function(e,t){return"The "+e+" must be between "+t[0]+" and "+t[1]+"."},date_format:function(e,t){return"The "+e+" must be in the format "+t[0]+"."}},installed:!1},R="en",z=!0,V=new T({en:{messages:{_default:function(e){return"The "+e+" value is not valid."},alpha_dash:function(e){return"The "+e+" field may contain alpha-numeric characters as well as dashes and underscores."},alpha_num:function(e){return"The "+e+" field may only contain alpha-numeric characters."},alpha_spaces:function(e){return"The "+e+" field may only contain alphabetic characters as well as spaces."},alpha:function(e){return"The "+e+" field may only contain alphabetic characters."},between:function(e,t){return"The "+e+" field must be between "+t[0]+" and "+t[1]+"."},confirmed:function(e){return"The "+e+" confirmation does not match."},credit_card:function(e){return"The "+e+" field is invalid."},decimal:function(e,t){void 0===t&&(t=["*"]);var i=t[0];return"The "+e+" field must be numeric and may contain "+(i&&"*"!==i?i:"")+" decimal points."},digits:function(e,t){return"The "+e+" field must be numeric and exactly contain "+t[0]+" digits."},dimensions:function(e,t){return"The "+e+" field must be "+t[0]+" pixels by "+t[1]+" pixels."},email:function(e){return"The "+e+" field must be a valid email."},ext:function(e){return"The "+e+" field must be a valid file."},image:function(e){return"The "+e+" field must be an image."},in:function(e){return"The "+e+" field must be a valid value."},ip:function(e){return"The "+e+" field must be a valid ip address."},max:function(e,t){return"The "+e+" field may not be greater than "+t[0]+" characters."},max_value:function(e,t){return"The "+e+" field must be "+t[0]+" or less."},mimes:function(e){return"The "+e+" field must have a valid file type."},min:function(e,t){return"The "+e+" field must be at least "+t[0]+" characters."},min_value:function(e,t){return"The "+e+" field must be "+t[0]+" or more."},not_in:function(e){return"The "+e+" field must be a valid value."},numeric:function(e){return"The "+e+" field may only contain numeric characters."},regex:function(e){return"The "+e+" field format is invalid."},required:function(e){return"The "+e+" field is required."},size:function(e,t){return"The "+e+" field must be less than "+t[0]+" KB."},url:function(e){return"The "+e+" field is not a valid URL."}},attributes:{},custom:{}}}),C=function(e,t){void 0===t&&(t={vm:null,fastExit:!0}),this.strictMode=z,this.$scopes={__global__:{}},this._createFields(e),this.errorBag=new g,this.fieldBag={},this.paused=!1,this.fastExit=t.fastExit||!1,this.$vm=t.vm,"function"==typeof moment&&this.installDateTimeValidators(moment)},I={dictionary:{},locale:{},rules:{}},U={dictionary:{}};I.dictionary.get=function(){return V},U.dictionary.get=function(){return V},I.locale.get=function(){return R},I.rules.get=function(){return m},C._merge=function(e,t){w(t)?m[e]=t:(m[e]=t.validate,w(t.getMessage)&&V.setMessage(R,e,t.getMessage),t.messages&&V.merge(Object.keys(t.messages).reduce(function(i,n){var r=i;r[n]={messages:(s={},s[e]=t.messages[n],s)};var s;return r},{})))},C._guardExtend=function(e,t){if(!w(t)){if(!w(t.validate))throw A("Extension Error: The validator '"+e+"' must be a function or have a 'validate' method.");if(!w(t.getMessage)&&!F(t.messages))throw A("Extension Error: The validator '"+e+"' must have a 'getMessage' method or have a 'messages' object.")}},C.create=function(e,t){return new C(e,t)},C.extend=function(e,t){C._guardExtend(e,t),C._merge(e,t)},C.installDateTimeValidators=function(e){if("function"!=typeof e)return x("To use the date-time validators you must provide moment reference."),!1;if(P.installed)return!0;var t=P.make(e);return Object.keys(t).forEach(function(e){C.extend(e,t[e])}),C.updateDictionary({en:{messages:P.messages}}),P.installed=!0,!0},C.remove=function(e){delete m[e]},C.setLocale=function(e){void 0===e&&(e="en"),V.hasLocale(e)||x("You are setting the validator locale to a locale that is not defined in the dicitionary. English messages may still be generated."),R=e},C.setStrictMode=function(e){void 0===e&&(e=!0),z=e},C.updateDictionary=function(e){V.merge(e)},C.addLocale=function(e){if(e.name){this.updateDictionary((t={},t[e.name]=e,t));var t}else x("Your locale must have a name property")},C.prototype.addLocale=function(e){C.addLocale(e)},C.prototype._resolveValuesFromGetters=function(e){var t=this;if(void 0===e&&(e="__global__"),!this.$scopes[e])return{};var i={};return Object.keys(this.$scopes[e]).forEach(function(n){var r=t.$scopes[e][n],s=r.getter,o=r.context,a=r.scope;if(s&&o&&("__global__"===e||a===e)){var l=o();if(l&&l.disabled)return;i[n]={value:s(l),scope:a}}}),i},C.prototype._createFields=function(e){var t=this;e&&Object.keys(e).forEach(function(i){t._createField(i,e[i])})},C.prototype._createField=function(e,t,i){void 0===i&&(i="__global__"),this.$scopes[i]||(this.$scopes[i]={}),this.$scopes[i][e]||(this.$scopes[i][e]={});var n=this.$scopes[i][e];n.name=e,n.validations=this._normalizeRules(e,t,i,n),n.required=this._isRequired(n)},C.prototype._normalizeRules=function(e,t,i,n){return t?"string"==typeof t?this._normalizeString(t,n):F(t)?this._normalizeObject(t,n):(x("Your checks for '"+i+"."+e+"' must be either a string or an object."),{}):{}},C.prototype._isRequired=function(e){return!(!e.validations||!e.validations.required)},C.prototype._normalizeObject=function(e,t){void 0===t&&(t=null);var i={};return Object.keys(e).forEach(function(n){var r=[];r=!0===e[n]?[]:Array.isArray(e[n])?e[n]:[e[n]],"required"===n&&(r=[t&&t.invalidateFalse]),!1===e[n]?delete i[n]:i[n]=r}),i},C.prototype._getDateFormat=function(e){var t=null;return e.date_format&&Array.isArray(e.date_format)&&(t=e.date_format[0]),t||this.dictionary.getDateFormat(this.locale)},C.prototype._isADateRule=function(e){return!!~["after","before","date_between","date_format"].indexOf(e)},C.prototype._containsValidation=function(e,t){return!!~e.indexOf(t)},C.prototype._normalizeString=function(e,t){var i=this;void 0===t&&(t=null);var n={};return e.split("|").forEach(function(e){var r=i._parseRule(e);r.name&&(n[r.name]=r.params,"required"===r.name&&(n.required=[t&&t.invalidateFalse]))}),n},C.prototype._parseRule=function(e){var t=[],i=e.split(":")[0];return~e.indexOf(":")&&(t=e.split(":").slice(1).join(":").split(",")),{name:i,params:t}},C.prototype._formatErrorMessage=function(e,t,i){void 0===i&&(i={});var n=this._getFieldDisplayName(e),r=this._getLocalizedParams(t,e.scope);if(!this.dictionary.hasLocale(R)){var s=this.dictionary.getFieldMessage("en",e.name,t.name);return w(s)?s(n,r,i):s}var o=this.dictionary.getFieldMessage(R,e.name,t.name);return w(o)?o(n,r,i):o},C.prototype._getLocalizedParams=function(e,t){return void 0===t&&(t="__global__"),~["after","before","confirmed"].indexOf(e.name)&&e.params&&e.params[0]?[this.dictionary.getAttribute(R,e.params[0],e.params[0])]:e.params},C.prototype._getFieldDisplayName=function(e){return e.as||this.dictionary.getAttribute(R,e.name,e.name)},C.prototype._test=function(e,t,i){var n=this,r=m[i.name];if(!r||"function"!=typeof r)throw A("No such validator '"+i.name+"' exists.");if(P.installed&&this._isADateRule(i.name)){var s=this._getDateFormat(e.validations);i.params=(Array.isArray(i.params)?j(i.params):[]).concat([s])}var o=r(t,i.params,e.name);return w(o.then)?o.then(function(t){var r=!0,s={};return Array.isArray(t)?r=t.every(function(e){return F(e)?e.valid:e}):(r=F(t)?t.valid:t,s=t.data),r||n.errorBag.add(e.name,n._formatErrorMessage(e,i,s),i.name,e.scope),r}):(F(o)||(o={valid:o,data:{}}),o.valid||this.errorBag.add(e.name,this._formatErrorMessage(e,i,o.data),i.name,e.scope),o.valid)},C.prototype.on=function(e,t,i,n){if(!t)throw A("Cannot add a listener for non-existent field "+t+".");if(!w(n))throw A("The "+e+" callback for field "+t+" is not callable.");this.$scopes[i][t].events[e]=n},C.prototype.off=function(e,t,i){t||x("Cannot remove a listener for non-existent field "+t+"."),this.$scopes[i][t].events[e]=void 0},C.prototype._assignFlags=function(e){e.flags={untouched:!0,touched:!1,dirty:!1,pristine:!0,valid:null,invalid:null,validated:!1,required:e.required,pending:!1};var t={};if(t[e.name]=e.flags,"__global__"!==e.scope){var i=O({},this.fieldBag["$"+e.scope],t);this.fieldBag=O({},this.fieldBag,(n={},n["$"+e.scope]=i,n));var n}else this.fieldBag=O({},this.fieldBag,t)},C.prototype.attach=function(e,t,i){void 0===i&&(i={}),i.scope=i.scope||"__global__",this.updateField(e,t,i);var n=this.$scopes[i.scope][e];n.scope=i.scope,n.as=i.prettyName,n.getter=i.getter,n.invalidateFalse=i.invalidateFalse,n.context=i.context,n.listeners=i.listeners||{detach:function(){}},n.el=n.listeners.el,n.events={},this._assignFlags(n),n.listeners.classes&&n.listeners.classes.attach(n),this._setAriaRequiredAttribute(n),this._setAriaValidAttribute(n,!0),i.initial&&this.validate(e,n.getter(n.context()),n.scope).catch(function(){})},C.prototype.flag=function(e,t){var i=this._resolveField(e);i&&(Object.keys(i.flags).forEach(function(e){i.flags[e]=void 0!==t[e]?t[e]:i.flags[e]}),i.listeners&&i.listeners.classes&&i.listeners.classes.sync())},C.prototype.append=function(e,t,i){void 0===i&&(i={}),i.scope=i.scope||"__global__",this.$scopes[i.scope]&&this.$scopes[i.scope][e]||this.attach(e,t,i);var n=this.$scopes[i.scope][e],r=this._normalizeRules(e,t,i.scope);Object.keys(r).forEach(function(e){n.validations[e]=r[e]})},C.prototype._moveFieldScope=function(e,t){this.$scopes[t]||(this.$scopes[t]={}),this.$scopes[t][e.name]=e,delete this.$scopes[e.scope][e.name],e.scope=t,e.el&&w(e.el.setAttribute)&&e.el.setAttribute("data-vv-scope",e.scope)},C.prototype.updateField=function(e,t,i){void 0===i&&(i={});var n=b(i.oldScope+"."+e,this.$scopes,null),r=n?JSON.stringify(n.validations):"";this._createField(e,t,i.scope,n),((n=b(i.scope+"."+e,this.$scopes,null))?JSON.stringify(n.validations):"")!==r&&this.errorBag.remove(e,i.scope)},C.prototype.clean=function(){var e=this;this.$vm&&w(this.$vm.$nextTick)&&this.$vm.$nextTick(function(){e.errorBag.clear()})},C.prototype.detach=function(e,t){void 0===t&&(t="__global__"),this.$scopes[t]&&this.$scopes[t][e]&&(this.$scopes[t][e].listeners&&this.$scopes[t][e].listeners.detach(),this.errorBag.remove(e,t),delete this.$scopes[t][e])},C.prototype.extend=function(e,t){C.extend(e,t)},C.prototype.getErrors=function(){return this.errorBag},C.prototype.installDateTimeValidators=function(e){C.installDateTimeValidators(e)},C.prototype.remove=function(e){C.remove(e)},C.prototype.setLocale=function(e){this.dictionary.hasLocale(e)||x("You are setting the validator locale to a locale that is not defined in the dicitionary. English messages may still be generated."),R=e},C.prototype.setStrictMode=function(e){void 0===e&&(e=!0),this.strictMode=e},C.prototype.updateDictionary=function(e){C.updateDictionary(e)},C.prototype.addScope=function(e){e&&!this.$scopes[e]&&(this.$scopes[e]={})},C.prototype._resolveField=function(e,t){if(e&&e.indexOf(".")>-1&&!this.$scopes.__global__[e]){var i;t=(i=e.split("."))[0],e=i[1]}return t||(t="__global__"),this.$scopes[t]?this.$scopes[t][e]:null},C.prototype._handleFieldNotFound=function(e,t){if(!this.strictMode)return Promise.resolve(!0);throw A('Validating a non-existant field: "'+("__global__"===t?e:t+"."+e)+'". Use "attach()" first.')},C.prototype._validate=function(e,t){var i=this;if(!e.required&&~[null,void 0,""].indexOf(t))return Promise.resolve(!0);var n=[],r=!0,s=Object.keys(e.validations)[this.fastExit?"every":"some"](function(s){var o=i._test(e,t,{name:s,params:e.validations[s]});return w(o.then)?(n.push(o),!0):(r=r&&o,o)});return Promise.all(n).then(function(e){return s&&r&&e.every(function(e){return e})})},C.prototype.validate=function(e,t,i){var n=this;if(void 0===i&&(i="__global__"),this.paused)return Promise.resolve(!0);var r=this._resolveField(e,i);return r?(this.errorBag.remove(r.name,r.scope),r.flags&&(r.flags.pending=!0),this._validate(r,t).then(function(e){return n._setAriaValidAttribute(r,e),r.flags&&(r.flags.pending=!1,r.flags.valid=e,r.flags.invalid=!e,r.flags.pending=!1,r.flags.validated=!0),r.events&&w(r.events.after)&&r.events.after({valid:e}),e})):this._handleFieldNotFound(e,i)},C.prototype._setAriaValidAttribute=function(e,t){e.el&&!e.listeners.component&&e.el.setAttribute("aria-invalid",!t)},C.prototype._setAriaRequiredAttribute=function(e){e.el&&!e.listeners.component&&e.el.setAttribute("aria-required",!!e.required)},C.prototype.pause=function(){return this.paused=!0,this},C.prototype.resume=function(){return this.paused=!1,this},C.prototype.validateAll=function(e,t){var i=this;if(void 0===t&&(t="__global__"),this.paused)return Promise.resolve(!0);var n;e&&"string"!=typeof e?(n={},Object.keys(e).forEach(function(i){n[i]={value:e[i],scope:t}})):(this.errorBag.clear(e),n=this._resolveValuesFromGetters(e));var r=Object.keys(n).map(function(e){return i.validate(e,n[e].value,n[e].scope)});return Promise.all(r).then(function(e){return e.every(function(e){return e})})},C.prototype.validateScopes=function(){var e=this;return this.paused?Promise.resolve(!0):Promise.all(Object.keys(this.$scopes).map(function(t){return e.validateAll(t)})).then(function(e){return e.every(function(e){return e})})},Object.defineProperties(C.prototype,I),Object.defineProperties(C,U);var G=function(e){return!!e&&(!(!Array.isArray(e)||!~e.indexOf("$validator"))||!(!F(e)||!e.$validator))},J=function(e,t){return new C(null,{init:!1,vm:e,fastExit:t.fastExit})},Y=function(e,t){var i={};return i.provide=function(){return this.$validator?{$validator:this.$validator}:{}},i.beforeCreate=function(){!this.$options.$validates&&this.$parent||(this.$validator=J(this,t));var i=G(this.$options.inject);this.$validator||!t.inject||i||(this.$validator=J(this,t)),(i||this.$validator)&&(!i&&this.$validator&&(e.util.defineReactive(this.$validator,"errorBag",this.$validator.errorBag),e.util.defineReactive(this.$validator,"fieldBag",this.$validator.fieldBag)),this.$options.computed||(this.$options.computed={}),this.$options.computed[t.errorBagName]=function(){return this.$validator.errorBag},this.$options.computed[t.fieldsBagName]=function(){return this.$validator.fieldBag})},i},W={touched:"touched",untouched:"untouched",valid:"valid",invalid:"invalid",pristine:"pristine",dirty:"dirty"},K=function(e,t,i){void 0===i&&(i={}),this.el=e,this.validator=t,this.enabled=i.enableAutoClasses,this.classNames=O({},W,i.classNames||{}),this.component=i.component,this.listeners={}};K.prototype.reset=function(){this.detach(),this.remove(this.classNames.dirty),this.remove(this.classNames.touched),this.remove(this.classNames.valid),this.remove(this.classNames.invalid),this.attach(this.field)},K.prototype.sync=function(){this.addInteractionListeners(),this.enabled&&(this.toggle(this.classNames.dirty,this.field.flags.dirty),this.toggle(this.classNames.pristine,this.field.flags.pristine),this.toggle(this.classNames.valid,this.field.flags.valid),this.toggle(this.classNames.invalid,this.field.flags.invalid),this.toggle(this.classNames.touched,this.field.flags.touched),this.toggle(this.classNames.untouched,this.field.flags.untouched))},K.prototype.addFocusListener=function(){var e=this;this.listeners.focus=function(){e.remove(e.classNames.untouched),e.add(e.classNames.touched),e.field.flags.touched=!0,e.field.flags.untouched=!1,e.component||e.el.removeEventListener("focus",e.listeners.focus),e.listeners.focus=null},this.component?this.component.$once("focus",this.listeners.focus):this.el.addEventListener("focus",this.listeners.focus)},K.prototype.addInputListener=function(){var e=this,t=S(this.el);this.listeners.input=function(){e.remove(e.classNames.pristine),e.add(e.classNames.dirty),e.field.flags.dirty=!0,e.field.flags.pristine=!1,e.component||e.el.removeEventListener(t,e.listeners.input),e.listeners.input=null},this.component?this.component.$once("input",this.listeners.input):this.el.addEventListener(t,this.listeners.input)},K.prototype.addInteractionListeners=function(){this.listeners.focus||this.addFocusListener(),this.listeners.input||this.addInputListener()},K.prototype.attach=function(e){var t=this;this.field=e,this.add(this.classNames.pristine),this.add(this.classNames.untouched),this.addInteractionListeners(),this.listeners.after=function(e){t.remove(e.valid?t.classNames.invalid:t.classNames.valid),t.add(e.valid?t.classNames.valid:t.classNames.invalid)},this.validator.on("after",this.field.name,this.field.scope,this.listeners.after)},K.prototype.detach=function(){this.field&&(this.component?(this.component.$off("input",this.listeners.input),this.component.$off("focus",this.listeners.focus)):(this.el.removeEventListener("focus",this.listeners.focus),this.el.removeEventListener("input",this.listeners.input)),this.validator.off("after",this.field.name,this.field.scope))},K.prototype.add=function(e){this.enabled&&L(this.el,e)},K.prototype.remove=function(e){this.enabled&&N(this.el,e)},K.prototype.toggle=function(e,t){t?this.add(e):this.remove(e)};var H={locale:"en",delay:0,errorBagName:"errors",dictionary:null,strict:!0,fieldsBagName:"fields",enableAutoClasses:!1,classNames:{},events:"input|blur",inject:!0,fastExit:!0},Q=function(e,t,i,n){this.unwatch=void 0,this.callbacks=[],this.el=e,this.scope=(F(t.value)?t.value.scope:y(e))||"__global__",this.binding=t,this.vm=i.context,this.component=i.child,this.options=O({},H,n),this.fieldName=this._resolveFieldName(),this.model=this._resolveModel(i.data),this.classes=new K(e,this.vm.$validator,{component:this.component,enableAutoClasses:n.enableAutoClasses,classNames:n.classNames})};Q.prototype._resolveModel=function(e){if(this.binding.arg)return{watchable:!0,expression:this.binding.arg,lazy:!1};if(F(this.binding.value)&&this.binding.value.arg)return{watchable:!0,expression:this.binding.value.arg,lazy:!1};var t={watchable:!1,expression:null,lazy:!1},i=e.model||k(e.directives,function(e){return"model"===e.name});return i?(t.expression=i.expression,t.watchable=/^[a-z_]+[0-9]*(\w*\.[a-z_]\w*)*$/i.test(i.expression)&&this._isExistingPath(i.expression),t.lazy=!!i.modifiers&&i.modifiers.lazy,t):t},Q.prototype._isExistingPath=function(e){var t=this.vm;return e.split(".").every(function(e){return!(!Object.prototype.hasOwnProperty.call(t,e)&&void 0===t[e])&&(t=t[e],!0)})},Q.prototype._resolveFieldName=function(){return this.component?_(this.el,"name")||this.component.name:_(this.el,"name")||this.el.name},Q.prototype._hasFieldDependency=function(e){var t=this,i=!1;return!!e&&(F(e)?(Object.keys(e).forEach(function(t){if(/confirmed|after|before/.test(t))return i=e[t].split(",")[0],!1}),i):(e.split("|").every(function(e){return/\b(confirmed|after|before):/.test(e)?(i=e.split(":")[1],!1):!/\b(confirmed)/.test(e)||(i=t.fieldName+"_confirmation",!1)}),i))},Q.prototype._inputListener=function(){return this._validate(this.el.value)},Q.prototype._fileListener=function(){var e=this;return this._validate(j(this.el.files)).then(function(t){!t&&e.binding.modifiers.reject&&(e.el.value="")})},Q.prototype._radioListener=function(){var e=document.querySelector('input[name="'+this.el.name+'"]:checked');return this._validate(e?e.value:null)},Q.prototype._checkboxListener=function(){var e=this,t=document.querySelectorAll('input[name="'+this.el.name+'"]:checked');t&&t.length?j(t).forEach(function(t){e._validate(t.value)}):this._validate(null)},Q.prototype._validate=function(e){return this.component&&this.component.disabled||this.el.disabled?Promise.resolve(!0):this.vm.$validator.validate(this.fieldName,e,this.scope||y(this.el))},Q.prototype._getScopedListener=function(e){var t=this;return function(i){(!i||i===t.scope||i instanceof window.Event)&&e()}},Q.prototype._attachValidatorEvent=function(){var e=this,t=this._getScopedListener(this._getSuitableListener().listener.bind(this)),i=this._hasFieldDependency(Z(this.binding.expression,this.binding.value,this.el));i&&this.vm.$nextTick(function(){var n=document.querySelector("input[name='"+i+"']");n?(_(e.el,"validate-on")||e.options.events).split("|").forEach(function(i){n.addEventListener(i,t,!1),e.callbacks.push({name:i,listener:t,el:n})}):x("Cannot find target field, no additional listeners were attached.")})},Q.prototype._getModeledListener=function(){var e=this;return this.model.watchable?function(){e._validate(b(e.model.expression,e.vm))}:null},Q.prototype._getSuitableListener=function(){var e,t={input:this.model.lazy?"change":"input",blur:"blur"};if("SELECT"===this.el.tagName)t.input="change",e={names:["change","blur"],listener:this._getModeledListener()||this._inputListener};else switch(this.el.type){case"file":t.input="change",t.blur=null,e={names:["change"],listener:this._fileListener};break;case"radio":t.input="change",t.blur=null,e={names:["change"],listener:this._getModeledListener()||this._radioListener};break;case"checkbox":t.input="change",t.blur=null,e={names:["change"],listener:this._getModeledListener()||this._checkboxListener};break;default:e={names:["input","blur"],listener:this._getModeledListener()||this._inputListener}}var i=_(this.el,"validate-on")||this.options.events;return e.names=i.split("|").filter(function(e){return null!==t[e]}).map(function(e){return t[e]||e}),e},Q.prototype._attachComponentListeners=function(){var e=this;this.componentListener=$(function(t){e._validate(t)},_(this.el,"delay")||this.options.delay),(_(this.el,"validate-on")||this.options.events).split("|").forEach(function(t){t&&("input"===t?e.component.$on("input",e.componentListener):"blur"===t?e.component.$on("blur",e.componentListener):e.component.$on(t,e.componentListener),e.componentPropUnwatch=e.component.$watch("value",e.componentListener))})},Q.prototype._attachFieldListeners=function(){var e=this;if(this.component)this._attachComponentListeners();else{var t=this._getSuitableListener(),i=$(t.listener.bind(this),_(this.el,"delay")||this.options.delay);~["radio","checkbox"].indexOf(this.el.type)?this.vm.$nextTick(function(){var n=document.querySelectorAll('input[name="'+e.el.name+'"]');j(n).forEach(function(n){t.names.forEach(function(t){n.addEventListener(t,i,!1),e.callbacks.push({name:t,listener:i,el:n})})})}):t.names.forEach(function(t){e.el.addEventListener(t,i,!1),e.callbacks.push({name:t,listener:i,el:e.el})})}},Q.prototype._resolveValueGetter=function(){var e=this;if(this.model.watchable)return{context:function(){return e.vm},getter:function(t){return b(e.model.expression,t)}};if(this.component)return{context:function(){return e.component},getter:function(t){var i=_(e.el,"value-path");return i?b(i,e.component):t.value}};switch(this.el.type){case"checkbox":return{context:function(){return document.querySelectorAll('input[name="'+e.el.name+'"]:checked')},getter:function(e){return e&&e.length?j(e).map(function(e){return e.value}):null}};case"radio":return{context:function(){return document.querySelector('input[name="'+e.el.name+'"]:checked')},getter:function(e){return e&&e.value}};case"file":return{context:function(){return e.el},getter:function(e){return j(e.files)}};default:return{context:function(){return e.el},getter:function(e){return e.value}}}},Q.prototype._attachModelWatcher=function(e){var t=this,i=_(this.el,"validate-on")||this.options.events,n=$(this._getSuitableListener().listener.bind(this),_(this.el,"delay")||this.options.delay);i.split("|").forEach(function(i){if(~["input","change"].indexOf(i)){var r=$(function(e){t.vm.$validator.validate(t.fieldName,e,t.scope||y(t.el))},_(t.el,"delay")||t.options.delay);t.unwatch=t.vm.$watch(e,r,{deep:!0})}else t.el.addEventListener(i,n,!1),t.callbacks.push({name:i,listener:n,el:t.el})})},Q.prototype.attach=function(){var e=this._resolveValueGetter(),t=e.context,i=e.getter;this.vm.$validator.attach(this.fieldName,Z(this.binding.expression,this.binding.value,this.el),{scope:this.scope,prettyName:_(this.el,"as")||this.el.title,context:t,getter:i,listeners:this,initial:this.binding.modifiers.initial,invalidateFalse:!(!this.el||"checkbox"!==this.el.type)}),this.binding.modifiers.disable||(this._attachValidatorEvent(),this.model.watchable?this._attachModelWatcher(this.model.expression):this._attachFieldListeners())},Q.prototype.detach=function(){this.component&&(this.component.$off("input",this.componentListener),this.component.$off("blur",this.componentListener),w(this.componentPropUnwatch)&&this.componentPropUnwatch()),this.unwatch&&this.unwatch(),this.classes.detach(),this.callbacks.forEach(function(e){e.el.removeEventListener(e.name,e.listener)}),this.callbacks=[]};var X=[],ee=function(e){return{inserted:function(e,t,i){var n=t.value,r=(t.expression,i.context),s=k(X,function(t){return t.vm===r&&t.el===e}).instance,o=F(n)?n.scope||y(e):y(e);if(o||(o="__global__"),o!==s.scope){var a=r.$validator._resolveField(s.fieldName,s.scope);r.$validator._moveFieldScope(a,o),s.scope=o}},bind:function(t,i,n){if(n.context.$validator){var r=new Q(t,i,n,e);r.attach(),X.push({vm:n.context,el:t,instance:r})}else{var s=n.context.$options._componentTag;x("No validator instance is present on "+(s?'component "'+s+'"':"un-named component")+", did you forget to inject '$validator'?")}},update:function(e,t,i){var n=t.expression,r=t.value,s=i.context,o=k(X,function(t){return t.vm===s&&t.el===e}).instance;if(n&&o.cachedExp!==JSON.stringify(r)){o.cachedExp=JSON.stringify(r);var a=F(r)?r.scope||y(e):y(e);s.$validator.updateField(o.fieldName,Z(n,r,e),{scope:a||"__global__"})}},unbind:function(e,t,i){var n=t.value,r=i.context,s=k(X,function(t){return t.vm===r&&t.el===e});if(void 0!==s){var o=F(n)?n.scope:y(e)||"__global__";r.$validator.detach(s.instance.fieldName,o),X.splice(X.indexOf(s),1)}}}},te=function(e){return Array.isArray(e)?e.reduce(function(e,t){return~t.indexOf(".")?e[t.split(".")[1]]=t:e[t]=t,e},{}):e};return{install:function(e,t){var i=O({},H,t);i.dictionary&&C.updateDictionary(i.dictionary),C.setLocale(i.locale),C.setStrictMode(i.strict),e.mixin(Y(e,i)),e.directive("validate",ee(i))},mapFields:function(e){var t=te(e);return Object.keys(t).reduce(function(e,i){var n=t[i];return e[i]=function(){if(this.$validator.fieldBag[n])return this.$validator.fieldBag[n];if(n.indexOf(".")<=0)return{};var e=n.split("."),t=e[0],i=e[1];return b("$"+t+"."+i,this.$validator.fieldBag,{})},e},{})},Validator:C,ErrorBag:g,Rules:m,version:"2.0.0-rc.7"}});
\ No newline at end of file
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.VeeValidate=t()}(this,function(){"use strict";function e(e){return e&&e.__esModule?e.default:e}function t(e,t){return t={exports:{}},e(t,t.exports),t.exports}var i={en:/^[A-Z]*$/i,cs:/^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]*$/i,da:/^[A-ZÆØÅ]*$/i,de:/^[A-ZÄÖÜß]*$/i,es:/^[A-ZÁÉÍÑÓÚÜ]*$/i,fr:/^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]*$/i,lt:/^[A-ZĄČĘĖĮŠŲŪŽ]*$/i,nl:/^[A-ZÉËÏÓÖÜ]*$/i,hu:/^[A-ZÁÉÍÓÖŐÚÜŰ]*$/i,pl:/^[A-ZĄĆĘŚŁŃÓŻŹ]*$/i,pt:/^[A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]*$/i,ru:/^[А-ЯЁ]*$/i,sk:/^[A-ZÁÄČĎÉÍĹĽŇÓŔŠŤÚÝŽ]*$/i,sr:/^[A-ZČĆŽŠĐ]*$/i,tr:/^[A-ZÇĞİıÖŞÜ]*$/i,uk:/^[А-ЩЬЮЯЄІЇҐ]*$/i,ar:/^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]*$/},n={en:/^[A-Z\s]*$/i,cs:/^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ\s]*$/i,da:/^[A-ZÆØÅ\s]*$/i,de:/^[A-ZÄÖÜß\s]*$/i,es:/^[A-ZÁÉÍÑÓÚÜ\s]*$/i,fr:/^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ\s]*$/i,lt:/^[A-ZĄČĘĖĮŠŲŪŽ\s]*$/i,nl:/^[A-ZÉËÏÓÖÜ\s]*$/i,hu:/^[A-ZÁÉÍÓÖŐÚÜŰ\s]*$/i,pl:/^[A-ZĄĆĘŚŁŃÓŻŹ\s]*$/i,pt:/^[A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ\s]*$/i,ru:/^[А-ЯЁ\s]*$/i,sk:/^[A-ZÁÄČĎÉÍĹĽŇÓŔŠŤÚÝŽ\s]*$/i,sr:/^[A-ZČĆŽŠĐ\s]*$/i,tr:/^[A-ZÇĞİıÖŞÜ\s]*$/i,uk:/^[А-ЩЬЮЯЄІЇҐ\s]*$/i,ar:/^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ\s]*$/},r={en:/^[0-9A-Z]*$/i,cs:/^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]*$/i,da:/^[0-9A-ZÆØÅ]$/i,de:/^[0-9A-ZÄÖÜß]*$/i,es:/^[0-9A-ZÁÉÍÑÓÚÜ]*$/i,fr:/^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]*$/i,lt:/^[0-9A-ZĄČĘĖĮŠŲŪŽ]*$/i,hu:/^[0-9A-ZÁÉÍÓÖŐÚÜŰ]*$/i,nl:/^[0-9A-ZÉËÏÓÖÜ]*$/i,pl:/^[0-9A-ZĄĆĘŚŁŃÓŻŹ]*$/i,pt:/^[0-9A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]*$/i,ru:/^[0-9А-ЯЁ]*$/i,sk:/^[0-9A-ZÁÄČĎÉÍĹĽŇÓŔŠŤÚÝŽ]*$/i,sr:/^[0-9A-ZČĆŽŠĐ]*$/i,tr:/^[0-9A-ZÇĞİıÖŞÜ]*$/i,uk:/^[0-9А-ЩЬЮЯЄІЇҐ]*$/i,ar:/^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]*$/},s={en:/^[0-9A-Z_-]*$/i,cs:/^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ_-]*$/i,da:/^[0-9A-ZÆØÅ_-]*$/i,de:/^[0-9A-ZÄÖÜß_-]*$/i,es:/^[0-9A-ZÁÉÍÑÓÚÜ_-]*$/i,fr:/^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ_-]*$/i,lt:/^[0-9A-ZĄČĘĖĮŠŲŪŽ_-]*$/i,nl:/^[0-9A-ZÉËÏÓÖÜ_-]*$/i,hu:/^[0-9A-ZÁÉÍÓÖŐÚÜŰ_-]*$/i,pl:/^[0-9A-ZĄĆĘŚŁŃÓŻŹ_-]*$/i,pt:/^[0-9A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ_-]*$/i,ru:/^[0-9А-ЯЁ_-]*$/i,sk:/^[0-9A-ZÁÄČĎÉÍĹĽŇÓŔŠŤÚÝŽ_-]*$/i,sr:/^[0-9A-ZČĆŽŠĐ_-]*$/i,tr:/^[0-9A-ZÇĞİıÖŞÜ_-]*$/i,uk:/^[0-9А-ЩЬЮЯЄІЇҐ_-]*$/i,ar:/^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ_-]*$/},o=t(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if(!("string"==typeof e||e instanceof String))throw new TypeError("This library (validator.js) validates strings only")},e.exports=t.default}),a=e(t(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,i.default)(e);var t=e.replace(/[- ]+/g,"");if(!n.test(t))return!1;for(var r=0,s=void 0,o=void 0,a=void 0,l=t.length-1;l>=0;l--)s=t.substring(l,l+1),o=parseInt(s,10),r+=a&&(o*=2)>=10?o%10+1:o,a=!a;return!(r%10!=0||!t)};var i=function(e){return e&&e.__esModule?e:{default:e}}(o),n=/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|(222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11}|62[0-9]{14})$/;e.exports=t.default})),l=function(e,t,i){var n=window.URL||window.webkitURL;return new Promise(function(r){var s=new Image;s.onerror=function(){return r({valid:!1})},s.onload=function(){return r({valid:s.width===Number(t)&&s.height===Number(i)})},s.src=n.createObjectURL(e)})},u=t(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];for(var i in t)void 0===e[i]&&(e[i]=t[i]);return e},e.exports=t.default}),c=t(function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var i="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};t.default=function(e,t){(0,n.default)(e);var r=void 0,s=void 0;"object"===(void 0===t?"undefined":i(t))?(r=t.min||0,s=t.max):(r=arguments[1],s=arguments[2]);var o=encodeURI(e).split(/%..|./).length-1;return o>=r&&(void 0===s||o<=s)};var n=function(e){return e&&e.__esModule?e:{default:e}}(o);e.exports=t.default}),f=t(function(e,t){function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,n.default)(e),(t=(0,r.default)(t,s)).allow_trailing_dot&&"."===e[e.length-1]&&(e=e.substring(0,e.length-1));var i=e.split(".");if(t.require_tld){var o=i.pop();if(!i.length||!/^([a-z\u00a1-\uffff]{2,}|xn[a-z0-9-]{2,})$/i.test(o))return!1;if(/[\s\u2002-\u200B\u202F\u205F\u3000\uFEFF\uDB40\uDC20]/.test(o))return!1}for(var a,l=0;l<i.length;l++){if(a=i[l],t.allow_underscores&&(a=a.replace(/_/g,"")),!/^[a-z\u00a1-\uffff0-9-]+$/i.test(a))return!1;if(/[\uff01-\uff5e]/.test(a))return!1;if("-"===a[0]||"-"===a[a.length-1])return!1}return!0};var n=i(o),r=i(u),s={require_tld:!0,allow_underscores:!1,allow_trailing_dot:!1};e.exports=t.default}),d=e(t(function(e,t){function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if((0,n.default)(e),(t=(0,r.default)(t,l)).require_display_name||t.allow_display_name){var i=e.match(d);if(i)e=i[1];else if(t.require_display_name)return!1}var o=e.split("@"),u=o.pop(),c=o.join("@"),f=u.toLowerCase();if("gmail.com"!==f&&"googlemail.com"!==f||(c=c.replace(/\./g,"").toLowerCase()),!(0,s.default)(c,{max:64})||!(0,s.default)(u,{max:254}))return!1;if(!(0,a.default)(u,{require_tld:t.require_tld}))return!1;if('"'===c[0])return c=c.slice(1,c.length-1),t.allow_utf8_local_part?m.test(c):p.test(c);for(var g=t.allow_utf8_local_part?v:h,_=c.split("."),y=0;y<_.length;y++)if(!g.test(_[y]))return!1;return!0};var n=i(o),r=i(u),s=i(c),a=i(f),l={allow_display_name:!1,require_display_name:!1,allow_utf8_local_part:!0,require_tld:!0},d=/^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\.\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\.\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF\s]*<(.+)>$/i,h=/^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~]+$/i,p=/^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f]))*$/i,v=/^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+$/i,m=/^([\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;e.exports=t.default})),h=t(function(e,t){function i(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if((0,n.default)(e),!(t=String(t)))return i(e,4)||i(e,6);if("4"===t)return!!r.test(e)&&e.split(".").sort(function(e,t){return e-t})[3]<=255;if("6"===t){var o=e.split(":"),a=!1,l=i(o[o.length-1],4),u=l?7:8;if(o.length>u)return!1;if("::"===e)return!0;"::"===e.substr(0,2)?(o.shift(),o.shift(),a=!0):"::"===e.substr(e.length-2)&&(o.pop(),o.pop(),a=!0);for(var c=0;c<o.length;++c)if(""===o[c]&&c>0&&c<o.length-1){if(a)return!1;a=!0}else if(l&&c===o.length-1);else if(!s.test(o[c]))return!1;return a?o.length>=1:o.length===u}return!1}Object.defineProperty(t,"__esModule",{value:!0}),t.default=i;var n=function(e){return e&&e.__esModule?e:{default:e}}(o),r=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/,s=/^[0-9A-F]{1,4}$/i;e.exports=t.default}),p=e(h),v=e(t(function(e,t){function i(e){return e&&e.__esModule?e:{default:e}}function n(e){return"[object RegExp]"===Object.prototype.toString.call(e)}function r(e,t){for(var i=0;i<t.length;i++){var r=t[i];if(e===r||n(r)&&r.test(e))return!0}return!1}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if((0,s.default)(e),!e||e.length>=2083||/[\s<>]/.test(e))return!1;if(0===e.indexOf("mailto:"))return!1;t=(0,c.default)(t,d);var i=void 0,n=void 0,o=void 0,u=void 0,f=void 0,h=void 0,v=void 0,m=void 0;if(v=e.split("#"),e=v.shift(),v=e.split("?"),e=v.shift(),(v=e.split("://")).length>1){if(i=v.shift(),t.require_valid_protocol&&-1===t.protocols.indexOf(i))return!1}else{if(t.require_protocol)return!1;t.allow_protocol_relative_urls&&"//"===e.substr(0,2)&&(v[0]=e.substr(2))}if(e=v.join("://"),v=e.split("/"),""===(e=v.shift())&&!t.require_host)return!0;if((v=e.split("@")).length>1&&(n=v.shift()).indexOf(":")>=0&&n.split(":").length>2)return!1;h=null,m=null;var g=(u=v.join("@")).match(p);return g?(o="",m=g[1],h=g[2]||null):(o=(v=u.split(":")).shift(),v.length&&(h=v.join(":"))),!(null!==h&&(f=parseInt(h,10),!/^[0-9]+$/.test(h)||f<=0||f>65535)||!((0,l.default)(o)||(0,a.default)(o,t)||m&&(0,l.default)(m,6)||"localhost"===o)||(o=o||m,t.host_whitelist&&!r(o,t.host_whitelist)||t.host_blacklist&&r(o,t.host_blacklist)))};var s=i(o),a=i(f),l=i(h),c=i(u),d={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},p=/^\[([^\]]+)\](?::([0-9]+))?$/;e.exports=t.default})),m={alpha_dash:function(e,t){void 0===t&&(t=[null]);var i=t[0];return i?(s[i]||s.en).test(e):Object.keys(s).some(function(t){return s[t].test(e)})},alpha_num:function(e,t){void 0===t&&(t=[null]);var i=t[0];return i?(r[i]||r.en).test(e):Object.keys(r).some(function(t){return r[t].test(e)})},alpha_spaces:function(e,t){void 0===t&&(t=[null]);var i=t[0];return i?(n[i]||n.en).test(e):Object.keys(n).some(function(t){return n[t].test(e)})},alpha:function(e,t){void 0===t&&(t=[null]);var n=t[0];return n?(i[n]||i.en).test(e):Object.keys(i).some(function(t){return i[t].test(e)})},between:function(e,t){var i=t[0],n=t[1];return Number(i)<=e&&Number(n)>=e},confirmed:function(e,t,i){var n=t[0],r=n?document.querySelector("input[name='"+n+"']"):document.querySelector("input[name='"+i+"_confirmation']");return r||(r=n?document.querySelector("input[data-vv-name='"+n+"']"):document.querySelector("input[data-vv-name='"+i+"_confirmation']")),!(!r||String(e)!==r.value)},credit_card:function(e){return a(String(e))},decimal:function(e,t){var i=Array.isArray(t)?t[0]||"*":"*";if(Array.isArray(e))return!1;if(null===e||void 0===e||""===e)return!0;if(0===Number(i))return/^-?\d*$/.test(e);var n="*"===i?"+":"{1,"+i+"}";if(!new RegExp("^-?\\d*(\\.\\d"+n+")?$").test(e))return!1;var r=parseFloat(e);return r===r},digits:function(e,t){var i=t[0],n=String(e);return/^[0-9]*$/.test(n)&&n.length===Number(i)},dimensions:function(e,t){for(var i=t[0],n=t[1],r=[],s=0;s<e.length;s++){if(!/\.(jpg|svg|jpeg|png|bmp|gif)$/i.test(e[s].name))return!1;r.push(e[s])}return Promise.all(r.map(function(e){return l(e,i,n)}))},email:function(e){return d(String(e))},ext:function(e,t){var i=new RegExp(".("+t.join("|")+")$","i");return e.every(function(e){return i.test(e.name)})},image:function(e){return e.every(function(e){return/\.(jpg|svg|jpeg|png|bmp|gif)$/i.test(e.name)})},in:function(e,t){return!!t.filter(function(t){return t==e}).length},ip:function(e,t){void 0===t&&(t=[4]);var i=t[0];return p(e,i)},max:function(e,t){var i=t[0];return void 0===e||null===e?i>=0:String(e).length<=i},max_value:function(e,t){var i=t[0];return!Array.isArray(e)&&null!==e&&void 0!==e&&""!==e&&Number(e)<=i},mimes:function(e,t){var i=new RegExp(t.join("|").replace("*",".+")+"$","i");return e.every(function(e){return i.test(e.type)})},min:function(e,t){var i=t[0];return void 0!==e&&null!==e&&String(e).length>=i},min_value:function(e,t){var i=t[0];return!Array.isArray(e)&&null!==e&&void 0!==e&&""!==e&&Number(e)>=i},not_in:function(e,t){return!t.filter(function(t){return t==e}).length},numeric:function(e){return/^[0-9]+$/.test(String(e))},regex:function(e,t){var i=t[0],n=t.slice(1);return i instanceof RegExp?i.test(e):new RegExp(i,n).test(String(e))},required:function(e,t){if(void 0===t&&(t=[!1]),Array.isArray(e))return!!e.length;var i=t[0];return!(!1===e&&i||void 0===e||null===e||!String(e).trim().length)},size:function(e,t){var i=t[0];if(isNaN(i))return!1;for(var n=1024*Number(i),r=0;r<e.length;r++)if(e[r].size>n)return!1;return!0},url:function(e,t){void 0===t&&(t=[!0]);var i=t[0];return v(e,{require_protocol:!!i,allow_underscores:!0})}},g=function(){this.errors=[]};g.prototype.add=function(e,t,i,n){void 0===n&&(n="__global__"),this.errors.push({field:e,msg:t,rule:i,scope:n})},g.prototype.all=function(e){return e?this.errors.filter(function(t){return t.scope===e}).map(function(e){return e.msg}):this.errors.map(function(e){return e.msg})},g.prototype.any=function(e){return e?!!this.errors.filter(function(t){return t.scope===e}).length:!!this.errors.length},g.prototype.clear=function(e){var t=this;e||(e="__global__");for(var i=0;i<this.errors.length;++i)(function(t){return t.scope===e})(t.errors[i])&&(t.errors.splice(i,1),--i)},g.prototype.collect=function(e,t,i){if(void 0===i&&(i=!0),!e){var n={};return this.errors.forEach(function(e){n[e.field]||(n[e.field]=[]),n[e.field].push(i?e.msg:e)}),n}return t?this.errors.filter(function(i){return i.field===e&&i.scope===t}).map(function(e){return i?e.msg:e}):this.errors.filter(function(t){return t.field===e}).map(function(e){return i?e.msg:e})},g.prototype.count=function(){return this.errors.length},g.prototype.first=function(e,t){var i=this;void 0===t&&(t="__global__");var n=this._selector(e),r=this._scope(e);if(r){var s=this.first(r.name,r.scope);if(s)return s}if(n)return this.firstByRule(n.name,n.rule,t);for(var o=0;o<this.errors.length;++o)if(i.errors[o].field===e&&i.errors[o].scope===t)return i.errors[o].msg;return null},g.prototype.firstRule=function(e,t){var i=this.collect(e,t,!1);return i.length&&i[0].rule||null},g.prototype.has=function(e,t){return void 0===t&&(t="__global__"),!!this.first(e,t)},g.prototype.firstByRule=function(e,t,i){var n=this.collect(e,i,!1).filter(function(e){return e.rule===t})[0];return n&&n.msg||null},g.prototype.remove=function(e,t){for(var i=this,n=t?function(i){return i.field===e&&i.scope===t}:function(t){return t.field===e&&"__global__"===t.scope},r=0;r<this.errors.length;++r)n(i.errors[r])&&(i.errors.splice(r,1),--r)},g.prototype._selector=function(e){if(e.indexOf(":")>-1){var t=e.split(":");return{name:t[0],rule:t[1]}}return null},g.prototype._scope=function(e){if(e.indexOf(".")>-1){var t=e.split("."),i=t[0];return{name:t[1],scope:i}}return null};var _=function(e,t){return e.getAttribute("data-vv-"+t)},y=function(e){var t=_(e,"scope");return!t&&e.form&&(t=_(e.form,"scope")),t},b=function(e,t,i){if(void 0===i&&(i=void 0),!e||!t)return i;var n=t;return e.split(".").every(function(e){return Object.prototype.hasOwnProperty.call(n,e)||void 0!==n[e]?(n=n[e],!0):(n=i,!1)}),n},$=function(e,t,i){if(void 0===t&&(t=0),void 0===i&&(i=!1),0===t)return e;var n;return function(){for(var r=[],s=arguments.length;s--;)r[s]=arguments[s];var o=i&&!n;clearTimeout(n),n=setTimeout(function(){n=null,i||e.apply(void 0,r)},t),o&&e.apply(void 0,r)}},x=function(e){console.warn("[vee-validate] "+e)},A=function(e){return new Error("[vee-validate] "+e)},F=function(e){return null!==e&&e&&"object"==typeof e&&!Array.isArray(e)},w=function(e){return"function"==typeof e},E=function(e,t){return e.classList?e.classList.contains(t):!!e.className.match(new RegExp("(\\s|^)"+t+"(\\s|$)"))},L=function(e,t){e.classList?e.classList.add(t):E(e,t)||(e.className+=" "+t)},N=function(e,t){if(e.classList)e.classList.remove(t);else if(E(e,t)){var i=new RegExp("(\\s|^)"+t+"(\\s|$)");e.className=e.className.replace(i," ")}},j=function(e){if(Array.from)return Array.from(e);for(var t=[],i=e.length,n=0;n<i;n++)t.push(e[n]);return t},O=function(e){for(var t=[],i=arguments.length-1;i-- >0;)t[i]=arguments[i+1];if(Object.assign)return Object.assign.apply(Object,[e].concat(t));if(null==e)throw new TypeError("Cannot convert undefined or null to object");var n=Object(e);return t.forEach(function(e){null!=e&&Object.keys(e).forEach(function(t){n[t]=e[t]})}),n},k=function(e,t){if(F(e)&&(e=Array.from(e)),e.find)return e.find(t);var i;return e.some(function(e){return!!t(e)&&(i=e,!0)}),i},Z=function(e,t,i){return e?"string"==typeof t?t:~["string","object"].indexOf(typeof t.rules)?t.rules:t:_(i,"rules")},S=function(e){return"SELECT"===e.tagName||~["radio","checkbox","file"].indexOf(e.type)?"change":"input"},T=function(e){void 0===e&&(e={}),this.container={},this.merge(e)};T.prototype.hasLocale=function(e){return!!this.container[e]},T.prototype.setDateFormat=function(e,t){this.container[e]||(this.container[e]={}),this.container[e].dateFormat=t},T.prototype.getDateFormat=function(e){if(this.container[e])return this.container[e].dateFormat},T.prototype.getMessage=function(e,t,i){return this.hasMessage(e,t)?this.container[e].messages[t]:i||this._getDefaultMessage(e)},T.prototype.getFieldMessage=function(e,t,i){if(!this.hasLocale(e))return this.getMessage(e,i);var n=this.container[e].custom&&this.container[e].custom[t];return n&&n[i]?n[i]:this.getMessage(e,i)},T.prototype._getDefaultMessage=function(e){return this.hasMessage(e,"_default")?this.container[e].messages._default:this.container.en.messages._default},T.prototype.getAttribute=function(e,t,i){return void 0===i&&(i=""),this.hasAttribute(e,t)?this.container[e].attributes[t]:i},T.prototype.hasMessage=function(e,t){return!!(this.hasLocale(e)&&this.container[e].messages&&this.container[e].messages[t])},T.prototype.hasAttribute=function(e,t){return!!(this.hasLocale(e)&&this.container[e].attributes&&this.container[e].attributes[t])},T.prototype.merge=function(e){this._merge(this.container,e)},T.prototype.setMessage=function(e,t,i){this.hasLocale(e)||(this.container[e]={messages:{},attributes:{}}),this.container[e].messages[t]=i},T.prototype.setAttribute=function(e,t,i){this.hasLocale(e)||(this.container[e]={messages:{},attributes:{}}),this.container[e].attributes[t]=i},T.prototype._merge=function(e,t){var i=this;return F(e)&&F(t)?(Object.keys(t).forEach(function(n){if(F(t[n])){if(!e[n]){O(e,(r={},r[n]={},r));var r}i._merge(e[n],t[n])}else{O(e,(s={},s[n]=t[n],s));var s}}),e):e};var M=function(e){return function(t,i){var n=i[0],r=i[1],s=i[2],o=document.querySelector("input[name='"+n+"']");void 0===s&&(s=r,r=!1);var a=e(t,s,!0),l=e(o?o.value:n,s,!0);return!(!a.isValid()||!l.isValid())&&(a.isAfter(l)||r&&a.isSame(l))}},q=function(e){return function(t,i){var n=i[0],r=i[1],s=i[2],o=document.querySelector("input[name='"+n+"']");void 0===s&&(s=r,r=!1);var a=e(t,s,!0),l=e(o?o.value:n,s,!0);return!(!a.isValid()||!l.isValid())&&(a.isBefore(l)||r&&a.isSame(l))}},D=function(e){return function(t,i){var n=i[0];return e(t,n,!0).isValid()}},B=function(e){return function(t,i){var n,r,s,o="()";if(i.length>3){var a;n=(a=i)[0],r=a[1],o=a[2],s=a[3]}else{var l;n=(l=i)[0],r=l[1],s=l[2]}var u=e(n,s,!0),c=e(r,s,!0),f=e(t,s,!0);return!!(u.isValid()&&c.isValid()&&f.isValid())&&f.isBetween(u,c,"days",o)}},P={make:function(e){return{date_format:D(e),after:M(e),before:q(e),date_between:B(e)}},messages:{after:function(e,t){var i=t[0];return"The "+e+" must be after "+(t[1]?"or equal to ":"")+i+"."},before:function(e,t){var i=t[0];return"The "+e+" must be before "+(t[1]?"or equal to ":"")+i+"."},date_between:function(e,t){return"The "+e+" must be between "+t[0]+" and "+t[1]+"."},date_format:function(e,t){return"The "+e+" must be in the format "+t[0]+"."}},installed:!1},R="en",z=!0,V=new T({en:{messages:{_default:function(e){return"The "+e+" value is not valid."},alpha_dash:function(e){return"The "+e+" field may contain alpha-numeric characters as well as dashes and underscores."},alpha_num:function(e){return"The "+e+" field may only contain alpha-numeric characters."},alpha_spaces:function(e){return"The "+e+" field may only contain alphabetic characters as well as spaces."},alpha:function(e){return"The "+e+" field may only contain alphabetic characters."},between:function(e,t){return"The "+e+" field must be between "+t[0]+" and "+t[1]+"."},confirmed:function(e){return"The "+e+" confirmation does not match."},credit_card:function(e){return"The "+e+" field is invalid."},decimal:function(e,t){void 0===t&&(t=["*"]);var i=t[0];return"The "+e+" field must be numeric and may contain "+(i&&"*"!==i?i:"")+" decimal points."},digits:function(e,t){return"The "+e+" field must be numeric and exactly contain "+t[0]+" digits."},dimensions:function(e,t){return"The "+e+" field must be "+t[0]+" pixels by "+t[1]+" pixels."},email:function(e){return"The "+e+" field must be a valid email."},ext:function(e){return"The "+e+" field must be a valid file."},image:function(e){return"The "+e+" field must be an image."},in:function(e){return"The "+e+" field must be a valid value."},ip:function(e){return"The "+e+" field must be a valid ip address."},max:function(e,t){return"The "+e+" field may not be greater than "+t[0]+" characters."},max_value:function(e,t){return"The "+e+" field must be "+t[0]+" or less."},mimes:function(e){return"The "+e+" field must have a valid file type."},min:function(e,t){return"The "+e+" field must be at least "+t[0]+" characters."},min_value:function(e,t){return"The "+e+" field must be "+t[0]+" or more."},not_in:function(e){return"The "+e+" field must be a valid value."},numeric:function(e){return"The "+e+" field may only contain numeric characters."},regex:function(e){return"The "+e+" field format is invalid."},required:function(e){return"The "+e+" field is required."},size:function(e,t){return"The "+e+" field must be less than "+t[0]+" KB."},url:function(e){return"The "+e+" field is not a valid URL."}},attributes:{},custom:{}}}),C=function(e,t){void 0===t&&(t={vm:null,fastExit:!0}),this.strictMode=z,this.$scopes={__global__:{}},this._createFields(e),this.errorBag=new g,this.fieldBag={},this.paused=!1,this.fastExit=t.fastExit||!1,this.$vm=t.vm,"function"==typeof moment&&this.installDateTimeValidators(moment)},I={dictionary:{},locale:{},rules:{}},U={dictionary:{}};I.dictionary.get=function(){return V},U.dictionary.get=function(){return V},I.locale.get=function(){return R},I.rules.get=function(){return m},C._merge=function(e,t){w(t)?m[e]=t:(m[e]=t.validate,w(t.getMessage)&&V.setMessage(R,e,t.getMessage),t.messages&&V.merge(Object.keys(t.messages).reduce(function(i,n){var r=i;r[n]={messages:(s={},s[e]=t.messages[n],s)};var s;return r},{})))},C._guardExtend=function(e,t){if(!w(t)){if(!w(t.validate))throw A("Extension Error: The validator '"+e+"' must be a function or have a 'validate' method.");if(!w(t.getMessage)&&!F(t.messages))throw A("Extension Error: The validator '"+e+"' must have a 'getMessage' method or have a 'messages' object.")}},C.create=function(e,t){return new C(e,t)},C.extend=function(e,t){C._guardExtend(e,t),C._merge(e,t)},C.installDateTimeValidators=function(e){if("function"!=typeof e)return x("To use the date-time validators you must provide moment reference."),!1;if(P.installed)return!0;var t=P.make(e);return Object.keys(t).forEach(function(e){C.extend(e,t[e])}),C.updateDictionary({en:{messages:P.messages}}),P.installed=!0,!0},C.remove=function(e){delete m[e]},C.setLocale=function(e){void 0===e&&(e="en"),V.hasLocale(e)||x("You are setting the validator locale to a locale that is not defined in the dicitionary. English messages may still be generated."),R=e},C.setStrictMode=function(e){void 0===e&&(e=!0),z=e},C.updateDictionary=function(e){V.merge(e)},C.addLocale=function(e){if(e.name){this.updateDictionary((t={},t[e.name]=e,t));var t}else x("Your locale must have a name property")},C.prototype.addLocale=function(e){C.addLocale(e)},C.prototype._resolveValuesFromGetters=function(e){var t=this;if(void 0===e&&(e="__global__"),!this.$scopes[e])return{};var i={};return Object.keys(this.$scopes[e]).forEach(function(n){var r=t.$scopes[e][n],s=r.getter,o=r.context,a=r.scope;if(s&&o&&("__global__"===e||a===e)){var l=o();if(l&&l.disabled)return;i[n]={value:s(l),scope:a}}}),i},C.prototype._createFields=function(e){var t=this;e&&Object.keys(e).forEach(function(i){t._createField(i,e[i])})},C.prototype._createField=function(e,t,i){void 0===i&&(i="__global__"),this.$scopes[i]||(this.$scopes[i]={}),this.$scopes[i][e]||(this.$scopes[i][e]={});var n=this.$scopes[i][e];n.name=e,n.validations=this._normalizeRules(e,t,i,n),n.required=this._isRequired(n)},C.prototype._normalizeRules=function(e,t,i,n){return t?"string"==typeof t?this._normalizeString(t,n):F(t)?this._normalizeObject(t,n):(x("Your checks for '"+i+"."+e+"' must be either a string or an object."),{}):{}},C.prototype._isRequired=function(e){return!(!e.validations||!e.validations.required)},C.prototype._normalizeObject=function(e,t){void 0===t&&(t=null);var i={};return Object.keys(e).forEach(function(n){var r=[];r=!0===e[n]?[]:Array.isArray(e[n])?e[n]:[e[n]],"required"===n&&(r=[t&&t.invalidateFalse]),!1===e[n]?delete i[n]:i[n]=r}),i},C.prototype._getDateFormat=function(e){var t=null;return e.date_format&&Array.isArray(e.date_format)&&(t=e.date_format[0]),t||this.dictionary.getDateFormat(this.locale)},C.prototype._isADateRule=function(e){return!!~["after","before","date_between","date_format"].indexOf(e)},C.prototype._containsValidation=function(e,t){return!!~e.indexOf(t)},C.prototype._normalizeString=function(e,t){var i=this;void 0===t&&(t=null);var n={};return e.split("|").forEach(function(e){var r=i._parseRule(e);r.name&&(n[r.name]=r.params,"required"===r.name&&(n.required=[t&&t.invalidateFalse]))}),n},C.prototype._parseRule=function(e){var t=[],i=e.split(":")[0];return~e.indexOf(":")&&(t=e.split(":").slice(1).join(":").split(",")),{name:i,params:t}},C.prototype._formatErrorMessage=function(e,t,i){void 0===i&&(i={});var n=this._getFieldDisplayName(e),r=this._getLocalizedParams(t,e.scope);if(!this.dictionary.hasLocale(R)){var s=this.dictionary.getFieldMessage("en",e.name,t.name);return w(s)?s(n,r,i):s}var o=this.dictionary.getFieldMessage(R,e.name,t.name);return w(o)?o(n,r,i):o},C.prototype._getLocalizedParams=function(e,t){return void 0===t&&(t="__global__"),~["after","before","confirmed"].indexOf(e.name)&&e.params&&e.params[0]?[this.dictionary.getAttribute(R,e.params[0],e.params[0])]:e.params},C.prototype._getFieldDisplayName=function(e){return e.as||this.dictionary.getAttribute(R,e.name,e.name)},C.prototype._test=function(e,t,i){var n=this,r=m[i.name];if(!r||"function"!=typeof r)throw A("No such validator '"+i.name+"' exists.");if(P.installed&&this._isADateRule(i.name)){var s=this._getDateFormat(e.validations);i.params=(Array.isArray(i.params)?j(i.params):[]).concat([s])}var o=r(t,i.params,e.name);return w(o.then)?o.then(function(t){var r=!0,s={};return Array.isArray(t)?r=t.every(function(e){return F(e)?e.valid:e}):(r=F(t)?t.valid:t,s=t.data),r||n.errorBag.add(e.name,n._formatErrorMessage(e,i,s),i.name,e.scope),r}):(F(o)||(o={valid:o,data:{}}),o.valid||this.errorBag.add(e.name,this._formatErrorMessage(e,i,o.data),i.name,e.scope),o.valid)},C.prototype.on=function(e,t,i,n){if(!t)throw A("Cannot add a listener for non-existent field "+t+".");if(!w(n))throw A("The "+e+" callback for field "+t+" is not callable.");this.$scopes[i][t].events[e]=n},C.prototype.off=function(e,t,i){t||x("Cannot remove a listener for non-existent field "+t+"."),this.$scopes[i][t].events[e]=void 0},C.prototype._assignFlags=function(e){e.flags={untouched:!0,touched:!1,dirty:!1,pristine:!0,valid:null,invalid:null,validated:!1,required:e.required,pending:!1};var t={};if(t[e.name]=e.flags,"__global__"!==e.scope){var i=O({},this.fieldBag["$"+e.scope],t);this.fieldBag=O({},this.fieldBag,(n={},n["$"+e.scope]=i,n));var n}else this.fieldBag=O({},this.fieldBag,t)},C.prototype.attach=function(e,t,i){void 0===i&&(i={}),i.scope=i.scope||"__global__",this.updateField(e,t,i);var n=this.$scopes[i.scope][e];n.scope=i.scope,n.as=i.prettyName,n.getter=i.getter,n.invalidateFalse=i.invalidateFalse,n.context=i.context,n.listeners=i.listeners||{detach:function(){}},n.el=n.listeners.el,n.events={},this._assignFlags(n),n.listeners.classes&&n.listeners.classes.attach(n),this._setAriaRequiredAttribute(n),this._setAriaValidAttribute(n,!0),i.initial&&this.validate(e,n.getter(n.context()),n.scope).catch(function(){})},C.prototype.flag=function(e,t){var i=this._resolveField(e);i&&(Object.keys(i.flags).forEach(function(e){i.flags[e]=void 0!==t[e]?t[e]:i.flags[e]}),i.listeners&&i.listeners.classes&&i.listeners.classes.sync())},C.prototype.append=function(e,t,i){void 0===i&&(i={}),i.scope=i.scope||"__global__",this.$scopes[i.scope]&&this.$scopes[i.scope][e]||this.attach(e,t,i);var n=this.$scopes[i.scope][e],r=this._normalizeRules(e,t,i.scope);Object.keys(r).forEach(function(e){n.validations[e]=r[e]})},C.prototype._moveFieldScope=function(e,t){this.$scopes[t]||(this.$scopes[t]={}),this.$scopes[t][e.name]=e,delete this.$scopes[e.scope][e.name],e.scope=t,e.el&&w(e.el.setAttribute)&&e.el.setAttribute("data-vv-scope",e.scope)},C.prototype.updateField=function(e,t,i){void 0===i&&(i={});var n=b(i.oldScope+"."+e,this.$scopes,null),r=n?JSON.stringify(n.validations):"";this._createField(e,t,i.scope,n),((n=b(i.scope+"."+e,this.$scopes,null))?JSON.stringify(n.validations):"")!==r&&this.errorBag.remove(e,i.scope)},C.prototype.clean=function(){var e=this;this.$vm&&w(this.$vm.$nextTick)&&this.$vm.$nextTick(function(){e.errorBag.clear()})},C.prototype.detach=function(e,t){void 0===t&&(t="__global__"),this.$scopes[t]&&this.$scopes[t][e]&&(this.$scopes[t][e].listeners&&this.$scopes[t][e].listeners.detach(),this.errorBag.remove(e,t),delete this.$scopes[t][e])},C.prototype.extend=function(e,t){C.extend(e,t)},C.prototype.getErrors=function(){return this.errorBag},C.prototype.installDateTimeValidators=function(e){C.installDateTimeValidators(e)},C.prototype.remove=function(e){C.remove(e)},C.prototype.setLocale=function(e){this.dictionary.hasLocale(e)||x("You are setting the validator locale to a locale that is not defined in the dicitionary. English messages may still be generated."),R=e},C.prototype.setStrictMode=function(e){void 0===e&&(e=!0),this.strictMode=e},C.prototype.updateDictionary=function(e){C.updateDictionary(e)},C.prototype.addScope=function(e){e&&!this.$scopes[e]&&(this.$scopes[e]={})},C.prototype._resolveField=function(e,t){if(e&&e.indexOf(".")>-1&&!this.$scopes.__global__[e]){var i;t=(i=e.split("."))[0],e=i[1]}return t||(t="__global__"),this.$scopes[t]?this.$scopes[t][e]:null},C.prototype._handleFieldNotFound=function(e,t){if(!this.strictMode)return Promise.resolve(!0);throw A('Validating a non-existant field: "'+("__global__"===t?e:t+"."+e)+'". Use "attach()" first.')},C.prototype._validate=function(e,t){var i=this;if(!e.required&&~[null,void 0,""].indexOf(t))return Promise.resolve(!0);var n=[],r=!1;return Object.keys(e.validations).some(function(s){var o=i._test(e,t,{name:s,params:e.validations[s]});if(w(o.then))n.push(o);else if(i.fastExit&&!o)r=!0;else{var a=new Promise(function(e){e(o)});n.push(a)}return r}),r?Promise.resolve(!1):Promise.all(n).then(function(e){return e.every(function(e){return e})})},C.prototype.validate=function(e,t,i){var n=this;if(void 0===i&&(i="__global__"),this.paused)return Promise.resolve(!0);var r=this._resolveField(e,i);return r?(this.errorBag.remove(r.name,r.scope),r.flags&&(r.flags.pending=!0),this._validate(r,t).then(function(e){return n._setAriaValidAttribute(r,e),r.flags&&(r.flags.pending=!1,r.flags.valid=e,r.flags.invalid=!e,r.flags.pending=!1,r.flags.validated=!0),r.events&&w(r.events.after)&&r.events.after({valid:e}),e})):this._handleFieldNotFound(e,i)},C.prototype._setAriaValidAttribute=function(e,t){e.el&&!e.listeners.component&&e.el.setAttribute("aria-invalid",!t)},C.prototype._setAriaRequiredAttribute=function(e){e.el&&!e.listeners.component&&e.el.setAttribute("aria-required",!!e.required)},C.prototype.pause=function(){return this.paused=!0,this},C.prototype.resume=function(){return this.paused=!1,this},C.prototype.validateAll=function(e,t){var i=this;if(void 0===t&&(t="__global__"),this.paused)return Promise.resolve(!0);var n;e&&"string"!=typeof e?(n={},Object.keys(e).forEach(function(i){n[i]={value:e[i],scope:t}})):(this.errorBag.clear(e),n=this._resolveValuesFromGetters(e));var r=Object.keys(n).map(function(e){return i.validate(e,n[e].value,n[e].scope)});return Promise.all(r).then(function(e){return e.every(function(e){return e})})},C.prototype.validateScopes=function(){var e=this;return this.paused?Promise.resolve(!0):Promise.all(Object.keys(this.$scopes).map(function(t){return e.validateAll(t)})).then(function(e){return e.every(function(e){return e})})},Object.defineProperties(C.prototype,I),Object.defineProperties(C,U);var G=function(e){return!!e&&(!(!Array.isArray(e)||!~e.indexOf("$validator"))||!(!F(e)||!e.$validator))},J=function(e,t){return new C(null,{init:!1,vm:e,fastExit:t.fastExit})},Y=function(e,t){var i={};return i.provide=function(){return this.$validator?{$validator:this.$validator}:{}},i.beforeCreate=function(){!this.$options.$validates&&this.$parent||(this.$validator=J(this,t));var i=G(this.$options.inject);this.$validator||!t.inject||i||(this.$validator=J(this,t)),(i||this.$validator)&&(!i&&this.$validator&&(e.util.defineReactive(this.$validator,"errorBag",this.$validator.errorBag),e.util.defineReactive(this.$validator,"fieldBag",this.$validator.fieldBag)),this.$options.computed||(this.$options.computed={}),this.$options.computed[t.errorBagName]=function(){return this.$validator.errorBag},this.$options.computed[t.fieldsBagName]=function(){return this.$validator.fieldBag})},i},W={touched:"touched",untouched:"untouched",valid:"valid",invalid:"invalid",pristine:"pristine",dirty:"dirty"},K=function(e,t,i){void 0===i&&(i={}),this.el=e,this.validator=t,this.enabled=i.enableAutoClasses,this.classNames=O({},W,i.classNames||{}),this.component=i.component,this.listeners={}};K.prototype.reset=function(){this.detach(),this.remove(this.classNames.dirty),this.remove(this.classNames.touched),this.remove(this.classNames.valid),this.remove(this.classNames.invalid),this.attach(this.field)},K.prototype.sync=function(){this.addInteractionListeners(),this.enabled&&(this.toggle(this.classNames.dirty,this.field.flags.dirty),this.toggle(this.classNames.pristine,this.field.flags.pristine),this.toggle(this.classNames.valid,this.field.flags.valid),this.toggle(this.classNames.invalid,this.field.flags.invalid),this.toggle(this.classNames.touched,this.field.flags.touched),this.toggle(this.classNames.untouched,this.field.flags.untouched))},K.prototype.addFocusListener=function(){var e=this;this.listeners.focus=function(){e.remove(e.classNames.untouched),e.add(e.classNames.touched),e.field.flags.touched=!0,e.field.flags.untouched=!1,e.component||e.el.removeEventListener("focus",e.listeners.focus),e.listeners.focus=null},this.component?this.component.$once("focus",this.listeners.focus):this.el.addEventListener("focus",this.listeners.focus)},K.prototype.addInputListener=function(){var e=this,t=S(this.el);this.listeners.input=function(){e.remove(e.classNames.pristine),e.add(e.classNames.dirty),e.field.flags.dirty=!0,e.field.flags.pristine=!1,e.component||e.el.removeEventListener(t,e.listeners.input),e.listeners.input=null},this.component?this.component.$once("input",this.listeners.input):this.el.addEventListener(t,this.listeners.input)},K.prototype.addInteractionListeners=function(){this.listeners.focus||this.addFocusListener(),this.listeners.input||this.addInputListener()},K.prototype.attach=function(e){var t=this;this.field=e,this.add(this.classNames.pristine),this.add(this.classNames.untouched),this.addInteractionListeners(),this.listeners.after=function(e){t.remove(e.valid?t.classNames.invalid:t.classNames.valid),t.add(e.valid?t.classNames.valid:t.classNames.invalid)},this.validator.on("after",this.field.name,this.field.scope,this.listeners.after)},K.prototype.detach=function(){this.field&&(this.component?(this.component.$off("input",this.listeners.input),this.component.$off("focus",this.listeners.focus)):(this.el.removeEventListener("focus",this.listeners.focus),this.el.removeEventListener("input",this.listeners.input)),this.validator.off("after",this.field.name,this.field.scope))},K.prototype.add=function(e){this.enabled&&L(this.el,e)},K.prototype.remove=function(e){this.enabled&&N(this.el,e)},K.prototype.toggle=function(e,t){t?this.add(e):this.remove(e)};var H={locale:"en",delay:0,errorBagName:"errors",dictionary:null,strict:!0,fieldsBagName:"fields",enableAutoClasses:!1,classNames:{},events:"input|blur",inject:!0,fastExit:!0},Q=function(e,t,i,n){this.unwatch=void 0,this.callbacks=[],this.el=e,this.scope=(F(t.value)?t.value.scope:y(e))||"__global__",this.binding=t,this.vm=i.context,this.component=i.child,this.options=O({},H,n),this.fieldName=this._resolveFieldName(),this.model=this._resolveModel(i.data),this.classes=new K(e,this.vm.$validator,{component:this.component,enableAutoClasses:n.enableAutoClasses,classNames:n.classNames})};Q.prototype._resolveModel=function(e){if(this.binding.arg)return{watchable:!0,expression:this.binding.arg,lazy:!1};if(F(this.binding.value)&&this.binding.value.arg)return{watchable:!0,expression:this.binding.value.arg,lazy:!1};var t={watchable:!1,expression:null,lazy:!1},i=e.model||k(e.directives,function(e){return"model"===e.name});return i?(t.expression=i.expression,t.watchable=/^[a-z_]+[0-9]*(\w*\.[a-z_]\w*)*$/i.test(i.expression)&&this._isExistingPath(i.expression),t.lazy=!!i.modifiers&&i.modifiers.lazy,t):t},Q.prototype._isExistingPath=function(e){var t=this.vm;return e.split(".").every(function(e){return!(!Object.prototype.hasOwnProperty.call(t,e)&&void 0===t[e])&&(t=t[e],!0)})},Q.prototype._resolveFieldName=function(){return this.component?_(this.el,"name")||this.component.$attrs&&this.component.$attrs["data-vv-name"]||this.component.name:_(this.el,"name")||this.el.name},Q.prototype._hasFieldDependency=function(e){var t=this,i=!1;return!!e&&(F(e)?(Object.keys(e).forEach(function(t){if(/confirmed|after|before/.test(t))return i=e[t].split(",")[0],!1}),i):(e.split("|").every(function(e){return/\b(confirmed|after|before):/.test(e)?(i=e.split(":")[1],!1):!/\b(confirmed)/.test(e)||(i=t.fieldName+"_confirmation",!1)}),i))},Q.prototype._inputListener=function(){return this._validate(this.el.value)},Q.prototype._fileListener=function(){var e=this;return this._validate(j(this.el.files)).then(function(t){!t&&e.binding.modifiers.reject&&(e.el.value="")})},Q.prototype._radioListener=function(){var e=document.querySelector('input[name="'+this.el.name+'"]:checked');return this._validate(e?e.value:null)},Q.prototype._checkboxListener=function(){var e=this,t=document.querySelectorAll('input[name="'+this.el.name+'"]:checked');t&&t.length?j(t).forEach(function(t){e._validate(t.value)}):this._validate(null)},Q.prototype._validate=function(e){return this.component&&this.component.disabled||this.el.disabled?Promise.resolve(!0):this.vm.$validator.validate(this.fieldName,e,this.scope||y(this.el))},Q.prototype._getScopedListener=function(e){var t=this;return function(i){(!i||i===t.scope||i instanceof window.Event)&&e()}},Q.prototype._attachValidatorEvent=function(){var e=this,t=this._getScopedListener(this._getSuitableListener().listener.bind(this)),i=this._hasFieldDependency(Z(this.binding.expression,this.binding.value,this.el));i&&this.vm.$nextTick(function(){var n=document.querySelector("input[name='"+i+"']");n?(_(e.el,"validate-on")||e.options.events).split("|").forEach(function(i){n.addEventListener(i,t,!1),e.callbacks.push({name:i,listener:t,el:n})}):x("Cannot find target field, no additional listeners were attached.")})},Q.prototype._getModeledListener=function(){var e=this;return this.model.watchable?function(){e._validate(b(e.model.expression,e.vm))}:null},Q.prototype._getSuitableListener=function(){var e,t={input:this.model.lazy?"change":"input",blur:"blur"};if("SELECT"===this.el.tagName)t.input="change",e={names:["change","blur"],listener:this._getModeledListener()||this._inputListener};else switch(this.el.type){case"file":t.input="change",t.blur=null,e={names:["change"],listener:this._fileListener};break;case"radio":t.input="change",t.blur=null,e={names:["change"],listener:this._getModeledListener()||this._radioListener};break;case"checkbox":t.input="change",t.blur=null,e={names:["change"],listener:this._getModeledListener()||this._checkboxListener};break;default:e={names:["input","blur"],listener:this._getModeledListener()||this._inputListener}}var i=_(this.el,"validate-on")||this.options.events;return e.names=i.split("|").filter(function(e){return null!==t[e]}).map(function(e){return t[e]||e}),e},Q.prototype._attachComponentListeners=function(){var e=this;this.componentListener=$(function(t){e._validate(t)},_(this.el,"delay")||this.component.$attrs&&this.component.$attrs["data-vv-delay"]||this.options.delay),(_(this.el,"validate-on")||this.component.$attrs&&this.component.$attrs["data-vv-validate-on"]||this.options.events).split("|").forEach(function(t){t&&("input"===t?e.component.$on("input",e.componentListener):"blur"===t?e.component.$on("blur",e.componentListener):e.component.$on(t,e.componentListener),e.componentPropUnwatch=e.component.$watch("value",e.componentListener))})},Q.prototype._attachFieldListeners=function(){var e=this;if(this.component)this._attachComponentListeners();else{var t=this._getSuitableListener(),i=$(t.listener.bind(this),_(this.el,"delay")||this.options.delay);~["radio","checkbox"].indexOf(this.el.type)?this.vm.$nextTick(function(){var n=document.querySelectorAll('input[name="'+e.el.name+'"]');j(n).forEach(function(n){t.names.forEach(function(t){n.addEventListener(t,i,!1),e.callbacks.push({name:t,listener:i,el:n})})})}):t.names.forEach(function(t){e.el.addEventListener(t,i,!1),e.callbacks.push({name:t,listener:i,el:e.el})})}},Q.prototype._resolveValueGetter=function(){var e=this;if(this.model.watchable)return{context:function(){return e.vm},getter:function(t){return b(e.model.expression,t)}};if(this.component)return{context:function(){return e.component},getter:function(t){var i=_(e.el,"value-path")||e.component.$attrs&&e.component.$attrs["data-vv-value-path"];return i?b(i,e.component):t.value}};switch(this.el.type){case"checkbox":return{context:function(){return document.querySelectorAll('input[name="'+e.el.name+'"]:checked')},getter:function(e){return e&&e.length?j(e).map(function(e){return e.value}):null}};case"radio":return{context:function(){return document.querySelector('input[name="'+e.el.name+'"]:checked')},getter:function(e){return e&&e.value}};case"file":return{context:function(){return e.el},getter:function(e){return j(e.files)}};default:return{context:function(){return e.el},getter:function(e){return e.value}}}},Q.prototype._attachModelWatcher=function(e){var t=this,i=_(this.el,"validate-on")||this.options.events,n=$(this._getSuitableListener().listener.bind(this),_(this.el,"delay")||this.options.delay);i.split("|").forEach(function(i){if(~["input","change"].indexOf(i)){var r=$(function(e){t.vm.$validator.validate(t.fieldName,e,t.scope||y(t.el))},_(t.el,"delay")||t.options.delay);t.unwatch=t.vm.$watch(e,r,{deep:!0})}else t.el.addEventListener(i,n,!1),t.callbacks.push({name:i,listener:n,el:t.el})})},Q.prototype.attach=function(){var e=this._resolveValueGetter(),t=e.context,i=e.getter;this.vm.$validator.attach(this.fieldName,Z(this.binding.expression,this.binding.value,this.el),{scope:this.scope,prettyName:_(this.el,"as")||this.el.title,context:t,getter:i,listeners:this,initial:this.binding.modifiers.initial,invalidateFalse:!(!this.el||"checkbox"!==this.el.type)}),this.binding.modifiers.disable||(this._attachValidatorEvent(),this.model.watchable?this._attachModelWatcher(this.model.expression):this._attachFieldListeners())},Q.prototype.detach=function(){this.component&&(this.component.$off("input",this.componentListener),this.component.$off("blur",this.componentListener),w(this.componentPropUnwatch)&&this.componentPropUnwatch()),this.unwatch&&this.unwatch(),this.classes.detach(),this.callbacks.forEach(function(e){e.el.removeEventListener(e.name,e.listener)}),this.callbacks=[]};var X=[],ee=function(e){return{inserted:function(e,t,i){var n=t.value,r=(t.expression,i.context),s=k(X,function(t){return t.vm===r&&t.el===e}).instance,o=F(n)?n.scope||y(e):y(e);if(o||(o="__global__"),o!==s.scope){var a=r.$validator._resolveField(s.fieldName,s.scope);r.$validator._moveFieldScope(a,o),s.scope=o}},bind:function(t,i,n){if(n.context.$validator){var r=new Q(t,i,n,e);r.attach(),X.push({vm:n.context,el:t,instance:r})}else{var s=n.context.$options._componentTag;x("No validator instance is present on "+(s?'component "'+s+'"':"un-named component")+", did you forget to inject '$validator'?")}},update:function(e,t,i){var n=t.expression,r=t.value,s=i.context,o=k(X,function(t){return t.vm===s&&t.el===e}).instance;if(n&&o.cachedExp!==JSON.stringify(r)){o.cachedExp=JSON.stringify(r);var a=F(r)?r.scope||y(e):y(e);s.$validator.updateField(o.fieldName,Z(n,r,e),{scope:a||"__global__"})}},unbind:function(e,t,i){var n=t.value,r=i.context,s=k(X,function(t){return t.vm===r&&t.el===e});if(void 0!==s){var o=F(n)?n.scope:y(e)||"__global__";r.$validator.detach(s.instance.fieldName,o),X.splice(X.indexOf(s),1)}}}},te=function(e){return Array.isArray(e)?e.reduce(function(e,t){return~t.indexOf(".")?e[t.split(".")[1]]=t:e[t]=t,e},{}):e};return{install:function(e,t){var i=O({},H,t);i.dictionary&&C.updateDictionary(i.dictionary),C.setLocale(i.locale),C.setStrictMode(i.strict),e.mixin(Y(e,i)),e.directive("validate",ee(i))},mapFields:function(e){var t=te(e);return Object.keys(t).reduce(function(e,i){var n=t[i];return e[i]=function(){if(this.$validator.fieldBag[n])return this.$validator.fieldBag[n];if(n.indexOf(".")<=0)return{};var e=n.split("."),t=e[0],i=e[1];return b("$"+t+"."+i,this.$validator.fieldBag,{})},e},{})},Validator:C,ErrorBag:g,Rules:m,version:"2.0.0-rc.7"}});
\ No newline at end of file
diff --git a/src/validator.js b/src/validator.js
index 1e2c130e..8dadd9a3 100644
--- a/src/validator.js
+++ b/src/validator.js
@@ -824,8 +824,9 @@ export default class Validator {
     }
 
     const promises = [];
-    let test = true;
-    const syncResult = Object.keys(field.validations)[this.fastExit ? 'every' : 'some'](rule => {
+    let isExitEarly = false;
+    // use of '.some()' is to break iteration in middle by returning true
+    Object.keys(field.validations).some(rule => {
       const result = this._test(
         field,
         value,
@@ -834,16 +835,22 @@ export default class Validator {
 
       if (isCallable(result.then)) {
         promises.push(result);
-        return true;
+      } else if (this.fastExit && !result) {
+        isExitEarly = true;
+      } else {
+        const resultAsPromise = new Promise(resolve => {
+          resolve(result);
+        });
+        promises.push(resultAsPromise);
       }
 
-      test = test && result;
-      return result;
+      return isExitEarly;
     });
 
-    return Promise.all(promises).then(values => {
-      const valid = syncResult && test && values.every(t => t);
+    if (isExitEarly) return Promise.resolve(false);
 
+    return Promise.all(promises).then(values => {
+      const valid = values.every(t => t);
       return valid;
     });
   }


Test patch:
diff --git a/tests/validator.js b/tests/validator.js
index 7f6d9bf0..6336b80e 100644
--- a/tests/validator.js
+++ b/tests/validator.js
@@ -874,10 +874,15 @@ test('it can set flags for attached fields', () => {
   expect(v.fieldBag['form.title'].untouched).toBe(false);
 });
 
-test('it can hold handle mixed successes and errors from one field', async () => {
+test('it can handle mixed successes and errors from one field regardless of rules order', async () => {
   const v = new Validator({
-    name: 'alpha|min:3'
+    string1: 'alpha|min:3',
+    string2: 'min:3|alpha',
+    string3: 'alpha|min:3',
+    string4: 'min:3|alpha'
   }, { fastExit: false });
-  expect(await v.validate('name', '123')).toBe(false);
-  expect(v.errorBag.count()).toBe(1);
+  expect(await v.validate('string1', '123')).toBe(false);
+  expect(await v.validate('string2', '123')).toBe(false);
+  expect(await v.validate('string3', 'abc')).toBe(true);
+  expect(await v.validate('string4', 'abc')).toBe(true);
 });