!function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&module.exports?module.exports=t(require("jquery")):t(jQuery)}(function(d){d.extend(d.fn,{validate:function(t){var s;if(this.length)return(s=d.data(this[0],"validator"))||(this.attr("novalidate","novalidate"),s=new d.validator(t,this[0]),d.data(this[0],"validator",s),s.settings.onsubmit&&(this.on("click.validate",":submit",function(t){s.submitButton=t.currentTarget,d(this).hasClass("cancel")&&(s.cancelSubmit=!0),void 0!==d(this).attr("formnovalidate")&&(s.cancelSubmit=!0)}),this.on("submit.validate",function(i){function t(){var t,e;return s.submitButton&&(s.settings.submitHandler||s.formSubmitted)&&(t=d("").attr("name",s.submitButton.name).val(d(s.submitButton).val()).appendTo(s.currentForm)),!(s.settings.submitHandler&&!s.settings.debug)||(e=s.settings.submitHandler.call(s,s.currentForm,i),t&&t.remove(),void 0!==e&&e)}return s.settings.debug&&i.preventDefault(),s.cancelSubmit?(s.cancelSubmit=!1,t()):s.form()?s.pendingRequest?!(s.formSubmitted=!0):t():(s.focusInvalid(),!1)}))),s;t&&t.debug&&window.console&&console.warn("Nothing selected, can't validate, returning nothing.")},valid:function(){var t,e,i;return d(this[0]).is("form")?t=this.validate().form():(i=[],t=!0,e=d(this[0].form).validate(),this.each(function(){(t=e.element(this)&&t)||(i=i.concat(e.errorList))}),e.errorList=i),t},rules:function(t,e){var i,s,n,r,a,o=this[0],l=void 0!==this.attr("contenteditable")&&"false"!==this.attr("contenteditable");if(null!=o&&(!o.form&&l&&(o.form=this.closest("form")[0],o.name=this.attr("name")),null!=o.form)){if(t)switch(s=(i=d.data(o.form,"validator").settings).rules,n=d.validator.staticRules(o),t){case"add":d.extend(n,d.validator.normalizeRule(e)),delete n.messages,s[o.name]=n,e.messages&&(i.messages[o.name]=d.extend(i.messages[o.name],e.messages));break;case"remove":return e?(a={},d.each(e.split(/\s/),function(t,e){a[e]=n[e],delete n[e]}),a):(delete s[o.name],n)}return(l=d.validator.normalizeRules(d.extend({},d.validator.classRules(o),d.validator.attributeRules(o),d.validator.dataRules(o),d.validator.staticRules(o)),o)).required&&(r=l.required,delete l.required,l=d.extend({required:r},l)),l.remote&&(r=l.remote,delete l.remote,l=d.extend(l,{remote:r})),l}}});function e(t){return t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}d.extend(d.expr.pseudos||d.expr[":"],{blank:function(t){return!e(""+d(t).val())},filled:function(t){t=d(t).val();return null!==t&&!!e(""+t)},unchecked:function(t){return!d(t).prop("checked")}}),d.validator=function(t,e){this.settings=d.extend(!0,{},d.validator.defaults,t),this.currentForm=e,this.init()},d.validator.format=function(i,t){return 1===arguments.length?function(){var t=d.makeArray(arguments);return t.unshift(i),d.validator.format.apply(this,t)}:(void 0!==t&&((t=2Warning: No message defined for "+t.name+""),s=/\$?\{(\d+)\}/g;return"function"==typeof i?i=i.call(this,e.parameters,t):s.test(i)&&(i=d.validator.format(i.replace(s,"{$1}"),e.parameters)),i},formatAndAdd:function(t,e){var i=this.defaultMessage(t,e);this.errorList.push({message:i,element:t,method:e.method}),this.errorMap[t.name]=i,this.submitted[t.name]=i},addWrapper:function(t){return t=this.settings.wrapper?t.add(t.parent(this.settings.wrapper)):t},defaultShowErrors:function(){for(var t,e,i=0;this.errorList[i];i++)e=this.errorList[i],this.settings.highlight&&this.settings.highlight.call(this,e.element,this.settings.errorClass,this.settings.validClass),this.showLabel(e.element,e.message);if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(i=0;this.successList[i];i++)this.showLabel(this.successList[i]);if(this.settings.unhighlight)for(i=0,t=this.validElements();t[i];i++)this.settings.unhighlight.call(this,t[i],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow),this.hideErrors(),this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return d(this.errorList).map(function(){return this.element})},showLabel:function(t,e){var i,s,n,r=this.errorsFor(t),a=this.idOrName(t),o=d(t).attr("aria-describedby");r.length?(r.removeClass(this.settings.validClass).addClass(this.settings.errorClass),r.html(e)):(s=r=d("<"+this.settings.errorElement+">").attr("id",a+"-error").addClass(this.settings.errorClass).html(e||""),this.settings.wrapper&&(s=r.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.length?this.labelContainer.append(s):this.settings.errorPlacement?this.settings.errorPlacement.call(this,s,d(t)):s.insertAfter(t),r.is("label")?r.attr("for",a):0===r.parents("label[for='"+this.escapeCssMeta(a)+"']").length&&(s=r.attr("id"),o?o.match(new RegExp("\\b"+this.escapeCssMeta(s)+"\\b"))||(o+=" "+s):o=s,d(t).attr("aria-describedby",o),i=this.groups[t.name])&&d.each((n=this).groups,function(t,e){e===i&&d("[name='"+n.escapeCssMeta(t)+"']",n.currentForm).attr("aria-describedby",r.attr("id"))})),!e&&this.settings.success&&(r.text(""),"string"==typeof this.settings.success?r.addClass(this.settings.success):this.settings.success(r,t)),this.toShow=this.toShow.add(r)},errorsFor:function(t){var e=this.escapeCssMeta(this.idOrName(t)),t=d(t).attr("aria-describedby"),e="label[for='"+e+"'], label[for='"+e+"'] *";return t&&(e=e+", #"+this.escapeCssMeta(t).replace(/\s+/g,", #")),this.errors().filter(e)},escapeCssMeta:function(t){return t.replace(/([\\!"#$%&'()*+,./:;<=>?@\[\]^`{|}~])/g,"\\$1")},idOrName:function(t){return this.groups[t.name]||!this.checkable(t)&&t.id||t.name},validationTargetFor:function(t){return this.checkable(t)&&(t=this.findByName(t.name)),d(t).not(this.settings.ignore)[0]},checkable:function(t){return/radio|checkbox/i.test(t.type)},findByName:function(t){return d(this.currentForm).find("[name='"+this.escapeCssMeta(t)+"']")},getLength:function(t,e){switch(e.nodeName.toLowerCase()){case"select":return d("option:selected",e).length;case"input":if(this.checkable(e))return this.findByName(e.name).filter(":checked").length}return t.length},depend:function(t,e){return!this.dependTypes[typeof t]||this.dependTypes[typeof t](t,e)},dependTypes:{boolean:function(t){return t},string:function(t,e){return!!d(t,e.form).length},function:function(t,e){return t(e)}},optional:function(t){var e=this.elementValue(t);return!d.validator.methods.required.call(this,e,t)&&"dependency-mismatch"},startRequest:function(t){this.pending[t.name]||(this.pendingRequest++,d(t).addClass(this.settings.pendingClass),this.pending[t.name]=!0)},stopRequest:function(t,e){this.pendingRequest--,this.pendingRequest<0&&(this.pendingRequest=0),delete this.pending[t.name],d(t).removeClass(this.settings.pendingClass),e&&0===this.pendingRequest&&this.formSubmitted&&this.form()?(d(this.currentForm).submit(),this.submitButton&&d("input:hidden[name='"+this.submitButton.name+"']",this.currentForm).remove(),this.formSubmitted=!1):!e&&0===this.pendingRequest&&this.formSubmitted&&(d(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(t,e){return e="string"==typeof e&&e||"remote",d.data(t,"previousValue")||d.data(t,"previousValue",{old:null,valid:!0,message:this.defaultMessage(t,{method:e})})},destroy:function(){this.resetForm(),d(this.currentForm).off(".validate").removeData("validator").find(".validate-equalTo-blur").off(".validate-equalTo").removeClass("validate-equalTo-blur").find(".validate-lessThan-blur").off(".validate-lessThan").removeClass("validate-lessThan-blur").find(".validate-lessThanEqual-blur").off(".validate-lessThanEqual").removeClass("validate-lessThanEqual-blur").find(".validate-greaterThanEqual-blur").off(".validate-greaterThanEqual").removeClass("validate-greaterThanEqual-blur").find(".validate-greaterThan-blur").off(".validate-greaterThan").removeClass("validate-greaterThan-blur")}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},number:{number:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(t,e){t.constructor===String?this.classRuleSettings[t]=e:d.extend(this.classRuleSettings,t)},classRules:function(t){var e={},t=d(t).attr("class");return t&&d.each(t.split(" "),function(){this in d.validator.classRuleSettings&&d.extend(e,d.validator.classRuleSettings[this])}),e},normalizeAttributeRule:function(t,e,i,s){(s=/min|max|step/.test(i)&&(null===e||/number|range|text/.test(e))&&(s=Number(s),isNaN(s))?void 0:s)||0===s?t[i]=s:e===i&&"range"!==e&&(t[i]=!0)},attributeRules:function(t){var e,i,s={},n=d(t),r=t.getAttribute("type");for(e in d.validator.methods)i="required"===e?!!(i=""===(i=t.getAttribute(e))?!0:i):n.attr(e),this.normalizeAttributeRule(s,r,e,i);return s.maxlength&&/-1|2147483647|524288/.test(s.maxlength)&&delete s.maxlength,s},dataRules:function(t){var e,i,s={},n=d(t),r=t.getAttribute("type");for(e in d.validator.methods)""===(i=n.data("rule"+e.charAt(0).toUpperCase()+e.substring(1).toLowerCase()))&&(i=!0),this.normalizeAttributeRule(s,r,e,i);return s},staticRules:function(t){var e={},i=d.data(t.form,"validator");return e=i.settings.rules?d.validator.normalizeRule(i.settings.rules[t.name])||{}:e},normalizeRules:function(s,n){return d.each(s,function(t,e){if(!1===e)delete s[t];else if(e.param||e.depends){var i=!0;switch(typeof e.depends){case"string":i=!!d(e.depends,n.form).length;break;case"function":i=e.depends.call(n,n)}i?s[t]=void 0===e.param||e.param:(d.data(n.form,"validator").resetElements(d(n)),delete s[t])}}),d.each(s,function(t,e){s[t]="function"==typeof e&&"normalizer"!==t?e(n):e}),d.each(["minlength","maxlength"],function(){s[this]&&(s[this]=Number(s[this]))}),d.each(["rangelength","range"],function(){var t;s[this]&&(Array.isArray(s[this])?s[this]=[Number(s[this][0]),Number(s[this][1])]:"string"==typeof s[this]&&(t=s[this].replace(/[\[\]]/g,"").split(/[\s,]+/),s[this]=[Number(t[0]),Number(t[1])]))}),d.validator.autoCreateRanges&&(null!=s.min&&null!=s.max&&(s.range=[s.min,s.max],delete s.min,delete s.max),null!=s.minlength)&&null!=s.maxlength&&(s.rangelength=[s.minlength,s.maxlength],delete s.minlength,delete s.maxlength),s},normalizeRule:function(t){var e;return"string"==typeof t&&(e={},d.each(t.split(/\s/),function(){e[this]=!0}),t=e),t},addMethod:function(t,e,i){d.validator.methods[t]=e,d.validator.messages[t]=void 0!==i?i:d.validator.messages[t],e.length<3&&d.validator.addClassRules(t,d.validator.normalizeRule(t))},methods:{required:function(t,e,i){return this.depend(i,e)?"select"===e.nodeName.toLowerCase()?(i=d(e).val())&&0=i[0]&&t<=i[1]},min:function(t,e,i){return this.optional(e)||i<=t},max:function(t,e,i){return this.optional(e)||t<=i},range:function(t,e,i){return this.optional(e)||t>=i[0]&&t<=i[1]},step:function(t,e,i){function s(t){return(t=(""+t).match(/(?:\.(\d+))?$/))&&t[1]?t[1].length:0}function n(t){return Math.round(t*Math.pow(10,r))}var r,a=d(e).attr("type"),o="Step attribute on input type "+a+" is not supported.",l=new RegExp("\\b"+a+"\\b"),h=!0;if(a&&!l.test(["text","number","range"].join()))throw new Error(o);return r=s(i),(s(t)>r||n(t)%n(i)!=0)&&(h=!1),this.optional(e)||h},equalTo:function(t,e,i){i=d(i);return this.settings.onfocusout&&i.not(".validate-equalTo-blur").length&&i.addClass("validate-equalTo-blur").on("blur.validate-equalTo",function(){d(e).valid()}),t===i.val()},remote:function(s,n,t,r){if(this.optional(n))return"dependency-mismatch";r="string"==typeof r&&r||"remote";var a,e,o=this.previousValue(n,r);return this.settings.messages[n.name]||(this.settings.messages[n.name]={}),o.originalMessage=o.originalMessage||this.settings.messages[n.name][r],this.settings.messages[n.name][r]=o.message,e=d.param(d.extend({data:s},(t="string"==typeof t?{url:t}:t).data)),o.old===e?o.valid:(o.old=e,(a=this).startRequest(n),(e={})[n.name]=s,d.ajax(d.extend(!0,{mode:"abort",port:"validate"+n.name,dataType:"json",data:e,context:a.currentForm,success:function(t){var e,i=!0===t||"true"===t;a.settings.messages[n.name][r]=o.originalMessage,i?(e=a.formSubmitted,a.resetInternals(),a.toHide=a.errorsFor(n),a.formSubmitted=e,a.successList.push(n),a.invalid[n.name]=!1,a.showErrors()):(e={},t=t||a.defaultMessage(n,{method:r,parameters:s}),e[n.name]=o.message=t,a.invalid[n.name]=!0,a.showErrors(e)),o.valid=i,a.stopRequest(n,i)}},t)),"pending")}}});var i,s,n={};return d.ajaxPrefilter?d.ajaxPrefilter(function(t,e,i){var s=t.port;"abort"===t.mode&&(n[s]&&n[s].abort(),n[s]=i)}):(s=d.ajax,d.ajax=function(t){var e=("mode"in t?t:d.ajaxSettings).mode,t=("port"in t?t:d.ajaxSettings).port;return"abort"===e?(n[t]&&n[t].abort(),n[t]=s.apply(this,arguments),n[t]):s.apply(this,arguments)}),d});