inputmask.min.js 50 KB

123456789
  1. /*!
  2. * inputmask.min.js
  3. * https://github.com/RobinHerbots/Inputmask
  4. * Copyright (c) 2010 - 2017 Robin Herbots
  5. * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
  6. * Version: 4.0.0-65
  7. */
  8. !function(e){"function"==typeof define&&define.amd?define(["./dependencyLibs/inputmask.dependencyLib","./global/window","./global/document"],e):"object"==typeof exports?module.exports=e(require("./dependencyLibs/inputmask.dependencyLib"),require("./global/window"),require("./global/document")):window.Inputmask=e(window.dependencyLib||jQuery,window,document)}(function(e,t,n,i){function a(t,n,r){if(!(this instanceof a))return new a(t,n,r);this.el=i,this.events={},this.maskset=i,this.refreshValue=!1,!0!==r&&(e.isPlainObject(t)?n=t:(n=n||{}).alias=t,this.opts=e.extend(!0,{},this.defaults,n),this.noMasksCache=n&&n.definitions!==i,this.userOptions=n||{},this.isRTL=this.opts.numericInput,o(this.opts.alias,n,this.opts))}function o(t,n,r){var s=a.prototype.aliases[t];return s?(s.alias&&o(s.alias,i,r),e.extend(!0,r,s),e.extend(!0,r,n),!0):(null===r.mask&&(r.mask=t),!1)}function r(t,n){function o(t,o,r){var s=!1;if(null!==t&&""!==t||((s=null!==r.regex)?t=(t=r.regex).replace(/^(\^)(.*)(\$)$/,"$2"):(s=!0,t=".*")),1===t.length&&!1===r.greedy&&0!==r.repeat&&(r.placeholder=""),r.repeat>0||"*"===r.repeat||"+"===r.repeat){var l="*"===r.repeat?0:"+"===r.repeat?1:r.repeat;t=r.groupmarker.start+t+r.groupmarker.end+r.quantifiermarker.start+l+","+r.repeat+r.quantifiermarker.end}var c,u=s?"regex_"+r.regex:r.numericInput?t.split("").reverse().join(""):t;return a.prototype.masksCache[u]===i||!0===n?(c={mask:t,maskToken:a.prototype.analyseMask(t,s,r),validPositions:{},_buffer:i,buffer:i,tests:{},metadata:o,maskLength:i},!0!==n&&(a.prototype.masksCache[u]=c,c=e.extend(!0,{},a.prototype.masksCache[u]))):c=e.extend(!0,{},a.prototype.masksCache[u]),c}if(e.isFunction(t.mask)&&(t.mask=t.mask(t)),e.isArray(t.mask)){if(t.mask.length>1){t.keepStatic=null===t.keepStatic||t.keepStatic;var r=t.groupmarker.start;return e.each(t.numericInput?t.mask.reverse():t.mask,function(n,a){r.length>1&&(r+=t.groupmarker.end+t.alternatormarker+t.groupmarker.start),a.mask===i||e.isFunction(a.mask)?r+=a:r+=a.mask}),r+=t.groupmarker.end,o(r,t.mask,t)}t.mask=t.mask.pop()}return t.mask&&t.mask.mask!==i&&!e.isFunction(t.mask.mask)?o(t.mask.mask,t.mask,t):o(t.mask,t.mask,t)}function s(e){var t=n.createElement("input"),i="on"+e,a=i in t;return a||(t.setAttribute(i,"return;"),a="function"==typeof t[i]),t=null,a}function l(o,r,c){function h(e,t,n){t=t||0;var a,o,r,s=[],l=0,u=v();do{!0===e&&m().validPositions[l]?(o=(r=m().validPositions[l]).match,a=r.locator.slice(),s.push(!0===n?r.input:!1===n?o.nativeDef:G(l,o))):(o=(r=b(l,a,l-1)).match,a=r.locator.slice(),(!1===c.jitMasking||l<u||"number"==typeof c.jitMasking&&isFinite(c.jitMasking)&&c.jitMasking>l)&&s.push(!1===n?o.nativeDef:G(l,o))),l++}while((W===i||l<W)&&(null!==o.fn||""!==o.def)||t>l);return""===s[s.length-1]&&s.pop(),m().maskLength=l+1,s}function m(){return r}function d(e){var t=m();t.buffer=i,!0!==e&&(t.validPositions={},t.p=0)}function v(e,t,n){var a=-1,o=-1,r=n||m().validPositions;e===i&&(e=-1);for(var s in r){var l=parseInt(s);r[l]&&(t||!0!==r[l].generatedInput)&&(l<=e&&(a=l),l>=e&&(o=l))}return-1!==a&&e-a>1||o<e?a:o}function k(t,n,a,o){var r,s=t,l=e.extend(!0,{},m().validPositions),u=!1;for(m().p=t,r=n-1;r>=s;r--)m().validPositions[r]!==i&&(!0!==a&&(!m().validPositions[r].match.optionality&&function(e){var t=m().validPositions[e];if(t!==i&&null===t.match.fn){var n=m().validPositions[e-1],a=m().validPositions[e+1];return n!==i&&a!==i}return!1}(r)||!1===c.canClearPosition(m(),r,v(i,!0),o,c))||delete m().validPositions[r]);for(d(!0),r=s+1;r<=v();){for(;m().validPositions[s]!==i;)s++;if(r<s&&(r=s+1),m().validPositions[r]===i&&O(r))r++;else{var f=b(r);!1===u&&l[s]&&l[s].match.def===f.match.def?(m().validPositions[s]=e.extend(!0,{},l[s]),m().validPositions[s].input=f.input,delete m().validPositions[r],r++):P(s,f.match.def)?!1!==w(s,f.input||G(r),!0)&&(delete m().validPositions[r],r++,u=!0):O(r)||(r++,s--),s++}}d(!0)}function g(e,t,n){for(var a,o=y(e=e>0?e-1:0),r=o.alternation!==i?o.locator[o.alternation].toString().split(","):[],s=0;s<t.length&&(!((a=t[s]).match&&(c.greedy&&!0!==a.match.optionalQuantifier||(!1===a.match.optionality||!1===a.match.newBlockMarker)&&!0!==a.match.optionalQuantifier)&&(o.alternation===i||o.alternation!==a.alternation||a.locator[o.alternation]!==i&&M(a.locator[o.alternation].toString().split(","),r)))||!0===n&&(null!==a.match.fn||/[0-9a-bA-Z]/.test(a.match.def)));s++);return a}function b(e,t,n){return m().validPositions[e]||g(e,E(e,t?t.slice():t,n))}function y(e){return m().validPositions[e]?m().validPositions[e]:E(e)[0]}function P(e,t){for(var n=!1,i=E(e),a=0;a<i.length;a++)if(i[a].match&&i[a].match.def===t){n=!0;break}return n}function E(t,n,a){function o(n,a,r,l){function f(r,l,v){function k(t,n){var i=0===e.inArray(t,n.matches);return i||e.each(n.matches,function(e,a){if(!0===a.isQuantifier&&(i=k(t,n.matches[e-1])))return!1}),i}function g(t,n,a){var o,r;if(m().validPositions[t-1]&&a&&m().tests[t])for(var s=m().validPositions[t-1].locator,l=m().tests[t][0].locator,c=0;c<a;c++)if(s[c]!==l[c])return s.slice(a+1);return(m().tests[t]||m().validPositions[t])&&e.each(m().tests[t]||[m().validPositions[t]],function(e,t){var s=a!==i?a:t.alternation,l=t.locator[s]!==i?t.locator[s].toString().indexOf(n):-1;(r===i||l<r)&&-1!==l&&(o=t,r=l)}),o?o.locator.slice((a!==i?a:o.alternation)+1):a!==i?g(t,n):i}if(u>1e4)throw"Inputmask: There is probably an error in your mask definition or in the code. Create an issue on github with an example of the mask you are using. "+m().mask;if(u===t&&r.matches===i)return p.push({match:r,locator:l.reverse(),cd:d}),!0;if(r.matches!==i){if(r.isGroup&&v!==r){if(r=f(n.matches[e.inArray(r,n.matches)+1],l))return!0}else if(r.isOptional){var b=r;if(r=o(r,a,l,v)){if(s=p[p.length-1].match,!k(s,b))return!0;h=!0,u=t}}else if(r.isAlternator){var y,P=r,E=[],C=p.slice(),_=l.length,A=a.length>0?a.shift():-1;if(-1===A||"string"==typeof A){var x,M=u,w=a.slice(),O=[];if("string"==typeof A)O=A.split(",");else for(x=0;x<P.matches.length;x++)O.push(x);for(var S=0;S<O.length;S++){x=parseInt(O[S]),p=[],a=g(u,x,_)||w.slice(),!0!==(r=f(P.matches[x]||n.matches[x],[x].concat(l),v)||r)&&r!==i&&(O[O.length-1],P.matches.length),y=p.slice(),u=M,p=[];for(var D=0;D<y.length;D++){var j=y[D],T=!1;j.alternation=j.alternation||_;for(var G=0;G<E.length;G++){var L=E[G];if("string"!=typeof A||-1!==e.inArray(j.locator[j.alternation].toString(),O)){if(function(e,t){return e.match.nativeDef===t.match.nativeDef||e.match.def===t.match.nativeDef||e.match.nativeDef===t.match.def}(j,L)){T=!0,j.alternation===L.alternation&&-1===L.locator[L.alternation].toString().indexOf(j.locator[j.alternation])&&(L.locator[L.alternation]=L.locator[L.alternation]+","+j.locator[j.alternation],L.alternation=j.alternation),j.match.nativeDef===L.match.def&&(j.locator[j.alternation]=L.locator[L.alternation],E.splice(E.indexOf(L),1,j));break}if(j.match.def===L.match.def){T=!1;break}if(function(e,n){return null===e.match.fn&&null!==n.match.fn&&n.match.fn.test(e.match.def,m(),t,!1,c,!1)}(j,L)||function(e,n){return null!==e.match.fn&&null!==n.match.fn&&n.match.fn.test(e.match.def.replace(/[\[\]]/g,""),m(),t,!1,c,!1)}(j,L)){j.alternation===L.alternation&&-1===j.locator[j.alternation].toString().indexOf(L.locator[L.alternation].toString().split("")[0])&&(j.na=j.na||j.locator[j.alternation].toString(),-1===j.na.indexOf(j.locator[j.alternation].toString().split("")[0])&&(j.na=j.na+","+j.locator[L.alternation].toString().split("")[0]),T=!0,j.locator[j.alternation]=L.locator[L.alternation].toString().split("")[0]+","+j.locator[j.alternation],E.splice(E.indexOf(L),0,j));break}}}T||E.push(j)}}"string"==typeof A&&(E=e.map(E,function(t,n){if(isFinite(n)){var a=t.alternation,o=t.locator[a].toString().split(",");t.locator[a]=i,t.alternation=i;for(var r=0;r<o.length;r++)-1!==e.inArray(o[r],O)&&(t.locator[a]!==i?(t.locator[a]+=",",t.locator[a]+=o[r]):t.locator[a]=parseInt(o[r]),t.alternation=a);if(t.locator[a]!==i)return t}})),p=C.concat(E),u=t,h=p.length>0,r=E.length>0,a=w.slice()}else r=f(P.matches[A]||n.matches[A],[A].concat(l),v);if(r)return!0}else if(r.isQuantifier&&v!==n.matches[e.inArray(r,n.matches)-1])for(var B=r,I=a.length>0?a.shift():0;I<(isNaN(B.quantifier.max)?I+1:B.quantifier.max)&&u<=t;I++){var F=n.matches[e.inArray(B,n.matches)-1];if(r=f(F,[I].concat(l),F)){if(s=p[p.length-1].match,s.optionalQuantifier=I>B.quantifier.min-1,k(s,F)){if(I>B.quantifier.min-1){h=!0,u=t;break}return!0}return!0}}else if(r=o(r,a,l,v))return!0}else u++}for(var v=a.length>0?a.shift():0;v<n.matches.length;v++)if(!0!==n.matches[v].isQuantifier){var k=f(n.matches[v],[v].concat(r),l);if(k&&u===t)return k;if(u>t)break}}function r(e){if(c.keepStatic&&t>0&&e.length>1+(""===e[e.length-1].match.def?1:0)&&!0!==e[0].match.optionality&&!0!==e[0].match.optionalQuantifier&&null===e[0].match.fn&&!/[0-9a-bA-Z]/.test(e[0].match.def)){if(m().validPositions[t-1]===i)return[g(t,e)];if(m().validPositions[t-1].alternation===e[0].alternation)return[g(t,e)];if(m().validPositions[t-1])return[g(t,e)]}return e}var s,l=m().maskToken,u=n?a:0,f=n?n.slice():[0],p=[],h=!1,d=n?n.join(""):"";if(t>-1){if(n===i){for(var v,k=t-1;(v=m().validPositions[k]||m().tests[k])===i&&k>-1;)k--;v!==i&&k>-1&&(f=function(t,n){var a=[];return e.isArray(n)||(n=[n]),n.length>0&&(n[0].alternation===i?0===(a=g(t,n.slice()).locator.slice()).length&&(a=n[0].locator.slice()):e.each(n,function(e,t){if(""!==t.def)if(0===a.length)a=t.locator.slice();else for(var n=0;n<a.length;n++)t.locator[n]&&-1===a[n].toString().indexOf(t.locator[n])&&(a[n]+=","+t.locator[n])})),a}(k,v),d=f.join(""),u=k)}if(m().tests[t]&&m().tests[t][0].cd===d)return r(m().tests[t]);for(var b=f.shift();b<l.length&&!(o(l[b],f,[b])&&u===t||u>t);b++);}return(0===p.length||h)&&p.push({match:{fn:null,cardinality:0,optionality:!0,casing:null,def:"",placeholder:""},locator:[],cd:d}),n!==i&&m().tests[t]?r(e.extend(!0,[],p)):(m().tests[t]=e.extend(!0,[],p),r(m().tests[t]))}function C(){return m()._buffer===i&&(m()._buffer=h(!1,1),m().buffer===i&&(m().buffer=m()._buffer.slice())),m()._buffer}function _(e){return m().buffer!==i&&!0!==e||(m().buffer=h(!0,v(),!0)),m().buffer}function A(e,t,n){var a,o;if(!0===e)d(),e=0,t=n.length;else for(a=e;a<t;a++)delete m().validPositions[a];for(o=e,a=e;a<t;a++)if(d(!0),n[a]!==c.skipOptionalPartCharacter){var r=w(o,n[a],!0,!0);!1!==r&&(d(!0),o=r.caret!==i?r.caret:r.pos+1)}}function x(t,n,i){switch(c.casing||n.casing){case"upper":t=t.toUpperCase();break;case"lower":t=t.toLowerCase();break;case"title":var o=m().validPositions[i-1];t=0===i||o&&o.input===String.fromCharCode(a.keyCode.SPACE)?t.toUpperCase():t.toLowerCase();break;default:if(e.isFunction(c.casing)){var r=Array.prototype.slice.call(arguments);r.push(m().validPositions),t=c.casing.apply(this,r)}}return t}function M(t,n,a){for(var o,r=c.greedy?n:n.slice(0,1),s=!1,l=a!==i?a.split(","):[],u=0;u<l.length;u++)-1!==(o=t.indexOf(l[u]))&&t.splice(o,1);for(var f=0;f<t.length;f++)if(-1!==e.inArray(t[f],r)){s=!0;break}return s}function w(t,n,o,r,s,l){function u(e){var t=z?e.begin-e.end>1||e.begin-e.end==1:e.end-e.begin>1||e.end-e.begin==1;return t&&0===e.begin&&e.end===m().maskLength?"full":t}function f(n,a,o){var s=!1;return e.each(E(n),function(l,f){for(var h=f.match,g=a?1:0,b="",y=h.cardinality;y>g;y--)b+=j(n-(y-1));if(a&&(b+=a),_(!0),!1!==(s=null!=h.fn?h.fn.test(b,m(),n,o,c,u(t)):(a===h.def||a===c.skipOptionalPartCharacter)&&""!==h.def&&{c:G(n,h,!0)||h.def,pos:n})){var P=s.c!==i?s.c:a;P=P===c.skipOptionalPartCharacter&&null===h.fn?G(n,h,!0)||h.def:P;var E=n,C=_();if(s.remove!==i&&(e.isArray(s.remove)||(s.remove=[s.remove]),e.each(s.remove.sort(function(e,t){return t-e}),function(e,t){k(t,t+1,!0)})),s.insert!==i&&(e.isArray(s.insert)||(s.insert=[s.insert]),e.each(s.insert.sort(function(e,t){return e-t}),function(e,t){w(t.pos,t.c,!0,r)})),s.refreshFromBuffer){var M=s.refreshFromBuffer;if(A(!0===M?M:M.start,M.end,C),s.pos===i&&s.c===i)return s.pos=v(),!1;if((E=s.pos!==i?s.pos:n)!==n)return s=e.extend(s,w(E,P,!0,r)),!1}else if(!0!==s&&s.pos!==i&&s.pos!==n&&(E=s.pos,A(n,E,_().slice()),E!==n))return s=e.extend(s,w(E,P,!0)),!1;return(!0===s||s.pos!==i||s.c!==i)&&(l>0&&d(!0),p(E,e.extend({},f,{input:x(P,h,E)}),r,u(t))||(s=!1),!1)}}),s}function p(t,n,a,o){if(o||c.insertMode&&m().validPositions[t]!==i&&a===i){var r,s=e.extend(!0,{},m().validPositions),l=v(i,!0);for(r=t;r<=l;r++)delete m().validPositions[r];m().validPositions[t]=e.extend(!0,{},n);var u,f=!0,p=m().validPositions,k=!1,g=m().maskLength;for(r=u=t;r<=l;r++){var b=s[r];if(b!==i)for(var y=u;y<m().maskLength&&(null===b.match.fn&&p[r]&&(!0===p[r].match.optionalQuantifier||!0===p[r].match.optionality)||null!=b.match.fn);){if(y++,!1===k&&s[y]&&s[y].match.def===b.match.def)m().validPositions[y]=e.extend(!0,{},s[y]),m().validPositions[y].input=b.input,h(y),u=y,f=!0;else if(P(y,b.match.def)){var E=w(y,b.input,!0,!0);f=!1!==E,u=E.caret||E.insert?v():y,k=!0}else if(!(f=!0===b.generatedInput)&&y>=m().maskLength-1)break;if(m().maskLength<g&&(m().maskLength=g),f)break}if(!f)break}if(!f)return m().validPositions=e.extend(!0,{},s),d(!0),!1}else m().validPositions[t]=e.extend(!0,{},n);return d(!0),!0}function h(t){for(var n=t-1;n>-1&&!m().validPositions[n];n--);var a,o;for(n++;n<t;n++)m().validPositions[n]===i&&(!1===c.jitMasking||c.jitMasking>n)&&(""===(o=E(n,b(n-1).locator,n-1).slice())[o.length-1].match.def&&o.pop(),(a=g(n,o))&&(a.match.def===c.radixPointDefinitionSymbol||!O(n,!0)||e.inArray(c.radixPoint,_())<n&&a.match.fn&&a.match.fn.test(G(n),m(),n,!1,c))&&!1!==(C=f(n,G(n,a.match,!0)||(null==a.match.fn?a.match.def:""!==G(n)?G(n):_()[n]),!0))&&(m().validPositions[C.pos||n].generatedInput=!0))}o=!0===o;var y=t;t.begin!==i&&(y=z&&!u(t)?t.end:t.begin);var C=!0,D=e.extend(!0,{},m().validPositions);if(e.isFunction(c.preValidation)&&!o&&!0!==r&&!0!==l&&(C=c.preValidation(_(),y,n,u(t),c)),!0===C){if(h(y),u(t)&&(K(i,a.keyCode.DELETE,t,!0,!0),y=m().p),y<m().maskLength&&(W===i||y<W)&&(C=f(y,n,o),(!o||!0===r)&&!1===C&&!0!==l)){var T=m().validPositions[y];if(!T||null!==T.match.fn||T.match.def!==n&&n!==c.skipOptionalPartCharacter){if((c.insertMode||m().validPositions[S(y)]===i)&&!O(y,!0))for(var L=y+1,B=S(y);L<=B;L++)if(!1!==(C=f(L,n,o))){!function(t,n){var a=m().validPositions[n];if(a)for(var o=a.locator,r=o.length,s=t;s<n;s++)if(m().validPositions[s]===i&&!O(s,!0)){var l=E(s).slice(),c=g(s,l,!0),u=-1;""===l[l.length-1].match.def&&l.pop(),e.each(l,function(e,t){for(var n=0;n<r;n++){if(t.locator[n]===i||!M(t.locator[n].toString().split(","),o[n].toString().split(","),t.na)){var a=o[n],s=c.locator[n],l=t.locator[n];a-s>Math.abs(a-l)&&(c=t);break}u<n&&(u=n,c=t)}}),(c=e.extend({},c,{input:G(s,c.match,!0)||c.match.def})).generatedInput=!0,p(s,c,!0),m().validPositions[n]=i,f(n,a.input,!0)}}(y,C.pos!==i?C.pos:L),y=L;break}}else C={caret:S(y)}}!1===C&&c.keepStatic&&!o&&!0!==s&&(C=function(t,n,a){var o,s,l,u,f,p,h,k,g=e.extend(!0,{},m().validPositions),b=!1,y=v();for(u=m().validPositions[y];y>=0;y--)if((l=m().validPositions[y])&&l.alternation!==i){if(o=y,s=m().validPositions[o].alternation,u.locator[l.alternation]!==l.locator[l.alternation])break;u=l}if(s!==i){k=parseInt(o);var P=u.locator[u.alternation||s]!==i?u.locator[u.alternation||s]:h[0];P.length>0&&(P=P.split(",")[0]);var C=m().validPositions[k],_=m().validPositions[k-1];e.each(E(k,_?_.locator:i,k-1),function(o,l){h=l.locator[s]?l.locator[s].toString().split(","):[];for(var u=0;u<h.length;u++){var y=[],E=0,_=0,A=!1;if(P<h[u]&&(l.na===i||-1===e.inArray(h[u],l.na.split(","))||-1===e.inArray(P.toString(),h))){m().validPositions[k]=e.extend(!0,{},l);var x=m().validPositions[k].locator;for(m().validPositions[k].locator[s]=parseInt(h[u]),null==l.match.fn?(C.input!==l.match.def&&(A=!0,!0!==C.generatedInput&&y.push(C.input)),_++,m().validPositions[k].generatedInput=!/[0-9a-bA-Z]/.test(l.match.def),m().validPositions[k].input=l.match.def):m().validPositions[k].input=C.input,f=k+1;f<v(i,!0)+1;f++)(p=m().validPositions[f])&&!0!==p.generatedInput&&/[0-9a-bA-Z]/.test(p.input)?y.push(p.input):f<t&&E++,delete m().validPositions[f];for(A&&y[0]===l.match.def&&y.shift(),d(!0),b=!0;y.length>0;){var M=y.shift();if(M!==c.skipOptionalPartCharacter&&!(b=w(v(i,!0)+1,M,!1,r,!0)))break}if(b){m().validPositions[k].locator=x;var O=v(t)+1;for(f=k+1;f<v()+1;f++)((p=m().validPositions[f])===i||null==p.match.fn)&&f<t+(_-E)&&_++;b=w((t+=_-E)>O?O:t,n,a,r,!0)}if(b)return!1;d(),m().validPositions=e.extend(!0,{},g)}}})}return b}(y,n,o)),!0===C&&(C={pos:y})}if(e.isFunction(c.postValidation)&&!1!==C&&!o&&!0!==r&&!0!==l){var I=c.postValidation(_(!0),C,c);if(I!==i){if(I.refreshFromBuffer&&I.buffer){var F=I.refreshFromBuffer;A(!0===F?F:F.start,F.end,I.buffer)}C=!0===I?C:I}}return C&&C.pos===i&&(C.pos=y),!1!==C&&!0!==l||(d(!0),m().validPositions=e.extend(!0,{},D)),C}function O(e,t){var n=b(e).match;if(""===n.def&&(n=y(e).match),null!=n.fn)return n.fn;if(!0!==t&&e>-1){var i=E(e);return i.length>1+(""===i[i.length-1].match.def?1:0)}return!1}function S(e,t){var n=m().maskLength;if(e>=n)return n;var i=e;for(E(n+1).length>1&&(h(!0,n+1,!0),n=m().maskLength);++i<n&&(!0===t&&(!0!==y(i).match.newBlockMarker||!O(i))||!0!==t&&!O(i)););return i}function D(e,t){var n,i=e;if(i<=0)return 0;for(;--i>0&&(!0===t&&!0!==y(i).match.newBlockMarker||!0!==t&&!O(i)&&((n=E(i)).length<2||2===n.length&&""===n[1].match.def)););return i}function j(e){return m().validPositions[e]===i?G(e):m().validPositions[e].input}function T(t,n,a,o,r){if(o&&e.isFunction(c.onBeforeWrite)){var s=c.onBeforeWrite.call(Z,o,n,a,c);if(s){if(s.refreshFromBuffer){var l=s.refreshFromBuffer;A(!0===l?l:l.start,l.end,s.buffer||n),n=_(!0)}a!==i&&(a=s.caret!==i?s.caret:a)}}t!==i&&(t.inputmask._valueSet(n.join("")),a===i||o!==i&&"blur"===o.type?V(t,a,0===n.length):I(t,a),!0===r&&(J=!0,e(t).trigger("input")))}function G(t,n,a){if((n=n||y(t).match).placeholder!==i||!0===a)return e.isFunction(n.placeholder)?n.placeholder(c):n.placeholder;if(null===n.fn){if(t>-1&&m().validPositions[t]===i){var o,r=E(t),s=[];if(r.length>1+(""===r[r.length-1].match.def?1:0))for(var l=0;l<r.length;l++)if(!0!==r[l].match.optionality&&!0!==r[l].match.optionalQuantifier&&(null===r[l].match.fn||o===i||!1!==r[l].match.fn.test(o.match.def,m(),t,!0,c))&&(s.push(r[l]),null===r[l].match.fn&&(o=r[l]),s.length>1&&/[0-9a-bA-Z]/.test(s[0].match.def)))return c.placeholder.charAt(t%c.placeholder.length)}return n.def}return c.placeholder.charAt(t%c.placeholder.length)}function L(t,o,r,s,l){function u(e,t){return-1!==C().slice(e,S(e)).join("").indexOf(t)&&!O(e)&&y(e).match.nativeDef===t.charAt(t.length-1)}var f=s.slice(),p="",h=-1,k=i;if(d(),r||!0===c.autoUnmask)h=S(h);else{var g=C().slice(0,S(-1)).join(""),P=f.join("").match(new RegExp("^"+a.escapeRegex(g),"g"));P&&P.length>0&&(f.splice(0,P.length*g.length),h=S(h))}if(-1===h?(m().p=S(h),h=0):m().p=h,e.each(f,function(n,a){if(a!==i)if(m().validPositions[n]===i&&f[n]===G(n)&&O(n,!0)&&!1===w(n,f[n],!0,i,i,!0))m().p++;else{var o=new e.Event("_checkval");o.which=a.charCodeAt(0),p+=a;var s=v(i,!0),l=m().validPositions[s],g=b(s+1,l?l.locator.slice():i,s);if(!u(h,p)||r||c.autoUnmask){var y=r?n:null==g.match.fn&&g.match.optionality&&s+1<m().p?s+1:m().p;k=ie.keypressEvent.call(t,o,!0,!1,r,y),h=y+1,p=""}else k=ie.keypressEvent.call(t,o,!0,!1,!0,s+1);if(!1!==k&&!r&&e.isFunction(c.onBeforeWrite)){var P=k;if(k=c.onBeforeWrite.call(Z,o,_(),k.forwardPosition,c),(k=e.extend(P,k))&&k.refreshFromBuffer){var E=k.refreshFromBuffer;A(!0===E?E:E.start,E.end,k.buffer),d(!0),k.caret&&(m().p=k.caret,k.forwardPosition=k.caret)}}}}),o){var E=i;n.activeElement===t&&k&&(E=c.numericInput?D(k.forwardPosition):k.forwardPosition),T(t,_(),E,l||new e.Event("checkval"),l&&"input"===l.type)}}function B(t){if(t){if(t.inputmask===i)return t.value;t.inputmask&&t.inputmask.refreshValue&&ie.setValueEvent.call(t)}var n=[],a=m().validPositions;for(var o in a)a[o].match&&null!=a[o].match.fn&&n.push(a[o].input);var r=0===n.length?"":(z?n.reverse():n).join("");if(e.isFunction(c.onUnMask)){var s=(z?_().slice().reverse():_()).join("");r=c.onUnMask.call(Z,s,r,c)}return r}function I(e,a,o,r){function s(t){return!0===r||!z||"number"!=typeof t||c.greedy&&""===c.placeholder||(t=e.inputmask.__valueGet.call(e).length-t),t}var l;if(a===i)return e.setSelectionRange?(a=e.selectionStart,o=e.selectionEnd):t.getSelection?(l=t.getSelection().getRangeAt(0)).commonAncestorContainer.parentNode!==e&&l.commonAncestorContainer!==e||(a=l.startOffset,o=l.endOffset):n.selection&&n.selection.createRange&&(o=(a=0-(l=n.selection.createRange()).duplicate().moveStart("character",-e.inputmask._valueGet().length))+l.text.length),{begin:s(a),end:s(o)};if(a.begin!==i&&(o=z?a.begin:a.end,a=z?a.end:a.begin),"number"==typeof a){a=s(a),o="number"==typeof(o=s(o))?o:a;var u=parseInt(((e.ownerDocument.defaultView||t).getComputedStyle?(e.ownerDocument.defaultView||t).getComputedStyle(e,null):e.currentStyle).fontSize)*o;if(e.scrollLeft=u>e.scrollWidth?u:0,!1===c.insertMode&&a===o&&o++,e.inputmask.caretPos={begin:a,end:o},e.setSelectionRange)e.selectionStart=a,e.selectionEnd=o;else if(t.getSelection){if(l=n.createRange(),e.firstChild===i||null===e.firstChild){var f=n.createTextNode("");e.appendChild(f)}l.setStart(e.firstChild,a<e.inputmask._valueGet().length?a:e.inputmask._valueGet().length),l.setEnd(e.firstChild,o<e.inputmask._valueGet().length?o:e.inputmask._valueGet().length),l.collapse(!0);var p=t.getSelection();p.removeAllRanges(),p.addRange(l)}else e.createTextRange&&((l=e.createTextRange()).collapse(!0),l.moveEnd("character",o),l.moveStart("character",a),l.select());V(e,{begin:a,end:o})}}function F(t){var n,a,o=_(),r=o.length,s=v(),l={},c=m().validPositions[s],u=c!==i?c.locator.slice():i;for(n=s+1;n<o.length;n++)u=(a=b(n,u,n-1)).locator.slice(),l[n]=e.extend(!0,{},a);var f=c&&c.alternation!==i?c.locator[c.alternation]:i;for(n=r-1;n>s&&(((a=l[n]).match.optionality||a.match.optionalQuantifier&&a.match.newBlockMarker||f&&(f!==l[n].locator[c.alternation]&&null!=a.match.fn||null===a.match.fn&&a.locator[c.alternation]&&M(a.locator[c.alternation].toString().split(","),f.toString().split(","))&&""!==E(n)[0].def))&&o[n]===G(n,a.match));n--)r--;return t?{l:r,def:l[r]?l[r].match:i}:r}function N(e){for(var t,n=F(),a=e.length,o=m().validPositions[v()];n<a&&!O(n,!0)&&(t=o!==i?b(n,o.locator.slice(""),o):y(n))&&!0!==t.match.optionality&&(!0!==t.match.optionalQuantifier&&!0!==t.match.newBlockMarker||n+1===a&&""===(o!==i?b(n+1,o.locator.slice(""),o):y(n+1)).match.def);)n++;for(;(t=m().validPositions[n-1])&&t&&t.match.optionality&&t.input===c.skipOptionalPartCharacter;)n--;return e.splice(n),e}function R(t){if(e.isFunction(c.isComplete))return c.isComplete(t,c);if("*"===c.repeat)return i;var n=!1,a=F(!0),o=D(a.l);if(a.def===i||a.def.newBlockMarker||a.def.optionality||a.def.optionalQuantifier){n=!0;for(var r=0;r<=o;r++){var s=b(r).match;if(null!==s.fn&&m().validPositions[r]===i&&!0!==s.optionality&&!0!==s.optionalQuantifier||null===s.fn&&t[r]!==G(r,s)){n=!1;break}}}return n}function K(t,n,o,r,s){if((c.numericInput||z)&&(n===a.keyCode.BACKSPACE?n=a.keyCode.DELETE:n===a.keyCode.DELETE&&(n=a.keyCode.BACKSPACE),z)){var l=o.end;o.end=o.begin,o.begin=l}n===a.keyCode.BACKSPACE&&(o.end-o.begin<1||!1===c.insertMode)?(o.begin=D(o.begin),m().validPositions[o.begin]!==i&&m().validPositions[o.begin].input===c.groupSeparator&&o.begin--):n===a.keyCode.DELETE&&o.begin===o.end&&(o.end=O(o.end,!0)&&m().validPositions[o.end]&&m().validPositions[o.end].input!==c.radixPoint?o.end+1:S(o.end)+1,m().validPositions[o.begin]!==i&&m().validPositions[o.begin].input===c.groupSeparator&&o.end++),k(o.begin,o.end,!1,r),!0!==r&&function(){if(c.keepStatic){for(var n=[],a=v(-1,!0),o=e.extend(!0,{},m().validPositions),r=m().validPositions[a];a>=0;a--){var s=m().validPositions[a];if(s){if(!0!==s.generatedInput&&/[0-9a-bA-Z]/.test(s.input)&&n.push(s.input),delete m().validPositions[a],s.alternation!==i&&s.locator[s.alternation]!==r.locator[s.alternation])break;r=s}}if(a>-1)for(m().p=S(v(-1,!0));n.length>0;){var l=new e.Event("keypress");l.which=n.pop().charCodeAt(0),ie.keypressEvent.call(t,l,!0,!1,!1,m().p)}else m().validPositions=e.extend(!0,{},o)}}();var u=v(o.begin,!0);if(u<o.begin)m().p=S(u);else if(!0!==r&&(m().p=o.begin,!0!==s))for(;m().p<u&&m().validPositions[m().p]===i;)m().p++}function U(i){function a(e){var t,a=n.createElement("span");for(var r in o)isNaN(r)&&-1!==r.indexOf("font")&&(a.style[r]=o[r]);a.style.textTransform=o.textTransform,a.style.letterSpacing=o.letterSpacing,a.style.position="absolute",a.style.height="auto",a.style.width="auto",a.style.visibility="hidden",a.style.whiteSpace="nowrap",n.body.appendChild(a);var s,l=i.inputmask._valueGet(),c=0;for(t=0,s=l.length;t<=s;t++){if(a.innerHTML+=l.charAt(t)||"_",a.offsetWidth>=e){var u=e-c,f=a.offsetWidth-e;a.innerHTML=l.charAt(t),t=(u-=a.offsetWidth/3)<f?t-1:t;break}c=a.offsetWidth}return n.body.removeChild(a),t}var o=(i.ownerDocument.defaultView||t).getComputedStyle(i,null),r=n.createElement("div");r.style.width=o.width,r.style.textAlign=o.textAlign,q=n.createElement("div"),i.inputmask.colorMask=q,q.className="im-colormask",i.parentNode.insertBefore(q,i),i.parentNode.removeChild(i),q.appendChild(r),q.appendChild(i),i.style.left=r.offsetLeft+"px",e(i).on("click",function(e){return I(i,a(e.clientX)),ie.clickEvent.call(i,[e])}),e(i).on("keydown",function(e){e.shiftKey||!1===c.insertMode||setTimeout(function(){V(i)},0)})}function V(e,t,a){function o(){p||null!==s.fn&&l.input!==i?p&&(null!==s.fn&&l.input!==i||""===s.def)&&(p=!1,f+="</span>"):(p=!0,f+="<span class='im-static'>")}function r(i){!0!==i&&h!==t.begin||n.activeElement!==e||(f+="<span class='im-caret' style='border-right-width: 1px;border-right-style: solid;'></span>")}var s,l,u,f="",p=!1,h=0;if(q!==i){var d=_();if(t===i?t=I(e):t.begin===i&&(t={begin:t,end:t}),!0!==a){var k=v();do{r(),m().validPositions[h]?(l=m().validPositions[h],s=l.match,u=l.locator.slice(),o(),f+=d[h]):(l=b(h,u,h-1),s=l.match,u=l.locator.slice(),(!1===c.jitMasking||h<k||"number"==typeof c.jitMasking&&isFinite(c.jitMasking)&&c.jitMasking>h)&&(o(),f+=G(h,s))),h++}while((W===i||h<W)&&(null!==s.fn||""!==s.def)||k>h||p);-1===f.indexOf("im-caret")&&r(!0),p&&o()}var g=q.getElementsByTagName("div")[0];g.innerHTML=f,e.inputmask.positionColorMask(e,g)}}r=r||this.maskset,c=c||this.opts;var H,Q,W,q,Z=this,$=this.el,z=this.isRTL,X=!1,J=!1,Y=!1,ee=!1,te=!1,ne={on:function(t,n,o){var r=function(t){var n=this;if(n.inputmask===i&&"FORM"!==this.nodeName){var r=e.data(n,"_inputmask_opts");r?new a(r).mask(n):ne.off(n)}else{if("setvalue"===t.type||"FORM"===this.nodeName||!(n.disabled||n.readOnly&&!("keydown"===t.type&&t.ctrlKey&&67===t.keyCode||!1===c.tabThrough&&t.keyCode===a.keyCode.TAB))){switch(t.type){case"input":if(!0===J)return J=!1,t.preventDefault();u&&(te=!0);break;case"keydown":X=!1,J=!1;break;case"keypress":if(!0===X)return t.preventDefault();X=!0;break;case"click":if(f||p){var s=arguments;return setTimeout(function(){o.apply(n,s)},0),!1}}var l=o.apply(n,arguments);return te&&(te=!1,setTimeout(function(){I(n,n.inputmask.caretPos)})),!1===l&&(t.preventDefault(),t.stopPropagation()),l}t.preventDefault()}};t.inputmask.events[n]=t.inputmask.events[n]||[],t.inputmask.events[n].push(r),-1!==e.inArray(n,["submit","reset"])?null!==t.form&&e(t.form).on(n,r):e(t).on(n,r)},off:function(t,n){if(t.inputmask&&t.inputmask.events){var i;n?(i=[])[n]=t.inputmask.events[n]:i=t.inputmask.events,e.each(i,function(n,i){for(;i.length>0;){var a=i.pop();-1!==e.inArray(n,["submit","reset"])?null!==t.form&&e(t.form).off(n,a):e(t).off(n,a)}delete t.inputmask.events[n]})}}},ie={keydownEvent:function(t){var n=this,i=e(n),o=t.keyCode,r=I(n);if(o===a.keyCode.BACKSPACE||o===a.keyCode.DELETE||p&&o===a.keyCode.BACKSPACE_SAFARI||t.ctrlKey&&o===a.keyCode.X&&!s("cut"))t.preventDefault(),K(n,o,r),T(n,_(!0),m().p,t,n.inputmask._valueGet()!==_().join("")),n.inputmask._valueGet()===C().join("")?i.trigger("cleared"):!0===R(_())&&i.trigger("complete");else if(o===a.keyCode.END||o===a.keyCode.PAGE_DOWN){t.preventDefault();var l=S(v());c.insertMode||l!==m().maskLength||t.shiftKey||l--,I(n,t.shiftKey?r.begin:l,l,!0)}else o===a.keyCode.HOME&&!t.shiftKey||o===a.keyCode.PAGE_UP?(t.preventDefault(),I(n,0,t.shiftKey?r.begin:0,!0)):(c.undoOnEscape&&o===a.keyCode.ESCAPE||90===o&&t.ctrlKey)&&!0!==t.altKey?(L(n,!0,!1,H.split("")),i.trigger("click")):o!==a.keyCode.INSERT||t.shiftKey||t.ctrlKey?!0===c.tabThrough&&o===a.keyCode.TAB?(!0===t.shiftKey?(null===y(r.begin).match.fn&&(r.begin=S(r.begin)),r.end=D(r.begin,!0),r.begin=D(r.end,!0)):(r.begin=S(r.begin,!0),r.end=S(r.begin,!0),r.end<m().maskLength&&r.end--),r.begin<m().maskLength&&(t.preventDefault(),I(n,r.begin,r.end))):t.shiftKey||!1===c.insertMode&&(o===a.keyCode.RIGHT?setTimeout(function(){var e=I(n);I(n,e.begin)},0):o===a.keyCode.LEFT&&setTimeout(function(){var e=I(n);I(n,z?e.begin+1:e.begin-1)},0)):(c.insertMode=!c.insertMode,I(n,c.insertMode||r.begin!==m().maskLength?r.begin:r.begin-1));c.onKeyDown.call(this,t,_(),I(n).begin,c),Y=-1!==e.inArray(o,c.ignorables)},keypressEvent:function(t,n,o,r,s){var l=this,u=e(l),f=t.which||t.charCode||t.keyCode;if(!(!0===n||t.ctrlKey&&t.altKey)&&(t.ctrlKey||t.metaKey||Y))return f===a.keyCode.ENTER&&H!==_().join("")&&(H=_().join(""),setTimeout(function(){u.trigger("change")},0)),!0;if(f){46===f&&!1===t.shiftKey&&""!==c.radixPoint&&(f=c.radixPoint.charCodeAt(0));var p,h=n?{begin:s,end:s}:I(l),v=String.fromCharCode(f);m().writeOutBuffer=!0;var k=w(h,v,r);if(!1!==k&&(d(!0),p=k.caret!==i?k.caret:n?k.pos+1:S(k.pos),m().p=p),!1!==o&&(setTimeout(function(){c.onKeyValidation.call(l,f,k,c)},0),m().writeOutBuffer&&!1!==k)){var g=_();T(l,g,c.numericInput&&k.caret===i?D(p):p,t,!0!==n),!0!==n&&setTimeout(function(){!0===R(g)&&u.trigger("complete")},0)}if(t.preventDefault(),n)return!1!==k&&(k.forwardPosition=p),k}},pasteEvent:function(n){var i,a=this,o=n.originalEvent||n,r=e(a),s=a.inputmask._valueGet(!0),l=I(a);z&&(i=l.end,l.end=l.begin,l.begin=i);var u=s.substr(0,l.begin),f=s.substr(l.end,s.length);if(u===(z?C().reverse():C()).slice(0,l.begin).join("")&&(u=""),f===(z?C().reverse():C()).slice(l.end).join("")&&(f=""),z&&(i=u,u=f,f=i),t.clipboardData&&t.clipboardData.getData)s=u+t.clipboardData.getData("Text")+f;else{if(!o.clipboardData||!o.clipboardData.getData)return!0;s=u+o.clipboardData.getData("text/plain")+f}var p=s;if(e.isFunction(c.onBeforePaste)){if(!1===(p=c.onBeforePaste.call(Z,s,c)))return n.preventDefault();p||(p=s)}return L(a,!1,!1,z?p.split("").reverse():p.toString().split("")),T(a,_(),S(v()),n,H!==_().join("")),!0===R(_())&&r.trigger("complete"),n.preventDefault()},inputFallBackEvent:function(t){var n=this,i=n.inputmask._valueGet();if(_().join("")!==i){var o=I(n);if(i=function(e,t,n){return"."===t.charAt(n.begin-1)&&""!==c.radixPoint&&((t=t.split(""))[n.begin-1]=c.radixPoint.charAt(0),t=t.join("")),t}(0,i,o),i=function(e,t,n){if(f){var i=t.replace(_().join(""),"");if(1===i.length){var a=t.split("");a.splice(n.begin,0,i),t=a.join("")}}return t}(0,i,o),_().join("")!==i){var r=_().join(""),s=i.length>r.length?-1:0,l=i.substr(0,o.begin),u=i.substr(o.begin),p=r.substr(0,o.begin+s),h=r.substr(o.begin+s),m=o,d="",v=!1;if(l!==p){for(var k=(v=l.length>=p.length)?l.length:p.length,g=0;l.charAt(g)===p.charAt(g)&&g<k;g++);v&&(0===s&&(m.begin=g),d+=l.slice(g,m.end))}if(u!==h&&(u.length>h.length?d+=u.slice(0,1):u.length<h.length&&(m.end+=h.length-u.length,v||""===c.radixPoint||""!==u||l.charAt(m.begin+s-1)!==c.radixPoint||(m.begin--,d=c.radixPoint))),T(n,_(),{begin:m.begin+s,end:m.end+s}),d.length>0)e.each(d.split(""),function(t,i){var a=new e.Event("keypress");a.which=i.charCodeAt(0),Y=!1,ie.keypressEvent.call(n,a)});else{m.begin===m.end-1&&(m.begin=D(m.begin+1),m.begin===m.end-1?I(n,m.begin):I(n,m.begin,m.end));var b=new e.Event("keydown");b.keyCode=a.keyCode.DELETE,ie.keydownEvent.call(n,b),!1===c.insertMode&&I(n,I(n).begin-1)}t.preventDefault()}}},setValueEvent:function(t){this.inputmask.refreshValue=!1;var n=this,i=n.inputmask._valueGet(!0);e.isFunction(c.onBeforeMask)&&(i=c.onBeforeMask.call(Z,i,c)||i),i=i.split(""),L(n,!0,!1,z?i.reverse():i),H=_().join(""),(c.clearMaskOnLostFocus||c.clearIncomplete)&&n.inputmask._valueGet()===C().join("")&&n.inputmask._valueSet("")},focusEvent:function(e){var t=this,n=t.inputmask._valueGet();c.showMaskOnFocus&&(!c.showMaskOnHover||c.showMaskOnHover&&""===n)&&(t.inputmask._valueGet()!==_().join("")?T(t,_(),S(v())):!1===ee&&I(t,S(v()))),!0===c.positionCaretOnTab&&!1===ee&&""!==n&&(T(t,_(),I(t)),ie.clickEvent.apply(t,[e,!0])),H=_().join("")},mouseleaveEvent:function(e){var t=this;if(ee=!1,c.clearMaskOnLostFocus&&n.activeElement!==t){var i=_().slice(),a=t.inputmask._valueGet();a!==t.getAttribute("placeholder")&&""!==a&&(-1===v()&&a===C().join("")?i=[]:N(i),T(t,i))}},clickEvent:function(t,a){function o(t){if(""!==c.radixPoint){var n=m().validPositions;if(n[t]===i||n[t].input===G(t)){if(t<S(-1))return!0;var a=e.inArray(c.radixPoint,_());if(-1!==a){for(var o in n)if(a<o&&n[o].input!==G(o))return!1;return!0}}}return!1}var r=this;setTimeout(function(){if(n.activeElement===r){var e=I(r);if(a&&(z?e.end=e.begin:e.begin=e.end),e.begin===e.end)switch(c.positionCaretOnClick){case"none":break;case"radixFocus":if(o(e.begin)){var t=_().join("").indexOf(c.radixPoint);I(r,c.numericInput?S(t):t);break}default:var s=e.begin,l=v(s,!0),u=S(l);if(s<u)I(r,O(s,!0)||O(s-1,!0)?s:S(s));else{var f=m().validPositions[l],p=b(u,f?f.match.locator:i,f),h=G(u,p.match);if(""!==h&&_()[u]!==h&&!0!==p.match.optionalQuantifier&&!0!==p.match.newBlockMarker||!O(u,!0)&&p.match.def===h){var d=S(u);(s>=d||s===u)&&(u=d)}I(r,u)}}}},0)},dblclickEvent:function(e){var t=this;setTimeout(function(){I(t,0,S(v()))},0)},cutEvent:function(i){var o=this,r=e(o),s=I(o),l=i.originalEvent||i,c=t.clipboardData||l.clipboardData,u=z?_().slice(s.end,s.begin):_().slice(s.begin,s.end);c.setData("text",z?u.reverse().join(""):u.join("")),n.execCommand&&n.execCommand("copy"),K(o,a.keyCode.DELETE,s),T(o,_(),m().p,i,H!==_().join("")),o.inputmask._valueGet()===C().join("")&&r.trigger("cleared")},blurEvent:function(t){var n=e(this),a=this;if(a.inputmask){var o=a.inputmask._valueGet(),r=_().slice();""===o&&q===i||(c.clearMaskOnLostFocus&&(-1===v()&&o===C().join("")?r=[]:N(r)),!1===R(r)&&(setTimeout(function(){n.trigger("incomplete")},0),c.clearIncomplete&&(d(),r=c.clearMaskOnLostFocus?[]:C().slice())),T(a,r,i,t)),H!==_().join("")&&(H=r.join(""),n.trigger("change"))}},mouseenterEvent:function(e){var t=this;ee=!0,n.activeElement!==t&&c.showMaskOnHover&&t.inputmask._valueGet()!==_().join("")&&T(t,_())},submitEvent:function(e){H!==_().join("")&&Q.trigger("change"),c.clearMaskOnLostFocus&&-1===v()&&$.inputmask._valueGet&&$.inputmask._valueGet()===C().join("")&&$.inputmask._valueSet(""),c.removeMaskOnSubmit&&($.inputmask._valueSet($.inputmask.unmaskedvalue(),!0),setTimeout(function(){T($,_())},0))},resetEvent:function(e){$.inputmask.refreshValue=!0,setTimeout(function(){Q.trigger("setvalue")},0)}};a.prototype.positionColorMask=function(e,t){e.style.left=t.offsetLeft+"px"};var ae;if(o!==i)switch(o.action){case"isComplete":return $=o.el,R(_());case"unmaskedvalue":return $!==i&&o.value===i||(ae=o.value,ae=(e.isFunction(c.onBeforeMask)?c.onBeforeMask.call(Z,ae,c)||ae:ae).split(""),L(i,!1,!1,z?ae.reverse():ae),e.isFunction(c.onBeforeWrite)&&c.onBeforeWrite.call(Z,i,_(),0,c)),B($);case"mask":!function(t){ne.off(t);var a=function(t,a){var o=t.getAttribute("type"),r="INPUT"===t.tagName&&-1!==e.inArray(o,a.supportsInputType)||t.isContentEditable||"TEXTAREA"===t.tagName;if(!r)if("INPUT"===t.tagName){var s=n.createElement("input");s.setAttribute("type",o),r="text"===s.type,s=null}else r="partial";return!1!==r?function(t){function o(){return this.inputmask?this.inputmask.opts.autoUnmask?this.inputmask.unmaskedvalue():-1!==v()||!0!==a.nullable?n.activeElement===this&&a.clearMaskOnLostFocus?(z?N(_().slice()).reverse():N(_().slice())).join(""):s.call(this):"":s.call(this)}function r(t){l.call(this,t),this.inputmask&&e(this).trigger("setvalue")}var s,l;if(!t.inputmask.__valueGet){if(!0!==a.noValuePatching){if(Object.getOwnPropertyDescriptor){"function"!=typeof Object.getPrototypeOf&&(Object.getPrototypeOf="object"==typeof"test".__proto__?function(e){return e.__proto__}:function(e){return e.constructor.prototype});var c=Object.getPrototypeOf?Object.getOwnPropertyDescriptor(Object.getPrototypeOf(t),"value"):i;c&&c.get&&c.set?(s=c.get,l=c.set,Object.defineProperty(t,"value",{get:o,set:r,configurable:!0})):"INPUT"!==t.tagName&&(s=function(){return this.textContent},l=function(e){this.textContent=e},Object.defineProperty(t,"value",{get:o,set:r,configurable:!0}))}else n.__lookupGetter__&&t.__lookupGetter__("value")&&(s=t.__lookupGetter__("value"),l=t.__lookupSetter__("value"),t.__defineGetter__("value",o),t.__defineSetter__("value",r));t.inputmask.__valueGet=s,t.inputmask.__valueSet=l}t.inputmask._valueGet=function(e){return z&&!0!==e?s.call(this.el).split("").reverse().join(""):s.call(this.el)},t.inputmask._valueSet=function(e,t){l.call(this.el,null===e||e===i?"":!0!==t&&z?e.split("").reverse().join(""):e)},s===i&&(s=function(){return this.value},l=function(e){this.value=e},function(t){if(e.valHooks&&(e.valHooks[t]===i||!0!==e.valHooks[t].inputmaskpatch)){var n=e.valHooks[t]&&e.valHooks[t].get?e.valHooks[t].get:function(e){return e.value},o=e.valHooks[t]&&e.valHooks[t].set?e.valHooks[t].set:function(e,t){return e.value=t,e};e.valHooks[t]={get:function(e){if(e.inputmask){if(e.inputmask.opts.autoUnmask)return e.inputmask.unmaskedvalue();var t=n(e);return-1!==v(i,i,e.inputmask.maskset.validPositions)||!0!==a.nullable?t:""}return n(e)},set:function(t,n){var i,a=e(t);return i=o(t,n),t.inputmask&&a.trigger("setvalue"),i},inputmaskpatch:!0}}}(t.type),function(t){ne.on(t,"mouseenter",function(t){var n=e(this);this.inputmask._valueGet()!==_().join("")&&n.trigger("setvalue")})}(t))}}(t):t.inputmask=i,r}(t,c);if(!1!==a&&($=t,Q=e($),-1===(W=$!==i?$.maxLength:i)&&(W=i),!0===c.colorMask&&U($),u&&("inputmode"in $&&($.inputmode=c.inputmode,$.setAttribute("inputmode",c.inputmode)),!0===c.disablePredictiveText&&("autocorrect"in $?$.autocorrect=!1:(!0!==c.colorMask&&U($),$.type="password"))),!0===a&&(ne.on($,"submit",ie.submitEvent),ne.on($,"reset",ie.resetEvent),ne.on($,"mouseenter",ie.mouseenterEvent),ne.on($,"blur",ie.blurEvent),ne.on($,"focus",ie.focusEvent),ne.on($,"mouseleave",ie.mouseleaveEvent),!0!==c.colorMask&&ne.on($,"click",ie.clickEvent),ne.on($,"dblclick",ie.dblclickEvent),ne.on($,"paste",ie.pasteEvent),ne.on($,"dragdrop",ie.pasteEvent),ne.on($,"drop",ie.pasteEvent),ne.on($,"cut",ie.cutEvent),ne.on($,"complete",c.oncomplete),ne.on($,"incomplete",c.onincomplete),ne.on($,"cleared",c.oncleared),u||!0===c.inputEventOnly?$.removeAttribute("maxLength"):(ne.on($,"keydown",ie.keydownEvent),ne.on($,"keypress",ie.keypressEvent)),ne.on($,"compositionstart",e.noop),ne.on($,"compositionupdate",e.noop),ne.on($,"compositionend",e.noop),ne.on($,"keyup",e.noop),ne.on($,"input",ie.inputFallBackEvent),ne.on($,"beforeinput",e.noop)),ne.on($,"setvalue",ie.setValueEvent),H=C().join(""),""!==$.inputmask._valueGet(!0)||!1===c.clearMaskOnLostFocus||n.activeElement===$)){var o=e.isFunction(c.onBeforeMask)?c.onBeforeMask.call(Z,$.inputmask._valueGet(!0),c)||$.inputmask._valueGet(!0):$.inputmask._valueGet(!0);""!==o&&L($,!0,!1,z?o.split("").reverse():o.split(""));var r=_().slice();H=r.join(""),!1===R(r)&&c.clearIncomplete&&d(),c.clearMaskOnLostFocus&&n.activeElement!==$&&(-1===v()?r=[]:N(r)),T($,r),n.activeElement===$&&I($,S(v()))}}($);break;case"format":return ae=(e.isFunction(c.onBeforeMask)?c.onBeforeMask.call(Z,o.value,c)||o.value:o.value).split(""),L(i,!0,!1,z?ae.reverse():ae),o.metadata?{value:z?_().slice().reverse().join(""):_().join(""),metadata:l.call(this,{action:"getmetadata"},r,c)}:z?_().slice().reverse().join(""):_().join("");case"isValid":o.value?(ae=o.value.split(""),L(i,!0,!0,z?ae.reverse():ae)):o.value=_().join("");for(var oe=_(),re=F(),se=oe.length-1;se>re&&!O(se);se--);return oe.splice(re,se+1-re),R(oe)&&o.value===_().join("");case"getemptymask":return C().join("");case"remove":if($&&$.inputmask){Q=e($),$.inputmask._valueSet(c.autoUnmask?B($):$.inputmask._valueGet(!0)),ne.off($),$.inputmask.colorMask&&((q=$.inputmask.colorMask).removeChild($),q.parentNode.insertBefore($,q),q.parentNode.removeChild(q));Object.getOwnPropertyDescriptor&&Object.getPrototypeOf?Object.getOwnPropertyDescriptor(Object.getPrototypeOf($),"value")&&$.inputmask.__valueGet&&Object.defineProperty($,"value",{get:$.inputmask.__valueGet,set:$.inputmask.__valueSet,configurable:!0}):n.__lookupGetter__&&$.__lookupGetter__("value")&&$.inputmask.__valueGet&&($.__defineGetter__("value",$.inputmask.__valueGet),$.__defineSetter__("value",$.inputmask.__valueSet)),$.inputmask=i}return $;case"getmetadata":if(e.isArray(r.metadata)){var le=h(!0,0,!1).join("");return e.each(r.metadata,function(e,t){if(t.mask===le)return le=t,!1}),le}return r.metadata}}var c=navigator.userAgent,u=s("touchstart"),f=/iemobile/i.test(c),p=/iphone/i.test(c)&&!f;return a.prototype={dataAttribute:"data-inputmask",defaults:{placeholder:"_",optionalmarker:{start:"[",end:"]"},quantifiermarker:{start:"{",end:"}"},groupmarker:{start:"(",end:")"},alternatormarker:"|",escapeChar:"\\",mask:null,regex:null,oncomplete:e.noop,onincomplete:e.noop,oncleared:e.noop,repeat:0,greedy:!0,autoUnmask:!1,removeMaskOnSubmit:!1,clearMaskOnLostFocus:!0,insertMode:!0,clearIncomplete:!1,alias:null,onKeyDown:e.noop,onBeforeMask:null,onBeforePaste:function(t,n){return e.isFunction(n.onBeforeMask)?n.onBeforeMask.call(this,t,n):t},onBeforeWrite:null,onUnMask:null,showMaskOnFocus:!0,showMaskOnHover:!0,onKeyValidation:e.noop,skipOptionalPartCharacter:" ",numericInput:!1,rightAlign:!1,undoOnEscape:!0,radixPoint:"",radixPointDefinitionSymbol:i,groupSeparator:"",keepStatic:null,positionCaretOnTab:!0,tabThrough:!1,supportsInputType:["text","tel","password","search"],ignorables:[8,9,13,19,27,33,34,35,36,37,38,39,40,45,46,93,112,113,114,115,116,117,118,119,120,121,122,123,0,229],isComplete:null,canClearPosition:e.noop,preValidation:null,postValidation:null,staticDefinitionSymbol:i,jitMasking:!1,nullable:!0,inputEventOnly:!1,noValuePatching:!1,positionCaretOnClick:"lvp",casing:null,inputmode:"verbatim",colorMask:!1,disablePredictiveText:!1,importDataAttributes:!0},definitions:{9:{validator:"[0-91-9]",cardinality:1,definitionSymbol:"*"},a:{validator:"[A-Za-zА-яЁёÀ-ÿµ]",cardinality:1,definitionSymbol:"*"},"*":{validator:"[0-91-9A-Za-zА-яЁёÀ-ÿµ]",cardinality:1}},aliases:{},masksCache:{},mask:function(s){function c(n,a,r,s){function l(e,a){null!==(a=a!==i?a:n.getAttribute(s+"-"+e))&&("string"==typeof a&&(0===e.indexOf("on")?a=t[a]:"false"===a?a=!1:"true"===a&&(a=!0)),r[e]=a)}if(!0===a.importDataAttributes){var c,u,f,p,h=n.getAttribute(s);if(h&&""!==h&&(h=h.replace(new RegExp("'","g"),'"'),u=JSON.parse("{"+h+"}")),u){f=i;for(p in u)if("alias"===p.toLowerCase()){f=u[p];break}}l("alias",f),r.alias&&o(r.alias,r,a);for(c in a){if(u){f=i;for(p in u)if(p.toLowerCase()===c.toLowerCase()){f=u[p];break}}l(c,f)}}return e.extend(!0,a,r),("rtl"===n.dir||a.rightAlign)&&(n.style.textAlign="right"),("rtl"===n.dir||a.numericInput)&&(n.dir="ltr",n.removeAttribute("dir"),a.isRTL=!0),a}var u=this;return"string"==typeof s&&(s=n.getElementById(s)||n.querySelectorAll(s)),s=s.nodeName?[s]:s,e.each(s,function(t,n){var o=e.extend(!0,{},u.opts);c(n,o,e.extend(!0,{},u.userOptions),u.dataAttribute);var s=r(o,u.noMasksCache);s!==i&&(n.inputmask!==i&&(n.inputmask.opts.autoUnmask=!0,n.inputmask.remove()),n.inputmask=new a(i,i,!0),n.inputmask.opts=o,n.inputmask.noMasksCache=u.noMasksCache,n.inputmask.userOptions=e.extend(!0,{},u.userOptions),n.inputmask.isRTL=o.isRTL||o.numericInput,n.inputmask.el=n,n.inputmask.maskset=s,e.data(n,"_inputmask_opts",o),l.call(n.inputmask,{action:"mask"}))}),s&&s[0]?s[0].inputmask||this:this},option:function(t,n){return"string"==typeof t?this.opts[t]:"object"==typeof t?(e.extend(this.userOptions,t),this.el&&!0!==n&&this.mask(this.el),this):void 0},unmaskedvalue:function(e){return this.maskset=this.maskset||r(this.opts,this.noMasksCache),l.call(this,{action:"unmaskedvalue",value:e})},remove:function(){return l.call(this,{action:"remove"})},getemptymask:function(){return this.maskset=this.maskset||r(this.opts,this.noMasksCache),l.call(this,{action:"getemptymask"})},hasMaskedValue:function(){return!this.opts.autoUnmask},isComplete:function(){return this.maskset=this.maskset||r(this.opts,this.noMasksCache),l.call(this,{action:"isComplete"})},getmetadata:function(){return this.maskset=this.maskset||r(this.opts,this.noMasksCache),l.call(this,{action:"getmetadata"})},isValid:function(e){return this.maskset=this.maskset||r(this.opts,this.noMasksCache),l.call(this,{action:"isValid",value:e})},format:function(e,t){return this.maskset=this.maskset||r(this.opts,this.noMasksCache),l.call(this,{action:"format",value:e,metadata:t})},analyseMask:function(t,n,o){function r(e,t,n,i){this.matches=[],this.openGroup=e||!1,this.alternatorGroup=!1,this.isGroup=e||!1,this.isOptional=t||!1,this.isQuantifier=n||!1,this.isAlternator=i||!1,this.quantifier={min:1,max:1}}function s(t,r,s){s=s!==i?s:t.matches.length;var l=t.matches[s-1];if(n)0===r.indexOf("[")||y&&/\\d|\\s|\\w]/i.test(r)||"."===r?t.matches.splice(s++,0,{fn:new RegExp(r,o.casing?"i":""),cardinality:1,optionality:t.isOptional,newBlockMarker:l===i||l.def!==r,casing:null,def:r,placeholder:i,nativeDef:r}):(y&&(r=r[r.length-1]),e.each(r.split(""),function(e,n){l=t.matches[s-1],t.matches.splice(s++,0,{fn:null,cardinality:0,optionality:t.isOptional,newBlockMarker:l===i||l.def!==n&&null!==l.fn,casing:null,def:o.staticDefinitionSymbol||n,placeholder:o.staticDefinitionSymbol!==i?n:i,nativeDef:n})})),y=!1;else{var c=(o.definitions?o.definitions[r]:i)||a.prototype.definitions[r];if(c&&!y){for(var u=c.prevalidator,f=u?u.length:0,p=1;p<c.cardinality;p++){var h=f>=p?u[p-1]:[],m=h.validator,d=h.cardinality;t.matches.splice(s++,0,{fn:m?"string"==typeof m?new RegExp(m,o.casing?"i":""):new function(){this.test=m}:new RegExp("."),cardinality:d||1,optionality:t.isOptional,newBlockMarker:l===i||l.def!==(c.definitionSymbol||r),casing:c.casing,def:c.definitionSymbol||r,placeholder:c.placeholder,nativeDef:r}),l=t.matches[s-1]}t.matches.splice(s++,0,{fn:c.validator?"string"==typeof c.validator?new RegExp(c.validator,o.casing?"i":""):new function(){this.test=c.validator}:new RegExp("."),cardinality:c.cardinality,optionality:t.isOptional,newBlockMarker:l===i||l.def!==(c.definitionSymbol||r),casing:c.casing,def:c.definitionSymbol||r,placeholder:c.placeholder,nativeDef:r})}else t.matches.splice(s++,0,{fn:null,cardinality:0,optionality:t.isOptional,newBlockMarker:l===i||l.def!==r&&null!==l.fn,casing:null,def:o.staticDefinitionSymbol||r,placeholder:o.staticDefinitionSymbol!==i?r:i,nativeDef:r}),y=!1}}function l(t){t&&t.matches&&e.each(t.matches,function(e,a){var r=t.matches[e+1];(r===i||r.matches===i||!1===r.isQuantifier)&&a&&a.isGroup&&(a.isGroup=!1,n||(s(a,o.groupmarker.start,0),!0!==a.openGroup&&s(a,o.groupmarker.end))),l(a)})}function c(){if(E.length>0){if(m=E[E.length-1],s(m,p),m.isAlternator){d=E.pop();for(var e=0;e<d.matches.length;e++)d.matches[e].isGroup=!1;E.length>0?(m=E[E.length-1]).matches.push(d):P.matches.push(d)}}else s(P,p)}function u(e){e.matches=e.matches.reverse();for(var t in e.matches)if(e.matches.hasOwnProperty(t)){var n=parseInt(t);if(e.matches[t].isQuantifier&&e.matches[n+1]&&e.matches[n+1].isGroup){var a=e.matches[t];e.matches.splice(t,1),e.matches.splice(n+1,0,a)}e.matches[t].matches!==i?e.matches[t]=u(e.matches[t]):e.matches[t]=function(e){return e===o.optionalmarker.start?e=o.optionalmarker.end:e===o.optionalmarker.end?e=o.optionalmarker.start:e===o.groupmarker.start?e=o.groupmarker.end:e===o.groupmarker.end&&(e=o.groupmarker.start),e}(e.matches[t])}return e}var f,p,h,m,d,v,k,g=/(?:[?*+]|\{[0-9\+\*]+(?:,[0-9\+\*]*)?\})|[^.?*+^${[]()|\\]+|./g,b=/\[\^?]?(?:[^\\\]]+|\\[\S\s]?)*]?|\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9][0-9]*|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|c[A-Za-z]|[\S\s]?)|\((?:\?[:=!]?)?|(?:[?*+]|\{[0-9]+(?:,[0-9]*)?\})\??|[^.?*+^${[()|\\]+|./g,y=!1,P=new r,E=[],C=[];for(n&&(o.optionalmarker.start=i,o.optionalmarker.end=i);f=n?b.exec(t):g.exec(t);){if(p=f[0],n)switch(p.charAt(0)){case"?":p="{0,1}";break;case"+":case"*":p="{"+p+"}"}if(y)c();else switch(p.charAt(0)){case o.escapeChar:y=!0,n&&c();break;case o.optionalmarker.end:case o.groupmarker.end:if(h=E.pop(),h.openGroup=!1,h!==i)if(E.length>0){if((m=E[E.length-1]).matches.push(h),m.isAlternator){d=E.pop();for(var _=0;_<d.matches.length;_++)d.matches[_].isGroup=!1,d.matches[_].alternatorGroup=!1;E.length>0?(m=E[E.length-1]).matches.push(d):P.matches.push(d)}}else P.matches.push(h);else c();break;case o.optionalmarker.start:E.push(new r(!1,!0));break;case o.groupmarker.start:E.push(new r(!0));break;case o.quantifiermarker.start:var A=new r(!1,!1,!0),x=(p=p.replace(/[{}]/g,"")).split(","),M=isNaN(x[0])?x[0]:parseInt(x[0]),w=1===x.length?M:isNaN(x[1])?x[1]:parseInt(x[1]);if("*"!==w&&"+"!==w||(M="*"===w?0:1),A.quantifier={min:M,max:w},E.length>0){var O=E[E.length-1].matches;(f=O.pop()).isGroup||((k=new r(!0)).matches.push(f),f=k),O.push(f),O.push(A)}else(f=P.matches.pop()).isGroup||(n&&null===f.fn&&"."===f.def&&(f.fn=new RegExp(f.def,o.casing?"i":"")),(k=new r(!0)).matches.push(f),f=k),P.matches.push(f),P.matches.push(A);break;case o.alternatormarker:if(E.length>0){var S=(m=E[E.length-1]).matches[m.matches.length-1];v=m.openGroup&&(S.matches===i||!1===S.isGroup&&!1===S.isAlternator)?E.pop():m.matches.pop()}else v=P.matches.pop();if(v.isAlternator)E.push(v);else if(v.alternatorGroup?(d=E.pop(),v.alternatorGroup=!1):d=new r(!1,!1,!1,!0),d.matches.push(v),E.push(d),v.openGroup){v.openGroup=!1;var D=new r(!0);D.alternatorGroup=!0,E.push(D)}break;default:c()}}for(;E.length>0;)h=E.pop(),P.matches.push(h);return P.matches.length>0&&(l(P),C.push(P)),(o.numericInput||o.isRTL)&&u(C[0]),C}},a.extendDefaults=function(t){e.extend(!0,a.prototype.defaults,t)},a.extendDefinitions=function(t){e.extend(!0,a.prototype.definitions,t)},a.extendAliases=function(t){e.extend(!0,a.prototype.aliases,t)},a.format=function(e,t,n){return a(t).format(e,n)},a.unmask=function(e,t){return a(t).unmaskedvalue(e)},a.isValid=function(e,t){return a(t).isValid(e)},a.remove=function(t){e.each(t,function(e,t){t.inputmask&&t.inputmask.remove()})},a.escapeRegex=function(e){var t=["/",".","*","+","?","|","(",")","[","]","{","}","\\","$","^"];return e.replace(new RegExp("(\\"+t.join("|\\")+")","gim"),"\\$1")},a.keyCode={ALT:18,BACKSPACE:8,BACKSPACE_SAFARI:127,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91,X:88},a});