/ *
Input Mask plugin for jquery
http : //github.com/RobinHerbots/jquery.inputmask
Copyright ( c ) 2010 - 2014 Robin Herbots
Licensed under the MIT license ( http : //www.opensource.org/licenses/mit-license.php)
Version : 3.0 . 52
Input Mask plugin for jquery
http : //github.com/RobinHerbots/jquery.inputmask
Copyright ( c ) 2010 - 2014 Robin Herbots
Licensed under the MIT license ( http : //www.opensource.org/licenses/mit-license.php)
Version : 3.0 . 52
* /
( function ( e ) { if ( void 0 === e . fn . inputmask ) { var a = function ( a ) { var b = document . createElement ( "input" ) ; a = "on" + a ; var e = a in b ; e || ( b . setAttribute ( a , "return;" ) , e = "function" == typeof b [ a ] ) ; return e } , b = function ( a , p , f ) { return ( a = f . aliases [ a ] ) ? ( a . alias && b ( a . alias , void 0 , f ) , e . extend ( ! 0 , f , a ) , e . extend ( ! 0 , f , p ) , ! 0 ) : ! 1 } , c = function ( a ) { function b ( e ) { function f ( a , b , e , c ) { this . matches = [ ] ; this . isGroup = a || ! 1 ; this . isOptional = b || ! 1 ; this . isQuantifier = e || ! 1 ; this . isAlternator = c || ! 1 ; this . quantifier = { min : 1 , max : 1 } } function c ( b , e , f ) { var d =
a . definitions [ e ] , p = 0 == b . matches . length ; f = void 0 != f ? f : b . matches . length ; if ( d && ! g ) { for ( var m = d . prevalidator , h = m ? m . length : 0 , t = 1 ; t < d . cardinality ; t ++ ) { var l = h >= t ? m [ t - 1 ] : [ ] , J = l . validator , l = l . cardinality ; b . matches . splice ( f ++ , 0 , { fn : J ? "string" == typeof J ? RegExp ( J ) : new function ( ) { this . test = J } : /./ , cardinality : l ? l : 1 , optionality : b . isOptional , newBlockMarker : p , casing : d . casing , def : d . definitionSymbol || e , placeholder : d . placeholder } ) } b . matches . splice ( f ++ , 0 , { fn : d . validator ? "string" == typeof d . validator ? RegExp ( d . validator ) :
new function ( ) { this . test = d . validator } : /./ , cardinality : d . cardinality , optionality : b . isOptional , newBlockMarker : p , casing : d . casing , def : d . definitionSymbol || e , placeholder : d . placeholder } ) } else b . matches . splice ( f ++ , 0 , { fn : null , cardinality : 0 , optionality : b . isOptional , newBlockMarker : p , casing : null , def : e , placeholder : void 0 } ) , g = ! 1 } for ( var p = /(?:[?*+]|\{[0-9\+\*]+(?:,[0-9\+\*]*)?\})\??|[^.?*+^${[]()|\\]+|./g , g = ! 1 , d = new f , h , l = [ ] , n = [ ] ; h = p . exec ( e ) ; ) switch ( h = h [ 0 ] , h . charAt ( 0 ) ) { case a . optionalmarker . end : case a . groupmarker . end : var q =
l . pop ( ) ; 0 < l . length ? l [ l . length - 1 ] . matches . push ( q ) : d . matches . push ( q ) ; break ; case a . optionalmarker . start : l . push ( new f ( ! 1 , ! 0 ) ) ; break ; case a . groupmarker . start : l . push ( new f ( ! 0 ) ) ; break ; case a . quantifiermarker . start : q = new f ( ! 1 , ! 1 , ! 0 ) ; h = h . replace ( /[{}]/g , "" ) ; var r = h . split ( "," ) ; h = isNaN ( r [ 0 ] ) ? r [ 0 ] : parseInt ( r [ 0 ] ) ; r = 1 == r . length ? h : isNaN ( r [ 1 ] ) ? r [ 1 ] : parseInt ( r [ 1 ] ) ; if ( "*" == r || "+" == r ) h = "*" == r ? 0 : 1 ; q . quantifier = { min : h , max : r } ; if ( 0 < l . length ) { r = l [ l . length - 1 ] . matches ; h = r . pop ( ) ; if ( ! h . isGroup ) { var u = new f ( ! 0 ) ; u . matches . push ( h ) ;
h = u } r . push ( h ) ; r . push ( q ) } else h = d . matches . pop ( ) , h . isGroup || ( u = new f ( ! 0 ) , u . matches . push ( h ) , h = u ) , d . matches . push ( h ) , d . matches . push ( q ) ; break ; case a . escapeChar : g = ! 0 ; break ; case a . alternatormarker : break ; default : 0 < l . length ? c ( l [ l . length - 1 ] , h ) : ( 0 < d . matches . length && ( q = d . matches [ d . matches . length - 1 ] , q . isGroup && ( q . isGroup = ! 1 , c ( q , a . groupmarker . start , 0 ) , c ( q , a . groupmarker . end ) ) ) , c ( d , h ) ) } 0 < d . matches . length && ( q = d . matches [ d . matches . length - 1 ] , q . isGroup && ( q . isGroup = ! 1 , c ( q , a . groupmarker . start , 0 ) , c ( q , a . groupmarker . end ) ) ,
n . push ( d ) ) ; return n } function f ( f , d ) { if ( a . numericInput && ! 0 !== a . multi ) { f = f . split ( "" ) . reverse ( ) ; for ( var c = 0 ; c < f . length ; c ++ ) f [ c ] == a . optionalmarker . start ? f [ c ] = a . optionalmarker . end : f [ c ] == a . optionalmarker . end ? f [ c ] = a . optionalmarker . start : f [ c ] == a . groupmarker . start ? f [ c ] = a . groupmarker . end : f [ c ] == a . groupmarker . end && ( f [ c ] = a . groupmarker . start ) ; f = f . join ( "" ) } if ( void 0 != f && "" != f ) { if ( 0 < a . repeat || "*" == a . repeat || "+" == a . repeat ) f = a . groupmarker . start + f + a . groupmarker . end + a . quantifiermarker . start + ( "*" == a . repeat ? 0 : "+" == a . repeat ?
1 : a . repeat ) + "," + a . repeat + a . quantifiermarker . end ; void 0 == e . inputmask . masksCache [ f ] && ( e . inputmask . masksCache [ f ] = { mask : f , maskToken : b ( f ) , validPositions : { } , _buffer : void 0 , buffer : void 0 , tests : { } , metadata : d } ) ; return e . extend ( ! 0 , { } , e . inputmask . masksCache [ f ] ) } } var c = [ ] ; e . isFunction ( a . mask ) && ( a . mask = a . mask . call ( this , a ) ) ; e . isArray ( a . mask ) ? e . each ( a . mask , function ( a , b ) { void 0 != b . mask ? c . push ( f ( b . mask . toString ( ) , b ) ) : c . push ( f ( b . toString ( ) ) ) } ) : ( 1 == a . mask . length && ! 1 == a . greedy && 0 != a . repeat && ( a . placeholder = "" ) , c = void 0 !=
a . mask . mask ? f ( a . mask . mask . toString ( ) , a . mask ) : f ( a . mask . toString ( ) ) ) ; return c } , g = "function" === typeof ScriptEngineMajorVersion ? ScriptEngineMajorVersion ( ) : 10 <= ( new Function ( "/*@cc_on return @_jscript_version; @*/" ) ) ( ) , d = navigator . userAgent , h = null !== d . match ( /iphone/i ) , n = null !== d . match ( /android.*safari.*/i ) , y = null !== d . match ( /android.*chrome.*/i ) , u = null !== d . match ( /android.*firefox.*/i ) , K = /Kindle/i . test ( d ) || /Silk/i . test ( d ) || /KFTT/i . test ( d ) || /KFOT/i . test ( d ) || /KFJWA/i . test ( d ) || /KFJWI/i . test ( d ) || /KFSOWI/i . test ( d ) ||
/KFTHWA/i . test ( d ) || /KFTHWI/i . test ( d ) || /KFAPWA/i . test ( d ) || /KFAPWI/i . test ( d ) , L = a ( "paste" ) ? "paste" : a ( "input" ) ? "input" : "propertychange" , r = function ( a , b , f ) { function c ( a , e , d ) { e = e || 0 ; var g = [ ] , m , v = 0 , h ; do { if ( ! 0 === a && b . validPositions [ v ] ) { var t = b . validPositions [ v ] ; h = t . match ; m = t . locator . slice ( ) ; g . push ( null == h . fn ? h . def : ! 0 === d ? t . input : h . placeholder || f . placeholder . charAt ( v % f . placeholder . length ) ) } else m = e > v ? O ( v , m , v - 1 ) [ 0 ] : F ( v , m , v - 1 ) , h = m . match , m = m . locator . slice ( ) , g . push ( null == h . fn ? h . def : h . placeholder || f . placeholder . charAt ( v %
f . placeholder . length ) ) ; v ++ } while ( ( void 0 == M || v - 1 < M ) && null != h . fn || null == h . fn && "" != h . def || e >= v ) ; g . pop ( ) ; return g } function d ( a ) { var e = b ; e . buffer = void 0 ; e . tests = { } ; ! 0 !== a && ( e . _buffer = void 0 , e . validPositions = { } , e . p = - 1 ) } function r ( a ) { var e = - 1 , f = b . validPositions ; void 0 == a && ( a = - 1 ) ; var d = e , c ; for ( c in f ) { var g = parseInt ( c ) ; if ( - 1 == a || null != f [ g ] . match . fn ) g < a && ( d = g ) , g >= a && ( e = g ) } return 1 < a - d || e < a ? d : e } function m ( a , d , c ) { if ( f . insertMode && void 0 != b . validPositions [ a ] && void 0 == c ) { c = e . extend ( ! 0 , { } , b . validPositions ) ; var g =
r ( ) , h ; for ( h = a ; h <= g ; h ++ ) delete b . validPositions [ h ] ; b . validPositions [ a ] = d ; d = ! 0 ; for ( h = a ; h <= g ; h ++ ) { a = c [ h ] ; if ( void 0 != a ) { var v = null == a . match . fn ? h + 1 : B ( h ) ; d = ea ( v , a . match . def ) ? d && ! 1 !== Q ( v , a . input , ! 0 , ! 0 ) : ! 1 } if ( ! d ) break } if ( ! d ) return b . validPositions = e . extend ( ! 0 , { } , c ) , ! 1 } else b . validPositions [ a ] = d ; return ! 0 } function t ( a , e ) { var f , c = a ; for ( f = a ; f < e ; f ++ ) delete b . validPositions [ f ] ; for ( f = e ; f <= r ( ) ; ) { var g = b . validPositions [ f ] , h = b . validPositions [ c ] ; void 0 != g && void 0 == h ? ( ea ( c , g . match . def ) && ! 1 !== Q ( c , g . input , ! 0 ) && ( delete b . validPositions [ f ] ,
f ++ ) , c ++ ) : f ++ } for ( f = r ( ) ; 0 < f && ( void 0 == b . validPositions [ f ] || null == b . validPositions [ f ] . match . fn ) ; ) delete b . validPositions [ f ] , f -- ; d ( ! 0 ) } function F ( a , b , e ) { a = O ( a , b , e ) ; var d ; for ( b = 0 ; b < a . length && ( d = a [ b ] , ! f . greedy && ( ! d . match || ! 1 !== d . match . optionality && ! 1 !== d . match . newBlockMarker || ! 0 === d . match . optionalQuantifier ) ) ; b ++ ) ; return d } function w ( a ) { return b . validPositions [ a ] ? b . validPositions [ a ] . match : O ( a ) [ 0 ] . match } function ea ( a , b ) { for ( var e = ! 1 , f = O ( a ) , d = 0 ; d < f . length ; d ++ ) if ( f [ d ] . match && f [ d ] . match . def == b ) { e = ! 0 ; break } return e }
function O ( a , d , c ) { function g ( b , d , c , H ) { function h ( c , H , p ) { if ( m == a && void 0 == c . matches ) return t . push ( { match : c , locator : H . reverse ( ) } ) , ! 0 ; if ( void 0 != c . matches ) if ( c . isGroup && ! 0 !== p ) { if ( c = h ( b . matches [ G + 1 ] , H ) ) return ! 0 } else if ( c . isOptional ) { var l = c ; if ( c = g ( c , d , H , p ) ) c = t [ t . length - 1 ] . match , ( c = 0 == e . inArray ( c , l . matches ) ) && ( k = ! 0 ) , m = a } else { if ( ! c . isAlternator ) if ( c . isQuantifier && ! 0 !== p ) for ( l = c , f . greedy = f . greedy && isFinite ( l . quantifier . max ) , p = 0 < d . length && ! 0 !== p ? d . shift ( ) : 0 ; p < ( isNaN ( l . quantifier . max ) ? p + 1 : l . quantifier . max ) &&
m <= a ; p ++ ) { var fa = b . matches [ e . inArray ( l , b . matches ) - 1 ] ; if ( c = h ( fa , [ p ] . concat ( H ) , ! 0 ) ) if ( c = t [ t . length - 1 ] . match , c . optionalQuantifier = p > l . quantifier . min - 1 , c = 0 == e . inArray ( c , fa . matches ) ) if ( p > l . quantifier . min - 1 ) { k = ! 0 ; m = a ; break } else return ! 0 ; else return ! 0 } else if ( c = g ( c , d , H , p ) ) return ! 0 } else m ++ } for ( var G = 0 < d . length ? d . shift ( ) : 0 ; G < b . matches . length ; G ++ ) if ( ! 0 !== b . matches [ G ] . isQuantifier ) { var p = h ( b . matches [ G ] , [ G ] . concat ( c ) , H ) ; if ( p && m == a ) return p ; if ( m > a ) break } } var h = b . maskToken , m = d ? c : 0 ; c = d || [ 0 ] ; var t = [ ] , k = ! 1 ; if ( void 0 ==
d ) { d = a - 1 ; for ( var l ; void 0 == ( l = b . validPositions [ d ] ) && - 1 < d ; ) d -- ; if ( void 0 != l && - 1 < d ) m = d , c = l . locator . slice ( ) ; else { for ( d = a - 1 ; void 0 == ( l = b . tests [ d ] ) && - 1 < d ; ) d -- ; void 0 != l && - 1 < d && ( m = d , c = l [ 0 ] . locator . slice ( ) ) } } for ( d = c . shift ( ) ; d < h . length && ! ( g ( h [ d ] , c , [ d ] ) && m == a || m > a ) ; d ++ ) ; ( 0 == t . length || k ) && t . push ( { match : { fn : null , cardinality : 0 , optionality : ! 0 , casing : null , def : "" } , locator : [ ] } ) ; return b . tests [ a ] = t } function C ( ) { void 0 == b . _buffer && ( b . _buffer = c ( ! 1 , 1 ) ) ; return b . _buffer } function q ( ) { void 0 == b . buffer && ( b . buffer = c ( ! 0 , r ( ) ,
! 0 ) ) ; return b . buffer } function Z ( a , e ) { var c = q ( ) . slice ( ) ; if ( ! 0 === a ) d ( ) , a = 0 , e = c . length ; else for ( var g = a ; g < e ; g ++ ) delete b . validPositions [ g ] , delete b . tests [ g ] ; for ( g = a ; g < e ; g ++ ) c [ g ] != f . skipOptionalPartCharacter && Q ( g , c [ g ] , ! 0 , ! 0 ) } function ma ( a , b ) { switch ( b . casing ) { case "upper" : a = a . toUpperCase ( ) ; break ; case "lower" : a = a . toLowerCase ( ) } return a } function Q ( a , c , g , h ) { function l ( a , c , g , na ) { var h = ! 1 ; e . each ( O ( a ) , function ( H , G ) { var k = G . match , v = c ? 1 : 0 , l = "" ; q ( ) ; for ( var V = k . cardinality ; V > v ; V -- ) l += void 0 == b . validPositions [ a -
( V - 1 ) ] ? U ( a - ( V - 1 ) ) : b . validPositions [ a - ( V - 1 ) ] . input ; c && ( l += c ) ; h = null != k . fn ? k . fn . test ( l , b , a , g , f ) : c != k . def && c != f . skipOptionalPartCharacter || "" == k . def ? ! 1 : { c : k . def , pos : a } ; if ( ! 1 !== h ) { v = void 0 != h . c ? h . c : c ; v = v == f . skipOptionalPartCharacter && null === k . fn ? k . def : v ; l = a ; void 0 != h . remove && t ( h . remove , h . remove + 1 ) ; if ( h . refreshFromBuffer ) { l = h . refreshFromBuffer ; g = ! 0 ; Z ( ! 0 === l ? l : l . start , l . end ) ; if ( void 0 == h . pos && void 0 == h . c ) return h . pos = r ( ) , ! 1 ; l = void 0 != h . pos ? h . pos : a ; if ( l != a ) return h = e . extend ( h , Q ( l , v , ! 0 ) ) , ! 1 } else if ( ! 0 !==
h && void 0 != h . pos && h . pos != a && ( l = h . pos , Z ( a , l ) , l != a ) ) return h = e . extend ( h , Q ( l , v , ! 0 ) ) , ! 1 ; if ( ! 0 != h && void 0 == h . pos && void 0 == h . c ) return ! 1 ; 0 < H && d ( ! 0 ) ; m ( l , e . extend ( { } , G , { input : ma ( v , k ) } ) , na ) || ( h = ! 1 ) ; return ! 1 } } ) ; return h } g = ! 0 === g ; for ( var v = q ( ) , k = a - 1 ; - 1 < k && ( ! b . validPositions [ k ] || null != b . validPositions [ k ] . fn ) ; k -- ) if ( ( ! N ( k ) || v [ k ] != U ( k ) ) && 1 < O ( k ) . length ) { l ( k , v [ k ] , ! 0 ) ; break } if ( a >= R ( ) ) return ! 1 ; v = l ( a , c , g , h ) ; if ( ! g && ! 1 === v ) if ( ( k = b . validPositions [ a ] ) && null == k . match . fn && ( k . match . def == c || c == f . skipOptionalPartCharacter ) ) v =
{ caret : B ( a ) } ; else if ( ( f . insertMode || void 0 == b . validPositions [ B ( a ) ] ) && ! N ( a ) ) for ( var k = a + 1 , w = B ( a ) ; k <= w ; k ++ ) if ( v = l ( k , c , g , h ) , ! 1 !== v ) { a = k ; break } ! 0 === v && ( v = { pos : a } ) ; return v } function N ( a ) { a = w ( a ) ; return null != a . fn ? a . fn : ! 1 } function R ( ) { var a ; M = s . prop ( "maxLength" ) ; - 1 == M && ( M = void 0 ) ; if ( ! 1 == f . greedy ) { var c ; c = r ( ) ; a = b . validPositions [ c ] ; var e = void 0 != a ? a . locator . slice ( ) : void 0 ; for ( c += 1 ; void 0 == a || null != a . match . fn || null == a . match . fn && "" != a . match . def ; c ++ ) a = F ( c , e , c - 1 ) , e = a . locator . slice ( ) ; a = c } else a = q ( ) . length ; return void 0 ==
M || a < M ? a : M } function B ( a ) { var b = R ( ) ; if ( a >= b ) return b ; for ( ; ++ a < b && ! N ( a ) && ( ! 0 !== f . nojumps || f . nojumpsThreshold > a ) ; ) ; return a } function X ( a ) { if ( 0 >= a ) return 0 ; for ( ; 0 < -- a && ! N ( a ) ; ) ; return a } function E ( a , b , c ) { a . _valueSet ( b . join ( "" ) ) ; void 0 != c && x ( a , c ) } function U ( a , b ) { b = b || w ( a ) ; return b . placeholder || ( null == b . fn ? b . def : f . placeholder . charAt ( a % f . placeholder . length ) ) } function S ( a , c , g , h , m ) { h = void 0 != h ? h . slice ( ) : la ( a . _valueGet ( ) ) . split ( "" ) ; d ( ) ; c && a . _valueSet ( "" ) ; e . each ( h , function ( c , d ) { if ( ! 0 === m ) { var f = b . p , f = - 1 == f ? f :
X ( f ) , h = - 1 == f ? c : B ( f ) ; - 1 == e . inArray ( d , C ( ) . slice ( f + 1 , h ) ) && $ . call ( a , void 0 , ! 0 , d . charCodeAt ( 0 ) , ! 1 , g , c ) } else $ . call ( a , void 0 , ! 0 , d . charCodeAt ( 0 ) , ! 1 , g , c ) , g = g || 0 < c && c > b . p } ) ; c && ( c = f . onKeyPress . call ( this , void 0 , q ( ) , 0 , f ) , Y ( a , c ) , E ( a , q ( ) , e ( a ) . is ( ":focus" ) ? B ( r ( 0 ) ) : void 0 ) ) } function da ( a ) { return e . inputmask . escapeRegex . call ( this , a ) } function la ( a ) { return a . replace ( RegExp ( "(" + da ( C ( ) . join ( "" ) ) + ")*$" ) , "" ) } function ga ( a , c ) { if ( ! a . data ( "_inputmask" ) || ! 0 !== c && a . hasClass ( "hasDatepicker" ) ) return a [ 0 ] . _valueGet ( ) ; var d = [ ] ,
g = b . validPositions , h ; for ( h in g ) g [ h ] . match && null != g [ h ] . match . fn && d . push ( g [ h ] . input ) ; d = ( z ? d . reverse ( ) : d ) . join ( "" ) ; g = ( z ? q ( ) . reverse ( ) : q ( ) ) . join ( "" ) ; e . isFunction ( f . onUnMask ) && ( d = f . onUnMask . call ( a , g , d , f ) ) ; return d } function P ( a ) { ! z || "number" != typeof a || f . greedy && "" == f . placeholder || ( a = q ( ) . length - a ) ; return a } function x ( a , b , c ) { a = a . jquery && 0 < a . length ? a [ 0 ] : a ; if ( "number" == typeof b ) { b = P ( b ) ; c = P ( c ) ; c = "number" == typeof c ? c : b ; var d = e ( a ) . data ( "_inputmask" ) || { } ; d . caret = { begin : b , end : c } ; e ( a ) . data ( "_inputmask" , d ) ; e ( a ) . is ( ":visible" ) &&
( a . scrollLeft = a . scrollWidth , ! 1 == f . insertMode && b == c && c ++ , a . setSelectionRange ? ( a . selectionStart = b , a . selectionEnd = c ) : a . createTextRange && ( a = a . createTextRange ( ) , a . collapse ( ! 0 ) , a . moveEnd ( "character" , c ) , a . moveStart ( "character" , b ) , a . select ( ) ) ) } else return d = e ( a ) . data ( "_inputmask" ) , ! e ( a ) . is ( ":visible" ) && d && void 0 != d . caret ? ( b = d . caret . begin , c = d . caret . end ) : a . setSelectionRange ? ( b = a . selectionStart , c = a . selectionEnd ) : document . selection && document . selection . createRange && ( a = document . selection . createRange ( ) , b = 0 - a . duplicate ( ) . moveStart ( "character" ,
- 1E5 ) , c = b + a . text . length ) , b = P ( b ) , c = P ( c ) , { begin : b , end : c } } function aa ( a ) { var c = q ( ) , d = c . length , f , g = r ( ) , h = { } , m = void 0 != b . validPositions [ g ] ? b . validPositions [ g ] . locator . slice ( ) : void 0 , k ; for ( f = g + 1 ; f < c . length ; f ++ ) k = F ( f , m , f - 1 ) , m = k . locator . slice ( ) , h [ f ] = e . extend ( ! 0 , { } , k ) ; for ( f = d - 1 ; f > g ; f -- ) if ( k = h [ f ] . match , ( k . optionality || k . optionalQuantifier ) && c [ f ] == U ( f , k ) ) d -- ; else break ; return a ? { l : d , def : h [ d ] ? h [ d ] . match : void 0 } : d } function ba ( a ) { var b = q ( ) . slice ( ) , c = aa ( ) ; b . length = c ; E ( a , b ) } function T ( a ) { if ( e . isFunction ( f . isComplete ) ) return f . isComplete . call ( s ,
a , f ) ; if ( "*" != f . repeat ) { var b = ! 1 , c = aa ( ! 0 ) , d = X ( c . l ) ; if ( r ( ) == d && ( void 0 == c . def || c . def . newBlockMarker || c . def . optionalQuantifier ) ) for ( b = ! 0 , c = 0 ; c <= d ; c ++ ) { var g = N ( c ) ; if ( g && ( void 0 == a [ c ] || a [ c ] == U ( c ) ) || ! g && a [ c ] != U ( c ) ) { b = ! 1 ; break } } return b } } function oa ( a ) { a = e . _data ( a ) . events ; e . each ( a , function ( a , b ) { e . each ( b , function ( a , b ) { if ( "inputmask" == b . namespace && "setvalue" != b . type ) { var c = b . handler ; b . handler = function ( a ) { if ( this . readOnly || this . disabled ) a . preventDefault ; else return c . apply ( this , arguments ) } } } ) } ) } function pa ( a ) { function b ( a ) { if ( void 0 ==
e . valHooks [ a ] || ! 0 != e . valHooks [ a ] . inputmaskpatch ) { var c = e . valHooks [ a ] && e . valHooks [ a ] . get ? e . valHooks [ a ] . get : function ( a ) { return a . value } , d = e . valHooks [ a ] && e . valHooks [ a ] . set ? e . valHooks [ a ] . set : function ( a , b ) { a . value = b ; return a } ; e . valHooks [ a ] = { get : function ( a ) { var b = e ( a ) ; if ( b . data ( "_inputmask" ) ) { if ( b . data ( "_inputmask" ) . opts . autoUnmask ) return b . inputmask ( "unmaskedvalue" ) ; a = c ( a ) ; b = ( b = b . data ( "_inputmask" ) . maskset . _buffer ) ? b . join ( "" ) : "" ; return a != b ? a : "" } return c ( a ) } , set : function ( a , b ) { var c = e ( a ) , f = c . data ( "_inputmask" ) ;
f ? ( f = d ( a , e . isFunction ( f . opts . onBeforeMask ) ? f . opts . onBeforeMask . call ( A , b , f . opts ) : b ) , c . triggerHandler ( "setvalue.inputmask" ) ) : f = d ( a , b ) ; return f } , inputmaskpatch : ! 0 } } } var c ; Object . getOwnPropertyDescriptor && ( c = Object . getOwnPropertyDescriptor ( a , "value" ) ) ; if ( c && c . get ) { if ( ! a . _valueGet ) { var d = c . get , f = c . set ; a . _valueGet = function ( ) { return z ? d . call ( this ) . split ( "" ) . reverse ( ) . join ( "" ) : d . call ( this ) } ; a . _valueSet = function ( a ) { f . call ( this , z ? a . split ( "" ) . reverse ( ) . join ( "" ) : a ) } ; Object . defineProperty ( a , "value" , { get : function ( ) { var a =
e ( this ) , b = e ( this ) . data ( "_inputmask" ) ; return b ? b . opts . autoUnmask ? a . inputmask ( "unmaskedvalue" ) : d . call ( this ) != C ( ) . join ( "" ) ? d . call ( this ) : "" : d . call ( this ) } , set : function ( a ) { var b = e ( this ) . data ( "_inputmask" ) ; b ? ( f . call ( this , e . isFunction ( b . opts . onBeforeMask ) ? b . opts . onBeforeMask . call ( A , a , b . opts ) : a ) , e ( this ) . triggerHandler ( "setvalue.inputmask" ) ) : f . call ( this , a ) } } ) } } else document . _ _lookupGetter _ _ && a . _ _lookupGetter _ _ ( "value" ) ? a . _valueGet || ( d = a . _ _lookupGetter _ _ ( "value" ) , f = a . _ _lookupSetter _ _ ( "value" ) , a . _valueGet = function ( ) { return z ?
d . call ( this ) . split ( "" ) . reverse ( ) . join ( "" ) : d . call ( this ) } , a . _valueSet = function ( a ) { f . call ( this , z ? a . split ( "" ) . reverse ( ) . join ( "" ) : a ) } , a . _ _defineGetter _ _ ( "value" , function ( ) { var a = e ( this ) , b = e ( this ) . data ( "_inputmask" ) ; return b ? b . opts . autoUnmask ? a . inputmask ( "unmaskedvalue" ) : d . call ( this ) != C ( ) . join ( "" ) ? d . call ( this ) : "" : d . call ( this ) } ) , a . _ _defineSetter _ _ ( "value" , function ( a ) { var b = e ( this ) . data ( "_inputmask" ) ; b ? ( f . call ( this , e . isFunction ( b . opts . onBeforeMask ) ? b . opts . onBeforeMask . call ( A , a , b . opts ) : a ) , e ( this ) . triggerHandler ( "setvalue.inputmask" ) ) :
f . call ( this , a ) } ) ) : ( a . _valueGet || ( a . _valueGet = function ( ) { return z ? this . value . split ( "" ) . reverse ( ) . join ( "" ) : this . value } , a . _valueSet = function ( a ) { this . value = z ? a . split ( "" ) . reverse ( ) . join ( "" ) : a } ) , b ( a . type ) ) } function ha ( a , c , d ) { if ( f . numericInput || z ) c == f . keyCode . BACKSPACE ? c = f . keyCode . DELETE : c == f . keyCode . DELETE && ( c = f . keyCode . BACKSPACE ) , z && ( a = d . end , d . end = d . begin , d . begin = a ) ; c == f . keyCode . BACKSPACE && 1 >= d . end - d . begin ? d . begin = X ( d . begin ) : c == f . keyCode . DELETE && d . begin == d . end && d . end ++ ; t ( d . begin , d . end ) ; c = r ( d . begin ) ; b . p =
c < d . begin ? B ( c ) : d . begin } function Y ( a , b , c ) { if ( b && b . refreshFromBuffer ) { var f = b . refreshFromBuffer ; Z ( ! 0 === f ? f : f . start , f . end ) ; d ( ! 0 ) ; void 0 != c && ( E ( a , q ( ) ) , x ( a , b . caret || c . begin , b . caret || c . end ) ) } } function ia ( a ) { ca = ! 1 ; var c = this , d = e ( c ) , g = a . keyCode , m = x ( c ) ; g == f . keyCode . BACKSPACE || g == f . keyCode . DELETE || h && 127 == g || a . ctrlKey && 88 == g ? ( a . preventDefault ( ) , 88 == g && ( I = q ( ) . join ( "" ) ) , ha ( c , g , m ) , E ( c , q ( ) , b . p ) , c . _valueGet ( ) == C ( ) . join ( "" ) && d . trigger ( "cleared" ) , f . showTooltip && d . prop ( "title" , b . mask ) ) : g == f . keyCode . END || g == f . keyCode . PAGE _DOWN ?
setTimeout ( function ( ) { var b = B ( r ( ) ) ; f . insertMode || b != R ( ) || a . shiftKey || b -- ; x ( c , a . shiftKey ? m . begin : b , b ) } , 0 ) : g == f . keyCode . HOME && ! a . shiftKey || g == f . keyCode . PAGE _UP ? x ( c , 0 , a . shiftKey ? m . begin : 0 ) : g == f . keyCode . ESCAPE || 90 == g && a . ctrlKey ? ( S ( c , ! 0 , ! 1 , I . split ( "" ) ) , d . click ( ) ) : g != f . keyCode . INSERT || a . shiftKey || a . ctrlKey ? ! 1 != f . insertMode || a . shiftKey || ( g == f . keyCode . RIGHT ? setTimeout ( function ( ) { var a = x ( c ) ; x ( c , a . begin ) } , 0 ) : g == f . keyCode . LEFT && setTimeout ( function ( ) { var a = x ( c ) ; x ( c , z ? a . begin + 1 : a . begin - 1 ) } , 0 ) ) : ( f . insertMode = ! f . insertMode ,
x ( c , f . insertMode || m . begin != R ( ) ? m . begin : m . begin - 1 ) ) ; var d = x ( c ) , k = f . onKeyDown . call ( this , a , q ( ) , d . begin , f ) ; Y ( c , k , d ) ; ja = - 1 != e . inArray ( g , f . ignorables ) } function $ ( a , c , g , h , k , l ) { if ( void 0 == g && ca ) return ! 1 ; ca = ! 0 ; var t = e ( this ) ; a = a || window . event ; g = c ? g : a . which || a . charCode || a . keyCode ; if ( ! ( ! 0 === c || a . ctrlKey && a . altKey ) && ( a . ctrlKey || a . metaKey || ja ) ) return ! 0 ; if ( g ) { ! 0 !== c && 46 == g && ! 1 == a . shiftKey && "," == f . radixPoint && ( g = 44 ) ; var w , F ; g = String . fromCharCode ( g ) ; c ? ( l = k ? l : r ( ) + 1 , w = { begin : l , end : l } ) : w = x ( this ) ; if ( l = z ? 1 < w . begin - w . end ||
1 == w . begin - w . end && f . insertMode : 1 < w . end - w . begin || 1 == w . end - w . begin && f . insertMode ) b . undoPositions = e . extend ( ! 0 , { } , b . validPositions ) , ha ( this , f . keyCode . DELETE , w ) , f . insertMode || ( f . insertMode = ! f . insertMode , m ( w . begin , k ) , f . insertMode = ! f . insertMode ) , l = ! f . multi ; b . writeOutBuffer = ! 0 ; w = z && ! l ? w . end : w . begin ; var n = Q ( w , g , k ) ; ! 1 !== n && ( ! 0 !== n && ( w = void 0 != n . pos ? n . pos : w , g = void 0 != n . c ? n . c : g ) , d ( ! 0 ) , void 0 != n . caret ? F = n . caret : ( k = b . validPositions , F = void 0 != k [ w + 1 ] && 1 < O ( w + 1 , k [ w ] . locator . slice ( ) , w ) . length ? w + 1 : B ( w ) ) , b . p = F ) ; if ( ! 1 !==
h ) { var s = this ; setTimeout ( function ( ) { f . onKeyValidation . call ( s , n , f ) } , 0 ) ; if ( b . writeOutBuffer && ! 1 !== n ) { var u = q ( ) ; E ( this , u , c ? void 0 : f . numericInput ? X ( F ) : F ) ; ! 0 !== c && setTimeout ( function ( ) { ! 0 === T ( u ) && t . trigger ( "complete" ) ; W = ! 0 ; t . trigger ( "input" ) } , 0 ) } else l && ( b . buffer = void 0 , b . validPositions = b . undoPositions ) } else l && ( b . buffer = void 0 , b . validPositions = b . undoPositions ) ; f . showTooltip && t . prop ( "title" , b . mask ) ; a && ! 0 != c && ( a . preventDefault ? a . preventDefault ( ) : a . returnValue = ! 1 , c = x ( this ) , a = f . onKeyPress . call ( this , a , q ( ) ,
c . begin , f ) , Y ( this , a , c ) ) ; for ( var C in b . validPositions ) ; } } function qa ( a ) { var b = e ( this ) , c = a . keyCode , g = q ( ) , h = x ( this ) ; a = f . onKeyUp . call ( this , a , g , h . begin , f ) ; Y ( this , a , h ) ; c == f . keyCode . TAB && f . showMaskOnFocus && ( b . hasClass ( "focus-inputmask" ) && 0 == this . _valueGet ( ) . length ? ( d ( ) , g = q ( ) , E ( this , g ) , x ( this , 0 ) , I = q ( ) . join ( "" ) ) : ( E ( this , g ) , x ( this , P ( 0 ) , P ( R ( ) ) ) ) ) } function ka ( a ) { if ( ! 0 === W && "input" == a . type ) return W = ! 1 , ! 0 ; var b = e ( this ) , c = this . _valueGet ( ) ; if ( "propertychange" == a . type && this . _valueGet ( ) . length <= R ( ) ) return ! 0 ; "paste" ==
a . type && ( window . clipboardData && window . clipboardData . getData ? c = window . clipboardData . getData ( "Text" ) : a . originalEvent && a . originalEvent . clipboardData && a . originalEvent . clipboardData . getData && ( c = a . originalEvent . clipboardData . getData ( "text/plain" ) ) ) ; a = e . isFunction ( f . onBeforePaste ) ? f . onBeforePaste . call ( this , c , f ) : c ; S ( this , ! 0 , ! 1 , a . split ( "" ) , ! 0 ) ; b . click ( ) ; ! 0 === T ( q ( ) ) && b . trigger ( "complete" ) ; return ! 1 } function ra ( a ) { if ( ! 0 === W && "input" == a . type ) return W = ! 1 , ! 0 ; var b = x ( this ) , c = this . _valueGet ( ) , c = c . replace ( RegExp ( "(" +
da ( C ( ) . join ( "" ) ) + ")*" ) , "" ) ; b . begin > c . length && ( x ( this , c . length ) , b = x ( this ) ) ; 1 != q ( ) . length - c . length || c . charAt ( b . begin ) == q ( ) [ b . begin ] || c . charAt ( b . begin + 1 ) == q ( ) [ b . begin ] || N ( b . begin ) || ( a . keyCode = f . keyCode . BACKSPACE , ia . call ( this , a ) ) ; a . preventDefault ( ) } function sa ( a ) { s = e ( a ) ; if ( s . is ( ":input" ) && "number" != s . attr ( "type" ) ) { s . data ( "_inputmask" , { maskset : b , opts : f , isRTL : ! 1 } ) ; f . showTooltip && s . prop ( "title" , b . mask ) ; pa ( a ) ; ( "rtl" == a . dir || f . rightAlign ) && s . css ( "text-align" , "right" ) ; if ( "rtl" == a . dir || f . numericInput ) { a . dir =
"ltr" ; s . removeAttr ( "dir" ) ; var c = s . data ( "_inputmask" ) ; c . isRTL = ! 0 ; s . data ( "_inputmask" , c ) ; z = ! 0 } s . unbind ( ".inputmask" ) ; s . removeClass ( "focus-inputmask" ) ; s . closest ( "form" ) . bind ( "submit" , function ( ) { I != q ( ) . join ( "" ) && s . change ( ) } ) . bind ( "reset" , function ( ) { setTimeout ( function ( ) { s . trigger ( "setvalue" ) } , 0 ) } ) ; s . bind ( "mouseenter.inputmask" , function ( ) { ! e ( this ) . hasClass ( "focus-inputmask" ) && f . showMaskOnHover && this . _valueGet ( ) != q ( ) . join ( "" ) && E ( this , q ( ) ) } ) . bind ( "blur.inputmask" , function ( ) { var a = e ( this ) ; if ( a . data ( "_inputmask" ) ) { var b =
this . _valueGet ( ) , c = q ( ) ; a . removeClass ( "focus-inputmask" ) ; I != q ( ) . join ( "" ) && a . change ( ) ; f . clearMaskOnLostFocus && "" != b && ( b == C ( ) . join ( "" ) ? this . _valueSet ( "" ) : ba ( this ) ) ; ! 1 === T ( c ) && ( a . trigger ( "incomplete" ) , f . clearIncomplete && ( d ( ) , f . clearMaskOnLostFocus ? this . _valueSet ( "" ) : ( c = C ( ) . slice ( ) , E ( this , c ) ) ) ) } } ) . bind ( "focus.inputmask" , function ( ) { var a = e ( this ) , b = this . _valueGet ( ) ; f . showMaskOnFocus && ! a . hasClass ( "focus-inputmask" ) && ( ! f . showMaskOnHover || f . showMaskOnHover && "" == b ) && this . _valueGet ( ) != q ( ) . join ( "" ) && E ( this , q ( ) ,
B ( r ( ) ) ) ; a . addClass ( "focus-inputmask" ) ; I = q ( ) . join ( "" ) } ) . bind ( "mouseleave.inputmask" , function ( ) { var a = e ( this ) ; f . clearMaskOnLostFocus && ( a . hasClass ( "focus-inputmask" ) || this . _valueGet ( ) == a . attr ( "placeholder" ) || ( this . _valueGet ( ) == C ( ) . join ( "" ) || "" == this . _valueGet ( ) ? this . _valueSet ( "" ) : ba ( this ) ) ) } ) . bind ( "click.inputmask" , function ( ) { var a = this ; e ( a ) . is ( ":focus" ) && setTimeout ( function ( ) { var b = x ( a ) ; if ( b . begin == b . end ) { var b = z ? P ( b . begin ) : b . begin , c = r ( b ) , c = B ( c ) ; b < c ? N ( b ) ? x ( a , b ) : x ( a , B ( b ) ) : x ( a , c ) } } , 0 ) } ) . bind ( "dblclick.inputmask" ,
function ( ) { var a = this ; setTimeout ( function ( ) { x ( a , 0 , B ( r ( ) ) ) } , 0 ) } ) . bind ( L + ".inputmask dragdrop.inputmask drop.inputmask" , ka ) . bind ( "setvalue.inputmask" , function ( ) { S ( this , ! 0 ) ; I = q ( ) . join ( "" ) ; this . _valueGet ( ) == C ( ) . join ( "" ) && this . _valueSet ( "" ) } ) . bind ( "complete.inputmask" , f . oncomplete ) . bind ( "incomplete.inputmask" , f . onincomplete ) . bind ( "cleared.inputmask" , f . oncleared ) ; s . bind ( "keydown.inputmask" , ia ) . bind ( "keypress.inputmask" , $ ) . bind ( "keyup.inputmask" , qa ) ; if ( n || u || y || K ) "input" == L && s . unbind ( L + ".inputmask" ) , s . bind ( "input.inputmask" ,
ra ) ; g && s . bind ( "input.inputmask" , ka ) ; c = e . isFunction ( f . onBeforeMask ) ? f . onBeforeMask . call ( a , a . _valueGet ( ) , f ) : a . _valueGet ( ) ; S ( a , ! 0 , ! 1 , c . split ( "" ) , ! 0 ) ; I = q ( ) . join ( "" ) ; var h ; try { h = document . activeElement } catch ( m ) { } h === a ? ( s . addClass ( "focus-inputmask" ) , x ( a , B ( r ( ) ) ) ) : ( ! 1 === T ( q ( ) ) && f . clearIncomplete && d ( ) , f . clearMaskOnLostFocus ? q ( ) . join ( "" ) == C ( ) . join ( "" ) ? a . _valueSet ( "" ) : ba ( a ) : E ( a , q ( ) ) ) ; oa ( a ) } } var z = ! 1 , I , s , ca = ! 1 , W = ! 1 , ja = ! 1 , M ; if ( void 0 != a ) switch ( a . action ) { case "isComplete" : return s = e ( a . el ) , b = s . data ( "_inputmask" ) . maskset ,
f = s . data ( "_inputmask" ) . opts , T ( a . buffer ) ; case "unmaskedvalue" : return s = a . $input , b = s . data ( "_inputmask" ) . maskset , f = s . data ( "_inputmask" ) . opts , z = a . $input . data ( "_inputmask" ) . isRTL , ga ( a . $input , a . skipDatepickerCheck ) ; case "mask" : I = q ( ) . join ( "" ) ; sa ( a . el ) ; break ; case "format" : s = e ( { } ) ; s . data ( "_inputmask" , { maskset : b , opts : f , isRTL : f . numericInput } ) ; f . numericInput && ( z = ! 0 ) ; var D = a . value . split ( "" ) ; S ( s , ! 1 , ! 1 , z ? D . reverse ( ) : D , ! 0 ) ; return z ? q ( ) . reverse ( ) . join ( "" ) : q ( ) . join ( "" ) ; case "isValid" : s = e ( { } ) ; s . data ( "_inputmask" , { maskset : b ,
opts : f , isRTL : f . numericInput } ) ; f . numericInput && ( z = ! 0 ) ; D = a . value . split ( "" ) ; S ( s , ! 1 , ! 0 , z ? D . reverse ( ) : D ) ; var D = q ( ) , ta = aa ( ) ; D . length = ta ; return T ( D ) && a . value == D . join ( "" ) ; case "getemptymask" : return s = e ( a . el ) , b = s . data ( "_inputmask" ) . maskset , f = s . data ( "_inputmask" ) . opts , C ( ) ; case "remove" : var A = a . el ; s = e ( A ) ; b = s . data ( "_inputmask" ) . maskset ; f = s . data ( "_inputmask" ) . opts ; A . _valueSet ( ga ( s ) ) ; s . unbind ( ".inputmask" ) ; s . removeClass ( "focus-inputmask" ) ; s . removeData ( "_inputmask" ) ; Object . getOwnPropertyDescriptor && ( D = Object . getOwnPropertyDescriptor ( A ,
"value" ) ) ; D && D . get ? A . _valueGet && Object . defineProperty ( A , "value" , { get : A . _valueGet , set : A . _valueSet } ) : document . _ _lookupGetter _ _ && A . _ _lookupGetter _ _ ( "value" ) && A . _valueGet && ( A . _ _defineGetter _ _ ( "value" , A . _valueGet ) , A . _ _defineSetter _ _ ( "value" , A . _valueSet ) ) ; try { delete A . _valueGet , delete A . _valueSet } catch ( va ) { A . _valueGet = void 0 , A . _valueSet = void 0 } } } ; e . inputmask = { defaults : { placeholder : "_" , optionalmarker : { start : "[" , end : "]" } , quantifiermarker : { start : "{" , end : "}" } , groupmarker : { start : "(" , end : ")" } , alternatormarker : "|" ,
escapeChar : "\\" , mask : null , oncomplete : e . noop , onincomplete : e . noop , oncleared : e . noop , repeat : 0 , greedy : ! 0 , autoUnmask : ! 1 , clearMaskOnLostFocus : ! 0 , insertMode : ! 0 , clearIncomplete : ! 1 , aliases : { } , alias : null , onKeyUp : e . noop , onKeyPress : e . noop , onKeyDown : e . noop , onBeforeMask : void 0 , onBeforePaste : void 0 , onUnMask : void 0 , showMaskOnFocus : ! 0 , showMaskOnHover : ! 0 , onKeyValidation : e . noop , skipOptionalPartCharacter : " " , showTooltip : ! 1 , numericInput : ! 1 , rightAlign : ! 1 , radixPoint : "" , nojumps : ! 1 , nojumpsThreshold : 0 , definitions : { 9 : { validator : "[0-9]" ,
cardinality : 1 , definitionSymbol : "*" } , a : { validator : "[A-Za-z\u0410-\u044f\u0401\u0451]" , cardinality : 1 , definitionSymbol : "*" } , "*" : { validator : "[A-Za-z\u0410-\u044f\u0401\u04510-9]" , cardinality : 1 } } , keyCode : { ALT : 18 , BACKSPACE : 8 , 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 } , 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 ] , isComplete : void 0 } , masksCache : { } , escapeRegex : function ( a ) { return a . replace ( RegExp ( "(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\)" , "gim" ) , "\\$1" ) } , format : function ( a , d ) { var f = e . extend ( ! 0 , { } , e . inputmask . defaults , d ) ; b ( f . alias , d , f ) ; return r ( { action : "format" , value : a } , c ( f ) , f ) } , isValid : function ( a , d ) { var f = e . extend ( ! 0 , { } , e . inputmask . defaults ,
d ) ; b ( f . alias , d , f ) ; return r ( { action : "isValid" , value : a } , c ( f ) , f ) } } ; e . fn . inputmask = function ( a , d , f , g , h ) { function n ( a , b ) { var c = e ( a ) , d ; for ( d in b ) { var f = c . data ( "inputmask-" + d . toLowerCase ( ) ) ; void 0 != f && ( b [ d ] = f ) } return b } f = f || r ; g = g || "_inputmask" ; var m = e . extend ( ! 0 , { } , e . inputmask . defaults , d ) , t ; if ( "string" === typeof a ) switch ( a ) { case "mask" : return b ( m . alias , d , m ) , t = c ( m ) , 0 == t . length ? this : this . each ( function ( ) { f ( { action : "mask" , el : this } , e . extend ( ! 0 , { } , e . isArray ( t ) && f === r ? t [ 0 ] : t ) , n ( this , m ) ) } ) ; case "unmaskedvalue" : return a =
e ( this ) , a . data ( g ) ? f ( { action : "unmaskedvalue" , $input : a } ) : a . val ( ) ; case "remove" : return this . each ( function ( ) { e ( this ) . data ( g ) && f ( { action : "remove" , el : this } ) } ) ; case "getemptymask" : return this . data ( g ) ? f ( { action : "getemptymask" , el : this } ) : "" ; case "hasMaskedValue" : return this . data ( g ) ? ! this . data ( g ) . opts . autoUnmask : ! 1 ; case "isComplete" : return this . data ( g ) ? f ( { action : "isComplete" , buffer : this [ 0 ] . _valueGet ( ) . split ( "" ) , el : this } ) : ! 0 ; case "getmetadata" : if ( this . data ( g ) ) return t = this . data ( g ) . maskset , t . metadata ; break ; case "_detectScope" : return b ( m . alias ,
d , m ) , void 0 == h || b ( h , d , m ) || - 1 != e . inArray ( h , "mask unmaskedvalue remove getemptymask hasMaskedValue isComplete getmetadata _detectScope" . split ( " " ) ) || ( m . mask = h ) , e . isFunction ( m . mask ) && ( m . mask = m . mask . call ( this , m ) ) , e . isArray ( m . mask ) ; default : return b ( m . alias , d , m ) , b ( a , d , m ) || ( m . mask = a ) , t = c ( m ) , void 0 == t ? this : this . each ( function ( ) { f ( { action : "mask" , el : this } , e . extend ( ! 0 , { } , e . isArray ( t ) && f === r ? t [ 0 ] : t ) , n ( this , m ) ) } ) } else { if ( "object" == typeof a ) return m = e . extend ( ! 0 , { } , e . inputmask . defaults , a ) , b ( m . alias , a , m ) , t = c ( m ) , void 0 ==
t ? this : this . each ( function ( ) { f ( { action : "mask" , el : this } , e . extend ( ! 0 , { } , e . isArray ( t ) && f === r ? t [ 0 ] : t ) , n ( this , m ) ) } ) ; if ( void 0 == a ) return this . each ( function ( ) { var a = e ( this ) . attr ( "data-inputmask" ) ; if ( a && "" != a ) try { var a = a . replace ( RegExp ( "'" , "g" ) , '"' ) , c = e . parseJSON ( "{" + a + "}" ) ; e . extend ( ! 0 , c , d ) ; m = e . extend ( ! 0 , { } , e . inputmask . defaults , c ) ; b ( m . alias , c , m ) ; m . alias = void 0 ; e ( this ) . inputmask ( "mask" , m , f ) } catch ( g ) { } } ) } } } } ) ( jQuery ) ;
( function ( e ) { if ( void 0 != e . fn . inputmask ) { var a = function ( a , c , g ) { function d ( a ) { var b = document . createElement ( "input" ) ; a = "on" + a ; var c = a in b ; c || ( b . setAttribute ( a , "return;" ) , c = "function" == typeof b [ a ] ) ; return c } function h ( a ) { if ( void 0 == e . valHooks [ a ] || ! 0 != e . valHooks [ a ] . inputmaskmultipatch ) { var b = e . valHooks [ a ] && e . valHooks [ a ] . get ? e . valHooks [ a ] . get : function ( a ) { return a . value } , c = e . valHooks [ a ] && e . valHooks [ a ] . set ? e . valHooks [ a ] . set : function ( a , b ) { a . value = b ; return a } ; e . valHooks [ a ] = { get : function ( a ) { var c = e ( a ) ; return c . data ( "_inputmask-multi" ) ?
( a = c . data ( "_inputmask-multi" ) , b ( a . elmasks [ a . activeMasksetIndex ] ) ) : b ( a ) } , set : function ( a , b ) { var d = e ( a ) , f = c ( a , b ) ; d . data ( "_inputmask-multi" ) && d . triggerHandler ( "setvalue" ) ; return f } , inputmaskmultipatch : ! 0 } } } function n ( a , b , c ) { a = a . jquery && 0 < a . length ? a [ 0 ] : a ; if ( "number" == typeof b ) { b = y ( b ) ; c = y ( c ) ; c = "number" == typeof c ? c : b ; if ( a != k ) { var d = e ( a ) . data ( "_inputmask" ) || { } ; d . caret = { begin : b , end : c } ; e ( a ) . data ( "_inputmask" , d ) } e ( a ) . is ( ":visible" ) && ( a . scrollLeft = a . scrollWidth , ! 1 == g . insertMode && b == c && c ++ , a . setSelectionRange ?
( a . selectionStart = b , a . selectionEnd = c ) : a . createTextRange && ( a = a . createTextRange ( ) , a . collapse ( ! 0 ) , a . moveEnd ( "character" , c ) , a . moveStart ( "character" , b ) , a . select ( ) ) ) } else return d = e ( a ) . data ( "_inputmask" ) , ! e ( a ) . is ( ":visible" ) && d && void 0 != d . caret ? ( b = d . caret . begin , c = d . caret . end ) : a . setSelectionRange ? ( b = a . selectionStart , c = a . selectionEnd ) : document . selection && document . selection . createRange && ( a = document . selection . createRange ( ) , b = 0 - a . duplicate ( ) . moveStart ( "character" , - 1E5 ) , c = b + a . text . length ) , b = y ( b ) , c = y ( c ) , { begin : b ,
end : c } } function y ( a ) { ! r || "number" != typeof a || g . greedy && "" == g . placeholder || ( a = k . value . length - a ) ; return a } function u ( a , b ) { if ( "multiMaskScope" != a ) { if ( e . isFunction ( g . determineActiveMasksetIndex ) ) l = g . determineActiveMasksetIndex . call ( p , a , b ) ; else { var c = - 1 , d = - 1 , f = - 1 ; e . each ( b , function ( a , b ) { var g = e ( b ) . data ( "_inputmask" ) . maskset , h = - 1 , k = 0 , p = n ( b ) . begin , m ; for ( m in g . validPositions ) g = parseInt ( m ) , g > h && ( h = g ) , k ++ ; if ( k > c || k == c && d > p && f > h || k == c && d == p && f < h ) c = k , d = p , l = a , f = h } ) } var h = p . data ( "_inputmask-multi" ) || { activeMasksetIndex : 0 ,
elmasks : b } ; h . activeMasksetIndex = l ; p . data ( "_inputmask-multi" , h ) } - 1 == e . inArray ( a , [ "focus" ] ) && k . value != b [ l ] . _valueGet ( ) && ( h = "" == e ( b [ l ] ) . val ( ) ? b [ l ] . _valueGet ( ) : e ( b [ l ] ) . val ( ) , k . value = h ) ; - 1 == e . inArray ( a , [ "blur" , "focus" ] ) && e ( b [ l ] ) . hasClass ( "focus-inputmask" ) && ( h = n ( b [ l ] ) , n ( k , h . begin , h . end ) ) } function K ( a ) { k = a ; p = e ( k ) ; r = "rtl" == k . dir || g . numericInput ; l = 0 ; f = e . map ( c , function ( a , b ) { var c = '<input type="text" ' ; p . attr ( "value" ) && ( c += 'value="' + p . attr ( "value" ) + '" ' ) ; p . attr ( "dir" ) && ( c += 'dir="' + p . attr ( "dir" ) + '" ' ) ; c = e ( c +
"/>" ) [ 0 ] ; e ( c ) . inputmask ( e . extend ( { } , g , { mask : a . mask } ) ) ; return c } ) ; p . data ( "_inputmask-multi" , { activeMasksetIndex : 0 , elmasks : f } ) ; ( "rtl" == k . dir || g . rightAlign ) && p . css ( "text-align" , "right" ) ; k . dir = "ltr" ; p . removeAttr ( "dir" ) ; "" != p . attr ( "value" ) && u ( "init" , f ) ; p . bind ( "mouseenter blur focus mouseleave click dblclick keydown keypress keypress" , function ( a ) { var b = n ( k ) , c , d = ! 0 ; if ( "keydown" == a . type ) { c = a . keyCode ; if ( c == g . keyCode . DOWN && l < f . length - 1 ) return l ++ , u ( "multiMaskScope" , f ) , ! 1 ; if ( c == g . keyCode . UP && 0 < l ) return l -- ,
u ( "multiMaskScope" , f ) , ! 1 ; if ( a . ctrlKey || a . shiftKey || a . altKey ) return ! 0 } else if ( "keypress" == a . type && ( a . ctrlKey || a . shiftKey || a . altKey ) ) return ! 0 ; e . each ( f , function ( f , h ) { if ( "keydown" == a . type ) { c = a . keyCode ; if ( c == g . keyCode . BACKSPACE && h . _valueGet ( ) . length < b . begin ) return ; if ( c == g . keyCode . TAB ) d = ! 1 ; else { if ( c == g . keyCode . RIGHT ) { n ( h , b . begin + 1 , b . end + 1 ) ; d = ! 1 ; return } if ( c == g . keyCode . LEFT ) { n ( h , b . begin - 1 , b . end - 1 ) ; d = ! 1 ; return } } } if ( - 1 != e . inArray ( a . type , [ "click" ] ) && ( n ( h , y ( b . begin ) , y ( b . end ) ) , b . begin != b . end ) ) { d = ! 1 ; return } - 1 !=
e . inArray ( a . type , [ "keydown" ] ) && b . begin != b . end && n ( h , b . begin , b . end ) ; e ( h ) . triggerHandler ( a ) } ) ; d && setTimeout ( function ( ) { u ( a . type , f ) } , 0 ) } ) ; p . bind ( L + " dragdrop drop setvalue" , function ( a ) { n ( k ) ; setTimeout ( function ( ) { e . each ( f , function ( b , c ) { c . _valueSet ( k . value ) ; e ( c ) . triggerHandler ( a ) } ) ; setTimeout ( function ( ) { u ( a . type , f ) } , 0 ) } , 0 ) } ) ; h ( k . type ) } var L = d ( "paste" ) ? "paste" : d ( "input" ) ? "input" : "propertychange" , r , k , p , f , l ; g . multi = ! 0 ; if ( void 0 != a ) switch ( a . action ) { case "isComplete" : return p = e ( a . el ) , a = p . data ( "_inputmask-multi" ) ,
a = a . elmasks [ a . activeMasksetIndex ] , e ( a ) . inputmask ( "isComplete" ) ; case "unmaskedvalue" : return p = a . $input , a = p . data ( "_inputmask-multi" ) , a = a . elmasks [ a . activeMasksetIndex ] , e ( a ) . inputmask ( "unmaskedvalue" ) ; case "mask" : K ( a . el ) ; break ; case "format" : return p = e ( { } ) , p . data ( "_inputmask" , { maskset : maskset , opts : g , isRTL : g . numericInput } ) , g . numericInput && ( r = ! 0 ) , a = a . value . split ( "" ) , checkVal ( p , ! 1 , ! 1 , r ? a . reverse ( ) : a , ! 0 ) , r ? getBuffer ( ) . reverse ( ) . join ( "" ) : getBuffer ( ) . join ( "" ) ; case "isValid" : return p = e ( { } ) , p . data ( "_inputmask" ,
{ maskset : maskset , opts : g , isRTL : g . numericInput } ) , g . numericInput && ( r = ! 0 ) , a = a . value . split ( "" ) , checkVal ( p , ! 1 , ! 0 , r ? a . reverse ( ) : a ) , isComplete ( getBuffer ( ) ) ; case "getemptymask" : return p = e ( a . el ) , maskset = p . data ( "_inputmask" ) . maskset , g = p . data ( "_inputmask" ) . opts , getBufferTemplate ( ) ; case "remove" : k = a . el ; p = e ( k ) ; maskset = p . data ( "_inputmask" ) . maskset ; g = p . data ( "_inputmask" ) . opts ; k . _valueSet ( unmaskedvalue ( p ) ) ; p . unbind ( ".inputmask" ) ; p . removeClass ( "focus-inputmask" ) ; p . removeData ( "_inputmask" ) ; var J ; Object . getOwnPropertyDescriptor &&
( J = Object . getOwnPropertyDescriptor ( k , "value" ) ) ; J && J . get ? k . _valueGet && Object . defineProperty ( k , "value" , { get : k . _valueGet , set : k . _valueSet } ) : document . _ _lookupGetter _ _ && k . _ _lookupGetter _ _ ( "value" ) && k . _valueGet && ( k . _ _defineGetter _ _ ( "value" , k . _valueGet ) , k . _ _defineSetter _ _ ( "value" , k . _valueSet ) ) ; try { delete k . _valueGet , delete k . _valueSet } catch ( ua ) { k . _valueGet = void 0 , k . _valueSet = void 0 } } } ; e . extend ( e . inputmask . defaults , { multi : ! 1 , determineActiveMasksetIndex : void 0 } ) ; e . inputmask . _fn = e . fn . inputmask ; e . fn . inputmask =
function ( b , c ) { if ( "string" === typeof b ) return e . inputmask . _fn ( "_detectScope" , c , void 0 , void 0 , b ) ? e . inputmask . _fn . call ( this , b , c , a , "_inputmask-multi" ) : e . inputmask . _fn . call ( this , b , c ) ; if ( "object" == typeof b ) return e . inputmask . _fn ( "_detectScope" , b ) ? e . inputmask . _fn . call ( this , b , c , a , "_inputmask-multi" ) : e . inputmask . _fn . call ( this , b , c ) ; if ( void 0 == b ) return e . inputmask . _fn . call ( this , b , c ) } } } ) ( jQuery ) ;
( function ( e ) { e . extend ( e . inputmask . defaults . definitions , { A : { validator : "[A-Za-z]" , cardinality : 1 , casing : "upper" } , "#" : { validator : "[A-Za-z\u0410-\u044f\u0401\u04510-9]" , cardinality : 1 , casing : "upper" } } ) ; e . extend ( e . inputmask . defaults . aliases , { url : { mask : "ir" , placeholder : "" , separator : "" , defaultPrefix : "http://" , regex : { urlpre1 : /[fh]/ , urlpre2 : /(ft|ht)/ , urlpre3 : /(ftp|htt)/ , urlpre4 : /(ftp:|http|ftps)/ , urlpre5 : /(ftp:\/|ftps:|http:|https)/ , urlpre6 : /(ftp:\/\/|ftps:\/|http:\/|https:)/ , urlpre7 : /(ftp:\/\/|ftps:\/\/|http:\/\/|https:\/)/ ,
urlpre8 : /(ftp:\/\/|ftps:\/\/|http:\/\/|https:\/\/)/ } , definitions : { i : { validator : function ( a , b , c , g , d ) { return ! 0 } , cardinality : 8 , prevalidator : function ( ) { for ( var a = [ ] , b = 0 ; 8 > b ; b ++ ) a [ b ] = function ( ) { var a = b ; return { validator : function ( b , d , e , n , y ) { if ( y . regex [ "urlpre" + ( a + 1 ) ] ) { var u = b ; 0 < a + 1 - b . length && ( u = d . buffer . join ( "" ) . substring ( 0 , a + 1 - b . length ) + "" + u ) ; b = y . regex [ "urlpre" + ( a + 1 ) ] . test ( u ) ; if ( ! n && ! b ) { e -= a ; for ( n = 0 ; n < y . defaultPrefix . length ; n ++ ) d . buffer [ e ] = y . defaultPrefix [ n ] , e ++ ; for ( n = 0 ; n < u . length - 1 ; n ++ ) d . buffer [ e ] = u [ n ] ,
e ++ ; return { pos : e } } return b } return ! 1 } , cardinality : a } } ( ) ; return a } ( ) } , r : { validator : "." , cardinality : 50 } } , insertMode : ! 1 , autoUnmask : ! 1 } , ip : { mask : "i[i[i]].i[i[i]].i[i[i]].i[i[i]]" , definitions : { i : { validator : function ( a , b , c , g , d ) { - 1 < c - 1 && "." != b . buffer [ c - 1 ] ? ( a = b . buffer [ c - 1 ] + a , a = - 1 < c - 2 && "." != b . buffer [ c - 2 ] ? b . buffer [ c - 2 ] + a : "0" + a ) : a = "00" + a ; return /25[0-5]|2[0-4][0-9]|[01][0-9][0-9]/ . test ( a ) } , cardinality : 1 } } } , email : { mask : "*{1,20}[.*{1,20}][.*{1,20}][.*{1,20}]@*{1,20}.*{2,6}[.*{1,2}]" , greedy : ! 1 , onBeforePaste : function ( a ,
b ) { a = a . toLowerCase ( ) ; return a . replace ( "mailto:" , "" ) } , definitions : { "*" : { validator : "[A-Za-z\u0410-\u044f\u0401\u04510-9]" , cardinality : 1 , casing : "lower" } } } } ) } ) ( jQuery ) ;
( function ( e ) { e . extend ( e . inputmask . defaults . definitions , { h : { validator : "[01][0-9]|2[0-3]" , cardinality : 2 , prevalidator : [ { validator : "[0-2]" , cardinality : 1 } ] } , s : { validator : "[0-5][0-9]" , cardinality : 2 , prevalidator : [ { validator : "[0-5]" , cardinality : 1 } ] } , d : { validator : "0[1-9]|[12][0-9]|3[01]" , cardinality : 2 , prevalidator : [ { validator : "[0-3]" , cardinality : 1 } ] } , m : { validator : "0[1-9]|1[012]" , cardinality : 2 , prevalidator : [ { validator : "[01]" , cardinality : 1 } ] } , y : { validator : "(19|20)\\d{2}" , cardinality : 4 , prevalidator : [ { validator : "[12]" ,
cardinality : 1 } , { validator : "(19|20)" , cardinality : 2 } , { validator : "(19|20)\\d" , cardinality : 3 } ] } } ) ; e . extend ( e . inputmask . defaults . aliases , { "dd/mm/yyyy" : { mask : "1/2/y" , placeholder : "dd/mm/yyyy" , regex : { val1pre : /[0-3]/ , val1 : /0[1-9]|[12][0-9]|3[01]/ , val2pre : function ( a ) { a = e . inputmask . escapeRegex . call ( this , a ) ; return RegExp ( "((0[1-9]|[12][0-9]|3[01])" + a + "[01])" ) } , val2 : function ( a ) { a = e . inputmask . escapeRegex . call ( this , a ) ; return RegExp ( "((0[1-9]|[12][0-9])" + a + "(0[1-9]|1[012]))|(30" + a + "(0[13-9]|1[012]))|(31" + a + "(0[13578]|1[02]))" ) } } ,
leapday : "29/02/" , separator : "/" , yearrange : { minyear : 1900 , maxyear : 2099 } , isInYearRange : function ( a , b , c ) { if ( isNaN ( a ) ) return ! 1 ; var g = parseInt ( a . concat ( b . toString ( ) . slice ( a . length ) ) ) ; a = parseInt ( a . concat ( c . toString ( ) . slice ( a . length ) ) ) ; return ( isNaN ( g ) ? ! 1 : b <= g && g <= c ) || ( isNaN ( a ) ? ! 1 : b <= a && a <= c ) } , determinebaseyear : function ( a , b , c ) { var g = ( new Date ) . getFullYear ( ) ; if ( a > g ) return a ; if ( b < g ) { for ( var g = b . toString ( ) . slice ( 0 , 2 ) , d = b . toString ( ) . slice ( 2 , 4 ) ; b < g + c ; ) g -- ; b = g + d ; return a > b ? a : b } return g } , onKeyUp : function ( a , b , c , g ) { b =
e ( this ) ; a . ctrlKey && a . keyCode == g . keyCode . RIGHT && ( a = new Date , b . val ( a . getDate ( ) . toString ( ) + ( a . getMonth ( ) + 1 ) . toString ( ) + a . getFullYear ( ) . toString ( ) ) ) } , definitions : { 1 : { validator : function ( a , b , c , g , d ) { var e = d . regex . val1 . test ( a ) ; return g || e || a . charAt ( 1 ) != d . separator && - 1 == "-./" . indexOf ( a . charAt ( 1 ) ) || ! ( e = d . regex . val1 . test ( "0" + a . charAt ( 0 ) ) ) ? e : ( b . buffer [ c - 1 ] = "0" , { refreshFromBuffer : { start : c - 1 , end : c } , pos : c , c : a . charAt ( 0 ) } ) } , cardinality : 2 , prevalidator : [ { validator : function ( a , b , c , g , d ) { isNaN ( b . buffer [ c + 1 ] ) || ( a += b . buffer [ c +
1 ] ) ; var e = 1 == a . length ? d . regex . val1pre . test ( a ) : d . regex . val1 . test ( a ) ; return g || e || ! ( e = d . regex . val1 . test ( "0" + a ) ) ? e : ( b . buffer [ c ] = "0" , c ++ , { pos : c } ) } , cardinality : 1 } ] } , 2 : { validator : function ( a , b , c , e , d ) { var h = d . mask . indexOf ( "2" ) == d . mask . length - 1 ? b . buffer . join ( "" ) . substr ( 5 , 3 ) : b . buffer . join ( "" ) . substr ( 0 , 3 ) ; - 1 != h . indexOf ( d . placeholder [ 0 ] ) && ( h = "01" + d . separator ) ; var n = d . regex . val2 ( d . separator ) . test ( h + a ) ; if ( ! ( e || n || a . charAt ( 1 ) != d . separator && - 1 == "-./" . indexOf ( a . charAt ( 1 ) ) ) && ( n = d . regex . val2 ( d . separator ) . test ( h + "0" +
a . charAt ( 0 ) ) ) ) return b . buffer [ c - 1 ] = "0" , { refreshFromBuffer : { start : c - 1 , end : c } , pos : c , c : a . charAt ( 0 ) } ; if ( d . mask . indexOf ( "2" ) == d . mask . length - 1 && n ) { if ( b . buffer . join ( "" ) . substr ( 4 , 4 ) + a != d . leapday ) return ! 0 ; a = parseInt ( b . buffer . join ( "" ) . substr ( 0 , 4 ) , 10 ) ; return 0 === a % 4 ? 0 === a % 100 ? 0 === a % 400 ? ! 0 : ! 1 : ! 0 : ! 1 } return n } , cardinality : 2 , prevalidator : [ { validator : function ( a , b , c , e , d ) { isNaN ( b . buffer [ c + 1 ] ) || ( a += b . buffer [ c + 1 ] ) ; var h = d . mask . indexOf ( "2" ) == d . mask . length - 1 ? b . buffer . join ( "" ) . substr ( 5 , 3 ) : b . buffer . join ( "" ) . substr ( 0 , 3 ) ;
- 1 != h . indexOf ( d . placeholder [ 0 ] ) && ( h = "01" + d . separator ) ; var n = 1 == a . length ? d . regex . val2pre ( d . separator ) . test ( h + a ) : d . regex . val2 ( d . separator ) . test ( h + a ) ; return e || n || ! ( n = d . regex . val2 ( d . separator ) . test ( h + "0" + a ) ) ? n : ( b . buffer [ c ] = "0" , c ++ , { pos : c } ) } , cardinality : 1 } ] } , y : { validator : function ( a , b , c , e , d ) { if ( d . isInYearRange ( a , d . yearrange . minyear , d . yearrange . maxyear ) ) { if ( b . buffer . join ( "" ) . substr ( 0 , 6 ) != d . leapday ) return ! 0 ; a = parseInt ( a , 10 ) ; return 0 === a % 4 ? 0 === a % 100 ? 0 === a % 400 ? ! 0 : ! 1 : ! 0 : ! 1 } return ! 1 } , cardinality : 4 , prevalidator : [ { validator : function ( a ,
b , c , e , d ) { var h = d . isInYearRange ( a , d . yearrange . minyear , d . yearrange . maxyear ) ; if ( ! e && ! h ) { e = d . determinebaseyear ( d . yearrange . minyear , d . yearrange . maxyear , a + "0" ) . toString ( ) . slice ( 0 , 1 ) ; if ( h = d . isInYearRange ( e + a , d . yearrange . minyear , d . yearrange . maxyear ) ) return b . buffer [ c ++ ] = e [ 0 ] , { pos : c } ; e = d . determinebaseyear ( d . yearrange . minyear , d . yearrange . maxyear , a + "0" ) . toString ( ) . slice ( 0 , 2 ) ; if ( h = d . isInYearRange ( e + a , d . yearrange . minyear , d . yearrange . maxyear ) ) return b . buffer [ c ++ ] = e [ 0 ] , b . buffer [ c ++ ] = e [ 1 ] , { pos : c } } return h } , cardinality : 1 } ,
{ validator : function ( a , b , c , e , d ) { var h = d . isInYearRange ( a , d . yearrange . minyear , d . yearrange . maxyear ) ; if ( ! e && ! h ) { e = d . determinebaseyear ( d . yearrange . minyear , d . yearrange . maxyear , a ) . toString ( ) . slice ( 0 , 2 ) ; if ( h = d . isInYearRange ( a [ 0 ] + e [ 1 ] + a [ 1 ] , d . yearrange . minyear , d . yearrange . maxyear ) ) return b . buffer [ c ++ ] = e [ 1 ] , { pos : c } ; e = d . determinebaseyear ( d . yearrange . minyear , d . yearrange . maxyear , a ) . toString ( ) . slice ( 0 , 2 ) ; d . isInYearRange ( e + a , d . yearrange . minyear , d . yearrange . maxyear ) ? b . buffer . join ( "" ) . substr ( 0 , 6 ) != d . leapday ? h = ! 0 : ( d =
parseInt ( a , 10 ) , h = 0 === d % 4 ? 0 === d % 100 ? 0 === d % 400 ? ! 0 : ! 1 : ! 0 : ! 1 ) : h = ! 1 ; if ( h ) return b . buffer [ c - 1 ] = e [ 0 ] , b . buffer [ c ++ ] = e [ 1 ] , b . buffer [ c ++ ] = a [ 0 ] , { refreshFromBuffer : { start : c - 3 , end : c } , pos : c } } return h } , cardinality : 2 } , { validator : function ( a , b , c , e , d ) { return d . isInYearRange ( a , d . yearrange . minyear , d . yearrange . maxyear ) } , cardinality : 3 } ] } } , insertMode : ! 1 , autoUnmask : ! 1 } , "mm/dd/yyyy" : { placeholder : "mm/dd/yyyy" , alias : "dd/mm/yyyy" , regex : { val2pre : function ( a ) { a = e . inputmask . escapeRegex . call ( this , a ) ; return RegExp ( "((0[13-9]|1[012])" +
a + "[0-3])|(02" + a + "[0-2])" ) } , val2 : function ( a ) { a = e . inputmask . escapeRegex . call ( this , a ) ; return RegExp ( "((0[1-9]|1[012])" + a + "(0[1-9]|[12][0-9]))|((0[13-9]|1[012])" + a + "30)|((0[13578]|1[02])" + a + "31)" ) } , val1pre : /[01]/ , val1 : /0[1-9]|1[012]/ } , leapday : "02/29/" , onKeyUp : function ( a , b , c , g ) { b = e ( this ) ; a . ctrlKey && a . keyCode == g . keyCode . RIGHT && ( a = new Date , b . val ( ( a . getMonth ( ) + 1 ) . toString ( ) + a . getDate ( ) . toString ( ) + a . getFullYear ( ) . toString ( ) ) ) } } , "yyyy/mm/dd" : { mask : "y/1/2" , placeholder : "yyyy/mm/dd" , alias : "mm/dd/yyyy" , leapday : "/02/29" ,
onKeyUp : function ( a , b , c , g ) { b = e ( this ) ; a . ctrlKey && a . keyCode == g . keyCode . RIGHT && ( a = new Date , b . val ( a . getFullYear ( ) . toString ( ) + ( a . getMonth ( ) + 1 ) . toString ( ) + a . getDate ( ) . toString ( ) ) ) } } , "dd.mm.yyyy" : { mask : "1.2.y" , placeholder : "dd.mm.yyyy" , leapday : "29.02." , separator : "." , alias : "dd/mm/yyyy" } , "dd-mm-yyyy" : { mask : "1-2-y" , placeholder : "dd-mm-yyyy" , leapday : "29-02-" , separator : "-" , alias : "dd/mm/yyyy" } , "mm.dd.yyyy" : { mask : "1.2.y" , placeholder : "mm.dd.yyyy" , leapday : "02.29." , separator : "." , alias : "mm/dd/yyyy" } , "mm-dd-yyyy" : { mask : "1-2-y" ,
placeholder : "mm-dd-yyyy" , leapday : "02-29-" , separator : "-" , alias : "mm/dd/yyyy" } , "yyyy.mm.dd" : { mask : "y.1.2" , placeholder : "yyyy.mm.dd" , leapday : ".02.29" , separator : "." , alias : "yyyy/mm/dd" } , "yyyy-mm-dd" : { mask : "y-1-2" , placeholder : "yyyy-mm-dd" , leapday : "-02-29" , separator : "-" , alias : "yyyy/mm/dd" } , datetime : { mask : "1/2/y h:s" , placeholder : "dd/mm/yyyy hh:mm" , alias : "dd/mm/yyyy" , regex : { hrspre : /[012]/ , hrs24 : /2[0-4]|1[3-9]/ , hrs : /[01][0-9]|2[0-4]/ , ampm : /^[a|p|A|P][m|M]/ } , timeseparator : ":" , hourFormat : "24" , definitions : { h : { validator : function ( a ,
b , c , e , d ) { if ( "24" == d . hourFormat && 24 == parseInt ( a , 10 ) ) return b . buffer [ c - 1 ] = "0" , b . buffer [ c ] = "0" , { refreshFromBuffer : { start : c - 1 , end : c } , c : "0" } ; var h = d . regex . hrs . test ( a ) ; return e || h || a . charAt ( 1 ) != d . timeseparator && - 1 == "-.:" . indexOf ( a . charAt ( 1 ) ) || ! ( h = d . regex . hrs . test ( "0" + a . charAt ( 0 ) ) ) ? h && "24" !== d . hourFormat && d . regex . hrs24 . test ( a ) ? ( a = parseInt ( a , 10 ) , b . buffer [ c + 5 ] = 24 == a ? "a" : "p" , b . buffer [ c + 6 ] = "m" , a -= 12 , 10 > a ? ( b . buffer [ c ] = a . toString ( ) , b . buffer [ c - 1 ] = "0" ) : ( b . buffer [ c ] = a . toString ( ) . charAt ( 1 ) , b . buffer [ c - 1 ] = a . toString ( ) . charAt ( 0 ) ) ,
{ refreshFromBuffer : { start : c - 1 , end : c + 6 } , c : b . buffer [ c ] } ) : h : ( b . buffer [ c - 1 ] = "0" , b . buffer [ c ] = a . charAt ( 0 ) , c ++ , { refreshFromBuffer : { start : c - 2 , end : c } , pos : c , c : d . timeseparator } ) } , cardinality : 2 , prevalidator : [ { validator : function ( a , b , c , e , d ) { var h = d . regex . hrspre . test ( a ) ; return e || h || ! ( h = d . regex . hrs . test ( "0" + a ) ) ? h : ( b . buffer [ c ] = "0" , c ++ , { pos : c } ) } , cardinality : 1 } ] } , t : { validator : function ( a , b , c , e , d ) { return d . regex . ampm . test ( a + "m" ) } , casing : "lower" , cardinality : 1 } } , insertMode : ! 1 , autoUnmask : ! 1 } , datetime12 : { mask : "1/2/y h:s t\\m" ,
placeholder : "dd/mm/yyyy hh:mm xm" , alias : "datetime" , hourFormat : "12" } , "hh:mm t" : { mask : "h:s t\\m" , placeholder : "hh:mm xm" , alias : "datetime" , hourFormat : "12" } , "h:s t" : { mask : "h:s t\\m" , placeholder : "hh:mm xm" , alias : "datetime" , hourFormat : "12" } , "hh:mm:ss" : { mask : "h:s:s" , autoUnmask : ! 1 } , "hh:mm" : { mask : "h:s" , autoUnmask : ! 1 } , date : { alias : "dd/mm/yyyy" } , "mm/yyyy" : { mask : "1/y" , placeholder : "mm/yyyy" , leapday : "donotuse" , separator : "/" , alias : "mm/dd/yyyy" } } ) } ) ( jQuery ) ;
( function ( e ) { e . extend ( e . inputmask . defaults . aliases , { numeric : { mask : function ( a ) { 0 !== a . repeat && isNaN ( a . integerDigits ) && ( a . integerDigits = a . repeat ) ; a . repeat = 0 ; a . autoGroup = a . autoGroup && "" != a . groupSeparator ; if ( a . autoGroup && isFinite ( a . integerDigits ) ) { var b = Math . floor ( a . integerDigits / a . groupSize ) ; a . integerDigits += 0 == a . integerDigits % a . groupSize ? b - 1 : b } a . definitions [ ":" ] . placeholder = a . radixPoint ; b = a . prefix ; b = b + "[+]" + ( "~{1," + a . integerDigits + "}" ) ; void 0 != a . digits && ( isNaN ( a . digits ) || 0 < parseInt ( a . digits ) ) && ( b = a . digitsOptional ?
b + ( "[:~{" + a . digits + "}]" ) : b + ( ":~{" + a . digits + "}" ) ) ; return b += a . suffix } , placeholder : "" , greedy : ! 1 , digits : "*" , digitsOptional : ! 0 , groupSeparator : "" , radixPoint : "." , groupSize : 3 , autoGroup : ! 1 , allowPlus : ! 0 , allowMinus : ! 0 , integerDigits : "+" , prefix : "" , suffix : "" , rightAlign : ! 0 , postFormat : function ( a , b , c , g ) { var d = ! 1 , h = a [ b ] ; if ( "" == g . groupSeparator || - 1 != e . inArray ( g . radixPoint , a ) && b >= e . inArray ( g . radixPoint , a ) || /[-+]/ . test ( h ) ) return { pos : b } ; var n = a . slice ( ) ; h == g . groupSeparator && ( n . splice ( b -- , 1 ) , h = n [ b ] ) ; c ? n [ b ] = "?" : n . splice ( b ,
0 , "?" ) ; b = n . join ( "" ) ; if ( g . autoGroup || c && - 1 != b . indexOf ( g . groupSeparator ) ) { n = e . inputmask . escapeRegex . call ( this , g . groupSeparator ) ; d = 0 == b . indexOf ( g . groupSeparator ) ; b = b . replace ( RegExp ( n , "g" ) , "" ) ; n = b . split ( g . radixPoint ) ; b = n [ 0 ] ; if ( b != g . prefix + "?0" && b . length > g . groupSize + g . prefix . length ) for ( var d = ! 0 , y = RegExp ( "([-+]?[\\d?]+)([\\d?]{" + g . groupSize + "})" ) ; y . test ( b ) ; ) b = b . replace ( y , "$1" + g . groupSeparator + "$2" ) , b = b . replace ( g . groupSeparator + g . groupSeparator , g . groupSeparator ) ; 1 < n . length && ( b += g . radixPoint + n [ 1 ] ) } a . length =
b . length ; g = 0 ; for ( n = b . length ; g < n ; g ++ ) a [ g ] = b . charAt ( g ) ; g = e . inArray ( "?" , a ) ; c ? a [ g ] = h : a . splice ( g , 1 ) ; return { pos : g , refreshFromBuffer : d } } , onKeyDown : function ( a , b , c , e ) { if ( e . autoGroup && ( a . keyCode == e . keyCode . DELETE || a . keyCode == e . keyCode . BACKSPACE ) ) return a = e . postFormat ( b , c - 1 , ! 0 , e ) , a . caret = a . pos + 1 , a } , onKeyPress : function ( a , b , c , e ) { if ( e . autoGroup ) return a = e . postFormat ( b , c - 1 , ! 0 , e ) , a . caret = a . pos + 1 , a } , regex : { integerPart : function ( a ) { return /[-+]?\d+/ } } , negationhandler : function ( a , b , c , e , d ) { return ! e && d . allowMinus && "-" ===
a && ( a = b . join ( "" ) . match ( d . regex . integerPart ( d ) ) , 0 < a . length ) ? "+" == b [ a . index ] ? { pos : a . index , c : "-" , remove : a . index , caret : c } : "-" == b [ a . index ] ? { remove : a . index , caret : c - 1 } : { pos : a . index , c : "-" , caret : c + 1 } : ! 1 } , definitions : { "~" : { validator : function ( a , b , c , g , d ) { var h = d . negationhandler ( a , b . buffer , c , g , d ) ; if ( ! h && ( h = g ? RegExp ( "[0-9" + e . inputmask . escapeRegex . call ( this , d . groupSeparator ) + "]" ) . test ( a ) : /[0-9]/ . test ( a ) , ! 0 === h && ( h = { pos : c } ) , ! 1 != h && ! g ) ) { g = b . buffer . join ( "" ) . match ( d . regex . integerPart ( d ) ) ; var n = e . inArray ( d . radixPoint ,
b . buffer ) ; if ( g ) if ( 0 == g [ "0" ] [ 0 ] . indexOf ( "0" ) && c >= d . prefix . length ) - 1 == n || c <= n && void 0 == b . validPositions [ n ] ? ( b . buffer . splice ( g . index , 1 ) , c = c > g . index ? c - 1 : g . index , e . extend ( h , { pos : c , remove : g . index } ) ) : c > g . index && c <= n && ( b . buffer . splice ( g . index , 1 ) , c = c > g . index ? c - 1 : g . index , e . extend ( h , { pos : c , remove : g . index } ) ) ; else if ( "0" == a && c <= g . index ) return ! 1 ; if ( ! 1 === d . digitsOptional && c > n ) return { pos : c , remove : c } } return h } , cardinality : 1 , prevalidator : null } , "+" : { validator : function ( a , b , c , e , d ) { b = "[" ; ! 0 === d . allowMinus && ( b += "-" ) ; ! 0 ===
d . allowPlus && ( b += "+" ) ; return RegExp ( b + "]" ) . test ( a ) } , cardinality : 1 , prevalidator : null } , ":" : { validator : function ( a , b , c , g , d ) { b = d . negationhandler ( a , b . buffer , c , g , d ) ; b || ( d = "[" + e . inputmask . escapeRegex . call ( this , d . radixPoint ) + "]" , b = RegExp ( d ) . test ( a ) ) ; return b } , cardinality : 1 , prevalidator : null , placeholder : "" } } , insertMode : ! 0 , autoUnmask : ! 1 , onUnMask : function ( a , b , c ) { a = a . replace ( c . prefix , "" ) ; a = a . replace ( c . suffix , "" ) ; a = a . replace ( RegExp ( e . inputmask . escapeRegex . call ( this , c . groupSeparator ) , "g" ) , "" ) ; return a = a . replace ( e . inputmask . escapeRegex . call ( this ,
c . radixPoint ) , "." ) } , isComplete : function ( a , b ) { var c = a . join ( "" ) , g = a . slice ( ) ; b . postFormat ( g , 0 , ! 0 , b ) ; if ( g . join ( "" ) != c ) return ! 1 ; c = c . replace ( b . prefix , "" ) ; c = c . replace ( b . suffix , "" ) ; c = c . replace ( RegExp ( e . inputmask . escapeRegex . call ( this , b . groupSeparator ) , "g" ) , "" ) ; c = c . replace ( e . inputmask . escapeRegex . call ( this , b . radixPoint ) , "." ) ; return isFinite ( c ) } , onBeforeMask : function ( a , b ) { if ( isFinite ( a ) ) return a . toString ( ) . replace ( "." , b . radixPoint ) ; var c = a . match ( /,/g ) , g = a . match ( /\./g ) ; g && c ? g . length > c . length ? ( a = a . replace ( /\./g ,
"" ) , a = a . replace ( "," , b . radixPoint ) ) : c . length > g . length && ( a = a . replace ( /,/g , "" ) , a = a . replace ( "." , b . radixPoint ) ) : a = a . replace ( RegExp ( e . inputmask . escapeRegex . call ( this , b . groupSeparator ) , "g" ) , "" ) ; return a } } , decimal : { alias : "numeric" } , integer : { alias : "numeric" , digits : "0" } } ) } ) ( jQuery ) ;
( function ( e ) { e . extend ( e . inputmask . defaults . aliases , { Regex : { mask : "r" , greedy : ! 1 , repeat : "*" , regex : null , regexTokens : null , tokenizer : /\[\^?]?(?:[^\\\]]+|\\[\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 , quantifierFilter : /[0-9]+[^,]/ , isComplete : function ( a , b ) { return RegExp ( b . regex ) . test ( a . join ( "" ) ) } , definitions : { r : { validator : function ( a , b , c , g , d ) { function h ( a , b ) { this . matches =
[ ] ; this . isGroup = a || ! 1 ; this . isQuantifier = b || ! 1 ; this . quantifier = { min : 1 , max : 1 } ; this . repeaterPart = void 0 } function n ( ) { var a = new h , b , c = [ ] ; for ( d . regexTokens = [ ] ; b = d . tokenizer . exec ( d . regex ) ; ) switch ( b = b [ 0 ] , b . charAt ( 0 ) ) { case "(" : c . push ( new h ( ! 0 ) ) ; break ; case ")" : var e = c . pop ( ) ; 0 < c . length ? c [ c . length - 1 ] . matches . push ( e ) : a . matches . push ( e ) ; break ; case "{" : case "+" : case "*" : var g = new h ( ! 1 , ! 0 ) ; b = b . replace ( /[{}]/g , "" ) ; e = b . split ( "," ) ; b = isNaN ( e [ 0 ] ) ? e [ 0 ] : parseInt ( e [ 0 ] ) ; e = 1 == e . length ? b : isNaN ( e [ 1 ] ) ? e [ 1 ] : parseInt ( e [ 1 ] ) ; g . quantifier =
{ min : b , max : e } ; if ( 0 < c . length ) { var n = c [ c . length - 1 ] . matches ; b = n . pop ( ) ; b . isGroup || ( e = new h ( ! 0 ) , e . matches . push ( b ) , b = e ) ; n . push ( b ) ; n . push ( g ) } else b = a . matches . pop ( ) , b . isGroup || ( e = new h ( ! 0 ) , e . matches . push ( b ) , b = e ) , a . matches . push ( b ) , a . matches . push ( g ) ; break ; default : 0 < c . length ? c [ c . length - 1 ] . matches . push ( b ) : a . matches . push ( b ) } 0 < a . matches . length && d . regexTokens . push ( a ) } function y ( a , b ) { var c = ! 1 ; b && ( u += "(" , K ++ ) ; for ( var d = 0 ; d < a . matches . length ; d ++ ) { var g = a . matches [ d ] ; if ( ! 0 == g . isGroup ) c = y ( g , ! 0 ) ; else if ( ! 0 == g . isQuantifier ) { var h =
e . inArray ( g , a . matches ) , h = a . matches [ h - 1 ] , n = u ; if ( isNaN ( g . quantifier . max ) ) { for ( ; g . repeaterPart && g . repeaterPart != u && g . repeaterPart . length > u . length && ! ( c = y ( h , ! 0 ) ) ; ) ; ( c = c || y ( h , ! 0 ) ) && ( g . repeaterPart = u ) ; u = n + g . quantifier . max } else { for ( var m = 0 , t = g . quantifier . max - 1 ; m < t && ! ( c = y ( h , ! 0 ) ) ; m ++ ) ; u = n + "{" + g . quantifier . min + "," + g . quantifier . max + "}" } } else if ( void 0 != g . matches ) for ( h = 0 ; h < g . length && ! ( c = y ( g [ h ] , b ) ) ; h ++ ) ; else { if ( "[" == g [ 0 ] ) { c = u ; c += g ; for ( m = 0 ; m < K ; m ++ ) c += ")" ; c = RegExp ( "^(" + c + ")$" ) ; c = c . test ( L ) } else for ( h = 0 , n = g . length ; h <
n ; h ++ ) if ( "\\" != g [ h ] ) { c = u ; c += g . substr ( 0 , h + 1 ) ; c = c . replace ( /\|$/ , "" ) ; for ( m = 0 ; m < K ; m ++ ) c += ")" ; c = RegExp ( "^(" + c + ")$" ) ; if ( c = c . test ( L ) ) break } u += g } if ( c ) break } b && ( u += ")" , K -- ) ; return c } null == d . regexTokens && n ( ) ; g = b . buffer . slice ( ) ; var u = "" ; b = ! 1 ; var K = 0 ; g . splice ( c , 0 , a ) ; var L = g . join ( "" ) ; for ( a = 0 ; a < d . regexTokens . length && ! ( h = d . regexTokens [ a ] , b = y ( h , h . isGroup ) ) ; a ++ ) ; return b } , cardinality : 1 } } } } ) } ) ( jQuery ) ;
( function ( e ) { e . extend ( e . inputmask . defaults . aliases , { phone : { url : "phone-codes/phone-codes.json" , mask : function ( a ) { a . definitions = { p : { validator : function ( ) { return ! 1 } , cardinality : 1 } , "#" : { validator : "[0-9]" , cardinality : 1 } } ; var b = [ ] ; e . ajax ( { url : a . url , async : ! 1 , dataType : "json" , success : function ( a ) { b = a } } ) ; b . splice ( 0 , 0 , "+p(ppp)ppp-pppp" ) ; return b } , nojumps : ! 0 , nojumpsThreshold : 1 } , phonebe : { url : "phone-codes/phone-be.json" , mask : function ( a ) { a . definitions = { p : { validator : function ( ) { return ! 1 } , cardinality : 1 } , "#" : { validator : "[0-9]" ,
cardinality : 1 } } ; var b = [ ] ; e . ajax ( { url : a . url , async : ! 1 , dataType : "json" , success : function ( a ) { b = a } } ) ; b . splice ( 0 , 0 , "+32(ppp)ppp-pppp" ) ; return b } , nojumps : ! 0 , nojumpsThreshold : 4 } } ) } ) ( jQuery ) ;