inputmask.min.js 48 KB

123456789
  1. /*!
  2. * inputmask.min.js
  3. * https://github.com/RobinHerbots/Inputmask
  4. * Copyright (c) 2010 - 2018 Robin Herbots
  5. * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
  6. * Version: 4.0.0-103
  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,o){if(!(this instanceof a))return new a(t,n,o);this.el=i,this.events={},this.maskset=i,this.refreshValue=!1,!0!==o&&(e.isPlainObject(t)?n=t:(n=n||{},t&&(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,r(this.opts.alias,n,this.opts))}function r(t,n,o){var s=a.prototype.aliases[t];return s?(s.alias&&r(s.alias,i,o),e.extend(!0,o,s),e.extend(!0,o,n),!0):(null===o.mask&&(o.mask=t),!1)}function o(t,n){function r(t,r,o){var s=!1;if(null!==t&&""!==t||((s=null!==o.regex)?t=(t=o.regex).replace(/^(\^)(.*)(\$)$/,"$2"):(s=!0,t=".*")),1===t.length&&!1===o.greedy&&0!==o.repeat&&(o.placeholder=""),o.repeat>0||"*"===o.repeat||"+"===o.repeat){var l="*"===o.repeat?0:"+"===o.repeat?1:o.repeat;t=o.groupmarker[0]+t+o.groupmarker[1]+o.quantifiermarker[0]+l+","+o.repeat+o.quantifiermarker[1]}var c,u=s?"regex_"+o.regex:o.numericInput?t.split("").reverse().join(""):t;return a.prototype.masksCache[u]===i||!0===n?(c={mask:t,maskToken:a.prototype.analyseMask(t,s,o),validPositions:{},_buffer:i,buffer:i,tests:{},excludes:{},metadata:r,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){if(null===t.keepStatic){t.keepStatic="auto";for(var o=0;o<t.mask.length;o++)if(t.mask[o].charAt(0)!==t.mask[0].charAt(0)){t.keepStatic=!0;break}}var s=t.groupmarker[0];return e.each(t.isRTL?t.mask.reverse():t.mask,function(n,a){s.length>1&&(s+=t.groupmarker[1]+t.alternatormarker+t.groupmarker[0]),a.mask===i||e.isFunction(a.mask)?s+=a:s+=a.mask}),s+=t.groupmarker[1],r(s,t.mask,t)}t.mask=t.mask.pop()}return t.mask&&t.mask.mask!==i&&!e.isFunction(t.mask.mask)?r(t.mask.mask,t.mask,t):r(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(r,o,c){function h(e,t,n){t=t||0;var a,r,o,s=[],l=0,u=v();do{!0===e&&m().validPositions[l]?(r=(o=m().validPositions[l]).match,a=o.locator.slice(),s.push(!0===n?o.input:!1===n?r.nativeDef:L(l,r))):(r=(o=P(l,a,l-1)).match,a=o.locator.slice(),(!1===c.jitMasking||l<u||"number"==typeof c.jitMasking&&isFinite(c.jitMasking)&&c.jitMasking>l)&&s.push(!1===n?r.nativeDef:L(l,r))),"auto"===c.keepStatic&&r.newBlockMarker&&null!==r.fn&&(c.keepStatic=l-1),l++}while(($===i||l<$)&&(null!==r.fn||""!==r.def)||t>l);return""===s[s.length-1]&&s.pop(),!1===n&&m().maskLength!==i||(m().maskLength=l-1),s}function m(){return o}function d(e){var t=m();t.buffer=i,!0!==e&&(t.validPositions={},t.p=0)}function v(e,t,n){var a=-1,r=-1,o=n||m().validPositions;e===i&&(e=-1);for(var s in o){var l=parseInt(s);o[l]&&(t||!0!==o[l].generatedInput)&&(l<=e&&(a=l),l>=e&&(r=l))}return-1!==a&&e-a>1||r<e?a:r}function k(t,n,a,r){var o,s=t,l=e.extend(!0,{},m().validPositions),u=!1;for(m().p=t,o=n-1;o>=s;o--)m().validPositions[o]!==i&&(!0!==a&&(!m().validPositions[o].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}(o)||!1===c.canClearPosition(m(),o,v(i,!0),r,c))||delete m().validPositions[o]);for(d(!0),o=s+1;o<=v();){for(;m().validPositions[s]!==i;)s++;if(o<s&&(o=s+1),m().validPositions[o]===i&&D(o))o++;else{var f=P(o);!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[o],o++):E(s,f.match.def)?!1!==j(s,f.input||L(o),!0)&&(delete m().validPositions[o],o++,u=!0):D(o)||(o++,s--),s++}}if(!0!==r)for(o=v(-1,!0);m().validPositions[o]&&!0===m().validPositions[o].generatedInput;)delete m().validPositions[o--];d(!0)}function g(e,t,n){for(var a,r=C(e=e>0?e-1:0),o=r.alternation!==i?r.locator[r.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)&&(r.alternation===i||r.alternation!==a.alternation||a.locator[r.alternation]!==i&&M(a.locator[r.alternation].toString().split(","),o)))||!0===n&&(null!==a.match.fn||/[0-9a-bA-Z]/.test(a.match.def)));s++);return a}function b(e){var t=e.locator[e.alternation];return"string"==typeof t&&t.length>0&&(t=t.split(",")[0]),t!==i?t.toString():""}function y(e,t){for(var n=(e.alternation!=i?e.mloc[b(e)]:e.locator).join("");n.length<t;)n+="0";return n}function P(e,t,n){return m().validPositions[e]||g(e,x(e,t?t.slice():t,n))}function C(e){return m().validPositions[e]?m().validPositions[e]:x(e)[0]}function E(e,t){for(var n=!1,i=x(e),a=0;a<i.length;a++)if(i[a].match&&i[a].match.def===t){n=!0;break}return n}function x(t,n,a){function r(n,a,s,u){function d(s,u,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 r,o;if((m().tests[t]||m().validPositions[t])&&e.each(m().tests[t]||[m().validPositions[t]],function(e,t){if(t.mloc[n])return r=t,!1;var s=a!==i?a:t.alternation,l=t.locator[s]!==i?t.locator[s].toString().indexOf(n):-1;(o===i||l<o)&&-1!==l&&(r=t,o=l)}),r){var s=r.locator[r.alternation];return(r.mloc[n]||r.mloc[s]||r.locator).slice((a!==i?a:r.alternation)+1)}return a!==i?g(t,n):i}function b(e,t){function n(e){for(var t,n,i=[],a=0,r=e.length;a<r;a++)if("-"===e.charAt(a))for(n=e.charCodeAt(a+1);++t<n;)i.push(String.fromCharCode(t));else t=e.charCodeAt(a),i.push(e.charAt(a));return i.join("")}return c.regex&&null!==e.match.fn&&null!==t.match.fn?-1!==n(t.match.def.replace(/[\[\]]/g,"")).indexOf(n(e.match.def.replace(/[\[\]]/g,""))):e.match.def===t.match.nativeDef}function y(e,t){if(t===i||e.alternation===t.alternation&&-1===e.locator[e.alternation].toString().indexOf(t.locator[t.alternation])){e.mloc=e.mloc||{};var n=e.locator[e.alternation];if(n!==i){if("string"==typeof n&&(n=n.split(",")[0]),e.mloc[n]===i&&(e.mloc[n]=e.locator.slice()),t!==i){for(var a in t.mloc)"string"==typeof a&&(a=a.split(",")[0]),e.mloc[a]===i&&(e.mloc[a]=t.mloc[a]);e.locator[e.alternation]=Object.keys(e.mloc).join(",")}return!0}e.alternation=i}return!1}if(l>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(l===t&&s.matches===i)return f.push({match:s,locator:u.reverse(),cd:h,mloc:{}}),!0;if(s.matches!==i){if(s.isGroup&&v!==s){if(s=d(n.matches[e.inArray(s,n.matches)+1],u))return!0}else if(s.isOptional){var P=s;if(s=r(s,a,u,v)){if(o=f[f.length-1].match,!k(o,P))return!0;p=!0,l=t}}else if(s.isAlternator){var C,E=s,x=[],_=f.slice(),A=u.length,w=a.length>0?a.shift():-1;if(-1===w||"string"==typeof w){var O,M=l,S=a.slice(),j=[];if("string"==typeof w)j=w.split(",");else for(O=0;O<E.matches.length;O++)j.push(O.toString());if(m().excludes[t]){for(var D=j.slice(),G=0,T=m().excludes[t].length;G<T;G++)j.splice(j.indexOf(m().excludes[t][G].toString()),1);0===j.length&&(m().excludes[t]=i,j=D)}(!0===c.keepStatic||isFinite(parseInt(c.keepStatic))&&M>=c.keepStatic)&&(j=j.slice(0,1));for(var B=0;B<j.length;B++){O=parseInt(j[B]),f=[],a=g(l,O,A)||S.slice(),E.matches[O]&&d(E.matches[O],[O].concat(u),v)&&(s=!0),C=f.slice(),l=M,f=[];for(var L=0;L<C.length;L++){var F=C[L],I=!1;F.alternation=F.alternation||A,y(F);for(var N=0;N<x.length;N++){var R=x[N];if("string"!=typeof w||F.alternation!==i&&-1!==e.inArray(F.locator[F.alternation].toString(),j)){if(F.match.nativeDef===R.match.nativeDef){I=!0,y(R,F);break}if(b(F,R)){y(F,R)&&(I=!0,x.splice(x.indexOf(R),0,F));break}if(b(R,F)){y(R,F);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)}(F,R)){y(F,R)&&(I=!0,x.splice(x.indexOf(R),0,F));break}}}I||x.push(F)}}f=_.concat(x),l=t,p=f.length>0,s=x.length>0,a=S.slice()}else s=d(E.matches[w]||n.matches[w],[w].concat(u),v);if(s)return!0}else if(s.isQuantifier&&v!==n.matches[e.inArray(s,n.matches)-1])for(var K=s,V=a.length>0?a.shift():0;V<(isNaN(K.quantifier.max)?V+1:K.quantifier.max)&&l<=t;V++){var H=n.matches[e.inArray(K,n.matches)-1];if(s=d(H,[V].concat(u),H)){if(o=f[f.length-1].match,o.optionalQuantifier=V>K.quantifier.min-1,k(o,H)){if(V>K.quantifier.min-1){p=!0,l=t;break}return!0}return!0}}else if(s=r(s,a,u,v))return!0}else l++}for(var v=a.length>0?a.shift():0;v<n.matches.length;v++)if(!0!==n.matches[v].isQuantifier){var k=d(n.matches[v],[v].concat(s),u);if(k&&l===t)return k;if(l>t)break}}var o,s=m().maskToken,l=n?a:0,u=n?n.slice():[0],f=[],p=!1,h=n?n.join(""):"";if(t>-1){if(n===i){for(var d,v=t-1;(d=m().validPositions[v]||m().tests[v])===i&&v>-1;)v--;d!==i&&v>-1&&(u=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}(v,d),h=u.join(""),l=v)}if(m().tests[t]&&m().tests[t][0].cd===h)return m().tests[t];for(var k=u.shift();k<s.length&&!(r(s[k],u,[k])&&l===t||l>t);k++);}return(0===f.length||p)&&f.push({match:{fn:null,optionality:!0,casing:null,def:"",placeholder:""},locator:[],mloc:{},cd:h}),n!==i&&m().tests[t]?e.extend(!0,[],f):(m().tests[t]=e.extend(!0,[],f),m().tests[t])}function _(){return m()._buffer===i&&(m()._buffer=h(!1,1),m().buffer===i&&(m().buffer=m()._buffer.slice())),m()._buffer}function A(e){return m().buffer!==i&&!0!==e||(m().buffer=h(!0,v(),!0)),m().buffer}function w(e,t,n){var a,r;if(!0===e)d(),e=0,t=n.length;else for(a=e;a<t;a++)delete m().validPositions[a];for(r=e,a=e;a<t;a++)if(d(!0),n[a]!==c.skipOptionalPartCharacter){var o=j(r,n[a],!0,!0);!1!==o&&(d(!0),r=o.caret!==i?o.caret:o.pos+1)}}function O(t,n,i){switch(c.casing||n.casing){case"upper":t=t.toUpperCase();break;case"lower":t=t.toLowerCase();break;case"title":var r=m().validPositions[i-1];t=0===i||r&&r.input===String.fromCharCode(a.keyCode.SPACE)?t.toUpperCase():t.toLowerCase();break;default:if(e.isFunction(c.casing)){var o=Array.prototype.slice.call(arguments);o.push(m().validPositions),t=c.casing.apply(this,o)}}return t}function M(t,n,a){for(var r,o=c.greedy?n:n.slice(0,1),s=!1,l=a!==i?a.split(","):[],u=0;u<l.length;u++)-1!==(r=t.indexOf(l[u]))&&t.splice(r,1);for(var f=0;f<t.length;f++)if(-1!==e.inArray(t[f],o)){s=!0;break}return s}function S(t,n,a,r,o){var s,l,u,f,p,h,k,g=e.extend(!0,{},m().validPositions),y=!1,P=o!==i?o:v();if(-1===P&&o===i)l=(f=C(s=0)).alternation;else for(;P>=0;P--)if((u=m().validPositions[P])&&u.alternation!==i){if(f&&f.locator[u.alternation]!==u.locator[u.alternation])break;s=P,l=m().validPositions[s].alternation,f=u}if(l!==i){k=parseInt(s),m().excludes[k]=m().excludes[k]||[],!0!==t&&m().excludes[k].push(b(f));var E=[],x=0;for(p=k;p<v(i,!0)+1;p++)(h=m().validPositions[p])&&!0!==h.generatedInput&&/[0-9a-bA-Z]/.test(h.input)?E.push(h.input):p<t&&x++,delete m().validPositions[p];for(;m().excludes[k]&&m().excludes[k].length<10;){var _=-1*x,A=E.slice();for(m().tests[k]=i,d(!0),y=!0;A.length>0;){var w=A.shift();if(w!==c.skipOptionalPartCharacter&&!(y=j(v(i,!0)+1,w,!1,r,!0)))break}if(y&&n!==i){var O=v(t)+1;for(p=k;p<v()+1;p++)((h=m().validPositions[p])===i||null==h.match.fn)&&p<t+_&&_++;y=j((t+=_)>O?O:t,n,a,r,!0)}if(y)break;if(d(),f=C(k),m().validPositions=e.extend(!0,{},g),!m().excludes[k]){y=S(t,n,a,r,k-1);break}var M=b(f);if(-1!==m().excludes[k].indexOf(M)){y=S(t,n,a,r,k-1);break}for(m().excludes[k].push(M),p=k;p<v(i,!0)+1;p++)delete m().validPositions[p]}}return m().excludes[k]=i,y}function j(t,n,r,o,s,l){function u(e){return J?e.begin-e.end>1||e.begin-e.end==1:e.end-e.begin>1||e.end-e.begin==1}function f(n,a,r){var s=!1;return e.each(x(n),function(l,f){var p=f.match;if(A(!0),!1!==(s=null!=p.fn?p.fn.test(a,m(),n,r,c,u(t)):(a===p.def||a===c.skipOptionalPartCharacter)&&""!==p.def&&{c:L(n,p,!0)||p.def,pos:n})){var g=s.c!==i?s.c:a;g=g===c.skipOptionalPartCharacter&&null===p.fn?L(n,p,!0)||p.def:g;var b=n,y=A();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){j(t.pos,t.c,!0,o)})),s.refreshFromBuffer){var P=s.refreshFromBuffer;if(w(!0===P?P:P.start,P.end,y),s.pos===i&&s.c===i)return s.pos=v(),!1;if((b=s.pos!==i?s.pos:n)!==n)return s=e.extend(s,j(b,g,!0,o)),!1}else if(!0!==s&&s.pos!==i&&s.pos!==n&&(b=s.pos,w(n,b,A().slice()),b!==n))return s=e.extend(s,j(b,g,!0)),!1;return(!0===s||s.pos!==i||s.c!==i)&&(l>0&&d(!0),h(b,e.extend({},f,{input:O(g,p,b)}),o,u(t))||(s=!1),!1)}}),s}function p(t,n,a){var r;if(t===i)for(t=n-1;t>0&&!m().validPositions[t];t--);for(var o=t;o<n;o++)if(m().validPositions[o]===i&&!D(o,!0)){var s=0==o?C(o):m().validPositions[o-1];if(s){var l,c=y(s),u=x(o).slice(),f=i,p=C(o);if(""===u[u.length-1].match.def&&u.pop(),e.each(u,function(e,t){l=y(t,c.length);var n=Math.abs(l-c);(f===i||n<f)&&null===t.match.fn&&!0!==t.match.optionality&&!0!==t.match.optionalQuantifier&&(f=n,p=t)}),p=e.extend({},p,{input:L(o,p.match,!0)||p.match.def}),p.generatedInput=!0,h(o,p,!0),!0!==a){var d=m().validPositions[n].input;m().validPositions[n]=i,r=j(n,d,!0,!0)}}}return r}function h(t,n,a,r){if(r||c.insertMode&&m().validPositions[t]!==i&&a===i){var o,s=e.extend(!0,{},m().validPositions),l=v(i,!0);for(o=t;o<=l;o++)delete m().validPositions[o];m().validPositions[t]=e.extend(!0,{},n);var u,f=!0,h=m().validPositions,k=!1;for(o=u=t;o<=l;o++){var g=s[o];if(g!==i)for(var b=u;""!==C(b).match.def&&(null===g.match.fn&&h[o]&&(!0===h[o].match.optionalQuantifier||!0===h[o].match.optionality)||null!=g.match.fn);){if(b++,!1===k&&s[b]&&s[b].match.def===g.match.def)m().validPositions[b]=e.extend(!0,{},s[b]),m().validPositions[b].input=g.input,p(i,b,!0),u=b,f=!0;else if(E(b,g.match.def)){var y=j(b,g.input,!0,!0);f=!1!==y,u=y.caret||y.insert?v():b,k=!0}else if(!(f=!0===g.generatedInput)&&""===C(b).match.def)break;if(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}r=!0===r;var g=t;t.begin!==i&&(g=J&&!u(t)?t.end:t.begin);var b=!0,P=e.extend(!0,{},m().validPositions);if(e.isFunction(c.preValidation)&&!r&&!0!==o&&!0!==l&&(b=c.preValidation(A(),g,n,u(t),c)),!0===b){if(p(i,g,!0),u(t)&&(H(i,a.keyCode.DELETE,t,!0,!0),g=m().p),($===i||g<$)&&(b=f(g,n,r),(!r||!0===o)&&!1===b&&!0!==l)){var _=m().validPositions[g];if(!_||null!==_.match.fn||_.match.def!==n&&n!==c.skipOptionalPartCharacter){if((c.insertMode||m().validPositions[G(g)]===i)&&!D(g,!0))for(var M=g+1,T=G(g);M<=T;M++)if(!1!==(b=f(M,n,r))){b=p(g,b.pos!==i?b.pos:M)||b,g=M;break}}else b={caret:G(g)}}!1!==b||null===c.keepStatic||!1===c.keepStatic||r||!0===s||(b=S(g,n,r,o)),!0===b&&(b={pos:g})}if(e.isFunction(c.postValidation)&&!1!==b&&!r&&!0!==o&&!0!==l){var B=c.postValidation(A(!0),b,c);if(B!==i){if(B.refreshFromBuffer&&B.buffer){var F=B.refreshFromBuffer;w(!0===F?F:F.start,F.end,B.buffer)}b=!0===B?b:B}}return b&&b.pos===i&&(b.pos=g),!1!==b&&!0!==l||(d(!0),m().validPositions=e.extend(!0,{},P)),b}function D(e,t){var n=P(e).match;if(""===n.def&&(n=C(e).match),null!=n.fn)return n.fn;if(!0!==t&&e>-1){var i=x(e);return i.length>1+(""===i[i.length-1].match.def?1:0)}return!1}function G(e,t){for(var n=e+1;""!==C(n).match.def&&(!0===t&&(!0!==C(n).match.newBlockMarker||!D(n))||!0!==t&&!D(n));)n++;return n}function T(e,t){var n,i=e;if(i<=0)return 0;for(;--i>0&&(!0===t&&!0!==C(i).match.newBlockMarker||!0!==t&&!D(i)&&((n=x(i)).length<2||2===n.length&&""===n[1].match.def)););return i}function B(t,n,a,r,o){if(r&&e.isFunction(c.onBeforeWrite)){var s=c.onBeforeWrite.call(z,r,n,a,c);if(s){if(s.refreshFromBuffer){var l=s.refreshFromBuffer;w(!0===l?l:l.start,l.end,s.buffer||n),n=A(!0)}a!==i&&(a=s.caret!==i?s.caret:a)}}t!==i&&(t.inputmask._valueSet(n.join("")),a===i||r!==i&&"blur"===r.type?Q(t,a,0===n.length):N(t,a),!0===o&&(ee=!0,e(t).trigger("input")))}function L(t,n,a){if((n=n||C(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 r,o=x(t),s=[];if(o.length>1+(""===o[o.length-1].match.def?1:0))for(var l=0;l<o.length;l++)if(!0!==o[l].match.optionality&&!0!==o[l].match.optionalQuantifier&&(null===o[l].match.fn||r===i||!1!==o[l].match.fn.test(r.match.def,m(),t,!0,c))&&(s.push(o[l]),null===o[l].match.fn&&(r=o[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 F(t,n,r,o,s){function l(e,t){return-1!==h(!0,0,!1).slice(e,G(e)).join("").indexOf(t)&&!D(e)&&(C(e).match.nativeDef===t.charAt(0)||" "===C(e).match.nativeDef&&C(e+1).match.nativeDef===t.charAt(0))}var u=o.slice(),f="",p=-1,k=i;if(d(),r||!0===c.autoUnmask)p=G(p);else{var g=_().slice(0,G(-1)).join(""),b=u.join("").match(new RegExp("^"+a.escapeRegex(g),"g"));b&&b.length>0&&(u.splice(0,b.length*g.length),p=G(p))}-1===p?(m().p=G(p),p=0):m().p=p,e.each(u,function(n,a){if(a!==i)if(m().validPositions[n]===i&&u[n]===L(n)&&D(n,!0)&&!1===j(n,u[n],!0,i,i,!0))m().p++;else{var o=new e.Event("_checkval");o.which=a.charCodeAt(0),f+=a;var s=v(i,!0),h=C(s),d=P(s+1,h?h.locator.slice():i,s);if(!l(p,f)||r||c.autoUnmask){var g=r?n:null==d.match.fn&&d.match.optionality&&s+1<m().p?s+1:m().p;(k=re.keypressEvent.call(t,o,!0,!1,r,g))&&(p=g+1,f="")}else k=re.keypressEvent.call(t,o,!0,!1,!0,s+1);B(i,A(),k.forwardPosition,o,!1)}}),n&&B(t,A(),k?k.forwardPosition:i,s||new e.Event("checkval"),s&&"input"===s.type)}function I(t){if(t){if(t.inputmask===i)return t.value;t.inputmask&&t.inputmask.refreshValue&&re.setValueEvent.call(t)}var n=[],a=m().validPositions;for(var r in a)a[r].match&&null!=a[r].match.fn&&n.push(a[r].input);var o=0===n.length?"":(J?n.reverse():n).join("");if(e.isFunction(c.onUnMask)){var s=(J?A().slice().reverse():A()).join("");o=c.onUnMask.call(z,s,o,c)}return o}function N(a,r,o,s){function l(e){return!0===s||!J||"number"!=typeof e||c.greedy&&""===c.placeholder||(e=a.inputmask.__valueGet.call(a).length-e),e}var u;if(r===i)return a.setSelectionRange?(r=a.selectionStart,o=a.selectionEnd):t.getSelection?(u=t.getSelection().getRangeAt(0)).commonAncestorContainer.parentNode!==a&&u.commonAncestorContainer!==a||(r=u.startOffset,o=u.endOffset):n.selection&&n.selection.createRange&&(o=(r=0-(u=n.selection.createRange()).duplicate().moveStart("character",-a.inputmask._valueGet().length))+u.text.length),{begin:l(r),end:l(o)};if(e.isArray(r)&&(o=J?r[0]:r[1],r=J?r[1]:r[0]),r.begin!==i&&(o=J?r.begin:r.end,r=J?r.end:r.begin),"number"==typeof r){r=l(r),o="number"==typeof(o=l(o))?o:r;var f=parseInt(((a.ownerDocument.defaultView||t).getComputedStyle?(a.ownerDocument.defaultView||t).getComputedStyle(a,null):a.currentStyle).fontSize)*o;if(a.scrollLeft=f>a.scrollWidth?f:0,!1===c.insertMode&&r===o&&o++,a.inputmask.caretPos={begin:r,end:o},a.setSelectionRange)a.selectionStart=r,a.selectionEnd=o;else if(t.getSelection){if(u=n.createRange(),a.firstChild===i||null===a.firstChild){var p=n.createTextNode("");a.appendChild(p)}u.setStart(a.firstChild,r<a.inputmask._valueGet().length?r:a.inputmask._valueGet().length),u.setEnd(a.firstChild,o<a.inputmask._valueGet().length?o:a.inputmask._valueGet().length),u.collapse(!0);var h=t.getSelection();h.removeAllRanges(),h.addRange(u)}else a.createTextRange&&((u=a.createTextRange()).collapse(!0),u.moveEnd("character",o),u.moveStart("character",r),u.select());Q(a,{begin:r,end:o})}}function R(t){var n,a,r=A(),o=r.length,s=v(),l={},c=m().validPositions[s],u=c!==i?c.locator.slice():i;for(n=s+1;n<r.length;n++)u=(a=P(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=o-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(","))&&""!==x(n)[0].def))&&r[n]===L(n,a.match));n--)o--;return t?{l:o,def:l[o]?l[o].match:i}:o}function K(e){for(var t,n=R(),a=e.length,r=m().validPositions[v()];n<a&&!D(n,!0)&&(t=r!==i?P(n,r.locator.slice(""),r):C(n))&&!0!==t.match.optionality&&(!0!==t.match.optionalQuantifier&&!0!==t.match.newBlockMarker||n+1===a&&""===(r!==i?P(n+1,r.locator.slice(""),r):C(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 V(t){if(e.isFunction(c.isComplete))return c.isComplete(t,c);if("*"===c.repeat)return i;var n=!1,a=R(!0),r=T(a.l);if(a.def===i||a.def.newBlockMarker||a.def.optionality||a.def.optionalQuantifier){n=!0;for(var o=0;o<=r;o++){var s=P(o).match;if(null!==s.fn&&m().validPositions[o]===i&&!0!==s.optionality&&!0!==s.optionalQuantifier||null===s.fn&&t[o]!==L(o,s)){n=!1;break}}}return n}function H(e,t,n,r,o){if((c.numericInput||J)&&(t===a.keyCode.BACKSPACE?t=a.keyCode.DELETE:t===a.keyCode.DELETE&&(t=a.keyCode.BACKSPACE),J)){var s=n.end;n.end=n.begin,n.begin=s}if(t===a.keyCode.BACKSPACE&&(n.end-n.begin<1||!1===c.insertMode)?(n.begin=T(n.begin),m().validPositions[n.begin]!==i&&m().validPositions[n.begin].input===c.groupSeparator&&n.begin--):t===a.keyCode.DELETE&&n.begin===n.end&&(n.end=D(n.end,!0)&&m().validPositions[n.end]&&m().validPositions[n.end].input!==c.radixPoint?n.end+1:G(n.end)+1,m().validPositions[n.begin]!==i&&m().validPositions[n.begin].input===c.groupSeparator&&n.end++),k(n.begin,n.end,!1,r),!0!==r&&null!==c.keepStatic&&!1!==c.keepStatic){var l=S(!0);l&&(n.begin=l.caret!==i?l.caret:l.pos?G(l.pos.begin?l.pos.begin:l.pos):v(-1,!0))}var u=v(n.begin,!0);if(u<n.begin||-1===n.begin)m().p=G(u);else if(!0!==r&&(m().p=n.begin,!0!==o))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 o in r)isNaN(o)&&-1!==o.indexOf("font")&&(a.style[o]=r[o]);a.style.textTransform=r.textTransform,a.style.letterSpacing=r.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 r=(i.ownerDocument.defaultView||t).getComputedStyle(i,null),o=n.createElement("div");o.style.width=r.width,o.style.textAlign=r.textAlign,Z=n.createElement("div"),i.inputmask.colorMask=Z,Z.className="im-colormask",i.parentNode.insertBefore(Z,i),i.parentNode.removeChild(i),Z.appendChild(o),Z.appendChild(i),i.style.left=o.offsetLeft+"px",e(i).on("click",function(e){return N(i,a(e.clientX)),re.clickEvent.call(i,[e])}),e(i).on("keydown",function(e){e.shiftKey||!1===c.insertMode||setTimeout(function(){Q(i)},0)})}function Q(e,t,a){function r(e){if(e===i&&(e=""),f||null!==o.fn&&s.input!==i)if(f&&(null!==o.fn&&s.input!==i||""===o.def)){f=!1;var t=u.length;u[t-1]=u[t-1]+"</span>",u.push(e)}else u.push(e);else f=!0,u.push("<span class='im-static'>"+e)}var o,s,l,u=[],f=!1,p=0;if(Z!==i){var h=A();if(t===i?t=N(e):t.begin===i&&(t={begin:t,end:t}),!0!==a){var d=v();do{m().validPositions[p]?(s=m().validPositions[p],o=s.match,l=s.locator.slice(),r(h[p])):(s=P(p,l,p-1),o=s.match,l=s.locator.slice(),(!1===c.jitMasking||p<d||"number"==typeof c.jitMasking&&isFinite(c.jitMasking)&&c.jitMasking>p)&&r(L(p,o))),p++}while(($===i||p<$)&&(null!==o.fn||""!==o.def)||d>p||f);f&&r(),n.activeElement===e&&(u.splice(t.begin,0,t.begin===t.end?'<mark class="im-caret" style="border-right-width: 1px;border-right-style: solid;">':'<mark class="im-caret-select">'),u.splice(t.end+1,0,"</mark>"))}var k=Z.getElementsByTagName("div")[0];k.innerHTML=u.join(""),e.inputmask.positionColorMask(e,k)}}o=o||this.maskset,c=c||this.opts;var q,W,$,Z,z=this,X=this.el,J=this.isRTL,Y=!1,ee=!1,te=!1,ne=!1,ie=!1,ae={on:function(t,n,r){var o=function(t){var n=this;if(n.inputmask===i&&"FORM"!==this.nodeName){var o=e.data(n,"_inputmask_opts");o?new a(o).mask(n):ae.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===ee)return ee=!1,t.preventDefault();u&&(ie=!0);break;case"keydown":Y=!1,ee=!1;break;case"keypress":if(!0===Y)return t.preventDefault();Y=!0;break;case"click":if(f||p){var s=arguments;return setTimeout(function(){r.apply(n,s)},0),!1}}var l=r.apply(n,arguments);return ie&&(ie=!1,setTimeout(function(){N(n,n.inputmask.caretPos,i,!0)})),!1===l&&(t.preventDefault(),t.stopPropagation()),l}t.preventDefault()}};t.inputmask.events[n]=t.inputmask.events[n]||[],t.inputmask.events[n].push(o),-1!==e.inArray(n,["submit","reset"])?null!==t.form&&e(t.form).on(n,o):e(t).on(n,o)},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]})}}},re={keydownEvent:function(t){var n=this,i=e(n),r=t.keyCode,o=N(n);if(r===a.keyCode.BACKSPACE||r===a.keyCode.DELETE||p&&r===a.keyCode.BACKSPACE_SAFARI||t.ctrlKey&&r===a.keyCode.X&&!s("cut"))t.preventDefault(),H(0,r,o),B(n,A(!0),m().p,t,n.inputmask._valueGet()!==A().join("")),n.inputmask._valueGet()===_().join("")?i.trigger("cleared"):!0===V(A())&&i.trigger("complete");else if(r===a.keyCode.END||r===a.keyCode.PAGE_DOWN){t.preventDefault();var l=G(v());c.insertMode||l!==m().maskLength||t.shiftKey||l--,N(n,t.shiftKey?o.begin:l,l,!0)}else r===a.keyCode.HOME&&!t.shiftKey||r===a.keyCode.PAGE_UP?(t.preventDefault(),N(n,0,t.shiftKey?o.begin:0,!0)):(c.undoOnEscape&&r===a.keyCode.ESCAPE||90===r&&t.ctrlKey)&&!0!==t.altKey?(F(n,!0,!1,q.split("")),i.trigger("click")):r!==a.keyCode.INSERT||t.shiftKey||t.ctrlKey?!0===c.tabThrough&&r===a.keyCode.TAB?(!0===t.shiftKey?(null===C(o.begin).match.fn&&(o.begin=G(o.begin)),o.end=T(o.begin,!0),o.begin=T(o.end,!0)):(o.begin=G(o.begin,!0),o.end=G(o.begin,!0),o.end<m().maskLength&&o.end--),o.begin<m().maskLength&&(t.preventDefault(),N(n,o.begin,o.end))):t.shiftKey||!1===c.insertMode&&(r===a.keyCode.RIGHT?setTimeout(function(){var e=N(n);N(n,e.begin)},0):r===a.keyCode.LEFT&&setTimeout(function(){var e=N(n);N(n,J?e.begin+1:e.begin-1)},0)):(c.insertMode=!c.insertMode,N(n,c.insertMode||o.begin!==m().maskLength?o.begin:o.begin-1));c.onKeyDown.call(this,t,A(),N(n).begin,c),te=-1!==e.inArray(r,c.ignorables)},keypressEvent:function(t,n,r,o,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||te))return f===a.keyCode.ENTER&&q!==A().join("")&&(q=A().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}:N(l),v=String.fromCharCode(f);m().writeOutBuffer=!0;var k=j(h,v,o);if(!1!==k&&(d(!0),p=k.caret!==i?k.caret:G(k.pos.begin?k.pos.begin:k.pos),m().p=p),p=c.numericInput&&k.caret===i?T(p):p,!1!==r&&(setTimeout(function(){c.onKeyValidation.call(l,f,k,c)},0),m().writeOutBuffer&&!1!==k)){var g=A();B(l,g,p,t,!0!==n),!0!==n&&setTimeout(function(){!0===V(g)&&u.trigger("complete")},0)}if(t.preventDefault(),n)return!1!==k&&(k.forwardPosition=p),k}},pasteEvent:function(n){var i,a=this,r=n.originalEvent||n,o=e(a),s=a.inputmask._valueGet(!0),l=N(a);J&&(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===(J?_().reverse():_()).slice(0,l.begin).join("")&&(u=""),f===(J?_().reverse():_()).slice(l.end).join("")&&(f=""),J&&(i=u,u=f,f=i),t.clipboardData&&t.clipboardData.getData)s=u+t.clipboardData.getData("Text")+f;else{if(!r.clipboardData||!r.clipboardData.getData)return!0;s=u+r.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 F(a,!1,!1,J?p.split("").reverse():p.toString().split("")),B(a,A(),G(v()),n,q!==A().join("")),!0===V(A())&&o.trigger("complete"),n.preventDefault()},inputFallBackEvent:function(t){var n=this,i=n.inputmask._valueGet();if(A().join("")!==i){var r=N(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,r),i=function(e,t,n){if(f){var i=t.replace(A().join(""),"");if(1===i.length){var a=t.split("");a.splice(n.begin,0,i),t=a.join("")}}return t}(0,i,r),A().join("")!==i){var o=A().join(""),s=i.length>o.length?-1:0,l=i.substr(0,r.begin),u=i.substr(r.begin),p=o.substr(0,r.begin+s),h=o.substr(r.begin+s),m=r,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))),B(n,A(),{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),te=!1,re.keypressEvent.call(n,a)});else{m.begin===m.end-1&&(m.begin=T(m.begin+1),m.begin===m.end-1?N(n,m.begin):N(n,m.begin,m.end));var b=new e.Event("keydown");b.keyCode=a.keyCode.DELETE,re.keydownEvent.call(n,b),!1===c.insertMode&&N(n,N(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(""),F(n,!0,!1,J?i.reverse():i),q=A().join(""),(c.clearMaskOnLostFocus||c.clearIncomplete)&&n.inputmask._valueGet()===_().join("")&&n.inputmask._valueSet("")},focusEvent:function(e){var t=this,n=t.inputmask._valueGet();c.showMaskOnFocus&&(!c.showMaskOnHover||c.showMaskOnHover&&""===n)&&(t.inputmask._valueGet()!==A().join("")?B(t,A(),G(v())):!1===ne&&N(t,G(v()))),!0===c.positionCaretOnTab&&!1===ne&&re.clickEvent.apply(t,[e,!0]),q=A().join("")},mouseleaveEvent:function(e){var t=this;if(ne=!1,c.clearMaskOnLostFocus&&n.activeElement!==t){var i=A().slice(),a=t.inputmask._valueGet();a!==t.getAttribute("placeholder")&&""!==a&&(-1===v()&&a===_().join("")?i=[]:K(i),B(t,i))}},clickEvent:function(t,a){function r(t){if(""!==c.radixPoint){var n=m().validPositions;if(n[t]===i||n[t].input===L(t)){if(t<G(-1))return!0;var a=e.inArray(c.radixPoint,A());if(-1!==a){for(var r in n)if(a<r&&n[r].input!==L(r))return!1;return!0}}}return!1}var o=this;setTimeout(function(){if(n.activeElement===o){var e=N(o);if(a&&(J?e.end=e.begin:e.begin=e.end),e.begin===e.end)switch(c.positionCaretOnClick){case"none":break;case"select":N(o,0,A().length);break;case"radixFocus":if(r(e.begin)){var t=A().join("").indexOf(c.radixPoint);N(o,c.numericInput?G(t):t);break}default:var s=e.begin,l=v(s,!0),u=G(l);if(s<u)N(o,D(s,!0)||D(s-1,!0)?s:G(s));else{var f=m().validPositions[l],p=P(u,f?f.match.locator:i,f),h=L(u,p.match);if(""!==h&&A()[u]!==h&&!0!==p.match.optionalQuantifier&&!0!==p.match.newBlockMarker||!D(u,!0)&&p.match.def===h){var d=G(u);(s>=d||s===u)&&(u=d)}N(o,u)}}}},0)},dblclickEvent:function(e){var t=this;setTimeout(function(){N(t,0,G(v()))},0)},cutEvent:function(i){var r=this,o=e(r),s=N(r),l=i.originalEvent||i,c=t.clipboardData||l.clipboardData,u=J?A().slice(s.end,s.begin):A().slice(s.begin,s.end);c.setData("text",J?u.reverse().join(""):u.join("")),n.execCommand&&n.execCommand("copy"),H(0,a.keyCode.DELETE,s),B(r,A(),m().p,i,q!==A().join("")),r.inputmask._valueGet()===_().join("")&&o.trigger("cleared")},blurEvent:function(t){var n=e(this),a=this;if(a.inputmask){var r=a.inputmask._valueGet(),o=A().slice();""===r&&Z===i||(c.clearMaskOnLostFocus&&(-1===v()&&r===_().join("")?o=[]:K(o)),!1===V(o)&&(setTimeout(function(){n.trigger("incomplete")},0),c.clearIncomplete&&(d(),o=c.clearMaskOnLostFocus?[]:_().slice())),B(a,o,i,t)),q!==A().join("")&&(q=o.join(""),n.trigger("change"))}},mouseenterEvent:function(e){var t=this;ne=!0,n.activeElement!==t&&c.showMaskOnHover&&t.inputmask._valueGet()!==A().join("")&&B(t,A())},submitEvent:function(e){q!==A().join("")&&W.trigger("change"),c.clearMaskOnLostFocus&&-1===v()&&X.inputmask._valueGet&&X.inputmask._valueGet()===_().join("")&&X.inputmask._valueSet(""),c.removeMaskOnSubmit&&(X.inputmask._valueSet(X.inputmask.unmaskedvalue(),!0),setTimeout(function(){B(X,A())},0))},resetEvent:function(e){X.inputmask.refreshValue=!0,setTimeout(function(){W.trigger("setvalue")},0)}};a.prototype.positionColorMask=function(e,t){e.style.left=t.offsetLeft+"px"};var oe;if(r!==i)switch(r.action){case"isComplete":return X=r.el,V(A());case"unmaskedvalue":return X!==i&&r.value===i||(oe=r.value,oe=(e.isFunction(c.onBeforeMask)?c.onBeforeMask.call(z,oe,c)||oe:oe).split(""),F(i,!1,!1,J?oe.reverse():oe),e.isFunction(c.onBeforeWrite)&&c.onBeforeWrite.call(z,i,A(),0,c)),I(X);case"mask":!function(t){ae.off(t);var a=function(t,a){var r=t.getAttribute("type"),o="INPUT"===t.tagName&&-1!==e.inArray(r,a.supportsInputType)||t.isContentEditable||"TEXTAREA"===t.tagName;if(!o)if("INPUT"===t.tagName){var s=n.createElement("input");s.setAttribute("type",r),o="text"===s.type,s=null}else o="partial";return!1!==o?function(t){function r(){return this.inputmask?this.inputmask.opts.autoUnmask?this.inputmask.unmaskedvalue():-1!==v()||!0!==a.nullable?n.activeElement===this&&a.clearMaskOnLostFocus?(J?K(A().slice()).reverse():K(A().slice())).join(""):s.call(this):"":s.call(this)}function o(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:r,set:o,configurable:!0})):"INPUT"!==t.tagName&&(s=function(){return this.textContent},l=function(e){this.textContent=e},Object.defineProperty(t,"value",{get:r,set:o,configurable:!0}))}else n.__lookupGetter__&&t.__lookupGetter__("value")&&(s=t.__lookupGetter__("value"),l=t.__lookupSetter__("value"),t.__defineGetter__("value",r),t.__defineSetter__("value",o));t.inputmask.__valueGet=s,t.inputmask.__valueSet=l}t.inputmask._valueGet=function(e){return J&&!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&&J?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},r=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=r(t,n),t.inputmask&&a.trigger("setvalue"),i},inputmaskpatch:!0}}}(t.type),function(t){ae.on(t,"mouseenter",function(t){var n=e(this);this.inputmask._valueGet()!==A().join("")&&n.trigger("setvalue")})}(t))}}(t):t.inputmask=i,o}(t,c);if(!1!==a&&(X=t,W=e(X),-1===($=X!==i?X.maxLength:i)&&($=i),!0===c.colorMask&&U(X),u&&("inputmode"in X&&(X.inputmode=c.inputmode,X.setAttribute("inputmode",c.inputmode)),!0===c.disablePredictiveText&&("autocorrect"in X?X.autocorrect=!1:(!0!==c.colorMask&&U(X),X.type="password"))),!0===a&&(ae.on(X,"submit",re.submitEvent),ae.on(X,"reset",re.resetEvent),ae.on(X,"mouseenter",re.mouseenterEvent),ae.on(X,"blur",re.blurEvent),ae.on(X,"focus",re.focusEvent),ae.on(X,"mouseleave",re.mouseleaveEvent),!0!==c.colorMask&&ae.on(X,"click",re.clickEvent),ae.on(X,"dblclick",re.dblclickEvent),ae.on(X,"paste",re.pasteEvent),ae.on(X,"dragdrop",re.pasteEvent),ae.on(X,"drop",re.pasteEvent),ae.on(X,"cut",re.cutEvent),ae.on(X,"complete",c.oncomplete),ae.on(X,"incomplete",c.onincomplete),ae.on(X,"cleared",c.oncleared),u||!0===c.inputEventOnly?X.removeAttribute("maxLength"):(ae.on(X,"keydown",re.keydownEvent),ae.on(X,"keypress",re.keypressEvent)),ae.on(X,"compositionstart",e.noop),ae.on(X,"compositionupdate",e.noop),ae.on(X,"compositionend",e.noop),ae.on(X,"keyup",e.noop),ae.on(X,"input",re.inputFallBackEvent),ae.on(X,"beforeinput",e.noop)),ae.on(X,"setvalue",re.setValueEvent),q=_().join(""),""!==X.inputmask._valueGet(!0)||!1===c.clearMaskOnLostFocus||n.activeElement===X)){var r=e.isFunction(c.onBeforeMask)?c.onBeforeMask.call(z,X.inputmask._valueGet(!0),c)||X.inputmask._valueGet(!0):X.inputmask._valueGet(!0);""!==r&&F(X,!0,!1,J?r.split("").reverse():r.split(""));var o=A().slice();q=o.join(""),!1===V(o)&&c.clearIncomplete&&d(),c.clearMaskOnLostFocus&&n.activeElement!==X&&(-1===v()?o=[]:K(o)),B(X,o),n.activeElement===X&&N(X,G(v()))}}(X);break;case"format":return oe=(e.isFunction(c.onBeforeMask)?c.onBeforeMask.call(z,r.value,c)||r.value:r.value).split(""),F(i,!0,!1,J?oe.reverse():oe),r.metadata?{value:J?A().slice().reverse().join(""):A().join(""),metadata:l.call(this,{action:"getmetadata"},o,c)}:J?A().slice().reverse().join(""):A().join("");case"isValid":r.value?(oe=r.value.split(""),F(i,!0,!0,J?oe.reverse():oe)):r.value=A().join("");for(var se=A(),le=R(),ce=se.length-1;ce>le&&!D(ce);ce--);return se.splice(le,ce+1-le),V(se)&&r.value===A().join("");case"getemptymask":return _().join("");case"remove":if(X&&X.inputmask){W=e(X),X.inputmask._valueSet(c.autoUnmask?I(X):X.inputmask._valueGet(!0)),ae.off(X),X.inputmask.colorMask&&((Z=X.inputmask.colorMask).removeChild(X),Z.parentNode.insertBefore(X,Z),Z.parentNode.removeChild(Z));Object.getOwnPropertyDescriptor&&Object.getPrototypeOf?Object.getOwnPropertyDescriptor(Object.getPrototypeOf(X),"value")&&X.inputmask.__valueGet&&Object.defineProperty(X,"value",{get:X.inputmask.__valueGet,set:X.inputmask.__valueSet,configurable:!0}):n.__lookupGetter__&&X.__lookupGetter__("value")&&X.inputmask.__valueGet&&(X.__defineGetter__("value",X.inputmask.__valueGet),X.__defineSetter__("value",X.inputmask.__valueSet)),X.inputmask=i}return X;case"getmetadata":if(e.isArray(o.metadata)){var ue=h(!0,0,!1).join("");return e.each(o.metadata,function(e,t){if(t.mask===ue)return ue=t,!1}),ue}return o.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:["[","]"],quantifiermarker:["{","}"],groupmarker:["(",")"],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]",definitionSymbol:"*"},a:{validator:"[A-Za-zА-яЁёÀ-ÿµ]",definitionSymbol:"*"},"*":{validator:"[0-91-9A-Za-zА-яЁёÀ-ÿµ]"}},aliases:{},masksCache:{},mask:function(s){function c(n,a,o,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)),o[e]=a)}if(!0===a.importDataAttributes){var c,u,f,p,h=n.getAttribute(s);if(h&&""!==h&&(h=h.replace(/'/g,'"'),u=JSON.parse("{"+h+"}")),u){f=i;for(p in u)if("alias"===p.toLowerCase()){f=u[p];break}}l("alias",f),o.alias&&r(o.alias,o,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,o),("rtl"===n.dir||a.rightAlign)&&(n.style.textAlign="right"),("rtl"===n.dir||a.numericInput)&&(n.dir="ltr",n.removeAttribute("dir"),a.isRTL=!0),Object.keys(o).length}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 r=e.extend(!0,{},u.opts);if(c(n,r,e.extend(!0,{},u.userOptions),u.dataAttribute)){var s=o(r,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=r,n.inputmask.noMasksCache=u.noMasksCache,n.inputmask.userOptions=e.extend(!0,{},u.userOptions),n.inputmask.isRTL=r.isRTL||r.numericInput,n.inputmask.el=n,n.inputmask.maskset=s,e.data(n,"_inputmask_opts",r),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||o(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||o(this.opts,this.noMasksCache),l.call(this,{action:"getemptymask"})},hasMaskedValue:function(){return!this.opts.autoUnmask},isComplete:function(){return this.maskset=this.maskset||o(this.opts,this.noMasksCache),l.call(this,{action:"isComplete"})},getmetadata:function(){return this.maskset=this.maskset||o(this.opts,this.noMasksCache),l.call(this,{action:"getmetadata"})},isValid:function(e){return this.maskset=this.maskset||o(this.opts,this.noMasksCache),l.call(this,{action:"isValid",value:e})},format:function(e,t){return this.maskset=this.maskset||o(this.opts,this.noMasksCache),l.call(this,{action:"format",value:e,metadata:t})},analyseMask:function(t,n,r){function o(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,o,s){s=s!==i?s:t.matches.length;var l=t.matches[s-1];if(n)0===o.indexOf("[")||y&&/\\d|\\s|\\w]/i.test(o)||"."===o?t.matches.splice(s++,0,{fn:new RegExp(o,r.casing?"i":""),optionality:t.isOptional,newBlockMarker:l===i||l.def!==o,casing:null,def:o,placeholder:i,nativeDef:o}):(y&&(o=o[o.length-1]),e.each(o.split(""),function(e,n){l=t.matches[s-1],t.matches.splice(s++,0,{fn:null,optionality:t.isOptional,newBlockMarker:l===i||l.def!==n&&null!==l.fn,casing:null,def:r.staticDefinitionSymbol||n,placeholder:r.staticDefinitionSymbol!==i?n:i,nativeDef:n})})),y=!1;else{var c=(r.definitions?r.definitions[o]:i)||a.prototype.definitions[o];c&&!y?t.matches.splice(s++,0,{fn:c.validator?"string"==typeof c.validator?new RegExp(c.validator,r.casing?"i":""):new function(){this.test=c.validator}:new RegExp("."),optionality:t.isOptional,newBlockMarker:l===i||l.def!==(c.definitionSymbol||o),casing:c.casing,def:c.definitionSymbol||o,placeholder:c.placeholder,nativeDef:o}):(t.matches.splice(s++,0,{fn:null,optionality:t.isOptional,newBlockMarker:l===i||l.def!==o&&null!==l.fn,casing:null,def:r.staticDefinitionSymbol||o,placeholder:r.staticDefinitionSymbol!==i?o:i,nativeDef:o}),y=!1)}}function l(t){t&&t.matches&&e.each(t.matches,function(e,a){var o=t.matches[e+1];(o===i||o.matches===i||!1===o.isQuantifier)&&a&&a.isGroup&&(a.isGroup=!1,n||(s(a,r.groupmarker[0],0),!0!==a.openGroup&&s(a,r.groupmarker[1]))),l(a)})}function c(){if(C.length>0){if(m=C[C.length-1],s(m,p),m.isAlternator){d=C.pop();for(var e=0;e<d.matches.length;e++)d.matches[e].isGroup=!1;C.length>0?(m=C[C.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===r.optionalmarker[0]?e=r.optionalmarker[1]:e===r.optionalmarker[1]?e=r.optionalmarker[0]:e===r.groupmarker[0]?e=r.groupmarker[1]:e===r.groupmarker[1]&&(e=r.groupmarker[0]),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 o,C=[],E=[];for(n&&(r.optionalmarker[0]=i,r.optionalmarker[1]=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 r.escapeChar:y=!0,n&&c();break;case r.optionalmarker[1]:case r.groupmarker[1]:if(h=C.pop(),h.openGroup=!1,h!==i)if(C.length>0){if((m=C[C.length-1]).matches.push(h),m.isAlternator){d=C.pop();for(var x=0;x<d.matches.length;x++)d.matches[x].isGroup=!1,d.matches[x].alternatorGroup=!1;C.length>0?(m=C[C.length-1]).matches.push(d):P.matches.push(d)}}else P.matches.push(h);else c();break;case r.optionalmarker[0]:C.push(new o(!1,!0));break;case r.groupmarker[0]:C.push(new o(!0));break;case r.quantifiermarker[0]:var _=new o(!1,!1,!0),A=(p=p.replace(/[{}]/g,"")).split(","),w=isNaN(A[0])?A[0]:parseInt(A[0]),O=1===A.length?w:isNaN(A[1])?A[1]:parseInt(A[1]);if("*"!==O&&"+"!==O||(w="*"===O?0:1),_.quantifier={min:w,max:O},C.length>0){var M=C[C.length-1].matches;(f=M.pop()).isGroup||((k=new o(!0)).matches.push(f),f=k),M.push(f),M.push(_)}else(f=P.matches.pop()).isGroup||(n&&null===f.fn&&"."===f.def&&(f.fn=new RegExp(f.def,r.casing?"i":"")),(k=new o(!0)).matches.push(f),f=k),P.matches.push(f),P.matches.push(_);break;case r.alternatormarker:if(C.length>0){var S=(m=C[C.length-1]).matches[m.matches.length-1];v=m.openGroup&&(S.matches===i||!1===S.isGroup&&!1===S.isAlternator)?C.pop():m.matches.pop()}else v=P.matches.pop();if(v.isAlternator)C.push(v);else if(v.alternatorGroup?(d=C.pop(),v.alternatorGroup=!1):d=new o(!1,!1,!1,!0),d.matches.push(v),C.push(d),v.openGroup){v.openGroup=!1;var j=new o(!0);j.alternatorGroup=!0,C.push(j)}break;default:c()}}for(;C.length>0;)h=C.pop(),P.matches.push(h);return P.matches.length>0&&(l(P),E.push(P)),(r.numericInput||r.isRTL)&&u(E[0]),E}},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={BACKSPACE:8,BACKSPACE_SAFARI:127,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,RIGHT:39,SPACE:32,TAB:9,UP:38,X:88,CONTROL:17},a});