2016-09-03 11:05:50 +00:00
/ *
* This combined file was created by the DataTables downloader builder :
* https : / / datatables . net / download
*
* To rebuild or modify this file with the latest versions of the included
* software please visit :
2016-09-22 08:06:46 +00:00
* https : / / datatables . net / download / #bs/jszip-2.5.0/pdfmake-0.1.18/dt-1.10.12/b-1.2.2/b-colvis-1.2.2/b-flash-1.2.2/b-html5-1.2.2/b-print-1.2.2/cr-1.3.2/fc-3.2.2/fh-3.1.2/kt-2.1.3/r-2.1.0/rr-1.1.2/se-1.2.0
2016-09-03 11:05:50 +00:00
*
* Included libraries :
2016-09-22 08:06:46 +00:00
* JSZip 2.5 .0 , pdfmake 0.1 .18 , DataTables 1.10 .12 , Buttons 1.2 .2 , Column visibility 1.2 .2 , Flash export 1.2 .2 , HTML5 export 1.2 .2 , Print view 1.2 .2 , ColReorder 1.3 .2 , FixedColumns 3.2 .2 , FixedHeader 3.1 .2 , KeyTable 2.1 .3 , Responsive 2.1 .0 , RowReorder 1.1 .2 , Select 1.2 .0
2016-09-03 11:05:50 +00:00
* /
/ * !
JSZip - A Javascript class for generating and reading zip files
< http : / / stuartk . com / jszip >
( c ) 2009 - 2014 Stuart Knightley < stuart [ at ] stuartk . com >
Dual licenced under the MIT license or GPLv3 . See https : / / raw . github . com / Stuk / jszip / master / LICENSE . markdown .
JSZip uses the library pako released under the MIT license :
https : / / github . com / nodeca / pako / blob / master / LICENSE
* /
2016-12-25 15:10:53 +00:00
! function ( a ) { if ( " object " == typeof exports & & " undefined " != typeof module ) module . exports = a ( ) ; else if ( " function " == typeof define & & define . amd ) define ( [ ] , a ) ; else { var b ; " undefined " != typeof window ? b = window : " undefined " != typeof global ? b = global : " undefined " != typeof self & & ( b = self ) , b . JSZip = a ( ) } } ( function ( ) { return function a ( b , c , d ) { function e ( g , h ) { if ( ! c [ g ] ) { if ( ! b [ g ] ) { var i = " function " == typeof require & & require ; if ( ! h & & i ) return i ( g , ! 0 ) ; if ( f ) return f ( g , ! 0 ) ; throw new Error ( " Cannot find module ' " + g + " ' " ) } var j = c [ g ] = { exports : { } } ; b [ g ] [ 0 ] . call ( j . exports , function ( a ) { var c = b [ g ] [ 1 ] [ a ] ; return e ( c ? c : a ) } , j , j . exports , a , b , c , d ) } return c [ g ] . exports } for ( var f = " function " == typeof require & & require , g = 0 ; g < d . length ; g + + ) e ( d [ g ] ) ; return e } ( { 1 : [ function ( a , b , c ) { " use strict " ; var d = " ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= " ; c . encode = function ( a ) { for ( var b , c , e , f , g , h , i , j = " " , k = 0 ; k < a . length ; ) b = a . charCodeAt ( k + + ) , c = a . charCodeAt ( k + + ) , e = a . charCodeAt ( k + + ) , f = b >> 2 , g = ( 3 & b ) << 4 | c >> 4 , h = ( 15 & c ) << 2 | e >> 6 , i = 63 & e , isNaN ( c ) ? h = i = 64 : isNaN ( e ) & & ( i = 64 ) , j = j + d . charAt ( f ) + d . charAt ( g ) + d . charAt ( h ) + d . charAt ( i ) ; return j } , c . decode = function ( a ) { var b , c , e , f , g , h , i , j = " " , k = 0 ; for ( a = a . replace ( / [ ^ A - Za - z0 - 9 \+ \/ \= ] / g , " " ) ; k < a . length ; ) f = d . indexOf ( a . charAt ( k + + ) ) , g = d . indexOf ( a . charAt ( k + + ) ) , h = d . indexOf ( a . charAt ( k + + ) ) , i = d . indexOf ( a . charAt ( k + + ) ) , b = f << 2 | g >> 4 , c = ( 15 & g ) << 4 | h >> 2 , e = ( 3 & h ) << 6 | i , j + = String . fromCharCode ( b ) , 64 != h & & ( j + = String . fromCharCode ( c ) ) , 64 != i & & ( j + = String . fromCharCode ( e ) ) ; return j } } , { } ] , 2 : [ function ( a , b ) { " use strict " ; function c ( ) { this . compressedSize = 0 , this . uncompressedSize = 0 , this . crc32 = 0 , this . compressionMethod = null , this . compressedContent = null } c . prototype = { getContent : function ( ) { return null } , getCompressedContent : function ( ) { return null } } , b . exports = c } , { } ] , 3 : [ function ( a , b , c ) { " use strict " ; c . STORE = { magic : " \x00 \x00 " , compress : function ( a ) { return a } , uncompress : function ( a ) { return a } , compressInputType : null , uncompressInputType : null } , c . DEFLATE = a ( " ./flate " ) } , { " ./flate " : 8 } ] , 4 : [ function ( a , b ) { " use strict " ; var c = a ( " ./utils " ) , d = [ 0 , 1996959894 , 3993919788 , 2567524794 , 124634137 , 1886057615 , 3915621685 , 2657392035 , 249268274 , 2044508324 , 3772115230 , 2547177864 , 162941995 , 2125561021 , 3887607047 , 2428444049 , 498536548 , 1789927666 , 4089016648 , 2227061214 , 450548861 , 1843258603 , 4107580753 , 2211677639 , 325883990 , 1684777152 , 4251122042 , 2321926636 , 335633487 , 1661365465 , 4195302755 , 2366115317 , 997073096 , 1281953886 , 3579855332 , 2724688242 , 1006888145 , 1258607687 , 3524101629 , 2768942443 , 901097722 , 1119000684 , 3686517206 , 2898065728 , 853044451 , 1172266101 , 3705015759 , 2882616665 , 651767980 , 1373503546 , 3369554304 , 3218104598 , 565507253 , 1454621731 , 3485111705 , 3099436303 , 671266974 , 1594198024 , 3322730930 , 2970347812 , 795835527 , 1483230225 , 3244367275 , 3060149565 , 1994146192 , 31158534 , 2563907772 , 4023717930 , 1907459465 , 112637215 , 2680153253 , 3904427059 , 2013776290 , 251722036 , 2517215374 , 3775830040 , 2137656763 , 141376813 , 2439277719 , 3865271297 , 1802195444 , 476864866 , 2238001368 , 4066508878 , 1812370925 , 453092731 , 2181625025 , 4111451223 , 1706088902 , 314042704 , 2344532202 , 4240017532 , 1658658271 , 366619977 , 2362670323 , 4224994405 , 1303535960 , 984961486 , 2747007092 , 3569037538 , 1256170817 , 1037604311 , 2765210733 , 3554079995 , 1131014506 , 879679996 , 2909243462 , 3663771856 , 1141124467 , 855842277 , 2852801631 , 3708648649 , 1342533948 , 654459306 , 3188396048 , 3373015174 , 1466479909 , 544179635 , 3110523913 , 3462522015 , 1591671054 , 702138776 , 2966460450 , 3352799412 , 1504918807 , 783551873 , 3082640443 , 3233442989 , 3988292384 , 2596254646 , 62317068 , 1957810842 , 3939845945 , 2647816111 , 81470997 , 1943803523 , 3814918930 , 2489596804 , 225274430 , 2053790376 , 3826175755 , 2466906013 , 167816743 , 2097651377 , 4027552580 , 2265490386 , 503444072 , 1762050814 , 4150417245 , 2154129355 , 426522225 , 1852507879 , 4275313526 , 2312317920 , 282753626 , 1742555852 , 4189708143 , 2394877945 , 397917763 , 1622183637 , 3604390888 , 2714866558 , 953729732 , 1340076626 , 3518719985 , 2797360999 , 1068828381 , 1219638859 , 3624741850 , 2936675148 , 906185462 , 1090812512 , 3747672003 , 2825379669 , 829329135 , 1181335161 , 3412177804 , 3160834842 , 628085408 , 1382605366 , 3423369109 , 3138078467 , 570562233 , 1426400815 , 3317316542 , 2998733608 , 733239954 , 1555261956 , 3268935591 , 3050360625 , 752459403 , 1541320221 , 2607071920 , 3965973030 , 1969922972 , 40735498 , 2617837225 , 3943577151 , 19130878
2016-09-03 11:05:50 +00:00
} return null } , findExtraFieldUnicodeComment : function ( ) { var a = this . extraFields [ 25461 ] ; if ( a ) { var b = new d ( a . value ) ; return 1 != = b . readInt ( 1 ) ? null : g . crc32 ( this . fileComment ) != = b . readInt ( 4 ) ? null : g . utf8decode ( b . readString ( a . length - 5 ) ) } return null } } , b . exports = c } , { " ./compressedObject " : 2 , " ./object " : 13 , " ./stringReader " : 15 , " ./utils " : 21 } ] , 24 : [ function ( a , b ) { " use strict " ; var c = a ( " ./lib/utils/common " ) . assign , d = a ( " ./lib/deflate " ) , e = a ( " ./lib/inflate " ) , f = a ( " ./lib/zlib/constants " ) , g = { } ; c ( g , d , e , f ) , b . exports = g } , { " ./lib/deflate " : 25 , " ./lib/inflate " : 26 , " ./lib/utils/common " : 27 , " ./lib/zlib/constants " : 30 } ] , 25 : [ function ( a , b , c ) { " use strict " ; function d ( a , b ) { var c = new s ( b ) ; if ( c . push ( a , ! 0 ) , c . err ) throw c . msg ; return c . result } function e ( a , b ) { return b = b | | { } , b . raw = ! 0 , d ( a , b ) } function f ( a , b ) { return b = b | | { } , b . gzip = ! 0 , d ( a , b ) } var g = a ( " ./zlib/deflate.js " ) , h = a ( " ./utils/common " ) , i = a ( " ./utils/strings " ) , j = a ( " ./zlib/messages " ) , k = a ( " ./zlib/zstream " ) , l = 0 , m = 4 , n = 0 , o = 1 , p = - 1 , q = 0 , r = 8 , s = function ( a ) { this . options = h . assign ( { level : p , method : r , chunkSize : 16384 , windowBits : 15 , memLevel : 8 , strategy : q , to : " " } , a | | { } ) ; var b = this . options ; b . raw & & b . windowBits > 0 ? b . windowBits = - b . windowBits : b . gzip & & b . windowBits > 0 & & b . windowBits < 16 & & ( b . windowBits + = 16 ) , this . err = 0 , this . msg = " " , this . ended = ! 1 , this . chunks = [ ] , this . strm = new k , this . strm . avail_out = 0 ; var c = g . deflateInit2 ( this . strm , b . level , b . method , b . windowBits , b . memLevel , b . strategy ) ; if ( c != = n ) throw new Error ( j [ c ] ) ; b . header & & g . deflateSetHeader ( this . strm , b . header ) } ; s . prototype . push = function ( a , b ) { var c , d , e = this . strm , f = this . options . chunkSize ; if ( this . ended ) return ! 1 ; d = b == = ~ ~ b ? b : b == = ! 0 ? m : l , e . input = " string " == typeof a ? i . string2buf ( a ) : a , e . next_in = 0 , e . avail_in = e . input . length ; do { if ( 0 == = e . avail_out & & ( e . output = new h . Buf8 ( f ) , e . next_out = 0 , e . avail_out = f ) , c = g . deflate ( e , d ) , c != = o & & c != = n ) return this . onEnd ( c ) , this . ended = ! 0 , ! 1 ; ( 0 == = e . avail_out | | 0 == = e . avail_in & & d == = m ) & & this . onData ( " string " == = this . options . to ? i . buf2binstring ( h . shrinkBuf ( e . output , e . next_out ) ) : h . shrinkBuf ( e . output , e . next_out ) ) } while ( ( e . avail_in > 0 | | 0 == = e . avail_out ) & & c != = o ) ; return d == = m ? ( c = g . deflateEnd ( this . strm ) , this . onEnd ( c ) , this . ended = ! 0 , c == = n ) : ! 0 } , s . prototype . onData = function ( a ) { this . chunks . push ( a ) } , s . prototype . onEnd = function ( a ) { a == = n & & ( this . result = " string " == = this . options . to ? this . chunks . join ( " " ) : h . flattenChunks ( this . chunks ) ) , this . chunks = [ ] , this . err = a , this . msg = this . strm . msg } , c . Deflate = s , c . deflate = d , c . deflateRaw = e , c . gzip = f } , { " ./utils/common " : 27 , " ./utils/strings " : 28 , " ./zlib/deflate.js " : 32 , " ./zlib/messages " : 37 , " ./zlib/zstream " : 39 } ] , 26 : [ function ( a , b , c ) { " use strict " ; function d ( a , b ) { var c = new m ( b ) ; if ( c . push ( a , ! 0 ) , c . err ) throw c . msg ; return c . result } function e ( a , b ) { return b = b | | { } , b . raw = ! 0 , d ( a , b ) } var f = a ( " ./zlib/inflate.js " ) , g = a ( " ./utils/common " ) , h = a ( " ./utils/strings " ) , i = a ( " ./zlib/constants " ) , j = a ( " ./zlib/messages " ) , k = a ( " ./zlib/zstream " ) , l = a ( " ./zlib/gzheader " ) , m = function ( a ) { this . options = g . assign ( { chunkSize : 16384 , windowBits : 0 , to : " " } , a | | { } ) ; var b = this . options ; b . raw & & b . windowBits > = 0 & & b . windowBits < 16 & & ( b . windowBits = - b . windowBits , 0 == = b . windowBits & & ( b . windowBits = - 15 ) ) , ! ( b . windowBits > = 0 & & b . windowBits < 16 ) | | a & & a . windowBits | | ( b . windowBits + = 32 ) , b . windowBits > 15 & & b . windowBits < 48 & & 0 == = ( 15 & b . windowBits ) & & ( b . windowBits | = 15 ) , this . err = 0 , this . msg = " " , this . ended = ! 1 , this . chunks = [ ] , this . strm = new k , this . strm . avail_out = 0 ; var c = f . inflateInit2 ( this . strm , b . windowBits ) ; if ( c != = i . Z_OK ) throw new Error ( j [ c ] ) ; this . header = new l , f . inflateGetHeader ( this . strm , this . header ) } ; m . prototype . push = function ( a , b ) { var c , d , e , j , k , l = this . strm , m = this . options . chunkSize ; if ( this . ended ) return ! 1 ; d = b == = ~ ~ b ? b : b == = ! 0 ? i . Z_FINISH : i . Z_NO_FLUSH , l . input = " string " == typeof a ? h . binstring2buf ( a ) : a , l . next_in = 0 , l . avail_in = l . input . length ; do { if ( 0 == = l . avail_out & & ( l . output = new g . Buf8 ( m ) , l . next_out = 0 , l . avail_out = m ) , c = f . inflate ( l , i . Z_NO_FLUSH ) , c != = i . Z_STREAM_END & & c != = i . Z_OK ) return this . onEnd ( c ) , this . ended = ! 0 , ! 1 ; l . next_out & & ( 0 == = l . avail_out | | c == = i . Z_STREAM_END | | 0 == = l . avail_in & & d == = i . Z_FINISH ) & & ( " string " == = this . options . to ? ( e = h . utf8border ( l . output , l . next_out ) , j = l . next_out - e , k = h . buf2string ( l . output , e ) , l . next_out = j , l . avail_out = m - j , j & & g . arraySet ( l . output , l . output , e , j , 0 ) , this . onData ( k ) ) : this . onData ( g . shrinkBuf ( l . output ,
break } for ( c . back = 0 ; Ab = c . lencode [ m & ( 1 << c . lenbits ) - 1 ] , qb = Ab >> > 24 , rb = Ab >> > 16 & 255 , sb = 65535 & Ab , ! ( n > = qb ) ; ) { if ( 0 == = i ) break a ; i - - , m + = e [ g + + ] << n , n + = 8 } if ( rb & & 0 == = ( 240 & rb ) ) { for ( tb = qb , ub = rb , vb = sb ; Ab = c . lencode [ vb + ( ( m & ( 1 << tb + ub ) - 1 ) >> tb ) ] , qb = Ab >> > 24 , rb = Ab >> > 16 & 255 , sb = 65535 & Ab , ! ( n > = tb + qb ) ; ) { if ( 0 == = i ) break a ; i - - , m + = e [ g + + ] << n , n + = 8 } m >> > = tb , n - = tb , c . back + = tb } if ( m >> > = qb , n - = qb , c . back + = qb , c . length = sb , 0 == = rb ) { c . mode = hb ; break } if ( 32 & rb ) { c . back = - 1 , c . mode = V ; break } if ( 64 & rb ) { a . msg = " invalid literal/length code " , c . mode = lb ; break } c . extra = 15 & rb , c . mode = db ; case db : if ( c . extra ) { for ( zb = c . extra ; zb > n ; ) { if ( 0 == = i ) break a ; i - - , m + = e [ g + + ] << n , n + = 8 } c . length + = m & ( 1 << c . extra ) - 1 , m >> > = c . extra , n - = c . extra , c . back + = c . extra } c . was = c . length , c . mode = eb ; case eb : for ( ; Ab = c . distcode [ m & ( 1 << c . distbits ) - 1 ] , qb = Ab >> > 24 , rb = Ab >> > 16 & 255 , sb = 65535 & Ab , ! ( n > = qb ) ; ) { if ( 0 == = i ) break a ; i - - , m + = e [ g + + ] << n , n + = 8 } if ( 0 == = ( 240 & rb ) ) { for ( tb = qb , ub = rb , vb = sb ; Ab = c . distcode [ vb + ( ( m & ( 1 << tb + ub ) - 1 ) >> tb ) ] , qb = Ab >> > 24 , rb = Ab >> > 16 & 255 , sb = 65535 & Ab , ! ( n > = tb + qb ) ; ) { if ( 0 == = i ) break a ; i - - , m + = e [ g + + ] << n , n + = 8 } m >> > = tb , n - = tb , c . back + = tb } if ( m >> > = qb , n - = qb , c . back + = qb , 64 & rb ) { a . msg = " invalid distance code " , c . mode = lb ; break } c . offset = sb , c . extra = 15 & rb , c . mode = fb ; case fb : if ( c . extra ) { for ( zb = c . extra ; zb > n ; ) { if ( 0 == = i ) break a ; i - - , m + = e [ g + + ] << n , n + = 8 } c . offset + = m & ( 1 << c . extra ) - 1 , m >> > = c . extra , n - = c . extra , c . back + = c . extra } if ( c . offset > c . dmax ) { a . msg = " invalid distance too far back " , c . mode = lb ; break } c . mode = gb ; case gb : if ( 0 == = j ) break a ; if ( q = p - j , c . offset > q ) { if ( q = c . offset - q , q > c . whave & & c . sane ) { a . msg = " invalid distance too far back " , c . mode = lb ; break } q > c . wnext ? ( q - = c . wnext , ob = c . wsize - q ) : ob = c . wnext - q , q > c . length & & ( q = c . length ) , pb = c . window } else pb = f , ob = h - c . offset , q = c . length ; q > j & & ( q = j ) , j - = q , c . length - = q ; do f [ h + + ] = pb [ ob + + ] ; while ( - - q ) ; 0 == = c . length & & ( c . mode = cb ) ; break ; case hb : if ( 0 == = j ) break a ; f [ h + + ] = c . length , j - - , c . mode = cb ; break ; case ib : if ( c . wrap ) { for ( ; 32 > n ; ) { if ( 0 == = i ) break a ; i - - , m | = e [ g + + ] << n , n + = 8 } if ( p - = j , a . total_out + = p , c . total + = p , p & & ( a . adler = c . check = c . flags ? t ( c . check , f , p , h - p ) : s ( c . check , f , p , h - p ) ) , p = j , ( c . flags ? m : d ( m ) ) != = c . check ) { a . msg = " incorrect data check " , c . mode = lb ; break } m = 0 , n = 0 } c . mode = jb ; case jb : if ( c . wrap & & c . flags ) { for ( ; 32 > n ; ) { if ( 0 == = i ) break a ; i - - , m + = e [ g + + ] << n , n + = 8 } if ( m != = ( 4294967295 & c . total ) ) { a . msg = " incorrect length check " , c . mode = lb ; break } m = 0 , n = 0 } c . mode = kb ; case kb : xb = D ; break a ; case lb : xb = G ; break a ; case mb : return H ; case nb : default : return F } return a . next_out = h , a . avail_out = j , a . next_in = g , a . avail_in = i , c . hold = m , c . bits = n , ( c . wsize | | p != = a . avail_out & & c . mode < lb & & ( c . mode < ib | | b != = z ) ) & & l ( a , a . output , a . next_out , p - a . avail_out ) ? ( c . mode = mb , H ) : ( o - = a . avail_in , p - = a . avail_out , a . total_in + = o , a . total_out + = p , c . total + = p , c . wrap & & p & & ( a . adler = c . check = c . flags ? t ( c . check , f , p , a . next_out - p ) : s ( c . check , f , p , a . next_out - p ) ) , a . data_type = c . bits + ( c . last ? 64 : 0 ) + ( c . mode == = V ? 128 : 0 ) + ( c . mode == = bb | | c . mode == = Y ? 256 : 0 ) , ( 0 == = o & & 0 == = p | | b == = z ) & & xb == = C & & ( xb = I ) , xb ) } function n ( a ) { if ( ! a | | ! a . state ) return F ; var b = a . state ; return b . window & & ( b . window = null ) , a . state = null , C } function o ( a , b ) { var c ; return a & & a . state ? ( c = a . state , 0 == = ( 2 & c . wrap ) ? F : ( c . head = b , b . done = ! 1 , C ) ) : F } var p , q , r = a ( " ../utils/common " ) , s = a ( " ./adler32 " ) , t = a ( " ./crc32 " ) , u = a ( " ./inffast " ) , v = a ( " ./inftrees " ) , w = 0 , x = 1 , y = 2 , z = 4 , A = 5 , B = 6 , C = 0 , D = 1 , E = 2 , F = - 2 , G = - 3 , H = - 4 , I = - 5 , J = 8 , K = 1 , L = 2 , M = 3 , N = 4 , O = 5 , P = 6 , Q = 7 , R = 8 , S = 9 , T = 10 , U = 11 , V = 12 , W = 13 , X = 14 , Y = 15 , Z = 16 , $ = 17 , _ = 18 , ab = 19 , bb = 20 , cb = 21 , db = 22 , eb = 23 , fb = 24 , gb = 25 , hb = 26 , ib = 27 , jb = 28 , kb = 29 , lb = 30 , mb = 31 , nb = 32 , ob = 852 , pb = 592 , qb = 15 , rb = qb , sb = ! 0 ; c . inflateReset = g , c . inflateReset2 = h , c . inflateResetKeep = f , c . inflateInit = j , c . inflateInit2 = i , c . inflate = m , c . inflateEnd = n , c . inflateGetHeader = o , c . inflateInfo = " pako inflate (from Nodeca project) " } , { " ../utils/common " : 27 , " ./adler32 " : 29 , " ./crc32 " : 31 , " ./inffast " : 34 , " ./inftrees " : 36 } ] , 36 : [ function ( a , b ) { " use strict " ; var c = a ( " ../utils/common " ) , d = 15 , e = 852 , f = 592 , g = 0 , h = 1 , i = 2 , j = [ 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 13 , 15 , 17 , 19 , 23 , 27 , 31 , 35 , 43 , 51 , 59 , 67 , 83 , 99 , 115 , 131 , 163 , 195 , 227 , 258 , 0 , 0 ] , k = [ 16 , 16 , 16 , 16 , 16 , 16 , 16 , 16 , 17 , 17 , 17 , 17 , 18 , 18 , 18 , 18 , 19 , 19 , 19 , 19 , 20 , 20 , 20 , 20 , 21 , 21 , 21 , 21 , 16 , 72 , 78 ] , l = [ 1 , 2 , 3 , 4 , 5 , 7 , 9 , 13 , 17 , 25 , 33 , 49 , 65 , 97 , 129 , 193 , 257 , 385 , 513 , 769 , 1025 , 1537 , 2049 , 3073 , 4097 , 6145 , 8193 , 12289 , 16385 , 24577 , 0 , 0 ] , m = [ 16 , 16 , 16 , 16 , 17 , 17 , 18 , 18 , 19 , 19 , 20 , 20 , 21 , 21 , 22 , 22 , 23 , 23 , 24 , 24 , 25 , 25 , 26 , 26 , 27 , 27 , 28 , 28 , 29
2016-12-25 15:10:53 +00:00
! function ( t ) { function e ( r ) { if ( n [ r ] ) return n [ r ] . exports ; var i = n [ r ] = { exports : { } , id : r , loaded : ! 1 } ; return t [ r ] . call ( i . exports , i , i . exports , e ) , i . loaded = ! 0 , i . exports } var n = { } ; return e . m = t , e . c = n , e . p = " " , e ( 0 ) } ( [ function ( t , e , n ) { ( function ( e ) { t . exports = e . pdfMake = n ( 1 ) } ) . call ( e , function ( ) { return this } ( ) ) } , function ( t , e , n ) { ( function ( e ) { " use strict " ; function r ( t , e , n ) { this . docDefinition = t , this . fonts = e | | a , this . vfs = n } var i = n ( 2 ) , o = n ( 3 ) , a = { Roboto : { normal : " Roboto-Regular.ttf " , bold : " Roboto-Medium.ttf " , italics : " Roboto-Italic.ttf " , bolditalics : " Roboto-Italic.ttf " } } ; r . prototype . _createDoc = function ( t , n ) { var r = new i ( this . fonts ) ; r . fs . bindFS ( this . vfs ) ; var o , a = r . createPdfKitDocument ( this . docDefinition , t ) , s = [ ] ; a . on ( " data " , function ( t ) { s . push ( t ) } ) , a . on ( " end " , function ( ) { o = e . concat ( s ) , n ( o , a . _pdfMakePages ) } ) , a . end ( ) } , r . prototype . _getPages = function ( t , e ) { if ( ! e ) throw " getBuffer is an async method and needs a callback argument " ; this . _createDoc ( t , function ( t , n ) { e ( n ) } ) } , r . prototype . open = function ( t ) { var e = window . open ( " " , " _blank " ) ; try { this . getDataUrl ( function ( t ) { e . location . href = t } ) } catch ( n ) { throw e . close ( ) , n } } , r . prototype . print = function ( ) { this . getDataUrl ( function ( t ) { var e = document . createElement ( " iframe " ) ; e . style . position = " absolute " , e . style . left = " -99999px " , e . src = t , e . onload = function ( ) { function t ( ) { document . body . removeChild ( e ) , document . removeEventListener ( " click " , t ) } document . addEventListener ( " click " , t , ! 1 ) } , document . body . appendChild ( e ) } , { autoPrint : ! 0 } ) } , r . prototype . download = function ( t , e ) { " function " == typeof t & & ( e = t , t = null ) , t = t | | " file.pdf " , this . getBuffer ( function ( n ) { o ( new Blob ( [ n ] , { type : " applications/pdf " } ) , t ) , " function " == typeof e & & e ( ) } ) } , r . prototype . getBase64 = function ( t , e ) { if ( ! t ) throw " getBase64 is an async method and needs a callback argument " ; this . _createDoc ( e , function ( e ) { t ( e . toString ( " base64 " ) ) } ) } , r . prototype . getDataUrl = function ( t , e ) { if ( ! t ) throw " getDataUrl is an async method and needs a callback argument " ; this . _createDoc ( e , function ( e ) { t ( " data:applications/pdf;base64, " + e . toString ( " base64 " ) ) } ) } , r . prototype . getBuffer = function ( t , e ) { if ( ! t ) throw " getBuffer is an async method and needs a callback argument " ; this . _createDoc ( e , function ( e ) { t ( e ) } ) } , t . exports = { createPdf : function ( t ) { return new r ( t , window . pdfMake . fonts , window . pdfMake . vfs ) } } } ) . call ( e , n ( 4 ) . Buffer ) } , function ( t , e , n ) { " use strict " ; function r ( t ) { this . fontDescriptors = t } function i ( t ) { if ( ! t ) return null ; if ( " number " == typeof t | | t instanceof Number ) t = { left : t , right : t , top : t , bottom : t } ; else if ( t instanceof Array ) if ( 2 == = t . length ) t = { left : t [ 0 ] , top : t [ 1 ] , right : t [ 0 ] , bottom : t [ 1 ] } ; else { if ( 4 != = t . length ) throw " Invalid pageMargins definition " ; t = { left : t [ 0 ] , top : t [ 1 ] , right : t [ 2 ] , bottom : t [ 3 ] } } return t } function o ( t ) { t . registerTableLayouts ( { noBorders : { hLineWidth : function ( t ) { return 0 } , vLineWidth : function ( t ) { return 0 } , paddingLeft : function ( t ) { return t & & 4 | | 0 } , paddingRight : function ( t , e ) { return t < e . table . widths . length - 1 ? 4 : 0 } } , headerLineOnly : { hLineWidth : function ( t , e ) { return 0 == = t | | t == = e . table . body . length ? 0 : t == = e . table . headerRows ? 2 : 0 } , vLineWidth : function ( t ) { return 0 } , paddingLeft : function ( t ) { return 0 == = t ? 0 : 8 } , paddingRight : function ( t , e ) { return t == = e . table . widths . length - 1 ? 0 : 8 } } , lightHorizontalLines : { hLineWidth : function ( t , e ) { return 0 == = t | | t == = e . table . body . length ? 0 : t == = e . table . headerRows ? 2 : 1 } , vLineWidth : function ( t ) { return 0 } , hLineColor : function ( t ) { return 1 == = t ? " black " : " #aaa " } , paddingLeft : function ( t ) { return 0 == = t ? 0 : 8 } , paddingRight : function ( t , e ) { return t == = e . table . widths . length - 1 ? 0 : 8 } } } ) } function a ( t ) { if ( " string " == typeof t | | t instanceof String ) { var e = y [ t . toUpperCase ( ) ] ; if ( ! e ) throw " Page size " + t + " not recognized " ; return { width : e [ 0 ] , height : e [ 1 ] } } return t } function s ( t ) { this . isString = ! 0 , this . toString = function ( ) { return t } } function h ( t , e ) { var n = e . options . size [ 0 ] > e . options . size [ 1 ] ? " landscape " : " portrait " ; if ( t . pageSize . orientation != = n ) { var r = e . options . size [ 0 ] , i = e . options . size [ 1 ] ; e . options . size = [ i , r ] } } function u ( t , e , n ) { n . _pdfMakePages = t ; for ( var r = 0 ; r < t . length ; r + + ) { r > 0 & & ( h ( t [ r ] , n ) , n . addPage ( n . options ) ) ; for ( var i = t [ r ] , o = 0 , a = i . items . length ; a > o ; o + + ) { var s = i . items [ o ] ; switch ( s . type ) { case " vector " : f ( s . item , n ) ; break ; case " line " : l ( s . item , s . item . x , s . item . y , n ) ; break ; case " image " : d ( s . item , s . item . x ,
var o = o | | " undefined " != typeof navigator & & navigator . msSaveOrOpenBlob & & navigator . msSaveOrOpenBlob . bind ( navigator ) | | function ( t ) { " use strict " ; if ( " undefined " == typeof navigator | | ! / MSIE [ 1 - 9 ] \. / . test ( navigator . userAgent ) ) { var e = t . document , n = function ( ) { return t . URL | | t . webkitURL | | t } , r = e . createElementNS ( " http://www.w3.org/1999/xhtml " , " a " ) , i = " download " in r , o = function ( n ) { var r = e . createEvent ( " MouseEvents " ) ; r . initMouseEvent ( " click " , ! 0 , ! 1 , t , 0 , 0 , 0 , 0 , 0 , ! 1 , ! 1 , ! 1 , ! 1 , 0 , null ) , n . dispatchEvent ( r ) } , a = t . webkitRequestFileSystem , s = t . requestFileSystem | | a | | t . mozRequestFileSystem , h = function ( e ) { ( t . setImmediate | | t . setTimeout ) ( function ( ) { throw e } , 0 ) } , u = " applications/octet-stream " , l = 0 , c = 10 , f = function ( e ) { var r = function ( ) { " string " == typeof e ? n ( ) . revokeObjectURL ( e ) : e . remove ( ) } ; t . chrome ? r ( ) : setTimeout ( r , c ) } , d = function ( t , e , n ) { e = [ ] . concat ( e ) ; for ( var r = e . length ; r - - ; ) { var i = t [ " on " + e [ r ] ] ; if ( " function " == typeof i ) try { i . call ( t , n | | t ) } catch ( o ) { h ( o ) } } } , p = function ( e , h ) { var c , p , g , v = this , m = e . type , y = ! 1 , w = function ( ) { d ( v , " writestart progress write writeend " . split ( " " ) ) } , _ = function ( ) { if ( ( y | | ! c ) & & ( c = n ( ) . createObjectURL ( e ) ) , p ) p . location . href = c ; else { var r = t . open ( c , " _blank " ) ; void 0 == r & & " undefined " != typeof safari & & ( t . location . href = c ) } v . readyState = v . DONE , w ( ) , f ( c ) } , b = function ( t ) { return function ( ) { return v . readyState != = v . DONE ? t . apply ( this , arguments ) : void 0 } } , x = { create : ! 0 , exclusive : ! 1 } ; return v . readyState = v . INIT , h | | ( h = " download " ) , i ? ( c = n ( ) . createObjectURL ( e ) , r . href = c , r . download = h , o ( r ) , v . readyState = v . DONE , w ( ) , void f ( c ) ) : ( t . chrome & & m & & m != = u & & ( g = e . slice | | e . webkitSlice , e = g . call ( e , 0 , e . size , u ) , y = ! 0 ) , a & & " download " != = h & & ( h + = " .download " ) , ( m == = u | | a ) & & ( p = t ) , s ? ( l + = e . size , void s ( t . TEMPORARY , l , b ( function ( t ) { t . root . getDirectory ( " saved " , x , b ( function ( t ) { var n = function ( ) { t . getFile ( h , x , b ( function ( t ) { t . createWriter ( b ( function ( n ) { n . onwriteend = function ( e ) { p . location . href = t . toURL ( ) , v . readyState = v . DONE , d ( v , " writeend " , e ) , f ( t ) } , n . onerror = function ( ) { var t = n . error ; t . code != = t . ABORT_ERR & & _ ( ) } , " writestart progress write abort " . split ( " " ) . forEach ( function ( t ) { n [ " on " + t ] = v [ " on " + t ] } ) , n . write ( e ) , v . abort = function ( ) { n . abort ( ) , v . readyState = v . DONE } , v . readyState = v . WRITING } ) , _ ) } ) , _ ) } ; t . getFile ( h , { create : ! 1 } , b ( function ( t ) { t . remove ( ) , n ( ) } ) , b ( function ( t ) { t . code == = t . NOT_FOUND_ERR ? n ( ) : _ ( ) } ) ) } ) , _ ) } ) , _ ) ) : void _ ( ) ) } , g = p . prototype , v = function ( t , e ) { return new p ( t , e ) } ; return g . abort = function ( ) { var t = this ; t . readyState = t . DONE , d ( t , " abort " ) } , g . readyState = g . INIT = 0 , g . WRITING = 1 , g . DONE = 2 , g . error = g . onwritestart = g . onprogress = g . onwrite = g . onabort = g . onerror = g . onwriteend = null , v } } ( " undefined " != typeof self & & self | | " undefined " != typeof window & & window | | this . content ) ; " undefined " != typeof t & & null != = t ? t . exports = o : null != = n ( 13 ) & & null != n ( 14 ) & & ( r = [ ] , i = function ( ) { return o } . apply ( e , r ) , ! ( void 0 != = i & & ( t . exports = i ) ) ) } ) . call ( e , n ( 15 ) ( t ) ) } , function ( t , e , n ) { ( function ( t ) { function t ( e ) { return this instanceof t ? ( this . length = 0 , this . parent = void 0 , " number " == typeof e ? r ( this , e ) : " string " == typeof e ? i ( this , e , arguments . length > 1 ? arguments [ 1 ] : " utf8 " ) : o ( this , e ) ) : arguments . length > 1 ? new t ( e , arguments [ 1 ] ) : new t ( e ) } function r ( e , n ) { if ( e = c ( e , 0 > n ? 0 : 0 | f ( n ) ) , ! t . TYPED_ARRAY_SUPPORT ) for ( var r = 0 ; n > r ; r + + ) e [ r ] = 0 ; return e } function i ( t , e , n ) { ( " string " != typeof n | | " " == = n ) & & ( n = " utf8 " ) ; var r = 0 | p ( e , n ) ; return t = c ( t , r ) , t . write ( e , n ) , t } function o ( e , n ) { if ( t . isBuffer ( n ) ) return a ( e , n ) ; if ( G ( n ) ) return s ( e , n ) ; if ( null == n ) throw new TypeError ( " must start with number, buffer, array or string " ) ; return " undefined " != typeof ArrayBuffer & & n . buffer instanceof ArrayBuffer ? h ( e , n ) : n . length ? u ( e , n ) : l ( e , n ) } function a ( t , e ) { var n = 0 | f ( e . length ) ; return t = c ( t , n ) , e . copy ( t , 0 , 0 , n ) , t } function s ( t , e ) { var n = 0 | f ( e . length ) ; t = c ( t , n ) ; for ( var r = 0 ; n > r ; r + = 1 ) t [ r ] = 255 & e [ r ] ; return t } function h ( t , e ) { var n = 0 | f ( e . length ) ; t = c ( t , n ) ; for ( var r = 0 ; n > r ; r + = 1 ) t [ r ] = 255 & e [ r ] ; return t } function u ( t , e ) { var n = 0 | f ( e . length ) ; t = c ( t , n ) ; for ( var r = 0 ; n > r ; r + = 1 ) t [ r ] = 255 & e [ r ] ; return t } function l ( t , e ) { var n , r = 0 ; " Buffer " == = e . type & & G ( e . data ) & & ( n = e . data , r = 0 | f ( n . length ) ) , t = c ( t , r ) ; for ( var i = 0 ; r > i ; i + = 1 ) t [ i ] = 255 & n [ i ] ; return t } function c ( e , n ) { t . TYPED_ARRAY_SUPPORT ? e = t . _augment ( new Uint8Array ( n ) ) : ( e . length = n , e . _isBuffer = ! 0 ) ; var r = 0 != = n & & n < = t . poolSize >> > 1 ; return r & & ( e . parent = Y ) , e } function f ( t ) { if ( t > =
2016-09-03 11:05:50 +00:00
* The buffer module from node . js , for the browser .
*
* @author Feross Aboukhadijeh < feross @feross.org > < http : / / feross . org >
* @license MIT
* /
var H = n ( 31 ) , Z = n ( 29 ) , G = n ( 30 ) ; e . Buffer = t , e . SlowBuffer = d , e . INSPECT_MAX_BYTES = 50 , t . poolSize = 8192 ; var q = 1073741823 , Y = { } ; t . TYPED_ARRAY_SUPPORT = function ( ) { try { var t = new ArrayBuffer ( 0 ) , e = new Uint8Array ( t ) ; return e . foo = function ( ) { return 42 } , 42 == = e . foo ( ) & & " function " == typeof e . subarray & & 0 == = new Uint8Array ( 1 ) . subarray ( 1 , 1 ) . byteLength } catch ( n ) { return ! 1 } } ( ) , t . isBuffer = function ( t ) { return ! ( null == t | | ! t . _isBuffer ) } , t . compare = function ( e , n ) { if ( ! t . isBuffer ( e ) | | ! t . isBuffer ( n ) ) throw new TypeError ( " Arguments must be Buffers " ) ; if ( e == = n ) return 0 ; for ( var r = e . length , i = n . length , o = 0 , a = Math . min ( r , i ) ; a > o & & e [ o ] == = n [ o ] ; ) + + o ; return o != = a & & ( r = e [ o ] , i = n [ o ] ) , i > r ? - 1 : r > i ? 1 : 0 } , t . isEncoding = function ( t ) { switch ( String ( t ) . toLowerCase ( ) ) { case " hex " : case " utf8 " : case " utf-8 " : case " ascii " : case " binary " : case " base64 " : case " raw " : case " ucs2 " : case " ucs-2 " : case " utf16le " : case " utf-16le " : return ! 0 ; default : return ! 1 } } , t . concat = function ( e , n ) { if ( ! G ( e ) ) throw new TypeError ( " list argument must be an Array of Buffers. " ) ; if ( 0 == = e . length ) return new t ( 0 ) ; if ( 1 == = e . length ) return e [ 0 ] ; var r ; if ( void 0 == = n ) for ( n = 0 , r = 0 ; r < e . length ; r + + ) n + = e [ r ] . length ; var i = new t ( n ) , o = 0 ; for ( r = 0 ; r < e . length ; r + + ) { var a = e [ r ] ; a . copy ( i , o ) , o + = a . length } return i } , t . byteLength = p , t . prototype . length = void 0 , t . prototype . parent = void 0 , t . prototype . toString = function ( t , e , n ) { var r = ! 1 ; if ( e = 0 | e , n = void 0 == = n | | n == = 1 / 0 ? this . length : 0 | n , t | | ( t = " utf8 " ) , 0 > e & & ( e = 0 ) , n > this . length & & ( n = this . length ) , e > = n ) return " " ; for ( ; ; ) switch ( t ) { case " hex " : return E ( this , e , n ) ; case " utf8 " : case " utf-8 " : return x ( this , e , n ) ; case " ascii " : return S ( this , e , n ) ; case " binary " : return k ( this , e , n ) ; case " base64 " : return b ( this , e , n ) ; case " ucs2 " : case " ucs-2 " : case " utf16le " : case " utf-16le " : return C ( this , e , n ) ; default : if ( r ) throw new TypeError ( " Unknown encoding: " + t ) ; t = ( t + " " ) . toLowerCase ( ) , r = ! 0 } } , t . prototype . equals = function ( e ) { if ( ! t . isBuffer ( e ) ) throw new TypeError ( " Argument must be a Buffer " ) ; return this == = e ? ! 0 : 0 == = t . compare ( this , e ) } , t . prototype . inspect = function ( ) { var t = " " , n = e . INSPECT_MAX_BYTES ; return this . length > 0 & & ( t = this . toString ( " hex " , 0 , n ) . match ( / . { 2 } / g ) . join ( " " ) , this . length > n & & ( t + = " ... " ) ) , " <Buffer " + t + " > " } , t . prototype . compare = function ( e ) { if ( ! t . isBuffer ( e ) ) throw new TypeError ( " Argument must be a Buffer " ) ; return this == = e ? 0 : t . compare ( this , e ) } , t . prototype . indexOf = function ( e , n ) { function r ( t , e , n ) { for ( var r = - 1 , i = 0 ; n + i < t . length ; i + + ) if ( t [ n + i ] == = e [ - 1 == = r ? 0 : i - r ] ) { if ( - 1 == = r & & ( r = i ) , i - r + 1 == = e . length ) return n + r } else r = - 1 ; return - 1 } if ( n > 2147483647 ? n = 2147483647 : - 2147483648 > n & & ( n = - 2147483648 ) , n >> = 0 , 0 == = this . length ) return - 1 ; if ( n > = this . length ) return - 1 ; if ( 0 > n & & ( n = Math . max ( this . length + n , 0 ) ) , " string " == typeof e ) return 0 == = e . length ? - 1 : String . prototype . indexOf . call ( this , e , n ) ; if ( t . isBuffer ( e ) ) return r ( this , e , n ) ; if ( " number " == typeof e ) return t . TYPED_ARRAY_SUPPORT & & " function " == = Uint8Array . prototype . indexOf ? Uint8Array . prototype . indexOf . call ( this , e , n ) : r ( this , [ e ] , n ) ; throw new TypeError ( " val must be string, number or Buffer " ) } , t . prototype . get = function ( t ) { return this . readUInt8 ( t ) } , t . prototype . set = function ( t , e ) { return this . writeUInt8 ( t , e ) } , t . prototype . write = function ( t , e , n , r ) { if ( void 0 == = e ) r = " utf8 " , n = this . length , e = 0 ; else if ( void 0 == = n & & " string " == typeof e ) r = e , n = this . length , e = 0 ; else if ( isFinite ( e ) ) e = 0 | e , isFinite ( n ) ? ( n = 0 | n , void 0 == = r & & ( r = " utf8 " ) ) : ( r = n , n = void 0 ) ; else { var i = r ; r = e , e = 0 | n , n = i } var o = this . length - e ; if ( ( void 0 == = n | | n > o ) & & ( n = o ) , t . length > 0 & & ( 0 > n | | 0 > e ) | | e > this . length ) throw new RangeError ( " attempt to write outside buffer bounds " ) ; r | | ( r = " utf8 " ) ; for ( var a = ! 1 ; ; ) switch ( r ) { case " hex " : return g ( this , t , e , n ) ; case " utf8 " : case " utf-8 " : return v ( this , t , e , n ) ; case " ascii " : return m ( this , t , e , n ) ; case " binary " : return y ( this , t , e , n ) ; case " base64 " : return w ( this , t , e , n ) ; case " ucs2 " : case " ucs-2 " : case " utf16le " : case " utf-16le " : return _ ( this , t , e , n ) ; default : if ( a ) throw new TypeError ( " Unknown encoding: " + r ) ; r = ( " " + r ) . toLowerCase ( ) , a = ! 0 } } , t . prototype . toJSON = function ( ) { return { type : " Buffer " , data : Array . prototype . slice . call ( this . _arr | | this , 0 ) } } , t . prototype . slice = function ( e , n ) { var r = this . length ; e = ~ ~ e , n = void 0 == = n ? r : ~ ~ n , 0 > e ? ( e + = r , 0 > e & & ( e = 0 ) ) : e > r & & ( e = r ) , 0 > n ? ( n + = r , 0 > n & & ( n = 0 ) ) : n > r & & ( n = r ) , e > n & & ( n = e ) ; var i ; if ( t . TYPED_ARRAY_SUPPORT ) i = t . _augment ( this . subarray ( e , n ) ) ; else { var o = n - e ; i = new t
var o = i ? e : null != t & & t [ e ] ; a [ + + r ] = o ? o . apply ( t , n ) : C } ) , a } function Be ( t , e , n , r , i , o ) { if ( t == = e ) return 0 != = t | | 1 / t == 1 / e ; var a = typeof t , s = typeof e ; return " function " != a & & " object " != a & & " function " != s & & " object " != s | | null == t | | null == e ? t != = t & & e != = e : Te ( t , e , Be , n , r , i , o ) } function Te ( t , e , n , r , i , o , a ) { var s = ja ( t ) , h = ja ( e ) , u = Y , l = Y ; s | | ( u = Ko . call ( t ) , u == q ? u = tt : u != tt & & ( s = Ai ( t ) ) ) , h | | ( l = Ko . call ( e ) , l == q ? l = tt : l != tt & & ( h = Ai ( e ) ) ) ; var c = u == tt , f = l == tt , d = u == l ; if ( d & & ! s & & ! c ) return cn ( t , e , u ) ; var p = c & & qo . call ( t , " __wrapped__ " ) , g = f & & qo . call ( e , " __wrapped__ " ) ; if ( p | | g ) return n ( p ? t . value ( ) : t , g ? e . value ( ) : e , r , i , o , a ) ; if ( ! d ) return ! 1 ; o | | ( o = [ ] ) , a | | ( a = [ ] ) ; for ( var v = o . length ; v - - ; ) if ( o [ v ] == t ) return a [ v ] == e ; o . push ( t ) , a . push ( e ) ; var m = ( s ? ln : fn ) ( t , e , n , r , i , o , a ) ; return o . pop ( ) , a . pop ( ) , m } function Me ( t , e , n , r , i ) { var o = e . length ; if ( null == t ) return ! o ; for ( var a = - 1 , s = ! i ; + + a < o ; ) if ( s & & r [ a ] ? n [ a ] != = t [ e [ a ] ] : ! qo . call ( t , e [ a ] ) ) return ! 1 ; for ( a = - 1 ; + + a < o ; ) { var h = e [ a ] ; if ( s & & r [ a ] ) var u = qo . call ( t , h ) ; else { var l = t [ h ] , c = n [ a ] ; u = i ? i ( l , c , h ) : C , " undefined " == typeof u & & ( u = Be ( c , l , i , ! 0 ) ) } if ( ! u ) return ! 1 } return ! 0 } function Oe ( t , e ) { var n = [ ] ; return ye ( t , function ( t , r , i ) { n . push ( e ( t , r , i ) ) } ) , n } function De ( t ) { var e = qa ( t ) , n = e . length ; if ( 1 == n ) { var r = e [ 0 ] , i = t [ r ] ; if ( kn ( i ) ) return function ( t ) { return null != t & & i == = t [ r ] & & qo . call ( t , r ) } } for ( var o = Bo ( n ) , a = Bo ( n ) ; n - - ; ) i = t [ e [ n ] ] , o [ n ] = i , a [ n ] = kn ( i ) ; return function ( t ) { return Me ( t , e , o , a ) } } function Ue ( t , e , n , r , i ) { var o = Sn ( e . length ) & & ( ja ( e ) | | Ai ( e ) ) ; return ( o ? $ t : Ie ) ( e , function ( e , a , s ) { if ( y ( e ) ) return r | | ( r = [ ] ) , i | | ( i = [ ] ) , Pe ( t , s , a , Ue , n , r , i ) ; var h = t [ a ] , u = n ? n ( h , e , a , t , s ) : C , l = " undefined " == typeof u ; l & & ( u = e ) , ! o & & " undefined " == typeof u | | ! l & & ( u == = u ? u == = h : h != = h ) | | ( t [ a ] = u ) } ) , t } function Pe ( t , e , n , r , i , o , a ) { for ( var s = o . length , h = e [ n ] ; s - - ; ) if ( o [ s ] == h ) return void ( t [ n ] = a [ s ] ) ; var u = t [ n ] , l = i ? i ( u , h , n , t , e ) : C , c = " undefined " == typeof l ; c & & ( l = h , Sn ( h . length ) & & ( ja ( h ) | | Ai ( h ) ) ? l = ja ( u ) ? u : u ? Vt ( u ) : [ ] : Za ( h ) | | fi ( h ) ? l = fi ( u ) ? Bi ( u ) : Za ( u ) ? u : { } : c = ! 1 ) , o . push ( h ) , a . push ( l ) , c ? t [ n ] = r ( l , h , i , o , a ) : ( l == = l ? l != = u : u == = u ) & & ( t [ n ] = l ) } function Fe ( t ) { return function ( e ) { return null == e ? C : e [ t ] } } function ze ( t , e ) { var n = e . length , r = ce ( t , e ) ; for ( e . sort ( o ) ; n - - ; ) { var i = parseFloat ( e [ n ] ) ; if ( i != a & & bn ( i ) ) { var a = i ; sa . call ( t , i , 1 ) } } return r } function We ( t , e ) { return t + ea ( _a ( ) * ( e - t + 1 ) ) } function Ne ( t , e , n , r , i ) { return i ( t , function ( t , i , o ) { n = r ? ( r = ! 1 , t ) : e ( n , t , i , o ) } ) , n } function je ( t , e , n ) { var r = - 1 , i = t . length ; e = null == e ? 0 : + e | | 0 , 0 > e & & ( e = - e > i ? 0 : i + e ) , n = " undefined " == typeof n | | n > i ? i : + n | | 0 , 0 > n & & ( n + = i ) , i = e > n ? 0 : n - e >> > 0 , e >> > = 0 ; for ( var o = Bo ( i ) ; + + r < i ; ) o [ r ] = t [ r + e ] ; return o } function He ( t , e ) { var n ; return ye ( t , function ( t , r , i ) { return n = e ( t , r , i ) , ! n } ) , ! ! n } function Ze ( t , e ) { var n = - 1 , r = gn ( ) , i = t . length , o = r == a , s = o & & i > = 200 , h = s & & Ta ( ) , u = [ ] ; h ? ( r = Yt , o = ! 1 ) : ( s = ! 1 , h = e ? [ ] : u ) ; t : for ( ; + + n < i ; ) { var l = t [ n ] , c = e ? e ( l , n , t ) : l ; if ( o & & l == = l ) { for ( var f = h . length ; f - - ; ) if ( h [ f ] == = c ) continue t ; e & & h . push ( c ) , u . push ( l ) } else r ( h , c ) < 0 & & ( ( e | | s ) & & h . push ( c ) , u . push ( l ) ) } return u } function Ge ( t , e ) { for ( var n = - 1 , r = e . length , i = Bo ( r ) ; + + n < r ; ) i [ n ] = t [ e [ n ] ] ; return i } function qe ( t , e ) { var n = t ; n instanceof r & & ( n = n . value ( ) ) ; for ( var i = - 1 , o = e . length ; + + i < o ; ) { var a = [ n ] , s = e [ i ] ; ra . apply ( a , s . args ) , n = s . func . apply ( s . thisArg , a ) } return n } function Ye ( t , e , n ) { var r = 0 , i = t ? t . length : r ; if ( " number " == typeof e & & e == = e & & Ea > = i ) { for ( ; i > r ; ) { var o = r + i >> > 1 , a = t [ o ] ; ( n ? e > = a : e > a ) ? r = o + 1 : i = o } return i } return Ke ( t , e , bo , n ) } function Ke ( t , e , n , r ) { e = n ( e ) ; for ( var i = 0 , o = t ? t . length : 0 , a = e != = e , s = " undefined " == typeof e ; o > i ; ) { var h = ea ( ( i + o ) / 2 ) , u = n ( t [ h ] ) , l = u == = u ; if ( a ) var c = l | | r ; else c = s ? l & & ( r | | " undefined " != typeof u ) : r ? e > = u : e > u ; c ? i = h + 1 : o = h } return va ( o , ka ) } function Xe ( t , e , n ) { if ( " function " != typeof t ) return bo ; if ( " undefined " == typeof e ) return t ; switch ( n ) { case 1 : return function ( n ) { return t . call ( e , n ) } ; case 3 : return function ( n , r , i ) { return t . call ( e , n , r , i ) } ; case 4 : return function ( n , r , i , o ) { return t . call ( e , n , r , i , o ) } ; case 5 : return function ( n , r , i , o , a ) { return t . call ( e , n , r , i , o , a ) } } return function ( ) { return t . apply ( e , arguments ) } } function Ve ( t ) { return Jo . call ( t , 0 ) } function $ e ( t , e , n ) { for ( var r = n . length , i = - 1 , o = ga ( t . length - r , 0 ) , a = - 1 , s = e . length , h = Bo ( o + s ) ; + + a < s ; ) h [ a ] = e [ a ] ; for ( ; + + i < r ; ) h [ n [ i ] ] = t [ i ] ; for ( ; o - - ; ) h [ a + + ] = t [ i + + ] ; return h } function Je ( t , e , n ) { for ( var r = - 1 , i = n . length , o = - 1 , a = ga ( t . length - i , 0 ) , s = - 1 , h = e . length , u = Bo ( a + h ) ; + + o < a ; ) u [ o ] = t [ o ] ; for ( var l = o ;
e . pluck = Tr , e . property = Co , e . propertyOf = Io , e . pull = Vn , e . pullAt = $ n , e . range = Ao , e . rearg = si , e . reject = Dr , e . remove = Jn , e . rest = Qn , e . shuffle = Pr , e . slice = tr , e . sortBy = Wr , e . sortByAll = Nr , e . take = rr , e . takeRight = ir , e . takeRightWhile = or , e . takeWhile = ar , e . tap = gr , e . throttle = hi , e . thru = vr , e . times = Lo , e . toArray = Ri , e . toPlainObject = Bi , e . transform = Xi , e . union = sr , e . uniq = hr , e . unzip = ur , e . values = Vi , e . valuesIn = $ i , e . where = jr , e . without = lr , e . wrap = ui , e . xor = cr , e . zip = fr , e . zipObject = dr , e . backflow = ei , e . collect = Br , e . compose = ei , e . each = Ar , e . eachRight = Lr , e . extend = Ga , e . iteratee = wo , e . methods = Wi , e . object = dr , e . select = kr , e . tail = Qn , e . unique = hr , So ( e , e ) , e . attempt = yo , e . camelCase = Ka , e . capitalize = Qi , e . clone = li , e . cloneDeep = ci , e . deburr = to , e . endsWith = eo , e . escape = no , e . escapeRegExp = ro , e . every = Sr , e . find = Er , e . findIndex = Wn , e . findKey = Oi , e . findLast = Cr , e . findLastIndex = Nn , e . findLastKey = Di , e . findWhere = Ir , e . first = jn , e . has = Ni , e . identity = bo , e . includes = xr , e . indexOf = Gn , e . isArguments = fi , e . isArray = ja , e . isBoolean = di , e . isDate = pi , e . isElement = gi , e . isEmpty = vi , e . isEqual = mi , e . isError = yi , e . isFinite = Ha , e . isFunction = wi , e . isMatch = bi , e . isNaN = xi , e . isNative = Si , e . isNull = ki , e . isNumber = Ei , e . isObject = _i , e . isPlainObject = Za , e . isRegExp = Ci , e . isString = Ii , e . isTypedArray = Ai , e . isUndefined = Li , e . kebabCase = Xa , e . last = Kn , e . lastIndexOf = Xn , e . max = Fa , e . min = za , e . noConflict = ko , e . noop = Eo , e . now = Na , e . pad = io , e . padLeft = oo , e . padRight = ao , e . parseInt = so , e . random = Ji , e . reduce = Mr , e . reduceRight = Or , e . repeat = ho , e . result = Ki , e . runInContext = E , e . size = Fr , e . snakeCase = Va , e . some = zr , e . sortedIndex = er , e . sortedLastIndex = nr , e . startCase = $ a , e . startsWith = uo , e . template = lo , e . trim = co , e . trimLeft = fo , e . trimRight = po , e . trunc = go , e . unescape = vo , e . uniqueId = Ro , e . words = mo , e . all = Sr , e . any = zr , e . contains = xr , e . detect = Er , e . foldl = Mr , e . foldr = Or , e . head = jn , e . include = xr , e . inject = Mr , So ( e , function ( ) { var t = { } ; return Ie ( e , function ( n , r ) { e . prototype [ r ] | | ( t [ r ] = n ) } ) , t } ( ) , ! 1 ) , e . sample = Ur , e . prototype . sample = function ( t ) { return this . __chain__ | | null != t ? this . thru ( function ( e ) { return Ur ( e , t ) } ) : Ur ( this . value ( ) ) } , e . VERSION = I , $ t ( [ " bind " , " bindKey " , " curry " , " curryRight " , " partial " , " partialRight " ] , function ( t ) { e [ t ] . placeholder = e } ) , $ t ( [ " filter " , " map " , " takeWhile " ] , function ( t , e ) { var n = e == N ; r . prototype [ t ] = function ( t , r ) { var i = this . clone ( ) , o = i . filtered , a = i . iteratees | | ( i . iteratees = [ ] ) ; return i . filtered = o | | n | | e == H & & i . dir < 0 , a . push ( { iteratee : pn ( t , r , 3 ) , type : e } ) , i } } ) , $ t ( [ " drop " , " take " ] , function ( t , e ) { var n = t + " Count " , i = t + " While " ; r . prototype [ t ] = function ( r ) { r = null == r ? 1 : ga ( + r | | 0 , 0 ) ; var i = this . clone ( ) ; if ( i . filtered ) { var o = i [ n ] ; i [ n ] = e ? va ( o , r ) : o + r } else { var a = i . views | | ( i . views = [ ] ) ; a . push ( { size : r , type : t + ( i . dir < 0 ? " Right " : " " ) } ) } return i } , r . prototype [ t + " Right " ] = function ( e ) { return this . reverse ( ) [ t ] ( e ) . reverse ( ) } , r . prototype [ t + " RightWhile " ] = function ( t , e ) { return this . reverse ( ) [ i ] ( t , e ) . reverse ( ) } } ) , $ t ( [ " first " , " last " ] , function ( t , e ) { var n = " take " + ( e ? " Right " : " " ) ; r . prototype [ t ] = function ( ) { return this [ n ] ( 1 ) . value ( ) [ 0 ] } } ) , $ t ( [ " initial " , " rest " ] , function ( t , e ) { var n = " drop " + ( e ? " " : " Right " ) ; r . prototype [ t ] = function ( ) { return this [ n ] ( 1 ) } } ) , $ t ( [ " pluck " , " where " ] , function ( t , e ) { var n = e ? " filter " : " map " , i = e ? De : Fe ; r . prototype [ t ] = function ( t ) { return this [ n ] ( i ( e ? t : t + " " ) ) } } ) , r . prototype . dropWhile = function ( t , e ) { var n , r , i = this . dir < 0 ; return t = pn ( t , e , 3 ) , this . filter ( function ( e , o , a ) { return n = n & & ( i ? r > o : o > r ) , r = o , n | | ( n = ! t ( e , o , a ) ) } ) } , r . prototype . reject = function ( t , e ) { return t = pn ( t , e , 3 ) , this . filter ( function ( e , n , r ) { return ! t ( e , n , r ) } ) } , r . prototype . slice = function ( t , e ) { t = null == t ? 0 : + t | | 0 ; var n = 0 > t ? this . takeRight ( - t ) : this . drop ( t ) ; return " undefined " != typeof e & & ( e = + e | | 0 , n = 0 > e ? n . dropRight ( - e ) : n . take ( e - t ) ) , n } , Ie ( r . prototype , function ( t , i ) { var o = e [ i ] , a = / ^ ( ? : first | last ) $ / . test ( i ) ; e . prototype [ i ] = function ( ) { var i = this . __wrapped__ , s = arguments , h = this . __chain__ , u = ! ! this . __actions__ . length , l = i instanceof r , c = l & & ! u ; if ( a & & ! h ) return c ? t . call ( i ) : o . call ( e , this . value ( ) ) ; var f = function ( t ) { var n = [ t ] ; return ra . apply ( n , s ) , o . apply ( e , n ) } ; if ( l | | ja ( i ) ) { var d = c ? i : new r ( this ) , p = t . apply ( d , s ) ; if ( ! a & & ( u | | p . actions ) ) { var g = p . actions | | ( p . actions = [ ] ) ; g . push ( { func : vr , args : [ f ] , thisArg : e } ) } return new n ( p , h ) } return this . thru ( f ) } } ) , $ t ( [ " concat " , " join " , " pop " , " push " , " shift " , " sort " , " splice " , " unshift " ] , function ( t ) { var n = No [ t ] , r = / ^ ( ?
} e . context ( ) . page = s , e . context ( ) . y = h ; var C = this . tableNode . table . body [ t ] ; for ( o = 0 , i = C . length ; i > o ; o + + ) { if ( C [ o ] . rowSpan & & ( this . rowSpanData [ o ] . rowSpan = C [ o ] . rowSpan , C [ o ] . colSpan & & C [ o ] . colSpan > 1 ) ) for ( var I = 1 ; I < C [ o ] . rowSpan ; I + + ) this . tableNode . table . body [ t + I ] [ o ] . _colSpan = C [ o ] . colSpan ; this . rowSpanData [ o ] . rowSpan > 0 & & this . rowSpanData [ o ] . rowSpan - - } this . drawHorizontalLine ( t + 1 , e ) , this . headerRows & & t == = this . headerRows - 1 & & ( this . headerRepeatable = e . currentBlockToRepeatable ( ) ) , this . dontBreakRows & & e . tracker . auto ( " pageChanged " , function ( ) { a . drawHorizontalLine ( t , e ) } , function ( ) { e . commitUnbreakableBlock ( ) , a . drawHorizontalLine ( t , e ) } ) , ! this . headerRepeatable | | t != = this . rowsWithoutPageBreak - 1 & & t != = this . tableNode . table . body . length - 1 | | ( e . commitUnbreakableBlock ( ) , e . pushToRepeatables ( this . headerRepeatable ) , this . cleanUpRepeatables = ! 0 , this . headerRepeatable = null ) } , t . exports = r } , function ( t , e , n ) { " use strict " ; function r ( t ) { this . maxWidth = t , this . leadingCut = 0 , this . trailingCut = 0 , this . inlineWidths = 0 , this . inlines = [ ] } r . prototype . getAscenderHeight = function ( ) { var t = 0 ; return this . inlines . forEach ( function ( e ) { t = Math . max ( t , e . font . ascender / 1e3 * e . fontSize ) } ) , t } , r . prototype . hasEnoughSpaceForInline = function ( t ) { return 0 == = this . inlines . length ? ! 0 : this . newLineForced ? ! 1 : this . inlineWidths + t . width - this . leadingCut - ( t . trailingCut | | 0 ) < = this . maxWidth } , r . prototype . addInline = function ( t ) { 0 == = this . inlines . length & & ( this . leadingCut = t . leadingCut | | 0 ) , this . trailingCut = t . trailingCut | | 0 , t . x = this . inlineWidths - this . leadingCut , this . inlines . push ( t ) , this . inlineWidths + = t . width , t . lineEnd & & ( this . newLineForced = ! 0 ) } , r . prototype . getWidth = function ( ) { return this . inlineWidths - this . leadingCut - this . trailingCut } , r . prototype . getHeight = function ( ) { var t = 0 ; return this . inlines . forEach ( function ( e ) { t = Math . max ( t , e . height | | 0 ) } ) , t } , t . exports = r } , function ( t , e , n ) { " use strict " ; function r ( ) { for ( var t = { } , e = 0 , n = arguments . length ; n > e ; e + + ) { var r = arguments [ e ] ; if ( r ) for ( var i in r ) r . hasOwnProperty ( i ) & & ( t [ i ] = r [ i ] ) } return t } function i ( t , e , n ) { switch ( t . type ) { case " ellipse " : case " rect " : t . x + = e , t . y + = n ; break ; case " line " : t . x1 + = e , t . x2 + = e , t . y1 + = n , t . y2 + = n ; break ; case " polyline " : for ( var r = 0 , i = t . points . length ; i > r ; r + + ) t . points [ r ] . x + = e , t . points [ r ] . y + = n } } function o ( t , e ) { return " font " == = t ? " font " : e } function a ( t ) { var e = { } ; return t & & " [object Function] " == = e . toString . call ( t ) } t . exports = { pack : r , fontStringify : o , offsetVector : i , isFunction : a } } , function ( t , e , n ) { " use strict " ; function r ( t ) { this . fontProvider = t } function i ( t ) { var e = [ ] ; t = t . replace ( " " , " " ) ; for ( var n = t . match ( l ) , r = 0 , i = n . length ; i - 1 > r ; r + + ) { var o = n [ r ] , a = 0 == = o . length ; if ( a ) { var s = 0 == = e . length | | e [ e . length - 1 ] . lineEnd ; s ? e . push ( { text : " " , lineEnd : ! 0 } ) : e [ e . length - 1 ] . lineEnd = ! 0 } else e . push ( { text : o } ) } return e } function o ( t , e ) { e = e | | { } , t = t | | { } ; for ( var n in t ) " text " != n & & t . hasOwnProperty ( n ) & & ( e [ n ] = t [ n ] ) ; return e } function a ( t ) { var e = [ ] ; ( " string " == typeof t | | t instanceof String ) & & ( t = [ t ] ) ; for ( var n = 0 , r = t . length ; r > n ; n + + ) { var a , s = t [ n ] , h = null ; " string " == typeof s | | s instanceof String ? a = i ( s ) : ( a = i ( s . text ) , h = o ( s ) ) ; for ( var u = 0 , l = a . length ; l > u ; u + + ) { var c = { text : a [ u ] . text } ; a [ u ] . lineEnd & & ( c . lineEnd = ! 0 ) , o ( h , c ) , e . push ( c ) } } return e } function s ( t ) { return t . replace ( / [ ^ A - Za - z0 - 9 \[ \] ] / g , function ( t ) { return d [ t ] | | t } ) } function h ( t , e , n , r ) { var i ; return void 0 != = t [ n ] & & null != = t [ n ] ? t [ n ] : e ? ( e . auto ( t , function ( ) { i = e . getProperty ( n ) } ) , null != = i & & void 0 != = i ? i : r ) : r } function u ( t , e , n ) { var r = a ( e ) ; return r . forEach ( function ( e ) { var r = h ( e , n , " font " , " Roboto " ) , i = h ( e , n , " fontSize " , 12 ) , o = h ( e , n , " bold " , ! 1 ) , a = h ( e , n , " italics " , ! 1 ) , u = h ( e , n , " color " , " black " ) , l = h ( e , n , " decoration " , null ) , d = h ( e , n , " decorationColor " , null ) , p = h ( e , n , " decorationStyle " , null ) , g = h ( e , n , " background " , null ) , v = h ( e , n , " lineHeight " , 1 ) , m = t . provideFont ( r , o , a ) ; e . width = m . widthOfString ( s ( e . text ) , i ) , e . height = m . lineHeight ( i ) * v ; var y = e . text . match ( c ) , w = e . text . match ( f ) ; e . leadingCut = y ? m . widthOfString ( y [ 0 ] , i ) : 0 , e . trailingCut = w ? m . widthOfString ( w [ 0 ] , i ) : 0 , e . alignment = h ( e , n , " alignment " , " left " ) , e . font = m , e . fontSize = i , e . color = u , e . decoration = l , e . decorationColor = d , e . decorationStyle = p , e . background = g } ) , r } var l = / ( [ ^ , \/ ! . ? : ; \- \n ] * [ , \/ ! . ? : ; \- ] * ) | \n / g , c = / ^ ( \s ) + / g , f = / ( \s ) + $ / g ; r . prototype . buildInlines = function ( t , e ) { function n ( t ) { return Math . max ( 0 , t . width - t . l
var e ; return null != ( e = t . resources . data ) . Font ? e . Font : e . Font = { } } } ( this ) } , xobjects : { get : function ( t ) { return function ( ) { var e ; return null != ( e = t . resources . data ) . XObject ? e . XObject : e . XObject = { } } } ( this ) } , ext_gstates : { get : function ( t ) { return function ( ) { var e ; return null != ( e = t . resources . data ) . ExtGState ? e . ExtGState : e . ExtGState = { } } } ( this ) } , patterns : { get : function ( t ) { return function ( ) { var e ; return null != ( e = t . resources . data ) . Pattern ? e . Pattern : e . Pattern = { } } } ( this ) } , annotations : { get : function ( t ) { return function ( ) { var e ; return null != ( e = t . dictionary . data ) . Annots ? e . Annots : e . Annots = [ ] } } ( this ) } } ) , this . dictionary = this . document . ref ( { Type : " Page " , Parent : this . document . _root . data . Pages , MediaBox : [ 0 , 0 , this . width , this . height ] , Contents : this . content , Resources : this . resources } ) } var e , n ; return t . prototype . maxY = function ( ) { return this . height - this . margins . bottom } , t . prototype . write = function ( t ) { return this . content . write ( t ) } , t . prototype . end = function ( ) { return this . dictionary . end ( ) , this . resources . end ( ) , this . content . end ( ) } , e = { top : 72 , left : 72 , bottom : 72 , right : 72 } , n = { " 4A0 " : [ 4767.87 , 6740.79 ] , " 2A0 " : [ 3370.39 , 4767.87 ] , A0 : [ 2383.94 , 3370.39 ] , A1 : [ 1683.78 , 2383.94 ] , A2 : [ 1190.55 , 1683.78 ] , A3 : [ 841.89 , 1190.55 ] , A4 : [ 595.28 , 841.89 ] , A5 : [ 419.53 , 595.28 ] , A6 : [ 297.64 , 419.53 ] , A7 : [ 209.76 , 297.64 ] , A8 : [ 147.4 , 209.76 ] , A9 : [ 104.88 , 147.4 ] , A10 : [ 73.7 , 104.88 ] , B0 : [ 2834.65 , 4008.19 ] , B1 : [ 2004.09 , 2834.65 ] , B2 : [ 1417.32 , 2004.09 ] , B3 : [ 1000.63 , 1417.32 ] , B4 : [ 708.66 , 1000.63 ] , B5 : [ 498.9 , 708.66 ] , B6 : [ 354.33 , 498.9 ] , B7 : [ 249.45 , 354.33 ] , B8 : [ 175.75 , 249.45 ] , B9 : [ 124.72 , 175.75 ] , B10 : [ 87.87 , 124.72 ] , C0 : [ 2599.37 , 3676.54 ] , C1 : [ 1836.85 , 2599.37 ] , C2 : [ 1298.27 , 1836.85 ] , C3 : [ 918.43 , 1298.27 ] , C4 : [ 649.13 , 918.43 ] , C5 : [ 459.21 , 649.13 ] , C6 : [ 323.15 , 459.21 ] , C7 : [ 229.61 , 323.15 ] , C8 : [ 161.57 , 229.61 ] , C9 : [ 113.39 , 161.57 ] , C10 : [ 79.37 , 113.39 ] , RA0 : [ 2437.8 , 3458.27 ] , RA1 : [ 1729.13 , 2437.8 ] , RA2 : [ 1218.9 , 1729.13 ] , RA3 : [ 864.57 , 1218.9 ] , RA4 : [ 609.45 , 864.57 ] , SRA0 : [ 2551.18 , 3628.35 ] , SRA1 : [ 1814.17 , 2551.18 ] , SRA2 : [ 1275.59 , 1814.17 ] , SRA3 : [ 907.09 , 1275.59 ] , SRA4 : [ 637.8 , 907.09 ] , EXECUTIVE : [ 521.86 , 756 ] , FOLIO : [ 612 , 936 ] , LEGAL : [ 612 , 1008 ] , LETTER : [ 612 , 792 ] , TABLOID : [ 792 , 1224 ] } , t } ( ) , t . exports = e } ) . call ( this ) } , function ( t , e , n ) { ( function ( ) { var e , r , i = [ ] . slice ; r = n ( 47 ) , e = 4 * ( ( Math . sqrt ( 2 ) - 1 ) / 3 ) , t . exports = { initVector : function ( ) { return this . _ctm = [ 1 , 0 , 0 , 1 , 0 , 0 ] , this . _ctmStack = [ ] } , save : function ( ) { return this . _ctmStack . push ( this . _ctm . slice ( ) ) , this . addContent ( " q " ) } , restore : function ( ) { return this . _ctm = this . _ctmStack . pop ( ) | | [ 1 , 0 , 0 , 1 , 0 , 0 ] , this . addContent ( " Q " ) } , closePath : function ( ) { return this . addContent ( " h " ) } , lineWidth : function ( t ) { return this . addContent ( " " + t + " w " ) } , _CAP_STYLES : { BUTT : 0 , ROUND : 1 , SQUARE : 2 } , lineCap : function ( t ) { return " string " == typeof t & & ( t = this . _CAP_STYLES [ t . toUpperCase ( ) ] ) , this . addContent ( " " + t + " J " ) } , _JOIN_STYLES : { MITER : 0 , ROUND : 1 , BEVEL : 2 } , lineJoin : function ( t ) { return " string " == typeof t & & ( t = this . _JOIN_STYLES [ t . toUpperCase ( ) ] ) , this . addContent ( " " + t + " j " ) } , miterLimit : function ( t ) { return this . addContent ( " " + t + " M " ) } , dash : function ( t , e ) { var n , r , i ; return null == e & & ( e = { } ) , null == t ? this : ( r = null != ( i = e . space ) ? i : t , n = e . phase | | 0 , this . addContent ( " [ " + t + " " + r + " ] " + n + " d " ) ) } , undash : function ( ) { return this . addContent ( " [] 0 d " ) } , moveTo : function ( t , e ) { return this . addContent ( " " + t + " " + e + " m " ) } , lineTo : function ( t , e ) { return this . addContent ( " " + t + " " + e + " l " ) } , bezierCurveTo : function ( t , e , n , r , i , o ) { return this . addContent ( " " + t + " " + e + " " + n + " " + r + " " + i + " " + o + " c " ) } , quadraticCurveTo : function ( t , e , n , r ) { return this . addContent ( " " + t + " " + e + " " + n + " " + r + " v " ) } , rect : function ( t , e , n , r ) { return this . addContent ( " " + t + " " + e + " " + n + " " + r + " re " ) } , roundedRect : function ( t , e , n , r , i ) { return null == i & & ( i = 0 ) , this . moveTo ( t + i , e ) , this . lineTo ( t + n - i , e ) , this . quadraticCurveTo ( t + n , e , t + n , e + i ) , this . lineTo ( t + n , e + r - i ) , this . quadraticCurveTo ( t + n , e + r , t + n - i , e + r ) , this . lineTo ( t + i , e + r ) , this . quadraticCurveTo ( t , e + r , t , e + r - i ) , this . lineTo ( t , e + i ) , this . quadraticCurveTo ( t , e , t + i , e ) } , ellipse : function ( t , n , r , i ) { var o , a , s , h , u , l ; return null == i & & ( i = r ) , t - = r , n - = i , o = r * e , a = i * e , s = t + 2 * r , u = n + 2 * i , h = t + r , l = n + i , this . moveTo ( t , l ) , this . bezierCurveTo ( t , l - a , h - o , n , h , n ) , this . bezierCurveTo ( h + o , n , s , l - a , s , l ) , this . bezierCurveTo ( s , l + a , h + o , u , h , u ) , this . bezierCurveTo ( h - o , u , t , l + a , t , l ) , this . closePath ( ) } , circle : function ( t , e , n ) { return this . e
t } ; e = n ( 54 ) . EventEmitter , r = n ( 66 ) , i = function ( t ) { function e ( t , e ) { var n ; this . document = t , this . indent = e . indent | | 0 , this . characterSpacing = e . characterSpacing | | 0 , this . wordSpacing = 0 == = e . wordSpacing , this . columns = e . columns | | 1 , this . columnGap = null != ( n = e . columnGap ) ? n : 18 , this . lineWidth = ( e . width - this . columnGap * ( this . columns - 1 ) ) / this . columns , this . spaceLeft = this . lineWidth , this . startX = this . document . x , this . startY = this . document . y , this . column = 1 , this . ellipsis = e . ellipsis , this . continuedX = 0 , null != e . height ? ( this . height = e . height , this . maxY = this . startY + e . height ) : this . maxY = this . document . page . maxY ( ) , this . on ( " firstLine " , function ( t ) { return function ( e ) { var n ; return n = t . continuedX | | t . indent , t . document . x + = n , t . lineWidth - = n , t . once ( " line " , function ( ) { return t . document . x - = n , t . lineWidth + = n , e . continued & & ! t . continuedX & & ( t . continuedX = t . indent ) , e . continued ? void 0 : t . continuedX = 0 } ) } } ( this ) ) , this . on ( " lastLine " , function ( t ) { return function ( e ) { var n ; return n = e . align , " justify " == = n & & ( e . align = " left " ) , t . lastLine = ! 0 , t . once ( " line " , function ( ) { return t . document . y + = e . paragraphGap | | 0 , e . align = n , t . lastLine = ! 1 } ) } } ( this ) ) } return a ( e , t ) , e . prototype . wordWidth = function ( t ) { return this . document . widthOfString ( t , this ) + this . characterSpacing + this . wordSpacing } , e . prototype . eachWord = function ( t , e ) { var n , i , o , a , s , h , u , l , c , f ; for ( i = new r ( t ) , s = null , f = { } ; n = i . nextBreak ( ) ; ) { if ( c = t . slice ( ( null != s ? s . position : void 0 ) | | 0 , n . position ) , l = null != f [ c ] ? f [ c ] : f [ c ] = this . wordWidth ( c ) , l > this . lineWidth + this . continuedX ) for ( h = s , o = { } ; c . length ; ) { for ( a = c . length ; l > this . spaceLeft ; ) l = this . wordWidth ( c . slice ( 0 , - - a ) ) ; if ( o . required = a < c . length , u = e ( c . slice ( 0 , a ) , l , o , h ) , h = { required : ! 1 } , c = c . slice ( a ) , l = this . wordWidth ( c ) , u == = ! 1 ) break } else u = e ( c , l , n , s ) ; if ( u == = ! 1 ) break ; s = n } } , e . prototype . wrap = function ( t , e ) { var n , r , i , o , a , s , h ; return null != e . indent & & ( this . indent = e . indent ) , null != e . characterSpacing & & ( this . characterSpacing = e . characterSpacing ) , null != e . wordSpacing & & ( this . wordSpacing = e . wordSpacing ) , null != e . ellipsis & & ( this . ellipsis = e . ellipsis ) , o = this . document . y + this . document . currentLineHeight ( ! 0 ) , ( this . document . y > this . maxY | | o > this . maxY ) & & this . nextSection ( ) , n = " " , a = 0 , s = 0 , i = 0 , h = this . document . y , r = function ( t ) { return function ( ) { return e . textWidth = a + t . wordSpacing * ( s - 1 ) , e . wordCount = s , e . lineWidth = t . lineWidth , h = t . document . y , t . emit ( " line " , n , e , t ) , i + + } } ( this ) , this . emit ( " sectionStart " , e , this ) , this . eachWord ( t , function ( t ) { return function ( i , o , h , u ) { var l , c ; if ( ( null == u | | u . required ) & & ( t . emit ( " firstLine " , e , t ) , t . spaceLeft = t . lineWidth ) , o < = t . spaceLeft & & ( n + = i , a + = o , s + + ) , h . required | | o > t . spaceLeft ) { if ( h . required & & t . emit ( " lastLine " , e , t ) , l = t . document . currentLineHeight ( ! 0 ) , null != t . height & & t . ellipsis & & t . document . y + 2 * l > t . maxY & & t . column > = t . columns ) { for ( t . ellipsis == = ! 0 & & ( t . ellipsis = " … " ) , n = n . replace ( / \s + $ / , " " ) , a = t . wordWidth ( n + t . ellipsis ) ; a > t . lineWidth ; ) n = n . slice ( 0 , - 1 ) . replace ( / \s + $ / , " " ) , a = t . wordWidth ( n + t . ellipsis ) ; n + = t . ellipsis } return r ( ) , t . document . y + l > t . maxY & & ( c = t . nextSection ( ) , ! c ) ? ( s = 0 , n = " " , ! 1 ) : h . required ? ( o > t . spaceLeft & & ( n = i , a = o , s = 1 , r ( ) ) , t . spaceLeft = t . lineWidth , n = " " , a = 0 , s = 0 ) : ( t . spaceLeft = t . lineWidth - o , n = i , a = o , s = 1 ) } return t . spaceLeft - = o } } ( this ) ) , s > 0 & & ( this . emit ( " lastLine " , e , this ) , r ( ) ) , this . emit ( " sectionEnd " , e , this ) , e . continued == = ! 0 ? ( i > 1 & & ( this . continuedX = 0 ) , this . continuedX + = e . textWidth , this . document . y = h ) : this . document . x = this . startX } , e . prototype . nextSection = function ( t ) { var e ; if ( this . emit ( " sectionEnd " , t , this ) , + + this . column > this . columns ) { if ( null != this . height ) return ! 1 ; this . document . addPage ( ) , this . column = 1 , this . startY = this . document . page . margins . top , this . maxY = this . document . page . maxY ( ) , this . document . x = this . startX , this . document . _fillColor & & ( e = this . document ) . fillColor . apply ( e , this . document . _fillColor ) , this . emit ( " pageBreak " , t , this ) } else this . document . x + = this . lineWidth + this . columnGap , this . document . y = this . startY , this . emit ( " columnBreak " , t , this ) ; return this . emit ( " sectionStart " , t , this ) , ! 0 } , e } ( e ) , t . exports = i } ) . call ( this ) } , function ( t , e , n ) { ( function ( ) { var e , n , r , i = { } . hasOwnProperty , o = function ( t , e ) { function n ( ) { this . constructor = t } for ( var r in e ) i . call ( e , r ) & & ( t [ r ] = e [ r ] ) ; return n . prototype = e . prototype , t . prototype = new n , t . __super__ = e . prototype , t } ; e = function ( ) { function t ( t ) { this . doc = t , this . stops = [ ] , this . embedde
} ; if ( r . noDeprecation == = ! 0 ) return n ; var a = ! 1 ; return o } ; var B , T = { } ; e . debuglog = function ( t ) { if ( b ( B ) & & ( B = r . env . NODE_DEBUG | | " " ) , t = t . toUpperCase ( ) , ! T [ t ] ) if ( new RegExp ( " \\ b " + t + " \\ b " , " i " ) . test ( B ) ) { { r . pid } T [ t ] = function ( ) { e . format . apply ( e , arguments ) } } else T [ t ] = function ( ) { } ; return T [ t ] } , e . inspect = i , i . colors = { bold : [ 1 , 22 ] , italic : [ 3 , 23 ] , underline : [ 4 , 24 ] , inverse : [ 7 , 27 ] , white : [ 37 , 39 ] , grey : [ 90 , 39 ] , black : [ 30 , 39 ] , blue : [ 34 , 39 ] , cyan : [ 36 , 39 ] , green : [ 32 , 39 ] , magenta : [ 35 , 39 ] , red : [ 31 , 39 ] , yellow : [ 33 , 39 ] } , i . styles = { special : " cyan " , number : " yellow " , " boolean " : " yellow " , undefined : " grey " , " null " : " bold " , string : " green " , date : " magenta " , regexp : " red " } , e . isArray = p , e . isBoolean = g , e . isNull = v , e . isNullOrUndefined = m , e . isNumber = y , e . isString = w , e . isSymbol = _ , e . isUndefined = b , e . isRegExp = x , e . isObject = S , e . isDate = k , e . isError = E , e . isFunction = C , e . isPrimitive = I , e . isBuffer = n ( 72 ) ; e . log = function ( ) { } , e . inherits = n ( 94 ) , e . _extend = function ( t , e ) { if ( ! e | | ! S ( e ) ) return t ; for ( var n = Object . keys ( e ) , r = n . length ; r - - ; ) t [ n [ r ] ] = e [ n [ r ] ] ; return t } } ) . call ( e , function ( ) { return this } ( ) , n ( 61 ) ) } , function ( t , e , n ) { function r ( ) { if ( ! s ) { s = ! 0 ; for ( var t , e = a . length ; e ; ) { t = a , a = [ ] ; for ( var n = - 1 ; + + n < e ; ) t [ n ] ( ) ; e = a . length } s = ! 1 } } function i ( ) { } var o = t . exports = { } , a = [ ] , s = ! 1 ; o . nextTick = function ( t ) { a . push ( t ) , s | | setTimeout ( r , 0 ) } , o . title = " browser " , o . browser = ! 0 , o . env = { } , o . argv = [ ] , o . version = " " , o . versions = { } , o . on = i , o . addListener = i , o . once = i , o . off = i , o . removeListener = i , o . removeAllListeners = i , o . emit = i , o . binding = function ( t ) { throw new Error ( " process.binding is not supported " ) } , o . cwd = function ( ) { return " / " } , o . chdir = function ( t ) { throw new Error ( " process.chdir is not supported " ) } , o . umask = function ( ) { return 0 } } , function ( t , e , n ) { t . exports = " function " == typeof Object . create ? function ( t , e ) { t . super_ = e , t . prototype = Object . create ( e . prototype , { constructor : { value : t , enumerable : ! 1 , writable : ! 0 , configurable : ! 0 } } ) } : function ( t , e ) { t . super_ = e ; var n = function ( ) { } ; n . prototype = e . prototype , t . prototype = new n , t . prototype . constructor = t } } , function ( t , e , n ) { ( function ( ) { var e , r ; r = n ( 10 ) , e = function ( ) { function t ( t ) { var e , r ; this . contents = t , this . attributes = { } , this . glyphWidths = { } , this . boundingBoxes = { } , this . parse ( ) , this . charWidths = function ( ) { var t , e ; for ( e = [ ] , r = t = 0 ; 255 > = t ; r = + + t ) e . push ( this . glyphWidths [ n [ r ] ] ) ; return e } . call ( this ) , this . bbox = function ( ) { var t , n , r , i ; for ( r = this . attributes . FontBBox . split ( / \s + / ) , i = [ ] , t = 0 , n = r . length ; n > t ; t + + ) e = r [ t ] , i . push ( + e ) ; return i } . call ( this ) , this . ascender = + ( this . attributes . Ascender | | 0 ) , this . decender = + ( this . attributes . Descender | | 0 ) , this . lineGap = this . bbox [ 3 ] - this . bbox [ 1 ] - ( this . ascender - this . decender ) } var e , n ; return t . open = function ( e ) { return new t ( r . readFileSync ( e , " utf8 " ) ) } , t . prototype . parse = function ( ) { var t , e , n , r , i , o , a , s , h , u ; for ( o = " " , u = this . contents . split ( " \n " ) , s = 0 , h = u . length ; h > s ; s + + ) if ( n = u [ s ] , r = n . match ( / ^ Start ( \w + ) / ) ) o = r [ 1 ] ; else if ( r = n . match ( / ^ End ( \w + ) / ) ) o = " " ; else switch ( o ) { case " FontMetrics " : r = n . match ( / ( ^ \w + ) \s + ( . * ) / ) , e = r [ 1 ] , a = r [ 2 ] , ( t = this . attributes [ e ] ) ? ( Array . isArray ( t ) | | ( t = this . attributes [ e ] = [ t ] ) , t . push ( a ) ) : this . attributes [ e ] = a ; break ; case " CharMetrics " : if ( ! / ^ CH ? \s / . test ( n ) ) continue ; i = n . match ( / \bN \s + ( \. ? \w + ) \s * ; / ) [ 1 ] , this . glyphWidths [ i ] = + n . match ( / \bWX \s + ( \d + ) \s * ; / ) [ 1 ] } } , e = { 402 : 131 , 8211 : 150 , 8212 : 151 , 8216 : 145 , 8217 : 146 , 8218 : 130 , 8220 : 147 , 8221 : 148 , 8222 : 132 , 8224 : 134 , 8225 : 135 , 8226 : 149 , 8230 : 133 , 8364 : 128 , 8240 : 137 , 8249 : 139 , 8250 : 155 , 710 : 136 , 8482 : 153 , 338 : 140 , 339 : 156 , 732 : 152 , 352 : 138 , 353 : 154 , 376 : 159 , 381 : 142 , 382 : 158 } , t . prototype . encodeText = function ( t ) { var n , r , i , o , a ; for ( i = " " , r = o = 0 , a = t . length ; a > = 0 ? a > o : o > a ; r = a > = 0 ? + + o : - - o ) n = t . charCodeAt ( r ) , n = e [ n ] | | n , i + = String . fromCharCode ( n ) ; return i } , t . prototype . characterToGlyph = function ( t ) { return n [ e [ t ] | | t ] } , t . prototype . widthOfGlyph = function ( t ) { return this . glyphWidths [ t ] } , n = " .notdef .notdef .notdef .notdef \n .notdef .notdef .notdef .notdef \n .notdef .notdef .notdef .notdef \n .notdef .notdef .notdef .notdef \n .notdef .notdef .notdef .notdef \n .notdef .notdef .notdef .notdef \n .notdef .notdef .notdef .notdef \n .notdef .notdef .notdef .notdef \n \n space exclam quotedbl numbersign \n
t . strstart = r , s ( t , ! 1 ) , 0 == = t . strm . avail_out ) ) return yt ; if ( t . strstart - t . block_start > = t . w_size - ut & & ( s ( t , ! 1 ) , 0 == = t . strm . avail_out ) ) return yt } return t . insert = 0 , e == = U ? ( s ( t , ! 0 ) , 0 == = t . strm . avail_out ? _t : bt ) : t . strstart > t . block_start & & ( s ( t , ! 1 ) , 0 == = t . strm . avail_out ) ? yt : yt } function p ( t , e ) { for ( var n , r ; ; ) { if ( t . lookahead < ut ) { if ( f ( t ) , t . lookahead < ut & & e == = M ) return yt ; if ( 0 == = t . lookahead ) break } if ( n = 0 , t . lookahead > = st & & ( t . ins_h = ( t . ins_h << t . hash_shift ^ t . window [ t . strstart + st - 1 ] ) & t . hash_mask , n = t . prev [ t . strstart & t . w_mask ] = t . head [ t . ins_h ] , t . head [ t . ins_h ] = t . strstart ) , 0 != = n & & t . strstart - n < = t . w_size - ut & & ( t . match_length = c ( t , n ) ) , t . match_length > = st ) if ( r = L . _tr_tally ( t , t . strstart - t . match_start , t . match_length - st ) , t . lookahead - = t . match_length , t . match_length < = t . max_lazy_match & & t . lookahead > = st ) { t . match_length - - ; do t . strstart + + , t . ins_h = ( t . ins_h << t . hash_shift ^ t . window [ t . strstart + st - 1 ] ) & t . hash_mask , n = t . prev [ t . strstart & t . w_mask ] = t . head [ t . ins_h ] , t . head [ t . ins_h ] = t . strstart ; while ( 0 != = - - t . match_length ) ; t . strstart + + } else t . strstart + = t . match_length , t . match_length = 0 , t . ins_h = t . window [ t . strstart ] , t . ins_h = ( t . ins_h << t . hash_shift ^ t . window [ t . strstart + 1 ] ) & t . hash_mask ; else r = L . _tr_tally ( t , 0 , t . window [ t . strstart ] ) , t . lookahead - - , t . strstart + + ; if ( r & & ( s ( t , ! 1 ) , 0 == = t . strm . avail_out ) ) return yt } return t . insert = t . strstart < st - 1 ? t . strstart : st - 1 , e == = U ? ( s ( t , ! 0 ) , 0 == = t . strm . avail_out ? _t : bt ) : t . last_lit & & ( s ( t , ! 1 ) , 0 == = t . strm . avail_out ) ? yt : wt } function g ( t , e ) { for ( var n , r , i ; ; ) { if ( t . lookahead < ut ) { if ( f ( t ) , t . lookahead < ut & & e == = M ) return yt ; if ( 0 == = t . lookahead ) break } if ( n = 0 , t . lookahead > = st & & ( t . ins_h = ( t . ins_h << t . hash_shift ^ t . window [ t . strstart + st - 1 ] ) & t . hash_mask , n = t . prev [ t . strstart & t . w_mask ] = t . head [ t . ins_h ] , t . head [ t . ins_h ] = t . strstart ) , t . prev_length = t . match_length , t . prev_match = t . match_start , t . match_length = st - 1 , 0 != = n & & t . prev_length < t . max_lazy_match & & t . strstart - n < = t . w_size - ut & & ( t . match_length = c ( t , n ) , t . match_length < = 5 & & ( t . strategy == = Z | | t . match_length == = st & & t . strstart - t . match_start > 4096 ) & & ( t . match_length = st - 1 ) ) , t . prev_length > = st & & t . match_length < = t . prev_length ) { i = t . strstart + t . lookahead - st , r = L . _tr_tally ( t , t . strstart - 1 - t . prev_match , t . prev_length - st ) , t . lookahead - = t . prev_length - 1 , t . prev_length - = 2 ; do + + t . strstart < = i & & ( t . ins_h = ( t . ins_h << t . hash_shift ^ t . window [ t . strstart + st - 1 ] ) & t . hash_mask , n = t . prev [ t . strstart & t . w_mask ] = t . head [ t . ins_h ] , t . head [ t . ins_h ] = t . strstart ) ; while ( 0 != = - - t . prev_length ) ; if ( t . match_available = 0 , t . match_length = st - 1 , t . strstart + + , r & & ( s ( t , ! 1 ) , 0 == = t . strm . avail_out ) ) return yt } else if ( t . match_available ) { if ( r = L . _tr_tally ( t , 0 , t . window [ t . strstart - 1 ] ) , r & & s ( t , ! 1 ) , t . strstart + + , t . lookahead - - , 0 == = t . strm . avail_out ) return yt } else t . match_available = 1 , t . strstart + + , t . lookahead - - } return t . match_available & & ( r = L . _tr_tally ( t , 0 , t . window [ t . strstart - 1 ] ) , t . match_available = 0 ) , t . insert = t . strstart < st - 1 ? t . strstart : st - 1 , e == = U ? ( s ( t , ! 0 ) , 0 == = t . strm . avail_out ? _t : bt ) : t . last_lit & & ( s ( t , ! 1 ) , 0 == = t . strm . avail_out ) ? yt : wt } function v ( t , e ) { for ( var n , r , i , o , a = t . window ; ; ) { if ( t . lookahead < = ht ) { if ( f ( t ) , t . lookahead < = ht & & e == = M ) return yt ; if ( 0 == = t . lookahead ) break } if ( t . match_length = 0 , t . lookahead > = st & & t . strstart > 0 & & ( i = t . strstart - 1 , r = a [ i ] , r == = a [ + + i ] & & r == = a [ + + i ] & & r == = a [ + + i ] ) ) { o = t . strstart + ht ; do ; while ( r == = a [ + + i ] & & r == = a [ + + i ] & & r == = a [ + + i ] & & r == = a [ + + i ] & & r == = a [ + + i ] & & r == = a [ + + i ] & & r == = a [ + + i ] & & r == = a [ + + i ] & & o > i ) ; t . match_length = ht - ( o - i ) , t . match_length > t . lookahead & & ( t . match_length = t . lookahead ) } if ( t . match_length > = st ? ( n = L . _tr_tally ( t , 1 , t . match_length - st ) , t . lookahead - = t . match_length , t . strstart + = t . match_length , t . match_length = 0 ) : ( n = L . _tr_tally ( t , 0 , t . window [ t . strstart ] ) , t . lookahead - - , t . strstart + + ) , n & & ( s ( t , ! 1 ) , 0 == = t . strm . avail_out ) ) return yt } return t . insert = 0 , e == = U ? ( s ( t , ! 0 ) , 0 == = t . strm . avail_out ? _t : bt ) : t . last_lit & & ( s ( t , ! 1 ) , 0 == = t . strm . avail_out ) ? yt : wt } function m ( t , e ) { for ( var n ; ; ) { if ( 0 == = t . lookahead & & ( f ( t ) , 0 == = t . lookahead ) ) { if ( e == = M ) return yt ; break } if ( t . match_length = 0 , n = L . _tr_tally ( t , 0 , t . window [ t . strstart ] ) , t . lookahead - - , t . strstart + + , n & & ( s ( t , ! 1 ) , 0 == = t . strm . avail_out ) ) return yt } return t . insert = 0 , e == = U ? ( s ( t , ! 0 ) , 0 == = t . strm . avail_out ? _t : bt ) : t . last_lit & & ( s ( t , ! 1 ) , 0 == = t . strm . avail_out ) ? yt : wt } function y ( t ) { t . window_size = 2 * t . w_size , o ( t . head ) , t . max_lazy_match = I [ t . level ] . max_lazy , t . good_match = I [ t . level ] . go
B . writeUInt16 ( 262 ) , B . writeUInt16 ( 0 ) , B . write ( v ) , k = { charMap : o , subtable : B . data , maxGlyphID : g + 1 } ; case " unicode " : for ( L = [ ] , c = [ ] , w = 0 , y = { } , n = { } , m = u = null , M = 0 , P = a . length ; P > M ; M + + ) i = a [ M ] , b = t [ i ] , null == y [ b ] & & ( y [ b ] = + + w ) , n [ i ] = { old : b , " new " : y [ b ] } , s = y [ b ] - i , ( null == m | | s != = u ) & & ( m & & c . push ( m ) , L . push ( i ) , u = s ) , m = i ; for ( m & & c . push ( m ) , c . push ( 65535 ) , L . push ( 65535 ) , C = L . length , I = 2 * C , E = 2 * Math . pow ( Math . log ( C ) / Math . LN2 , 2 ) , f = Math . log ( E / 2 ) / Math . LN2 , S = 2 * C - E , h = [ ] , x = [ ] , d = [ ] , p = O = 0 , F = L . length ; F > O ; p = + + O ) { if ( A = L [ p ] , l = c [ p ] , 65535 == = A ) { h . push ( 0 ) , x . push ( 0 ) ; break } if ( R = n [ A ] [ " new " ] , A - R > = 32768 ) for ( h . push ( 0 ) , x . push ( 2 * ( d . length + C - p ) ) , i = D = A ; l > = A ? l > = D : D > = l ; i = l > = A ? + + D : - - D ) d . push ( n [ i ] [ " new " ] ) ; else h . push ( R - A ) , x . push ( 0 ) } for ( B . writeUInt16 ( 3 ) , B . writeUInt16 ( 1 ) , B . writeUInt32 ( 12 ) , B . writeUInt16 ( 4 ) , B . writeUInt16 ( 16 + 8 * C + 2 * d . length ) , B . writeUInt16 ( 0 ) , B . writeUInt16 ( I ) , B . writeUInt16 ( E ) , B . writeUInt16 ( f ) , B . writeUInt16 ( S ) , Z = 0 , z = c . length ; z > Z ; Z + + ) i = c [ Z ] , B . writeUInt16 ( i ) ; for ( B . writeUInt16 ( 0 ) , G = 0 , W = L . length ; W > G ; G + + ) i = L [ G ] , B . writeUInt16 ( i ) ; for ( Y = 0 , N = h . length ; N > Y ; Y + + ) s = h [ Y ] , B . writeUInt16 ( s ) ; for ( K = 0 , j = x . length ; j > K ; K + + ) _ = x [ K ] , B . writeUInt16 ( _ ) ; for ( X = 0 , H = d . length ; H > X ; X + + ) g = d [ X ] , B . writeUInt16 ( g ) ; return k = { charMap : n , subtable : B . data , maxGlyphID : w + 1 } } } , t } ( ) , t . exports = CmapTable } ) . call ( this ) } , function ( t , e , n ) { ( function ( ) { var e , HmtxTable , r , i = { } . hasOwnProperty , o = function ( t , e ) { function n ( ) { this . constructor = t } for ( var r in e ) i . call ( e , r ) & & ( t [ r ] = e [ r ] ) ; return n . prototype = e . prototype , t . prototype = new n , t . __super__ = e . prototype , t } ; r = n ( 99 ) , e = n ( 34 ) , HmtxTable = function ( t ) { function HmtxTable ( ) { return HmtxTable . __super__ . constructor . apply ( this , arguments ) } return o ( HmtxTable , t ) , HmtxTable . prototype . tag = " hmtx " , HmtxTable . prototype . parse = function ( t ) { var e , n , r , i , o , a , s , h ; for ( t . pos = this . offset , this . metrics = [ ] , e = o = 0 , s = this . file . hhea . numberOfMetrics ; s > = 0 ? s > o : o > s ; e = s > = 0 ? + + o : - - o ) this . metrics . push ( { advance : t . readUInt16 ( ) , lsb : t . readInt16 ( ) } ) ; for ( r = this . file . maxp . numGlyphs - this . file . hhea . numberOfMetrics , this . leftSideBearings = function ( ) { var n , i ; for ( i = [ ] , e = n = 0 ; r > = 0 ? r > n : n > r ; e = r > = 0 ? + + n : - - n ) i . push ( t . readInt16 ( ) ) ; return i } ( ) , this . widths = function ( ) { var t , e , n , r ; for ( n = this . metrics , r = [ ] , t = 0 , e = n . length ; e > t ; t + + ) i = n [ t ] , r . push ( i . advance ) ; return r } . call ( this ) , n = this . widths [ this . widths . length - 1 ] , h = [ ] , e = a = 0 ; r > = 0 ? r > a : a > r ; e = r > = 0 ? + + a : - - a ) h . push ( this . widths . push ( n ) ) ; return h } , HmtxTable . prototype . forGlyph = function ( t ) { var e ; return t in this . metrics ? this . metrics [ t ] : e = { advance : this . metrics [ this . metrics . length - 1 ] . advance , lsb : this . leftSideBearings [ t - this . metrics . length ] } } , HmtxTable . prototype . encode = function ( t ) { var n , r , i , o , a ; for ( i = new e , o = 0 , a = t . length ; a > o ; o + + ) n = t [ o ] , r = this . forGlyph ( n ) , i . writeUInt16 ( r . advance ) , i . writeUInt16 ( r . lsb ) ; return i . data } , HmtxTable } ( r ) , t . exports = HmtxTable } ) . call ( this ) } , function ( t , e , n ) { ( function ( ) { var e , HheaTable , r , i = { } . hasOwnProperty , o = function ( t , e ) { function n ( ) { this . constructor = t } for ( var r in e ) i . call ( e , r ) & & ( t [ r ] = e [ r ] ) ; return n . prototype = e . prototype , t . prototype = new n , t . __super__ = e . prototype , t } ; r = n ( 99 ) , e = n ( 34 ) , HheaTable = function ( t ) { function HheaTable ( ) { return HheaTable . __super__ . constructor . apply ( this , arguments ) } return o ( HheaTable , t ) , HheaTable . prototype . tag = " hhea " , HheaTable . prototype . parse = function ( t ) { return t . pos = this . offset , this . version = t . readInt ( ) , this . ascender = t . readShort ( ) , this . decender = t . readShort ( ) , this . lineGap = t . readShort ( ) , this . advanceWidthMax = t . readShort ( ) , this . minLeftSideBearing = t . readShort ( ) , this . minRightSideBearing = t . readShort ( ) , this . xMaxExtent = t . readShort ( ) , this . caretSlopeRise = t . readShort ( ) , this . caretSlopeRun = t . readShort ( ) , this . caretOffset = t . readShort ( ) , t . pos + = 8 , this . metricDataFormat = t . readShort ( ) , this . numberOfMetrics = t . readUInt16 ( ) } , HheaTable . prototype . encode = function ( t ) { var n , r , i , o ; for ( r = new e , r . writeInt ( this . version ) , r . writeShort ( this . ascender ) , r . writeShort ( this . decender ) , r . writeShort ( this . lineGap ) , r . writeShort ( this . advanceWidthMax ) , r . writeShort ( this . minLeftSideBearing ) , r . writeShort ( this . minRightSideBearing ) , r . writeShort ( this . xMaxExtent ) , r . writeShort ( this . caretSlopeRise ) , r . writeShort ( this . caretSlopeRun ) , r . writeShort ( this . caretOffset ) , n = i = 0 , o = 8 ; o > = 0 ? o > i : i > o ; n = o > = 0 ? + + i : - - i ) r . writeByte ( 0 ) ; return r . writeShort ( this . metricDataFormat ) , r . writeU
t . exports = function ( t , e , n , p , g , v , m , y ) { var w , _ , b , x , S , k , E , C , I , A = y . bits , L = 0 , R = 0 , B = 0 , T = 0 , M = 0 , O = 0 , D = 0 , U = 0 , P = 0 , F = 0 , z = null , W = 0 , N = new r . Buf16 ( i + 1 ) , j = new r . Buf16 ( i + 1 ) , H = null , Z = 0 ; for ( L = 0 ; i > = L ; L + + ) N [ L ] = 0 ; for ( R = 0 ; p > R ; R + + ) N [ e [ n + R ] ] + + ; for ( M = A , T = i ; T > = 1 & & 0 == = N [ T ] ; T - - ) ; if ( M > T & & ( M = T ) , 0 == = T ) return g [ v + + ] = 20971520 , g [ v + + ] = 20971520 , y . bits = 1 , 0 ; for ( B = 1 ; T > B & & 0 == = N [ B ] ; B + + ) ; for ( B > M & & ( M = B ) , U = 1 , L = 1 ; i > = L ; L + + ) if ( U << = 1 , U - = N [ L ] , 0 > U ) return - 1 ; if ( U > 0 & & ( t == = s | | 1 != = T ) ) return - 1 ; for ( j [ 1 ] = 0 , L = 1 ; i > L ; L + + ) j [ L + 1 ] = j [ L ] + N [ L ] ; for ( R = 0 ; p > R ; R + + ) 0 != = e [ n + R ] & & ( m [ j [ e [ n + R ] ] + + ] = R ) ; if ( t == = s ? ( z = H = m , k = 19 ) : t == = h ? ( z = l , W - = 257 , H = c , Z - = 257 , k = 256 ) : ( z = f , H = d , k = - 1 ) , F = 0 , R = 0 , L = B , S = v , O = M , D = 0 , b = - 1 , P = 1 << M , x = P - 1 , t == = h & & P > o | | t == = u & & P > a ) return 1 ; for ( var G = 0 ; ; ) { G + + , E = L - D , m [ R ] < k ? ( C = 0 , I = m [ R ] ) : m [ R ] > k ? ( C = H [ Z + m [ R ] ] , I = z [ W + m [ R ] ] ) : ( C = 96 , I = 0 ) , w = 1 << L - D , _ = 1 << O , B = _ ; do _ - = w , g [ S + ( F >> D ) + _ ] = E << 24 | C << 16 | I | 0 ; while ( 0 != = _ ) ; for ( w = 1 << L - 1 ; F & w ; ) w >> = 1 ; if ( 0 != = w ? ( F & = w - 1 , F + = w ) : F = 0 , R + + , 0 == = - - N [ L ] ) { if ( L == = T ) break ; L = e [ n + m [ R ] ] } if ( L > M & & ( F & x ) != = b ) { for ( 0 == = D & & ( D = M ) , S + = B , O = L - D , U = 1 << O ; T > O + D & & ( U - = N [ O + D ] , ! ( 0 > = U ) ) ; ) O + + , U << = 1 ; if ( P + = 1 << O , t == = h & & P > o | | t == = u & & P > a ) return 1 ; b = F & x , g [ b ] = M << 24 | O << 16 | S - v | 0 } } return 0 != = F & & ( g [ S + F ] = L - D << 24 | 64 << 16 | 0 ) , y . bits = M , 0 } } , function ( t , e , n ) { t . exports = " function " == typeof Object . create ? function ( t , e ) { t . super_ = e , t . prototype = Object . create ( e . prototype , { constructor : { value : t , enumerable : ! 1 , writable : ! 0 , configurable : ! 0 } } ) } : function ( t , e ) { t . super_ = e ; var n = function ( ) { } ; n . prototype = e . prototype , t . prototype = new n , t . prototype . constructor = t } } , function ( t , e , n ) { ( function ( t ) { function n ( t ) { return Array . isArray ( t ) } function r ( t ) { return " boolean " == typeof t } function i ( t ) { return null == = t } function o ( t ) { return null == t } function a ( t ) { return " number " == typeof t } function s ( t ) { return " string " == typeof t } function h ( t ) { return " symbol " == typeof t } function u ( t ) { return void 0 == = t } function l ( t ) { return c ( t ) & & " [object RegExp] " == = m ( t ) } function c ( t ) { return " object " == typeof t & & null != = t } function f ( t ) { return c ( t ) & & " [object Date] " == = m ( t ) } function d ( t ) { return c ( t ) & & ( " [object Error] " == = m ( t ) | | t instanceof Error ) } function p ( t ) { return " function " == typeof t } function g ( t ) { return null == = t | | " boolean " == typeof t | | " number " == typeof t | | " string " == typeof t | | " symbol " == typeof t | | " undefined " == typeof t } function v ( e ) { return t . isBuffer ( e ) } function m ( t ) { return Object . prototype . toString . call ( t ) } e . isArray = n , e . isBoolean = r , e . isNull = i , e . isNullOrUndefined = o , e . isNumber = a , e . isString = s , e . isSymbol = h , e . isUndefined = u , e . isRegExp = l , e . isObject = c , e . isDate = f , e . isError = d , e . isFunction = p , e . isPrimitive = g , e . isBuffer = v } ) . call ( e , n ( 4 ) . Buffer ) } , function ( t , e , n ) { t . exports = { data : [ 1961 , 1969 , 1977 , 1985 , 2025 , 2033 , 2041 , 2049 , 2057 , 2065 , 2073 , 2081 , 2089 , 2097 , 2105 , 2113 , 2121 , 2129 , 2137 , 2145 , 2153 , 2161 , 2169 , 2177 , 2185 , 2193 , 2201 , 2209 , 2217 , 2225 , 2233 , 2241 , 2249 , 2257 , 2265 , 2273 , 2281 , 2289 , 2297 , 2305 , 2313 , 2321 , 2329 , 2337 , 2345 , 2353 , 2361 , 2369 , 2377 , 2385 , 2393 , 2401 , 2409 , 2417 , 2425 , 2433 , 2441 , 2449 , 2457 , 2465 , 2473 , 2481 , 2489 , 2497 , 2505 , 2513 , 2521 , 2529 , 2529 , 2537 , 2009 , 2545 , 2553 , 2561 , 2569 , 2577 , 2585 , 2593 , 2601 , 2609 , 2617 , 2625 , 2633 , 2641 , 2649 , 2657 , 2665 , 2673 , 2681 , 2689 , 2697 , 2705 , 2713 , 2721 , 2729 , 2737 , 2745 , 2753 , 2761 , 2769 , 2777 , 2785 , 2793 , 2801 , 2809 , 2817 , 2825 , 2833 , 2841 , 2849 , 2857 , 2865 , 2873 , 2881 , 2889 , 2009 , 2897 , 2905 , 2913 , 2009 , 2921 , 2929 , 2937 , 2945 , 2953 , 2961 , 2969 , 2009 , 2977 , 2977 , 2985 , 2993 , 3001 , 3009 , 3009 , 3009 , 3017 , 3017 , 3017 , 3025 , 3025 , 3033 , 3041 , 3041 , 3049 , 3049 , 3049 , 3049 , 3049 , 3049 , 3049 , 3049 , 3049 , 3049 , 3057 , 3065 , 3073 , 3073 , 3073 , 3081 , 3089 , 3097 , 3097 , 3097 , 3097 , 3097 , 3097 , 3097 , 3097 , 3097 , 3097 , 3097 , 3097 , 3097 , 3097 , 3097 , 3097 , 3097 , 3097 , 3097 , 3105 , 3113 , 3113 , 3121 , 3129 , 3137 , 3145 , 3153 , 3161 , 3161 , 3169 , 3177 , 3185 , 3193 , 3193 , 3193 , 3193 , 3201 , 3209 , 3209 , 3217 , 3225 , 3233 , 3241 , 3241 , 3241 , 3249 , 3257 , 3265 , 3273 , 3273 , 3281 , 3289 , 3297 , 2009 , 2009 , 3305 , 3313 , 3321 , 3329 , 3337 , 3345 , 3353 , 3361 , 3369 , 3377 , 3385 , 3393 , 2009 , 2009 , 3401 , 3409 , 3417 , 3417 , 3417 , 3417 , 3417 , 3417 , 3425 , 3425 , 3433 , 3433 , 3433 , 3433 , 3433 , 3433 , 3433 , 3433 , 3433 , 3433 , 3433 , 3433 , 3433 , 3433 , 3433 , 3441 , 3449 , 3457 , 3465 , 3473 , 3481 , 3489 , 3497 , 3505 , 3513 , 3521 , 3529 , 3537 , 3545 , 3553 , 3561 , 3569 , 3577 , 3585 , 3593 , 3601 , 3609 , 3617 , 3625 , 3625 , 3633 , 3641 , 3649 , 3649 , 3649 , 3649 , 3649 , 3657 , 3665 , 3665 , 3673 , 3681 , 3681 , 3681 , 3681 , 3689 , 3697 , 3697 , 3705 , 3713 , 3721 , 3729 , 3737 , 3745 , 3753 , 3761 , 3769 , 3777 , 3785 , 3793 , 3801 , 3809 , 3817 , 3825 , 3833 , 3
highStart : 919552 , errorValue : 0 } } , function ( t , e , n ) { t . exports = Array . isArray | | function ( t ) { return " [object Array] " == Object . prototype . toString . call ( t ) } } ] ) ;
/ / # sourceMappingURL=pdfmake.min.js.map
2018-03-23 11:46:46 +00:00
window . pdfMake = window . pdfMake | | { } ; window . pdfMake . vfs = { " LICENSE.txt " : " DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcGFjaGUgTGljZW5zZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgVmVyc2lvbiAyLjAsIEphbnVhcnkgMjAwNA0KICAgICAgICAgICAgICAgICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzLw0KDQogICBURVJNUyBBTkQgQ09ORElUSU9OUyBGT1IgVVNFLCBSRVBST0RVQ1RJT04sIEFORCBESVNUUklCVVRJT04NCg0KICAgMS4gRGVmaW5pdGlvbnMuDQoNCiAgICAgICJMaWNlbnNlIiBzaGFsbCBtZWFuIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBmb3IgdXNlLCByZXByb2R1Y3Rpb24sDQogICAgICBhbmQgZGlzdHJpYnV0aW9uIGFzIGRlZmluZWQgYnkgU2VjdGlvbnMgMSB0aHJvdWdoIDkgb2YgdGhpcyBkb2N1bWVudC4NCg0KICAgICAgIkxpY2Vuc29yIiBzaGFsbCBtZWFuIHRoZSBjb3B5cmlnaHQgb3duZXIgb3IgZW50aXR5IGF1dGhvcml6ZWQgYnkNCiAgICAgIHRoZSBjb3B5cmlnaHQgb3duZXIgdGhhdCBpcyBncmFudGluZyB0aGUgTGljZW5zZS4NCg0KICAgICAgIkxlZ2FsIEVudGl0eSIgc2hhbGwgbWVhbiB0aGUgdW5pb24gb2YgdGhlIGFjdGluZyBlbnRpdHkgYW5kIGFsbA0KICAgICAgb3RoZXIgZW50aXRpZXMgdGhhdCBjb250cm9sLCBhcmUgY29udHJvbGxlZCBieSwgb3IgYXJlIHVuZGVyIGNvbW1vbg0KICAgICAgY29udHJvbCB3aXRoIHRoYXQgZW50aXR5LiBGb3IgdGhlIHB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwNCiAgICAgICJjb250cm9sIiBtZWFucyAoaSkgdGhlIHBvd2VyLCBkaXJlY3Qgb3IgaW5kaXJlY3QsIHRvIGNhdXNlIHRoZQ0KICAgICAgZGlyZWN0aW9uIG9yIG1hbmFnZW1lbnQgb2Ygc3VjaCBlbnRpdHksIHdoZXRoZXIgYnkgY29udHJhY3Qgb3INCiAgICAgIG90aGVyd2lzZSwgb3IgKGlpKSBvd25lcnNoaXAgb2YgZmlmdHkgcGVyY2VudCAoNTAlKSBvciBtb3JlIG9mIHRoZQ0KICAgICAgb3V0c3RhbmRpbmcgc2hhcmVzLCBvciAoaWlpKSBiZW5lZmljaWFsIG93bmVyc2hpcCBvZiBzdWNoIGVudGl0eS4NCg0KICAgICAgIllvdSIgKG9yICJZb3VyIikgc2hhbGwgbWVhbiBhbiBpbmRpdmlkdWFsIG9yIExlZ2FsIEVudGl0eQ0KICAgICAgZXhlcmNpc2luZyBwZXJtaXNzaW9ucyBncmFudGVkIGJ5IHRoaXMgTGljZW5zZS4NCg0KICAgICAgIlNvdXJjZSIgZm9ybSBzaGFsbCBtZWFuIHRoZSBwcmVmZXJyZWQgZm9ybSBmb3IgbWFraW5nIG1vZGlmaWNhdGlvbnMsDQogICAgICBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIHNvZnR3YXJlIHNvdXJjZSBjb2RlLCBkb2N1bWVudGF0aW9uDQogICAgICBzb3VyY2UsIGFuZCBjb25maWd1cmF0aW9uIGZpbGVzLg0KDQogICAgICAiT2JqZWN0IiBmb3JtIHNoYWxsIG1lYW4gYW55IGZvcm0gcmVzdWx0aW5nIGZyb20gbWVjaGFuaWNhbA0KICAgICAgdHJhbnNmb3JtYXRpb24gb3IgdHJhbnNsYXRpb24gb2YgYSBTb3VyY2UgZm9ybSwgaW5jbHVkaW5nIGJ1dA0KICAgICAgbm90IGxpbWl0ZWQgdG8gY29tcGlsZWQgb2JqZWN0IGNvZGUsIGdlbmVyYXRlZCBkb2N1bWVudGF0aW9uLA0KICAgICAgYW5kIGNvbnZlcnNpb25zIHRvIG90aGVyIG1lZGlhIHR5cGVzLg0KDQogICAgICAiV29yayIgc2hhbGwgbWVhbiB0aGUgd29yayBvZiBhdXRob3JzaGlwLCB3aGV0aGVyIGluIFNvdXJjZSBvcg0KICAgICAgT2JqZWN0IGZvcm0sIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSBMaWNlbnNlLCBhcyBpbmRpY2F0ZWQgYnkgYQ0KICAgICAgY29weXJpZ2h0IG5vdGljZSB0aGF0IGlzIGluY2x1ZGVkIGluIG9yIGF0dGFjaGVkIHRvIHRoZSB3b3JrDQogICAgICAoYW4gZXhhbXBsZSBpcyBwcm92aWRlZCBpbiB0aGUgQXBwZW5kaXggYmVsb3cpLg0KDQogICAgICAiRGVyaXZhdGl2ZSBXb3JrcyIgc2hhbGwgbWVhbiBhbnkgd29yaywgd2hldGhlciBpbiBTb3VyY2Ugb3IgT2JqZWN0DQogICAgICBmb3JtLCB0aGF0IGlzIGJhc2VkIG9uIChvciBkZXJpdmVkIGZyb20pIHRoZSBXb3JrIGFuZCBmb3Igd2hpY2ggdGhlDQogICAgICBlZGl0b3JpYWwgcmV2aXNpb25zLCBhbm5vdGF0aW9ucywgZWxhYm9yYXRpb25zLCBvciBvdGhlciBtb2RpZmljYXRpb25zDQogICAgICByZXByZXNlbnQsIGFzIGEgd2hvbGUsIGFuIG9yaWdpbmFsIHdvcmsgb2YgYXV0aG9yc2hpcC4gRm9yIHRoZSBwdXJwb3Nlcw0KICAgICAgb2YgdGhpcyBMaWNlbnNlLCBEZXJpdmF0aXZlIFdvcmtzIHNoYWxsIG5vdCBpbmNsdWRlIHdvcmtzIHRoYXQgcmVtYWluDQogICAgICBzZXBhcmFibGUgZnJvbSwgb3IgbWVyZWx5IGxpbmsgKG9yIGJpbmQgYnkgbmFtZSkgdG8gdGhlIGludGVyZmFjZXMgb2YsDQogICAgICB0aGUgV29yayBhbmQgRGVyaXZhdGl2ZSBXb3JrcyB0aGVyZW9mLg0KDQogICAgICAiQ29udHJpYnV0aW9uIiBzaGFsbCBtZWFuIGFueSB3b3JrIG9mIGF1dGhvcnNoaXAsIGluY2x1ZGluZw0KICAgICAgdGhlIG9yaWdpbmFsIHZlcnNpb24gb2YgdGhlIFdvcmsgYW5kIGFueSBtb2RpZmljYXRpb25zIG9yIGFkZGl0aW9ucw0KICAgICAgdG8gdGhhdCBXb3JrIG9yIERlcml2YXRpdmUgV29ya3MgdGhlcmVvZiwgdGhhdCBpcyBpbnRlbnRpb25hbGx5DQogICAgICBzdWJtaXR0ZWQgdG8gTGljZW5zb3IgZm9yIGluY2x1c2lvbiBpbiB0aGUgV29yayBieSB0aGUgY29weXJpZ2h0IG93bmVyDQogICAgICBvciBieSBhbiBpbmRpdmlkdWFsIG9yIExlZ2FsIEVudGl0eSBhdXRob3JpemVkIHRvIHN1Ym1pdCBvbiBiZWhhbGYgb2YNCiAgICAgIHRoZSBjb3B5cmlnaHQgb3duZXIuIEZvciB0aGUgcHVycG9zZXMgb2YgdGhpcyBkZWZpbml0aW9uLCAic3VibWl0dGVkIg0KICAgICAgbWVhbnMgYW55IGZvcm0gb2YgZWxlY3Ryb25pYywgdmVyYmFsLCBvciB3cml0dGVuIGNvbW11bmljYXRpb24gc2VudA0KICAgICAgdG8gdGhlIExpY2Vuc29yIG9yIGl0cyByZXByZXNlbnRhdGl2ZXMsIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8NCiAgICAgIGNvbW11bmljYXRpb24gb24gZWxlY3R
2016-09-03 11:05:50 +00:00
/ * !
2016-09-22 08:06:46 +00:00
DataTables 1.10 .12
2016-09-03 11:05:50 +00:00
© 2008 - 2015 SpryMedia Ltd - datatables . net / license
* /
2016-09-22 08:06:46 +00:00
( function ( h ) { " function " == = typeof define & & define . amd ? define ( [ " jquery " ] , function ( D ) { return h ( D , window , document ) } ) : " object " == = typeof exports ? module . exports = function ( D , I ) { D | | ( D = window ) ; I | | ( I = " undefined " != = typeof window ? require ( " jquery " ) : require ( " jquery " ) ( D ) ) ; return h ( I , D , D . document ) } : h ( jQuery , window , document ) } ) ( function ( h , D , I , k ) { function X ( a ) { var b , c , d = { } ; h . each ( a , function ( e ) { if ( ( b = e . match ( / ^ ( [ ^ A - Z ] + ? ) ( [ A - Z ] ) / ) ) & & - 1 != = " a aa ai ao as b fn i m o s " . indexOf ( b [ 1 ] + " " ) ) c = e . replace ( b [ 0 ] , b [ 2 ] . toLowerCase ( ) ) ,
d [ c ] = e , " o " == = b [ 1 ] & & X ( a [ e ] ) } ) ; a . _hungarianMap = d } function K ( a , b , c ) { a . _hungarianMap | | X ( a ) ; var d ; h . each ( b , function ( e ) { d = a . _hungarianMap [ e ] ; if ( d != = k & & ( c | | b [ d ] == = k ) ) " o " == = d . charAt ( 0 ) ? ( b [ d ] | | ( b [ d ] = { } ) , h . extend ( ! 0 , b [ d ] , b [ e ] ) , K ( a [ d ] , b [ d ] , c ) ) : b [ d ] = b [ e ] } ) } function Da ( a ) { var b = m . defaults . oLanguage , c = a . sZeroRecords ; ! a . sEmptyTable & & ( c & & " No data available in table " == = b . sEmptyTable ) & & E ( a , a , " sZeroRecords " , " sEmptyTable " ) ; ! a . sLoadingRecords & & ( c & & " Loading... " == = b . sLoadingRecords ) & & E ( a , a , " sZeroRecords " , " sLoadingRecords " ) ;
2016-09-03 11:05:50 +00:00
a . sInfoThousands & & ( a . sThousands = a . sInfoThousands ) ; ( a = a . sDecimal ) & & db ( a ) } function eb ( a ) { A ( a , " ordering " , " bSort " ) ; A ( a , " orderMulti " , " bSortMulti " ) ; A ( a , " orderClasses " , " bSortClasses " ) ; A ( a , " orderCellsTop " , " bSortCellsTop " ) ; A ( a , " order " , " aaSorting " ) ; A ( a , " orderFixed " , " aaSortingFixed " ) ; A ( a , " paging " , " bPaginate " ) ; A ( a , " pagingType " , " sPaginationType " ) ; A ( a , " pageLength " , " iDisplayLength " ) ; A ( a , " searching " , " bFilter " ) ; " boolean " == = typeof a . sScrollX & & ( a . sScrollX = a . sScrollX ? " 100 % " : " " ) ; " boolean " == = typeof a . scrollX & & ( a . scrollX =
2016-09-22 08:06:46 +00:00
a . scrollX ? " 100 % " : " " ) ; if ( a = a . aoSearchCols ) for ( var b = 0 , c = a . length ; b < c ; b + + ) a [ b ] & & K ( m . models . oSearch , a [ b ] ) } function fb ( a ) { A ( a , " orderable " , " bSortable " ) ; A ( a , " orderData " , " aDataSort " ) ; A ( a , " orderSequence " , " asSorting " ) ; A ( a , " orderDataType " , " sortDataType " ) ; var b = a . aDataSort ; b & & ! h . isArray ( b ) & & ( a . aDataSort = [ b ] ) } function gb ( a ) { if ( ! m . __browser ) { var b = { } ; m . __browser = b ; var c = h ( " <div/> " ) . css ( { position : " fixed " , top : 0 , left : 0 , height : 1 , width : 1 , overflow : " hidden " } ) . append ( h ( " <div/> " ) . css ( { position : " absolute " , top : 1 , left : 1 ,
2016-09-03 11:05:50 +00:00
width : 100 , overflow : " scroll " } ) . append ( h ( " <div/> " ) . css ( { width : " 100 % " , height : 10 } ) ) ) . appendTo ( " body " ) , d = c . children ( ) , e = d . children ( ) ; b . barWidth = d [ 0 ] . offsetWidth - d [ 0 ] . clientWidth ; b . bScrollOversize = 100 == = e [ 0 ] . offsetWidth & & 100 != = d [ 0 ] . clientWidth ; b . bScrollbarLeft = 1 != = Math . round ( e . offset ( ) . left ) ; b . bBounding = c [ 0 ] . getBoundingClientRect ( ) . width ? ! 0 : ! 1 ; c . remove ( ) } h . extend ( a . oBrowser , m . __browser ) ; a . oScroll . iBarWidth = m . __browser . barWidth } function hb ( a , b , c , d , e , f ) { var g , j = ! 1 ; c != = k & & ( g = c , j = ! 0 ) ; for ( ; d != = e ; ) a . hasOwnProperty ( d ) & &
2016-09-22 08:06:46 +00:00
( g = j ? b ( g , a [ d ] , d , a ) : a [ d ] , j = ! 0 , d + = f ) ; return g } function Ea ( a , b ) { var c = m . defaults . column , d = a . aoColumns . length , c = h . extend ( { } , m . models . oColumn , c , { nTh : b ? b : I . createElement ( " th " ) , sTitle : c . sTitle ? c . sTitle : b ? b . innerHTML : " " , aDataSort : c . aDataSort ? c . aDataSort : [ d ] , mData : c . mData ? c . mData : d , idx : d } ) ; a . aoColumns . push ( c ) ; c = a . aoPreSearchCols ; c [ d ] = h . extend ( { } , m . models . oSearch , c [ d ] ) ; ja ( a , d , h ( b ) . data ( ) ) } function ja ( a , b , c ) { var b = a . aoColumns [ b ] , d = a . oClasses , e = h ( b . nTh ) ; if ( ! b . sWidthOrig ) { b . sWidthOrig = e . attr ( " width " ) | | null ; var f =
( e . attr ( " style " ) | | " " ) . match ( / width : \s * ( \d + [ pxem % ] + ) / ) ; f & & ( b . sWidthOrig = f [ 1 ] ) } c != = k & & null != = c & & ( fb ( c ) , K ( m . defaults . column , c ) , c . mDataProp != = k & & ! c . mData & & ( c . mData = c . mDataProp ) , c . sType & & ( b . _sManualType = c . sType ) , c . className & & ! c . sClass & & ( c . sClass = c . className ) , h . extend ( b , c ) , E ( b , c , " sWidth " , " sWidthOrig " ) , c . iDataSort != = k & & ( b . aDataSort = [ c . iDataSort ] ) , E ( b , c , " aDataSort " ) ) ; var g = b . mData , j = Q ( g ) , i = b . mRender ? Q ( b . mRender ) : null , c = function ( a ) { return " string " == = typeof a & & - 1 != = a . indexOf ( " @ " ) } ; b . _bAttrSrc = h . isPlainObject ( g ) & &
( c ( g . sort ) | | c ( g . type ) | | c ( g . filter ) ) ; b . _setter = null ; b . fnGetData = function ( a , b , c ) { var d = j ( a , b , k , c ) ; return i & & b ? i ( d , b , a , c ) : d } ; b . fnSetData = function ( a , b , c ) { return R ( g ) ( a , b , c ) } ; " number " != = typeof g & & ( a . _rowReadObject = ! 0 ) ; a . oFeatures . bSort | | ( b . bSortable = ! 1 , e . addClass ( d . sSortableNone ) ) ; a = - 1 != = h . inArray ( " asc " , b . asSorting ) ; c = - 1 != = h . inArray ( " desc " , b . asSorting ) ; ! b . bSortable | | ! a & & ! c ? ( b . sSortingClass = d . sSortableNone , b . sSortingClassJUI = " " ) : a & & ! c ? ( b . sSortingClass = d . sSortableAsc , b . sSortingClassJUI = d . sSortJUIAscAllowed ) :
! a & & c ? ( b . sSortingClass = d . sSortableDesc , b . sSortingClassJUI = d . sSortJUIDescAllowed ) : ( b . sSortingClass = d . sSortable , b . sSortingClassJUI = d . sSortJUI ) } function Y ( a ) { if ( ! 1 != = a . oFeatures . bAutoWidth ) { var b = a . aoColumns ; Fa ( a ) ; for ( var c = 0 , d = b . length ; c < d ; c + + ) b [ c ] . nTh . style . width = b [ c ] . sWidth } b = a . oScroll ; ( " " != = b . sY | | " " != = b . sX ) & & ka ( a ) ; u ( a , null , " column-sizing " , [ a ] ) } function Z ( a , b ) { var c = la ( a , " bVisible " ) ; return " number " == = typeof c [ b ] ? c [ b ] : null } function $ ( a , b ) { var c = la ( a , " bVisible " ) , c = h . inArray ( b , c ) ; return - 1 != = c ? c : null }
function aa ( a ) { var b = 0 ; h . each ( a . aoColumns , function ( a , d ) { d . bVisible & & " none " != = h ( d . nTh ) . css ( " display " ) & & b + + } ) ; return b } function la ( a , b ) { var c = [ ] ; h . map ( a . aoColumns , function ( a , e ) { a [ b ] & & c . push ( e ) } ) ; return c } function Ga ( a ) { var b = a . aoColumns , c = a . aoData , d = m . ext . type . detect , e , f , g , j , i , h , l , q , t ; e = 0 ; for ( f = b . length ; e < f ; e + + ) if ( l = b [ e ] , t = [ ] , ! l . sType & & l . _sManualType ) l . sType = l . _sManualType ; else if ( ! l . sType ) { g = 0 ; for ( j = d . length ; g < j ; g + + ) { i = 0 ; for ( h = c . length ; i < h ; i + + ) { t [ i ] == = k & & ( t [ i ] = B ( a , i , e , " type " ) ) ; q = d [ g ] ( t [ i ] , a ) ; if ( ! q & &
g != = d . length - 1 ) break ; if ( " html " == = q ) break } if ( q ) { l . sType = q ; break } } l . sType | | ( l . sType = " string " ) } } function ib ( a , b , c , d ) { var e , f , g , j , i , n , l = a . aoColumns ; if ( b ) for ( e = b . length - 1 ; 0 < = e ; e - - ) { n = b [ e ] ; var q = n . targets != = k ? n . targets : n . aTargets ; h . isArray ( q ) | | ( q = [ q ] ) ; f = 0 ; for ( g = q . length ; f < g ; f + + ) if ( " number " == = typeof q [ f ] & & 0 < = q [ f ] ) { for ( ; l . length < = q [ f ] ; ) Ea ( a ) ; d ( q [ f ] , n ) } else if ( " number " == = typeof q [ f ] & & 0 > q [ f ] ) d ( l . length + q [ f ] , n ) ; else if ( " string " == = typeof q [ f ] ) { j = 0 ; for ( i = l . length ; j < i ; j + + ) ( " _all " == q [ f ] | | h ( l [ j ] . nTh ) . hasClass ( q [ f ] ) ) & &
d ( j , n ) } } if ( c ) { e = 0 ; for ( a = c . length ; e < a ; e + + ) d ( e , c [ e ] ) } } function N ( a , b , c , d ) { var e = a . aoData . length , f = h . extend ( ! 0 , { } , m . models . oRow , { src : c ? " dom " : " data " , idx : e } ) ; f . _aData = b ; a . aoData . push ( f ) ; for ( var g = a . aoColumns , j = 0 , i = g . length ; j < i ; j + + ) g [ j ] . sType = null ; a . aiDisplayMaster . push ( e ) ; b = a . rowIdFn ( b ) ; b != = k & & ( a . aIds [ b ] = f ) ; ( c | | ! a . oFeatures . bDeferRender ) & & Ha ( a , e , c , d ) ; return e } function ma ( a , b ) { var c ; b instanceof h | | ( b = h ( b ) ) ; return b . map ( function ( b , e ) { c = Ia ( a , e ) ; return N ( a , c . data , e , c . cells ) } ) } function B ( a , b , c , d ) { var e = a . iDraw ,
f = a . aoColumns [ c ] , g = a . aoData [ b ] . _aData , j = f . sDefaultContent , i = f . fnGetData ( g , d , { settings : a , row : b , col : c } ) ; if ( i == = k ) return a . iDrawError != e & & null == = j & & ( L ( a , 0 , " Requested unknown parameter " + ( " function " == typeof f . mData ? " {function} " : " ' " + f . mData + " ' " ) + " for row " + b + " , column " + c , 4 ) , a . iDrawError = e ) , j ; if ( ( i == = g | | null == = i ) & & null != = j & & d != = k ) i = j ; else if ( " function " == = typeof i ) return i . call ( g ) ; return null == = i & & " display " == d ? " " : i } function jb ( a , b , c , d ) { a . aoColumns [ c ] . fnSetData ( a . aoData [ b ] . _aData , d , { settings : a , row : b , col : c } ) }
function Ja ( a ) { return h . map ( a . match ( / ( \\. | [ ^ \. ] ) + / g ) | | [ " " ] , function ( a ) { return a . replace ( / \\. / g , " . " ) } ) } function Q ( a ) { if ( h . isPlainObject ( a ) ) { var b = { } ; h . each ( a , function ( a , c ) { c & & ( b [ a ] = Q ( c ) ) } ) ; return function ( a , c , f , g ) { var j = b [ c ] | | b . _ ; return j != = k ? j ( a , c , f , g ) : a } } if ( null == = a ) return function ( a ) { return a } ; if ( " function " == = typeof a ) return function ( b , c , f , g ) { return a ( b , c , f , g ) } ; if ( " string " == = typeof a & & ( - 1 != = a . indexOf ( " . " ) | | - 1 != = a . indexOf ( " [ " ) | | - 1 != = a . indexOf ( " ( " ) ) ) { var c = function ( a , b , f ) { var g , j ; if ( " " != = f ) { j = Ja ( f ) ;
for ( var i = 0 , n = j . length ; i < n ; i + + ) { f = j [ i ] . match ( ba ) ; g = j [ i ] . match ( U ) ; if ( f ) { j [ i ] = j [ i ] . replace ( ba , " " ) ; " " != = j [ i ] & & ( a = a [ j [ i ] ] ) ; g = [ ] ; j . splice ( 0 , i + 1 ) ; j = j . join ( " . " ) ; if ( h . isArray ( a ) ) { i = 0 ; for ( n = a . length ; i < n ; i + + ) g . push ( c ( a [ i ] , b , j ) ) } a = f [ 0 ] . substring ( 1 , f [ 0 ] . length - 1 ) ; a = " " == = a ? g : g . join ( a ) ; break } else if ( g ) { j [ i ] = j [ i ] . replace ( U , " " ) ; a = a [ j [ i ] ] ( ) ; continue } if ( null == = a | | a [ j [ i ] ] == = k ) return k ; a = a [ j [ i ] ] } } return a } ; return function ( b , e ) { return c ( b , e , a ) } } return function ( b ) { return b [ a ] } } function R ( a ) { if ( h . isPlainObject ( a ) ) return R ( a . _ ) ;
if ( null == = a ) return function ( ) { } ; if ( " function " == = typeof a ) return function ( b , d , e ) { a ( b , " set " , d , e ) } ; if ( " string " == = typeof a & & ( - 1 != = a . indexOf ( " . " ) | | - 1 != = a . indexOf ( " [ " ) | | - 1 != = a . indexOf ( " ( " ) ) ) { var b = function ( a , d , e ) { var e = Ja ( e ) , f ; f = e [ e . length - 1 ] ; for ( var g , j , i = 0 , n = e . length - 1 ; i < n ; i + + ) { g = e [ i ] . match ( ba ) ; j = e [ i ] . match ( U ) ; if ( g ) { e [ i ] = e [ i ] . replace ( ba , " " ) ; a [ e [ i ] ] = [ ] ; f = e . slice ( ) ; f . splice ( 0 , i + 1 ) ; g = f . join ( " . " ) ; if ( h . isArray ( d ) ) { j = 0 ; for ( n = d . length ; j < n ; j + + ) f = { } , b ( f , d [ j ] , g ) , a [ e [ i ] ] . push ( f ) } else a [ e [ i ] ] = d ; return } j & & ( e [ i ] = e [ i ] . replace ( U ,
" " ) , a = a [ e [ i ] ] ( d ) ) ; if ( null == = a [ e [ i ] ] | | a [ e [ i ] ] == = k ) a [ e [ i ] ] = { } ; a = a [ e [ i ] ] } if ( f . match ( U ) ) a [ f . replace ( U , " " ) ] ( d ) ; else a [ f . replace ( ba , " " ) ] = d } ; return function ( c , d ) { return b ( c , d , a ) } } return function ( b , d ) { b [ a ] = d } } function Ka ( a ) { return G ( a . aoData , " _aData " ) } function na ( a ) { a . aoData . length = 0 ; a . aiDisplayMaster . length = 0 ; a . aiDisplay . length = 0 ; a . aIds = { } } function oa ( a , b , c ) { for ( var d = - 1 , e = 0 , f = a . length ; e < f ; e + + ) a [ e ] == b ? d = e : a [ e ] > b & & a [ e ] - - ; - 1 != d & & c == = k & & a . splice ( d , 1 ) } function ca ( a , b , c , d ) { var e = a . aoData [ b ] , f , g = function ( c , d ) { for ( ; c . childNodes . length ; ) c . removeChild ( c . firstChild ) ;
c . innerHTML = B ( a , b , d , " display " ) } ; if ( " dom " == = c | | ( ! c | | " auto " == = c ) & & " dom " == = e . src ) e . _aData = Ia ( a , e , d , d == = k ? k : e . _aData ) . data ; else { var j = e . anCells ; if ( j ) if ( d != = k ) g ( j [ d ] , d ) ; else { c = 0 ; for ( f = j . length ; c < f ; c + + ) g ( j [ c ] , c ) } } e . _aSortData = null ; e . _aFilterData = null ; g = a . aoColumns ; if ( d != = k ) g [ d ] . sType = null ; else { c = 0 ; for ( f = g . length ; c < f ; c + + ) g [ c ] . sType = null ; La ( a , e ) } } function Ia ( a , b , c , d ) { var e = [ ] , f = b . firstChild , g , j , i = 0 , n , l = a . aoColumns , q = a . _rowReadObject , d = d != = k ? d : q ? { } : [ ] , t = function ( a , b ) { if ( " string " == = typeof a ) { var c = a . indexOf ( " @ " ) ;
- 1 != = c & & ( c = a . substring ( c + 1 ) , R ( a ) ( d , b . getAttribute ( c ) ) ) } } , S = function ( a ) { if ( c == = k | | c == = i ) j = l [ i ] , n = h . trim ( a . innerHTML ) , j & & j . _bAttrSrc ? ( R ( j . mData . _ ) ( d , n ) , t ( j . mData . sort , a ) , t ( j . mData . type , a ) , t ( j . mData . filter , a ) ) : q ? ( j . _setter | | ( j . _setter = R ( j . mData ) ) , j . _setter ( d , n ) ) : d [ i ] = n ; i + + } ; if ( f ) for ( ; f ; ) { g = f . nodeName . toUpperCase ( ) ; if ( " TD " == g | | " TH " == g ) S ( f ) , e . push ( f ) ; f = f . nextSibling } else { e = b . anCells ; f = 0 ; for ( g = e . length ; f < g ; f + + ) S ( e [ f ] ) } if ( b = b . firstChild ? b : b . nTr ) ( b = b . getAttribute ( " id " ) ) & & R ( a . rowId ) ( d , b ) ; return { data : d , cells : e } }
function Ha ( a , b , c , d ) { var e = a . aoData [ b ] , f = e . _aData , g = [ ] , j , i , n , l , q ; if ( null == = e . nTr ) { j = c | | I . createElement ( " tr " ) ; e . nTr = j ; e . anCells = g ; j . _DT_RowIndex = b ; La ( a , e ) ; l = 0 ; for ( q = a . aoColumns . length ; l < q ; l + + ) { n = a . aoColumns [ l ] ; i = c ? d [ l ] : I . createElement ( n . sCellType ) ; i . _DT_CellIndex = { row : b , column : l } ; g . push ( i ) ; if ( ( ! c | | n . mRender | | n . mData != = l ) & & ( ! h . isPlainObject ( n . mData ) | | n . mData . _ != = l + " .display " ) ) i . innerHTML = B ( a , b , l , " display " ) ; n . sClass & & ( i . className + = " " + n . sClass ) ; n . bVisible & & ! c ? j . appendChild ( i ) : ! n . bVisible & & c & & i . parentNode . removeChild ( i ) ;
n . fnCreatedCell & & n . fnCreatedCell . call ( a . oInstance , i , B ( a , b , l ) , f , b , l ) } u ( a , " aoRowCreatedCallback " , null , [ j , f , b ] ) } e . nTr . setAttribute ( " role " , " row " ) } function La ( a , b ) { var c = b . nTr , d = b . _aData ; if ( c ) { var e = a . rowIdFn ( d ) ; e & & ( c . id = e ) ; d . DT_RowClass & & ( e = d . DT_RowClass . split ( " " ) , b . __rowc = b . __rowc ? pa ( b . __rowc . concat ( e ) ) : e , h ( c ) . removeClass ( b . __rowc . join ( " " ) ) . addClass ( d . DT_RowClass ) ) ; d . DT_RowAttr & & h ( c ) . attr ( d . DT_RowAttr ) ; d . DT_RowData & & h ( c ) . data ( d . DT_RowData ) } } function kb ( a ) { var b , c , d , e , f , g = a . nTHead , j = a . nTFoot , i = 0 == =
h ( " th, td " , g ) . length , n = a . oClasses , l = a . aoColumns ; i & & ( e = h ( " <tr/> " ) . appendTo ( g ) ) ; b = 0 ; for ( c = l . length ; b < c ; b + + ) f = l [ b ] , d = h ( f . nTh ) . addClass ( f . sClass ) , i & & d . appendTo ( e ) , a . oFeatures . bSort & & ( d . addClass ( f . sSortingClass ) , ! 1 != = f . bSortable & & ( d . attr ( " tabindex " , a . iTabIndex ) . attr ( " aria-controls " , a . sTableId ) , Ma ( a , f . nTh , b ) ) ) , f . sTitle != d [ 0 ] . innerHTML & & d . html ( f . sTitle ) , Na ( a , " header " ) ( a , d , f , n ) ; i & & da ( a . aoHeader , g ) ; h ( g ) . find ( " >tr " ) . attr ( " role " , " row " ) ; h ( g ) . find ( " >tr>th, >tr>td " ) . addClass ( n . sHeaderTH ) ; h ( j ) . find ( " >tr>th, >tr>td " ) . addClass ( n . sFooterTH ) ;
if ( null != = j ) { a = a . aoFooter [ 0 ] ; b = 0 ; for ( c = a . length ; b < c ; b + + ) f = l [ b ] , f . nTf = a [ b ] . cell , f . sClass & & h ( f . nTf ) . addClass ( f . sClass ) } } function ea ( a , b , c ) { var d , e , f , g = [ ] , j = [ ] , i = a . aoColumns . length , n ; if ( b ) { c == = k & & ( c = ! 1 ) ; d = 0 ; for ( e = b . length ; d < e ; d + + ) { g [ d ] = b [ d ] . slice ( ) ; g [ d ] . nTr = b [ d ] . nTr ; for ( f = i - 1 ; 0 < = f ; f - - ) ! a . aoColumns [ f ] . bVisible & & ! c & & g [ d ] . splice ( f , 1 ) ; j . push ( [ ] ) } d = 0 ; for ( e = g . length ; d < e ; d + + ) { if ( a = g [ d ] . nTr ) for ( ; f = a . firstChild ; ) a . removeChild ( f ) ; f = 0 ; for ( b = g [ d ] . length ; f < b ; f + + ) if ( n = i = 1 , j [ d ] [ f ] == = k ) { a . appendChild ( g [ d ] [ f ] . cell ) ;
for ( j [ d ] [ f ] = 1 ; g [ d + i ] != = k & & g [ d ] [ f ] . cell == g [ d + i ] [ f ] . cell ; ) j [ d + i ] [ f ] = 1 , i + + ; for ( ; g [ d ] [ f + n ] != = k & & g [ d ] [ f ] . cell == g [ d ] [ f + n ] . cell ; ) { for ( c = 0 ; c < i ; c + + ) j [ d + c ] [ f + n ] = 1 ; n + + } h ( g [ d ] [ f ] . cell ) . attr ( " rowspan " , i ) . attr ( " colspan " , n ) } } } } function O ( a ) { var b = u ( a , " aoPreDrawCallback " , " preDraw " , [ a ] ) ; if ( - 1 != = h . inArray ( ! 1 , b ) ) C ( a , ! 1 ) ; else { var b = [ ] , c = 0 , d = a . asStripeClasses , e = d . length , f = a . oLanguage , g = a . iInitDisplayStart , j = " ssp " == y ( a ) , i = a . aiDisplay ; a . bDrawing = ! 0 ; g != = k & & - 1 != = g & & ( a . _iDisplayStart = j ? g : g > = a . fnRecordsDisplay ( ) ? 0 : g , a . iInitDisplayStart =
- 1 ) ; var g = a . _iDisplayStart , n = a . fnDisplayEnd ( ) ; if ( a . bDeferLoading ) a . bDeferLoading = ! 1 , a . iDraw + + , C ( a , ! 1 ) ; else if ( j ) { if ( ! a . bDestroying & & ! lb ( a ) ) return } else a . iDraw + + ; if ( 0 != = i . length ) { f = j ? a . aoData . length : n ; for ( j = j ? 0 : g ; j < f ; j + + ) { var l = i [ j ] , q = a . aoData [ l ] ; null == = q . nTr & & Ha ( a , l ) ; l = q . nTr ; if ( 0 != = e ) { var t = d [ c % e ] ; q . _sRowStripe != t & & ( h ( l ) . removeClass ( q . _sRowStripe ) . addClass ( t ) , q . _sRowStripe = t ) } u ( a , " aoRowCallback " , null , [ l , q . _aData , c , j ] ) ; b . push ( l ) ; c + + } } else c = f . sZeroRecords , 1 == a . iDraw & & " ajax " == y ( a ) ? c = f . sLoadingRecords :
f . sEmptyTable & & 0 == = a . fnRecordsTotal ( ) & & ( c = f . sEmptyTable ) , b [ 0 ] = h ( " <tr/> " , { " class " : e ? d [ 0 ] : " " } ) . append ( h ( " <td /> " , { valign : " top " , colSpan : aa ( a ) , " class " : a . oClasses . sRowEmpty } ) . html ( c ) ) [ 0 ] ; u ( a , " aoHeaderCallback " , " header " , [ h ( a . nTHead ) . children ( " tr " ) [ 0 ] , Ka ( a ) , g , n , i ] ) ; u ( a , " aoFooterCallback " , " footer " , [ h ( a . nTFoot ) . children ( " tr " ) [ 0 ] , Ka ( a ) , g , n , i ] ) ; d = h ( a . nTBody ) ; d . children ( ) . detach ( ) ; d . append ( h ( b ) ) ; u ( a , " aoDrawCallback " , " draw " , [ a ] ) ; a . bSorted = ! 1 ; a . bFiltered = ! 1 ; a . bDrawing = ! 1 } } function T ( a , b ) { var c = a . oFeatures , d = c . bFilter ;
c . bSort & & mb ( a ) ; d ? fa ( a , a . oPreviousSearch ) : a . aiDisplay = a . aiDisplayMaster . slice ( ) ; ! 0 != = b & & ( a . _iDisplayStart = 0 ) ; a . _drawHold = b ; O ( a ) ; a . _drawHold = ! 1 } function nb ( a ) { var b = a . oClasses , c = h ( a . nTable ) , c = h ( " <div/> " ) . insertBefore ( c ) , d = a . oFeatures , e = h ( " <div/> " , { id : a . sTableId + " _wrapper " , " class " : b . sWrapper + ( a . nTFoot ? " " : " " + b . sNoFooter ) } ) ; a . nHolding = c [ 0 ] ; a . nTableWrapper = e [ 0 ] ; a . nTableReinsertBefore = a . nTable . nextSibling ; for ( var f = a . sDom . split ( " " ) , g , j , i , n , l , q , t = 0 ; t < f . length ; t + + ) { g = null ; j = f [ t ] ; if ( " < " == j ) { i = h ( " <div/> " ) [ 0 ] ;
n = f [ t + 1 ] ; if ( " ' " == n | | ' " ' == n ) { l = " " ; for ( q = 2 ; f [ t + q ] != n ; ) l + = f [ t + q ] , q + + ; " H " == l ? l = b . sJUIHeader : " F " == l & & ( l = b . sJUIFooter ) ; - 1 != l . indexOf ( " . " ) ? ( n = l . split ( " . " ) , i . id = n [ 0 ] . substr ( 1 , n [ 0 ] . length - 1 ) , i . className = n [ 1 ] ) : " # " == l . charAt ( 0 ) ? i . id = l . substr ( 1 , l . length - 1 ) : i . className = l ; t + = q } e . append ( i ) ; e = h ( i ) } else if ( " > " == j ) e = e . parent ( ) ; else if ( " l " == j & & d . bPaginate & & d . bLengthChange ) g = ob ( a ) ; else if ( " f " == j & & d . bFilter ) g = pb ( a ) ; else if ( " r " == j & & d . bProcessing ) g = qb ( a ) ; else if ( " t " == j ) g = rb ( a ) ; else if ( " i " == j & & d . bInfo ) g = sb ( a ) ; else if ( " p " ==
j & & d . bPaginate ) g = tb ( a ) ; else if ( 0 != = m . ext . feature . length ) { i = m . ext . feature ; q = 0 ; for ( n = i . length ; q < n ; q + + ) if ( j == i [ q ] . cFeature ) { g = i [ q ] . fnInit ( a ) ; break } } g & & ( i = a . aanFeatures , i [ j ] | | ( i [ j ] = [ ] ) , i [ j ] . push ( g ) , e . append ( g ) ) } c . replaceWith ( e ) ; a . nHolding = null } function da ( a , b ) { var c = h ( b ) . children ( " tr " ) , d , e , f , g , j , i , n , l , q , t ; a . splice ( 0 , a . length ) ; f = 0 ; for ( i = c . length ; f < i ; f + + ) a . push ( [ ] ) ; f = 0 ; for ( i = c . length ; f < i ; f + + ) { d = c [ f ] ; for ( e = d . firstChild ; e ; ) { if ( " TD " == e . nodeName . toUpperCase ( ) | | " TH " == e . nodeName . toUpperCase ( ) ) { l = 1 * e . getAttribute ( " colspan " ) ;
q = 1 * e . getAttribute ( " rowspan " ) ; l = ! l | | 0 == = l | | 1 == = l ? 1 : l ; q = ! q | | 0 == = q | | 1 == = q ? 1 : q ; g = 0 ; for ( j = a [ f ] ; j [ g ] ; ) g + + ; n = g ; t = 1 == = l ? ! 0 : ! 1 ; for ( j = 0 ; j < l ; j + + ) for ( g = 0 ; g < q ; g + + ) a [ f + g ] [ n + j ] = { cell : e , unique : t } , a [ f + g ] . nTr = d } e = e . nextSibling } } } function qa ( a , b , c ) { var d = [ ] ; c | | ( c = a . aoHeader , b & & ( c = [ ] , da ( c , b ) ) ) ; for ( var b = 0 , e = c . length ; b < e ; b + + ) for ( var f = 0 , g = c [ b ] . length ; f < g ; f + + ) if ( c [ b ] [ f ] . unique & & ( ! d [ f ] | | ! a . bSortCellsTop ) ) d [ f ] = c [ b ] [ f ] . cell ; return d } function ra ( a , b , c ) { u ( a , " aoServerParams " , " serverParams " , [ b ] ) ; if ( b & & h . isArray ( b ) ) { var d = { } ,
e = / ( . * ? ) \[ \] $ / ; h . each ( b , function ( a , b ) { var c = b . name . match ( e ) ; c ? ( c = c [ 0 ] , d [ c ] | | ( d [ c ] = [ ] ) , d [ c ] . push ( b . value ) ) : d [ b . name ] = b . value } ) ; b = d } var f , g = a . ajax , j = a . oInstance , i = function ( b ) { u ( a , null , " xhr " , [ a , b , a . jqXHR ] ) ; c ( b ) } ; if ( h . isPlainObject ( g ) & & g . data ) { f = g . data ; var n = h . isFunction ( f ) ? f ( b , a ) : f , b = h . isFunction ( f ) & & n ? n : h . extend ( ! 0 , b , n ) ; delete g . data } n = { data : b , success : function ( b ) { var c = b . error | | b . sError ; c & & L ( a , 0 , c ) ; a . json = b ; i ( b ) } , dataType : " json " , cache : ! 1 , type : a . sServerMethod , error : function ( b , c ) { var d = u ( a , null , " xhr " ,
[ a , null , a . jqXHR ] ) ; - 1 == = h . inArray ( ! 0 , d ) & & ( " parsererror " == c ? L ( a , 0 , " Invalid JSON response " , 1 ) : 4 == = b . readyState & & L ( a , 0 , " Ajax error " , 7 ) ) ; C ( a , ! 1 ) } } ; a . oAjaxData = b ; u ( a , null , " preXhr " , [ a , b ] ) ; a . fnServerData ? a . fnServerData . call ( j , a . sAjaxSource , h . map ( b , function ( a , b ) { return { name : b , value : a } } ) , i , a ) : a . sAjaxSource | | " string " == = typeof g ? a . jqXHR = h . ajax ( h . extend ( n , { url : g | | a . sAjaxSource } ) ) : h . isFunction ( g ) ? a . jqXHR = g . call ( j , b , i , a ) : ( a . jqXHR = h . ajax ( h . extend ( n , g ) ) , g . data = f ) } function lb ( a ) { return a . bAjaxDataGet ? ( a . iDraw + + , C ( a ,
! 0 ) , ra ( a , ub ( a ) , function ( b ) { vb ( a , b ) } ) , ! 1 ) : ! 0 } function ub ( a ) { var b = a . aoColumns , c = b . length , d = a . oFeatures , e = a . oPreviousSearch , f = a . aoPreSearchCols , g , j = [ ] , i , n , l , q = V ( a ) ; g = a . _iDisplayStart ; i = ! 1 != = d . bPaginate ? a . _iDisplayLength : - 1 ; var k = function ( a , b ) { j . push ( { name : a , value : b } ) } ; k ( " sEcho " , a . iDraw ) ; k ( " iColumns " , c ) ; k ( " sColumns " , G ( b , " sName " ) . join ( " , " ) ) ; k ( " iDisplayStart " , g ) ; k ( " iDisplayLength " , i ) ; var S = { draw : a . iDraw , columns : [ ] , order : [ ] , start : g , length : i , search : { value : e . sSearch , regex : e . bRegex } } ; for ( g = 0 ; g < c ; g + + ) n = b [ g ] ,
l = f [ g ] , i = " function " == typeof n . mData ? " function " : n . mData , S . columns . push ( { data : i , name : n . sName , searchable : n . bSearchable , orderable : n . bSortable , search : { value : l . sSearch , regex : l . bRegex } } ) , k ( " mDataProp_ " + g , i ) , d . bFilter & & ( k ( " sSearch_ " + g , l . sSearch ) , k ( " bRegex_ " + g , l . bRegex ) , k ( " bSearchable_ " + g , n . bSearchable ) ) , d . bSort & & k ( " bSortable_ " + g , n . bSortable ) ; d . bFilter & & ( k ( " sSearch " , e . sSearch ) , k ( " bRegex " , e . bRegex ) ) ; d . bSort & & ( h . each ( q , function ( a , b ) { S . order . push ( { column : b . col , dir : b . dir } ) ; k ( " iSortCol_ " + a , b . col ) ; k ( " sSortDir_ " +
a , b . dir ) } ) , k ( " iSortingCols " , q . length ) ) ; b = m . ext . legacy . ajax ; return null == = b ? a . sAjaxSource ? j : S : b ? j : S } function vb ( a , b ) { var c = sa ( a , b ) , d = b . sEcho != = k ? b . sEcho : b . draw , e = b . iTotalRecords != = k ? b . iTotalRecords : b . recordsTotal , f = b . iTotalDisplayRecords != = k ? b . iTotalDisplayRecords : b . recordsFiltered ; if ( d ) { if ( 1 * d < a . iDraw ) return ; a . iDraw = 1 * d } na ( a ) ; a . _iRecordsTotal = parseInt ( e , 10 ) ; a . _iRecordsDisplay = parseInt ( f , 10 ) ; d = 0 ; for ( e = c . length ; d < e ; d + + ) N ( a , c [ d ] ) ; a . aiDisplay = a . aiDisplayMaster . slice ( ) ; a . bAjaxDataGet = ! 1 ; O ( a ) ; a . _bInitComplete | |
ta ( a , b ) ; a . bAjaxDataGet = ! 0 ; C ( a , ! 1 ) } function sa ( a , b ) { var c = h . isPlainObject ( a . ajax ) & & a . ajax . dataSrc != = k ? a . ajax . dataSrc : a . sAjaxDataProp ; return " data " == = c ? b . aaData | | b [ c ] : " " != = c ? Q ( c ) ( b ) : b } function pb ( a ) { var b = a . oClasses , c = a . sTableId , d = a . oLanguage , e = a . oPreviousSearch , f = a . aanFeatures , g = ' <input type= " search " class= " ' + b . sFilterInput + ' " /> ' , j = d . sSearch , j = j . match ( / _INPUT_ / ) ? j . replace ( " _INPUT_ " , g ) : j + g , b = h ( " <div/> " , { id : ! f . f ? c + " _filter " : null , " class " : b . sFilter } ) . append ( h ( " <label/> " ) . append ( j ) ) , f = function ( ) { var b = ! this . value ?
" " : this . value ; b != e . sSearch & & ( fa ( a , { sSearch : b , bRegex : e . bRegex , bSmart : e . bSmart , bCaseInsensitive : e . bCaseInsensitive } ) , a . _iDisplayStart = 0 , O ( a ) ) } , g = null != = a . searchDelay ? a . searchDelay : " ssp " == = y ( a ) ? 400 : 0 , i = h ( " input " , b ) . val ( e . sSearch ) . attr ( " placeholder " , d . sSearchPlaceholder ) . bind ( " keyup.DT search.DT input.DT paste.DT cut.DT " , g ? Oa ( f , g ) : f ) . bind ( " keypress.DT " , function ( a ) { if ( 13 == a . keyCode ) return ! 1 } ) . attr ( " aria-controls " , c ) ; h ( a . nTable ) . on ( " search.dt.DT " , function ( b , c ) { if ( a == = c ) try { i [ 0 ] != = I . activeElement & & i . val ( e . sSearch ) } catch ( d ) { } } ) ;
return b [ 0 ] } function fa ( a , b , c ) { var d = a . oPreviousSearch , e = a . aoPreSearchCols , f = function ( a ) { d . sSearch = a . sSearch ; d . bRegex = a . bRegex ; d . bSmart = a . bSmart ; d . bCaseInsensitive = a . bCaseInsensitive } ; Ga ( a ) ; if ( " ssp " != y ( a ) ) { wb ( a , b . sSearch , c , b . bEscapeRegex != = k ? ! b . bEscapeRegex : b . bRegex , b . bSmart , b . bCaseInsensitive ) ; f ( b ) ; for ( b = 0 ; b < e . length ; b + + ) xb ( a , e [ b ] . sSearch , b , e [ b ] . bEscapeRegex != = k ? ! e [ b ] . bEscapeRegex : e [ b ] . bRegex , e [ b ] . bSmart , e [ b ] . bCaseInsensitive ) ; yb ( a ) } else f ( b ) ; a . bFiltered = ! 0 ; u ( a , null , " search " , [ a ] ) } function yb ( a ) { for ( var b =
m . ext . search , c = a . aiDisplay , d , e , f = 0 , g = b . length ; f < g ; f + + ) { for ( var j = [ ] , i = 0 , n = c . length ; i < n ; i + + ) e = c [ i ] , d = a . aoData [ e ] , b [ f ] ( a , d . _aFilterData , e , d . _aData , i ) & & j . push ( e ) ; c . length = 0 ; h . merge ( c , j ) } } function xb ( a , b , c , d , e , f ) { if ( " " != = b ) for ( var g = a . aiDisplay , d = Pa ( b , d , e , f ) , e = g . length - 1 ; 0 < = e ; e - - ) b = a . aoData [ g [ e ] ] . _aFilterData [ c ] , d . test ( b ) | | g . splice ( e , 1 ) } function wb ( a , b , c , d , e , f ) { var d = Pa ( b , d , e , f ) , e = a . oPreviousSearch . sSearch , f = a . aiDisplayMaster , g ; 0 != = m . ext . search . length & & ( c = ! 0 ) ; g = zb ( a ) ; if ( 0 > = b . length ) a . aiDisplay = f . slice ( ) ;
else { if ( g | | c | | e . length > b . length | | 0 != = b . indexOf ( e ) | | a . bSorted ) a . aiDisplay = f . slice ( ) ; b = a . aiDisplay ; for ( c = b . length - 1 ; 0 < = c ; c - - ) d . test ( a . aoData [ b [ c ] ] . _sFilterRow ) | | b . splice ( c , 1 ) } } function Pa ( a , b , c , d ) { a = b ? a : Qa ( a ) ; c & & ( a = " ^(?=.*? " + h . map ( a . match ( / " [^ " ] + " |[^ ]+/g)||[ " " ],function(a) { if( ' " ' ===a.charAt(0))var b=a.match(/^ " (.*) " $/),a=b?b[1]:a;return a.replace( ' " ' , " " )}).join( " ) ( ? = . * ? " )+ " ) . * $ " );return RegExp(a,d? " i " : " " )}function zb(a) { var b=a.aoColumns,c,d,e,f,g,j,i,h,l=m.ext.type.search;c=!1;d=0;for(f=a.aoData.length;d<
f ; d + + ) if ( h = a . aoData [ d ] , ! h . _aFilterData ) { j = [ ] ; e = 0 ; for ( g = b . length ; e < g ; e + + ) c = b [ e ] , c . bSearchable ? ( i = B ( a , d , e , " filter " ) , l [ c . sType ] & & ( i = l [ c . sType ] ( i ) ) , null == = i & & ( i = " " ) , " string " != = typeof i & & i . toString & & ( i = i . toString ( ) ) ) : i = " " , i . indexOf & & - 1 != = i . indexOf ( " & " ) & & ( ua . innerHTML = i , i = Zb ? ua . textContent : ua . innerText ) , i . replace & & ( i = i . replace ( / [ \r \n ] / g , " " ) ) , j . push ( i ) ; h . _aFilterData = j ; h . _sFilterRow = j . join ( " " ) ; c = ! 0 } return c } function Ab ( a ) { return { search : a . sSearch , smart : a . bSmart , regex : a . bRegex , caseInsensitive : a . bCaseInsensitive } }
function Bb ( a ) { return { sSearch : a . search , bSmart : a . smart , bRegex : a . regex , bCaseInsensitive : a . caseInsensitive } } function sb ( a ) { var b = a . sTableId , c = a . aanFeatures . i , d = h ( " <div/> " , { " class " : a . oClasses . sInfo , id : ! c ? b + " _info " : null } ) ; c | | ( a . aoDrawCallback . push ( { fn : Cb , sName : " information " } ) , d . attr ( " role " , " status " ) . attr ( " aria-live " , " polite " ) , h ( a . nTable ) . attr ( " aria-describedby " , b + " _info " ) ) ; return d [ 0 ] } function Cb ( a ) { var b = a . aanFeatures . i ; if ( 0 != = b . length ) { var c = a . oLanguage , d = a . _iDisplayStart + 1 , e = a . fnDisplayEnd ( ) , f = a . fnRecordsTotal ( ) ,
g = a . fnRecordsDisplay ( ) , j = g ? c . sInfo : c . sInfoEmpty ; g != = f & & ( j + = " " + c . sInfoFiltered ) ; j + = c . sInfoPostFix ; j = Db ( a , j ) ; c = c . fnInfoCallback ; null != = c & & ( j = c . call ( a . oInstance , a , d , e , f , g , j ) ) ; h ( b ) . html ( j ) } } function Db ( a , b ) { var c = a . fnFormatNumber , d = a . _iDisplayStart + 1 , e = a . _iDisplayLength , f = a . fnRecordsDisplay ( ) , g = - 1 == = e ; return b . replace ( / _START_ / g , c . call ( a , d ) ) . replace ( / _END_ / g , c . call ( a , a . fnDisplayEnd ( ) ) ) . replace ( / _MAX_ / g , c . call ( a , a . fnRecordsTotal ( ) ) ) . replace ( / _TOTAL_ / g , c . call ( a , f ) ) . replace ( / _PAGE_ / g , c . call ( a , g ? 1 : Math . ceil ( d /
e ) ) ) . replace ( / _PAGES_ / g , c . call ( a , g ? 1 : Math . ceil ( f / e ) ) ) } function ga ( a ) { var b , c , d = a . iInitDisplayStart , e = a . aoColumns , f ; c = a . oFeatures ; var g = a . bDeferLoading ; if ( a . bInitialised ) { nb ( a ) ; kb ( a ) ; ea ( a , a . aoHeader ) ; ea ( a , a . aoFooter ) ; C ( a , ! 0 ) ; c . bAutoWidth & & Fa ( a ) ; b = 0 ; for ( c = e . length ; b < c ; b + + ) f = e [ b ] , f . sWidth & & ( f . nTh . style . width = x ( f . sWidth ) ) ; u ( a , null , " preInit " , [ a ] ) ; T ( a ) ; e = y ( a ) ; if ( " ssp " != e | | g ) " ajax " == e ? ra ( a , [ ] , function ( c ) { var f = sa ( a , c ) ; for ( b = 0 ; b < f . length ; b + + ) N ( a , f [ b ] ) ; a . iInitDisplayStart = d ; T ( a ) ; C ( a , ! 1 ) ; ta ( a , c ) } , a ) : ( C ( a , ! 1 ) ,
ta ( a ) ) } else setTimeout ( function ( ) { ga ( a ) } , 200 ) } function ta ( a , b ) { a . _bInitComplete = ! 0 ; ( b | | a . oInit . aaData ) & & Y ( a ) ; u ( a , null , " plugin-init " , [ a , b ] ) ; u ( a , " aoInitComplete " , " init " , [ a , b ] ) } function Ra ( a , b ) { var c = parseInt ( b , 10 ) ; a . _iDisplayLength = c ; Sa ( a ) ; u ( a , null , " length " , [ a , c ] ) } function ob ( a ) { for ( var b = a . oClasses , c = a . sTableId , d = a . aLengthMenu , e = h . isArray ( d [ 0 ] ) , f = e ? d [ 0 ] : d , d = e ? d [ 1 ] : d , e = h ( " <select/> " , { name : c + " _length " , " aria-controls " : c , " class " : b . sLengthSelect } ) , g = 0 , j = f . length ; g < j ; g + + ) e [ 0 ] [ g ] = new Option ( d [ g ] , f [ g ] ) ; var i =
h ( " <div><label/></div> " ) . addClass ( b . sLength ) ; a . aanFeatures . l | | ( i [ 0 ] . id = c + " _length " ) ; i . children ( ) . append ( a . oLanguage . sLengthMenu . replace ( " _MENU_ " , e [ 0 ] . outerHTML ) ) ; h ( " select " , i ) . val ( a . _iDisplayLength ) . bind ( " change.DT " , function ( ) { Ra ( a , h ( this ) . val ( ) ) ; O ( a ) } ) ; h ( a . nTable ) . bind ( " length.dt.DT " , function ( b , c , d ) { a == = c & & h ( " select " , i ) . val ( d ) } ) ; return i [ 0 ] } function tb ( a ) { var b = a . sPaginationType , c = m . ext . pager [ b ] , d = " function " == = typeof c , e = function ( a ) { O ( a ) } , b = h ( " <div/> " ) . addClass ( a . oClasses . sPaging + b ) [ 0 ] , f = a . aanFeatures ;
d | | c . fnInit ( a , b , e ) ; f . p | | ( b . id = a . sTableId + " _paginate " , a . aoDrawCallback . push ( { fn : function ( a ) { if ( d ) { var b = a . _iDisplayStart , i = a . _iDisplayLength , h = a . fnRecordsDisplay ( ) , l = - 1 == = i , b = l ? 0 : Math . ceil ( b / i ) , i = l ? 1 : Math . ceil ( h / i ) , h = c ( b , i ) , k , l = 0 ; for ( k = f . p . length ; l < k ; l + + ) Na ( a , " pageButton " ) ( a , f . p [ l ] , l , h , b , i ) } else c . fnUpdate ( a , e ) } , sName : " pagination " } ) ) ; return b } function Ta ( a , b , c ) { var d = a . _iDisplayStart , e = a . _iDisplayLength , f = a . fnRecordsDisplay ( ) ; 0 == = f | | - 1 == = e ? d = 0 : " number " == = typeof b ? ( d = b * e , d > f & & ( d = 0 ) ) : " first " == b ? d = 0 :
" previous " == b ? ( d = 0 < = e ? d - e : 0 , 0 > d & & ( d = 0 ) ) : " next " == b ? d + e < f & & ( d + = e ) : " last " == b ? d = Math . floor ( ( f - 1 ) / e ) * e : L ( a , 0 , " Unknown paging action: " + b , 5 ) ; b = a . _iDisplayStart != = d ; a . _iDisplayStart = d ; b & & ( u ( a , null , " page " , [ a ] ) , c & & O ( a ) ) ; return b } function qb ( a ) { return h ( " <div/> " , { id : ! a . aanFeatures . r ? a . sTableId + " _processing " : null , " class " : a . oClasses . sProcessing } ) . html ( a . oLanguage . sProcessing ) . insertBefore ( a . nTable ) [ 0 ] } function C ( a , b ) { a . oFeatures . bProcessing & & h ( a . aanFeatures . r ) . css ( " display " , b ? " block " : " none " ) ; u ( a , null , " processing " ,
[ a , b ] ) } function rb ( a ) { var b = h ( a . nTable ) ; b . attr ( " role " , " grid " ) ; var c = a . oScroll ; if ( " " == = c . sX & & " " == = c . sY ) return a . nTable ; var d = c . sX , e = c . sY , f = a . oClasses , g = b . children ( " caption " ) , j = g . length ? g [ 0 ] . _captionSide : null , i = h ( b [ 0 ] . cloneNode ( ! 1 ) ) , n = h ( b [ 0 ] . cloneNode ( ! 1 ) ) , l = b . children ( " tfoot " ) ; l . length | | ( l = null ) ; i = h ( " <div/> " , { " class " : f . sScrollWrapper } ) . append ( h ( " <div/> " , { " class " : f . sScrollHead } ) . css ( { overflow : " hidden " , position : " relative " , border : 0 , width : d ? ! d ? null : x ( d ) : " 100 % " } ) . append ( h ( " <div/> " , { " class " : f . sScrollHeadInner } ) . css ( { " box-sizing " : " content-box " ,
width : c . sXInner | | " 100 % " } ) . append ( i . removeAttr ( " id " ) . css ( " margin-left " , 0 ) . append ( " top " == = j ? g : null ) . append ( b . children ( " thead " ) ) ) ) ) . append ( h ( " <div/> " , { " class " : f . sScrollBody } ) . css ( { position : " relative " , overflow : " auto " , width : ! d ? null : x ( d ) } ) . append ( b ) ) ; l & & i . append ( h ( " <div/> " , { " class " : f . sScrollFoot } ) . css ( { overflow : " hidden " , border : 0 , width : d ? ! d ? null : x ( d ) : " 100 % " } ) . append ( h ( " <div/> " , { " class " : f . sScrollFootInner } ) . append ( n . removeAttr ( " id " ) . css ( " margin-left " , 0 ) . append ( " bottom " == = j ? g : null ) . append ( b . children ( " tfoot " ) ) ) ) ) ;
var b = i . children ( ) , k = b [ 0 ] , f = b [ 1 ] , t = l ? b [ 2 ] : null ; if ( d ) h ( f ) . on ( " scroll.DT " , function ( ) { var a = this . scrollLeft ; k . scrollLeft = a ; l & & ( t . scrollLeft = a ) } ) ; h ( f ) . css ( e & & c . bCollapse ? " max-height " : " height " , e ) ; a . nScrollHead = k ; a . nScrollBody = f ; a . nScrollFoot = t ; a . aoDrawCallback . push ( { fn : ka , sName : " scrolling " } ) ; return i [ 0 ] } function ka ( a ) { var b = a . oScroll , c = b . sX , d = b . sXInner , e = b . sY , b = b . iBarWidth , f = h ( a . nScrollHead ) , g = f [ 0 ] . style , j = f . children ( " div " ) , i = j [ 0 ] . style , n = j . children ( " table " ) , j = a . nScrollBody , l = h ( j ) , q = j . style , t = h ( a . nScrollFoot ) . children ( " div " ) ,
m = t . children ( " table " ) , o = h ( a . nTHead ) , F = h ( a . nTable ) , p = F [ 0 ] , r = p . style , u = a . nTFoot ? h ( a . nTFoot ) : null , Eb = a . oBrowser , Ua = Eb . bScrollOversize , s = G ( a . aoColumns , " nTh " ) , P , v , w , y , z = [ ] , A = [ ] , B = [ ] , C = [ ] , D , E = function ( a ) { a = a . style ; a . paddingTop = " 0 " ; a . paddingBottom = " 0 " ; a . borderTopWidth = " 0 " ; a . borderBottomWidth = " 0 " ; a . height = 0 } ; v = j . scrollHeight > j . clientHeight ; if ( a . scrollBarVis != = v & & a . scrollBarVis != = k ) a . scrollBarVis = v , Y ( a ) ; else { a . scrollBarVis = v ; F . children ( " thead, tfoot " ) . remove ( ) ; u & & ( w = u . clone ( ) . prependTo ( F ) , P = u . find ( " tr " ) , w =
w . find ( " tr " ) ) ; y = o . clone ( ) . prependTo ( F ) ; o = o . find ( " tr " ) ; v = y . find ( " tr " ) ; y . find ( " th, td " ) . removeAttr ( " tabindex " ) ; c | | ( q . width = " 100 % " , f [ 0 ] . style . width = " 100 % " ) ; h . each ( qa ( a , y ) , function ( b , c ) { D = Z ( a , b ) ; c . style . width = a . aoColumns [ D ] . sWidth } ) ; u & & J ( function ( a ) { a . style . width = " " } , w ) ; f = F . outerWidth ( ) ; if ( " " == = c ) { r . width = " 100 % " ; if ( Ua & & ( F . find ( " tbody " ) . height ( ) > j . offsetHeight | | " scroll " == l . css ( " overflow-y " ) ) ) r . width = x ( F . outerWidth ( ) - b ) ; f = F . outerWidth ( ) } else " " != = d & & ( r . width = x ( d ) , f = F . outerWidth ( ) ) ; J ( E , v ) ; J ( function ( a ) { B . push ( a . innerHTML ) ;
z . push ( x ( h ( a ) . css ( " width " ) ) ) } , v ) ; J ( function ( a , b ) { if ( h . inArray ( a , s ) != = - 1 ) a . style . width = z [ b ] } , o ) ; h ( v ) . height ( 0 ) ; u & & ( J ( E , w ) , J ( function ( a ) { C . push ( a . innerHTML ) ; A . push ( x ( h ( a ) . css ( " width " ) ) ) } , w ) , J ( function ( a , b ) { a . style . width = A [ b ] } , P ) , h ( w ) . height ( 0 ) ) ; J ( function ( a , b ) { a . innerHTML = ' <div class= " dataTables_sizing " style= " height:0;overflow:hidden; " > ' + B [ b ] + " </div> " ; a . style . width = z [ b ] } , v ) ; u & & J ( function ( a , b ) { a . innerHTML = ' <div class= " dataTables_sizing " style= " height:0;overflow:hidden; " > ' + C [ b ] + " </div> " ; a . style . width =
A [ b ] } , w ) ; if ( F . outerWidth ( ) < f ) { P = j . scrollHeight > j . offsetHeight | | " scroll " == l . css ( " overflow-y " ) ? f + b : f ; if ( Ua & & ( j . scrollHeight > j . offsetHeight | | " scroll " == l . css ( " overflow-y " ) ) ) r . width = x ( P - b ) ; ( " " == = c | | " " != = d ) & & L ( a , 1 , " Possible column misalignment " , 6 ) } else P = " 100 % " ; q . width = x ( P ) ; g . width = x ( P ) ; u & & ( a . nScrollFoot . style . width = x ( P ) ) ; ! e & & Ua & & ( q . height = x ( p . offsetHeight + b ) ) ; c = F . outerWidth ( ) ; n [ 0 ] . style . width = x ( c ) ; i . width = x ( c ) ; d = F . height ( ) > j . clientHeight | | " scroll " == l . css ( " overflow-y " ) ; e = " padding " + ( Eb . bScrollbarLeft ? " Left " :
" Right " ) ; i [ e ] = d ? b + " px " : " 0px " ; u & & ( m [ 0 ] . style . width = x ( c ) , t [ 0 ] . style . width = x ( c ) , t [ 0 ] . style [ e ] = d ? b + " px " : " 0px " ) ; F . children ( " colgroup " ) . insertBefore ( F . children ( " thead " ) ) ; l . scroll ( ) ; if ( ( a . bSorted | | a . bFiltered ) & & ! a . _drawHold ) j . scrollTop = 0 } } function J ( a , b , c ) { for ( var d = 0 , e = 0 , f = b . length , g , j ; e < f ; ) { g = b [ e ] . firstChild ; for ( j = c ? c [ e ] . firstChild : null ; g ; ) 1 == = g . nodeType & & ( c ? a ( g , j , d ) : a ( g , d ) , d + + ) , g = g . nextSibling , j = c ? j . nextSibling : null ; e + + } } function Fa ( a ) { var b = a . nTable , c = a . aoColumns , d = a . oScroll , e = d . sY , f = d . sX , g = d . sXInner ,
j = c . length , i = la ( a , " bVisible " ) , n = h ( " th " , a . nTHead ) , l = b . getAttribute ( " width " ) , k = b . parentNode , t = ! 1 , m , o , p = a . oBrowser , d = p . bScrollOversize ; ( m = b . style . width ) & & - 1 != = m . indexOf ( " % " ) & & ( l = m ) ; for ( m = 0 ; m < i . length ; m + + ) o = c [ i [ m ] ] , null != = o . sWidth & & ( o . sWidth = Fb ( o . sWidthOrig , k ) , t = ! 0 ) ; if ( d | | ! t & & ! f & & ! e & & j == aa ( a ) & & j == n . length ) for ( m = 0 ; m < j ; m + + ) i = Z ( a , m ) , null != = i & & ( c [ i ] . sWidth = x ( n . eq ( m ) . width ( ) ) ) ; else { j = h ( b ) . clone ( ) . css ( " visibility " , " hidden " ) . removeAttr ( " id " ) ; j . find ( " tbody tr " ) . remove ( ) ; var r = h ( " <tr/> " ) . appendTo ( j . find ( " tbody " ) ) ;
j . find ( " thead, tfoot " ) . remove ( ) ; j . append ( h ( a . nTHead ) . clone ( ) ) . append ( h ( a . nTFoot ) . clone ( ) ) ; j . find ( " tfoot th, tfoot td " ) . css ( " width " , " " ) ; n = qa ( a , j . find ( " thead " ) [ 0 ] ) ; for ( m = 0 ; m < i . length ; m + + ) o = c [ i [ m ] ] , n [ m ] . style . width = null != = o . sWidthOrig & & " " != = o . sWidthOrig ? x ( o . sWidthOrig ) : " " , o . sWidthOrig & & f & & h ( n [ m ] ) . append ( h ( " <div/> " ) . css ( { width : o . sWidthOrig , margin : 0 , padding : 0 , border : 0 , height : 1 } ) ) ; if ( a . aoData . length ) for ( m = 0 ; m < i . length ; m + + ) t = i [ m ] , o = c [ t ] , h ( Gb ( a , t ) ) . clone ( ! 1 ) . append ( o . sContentPadding ) . appendTo ( r ) ; h ( " [name] " ,
j ) . removeAttr ( " name " ) ; o = h ( " <div/> " ) . css ( f | | e ? { position : " absolute " , top : 0 , left : 0 , height : 1 , right : 0 , overflow : " hidden " } : { } ) . append ( j ) . appendTo ( k ) ; f & & g ? j . width ( g ) : f ? ( j . css ( " width " , " auto " ) , j . removeAttr ( " width " ) , j . width ( ) < k . clientWidth & & l & & j . width ( k . clientWidth ) ) : e ? j . width ( k . clientWidth ) : l & & j . width ( l ) ; for ( m = e = 0 ; m < i . length ; m + + ) k = h ( n [ m ] ) , g = k . outerWidth ( ) - k . width ( ) , k = p . bBounding ? Math . ceil ( n [ m ] . getBoundingClientRect ( ) . width ) : k . outerWidth ( ) , e + = k , c [ i [ m ] ] . sWidth = x ( k - g ) ; b . style . width = x ( e ) ; o . remove ( ) } l & & ( b . style . width =
x ( l ) ) ; if ( ( l | | f ) & & ! a . _reszEvt ) b = function ( ) { h ( D ) . bind ( " resize.DT- " + a . sInstance , Oa ( function ( ) { Y ( a ) } ) ) } , d ? setTimeout ( b , 1E3 ) : b ( ) , a . _reszEvt = ! 0 } function Fb ( a , b ) { if ( ! a ) return 0 ; var c = h ( " <div/> " ) . css ( " width " , x ( a ) ) . appendTo ( b | | I . body ) , d = c [ 0 ] . offsetWidth ; c . remove ( ) ; return d } function Gb ( a , b ) { var c = Hb ( a , b ) ; if ( 0 > c ) return null ; var d = a . aoData [ c ] ; return ! d . nTr ? h ( " <td/> " ) . html ( B ( a , c , b , " display " ) ) [ 0 ] : d . anCells [ b ] } function Hb ( a , b ) { for ( var c , d = - 1 , e = - 1 , f = 0 , g = a . aoData . length ; f < g ; f + + ) c = B ( a , f , b , " display " ) + " " , c = c . replace ( $ b ,
" " ) , c = c . replace ( / & nbsp ; / g , " " ) , c . length > d & & ( d = c . length , e = f ) ; return e } function x ( a ) { return null == = a ? " 0px " : " number " == typeof a ? 0 > a ? " 0px " : a + " px " : a . match ( / \d $ / ) ? a + " px " : a } function V ( a ) { var b , c , d = [ ] , e = a . aoColumns , f , g , j , i ; b = a . aaSortingFixed ; c = h . isPlainObject ( b ) ; var n = [ ] ; f = function ( a ) { a . length & & ! h . isArray ( a [ 0 ] ) ? n . push ( a ) : h . merge ( n , a ) } ; h . isArray ( b ) & & f ( b ) ; c & & b . pre & & f ( b . pre ) ; f ( a . aaSorting ) ; c & & b . post & & f ( b . post ) ; for ( a = 0 ; a < n . length ; a + + ) { i = n [ a ] [ 0 ] ; f = e [ i ] . aDataSort ; b = 0 ; for ( c = f . length ; b < c ; b + + ) g = f [ b ] , j = e [ g ] . sType | |
" string " , n [ a ] . _idx == = k & & ( n [ a ] . _idx = h . inArray ( n [ a ] [ 1 ] , e [ g ] . asSorting ) ) , d . push ( { src : i , col : g , dir : n [ a ] [ 1 ] , index : n [ a ] . _idx , type : j , formatter : m . ext . type . order [ j + " -pre " ] } ) } return d } function mb ( a ) { var b , c , d = [ ] , e = m . ext . type . order , f = a . aoData , g = 0 , j , i = a . aiDisplayMaster , h ; Ga ( a ) ; h = V ( a ) ; b = 0 ; for ( c = h . length ; b < c ; b + + ) j = h [ b ] , j . formatter & & g + + , Ib ( a , j . col ) ; if ( " ssp " != y ( a ) & & 0 != = h . length ) { b = 0 ; for ( c = i . length ; b < c ; b + + ) d [ i [ b ] ] = b ; g == = h . length ? i . sort ( function ( a , b ) { var c , e , g , j , i = h . length , k = f [ a ] . _aSortData , m = f [ b ] . _aSortData ; for ( g =
0 ; g < i ; g + + ) if ( j = h [ g ] , c = k [ j . col ] , e = m [ j . col ] , c = c < e ? - 1 : c > e ? 1 : 0 , 0 != = c ) return " asc " == = j . dir ? c : - c ; c = d [ a ] ; e = d [ b ] ; return c < e ? - 1 : c > e ? 1 : 0 } ) : i . sort ( function ( a , b ) { var c , g , j , i , k = h . length , m = f [ a ] . _aSortData , p = f [ b ] . _aSortData ; for ( j = 0 ; j < k ; j + + ) if ( i = h [ j ] , c = m [ i . col ] , g = p [ i . col ] , i = e [ i . type + " - " + i . dir ] | | e [ " string- " + i . dir ] , c = i ( c , g ) , 0 != = c ) return c ; c = d [ a ] ; g = d [ b ] ; return c < g ? - 1 : c > g ? 1 : 0 } ) } a . bSorted = ! 0 } function Jb ( a ) { for ( var b , c , d = a . aoColumns , e = V ( a ) , a = a . oLanguage . oAria , f = 0 , g = d . length ; f < g ; f + + ) { c = d [ f ] ; var j = c . asSorting ; b = c . sTitle . replace ( / < . * ? > / g ,
" " ) ; var i = c . nTh ; i . removeAttribute ( " aria-sort " ) ; c . bSortable & & ( 0 < e . length & & e [ 0 ] . col == f ? ( i . setAttribute ( " aria-sort " , " asc " == e [ 0 ] . dir ? " ascending " : " descending " ) , c = j [ e [ 0 ] . index + 1 ] | | j [ 0 ] ) : c = j [ 0 ] , b + = " asc " == = c ? a . sSortAscending : a . sSortDescending ) ; i . setAttribute ( " aria-label " , b ) } } function Va ( a , b , c , d ) { var e = a . aaSorting , f = a . aoColumns [ b ] . asSorting , g = function ( a , b ) { var c = a . _idx ; c == = k & & ( c = h . inArray ( a [ 1 ] , f ) ) ; return c + 1 < f . length ? c + 1 : b ? null : 0 } ; " number " == = typeof e [ 0 ] & & ( e = a . aaSorting = [ e ] ) ; c & & a . oFeatures . bSortMulti ? ( c = h . inArray ( b ,
G ( e , " 0 " ) ) , - 1 != = c ? ( b = g ( e [ c ] , ! 0 ) , null == = b & & 1 == = e . length & & ( b = 0 ) , null == = b ? e . splice ( c , 1 ) : ( e [ c ] [ 1 ] = f [ b ] , e [ c ] . _idx = b ) ) : ( e . push ( [ b , f [ 0 ] , 0 ] ) , e [ e . length - 1 ] . _idx = 0 ) ) : e . length & & e [ 0 ] [ 0 ] == b ? ( b = g ( e [ 0 ] ) , e . length = 1 , e [ 0 ] [ 1 ] = f [ b ] , e [ 0 ] . _idx = b ) : ( e . length = 0 , e . push ( [ b , f [ 0 ] ] ) , e [ 0 ] . _idx = 0 ) ; T ( a ) ; " function " == typeof d & & d ( a ) } function Ma ( a , b , c , d ) { var e = a . aoColumns [ c ] ; Wa ( b , { } , function ( b ) { ! 1 != = e . bSortable & & ( a . oFeatures . bProcessing ? ( C ( a , ! 0 ) , setTimeout ( function ( ) { Va ( a , c , b . shiftKey , d ) ; " ssp " != = y ( a ) & & C ( a , ! 1 ) } , 0 ) ) : Va ( a , c , b . shiftKey , d ) ) } ) }
function va ( a ) { var b = a . aLastSort , c = a . oClasses . sSortColumn , d = V ( a ) , e = a . oFeatures , f , g ; if ( e . bSort & & e . bSortClasses ) { e = 0 ; for ( f = b . length ; e < f ; e + + ) g = b [ e ] . src , h ( G ( a . aoData , " anCells " , g ) ) . removeClass ( c + ( 2 > e ? e + 1 : 3 ) ) ; e = 0 ; for ( f = d . length ; e < f ; e + + ) g = d [ e ] . src , h ( G ( a . aoData , " anCells " , g ) ) . addClass ( c + ( 2 > e ? e + 1 : 3 ) ) } a . aLastSort = d } function Ib ( a , b ) { var c = a . aoColumns [ b ] , d = m . ext . order [ c . sSortDataType ] , e ; d & & ( e = d . call ( a . oInstance , a , b , $ ( a , b ) ) ) ; for ( var f , g = m . ext . type . order [ c . sType + " -pre " ] , j = 0 , i = a . aoData . length ; j < i ; j + + ) if ( c = a . aoData [ j ] ,
c . _aSortData | | ( c . _aSortData = [ ] ) , ! c . _aSortData [ b ] | | d ) f = d ? e [ j ] : B ( a , j , b , " sort " ) , c . _aSortData [ b ] = g ? g ( f ) : f } function wa ( a ) { if ( a . oFeatures . bStateSave & & ! a . bDestroying ) { var b = { time : + new Date , start : a . _iDisplayStart , length : a . _iDisplayLength , order : h . extend ( ! 0 , [ ] , a . aaSorting ) , search : Ab ( a . oPreviousSearch ) , columns : h . map ( a . aoColumns , function ( b , d ) { return { visible : b . bVisible , search : Ab ( a . aoPreSearchCols [ d ] ) } } ) } ; u ( a , " aoStateSaveParams " , " stateSaveParams " , [ a , b ] ) ; a . oSavedState = b ; a . fnStateSaveCallback . call ( a . oInstance , a ,
b ) } } function Kb ( a ) { var b , c , d = a . aoColumns ; if ( a . oFeatures . bStateSave ) { var e = a . fnStateLoadCallback . call ( a . oInstance , a ) ; if ( e & & e . time & & ( b = u ( a , " aoStateLoadParams " , " stateLoadParams " , [ a , e ] ) , - 1 == = h . inArray ( ! 1 , b ) & & ( b = a . iStateDuration , ! ( 0 < b & & e . time < + new Date - 1E3 * b ) & & d . length == = e . columns . length ) ) ) { a . oLoadedState = h . extend ( ! 0 , { } , e ) ; e . start != = k & & ( a . _iDisplayStart = e . start , a . iInitDisplayStart = e . start ) ; e . length != = k & & ( a . _iDisplayLength = e . length ) ; e . order != = k & & ( a . aaSorting = [ ] , h . each ( e . order , function ( b , c ) { a . aaSorting . push ( c [ 0 ] > =
d . length ? [ 0 , c [ 1 ] ] : c ) } ) ) ; e . search != = k & & h . extend ( a . oPreviousSearch , Bb ( e . search ) ) ; b = 0 ; for ( c = e . columns . length ; b < c ; b + + ) { var f = e . columns [ b ] ; f . visible != = k & & ( d [ b ] . bVisible = f . visible ) ; f . search != = k & & h . extend ( a . aoPreSearchCols [ b ] , Bb ( f . search ) ) } u ( a , " aoStateLoaded " , " stateLoaded " , [ a , e ] ) } } } function xa ( a ) { var b = m . settings , a = h . inArray ( a , G ( b , " nTable " ) ) ; return - 1 != = a ? b [ a ] : null } function L ( a , b , c , d ) { c = " DataTables warning: " + ( a ? " table id= " + a . sTableId + " - " : " " ) + c ; d & & ( c + = " . For more information about this error, please see http://datatables.net/tn/ " +
d ) ; if ( b ) D . console & & console . log & & console . log ( c ) ; else if ( b = m . ext , b = b . sErrMode | | b . errMode , a & & u ( a , null , " error " , [ a , d , c ] ) , " alert " == b ) alert ( c ) ; else { if ( " throw " == b ) throw Error ( c ) ; " function " == typeof b & & b ( a , d , c ) } } function E ( a , b , c , d ) { h . isArray ( c ) ? h . each ( c , function ( c , d ) { h . isArray ( d ) ? E ( a , b , d [ 0 ] , d [ 1 ] ) : E ( a , b , d ) } ) : ( d == = k & & ( d = c ) , b [ c ] != = k & & ( a [ d ] = b [ c ] ) ) } function Lb ( a , b , c ) { var d , e ; for ( e in b ) b . hasOwnProperty ( e ) & & ( d = b [ e ] , h . isPlainObject ( d ) ? ( h . isPlainObject ( a [ e ] ) | | ( a [ e ] = { } ) , h . extend ( ! 0 , a [ e ] , d ) ) : a [ e ] = c & & " data " != = e & & " aaData " != =
e & & h . isArray ( d ) ? d . slice ( ) : d ) ; return a } function Wa ( a , b , c ) { h ( a ) . bind ( " click.DT " , b , function ( b ) { a . blur ( ) ; c ( b ) } ) . bind ( " keypress.DT " , b , function ( a ) { 13 == = a . which & & ( a . preventDefault ( ) , c ( a ) ) } ) . bind ( " selectstart.DT " , function ( ) { return ! 1 } ) } function z ( a , b , c , d ) { c & & a [ b ] . push ( { fn : c , sName : d } ) } function u ( a , b , c , d ) { var e = [ ] ; b & & ( e = h . map ( a [ b ] . slice ( ) . reverse ( ) , function ( b ) { return b . fn . apply ( a . oInstance , d ) } ) ) ; null != = c & & ( b = h . Event ( c + " .dt " ) , h ( a . nTable ) . trigger ( b , d ) , e . push ( b . result ) ) ; return e } function Sa ( a ) { var b = a . _iDisplayStart ,
c = a . fnDisplayEnd ( ) , d = a . _iDisplayLength ; b > = c & & ( b = c - d ) ; b - = b % d ; if ( - 1 == = d | | 0 > b ) b = 0 ; a . _iDisplayStart = b } function Na ( a , b ) { var c = a . renderer , d = m . ext . renderer [ b ] ; return h . isPlainObject ( c ) & & c [ b ] ? d [ c [ b ] ] | | d . _ : " string " == = typeof c ? d [ c ] | | d . _ : d . _ } function y ( a ) { return a . oFeatures . bServerSide ? " ssp " : a . ajax | | a . sAjaxSource ? " ajax " : " dom " } function ya ( a , b ) { var c = [ ] , c = Mb . numbers_length , d = Math . floor ( c / 2 ) ; b < = c ? c = W ( 0 , b ) : a < = d ? ( c = W ( 0 , c - 2 ) , c . push ( " ellipsis " ) , c . push ( b - 1 ) ) : ( a > = b - 1 - d ? c = W ( b - ( c - 2 ) , b ) : ( c = W ( a - d + 2 , a + d - 1 ) , c . push ( " ellipsis " ) ,
c . push ( b - 1 ) ) , c . splice ( 0 , 0 , " ellipsis " ) , c . splice ( 0 , 0 , 0 ) ) ; c . DT_el = " span " ; return c } function db ( a ) { h . each ( { num : function ( b ) { return za ( b , a ) } , " num-fmt " : function ( b ) { return za ( b , a , Xa ) } , " html-num " : function ( b ) { return za ( b , a , Aa ) } , " html-num-fmt " : function ( b ) { return za ( b , a , Aa , Xa ) } } , function ( b , c ) { v . type . order [ b + a + " -pre " ] = c ; b . match ( / ^ html \- / ) & & ( v . type . search [ b + a ] = v . type . search . html ) } ) } function Nb ( a ) { return function ( ) { var b = [ xa ( this [ m . ext . iApiIndex ] ) ] . concat ( Array . prototype . slice . call ( arguments ) ) ; return m . ext . internal [ a ] . apply ( this ,
b ) } } var m = function ( a ) { this . $ = function ( a , b ) { return this . api ( ! 0 ) . $ ( a , b ) } ; this . _ = function ( a , b ) { return this . api ( ! 0 ) . rows ( a , b ) . data ( ) } ; this . api = function ( a ) { return a ? new r ( xa ( this [ v . iApiIndex ] ) ) : new r ( this ) } ; this . fnAddData = function ( a , b ) { var c = this . api ( ! 0 ) , d = h . isArray ( a ) & & ( h . isArray ( a [ 0 ] ) | | h . isPlainObject ( a [ 0 ] ) ) ? c . rows . add ( a ) : c . row . add ( a ) ; ( b == = k | | b ) & & c . draw ( ) ; return d . flatten ( ) . toArray ( ) } ; this . fnAdjustColumnSizing = function ( a ) { var b = this . api ( ! 0 ) . columns . adjust ( ) , c = b . settings ( ) [ 0 ] , d = c . oScroll ; a == = k | | a ? b . draw ( ! 1 ) :
( " " != = d . sX | | " " != = d . sY ) & & ka ( c ) } ; this . fnClearTable = function ( a ) { var b = this . api ( ! 0 ) . clear ( ) ; ( a == = k | | a ) & & b . draw ( ) } ; this . fnClose = function ( a ) { this . api ( ! 0 ) . row ( a ) . child . hide ( ) } ; this . fnDeleteRow = function ( a , b , c ) { var d = this . api ( ! 0 ) , a = d . rows ( a ) , e = a . settings ( ) [ 0 ] , h = e . aoData [ a [ 0 ] [ 0 ] ] ; a . remove ( ) ; b & & b . call ( this , e , h ) ; ( c == = k | | c ) & & d . draw ( ) ; return h } ; this . fnDestroy = function ( a ) { this . api ( ! 0 ) . destroy ( a ) } ; this . fnDraw = function ( a ) { this . api ( ! 0 ) . draw ( a ) } ; this . fnFilter = function ( a , b , c , d , e , h ) { e = this . api ( ! 0 ) ; null == = b | | b == = k ? e . search ( a ,
c , d , h ) : e . column ( b ) . search ( a , c , d , h ) ; e . draw ( ) } ; this . fnGetData = function ( a , b ) { var c = this . api ( ! 0 ) ; if ( a != = k ) { var d = a . nodeName ? a . nodeName . toLowerCase ( ) : " " ; return b != = k | | " td " == d | | " th " == d ? c . cell ( a , b ) . data ( ) : c . row ( a ) . data ( ) | | null } return c . data ( ) . toArray ( ) } ; this . fnGetNodes = function ( a ) { var b = this . api ( ! 0 ) ; return a != = k ? b . row ( a ) . node ( ) : b . rows ( ) . nodes ( ) . flatten ( ) . toArray ( ) } ; this . fnGetPosition = function ( a ) { var b = this . api ( ! 0 ) , c = a . nodeName . toUpperCase ( ) ; return " TR " == c ? b . row ( a ) . index ( ) : " TD " == c | | " TH " == c ? ( a = b . cell ( a ) . index ( ) ,
[ a . row , a . columnVisible , a . column ] ) : null } ; this . fnIsOpen = function ( a ) { return this . api ( ! 0 ) . row ( a ) . child . isShown ( ) } ; this . fnOpen = function ( a , b , c ) { return this . api ( ! 0 ) . row ( a ) . child ( b , c ) . show ( ) . child ( ) [ 0 ] } ; this . fnPageChange = function ( a , b ) { var c = this . api ( ! 0 ) . page ( a ) ; ( b == = k | | b ) & & c . draw ( ! 1 ) } ; this . fnSetColumnVis = function ( a , b , c ) { a = this . api ( ! 0 ) . column ( a ) . visible ( b ) ; ( c == = k | | c ) & & a . columns . adjust ( ) . draw ( ) } ; this . fnSettings = function ( ) { return xa ( this [ v . iApiIndex ] ) } ; this . fnSort = function ( a ) { this . api ( ! 0 ) . order ( a ) . draw ( ) } ; this . fnSortListener =
function ( a , b , c ) { this . api ( ! 0 ) . order . listener ( a , b , c ) } ; this . fnUpdate = function ( a , b , c , d , e ) { var h = this . api ( ! 0 ) ; c == = k | | null == = c ? h . row ( b ) . data ( a ) : h . cell ( b , c ) . data ( a ) ; ( e == = k | | e ) & & h . columns . adjust ( ) ; ( d == = k | | d ) & & h . draw ( ) ; return 0 } ; this . fnVersionCheck = v . fnVersionCheck ; var b = this , c = a == = k , d = this . length ; c & & ( a = { } ) ; this . oApi = this . internal = v . internal ; for ( var e in m . ext . internal ) e & & ( this [ e ] = Nb ( e ) ) ; this . each ( function ( ) { var e = { } , e = 1 < d ? Lb ( e , a , ! 0 ) : a , g = 0 , j , i = this . getAttribute ( " id " ) , n = ! 1 , l = m . defaults , q = h ( this ) ; if ( " table " !=
this . nodeName . toLowerCase ( ) ) L ( null , 0 , " Non-table node initialisation ( " + this . nodeName + " ) " , 2 ) ; else { eb ( l ) ; fb ( l . column ) ; K ( l , l , ! 0 ) ; K ( l . column , l . column , ! 0 ) ; K ( l , h . extend ( e , q . data ( ) ) ) ; var t = m . settings , g = 0 ; for ( j = t . length ; g < j ; g + + ) { var p = t [ g ] ; if ( p . nTable == this | | p . nTHead . parentNode == this | | p . nTFoot & & p . nTFoot . parentNode == this ) { g = e . bRetrieve != = k ? e . bRetrieve : l . bRetrieve ; if ( c | | g ) return p . oInstance ; if ( e . bDestroy != = k ? e . bDestroy : l . bDestroy ) { p . oInstance . fnDestroy ( ) ; break } else { L ( p , 0 , " Cannot reinitialise DataTable " , 3 ) ;
return } } if ( p . sTableId == this . id ) { t . splice ( g , 1 ) ; break } } if ( null == = i | | " " == = i ) this . id = i = " DataTables_Table_ " + m . ext . _unique + + ; var o = h . extend ( ! 0 , { } , m . models . oSettings , { sDestroyWidth : q [ 0 ] . style . width , sInstance : i , sTableId : i } ) ; o . nTable = this ; o . oApi = b . internal ; o . oInit = e ; t . push ( o ) ; o . oInstance = 1 == = b . length ? b : q . dataTable ( ) ; eb ( e ) ; e . oLanguage & & Da ( e . oLanguage ) ; e . aLengthMenu & & ! e . iDisplayLength & & ( e . iDisplayLength = h . isArray ( e . aLengthMenu [ 0 ] ) ? e . aLengthMenu [ 0 ] [ 0 ] : e . aLengthMenu [ 0 ] ) ; e = Lb ( h . extend ( ! 0 , { } , l ) , e ) ; E ( o . oFeatures ,
e , " bPaginate bLengthChange bFilter bSort bSortMulti bInfo bProcessing bAutoWidth bSortClasses bServerSide bDeferRender " . split ( " " ) ) ; E ( o , e , [ " asStripeClasses " , " ajax " , " fnServerData " , " fnFormatNumber " , " sServerMethod " , " aaSorting " , " aaSortingFixed " , " aLengthMenu " , " sPaginationType " , " sAjaxSource " , " sAjaxDataProp " , " iStateDuration " , " sDom " , " bSortCellsTop " , " iTabIndex " , " fnStateLoadCallback " , " fnStateSaveCallback " , " renderer " , " searchDelay " , " rowId " , [ " iCookieDuration " , " iStateDuration " ] , [ " oSearch " , " oPreviousSearch " ] , [ " aoSearchCols " ,
" aoPreSearchCols " ] , [ " iDisplayLength " , " _iDisplayLength " ] , [ " bJQueryUI " , " bJUI " ] ] ) ; E ( o . oScroll , e , [ [ " sScrollX " , " sX " ] , [ " sScrollXInner " , " sXInner " ] , [ " sScrollY " , " sY " ] , [ " bScrollCollapse " , " bCollapse " ] ] ) ; E ( o . oLanguage , e , " fnInfoCallback " ) ; z ( o , " aoDrawCallback " , e . fnDrawCallback , " user " ) ; z ( o , " aoServerParams " , e . fnServerParams , " user " ) ; z ( o , " aoStateSaveParams " , e . fnStateSaveParams , " user " ) ; z ( o , " aoStateLoadParams " , e . fnStateLoadParams , " user " ) ; z ( o , " aoStateLoaded " , e . fnStateLoaded , " user " ) ; z ( o , " aoRowCallback " , e . fnRowCallback ,
" user " ) ; z ( o , " aoRowCreatedCallback " , e . fnCreatedRow , " user " ) ; z ( o , " aoHeaderCallback " , e . fnHeaderCallback , " user " ) ; z ( o , " aoFooterCallback " , e . fnFooterCallback , " user " ) ; z ( o , " aoInitComplete " , e . fnInitComplete , " user " ) ; z ( o , " aoPreDrawCallback " , e . fnPreDrawCallback , " user " ) ; o . rowIdFn = Q ( e . rowId ) ; gb ( o ) ; i = o . oClasses ; e . bJQueryUI ? ( h . extend ( i , m . ext . oJUIClasses , e . oClasses ) , e . sDom == = l . sDom & & " lfrtip " == = l . sDom & & ( o . sDom = ' < " H " lfr>t< " F " ip> ' ) , o . renderer ) ? h . isPlainObject ( o . renderer ) & & ! o . renderer . header & & ( o . renderer . header = " jqueryui " ) :
o . renderer = " jqueryui " : h . extend ( i , m . ext . classes , e . oClasses ) ; q . addClass ( i . sTable ) ; o . iInitDisplayStart == = k & & ( o . iInitDisplayStart = e . iDisplayStart , o . _iDisplayStart = e . iDisplayStart ) ; null != = e . iDeferLoading & & ( o . bDeferLoading = ! 0 , g = h . isArray ( e . iDeferLoading ) , o . _iRecordsDisplay = g ? e . iDeferLoading [ 0 ] : e . iDeferLoading , o . _iRecordsTotal = g ? e . iDeferLoading [ 1 ] : e . iDeferLoading ) ; var r = o . oLanguage ; h . extend ( ! 0 , r , e . oLanguage ) ; " " != = r . sUrl & & ( h . ajax ( { dataType : " json " , url : r . sUrl , success : function ( a ) { Da ( a ) ; K ( l . oLanguage , a ) ; h . extend ( true ,
r , a ) ; ga ( o ) } , error : function ( ) { ga ( o ) } } ) , n = ! 0 ) ; null == = e . asStripeClasses & & ( o . asStripeClasses = [ i . sStripeOdd , i . sStripeEven ] ) ; var g = o . asStripeClasses , v = q . children ( " tbody " ) . find ( " tr " ) . eq ( 0 ) ; - 1 != = h . inArray ( ! 0 , h . map ( g , function ( a ) { return v . hasClass ( a ) } ) ) & & ( h ( " tbody tr " , this ) . removeClass ( g . join ( " " ) ) , o . asDestroyStripes = g . slice ( ) ) ; t = [ ] ; g = this . getElementsByTagName ( " thead " ) ; 0 != = g . length & & ( da ( o . aoHeader , g [ 0 ] ) , t = qa ( o ) ) ; if ( null == = e . aoColumns ) { p = [ ] ; g = 0 ; for ( j = t . length ; g < j ; g + + ) p . push ( null ) } else p = e . aoColumns ; g = 0 ; for ( j =
p . length ; g < j ; g + + ) Ea ( o , t ? t [ g ] : null ) ; ib ( o , e . aoColumnDefs , p , function ( a , b ) { ja ( o , a , b ) } ) ; if ( v . length ) { var s = function ( a , b ) { return a . getAttribute ( " data- " + b ) != = null ? b : null } ; h ( v [ 0 ] ) . children ( " th, td " ) . each ( function ( a , b ) { var c = o . aoColumns [ a ] ; if ( c . mData == = a ) { var d = s ( b , " sort " ) | | s ( b , " order " ) , e = s ( b , " filter " ) | | s ( b , " search " ) ; if ( d != = null | | e != = null ) { c . mData = { _ : a + " .display " , sort : d != = null ? a + " .@data- " + d : k , type : d != = null ? a + " .@data- " + d : k , filter : e != = null ? a + " .@data- " + e : k } ; ja ( o , a ) } } } ) } var w = o . oFeatures ; e . bStateSave & & ( w . bStateSave =
! 0 , Kb ( o , e ) , z ( o , " aoDrawCallback " , wa , " state_save " ) ) ; if ( e . aaSorting == = k ) { t = o . aaSorting ; g = 0 ; for ( j = t . length ; g < j ; g + + ) t [ g ] [ 1 ] = o . aoColumns [ g ] . asSorting [ 0 ] } va ( o ) ; w . bSort & & z ( o , " aoDrawCallback " , function ( ) { if ( o . bSorted ) { var a = V ( o ) , b = { } ; h . each ( a , function ( a , c ) { b [ c . src ] = c . dir } ) ; u ( o , null , " order " , [ o , a , b ] ) ; Jb ( o ) } } ) ; z ( o , " aoDrawCallback " , function ( ) { ( o . bSorted | | y ( o ) == = " ssp " | | w . bDeferRender ) & & va ( o ) } , " sc " ) ; g = q . children ( " caption " ) . each ( function ( ) { this . _captionSide = q . css ( " caption-side " ) } ) ; j = q . children ( " thead " ) ; 0 == = j . length & &
( j = h ( " <thead/> " ) . appendTo ( this ) ) ; o . nTHead = j [ 0 ] ; j = q . children ( " tbody " ) ; 0 == = j . length & & ( j = h ( " <tbody/> " ) . appendTo ( this ) ) ; o . nTBody = j [ 0 ] ; j = q . children ( " tfoot " ) ; if ( 0 == = j . length & & 0 < g . length & & ( " " != = o . oScroll . sX | | " " != = o . oScroll . sY ) ) j = h ( " <tfoot/> " ) . appendTo ( this ) ; 0 == = j . length | | 0 == = j . children ( ) . length ? q . addClass ( i . sNoFooter ) : 0 < j . length & & ( o . nTFoot = j [ 0 ] , da ( o . aoFooter , o . nTFoot ) ) ; if ( e . aaData ) for ( g = 0 ; g < e . aaData . length ; g + + ) N ( o , e . aaData [ g ] ) ; else ( o . bDeferLoading | | " dom " == y ( o ) ) & & ma ( o , h ( o . nTBody ) . children ( " tr " ) ) ; o . aiDisplay =
o . aiDisplayMaster . slice ( ) ; o . bInitialised = ! 0 ; ! 1 == = n & & ga ( o ) } } ) ; b = null ; return this } , v , r , p , s , Ya = { } , Ob = / [ \r \n ] / g , Aa = / < . * ? > / g , ac = / ^ [ \w \+ \- ] / , bc = / [ \w \+ \- ] $ / , cc = RegExp ( " ( \\ /| \\ .| \\ *| \\ +| \\ ?| \\ || \\ (| \\ )| \\ [| \\ ]| \\ { | \\ }| \\ \\ | \\ $| \\ ^| \\ -) " , " g " ) , Xa = / [ ' ,$£€¥ % \u2009 \u202F \u20BD \u20a9 \u20BA rfk]/gi,M=function(a) { return!a||!0===a|| " - " ===a?!0:!1},Pb=function(a) { var b=parseInt(a,10);return!isNaN(b)&&isFinite(a)?b:null},Qb=function(a,b) { Ya[b]||(Ya[b]=RegExp(Qa(b), " g " ));return " string " ===typeof a&& " . " !==b?a.replace(/ \ ./g,
" " ) . replace ( Ya [ b ] , " . " ) : a } , Za = function ( a , b , c ) { var d = " string " == = typeof a ; if ( M ( a ) ) return ! 0 ; b & & d & & ( a = Qb ( a , b ) ) ; c & & d & & ( a = a . replace ( Xa , " " ) ) ; return ! isNaN ( parseFloat ( a ) ) & & isFinite ( a ) } , Rb = function ( a , b , c ) { return M ( a ) ? ! 0 : ! ( M ( a ) | | " string " == = typeof a ) ? null : Za ( a . replace ( Aa , " " ) , b , c ) ? ! 0 : null } , G = function ( a , b , c ) { var d = [ ] , e = 0 , f = a . length ; if ( c != = k ) for ( ; e < f ; e + + ) a [ e ] & & a [ e ] [ b ] & & d . push ( a [ e ] [ b ] [ c ] ) ; else for ( ; e < f ; e + + ) a [ e ] & & d . push ( a [ e ] [ b ] ) ; return d } , ha = function ( a , b , c , d ) { var e = [ ] , f = 0 , g = b . length ; if ( d != = k ) for ( ; f < g ; f + + ) a [ b [ f ] ] [ c ] & &
e . push ( a [ b [ f ] ] [ c ] [ d ] ) ; else for ( ; f < g ; f + + ) e . push ( a [ b [ f ] ] [ c ] ) ; return e } , W = function ( a , b ) { var c = [ ] , d ; b == = k ? ( b = 0 , d = a ) : ( d = b , b = a ) ; for ( var e = b ; e < d ; e + + ) c . push ( e ) ; return c } , Sb = function ( a ) { for ( var b = [ ] , c = 0 , d = a . length ; c < d ; c + + ) a [ c ] & & b . push ( a [ c ] ) ; return b } , pa = function ( a ) { var b = [ ] , c , d , e = a . length , f , g = 0 ; d = 0 ; a : for ( ; d < e ; d + + ) { c = a [ d ] ; for ( f = 0 ; f < g ; f + + ) if ( b [ f ] == = c ) continue a ; b . push ( c ) ; g + + } return b } ; m . util = { throttle : function ( a , b ) { var c = b != = k ? b : 200 , d , e ; return function ( ) { var b = this , g = + new Date , h = arguments ; d & & g < d + c ? ( clearTimeout ( e ) ,
e = setTimeout ( function ( ) { d = k ; a . apply ( b , h ) } , c ) ) : ( d = g , a . apply ( b , h ) ) } } , escapeRegex : function ( a ) { return a . replace ( cc , " \\ $1 " ) } } ; var A = function ( a , b , c ) { a [ b ] != = k & & ( a [ c ] = a [ b ] ) } , ba = / \[ . * ? \] $ / , U = / \( \) $ / , Qa = m . util . escapeRegex , ua = h ( " <div> " ) [ 0 ] , Zb = ua . textContent != = k , $ b = / < . * ? > / g , Oa = m . util . throttle , Tb = [ ] , w = Array . prototype , dc = function ( a ) { var b , c , d = m . settings , e = h . map ( d , function ( a ) { return a . nTable } ) ; if ( a ) { if ( a . nTable & & a . oApi ) return [ a ] ; if ( a . nodeName & & " table " == = a . nodeName . toLowerCase ( ) ) return b = h . inArray ( a , e ) , - 1 != = b ? [ d [ b ] ] :
null ; if ( a & & " function " == = typeof a . settings ) return a . settings ( ) . toArray ( ) ; " string " == = typeof a ? c = h ( a ) : a instanceof h & & ( c = a ) } else return [ ] ; if ( c ) return c . map ( function ( ) { b = h . inArray ( this , e ) ; return - 1 != = b ? d [ b ] : null } ) . toArray ( ) } ; r = function ( a , b ) { if ( ! ( this instanceof r ) ) return new r ( a , b ) ; var c = [ ] , d = function ( a ) { ( a = dc ( a ) ) & & ( c = c . concat ( a ) ) } ; if ( h . isArray ( a ) ) for ( var e = 0 , f = a . length ; e < f ; e + + ) d ( a [ e ] ) ; else d ( a ) ; this . context = pa ( c ) ; b & & h . merge ( this , b ) ; this . selector = { rows : null , cols : null , opts : null } ; r . extend ( this , this , Tb ) } ;
m . Api = r ; h . extend ( r . prototype , { any : function ( ) { return 0 != = this . count ( ) } , concat : w . concat , context : [ ] , count : function ( ) { return this . flatten ( ) . length } , each : function ( a ) { for ( var b = 0 , c = this . length ; b < c ; b + + ) a . call ( this , this [ b ] , b , this ) ; return this } , eq : function ( a ) { var b = this . context ; return b . length > a ? new r ( b [ a ] , this [ a ] ) : null } , filter : function ( a ) { var b = [ ] ; if ( w . filter ) b = w . filter . call ( this , a , this ) ; else for ( var c = 0 , d = this . length ; c < d ; c + + ) a . call ( this , this [ c ] , c , this ) & & b . push ( this [ c ] ) ; return new r ( this . context , b ) } , flatten : function ( ) { var a =
[ ] ; return new r ( this . context , a . concat . apply ( a , this . toArray ( ) ) ) } , join : w . join , indexOf : w . indexOf | | function ( a , b ) { for ( var c = b | | 0 , d = this . length ; c < d ; c + + ) if ( this [ c ] == = a ) return c ; return - 1 } , iterator : function ( a , b , c , d ) { var e = [ ] , f , g , h , i , n , l = this . context , m , t , p = this . selector ; " string " == = typeof a & & ( d = c , c = b , b = a , a = ! 1 ) ; g = 0 ; for ( h = l . length ; g < h ; g + + ) { var o = new r ( l [ g ] ) ; if ( " table " == = b ) f = c . call ( o , l [ g ] , g ) , f != = k & & e . push ( f ) ; else if ( " columns " == = b | | " rows " == = b ) f = c . call ( o , l [ g ] , this [ g ] , g ) , f != = k & & e . push ( f ) ; else if ( " column " == = b | | " column-rows " == =
b | | " row " == = b | | " cell " == = b ) { t = this [ g ] ; " column-rows " == = b & & ( m = Ba ( l [ g ] , p . opts ) ) ; i = 0 ; for ( n = t . length ; i < n ; i + + ) f = t [ i ] , f = " cell " == = b ? c . call ( o , l [ g ] , f . row , f . column , g , i ) : c . call ( o , l [ g ] , f , g , i , m ) , f != = k & & e . push ( f ) } } return e . length | | d ? ( a = new r ( l , a ? e . concat . apply ( [ ] , e ) : e ) , b = a . selector , b . rows = p . rows , b . cols = p . cols , b . opts = p . opts , a ) : this } , lastIndexOf : w . lastIndexOf | | function ( a , b ) { return this . indexOf . apply ( this . toArray . reverse ( ) , arguments ) } , length : 0 , map : function ( a ) { var b = [ ] ; if ( w . map ) b = w . map . call ( this , a , this ) ; else for ( var c =
0 , d = this . length ; c < d ; c + + ) b . push ( a . call ( this , this [ c ] , c ) ) ; return new r ( this . context , b ) } , pluck : function ( a ) { return this . map ( function ( b ) { return b [ a ] } ) } , pop : w . pop , push : w . push , reduce : w . reduce | | function ( a , b ) { return hb ( this , a , b , 0 , this . length , 1 ) } , reduceRight : w . reduceRight | | function ( a , b ) { return hb ( this , a , b , this . length - 1 , - 1 , - 1 ) } , reverse : w . reverse , selector : null , shift : w . shift , sort : w . sort , splice : w . splice , toArray : function ( ) { return w . slice . call ( this ) } , to $ : function ( ) { return h ( this ) } , toJQuery : function ( ) { return h ( this ) } ,
unique : function ( ) { return new r ( this . context , pa ( this ) ) } , unshift : w . unshift } ) ; r . extend = function ( a , b , c ) { if ( c . length & & b & & ( b instanceof r | | b . __dt_wrapper ) ) { var d , e , f , g = function ( a , b , c ) { return function ( ) { var d = b . apply ( a , arguments ) ; r . extend ( d , d , c . methodExt ) ; return d } } ; d = 0 ; for ( e = c . length ; d < e ; d + + ) f = c [ d ] , b [ f . name ] = " function " == = typeof f . val ? g ( a , f . val , f ) : h . isPlainObject ( f . val ) ? { } : f . val , b [ f . name ] . __dt_wrapper = ! 0 , r . extend ( a , b [ f . name ] , f . propExt ) } } ; r . register = p = function ( a , b ) { if ( h . isArray ( a ) ) for ( var c = 0 , d = a . length ; c <
d ; c + + ) r . register ( a [ c ] , b ) ; else for ( var e = a . split ( " . " ) , f = Tb , g , j , c = 0 , d = e . length ; c < d ; c + + ) { g = ( j = - 1 != = e [ c ] . indexOf ( " () " ) ) ? e [ c ] . replace ( " () " , " " ) : e [ c ] ; var i ; a : { i = 0 ; for ( var n = f . length ; i < n ; i + + ) if ( f [ i ] . name == = g ) { i = f [ i ] ; break a } i = null } i | | ( i = { name : g , val : { } , methodExt : [ ] , propExt : [ ] } , f . push ( i ) ) ; c == = d - 1 ? i . val = b : f = j ? i . methodExt : i . propExt } } ; r . registerPlural = s = function ( a , b , c ) { r . register ( a , c ) ; r . register ( b , function ( ) { var a = c . apply ( this , arguments ) ; return a == = this ? this : a instanceof r ? a . length ? h . isArray ( a [ 0 ] ) ? new r ( a . context ,
a [ 0 ] ) : a [ 0 ] : k : a } ) } ; p ( " tables() " , function ( a ) { var b ; if ( a ) { b = r ; var c = this . context ; if ( " number " == = typeof a ) a = [ c [ a ] ] ; else var d = h . map ( c , function ( a ) { return a . nTable } ) , a = h ( d ) . filter ( a ) . map ( function ( ) { var a = h . inArray ( this , d ) ; return c [ a ] } ) . toArray ( ) ; b = new b ( a ) } else b = this ; return b } ) ; p ( " table() " , function ( a ) { var a = this . tables ( a ) , b = a . context ; return b . length ? new r ( b [ 0 ] ) : a } ) ; s ( " tables().nodes() " , " table().node() " , function ( ) { return this . iterator ( " table " , function ( a ) { return a . nTable } , 1 ) } ) ; s ( " tables().body() " , " table().body() " ,
function ( ) { return this . iterator ( " table " , function ( a ) { return a . nTBody } , 1 ) } ) ; s ( " tables().header() " , " table().header() " , function ( ) { return this . iterator ( " table " , function ( a ) { return a . nTHead } , 1 ) } ) ; s ( " tables().footer() " , " table().footer() " , function ( ) { return this . iterator ( " table " , function ( a ) { return a . nTFoot } , 1 ) } ) ; s ( " tables().containers() " , " table().container() " , function ( ) { return this . iterator ( " table " , function ( a ) { return a . nTableWrapper } , 1 ) } ) ; p ( " draw() " , function ( a ) { return this . iterator ( " table " , function ( b ) { " page " == =
a ? O ( b ) : ( " string " == = typeof a & & ( a = " full-hold " == = a ? ! 1 : ! 0 ) , T ( b , ! 1 == = a ) ) } ) } ) ; p ( " page() " , function ( a ) { return a == = k ? this . page . info ( ) . page : this . iterator ( " table " , function ( b ) { Ta ( b , a ) } ) } ) ; p ( " page.info() " , function ( ) { if ( 0 == = this . context . length ) return k ; var a = this . context [ 0 ] , b = a . _iDisplayStart , c = a . oFeatures . bPaginate ? a . _iDisplayLength : - 1 , d = a . fnRecordsDisplay ( ) , e = - 1 == = c ; return { page : e ? 0 : Math . floor ( b / c ) , pages : e ? 1 : Math . ceil ( d / c ) , start : b , end : a . fnDisplayEnd ( ) , length : c , recordsTotal : a . fnRecordsTotal ( ) , recordsDisplay : d ,
serverSide : " ssp " == = y ( a ) } } ) ; p ( " page.len() " , function ( a ) { return a == = k ? 0 != = this . context . length ? this . context [ 0 ] . _iDisplayLength : k : this . iterator ( " table " , function ( b ) { Ra ( b , a ) } ) } ) ; var Ub = function ( a , b , c ) { if ( c ) { var d = new r ( a ) ; d . one ( " draw " , function ( ) { c ( d . ajax . json ( ) ) } ) } if ( " ssp " == y ( a ) ) T ( a , b ) ; else { C ( a , ! 0 ) ; var e = a . jqXHR ; e & & 4 != = e . readyState & & e . abort ( ) ; ra ( a , [ ] , function ( c ) { na ( a ) ; for ( var c = sa ( a , c ) , d = 0 , e = c . length ; d < e ; d + + ) N ( a , c [ d ] ) ; T ( a , b ) ; C ( a , ! 1 ) } ) } } ; p ( " ajax.json() " , function ( ) { var a = this . context ; if ( 0 < a . length ) return a [ 0 ] . json } ) ;
p ( " ajax.params() " , function ( ) { var a = this . context ; if ( 0 < a . length ) return a [ 0 ] . oAjaxData } ) ; p ( " ajax.reload() " , function ( a , b ) { return this . iterator ( " table " , function ( c ) { Ub ( c , ! 1 == = b , a ) } ) } ) ; p ( " ajax.url() " , function ( a ) { var b = this . context ; if ( a == = k ) { if ( 0 == = b . length ) return k ; b = b [ 0 ] ; return b . ajax ? h . isPlainObject ( b . ajax ) ? b . ajax . url : b . ajax : b . sAjaxSource } return this . iterator ( " table " , function ( b ) { h . isPlainObject ( b . ajax ) ? b . ajax . url = a : b . ajax = a } ) } ) ; p ( " ajax.url().load() " , function ( a , b ) { return this . iterator ( " table " , function ( c ) { Ub ( c ,
! 1 == = b , a ) } ) } ) ; var $ a = function ( a , b , c , d , e ) { var f = [ ] , g , j , i , n , l , m ; i = typeof b ; if ( ! b | | " string " == = i | | " function " == = i | | b . length == = k ) b = [ b ] ; i = 0 ; for ( n = b . length ; i < n ; i + + ) { j = b [ i ] & & b [ i ] . split ? b [ i ] . split ( " , " ) : [ b [ i ] ] ; l = 0 ; for ( m = j . length ; l < m ; l + + ) ( g = c ( " string " == = typeof j [ l ] ? h . trim ( j [ l ] ) : j [ l ] ) ) & & g . length & & ( f = f . concat ( g ) ) } a = v . selector [ a ] ; if ( a . length ) { i = 0 ; for ( n = a . length ; i < n ; i + + ) f = a [ i ] ( d , e , f ) } return pa ( f ) } , ab = function ( a ) { a | | ( a = { } ) ; a . filter & & a . search == = k & & ( a . search = a . filter ) ; return h . extend ( { search : " none " , order : " current " ,
page : " all " } , a ) } , bb = function ( a ) { for ( var b = 0 , c = a . length ; b < c ; b + + ) if ( 0 < a [ b ] . length ) return a [ 0 ] = a [ b ] , a [ 0 ] . length = 1 , a . length = 1 , a . context = [ a . context [ b ] ] , a ; a . length = 0 ; return a } , Ba = function ( a , b ) { var c , d , e , f = [ ] , g = a . aiDisplay ; c = a . aiDisplayMaster ; var j = b . search ; d = b . order ; e = b . page ; if ( " ssp " == y ( a ) ) return " removed " == = j ? [ ] : W ( 0 , c . length ) ; if ( " current " == e ) { c = a . _iDisplayStart ; for ( d = a . fnDisplayEnd ( ) ; c < d ; c + + ) f . push ( g [ c ] ) } else if ( " current " == d | | " applied " == d ) f = " none " == j ? c . slice ( ) : " applied " == j ? g . slice ( ) : h . map ( c , function ( a ) { return - 1 == =
h . inArray ( a , g ) ? a : null } ) ; else if ( " index " == d | | " original " == d ) { c = 0 ; for ( d = a . aoData . length ; c < d ; c + + ) " none " == j ? f . push ( c ) : ( e = h . inArray ( c , g ) , ( - 1 == = e & & " removed " == j | | 0 < = e & & " applied " == j ) & & f . push ( c ) ) } return f } ; p ( " rows() " , function ( a , b ) { a == = k ? a = " " : h . isPlainObject ( a ) & & ( b = a , a = " " ) ; var b = ab ( b ) , c = this . iterator ( " table " , function ( c ) { var e = b ; return $ a ( " row " , a , function ( a ) { var b = Pb ( a ) ; if ( b != = null & & ! e ) return [ b ] ; var j = Ba ( c , e ) ; if ( b != = null & & h . inArray ( b , j ) != = - 1 ) return [ b ] ; if ( ! a ) return j ; if ( typeof a == = " function " ) return h . map ( j , function ( b ) { var e =
c . aoData [ b ] ; return a ( b , e . _aData , e . nTr ) ? b : null } ) ; b = Sb ( ha ( c . aoData , j , " nTr " ) ) ; if ( a . nodeName ) { if ( a . _DT_RowIndex != = k ) return [ a . _DT_RowIndex ] ; if ( a . _DT_CellIndex ) return [ a . _DT_CellIndex . row ] ; b = h ( a ) . closest ( " *[data-dt-row] " ) ; return b . length ? [ b . data ( " dt-row " ) ] : [ ] } if ( typeof a == = " string " & & a . charAt ( 0 ) == = " # " ) { j = c . aIds [ a . replace ( / ^ #/,"")];if(j!==k)return[j.idx]}return h(b).filter(a).map(function(){return this._DT_RowIndex}).toArray()},c,e)},1);c.selector.rows=a;c.selector.opts=b;return c});p("rows().nodes()",function(){return this.iterator("row",
function ( a , b ) { return a . aoData [ b ] . nTr | | k } , 1 ) } ) ; p ( " rows().data() " , function ( ) { return this . iterator ( ! 0 , " rows " , function ( a , b ) { return ha ( a . aoData , b , " _aData " ) } , 1 ) } ) ; s ( " rows().cache() " , " row().cache() " , function ( a ) { return this . iterator ( " row " , function ( b , c ) { var d = b . aoData [ c ] ; return " search " == = a ? d . _aFilterData : d . _aSortData } , 1 ) } ) ; s ( " rows().invalidate() " , " row().invalidate() " , function ( a ) { return this . iterator ( " row " , function ( b , c ) { ca ( b , c , a ) } ) } ) ; s ( " rows().indexes() " , " row().index() " , function ( ) { return this . iterator ( " row " ,
function ( a , b ) { return b } , 1 ) } ) ; s ( " rows().ids() " , " row().id() " , function ( a ) { for ( var b = [ ] , c = this . context , d = 0 , e = c . length ; d < e ; d + + ) for ( var f = 0 , g = this [ d ] . length ; f < g ; f + + ) { var h = c [ d ] . rowIdFn ( c [ d ] . aoData [ this [ d ] [ f ] ] . _aData ) ; b . push ( ( ! 0 == = a ? " # " : " " ) + h ) } return new r ( c , b ) } ) ; s ( " rows().remove() " , " row().remove() " , function ( ) { var a = this ; this . iterator ( " row " , function ( b , c , d ) { var e = b . aoData , f = e [ c ] , g , h , i , n , l ; e . splice ( c , 1 ) ; g = 0 ; for ( h = e . length ; g < h ; g + + ) if ( i = e [ g ] , l = i . anCells , null != = i . nTr & & ( i . nTr . _DT_RowIndex = g ) , null != = l ) { i = 0 ; for ( n =
l . length ; i < n ; i + + ) l [ i ] . _DT_CellIndex . row = g } oa ( b . aiDisplayMaster , c ) ; oa ( b . aiDisplay , c ) ; oa ( a [ d ] , c , ! 1 ) ; Sa ( b ) ; c = b . rowIdFn ( f . _aData ) ; c != = k & & delete b . aIds [ c ] } ) ; this . iterator ( " table " , function ( a ) { for ( var c = 0 , d = a . aoData . length ; c < d ; c + + ) a . aoData [ c ] . idx = c } ) ; return this } ) ; p ( " rows.add() " , function ( a ) { var b = this . iterator ( " table " , function ( b ) { var c , f , g , h = [ ] ; f = 0 ; for ( g = a . length ; f < g ; f + + ) c = a [ f ] , c . nodeName & & " TR " == = c . nodeName . toUpperCase ( ) ? h . push ( ma ( b , c ) [ 0 ] ) : h . push ( N ( b , c ) ) ; return h } , 1 ) , c = this . rows ( - 1 ) ; c . pop ( ) ; h . merge ( c , b ) ;
return c } ) ; p ( " row() " , function ( a , b ) { return bb ( this . rows ( a , b ) ) } ) ; p ( " row().data() " , function ( a ) { var b = this . context ; if ( a == = k ) return b . length & & this . length ? b [ 0 ] . aoData [ this [ 0 ] ] . _aData : k ; b [ 0 ] . aoData [ this [ 0 ] ] . _aData = a ; ca ( b [ 0 ] , this [ 0 ] , " data " ) ; return this } ) ; p ( " row().node() " , function ( ) { var a = this . context ; return a . length & & this . length ? a [ 0 ] . aoData [ this [ 0 ] ] . nTr | | null : null } ) ; p ( " row.add() " , function ( a ) { a instanceof h & & a . length & & ( a = a [ 0 ] ) ; var b = this . iterator ( " table " , function ( b ) { return a . nodeName & & " TR " == = a . nodeName . toUpperCase ( ) ?
ma ( b , a ) [ 0 ] : N ( b , a ) } ) ; return this . row ( b [ 0 ] ) } ) ; var cb = function ( a , b ) { var c = a . context ; if ( c . length & & ( c = c [ 0 ] . aoData [ b != = k ? b : a [ 0 ] ] ) & & c . _details ) c . _details . remove ( ) , c . _detailsShow = k , c . _details = k } , Vb = function ( a , b ) { var c = a . context ; if ( c . length & & a . length ) { var d = c [ 0 ] . aoData [ a [ 0 ] ] ; if ( d . _details ) { ( d . _detailsShow = b ) ? d . _details . insertAfter ( d . nTr ) : d . _details . detach ( ) ; var e = c [ 0 ] , f = new r ( e ) , g = e . aoData ; f . off ( " draw.dt.DT_details column-visibility.dt.DT_details destroy.dt.DT_details " ) ; 0 < G ( g , " _details " ) . length & & ( f . on ( " draw.dt.DT_details " ,
function ( a , b ) { e == = b & & f . rows ( { page : " current " } ) . eq ( 0 ) . each ( function ( a ) { a = g [ a ] ; a . _detailsShow & & a . _details . insertAfter ( a . nTr ) } ) } ) , f . on ( " column-visibility.dt.DT_details " , function ( a , b ) { if ( e == = b ) for ( var c , d = aa ( b ) , f = 0 , h = g . length ; f < h ; f + + ) c = g [ f ] , c . _details & & c . _details . children ( " td[colspan] " ) . attr ( " colspan " , d ) } ) , f . on ( " destroy.dt.DT_details " , function ( a , b ) { if ( e == = b ) for ( var c = 0 , d = g . length ; c < d ; c + + ) g [ c ] . _details & & cb ( f , c ) } ) ) } } } ; p ( " row().child() " , function ( a , b ) { var c = this . context ; if ( a == = k ) return c . length & & this . length ?
c [ 0 ] . aoData [ this [ 0 ] ] . _details : k ; if ( ! 0 == = a ) this . child . show ( ) ; else if ( ! 1 == = a ) cb ( this ) ; else if ( c . length & & this . length ) { var d = c [ 0 ] , c = c [ 0 ] . aoData [ this [ 0 ] ] , e = [ ] , f = function ( a , b ) { if ( h . isArray ( a ) | | a instanceof h ) for ( var c = 0 , k = a . length ; c < k ; c + + ) f ( a [ c ] , b ) ; else a . nodeName & & " tr " == = a . nodeName . toLowerCase ( ) ? e . push ( a ) : ( c = h ( " <tr><td/></tr> " ) . addClass ( b ) , h ( " td " , c ) . addClass ( b ) . html ( a ) [ 0 ] . colSpan = aa ( d ) , e . push ( c [ 0 ] ) ) } ; f ( a , b ) ; c . _details & & c . _details . remove ( ) ; c . _details = h ( e ) ; c . _detailsShow & & c . _details . insertAfter ( c . nTr ) } return this } ) ;
p ( [ " row().child.show() " , " row().child().show() " ] , function ( ) { Vb ( this , ! 0 ) ; return this } ) ; p ( [ " row().child.hide() " , " row().child().hide() " ] , function ( ) { Vb ( this , ! 1 ) ; return this } ) ; p ( [ " row().child.remove() " , " row().child().remove() " ] , function ( ) { cb ( this ) ; return this } ) ; p ( " row().child.isShown() " , function ( ) { var a = this . context ; return a . length & & this . length ? a [ 0 ] . aoData [ this [ 0 ] ] . _detailsShow | | ! 1 : ! 1 } ) ; var ec = / ^ ( . + ) : ( name | visIdx | visible ) $ / , Wb = function ( a , b , c , d , e ) { for ( var c = [ ] , d = 0 , f = e . length ; d < f ; d + + ) c . push ( B ( a , e [ d ] , b ) ) ;
return c } ; p ( " columns() " , function ( a , b ) { a == = k ? a = " " : h . isPlainObject ( a ) & & ( b = a , a = " " ) ; var b = ab ( b ) , c = this . iterator ( " table " , function ( c ) { var e = a , f = b , g = c . aoColumns , j = G ( g , " sName " ) , i = G ( g , " nTh " ) ; return $ a ( " column " , e , function ( a ) { var b = Pb ( a ) ; if ( a == = " " ) return W ( g . length ) ; if ( b != = null ) return [ b > = 0 ? b : g . length + b ] ; if ( typeof a == = " function " ) { var e = Ba ( c , f ) ; return h . map ( g , function ( b , f ) { return a ( f , Wb ( c , f , 0 , 0 , e ) , i [ f ] ) ? f : null } ) } var k = typeof a == = " string " ? a . match ( ec ) : " " ; if ( k ) switch ( k [ 2 ] ) { case " visIdx " : case " visible " : b = parseInt ( k [ 1 ] ,
10 ) ; if ( b < 0 ) { var m = h . map ( g , function ( a , b ) { return a . bVisible ? b : null } ) ; return [ m [ m . length + b ] ] } return [ Z ( c , b ) ] ; case " name " : return h . map ( j , function ( a , b ) { return a == = k [ 1 ] ? b : null } ) ; default : return [ ] } if ( a . nodeName & & a . _DT_CellIndex ) return [ a . _DT_CellIndex . column ] ; b = h ( i ) . filter ( a ) . map ( function ( ) { return h . inArray ( this , i ) } ) . toArray ( ) ; if ( b . length | | ! a . nodeName ) return b ; b = h ( a ) . closest ( " *[data-dt-column] " ) ; return b . length ? [ b . data ( " dt-column " ) ] : [ ] } , c , f ) } , 1 ) ; c . selector . cols = a ; c . selector . opts = b ; return c } ) ; s ( " columns().header() " ,
" column().header() " , function ( ) { return this . iterator ( " column " , function ( a , b ) { return a . aoColumns [ b ] . nTh } , 1 ) } ) ; s ( " columns().footer() " , " column().footer() " , function ( ) { return this . iterator ( " column " , function ( a , b ) { return a . aoColumns [ b ] . nTf } , 1 ) } ) ; s ( " columns().data() " , " column().data() " , function ( ) { return this . iterator ( " column-rows " , Wb , 1 ) } ) ; s ( " columns().dataSrc() " , " column().dataSrc() " , function ( ) { return this . iterator ( " column " , function ( a , b ) { return a . aoColumns [ b ] . mData } , 1 ) } ) ; s ( " columns().cache() " , " column().cache() " ,
function ( a ) { return this . iterator ( " column-rows " , function ( b , c , d , e , f ) { return ha ( b . aoData , f , " search " == = a ? " _aFilterData " : " _aSortData " , c ) } , 1 ) } ) ; s ( " columns().nodes() " , " column().nodes() " , function ( ) { return this . iterator ( " column-rows " , function ( a , b , c , d , e ) { return ha ( a . aoData , e , " anCells " , b ) } , 1 ) } ) ; s ( " columns().visible() " , " column().visible() " , function ( a , b ) { var c = this . iterator ( " column " , function ( b , c ) { if ( a == = k ) return b . aoColumns [ c ] . bVisible ; var f = b . aoColumns , g = f [ c ] , j = b . aoData , i , n , l ; if ( a != = k & & g . bVisible != = a ) { if ( a ) { var m =
h . inArray ( ! 0 , G ( f , " bVisible " ) , c + 1 ) ; i = 0 ; for ( n = j . length ; i < n ; i + + ) l = j [ i ] . nTr , f = j [ i ] . anCells , l & & l . insertBefore ( f [ c ] , f [ m ] | | null ) } else h ( G ( b . aoData , " anCells " , c ) ) . detach ( ) ; g . bVisible = a ; ea ( b , b . aoHeader ) ; ea ( b , b . aoFooter ) ; wa ( b ) } } ) ; a != = k & & ( this . iterator ( " column " , function ( c , e ) { u ( c , null , " column-visibility " , [ c , e , a , b ] ) } ) , ( b == = k | | b ) & & this . columns . adjust ( ) ) ; return c } ) ; s ( " columns().indexes() " , " column().index() " , function ( a ) { return this . iterator ( " column " , function ( b , c ) { return " visible " == = a ? $ ( b , c ) : c } , 1 ) } ) ; p ( " columns.adjust() " ,
function ( ) { return this . iterator ( " table " , function ( a ) { Y ( a ) } , 1 ) } ) ; p ( " column.index() " , function ( a , b ) { if ( 0 != = this . context . length ) { var c = this . context [ 0 ] ; if ( " fromVisible " == = a | | " toData " == = a ) return Z ( c , b ) ; if ( " fromData " == = a | | " toVisible " == = a ) return $ ( c , b ) } } ) ; p ( " column() " , function ( a , b ) { return bb ( this . columns ( a , b ) ) } ) ; p ( " cells() " , function ( a , b , c ) { h . isPlainObject ( a ) & & ( a . row == = k ? ( c = a , a = null ) : ( c = b , b = null ) ) ; h . isPlainObject ( b ) & & ( c = b , b = null ) ; if ( null == = b | | b == = k ) return this . iterator ( " table " , function ( b ) { var d = a , e = ab ( c ) , f =
b . aoData , g = Ba ( b , e ) , j = Sb ( ha ( f , g , " anCells " ) ) , i = h ( [ ] . concat . apply ( [ ] , j ) ) , l , n = b . aoColumns . length , m , p , r , u , v , s ; return $ a ( " cell " , d , function ( a ) { var c = typeof a == = " function " ; if ( a == = null | | a == = k | | c ) { m = [ ] ; p = 0 ; for ( r = g . length ; p < r ; p + + ) { l = g [ p ] ; for ( u = 0 ; u < n ; u + + ) { v = { row : l , column : u } ; if ( c ) { s = f [ l ] ; a ( v , B ( b , l , u ) , s . anCells ? s . anCells [ u ] : null ) & & m . push ( v ) } else m . push ( v ) } } return m } if ( h . isPlainObject ( a ) ) return [ a ] ; c = i . filter ( a ) . map ( function ( a , b ) { return { row : b . _DT_CellIndex . row , column : b . _DT_CellIndex . column } } ) . toArray ( ) ; if ( c . length | |
! a . nodeName ) return c ; s = h ( a ) . closest ( " *[data-dt-row] " ) ; return s . length ? [ { row : s . data ( " dt-row " ) , column : s . data ( " dt-column " ) } ] : [ ] } , b , e ) } ) ; var d = this . columns ( b , c ) , e = this . rows ( a , c ) , f , g , j , i , n , l = this . iterator ( " table " , function ( a , b ) { f = [ ] ; g = 0 ; for ( j = e [ b ] . length ; g < j ; g + + ) { i = 0 ; for ( n = d [ b ] . length ; i < n ; i + + ) f . push ( { row : e [ b ] [ g ] , column : d [ b ] [ i ] } ) } return f } , 1 ) ; h . extend ( l . selector , { cols : b , rows : a , opts : c } ) ; return l } ) ; s ( " cells().nodes() " , " cell().node() " , function ( ) { return this . iterator ( " cell " , function ( a , b , c ) { return ( a = a . aoData [ b ] ) & &
a . anCells ? a . anCells [ c ] : k } , 1 ) } ) ; p ( " cells().data() " , function ( ) { return this . iterator ( " cell " , function ( a , b , c ) { return B ( a , b , c ) } , 1 ) } ) ; s ( " cells().cache() " , " cell().cache() " , function ( a ) { a = " search " == = a ? " _aFilterData " : " _aSortData " ; return this . iterator ( " cell " , function ( b , c , d ) { return b . aoData [ c ] [ a ] [ d ] } , 1 ) } ) ; s ( " cells().render() " , " cell().render() " , function ( a ) { return this . iterator ( " cell " , function ( b , c , d ) { return B ( b , c , d , a ) } , 1 ) } ) ; s ( " cells().indexes() " , " cell().index() " , function ( ) { return this . iterator ( " cell " , function ( a ,
b , c ) { return { row : b , column : c , columnVisible : $ ( a , c ) } } , 1 ) } ) ; s ( " cells().invalidate() " , " cell().invalidate() " , function ( a ) { return this . iterator ( " cell " , function ( b , c , d ) { ca ( b , c , a , d ) } ) } ) ; p ( " cell() " , function ( a , b , c ) { return bb ( this . cells ( a , b , c ) ) } ) ; p ( " cell().data() " , function ( a ) { var b = this . context , c = this [ 0 ] ; if ( a == = k ) return b . length & & c . length ? B ( b [ 0 ] , c [ 0 ] . row , c [ 0 ] . column ) : k ; jb ( b [ 0 ] , c [ 0 ] . row , c [ 0 ] . column , a ) ; ca ( b [ 0 ] , c [ 0 ] . row , " data " , c [ 0 ] . column ) ; return this } ) ; p ( " order() " , function ( a , b ) { var c = this . context ; if ( a == = k ) return 0 != =
c . length ? c [ 0 ] . aaSorting : k ; " number " == = typeof a ? a = [ [ a , b ] ] : a . length & & ! h . isArray ( a [ 0 ] ) & & ( a = Array . prototype . slice . call ( arguments ) ) ; return this . iterator ( " table " , function ( b ) { b . aaSorting = a . slice ( ) } ) } ) ; p ( " order.listener() " , function ( a , b , c ) { return this . iterator ( " table " , function ( d ) { Ma ( d , a , b , c ) } ) } ) ; p ( " order.fixed() " , function ( a ) { if ( ! a ) { var b = this . context , b = b . length ? b [ 0 ] . aaSortingFixed : k ; return h . isArray ( b ) ? { pre : b } : b } return this . iterator ( " table " , function ( b ) { b . aaSortingFixed = h . extend ( ! 0 , { } , a ) } ) } ) ; p ( [ " columns().order() " ,
" column().order() " ] , function ( a ) { var b = this ; return this . iterator ( " table " , function ( c , d ) { var e = [ ] ; h . each ( b [ d ] , function ( b , c ) { e . push ( [ c , a ] ) } ) ; c . aaSorting = e } ) } ) ; p ( " search() " , function ( a , b , c , d ) { var e = this . context ; return a == = k ? 0 != = e . length ? e [ 0 ] . oPreviousSearch . sSearch : k : this . iterator ( " table " , function ( e ) { e . oFeatures . bFilter & & fa ( e , h . extend ( { } , e . oPreviousSearch , { sSearch : a + " " , bRegex : null == = b ? ! 1 : b , bSmart : null == = c ? ! 0 : c , bCaseInsensitive : null == = d ? ! 0 : d } ) , 1 ) } ) } ) ; s ( " columns().search() " , " column().search() " , function ( a ,
b , c , d ) { return this . iterator ( " column " , function ( e , f ) { var g = e . aoPreSearchCols ; if ( a == = k ) return g [ f ] . sSearch ; e . oFeatures . bFilter & & ( h . extend ( g [ f ] , { sSearch : a + " " , bRegex : null == = b ? ! 1 : b , bSmart : null == = c ? ! 0 : c , bCaseInsensitive : null == = d ? ! 0 : d } ) , fa ( e , e . oPreviousSearch , 1 ) ) } ) } ) ; p ( " state() " , function ( ) { return this . context . length ? this . context [ 0 ] . oSavedState : null } ) ; p ( " state.clear() " , function ( ) { return this . iterator ( " table " , function ( a ) { a . fnStateSaveCallback . call ( a . oInstance , a , { } ) } ) } ) ; p ( " state.loaded() " , function ( ) { return this . context . length ?
this . context [ 0 ] . oLoadedState : null } ) ; p ( " state.save() " , function ( ) { return this . iterator ( " table " , function ( a ) { wa ( a ) } ) } ) ; m . versionCheck = m . fnVersionCheck = function ( a ) { for ( var b = m . version . split ( " . " ) , a = a . split ( " . " ) , c , d , e = 0 , f = a . length ; e < f ; e + + ) if ( c = parseInt ( b [ e ] , 10 ) | | 0 , d = parseInt ( a [ e ] , 10 ) | | 0 , c != = d ) return c > d ; return ! 0 } ; m . isDataTable = m . fnIsDataTable = function ( a ) { var b = h ( a ) . get ( 0 ) , c = ! 1 ; h . each ( m . settings , function ( a , e ) { var f = e . nScrollHead ? h ( " table " , e . nScrollHead ) [ 0 ] : null , g = e . nScrollFoot ? h ( " table " , e . nScrollFoot ) [ 0 ] :
null ; if ( e . nTable == = b | | f == = b | | g == = b ) c = ! 0 } ) ; return c } ; m . tables = m . fnTables = function ( a ) { var b = ! 1 ; h . isPlainObject ( a ) & & ( b = a . api , a = a . visible ) ; var c = h . map ( m . settings , function ( b ) { if ( ! a | | a & & h ( b . nTable ) . is ( " :visible " ) ) return b . nTable } ) ; return b ? new r ( c ) : c } ; m . camelToHungarian = K ; p ( " $() " , function ( a , b ) { var c = this . rows ( b ) . nodes ( ) , c = h ( c ) ; return h ( [ ] . concat ( c . filter ( a ) . toArray ( ) , c . find ( a ) . toArray ( ) ) ) } ) ; h . each ( [ " on " , " one " , " off " ] , function ( a , b ) { p ( b + " () " , function ( ) { var a = Array . prototype . slice . call ( arguments ) ; a [ 0 ] . match ( / \. dt \b / ) | |
( a [ 0 ] + = " .dt " ) ; var d = h ( this . tables ( ) . nodes ( ) ) ; d [ b ] . apply ( d , a ) ; return this } ) } ) ; p ( " clear() " , function ( ) { return this . iterator ( " table " , function ( a ) { na ( a ) } ) } ) ; p ( " settings() " , function ( ) { return new r ( this . context , this . context ) } ) ; p ( " init() " , function ( ) { var a = this . context ; return a . length ? a [ 0 ] . oInit : null } ) ; p ( " data() " , function ( ) { return this . iterator ( " table " , function ( a ) { return G ( a . aoData , " _aData " ) } ) . flatten ( ) } ) ; p ( " destroy() " , function ( a ) { a = a | | ! 1 ; return this . iterator ( " table " , function ( b ) { var c = b . nTableWrapper . parentNode ,
d = b . oClasses , e = b . nTable , f = b . nTBody , g = b . nTHead , j = b . nTFoot , i = h ( e ) , f = h ( f ) , k = h ( b . nTableWrapper ) , l = h . map ( b . aoData , function ( a ) { return a . nTr } ) , p ; b . bDestroying = ! 0 ; u ( b , " aoDestroyCallback " , " destroy " , [ b ] ) ; a | | ( new r ( b ) ) . columns ( ) . visible ( ! 0 ) ; k . unbind ( " .DT " ) . find ( " :not(tbody *) " ) . unbind ( " .DT " ) ; h ( D ) . unbind ( " .DT- " + b . sInstance ) ; e != g . parentNode & & ( i . children ( " thead " ) . detach ( ) , i . append ( g ) ) ; j & & e != j . parentNode & & ( i . children ( " tfoot " ) . detach ( ) , i . append ( j ) ) ; b . aaSorting = [ ] ; b . aaSortingFixed = [ ] ; va ( b ) ; h ( l ) . removeClass ( b . asStripeClasses . join ( " " ) ) ;
h ( " th, td " , g ) . removeClass ( d . sSortable + " " + d . sSortableAsc + " " + d . sSortableDesc + " " + d . sSortableNone ) ; b . bJUI & & ( h ( " th span. " + d . sSortIcon + " , td span. " + d . sSortIcon , g ) . detach ( ) , h ( " th, td " , g ) . each ( function ( ) { var a = h ( " div. " + d . sSortJUIWrapper , this ) ; h ( this ) . append ( a . contents ( ) ) ; a . detach ( ) } ) ) ; f . children ( ) . detach ( ) ; f . append ( l ) ; g = a ? " remove " : " detach " ; i [ g ] ( ) ; k [ g ] ( ) ; ! a & & c & & ( c . insertBefore ( e , b . nTableReinsertBefore ) , i . css ( " width " , b . sDestroyWidth ) . removeClass ( d . sTable ) , ( p = b . asDestroyStripes . length ) & & f . children ( ) . each ( function ( a ) { h ( this ) . addClass ( b . asDestroyStripes [ a %
p ] ) } ) ) ; c = h . inArray ( b , m . settings ) ; - 1 != = c & & m . settings . splice ( c , 1 ) } ) } ) ; h . each ( [ " column " , " row " , " cell " ] , function ( a , b ) { p ( b + " s().every() " , function ( a ) { var d = this . selector . opts , e = this ; return this . iterator ( b , function ( f , g , h , i , n ) { a . call ( e [ b ] ( g , " cell " == = b ? h : d , " cell " == = b ? d : k ) , g , h , i , n ) } ) } ) } ) ; p ( " i18n() " , function ( a , b , c ) { var d = this . context [ 0 ] , a = Q ( a ) ( d . oLanguage ) ; a == = k & & ( a = b ) ; c != = k & & h . isPlainObject ( a ) & & ( a = a [ c ] != = k ? a [ c ] : a . _ ) ; return a . replace ( " %d " , c ) } ) ; m . version = " 1.10.12 " ; m . settings = [ ] ; m . models = { } ; m . models . oSearch = { bCaseInsensitive : ! 0 ,
sSearch : " " , bRegex : ! 1 , bSmart : ! 0 } ; m . models . oRow = { nTr : null , anCells : null , _aData : [ ] , _aSortData : null , _aFilterData : null , _sFilterRow : null , _sRowStripe : " " , src : null , idx : - 1 } ; m . models . oColumn = { idx : null , aDataSort : null , asSorting : null , bSearchable : null , bSortable : null , bVisible : null , _sManualType : null , _bAttrSrc : ! 1 , fnCreatedCell : null , fnGetData : null , fnSetData : null , mData : null , mRender : null , nTh : null , nTf : null , sClass : null , sContentPadding : null , sDefaultContent : null , sName : null , sSortDataType : " std " , sSortingClass : null , sSortingClassJUI : null ,
sTitle : null , sType : null , sWidth : null , sWidthOrig : null } ; m . defaults = { aaData : null , aaSorting : [ [ 0 , " asc " ] ] , aaSortingFixed : [ ] , ajax : null , aLengthMenu : [ 10 , 25 , 50 , 100 ] , aoColumns : null , aoColumnDefs : null , aoSearchCols : [ ] , asStripeClasses : null , bAutoWidth : ! 0 , bDeferRender : ! 1 , bDestroy : ! 1 , bFilter : ! 0 , bInfo : ! 0 , bJQueryUI : ! 1 , bLengthChange : ! 0 , bPaginate : ! 0 , bProcessing : ! 1 , bRetrieve : ! 1 , bScrollCollapse : ! 1 , bServerSide : ! 1 , bSort : ! 0 , bSortMulti : ! 0 , bSortCellsTop : ! 1 , bSortClasses : ! 0 , bStateSave : ! 1 , fnCreatedRow : null , fnDrawCallback : null , fnFooterCallback : null ,
fnFormatNumber : function ( a ) { return a . toString ( ) . replace ( / \B ( ? = ( \d { 3 } ) + ( ? ! \d ) ) / g , this . oLanguage . sThousands ) } , fnHeaderCallback : null , fnInfoCallback : null , fnInitComplete : null , fnPreDrawCallback : null , fnRowCallback : null , fnServerData : null , fnServerParams : null , fnStateLoadCallback : function ( a ) { try { return JSON . parse ( ( - 1 == = a . iStateDuration ? sessionStorage : localStorage ) . getItem ( " DataTables_ " + a . sInstance + " _ " + location . pathname ) ) } catch ( b ) { } } , fnStateLoadParams : null , fnStateLoaded : null , fnStateSaveCallback : function ( a , b ) { try { ( - 1 == =
a . iStateDuration ? sessionStorage : localStorage ) . setItem ( " DataTables_ " + a . sInstance + " _ " + location . pathname , JSON . stringify ( b ) ) } catch ( c ) { } } , fnStateSaveParams : null , iStateDuration : 7200 , iDeferLoading : null , iDisplayLength : 10 , iDisplayStart : 0 , iTabIndex : 0 , oClasses : { } , oLanguage : { oAria : { sSortAscending : " : activate to sort column ascending " , sSortDescending : " : activate to sort column descending " } , oPaginate : { sFirst : " First " , sLast : " Last " , sNext : " Next " , sPrevious : " Previous " } , sEmptyTable : " No data available in table " , sInfo : " Showing _START_ to _END_ of _TOTAL_ entries " ,
sInfoEmpty : " Showing 0 to 0 of 0 entries " , sInfoFiltered : " (filtered from _MAX_ total entries) " , sInfoPostFix : " " , sDecimal : " " , sThousands : " , " , sLengthMenu : " Show _MENU_ entries " , sLoadingRecords : " Loading... " , sProcessing : " Processing... " , sSearch : " Search: " , sSearchPlaceholder : " " , sUrl : " " , sZeroRecords : " No matching records found " } , oSearch : h . extend ( { } , m . models . oSearch ) , sAjaxDataProp : " data " , sAjaxSource : null , sDom : " lfrtip " , searchDelay : null , sPaginationType : " simple_numbers " , sScrollX : " " , sScrollXInner : " " , sScrollY : " " , sServerMethod : " GET " ,
renderer : null , rowId : " DT_RowId " } ; X ( m . defaults ) ; m . defaults . column = { aDataSort : null , iDataSort : - 1 , asSorting : [ " asc " , " desc " ] , bSearchable : ! 0 , bSortable : ! 0 , bVisible : ! 0 , fnCreatedCell : null , mData : null , mRender : null , sCellType : " td " , sClass : " " , sContentPadding : " " , sDefaultContent : null , sName : " " , sSortDataType : " std " , sTitle : null , sType : null , sWidth : null } ; X ( m . defaults . column ) ; m . models . oSettings = { oFeatures : { bAutoWidth : null , bDeferRender : null , bFilter : null , bInfo : null , bLengthChange : null , bPaginate : null , bProcessing : null , bServerSide : null ,
bSort : null , bSortMulti : null , bSortClasses : null , bStateSave : null } , oScroll : { bCollapse : null , iBarWidth : 0 , sX : null , sXInner : null , sY : null } , oLanguage : { fnInfoCallback : null } , oBrowser : { bScrollOversize : ! 1 , bScrollbarLeft : ! 1 , bBounding : ! 1 , barWidth : 0 } , ajax : null , aanFeatures : [ ] , aoData : [ ] , aiDisplay : [ ] , aiDisplayMaster : [ ] , aIds : { } , aoColumns : [ ] , aoHeader : [ ] , aoFooter : [ ] , oPreviousSearch : { } , aoPreSearchCols : [ ] , aaSorting : null , aaSortingFixed : [ ] , asStripeClasses : null , asDestroyStripes : [ ] , sDestroyWidth : 0 , aoRowCallback : [ ] , aoHeaderCallback : [ ] ,
aoFooterCallback : [ ] , aoDrawCallback : [ ] , aoRowCreatedCallback : [ ] , aoPreDrawCallback : [ ] , aoInitComplete : [ ] , aoStateSaveParams : [ ] , aoStateLoadParams : [ ] , aoStateLoaded : [ ] , sTableId : " " , nTable : null , nTHead : null , nTFoot : null , nTBody : null , nTableWrapper : null , bDeferLoading : ! 1 , bInitialised : ! 1 , aoOpenRows : [ ] , sDom : null , searchDelay : null , sPaginationType : " two_button " , iStateDuration : 0 , aoStateSave : [ ] , aoStateLoad : [ ] , oSavedState : null , oLoadedState : null , sAjaxSource : null , sAjaxDataProp : null , bAjaxDataGet : ! 0 , jqXHR : null , json : k , oAjaxData : k ,
fnServerData : null , aoServerParams : [ ] , sServerMethod : null , fnFormatNumber : null , aLengthMenu : null , iDraw : 0 , bDrawing : ! 1 , iDrawError : - 1 , _iDisplayLength : 10 , _iDisplayStart : 0 , _iRecordsTotal : 0 , _iRecordsDisplay : 0 , bJUI : null , oClasses : { } , bFiltered : ! 1 , bSorted : ! 1 , bSortCellsTop : null , oInit : null , aoDestroyCallback : [ ] , fnRecordsTotal : function ( ) { return " ssp " == y ( this ) ? 1 * this . _iRecordsTotal : this . aiDisplayMaster . length } , fnRecordsDisplay : function ( ) { return " ssp " == y ( this ) ? 1 * this . _iRecordsDisplay : this . aiDisplay . length } , fnDisplayEnd : function ( ) { var a =
this . _iDisplayLength , b = this . _iDisplayStart , c = b + a , d = this . aiDisplay . length , e = this . oFeatures , f = e . bPaginate ; return e . bServerSide ? ! 1 == = f | | - 1 == = a ? b + d : Math . min ( b + a , this . _iRecordsDisplay ) : ! f | | c > d | | - 1 == = a ? d : c } , oInstance : null , sInstance : null , iTabIndex : 0 , nScrollHead : null , nScrollFoot : null , aLastSort : [ ] , oPlugins : { } , rowIdFn : null , rowId : null } ; m . ext = v = { buttons : { } , classes : { } , build : " bs/jszip-2.5.0/pdfmake-0.1.18/dt-1.10.12/b-1.2.2/b-colvis-1.2.2/b-flash-1.2.2/b-html5-1.2.2/b-print-1.2.2/cr-1.3.2/fc-3.2.2/fh-3.1.2/kt-2.1.3/r-2.1.0/rr-1.1.2/se-1.2.0 " , errMode : " alert " , feature : [ ] , search : [ ] , selector : { cell : [ ] , column : [ ] , row : [ ] } , internal : { } , legacy : { ajax : null } , pager : { } , renderer : { pageButton : { } ,
header : { } } , order : { } , type : { detect : [ ] , search : { } , order : { } } , _unique : 0 , fnVersionCheck : m . fnVersionCheck , iApiIndex : 0 , oJUIClasses : { } , sVersion : m . version } ; h . extend ( v , { afnFiltering : v . search , aTypes : v . type . detect , ofnSearch : v . type . search , oSort : v . type . order , afnSortData : v . order , aoFeatures : v . feature , oApi : v . internal , oStdClasses : v . classes , oPagination : v . pager } ) ; h . extend ( m . ext . classes , { sTable : " dataTable " , sNoFooter : " no-footer " , sPageButton : " paginate_button " , sPageButtonActive : " current " , sPageButtonDisabled : " disabled " , sStripeOdd : " odd " ,
sStripeEven : " even " , sRowEmpty : " dataTables_empty " , sWrapper : " dataTables_wrapper " , sFilter : " dataTables_filter " , sInfo : " dataTables_info " , sPaging : " dataTables_paginate paging_ " , sLength : " dataTables_length " , sProcessing : " dataTables_processing " , sSortAsc : " sorting_asc " , sSortDesc : " sorting_desc " , sSortable : " sorting " , sSortableAsc : " sorting_asc_disabled " , sSortableDesc : " sorting_desc_disabled " , sSortableNone : " sorting_disabled " , sSortColumn : " sorting_ " , sFilterInput : " " , sLengthSelect : " " , sScrollWrapper : " dataTables_scroll " , sScrollHead : " dataTables_scrollHead " ,
sScrollHeadInner : " dataTables_scrollHeadInner " , sScrollBody : " dataTables_scrollBody " , sScrollFoot : " dataTables_scrollFoot " , sScrollFootInner : " dataTables_scrollFootInner " , sHeaderTH : " " , sFooterTH : " " , sSortJUIAsc : " " , sSortJUIDesc : " " , sSortJUI : " " , sSortJUIAscAllowed : " " , sSortJUIDescAllowed : " " , sSortJUIWrapper : " " , sSortIcon : " " , sJUIHeader : " " , sJUIFooter : " " } ) ; var Ca = " " , Ca = " " , H = Ca + " ui-state-default " , ia = Ca + " css_right ui-icon ui-icon- " , Xb = Ca + " fg-toolbar ui-toolbar ui-widget-header ui-helper-clearfix " ; h . extend ( m . ext . oJUIClasses ,
m . ext . classes , { sPageButton : " fg-button ui-button " + H , sPageButtonActive : " ui-state-disabled " , sPageButtonDisabled : " ui-state-disabled " , sPaging : " dataTables_paginate fg-buttonset ui-buttonset fg-buttonset-multi ui-buttonset-multi paging_ " , sSortAsc : H + " sorting_asc " , sSortDesc : H + " sorting_desc " , sSortable : H + " sorting " , sSortableAsc : H + " sorting_asc_disabled " , sSortableDesc : H + " sorting_desc_disabled " , sSortableNone : H + " sorting_disabled " , sSortJUIAsc : ia + " triangle-1-n " , sSortJUIDesc : ia + " triangle-1-s " , sSortJUI : ia + " carat-2-n-s " ,
sSortJUIAscAllowed : ia + " carat-1-n " , sSortJUIDescAllowed : ia + " carat-1-s " , sSortJUIWrapper : " DataTables_sort_wrapper " , sSortIcon : " DataTables_sort_icon " , sScrollHead : " dataTables_scrollHead " + H , sScrollFoot : " dataTables_scrollFoot " + H , sHeaderTH : H , sFooterTH : H , sJUIHeader : Xb + " ui-corner-tl ui-corner-tr " , sJUIFooter : Xb + " ui-corner-bl ui-corner-br " } ) ; var Mb = m . ext . pager ; h . extend ( Mb , { simple : function ( ) { return [ " previous " , " next " ] } , full : function ( ) { return [ " first " , " previous " , " next " , " last " ] } , numbers : function ( a , b ) { return [ ya ( a ,
b ) ] } , simple_numbers : function ( a , b ) { return [ " previous " , ya ( a , b ) , " next " ] } , full_numbers : function ( a , b ) { return [ " first " , " previous " , ya ( a , b ) , " next " , " last " ] } , _numbers : ya , numbers_length : 7 } ) ; h . extend ( ! 0 , m . ext . renderer , { pageButton : { _ : function ( a , b , c , d , e , f ) { var g = a . oClasses , j = a . oLanguage . oPaginate , i = a . oLanguage . oAria . paginate | | { } , k , l , m = 0 , p = function ( b , d ) { var o , r , u , s , v = function ( b ) { Ta ( a , b . data . action , true ) } ; o = 0 ; for ( r = d . length ; o < r ; o + + ) { s = d [ o ] ; if ( h . isArray ( s ) ) { u = h ( " < " + ( s . DT_el | | " div " ) + " /> " ) . appendTo ( b ) ; p ( u , s ) } else { k = null ;
l = " " ; switch ( s ) { case " ellipsis " : b . append ( ' <span class= " ellipsis " >…</span> ' ) ; break ; case " first " : k = j . sFirst ; l = s + ( e > 0 ? " " : " " + g . sPageButtonDisabled ) ; break ; case " previous " : k = j . sPrevious ; l = s + ( e > 0 ? " " : " " + g . sPageButtonDisabled ) ; break ; case " next " : k = j . sNext ; l = s + ( e < f - 1 ? " " : " " + g . sPageButtonDisabled ) ; break ; case " last " : k = j . sLast ; l = s + ( e < f - 1 ? " " : " " + g . sPageButtonDisabled ) ; break ; default : k = s + 1 ; l = e == = s ? g . sPageButtonActive : " " } if ( k != = null ) { u = h ( " <a> " , { " class " : g . sPageButton + " " + l , " aria-controls " : a . sTableId , " aria-label " : i [ s ] ,
" data-dt-idx " : m , tabindex : a . iTabIndex , id : c == = 0 & & typeof s == = " string " ? a . sTableId + " _ " + s : null } ) . html ( k ) . appendTo ( b ) ; Wa ( u , { action : s } , v ) ; m + + } } } } , r ; try { r = h ( b ) . find ( I . activeElement ) . data ( " dt-idx " ) } catch ( o ) { } p ( h ( b ) . empty ( ) , d ) ; r & & h ( b ) . find ( " [data-dt-idx= " + r + " ] " ) . focus ( ) } } } ) ; h . extend ( m . ext . type . detect , [ function ( a , b ) { var c = b . oLanguage . sDecimal ; return Za ( a , c ) ? " num " + c : null } , function ( a ) { if ( a & & ! ( a instanceof Date ) & & ( ! ac . test ( a ) | | ! bc . test ( a ) ) ) return null ; var b = Date . parse ( a ) ; return null != = b & & ! isNaN ( b ) | | M ( a ) ? " date " :
null } , function ( a , b ) { var c = b . oLanguage . sDecimal ; return Za ( a , c , ! 0 ) ? " num-fmt " + c : null } , function ( a , b ) { var c = b . oLanguage . sDecimal ; return Rb ( a , c ) ? " html-num " + c : null } , function ( a , b ) { var c = b . oLanguage . sDecimal ; return Rb ( a , c , ! 0 ) ? " html-num-fmt " + c : null } , function ( a ) { return M ( a ) | | " string " == = typeof a & & - 1 != = a . indexOf ( " < " ) ? " html " : null } ] ) ; h . extend ( m . ext . type . search , { html : function ( a ) { return M ( a ) ? a : " string " == = typeof a ? a . replace ( Ob , " " ) . replace ( Aa , " " ) : " " } , string : function ( a ) { return M ( a ) ? a : " string " == = typeof a ? a . replace ( Ob ,
" " ) : a } } ) ; var za = function ( a , b , c , d ) { if ( 0 != = a & & ( ! a | | " - " == = a ) ) return - Infinity ; b & & ( a = Qb ( a , b ) ) ; a . replace & & ( c & & ( a = a . replace ( c , " " ) ) , d & & ( a = a . replace ( d , " " ) ) ) ; return 1 * a } ; h . extend ( v . type . order , { " date-pre " : function ( a ) { return Date . parse ( a ) | | 0 } , " html-pre " : function ( a ) { return M ( a ) ? " " : a . replace ? a . replace ( / < . * ? > / g , " " ) . toLowerCase ( ) : a + " " } , " string-pre " : function ( a ) { return M ( a ) ? " " : " string " == = typeof a ? a . toLowerCase ( ) : ! a . toString ? " " : a . toString ( ) } , " string-asc " : function ( a , b ) { return a < b ? - 1 : a > b ? 1 : 0 } , " string-desc " : function ( a ,
b ) { return a < b ? 1 : a > b ? - 1 : 0 } } ) ; db ( " " ) ; h . extend ( ! 0 , m . ext . renderer , { header : { _ : function ( a , b , c , d ) { h ( a . nTable ) . on ( " order.dt.DT " , function ( e , f , g , h ) { if ( a == = f ) { e = c . idx ; b . removeClass ( c . sSortingClass + " " + d . sSortAsc + " " + d . sSortDesc ) . addClass ( h [ e ] == " asc " ? d . sSortAsc : h [ e ] == " desc " ? d . sSortDesc : c . sSortingClass ) } } ) } , jqueryui : function ( a , b , c , d ) { h ( " <div/> " ) . addClass ( d . sSortJUIWrapper ) . append ( b . contents ( ) ) . append ( h ( " <span/> " ) . addClass ( d . sSortIcon + " " + c . sSortingClassJUI ) ) . appendTo ( b ) ; h ( a . nTable ) . on ( " order.dt.DT " , function ( e ,
f , g , h ) { if ( a == = f ) { e = c . idx ; b . removeClass ( d . sSortAsc + " " + d . sSortDesc ) . addClass ( h [ e ] == " asc " ? d . sSortAsc : h [ e ] == " desc " ? d . sSortDesc : c . sSortingClass ) ; b . find ( " span. " + d . sSortIcon ) . removeClass ( d . sSortJUIAsc + " " + d . sSortJUIDesc + " " + d . sSortJUI + " " + d . sSortJUIAscAllowed + " " + d . sSortJUIDescAllowed ) . addClass ( h [ e ] == " asc " ? d . sSortJUIAsc : h [ e ] == " desc " ? d . sSortJUIDesc : c . sSortingClassJUI ) } } ) } } } ) ; var Yb = function ( a ) { return " string " == = typeof a ? a . replace ( / < / g , " < " ) . replace ( / > / g , " > " ) . replace ( / " /g, " & quot ; " ):a};m.render= { number:function(a,
b , c , d , e ) { return { display : function ( f ) { if ( " number " != = typeof f & & " string " != = typeof f ) return f ; var g = 0 > f ? " - " : " " , h = parseFloat ( f ) ; if ( isNaN ( h ) ) return Yb ( f ) ; f = Math . abs ( h ) ; h = parseInt ( f , 10 ) ; f = c ? b + ( f - h ) . toFixed ( c ) . substring ( 2 ) : " " ; return g + ( d | | " " ) + h . toString ( ) . replace ( / \B ( ? = ( \d { 3 } ) + ( ? ! \d ) ) / g , a ) + f + ( e | | " " ) } } } , text : function ( ) { return { display : Yb } } } ; h . extend ( m . ext . internal , { _fnExternApiFunc : Nb , _fnBuildAjax : ra , _fnAjaxUpdate : lb , _fnAjaxParameters : ub , _fnAjaxUpdateDraw : vb , _fnAjaxDataSrc : sa , _fnAddColumn : Ea , _fnColumnOptions : ja ,
_fnAdjustColumnSizing : Y , _fnVisibleToColumnIndex : Z , _fnColumnIndexToVisible : $ , _fnVisbleColumns : aa , _fnGetColumns : la , _fnColumnTypes : Ga , _fnApplyColumnDefs : ib , _fnHungarianMap : X , _fnCamelToHungarian : K , _fnLanguageCompat : Da , _fnBrowserDetect : gb , _fnAddData : N , _fnAddTr : ma , _fnNodeToDataIndex : function ( a , b ) { return b . _DT_RowIndex != = k ? b . _DT_RowIndex : null } , _fnNodeToColumnIndex : function ( a , b , c ) { return h . inArray ( c , a . aoData [ b ] . anCells ) } , _fnGetCellData : B , _fnSetCellData : jb , _fnSplitObjNotation : Ja , _fnGetObjectDataFn : Q , _fnSetObjectDataFn : R ,
_fnGetDataMaster : Ka , _fnClearTable : na , _fnDeleteIndex : oa , _fnInvalidate : ca , _fnGetRowElements : Ia , _fnCreateTr : Ha , _fnBuildHead : kb , _fnDrawHead : ea , _fnDraw : O , _fnReDraw : T , _fnAddOptionsHtml : nb , _fnDetectHeader : da , _fnGetUniqueThs : qa , _fnFeatureHtmlFilter : pb , _fnFilterComplete : fa , _fnFilterCustom : yb , _fnFilterColumn : xb , _fnFilter : wb , _fnFilterCreateSearch : Pa , _fnEscapeRegex : Qa , _fnFilterData : zb , _fnFeatureHtmlInfo : sb , _fnUpdateInfo : Cb , _fnInfoMacros : Db , _fnInitialise : ga , _fnInitComplete : ta , _fnLengthChange : Ra , _fnFeatureHtmlLength : ob ,
_fnFeatureHtmlPaginate : tb , _fnPageChange : Ta , _fnFeatureHtmlProcessing : qb , _fnProcessingDisplay : C , _fnFeatureHtmlTable : rb , _fnScrollDraw : ka , _fnApplyToChildren : J , _fnCalculateColumnWidths : Fa , _fnThrottle : Oa , _fnConvertToWidth : Fb , _fnGetWidestNode : Gb , _fnGetMaxLenString : Hb , _fnStringToCss : x , _fnSortFlatten : V , _fnSort : mb , _fnSortAria : Jb , _fnSortListener : Va , _fnSortAttachListener : Ma , _fnSortingClasses : va , _fnSortData : Ib , _fnSaveState : wa , _fnLoadState : Kb , _fnSettingsFromNode : xa , _fnLog : L , _fnMap : E , _fnBindAction : Wa , _fnCallbackReg : z ,
_fnCallbackFire : u , _fnLengthOverflow : Sa , _fnRenderer : Na , _fnDataSource : y , _fnRowAttributes : La , _fnCalculateEnd : function ( ) { } } ) ; h . fn . dataTable = m ; m . $ = h ; h . fn . dataTableSettings = m . settings ; h . fn . dataTableExt = m . ext ; h . fn . DataTable = function ( a ) { return h ( this ) . dataTable ( a ) . api ( ) } ; h . each ( m , function ( a , b ) { h . fn . DataTable [ a ] = b } ) ; return h . fn . dataTable } ) ;
2016-09-03 11:05:50 +00:00
/ * !
DataTables Bootstrap 3 integration
© 2011 - 2015 SpryMedia Ltd - datatables . net / license
* /
2016-09-22 08:06:46 +00:00
( function ( b ) { " function " == = typeof define & & define . amd ? define ( [ " jquery " , " datatables.net " ] , function ( a ) { return b ( a , window , document ) } ) : " object " == = typeof exports ? module . exports = function ( a , d ) { a | | ( a = window ) ; if ( ! d | | ! d . fn . dataTable ) d = require ( " datatables.net " ) ( a , d ) . $ ; return b ( d , a , a . document ) } : b ( jQuery , window , document ) } ) ( function ( b , a , d ) { var f = b . fn . dataTable ; b . extend ( ! 0 , f . defaults , { dom : " < ' row ' < ' col-sm-6 ' l>< ' col-sm-6 ' f>>< ' row ' < ' col-sm-12 ' tr>>< ' row ' < ' col-sm-5 ' i>< ' col-sm-7 ' p>> " , renderer : " bootstrap " } ) ; b . extend ( f . ext . classes ,
{ sWrapper : " dataTables_wrapper form-inline dt-bootstrap " , sFilterInput : " form-control input-sm " , sLengthSelect : " form-control input-sm " , sProcessing : " dataTables_processing panel panel-default " } ) ; f . ext . renderer . pageButton . bootstrap = function ( a , h , r , m , j , n ) { var o = new f . Api ( a ) , s = a . oClasses , k = a . oLanguage . oPaginate , t = a . oLanguage . oAria . paginate | | { } , e , g , p = 0 , q = function ( d , f ) { var l , h , i , c , m = function ( a ) { a . preventDefault ( ) ; ! b ( a . currentTarget ) . hasClass ( " disabled " ) & & o . page ( ) != a . data . action & & o . page ( a . data . action ) . draw ( " page " ) } ;
l = 0 ; for ( h = f . length ; l < h ; l + + ) if ( c = f [ l ] , b . isArray ( c ) ) q ( d , c ) ; else { g = e = " " ; switch ( c ) { case " ellipsis " : e = " … " ; g = " disabled " ; break ; case " first " : e = k . sFirst ; g = c + ( 0 < j ? " " : " disabled " ) ; break ; case " previous " : e = k . sPrevious ; g = c + ( 0 < j ? " " : " disabled " ) ; break ; case " next " : e = k . sNext ; g = c + ( j < n - 1 ? " " : " disabled " ) ; break ; case " last " : e = k . sLast ; g = c + ( j < n - 1 ? " " : " disabled " ) ; break ; default : e = c + 1 , g = j == = c ? " active " : " " } e & & ( i = b ( " <li> " , { " class " : s . sPageButton + " " + g , id : 0 == = r & & " string " == = typeof c ? a . sTableId + " _ " + c : null } ) . append ( b ( " <a> " , { href : " # " ,
" aria-controls " : a . sTableId , " aria-label " : t [ c ] , " data-dt-idx " : p , tabindex : a . iTabIndex } ) . html ( e ) ) . appendTo ( d ) , a . oApi . _fnBindAction ( i , { action : c } , m ) , p + + ) } } , i ; try { i = b ( h ) . find ( d . activeElement ) . data ( " dt-idx " ) } catch ( u ) { } q ( b ( h ) . empty ( ) . html ( ' <ul class= " pagination " /> ' ) . children ( " ul " ) , m ) ; i & & b ( h ) . find ( " [data-dt-idx= " + i + " ] " ) . focus ( ) } ; return f } ) ;
2016-09-03 11:05:50 +00:00
/ * !
2016-09-22 08:06:46 +00:00
Buttons for DataTables 1.2 .2
© 2016 SpryMedia Ltd - datatables . net / license
2016-09-03 11:05:50 +00:00
* /
2016-09-22 08:06:46 +00:00
( function ( d ) { " function " == = typeof define & & define . amd ? define ( [ " jquery " , " datatables.net " ] , function ( n ) { return d ( n , window , document ) } ) : " object " == = typeof exports ? module . exports = function ( n , o ) { n | | ( n = window ) ; if ( ! o | | ! o . fn . dataTable ) o = require ( " datatables.net " ) ( n , o ) . $ ; return d ( o , n , n . document ) } : d ( jQuery , window , document ) } ) ( function ( d , n , o , m ) { var i = d . fn . dataTable , u = 0 , v = 0 , j = i . ext . buttons , l = function ( a , b ) { ! 0 == = b & & ( b = { } ) ; d . isArray ( b ) & & ( b = { buttons : b } ) ; this . c = d . extend ( ! 0 , { } , l . defaults , b ) ; b . buttons & & ( this . c . buttons = b . buttons ) ;
this . s = { dt : new i . Api ( a ) , buttons : [ ] , listenKeys : " " , namespace : " dtb " + u + + } ; this . dom = { container : d ( " < " + this . c . dom . container . tag + " /> " ) . addClass ( this . c . dom . container . className ) } ; this . _constructor ( ) } ; d . extend ( l . prototype , { action : function ( a , b ) { var c = this . _nodeToButton ( a ) ; if ( b == = m ) return c . conf . action ; c . conf . action = b ; return this } , active : function ( a , b ) { var c = this . _nodeToButton ( a ) , e = this . c . dom . button . active , c = d ( c . node ) ; if ( b == = m ) return c . hasClass ( e ) ; c . toggleClass ( e , b == = m ? ! 0 : b ) ; return this } , add : function ( a , b ) { var c =
this . s . buttons ; if ( " string " == = typeof b ) { for ( var e = b . split ( " - " ) , c = this . s , d = 0 , h = e . length - 1 ; d < h ; d + + ) c = c . buttons [ 1 * e [ d ] ] ; c = c . buttons ; b = 1 * e [ e . length - 1 ] } this . _expandButton ( c , a , ! 1 , b ) ; this . _draw ( ) ; return this } , container : function ( ) { return this . dom . container } , disable : function ( a ) { a = this . _nodeToButton ( a ) ; d ( a . node ) . addClass ( this . c . dom . button . disabled ) ; return this } , destroy : function ( ) { d ( " body " ) . off ( " keyup. " + this . s . namespace ) ; var a = this . s . buttons . slice ( ) , b , c ; b = 0 ; for ( c = a . length ; b < c ; b + + ) this . remove ( a [ b ] . node ) ; this . dom . container . remove ( ) ;
a = this . s . dt . settings ( ) [ 0 ] ; b = 0 ; for ( c = a . length ; b < c ; b + + ) if ( a . inst == = this ) { a . splice ( b , 1 ) ; break } return this } , enable : function ( a , b ) { if ( ! 1 == = b ) return this . disable ( a ) ; var c = this . _nodeToButton ( a ) ; d ( c . node ) . removeClass ( this . c . dom . button . disabled ) ; return this } , name : function ( ) { return this . c . name } , node : function ( a ) { a = this . _nodeToButton ( a ) ; return d ( a . node ) } , remove : function ( a ) { var b = this . _nodeToButton ( a ) , c = this . _nodeToHost ( a ) , e = this . s . dt ; if ( b . buttons . length ) for ( var g = b . buttons . length - 1 ; 0 < = g ; g - - ) this . remove ( b . buttons [ g ] . node ) ;
b . conf . destroy & & b . conf . destroy . call ( e . button ( a ) , e , d ( a ) , b . conf ) ; this . _removeKey ( b . conf ) ; d ( b . node ) . remove ( ) ; a = d . inArray ( b , c ) ; c . splice ( a , 1 ) ; return this } , text : function ( a , b ) { var c = this . _nodeToButton ( a ) , e = this . c . dom . collection . buttonLiner , e = c . inCollection & & e & & e . tag ? e . tag : this . c . dom . buttonLiner . tag , g = this . s . dt , h = d ( c . node ) , f = function ( a ) { return " function " == = typeof a ? a ( g , h , c . conf ) : a } ; if ( b == = m ) return f ( c . conf . text ) ; c . conf . text = b ; e ? h . children ( e ) . html ( f ( b ) ) : h . html ( f ( b ) ) ; return this } , _constructor : function ( ) { var a =
this , b = this . s . dt , c = b . settings ( ) [ 0 ] , e = this . c . buttons ; c . _buttons | | ( c . _buttons = [ ] ) ; c . _buttons . push ( { inst : this , name : this . c . name } ) ; for ( var c = 0 , g = e . length ; c < g ; c + + ) this . add ( e [ c ] ) ; b . on ( " destroy " , function ( ) { a . destroy ( ) } ) ; d ( " body " ) . on ( " keyup. " + this . s . namespace , function ( b ) { if ( ! o . activeElement | | o . activeElement == = o . body ) { var c = String . fromCharCode ( b . keyCode ) . toLowerCase ( ) ; a . s . listenKeys . toLowerCase ( ) . indexOf ( c ) != = - 1 & & a . _keypress ( c , b ) } } ) } , _addKey : function ( a ) { a . key & & ( this . s . listenKeys + = d . isPlainObject ( a . key ) ? a . key . key :
a . key ) } , _draw : function ( a , b ) { a | | ( a = this . dom . container , b = this . s . buttons ) ; a . children ( ) . detach ( ) ; for ( var c = 0 , e = b . length ; c < e ; c + + ) a . append ( b [ c ] . inserter ) , b [ c ] . buttons & & b [ c ] . buttons . length & & this . _draw ( b [ c ] . collection , b [ c ] . buttons ) } , _expandButton : function ( a , b , c , e ) { for ( var g = this . s . dt , h = 0 , b = ! d . isArray ( b ) ? [ b ] : b , f = 0 , r = b . length ; f < r ; f + + ) { var k = this . _resolveExtends ( b [ f ] ) ; if ( k ) if ( d . isArray ( k ) ) this . _expandButton ( a , k , c , e ) ; else { var p = this . _buildButton ( k , c ) ; if ( p ) { e != = m ? ( a . splice ( e , 0 , p ) , e + + ) : a . push ( p ) ; if ( p . conf . buttons ) { var s =
this . c . dom . collection ; p . collection = d ( " < " + s . tag + " /> " ) . addClass ( s . className ) ; p . conf . _collection = p . collection ; this . _expandButton ( p . buttons , p . conf . buttons , ! 0 , e ) } k . init & & k . init . call ( g . button ( p . node ) , g , d ( p . node ) , k ) ; h + + } } } } , _buildButton : function ( a , b ) { var c = this . c . dom . button , e = this . c . dom . buttonLiner , g = this . c . dom . collection , h = this . s . dt , f = function ( b ) { return " function " == = typeof b ? b ( h , k , a ) : b } ; b & & g . button & & ( c = g . button ) ; b & & g . buttonLiner & & ( e = g . buttonLiner ) ; if ( a . available & & ! a . available ( h , a ) ) return ! 1 ; var r = function ( a ,
b , c , e ) { e . action . call ( b . button ( c ) , a , b , c , e ) ; d ( b . table ( ) . node ( ) ) . triggerHandler ( " buttons-action.dt " , [ b . button ( c ) , b , c , e ] ) } , k = d ( " < " + c . tag + " /> " ) . addClass ( c . className ) . attr ( " tabindex " , this . s . dt . settings ( ) [ 0 ] . iTabIndex ) . attr ( " aria-controls " , this . s . dt . table ( ) . node ( ) . id ) . on ( " click.dtb " , function ( b ) { b . preventDefault ( ) ; ! k . hasClass ( c . disabled ) & & a . action & & r ( b , h , k , a ) ; k . blur ( ) } ) . on ( " keyup.dtb " , function ( b ) { b . keyCode == = 13 & & ! k . hasClass ( c . disabled ) & & a . action & & r ( b , h , k , a ) } ) ; " a " == = c . tag . toLowerCase ( ) & & k . attr ( " href " , " # " ) ;
e . tag ? ( g = d ( " < " + e . tag + " /> " ) . html ( f ( a . text ) ) . addClass ( e . className ) , " a " == = e . tag . toLowerCase ( ) & & g . attr ( " href " , " # " ) , k . append ( g ) ) : k . html ( f ( a . text ) ) ; ! 1 == = a . enabled & & k . addClass ( c . disabled ) ; a . className & & k . addClass ( a . className ) ; a . titleAttr & & k . attr ( " title " , a . titleAttr ) ; a . namespace | | ( a . namespace = " .dt-button- " + v + + ) ; e = ( e = this . c . dom . buttonContainer ) & & e . tag ? d ( " < " + e . tag + " /> " ) . addClass ( e . className ) . append ( k ) : k ; this . _addKey ( a ) ; return { conf : a , node : k . get ( 0 ) , inserter : e , buttons : [ ] , inCollection : b , collection : null } } , _nodeToButton : function ( a ,
b ) { b | | ( b = this . s . buttons ) ; for ( var c = 0 , e = b . length ; c < e ; c + + ) { if ( b [ c ] . node == = a ) return b [ c ] ; if ( b [ c ] . buttons . length ) { var d = this . _nodeToButton ( a , b [ c ] . buttons ) ; if ( d ) return d } } } , _nodeToHost : function ( a , b ) { b | | ( b = this . s . buttons ) ; for ( var c = 0 , e = b . length ; c < e ; c + + ) { if ( b [ c ] . node == = a ) return b ; if ( b [ c ] . buttons . length ) { var d = this . _nodeToHost ( a , b [ c ] . buttons ) ; if ( d ) return d } } } , _keypress : function ( a , b ) { var c = function ( e ) { for ( var g = 0 , h = e . length ; g < h ; g + + ) { var f = e [ g ] . conf , r = e [ g ] . node ; if ( f . key ) if ( f . key == = a ) d ( r ) . click ( ) ; else if ( d . isPlainObject ( f . key ) & &
f . key . key == = a & & ( ! f . key . shiftKey | | b . shiftKey ) ) if ( ! f . key . altKey | | b . altKey ) if ( ! f . key . ctrlKey | | b . ctrlKey ) ( ! f . key . metaKey | | b . metaKey ) & & d ( r ) . click ( ) ; e [ g ] . buttons . length & & c ( e [ g ] . buttons ) } } ; c ( this . s . buttons ) } , _removeKey : function ( a ) { if ( a . key ) { var b = d . isPlainObject ( a . key ) ? a . key . key : a . key , a = this . s . listenKeys . split ( " " ) , b = d . inArray ( b , a ) ; a . splice ( b , 1 ) ; this . s . listenKeys = a . join ( " " ) } } , _resolveExtends : function ( a ) { for ( var b = this . s . dt , c , e , g = function ( c ) { for ( var e = 0 ; ! d . isPlainObject ( c ) & & ! d . isArray ( c ) ; ) { if ( c == = m ) return ;
if ( " function " == = typeof c ) { if ( c = c ( b , a ) , ! c ) return ! 1 } else if ( " string " == = typeof c ) { if ( ! j [ c ] ) throw " Unknown button type: " + c ; c = j [ c ] } e + + ; if ( 30 < e ) throw " Buttons: Too many iterations " ; } return d . isArray ( c ) ? c : d . extend ( { } , c ) } , a = g ( a ) ; a & & a . extend ; ) { if ( ! j [ a . extend ] ) throw " Cannot extend unknown button type: " + a . extend ; var h = g ( j [ a . extend ] ) ; if ( d . isArray ( h ) ) return h ; if ( ! h ) return ! 1 ; c = h . className ; a = d . extend ( { } , h , a ) ; c & & a . className != = c & & ( a . className = c + " " + a . className ) ; var f = a . postfixButtons ; if ( f ) { a . buttons | | ( a . buttons = [ ] ) ;
c = 0 ; for ( e = f . length ; c < e ; c + + ) a . buttons . push ( f [ c ] ) ; a . postfixButtons = null } if ( f = a . prefixButtons ) { a . buttons | | ( a . buttons = [ ] ) ; c = 0 ; for ( e = f . length ; c < e ; c + + ) a . buttons . splice ( c , 0 , f [ c ] ) ; a . prefixButtons = null } a . extend = h . extend } return a } } ) ; l . background = function ( a , b , c ) { c == = m & & ( c = 400 ) ; a ? d ( " <div/> " ) . addClass ( b ) . css ( " display " , " none " ) . appendTo ( " body " ) . fadeIn ( c ) : d ( " body > div. " + b ) . fadeOut ( c , function ( ) { d ( this ) . removeClass ( b ) . remove ( ) } ) } ; l . instanceSelector = function ( a , b ) { if ( ! a ) return d . map ( b , function ( a ) { return a . inst } ) ; var c =
[ ] , e = d . map ( b , function ( a ) { return a . name } ) , g = function ( a ) { if ( d . isArray ( a ) ) for ( var f = 0 , r = a . length ; f < r ; f + + ) g ( a [ f ] ) ; else " string " == = typeof a ? - 1 != = a . indexOf ( " , " ) ? g ( a . split ( " , " ) ) : ( a = d . inArray ( d . trim ( a ) , e ) , - 1 != = a & & c . push ( b [ a ] . inst ) ) : " number " == = typeof a & & c . push ( b [ a ] . inst ) } ; g ( a ) ; return c } ; l . buttonSelector = function ( a , b ) { for ( var c = [ ] , e = function ( a , b , c ) { for ( var d , g , f = 0 , h = b . length ; f < h ; f + + ) if ( d = b [ f ] ) g = c != = m ? c + f : f + " " , a . push ( { node : d . node , name : d . conf . name , idx : g } ) , d . buttons & & e ( a , d . buttons , g + " - " ) } , g = function ( a , b ) { var f ,
h , i = [ ] ; e ( i , b . s . buttons ) ; f = d . map ( i , function ( a ) { return a . node } ) ; if ( d . isArray ( a ) | | a instanceof d ) { f = 0 ; for ( h = a . length ; f < h ; f + + ) g ( a [ f ] , b ) } else if ( null == = a | | a == = m | | " * " == = a ) { f = 0 ; for ( h = i . length ; f < h ; f + + ) c . push ( { inst : b , node : i [ f ] . node } ) } else if ( " number " == = typeof a ) c . push ( { inst : b , node : b . s . buttons [ a ] . node } ) ; else if ( " string " == = typeof a ) if ( - 1 != = a . indexOf ( " , " ) ) { i = a . split ( " , " ) ; f = 0 ; for ( h = i . length ; f < h ; f + + ) g ( d . trim ( i [ f ] ) , b ) } else if ( a . match ( / ^ \d + ( \- \d + ) * $ / ) ) f = d . map ( i , function ( a ) { return a . idx } ) , c . push ( { inst : b , node : i [ d . inArray ( a ,
f ) ] . node } ) ; else if ( - 1 != = a . indexOf ( " :name " ) ) { var j = a . replace ( " :name " , " " ) ; f = 0 ; for ( h = i . length ; f < h ; f + + ) i [ f ] . name == = j & & c . push ( { inst : b , node : i [ f ] . node } ) } else d ( f ) . filter ( a ) . each ( function ( ) { c . push ( { inst : b , node : this } ) } ) ; else " object " == = typeof a & & a . nodeName & & ( i = d . inArray ( a , f ) , - 1 != = i & & c . push ( { inst : b , node : f [ i ] } ) ) } , h = 0 , f = a . length ; h < f ; h + + ) g ( b , a [ h ] ) ; return c } ; l . defaults = { buttons : [ " copy " , " excel " , " csv " , " pdf " , " print " ] , name : " main " , tabIndex : 0 , dom : { container : { tag : " div " , className : " dt-buttons " } , collection : { tag : " div " , className : " dt-button-collection " } ,
button : { tag : " a " , className : " dt-button " , active : " active " , disabled : " disabled " } , buttonLiner : { tag : " span " , className : " " } } } ; l . version = " 1.2.2 " ; d . extend ( j , { collection : { text : function ( a ) { return a . i18n ( " buttons.collection " , " Collection " ) } , className : " buttons-collection " , action : function ( a , b , c , e ) { var a = c . offset ( ) , g = d ( b . table ( ) . container ( ) ) , h = ! 1 ; d ( " div.dt-button-background " ) . length & & ( h = d ( " div.dt-button-collection " ) . offset ( ) , d ( " body " ) . trigger ( " click.dtb-collection " ) ) ; e . _collection . addClass ( e . collectionLayout ) . css ( " display " ,
" none " ) . appendTo ( " body " ) . fadeIn ( e . fade ) ; var f = e . _collection . css ( " position " ) ; h & & " absolute " == = f ? e . _collection . css ( { top : h . top + 5 , left : h . left + 5 } ) : " absolute " == = f ? ( e . _collection . css ( { top : a . top + c . outerHeight ( ) , left : a . left } ) , c = a . left + e . _collection . outerWidth ( ) , g = g . offset ( ) . left + g . width ( ) , c > g & & e . _collection . css ( " left " , a . left - ( c - g ) ) ) : ( a = e . _collection . height ( ) / 2 , a > d ( n ) . height ( ) / 2 & & ( a = d ( n ) . height ( ) / 2 ) , e . _collection . css ( " marginTop " , - 1 * a ) ) ; e . background & & l . background ( ! 0 , e . backgroundClassName , e . fade ) ; setTimeout ( function ( ) { d ( " div.dt-button-background " ) . on ( " click.dtb-collection " ,
function ( ) { } ) ; d ( " body " ) . on ( " click.dtb-collection " , function ( a ) { var c = d . fn . addBack ? " addBack " : " andSelf " ; if ( ! d ( a . target ) . parents ( ) [ c ] ( ) . filter ( e . _collection ) . length ) { e . _collection . fadeOut ( e . fade , function ( ) { e . _collection . detach ( ) } ) ; d ( " div.dt-button-background " ) . off ( " click.dtb-collection " ) ; l . background ( false , e . backgroundClassName , e . fade ) ; d ( " body " ) . off ( " click.dtb-collection " ) ; b . off ( " buttons-action.b-internal " ) } } ) } , 10 ) ; if ( e . autoClose ) b . on ( " buttons-action.b-internal " , function ( ) { d ( " div.dt-button-background " ) . click ( ) } ) } ,
background : ! 0 , collectionLayout : " " , backgroundClassName : " dt-button-background " , autoClose : ! 1 , fade : 400 } , copy : function ( a , b ) { if ( j . copyHtml5 ) return " copyHtml5 " ; if ( j . copyFlash & & j . copyFlash . available ( a , b ) ) return " copyFlash " } , csv : function ( a , b ) { if ( j . csvHtml5 & & j . csvHtml5 . available ( a , b ) ) return " csvHtml5 " ; if ( j . csvFlash & & j . csvFlash . available ( a , b ) ) return " csvFlash " } , excel : function ( a , b ) { if ( j . excelHtml5 & & j . excelHtml5 . available ( a , b ) ) return " excelHtml5 " ; if ( j . excelFlash & & j . excelFlash . available ( a , b ) ) return " excelFlash " } , pdf : function ( a ,
b ) { if ( j . pdfHtml5 & & j . pdfHtml5 . available ( a , b ) ) return " pdfHtml5 " ; if ( j . pdfFlash & & j . pdfFlash . available ( a , b ) ) return " pdfFlash " } , pageLength : function ( a ) { var a = a . settings ( ) [ 0 ] . aLengthMenu , b = d . isArray ( a [ 0 ] ) ? a [ 0 ] : a , c = d . isArray ( a [ 0 ] ) ? a [ 1 ] : a , e = function ( a ) { return a . i18n ( " buttons.pageLength " , { " -1 " : " Show all rows " , _ : " Show %d rows " } , a . page . len ( ) ) } ; return { extend : " collection " , text : e , className : " buttons-page-length " , autoClose : ! 0 , buttons : d . map ( b , function ( a , b ) { return { text : c [ b ] , action : function ( b , c ) { c . page . len ( a ) . draw ( ) } , init : function ( b ,
c , e ) { var d = this , c = function ( ) { d . active ( b . page . len ( ) == = a ) } ; b . on ( " length.dt " + e . namespace , c ) ; c ( ) } , destroy : function ( a , b , c ) { a . off ( " length.dt " + c . namespace ) } } } ) , init : function ( a , b , c ) { var d = this ; a . on ( " length.dt " + c . namespace , function ( ) { d . text ( e ( a ) ) } ) } , destroy : function ( a , b , c ) { a . off ( " length.dt " + c . namespace ) } } } } ) ; i . Api . register ( " buttons() " , function ( a , b ) { b == = m & & ( b = a , a = m ) ; this . selector . buttonGroup = a ; var c = this . iterator ( ! 0 , " table " , function ( c ) { if ( c . _buttons ) return l . buttonSelector ( l . instanceSelector ( a , c . _buttons ) ,
b ) } , ! 0 ) ; c . _groupSelector = a ; return c } ) ; i . Api . register ( " button() " , function ( a , b ) { var c = this . buttons ( a , b ) ; 1 < c . length & & c . splice ( 1 , c . length ) ; return c } ) ; i . Api . registerPlural ( " buttons().active() " , " button().active() " , function ( a ) { return a == = m ? this . map ( function ( a ) { return a . inst . active ( a . node ) } ) : this . each ( function ( b ) { b . inst . active ( b . node , a ) } ) } ) ; i . Api . registerPlural ( " buttons().action() " , " button().action() " , function ( a ) { return a == = m ? this . map ( function ( a ) { return a . inst . action ( a . node ) } ) : this . each ( function ( b ) { b . inst . action ( b . node ,
a ) } ) } ) ; i . Api . register ( [ " buttons().enable() " , " button().enable() " ] , function ( a ) { return this . each ( function ( b ) { b . inst . enable ( b . node , a ) } ) } ) ; i . Api . register ( [ " buttons().disable() " , " button().disable() " ] , function ( ) { return this . each ( function ( a ) { a . inst . disable ( a . node ) } ) } ) ; i . Api . registerPlural ( " buttons().nodes() " , " button().node() " , function ( ) { var a = d ( ) ; d ( this . each ( function ( b ) { a = a . add ( b . inst . node ( b . node ) ) } ) ) ; return a } ) ; i . Api . registerPlural ( " buttons().text() " , " button().text() " , function ( a ) { return a == = m ? this . map ( function ( a ) { return a . inst . text ( a . node ) } ) :
this . each ( function ( b ) { b . inst . text ( b . node , a ) } ) } ) ; i . Api . registerPlural ( " buttons().trigger() " , " button().trigger() " , function ( ) { return this . each ( function ( a ) { a . inst . node ( a . node ) . trigger ( " click " ) } ) } ) ; i . Api . registerPlural ( " buttons().containers() " , " buttons().container() " , function ( ) { var a = d ( ) , b = this . _groupSelector ; this . iterator ( ! 0 , " table " , function ( c ) { if ( c . _buttons ) for ( var c = l . instanceSelector ( b , c . _buttons ) , d = 0 , g = c . length ; d < g ; d + + ) a = a . add ( c [ d ] . container ( ) ) } ) ; return a } ) ; i . Api . register ( " button().add() " , function ( a ,
b ) { var c = this . context ; c . length & & ( c = l . instanceSelector ( this . _groupSelector , c [ 0 ] . _buttons ) , c . length & & c [ 0 ] . add ( b , a ) ) ; return this . button ( this . _groupSelector , a ) } ) ; i . Api . register ( " buttons().destroy() " , function ( ) { this . pluck ( " inst " ) . unique ( ) . each ( function ( a ) { a . destroy ( ) } ) ; return this } ) ; i . Api . registerPlural ( " buttons().remove() " , " buttons().remove() " , function ( ) { this . each ( function ( a ) { a . inst . remove ( a . node ) } ) ; return this } ) ; var q ; i . Api . register ( " buttons.info() " , function ( a , b , c ) { var e = this ; if ( ! 1 == = a ) return d ( " #datatables_buttons_info " ) . fadeOut ( function ( ) { d ( this ) . remove ( ) } ) ,
clearTimeout ( q ) , q = null , this ; q & & clearTimeout ( q ) ; d ( " #datatables_buttons_info " ) . length & & d ( " #datatables_buttons_info " ) . remove ( ) ; d ( ' <div id= " datatables_buttons_info " class= " dt-button-info " /> ' ) . html ( a ? " <h2> " + a + " </h2> " : " " ) . append ( d ( " <div/> " ) [ " string " == = typeof b ? " html " : " append " ] ( b ) ) . css ( " display " , " none " ) . appendTo ( " body " ) . fadeIn ( ) ; c != = m & & 0 != = c & & ( q = setTimeout ( function ( ) { e . buttons . info ( ! 1 ) } , c ) ) ; return this } ) ; i . Api . register ( " buttons.exportData() " , function ( a ) { if ( this . context . length ) { for ( var b = new i . Api ( this . context [ 0 ] ) ,
c = d . extend ( ! 0 , { } , { rows : null , columns : " " , modifier : { search : " applied " , order : " applied " } , orthogonal : " display " , stripHtml : ! 0 , stripNewlines : ! 0 , decodeEntities : ! 0 , trim : ! 0 , format : { header : function ( a ) { return e ( a ) } , footer : function ( a ) { return e ( a ) } , body : function ( a ) { return e ( a ) } } } , a ) , e = function ( a ) { if ( " string " != = typeof a ) return a ; c . stripHtml & & ( a = a . replace ( / < [ ^ > ] * > / g , " " ) ) ; c . trim & & ( a = a . replace ( / ^ \s + | \s + $ / g , " " ) ) ; c . stripNewlines & & ( a = a . replace ( / \n / g , " " ) ) ; c . decodeEntities & & ( t . innerHTML = a , a = t . value ) ; return a } , a = b . columns ( c . columns ) . indexes ( ) . map ( function ( a ) { var d =
b . column ( a ) . header ( ) ; return c . format . header ( d . innerHTML , a , d ) } ) . toArray ( ) , g = b . table ( ) . footer ( ) ? b . columns ( c . columns ) . indexes ( ) . map ( function ( a ) { var d = b . column ( a ) . footer ( ) ; return c . format . footer ( d ? d . innerHTML : " " , a , d ) } ) . toArray ( ) : null , h = b . rows ( c . rows , c . modifier ) . indexes ( ) . toArray ( ) , f = b . cells ( h , c . columns ) . render ( c . orthogonal ) . toArray ( ) , h = b . cells ( h , c . columns ) . nodes ( ) . toArray ( ) , j = a . length , k = 0 < j ? f . length / j : 0 , l = Array ( k ) , m = 0 , n = 0 ; n < k ; n + + ) { for ( var o = Array ( j ) , q = 0 ; q < j ; q + + ) o [ q ] = c . format . body ( f [ m ] , n , q , h [ m ] ) , m + + ; l [ n ] =
o } return { header : a , footer : g , body : l } } } ) ; var t = d ( " <textarea/> " ) [ 0 ] ; d . fn . dataTable . Buttons = l ; d . fn . DataTable . Buttons = l ; d ( o ) . on ( " init.dt plugin-init.dt " , function ( a , b ) { if ( " dt " == = a . namespace ) { var c = b . oInit . buttons | | i . defaults . buttons ; c & & ! b . _buttons & & ( new l ( b , c ) ) . container ( ) } } ) ; i . ext . feature . push ( { fnInit : function ( a ) { var a = new i . Api ( a ) , b = a . init ( ) . buttons | | i . defaults . buttons ; return ( new l ( a , b ) ) . container ( ) } , cFeature : " B " } ) ; return l } ) ;
2016-09-03 11:05:50 +00:00
/ * !
Bootstrap integration for DataTables ' Buttons
2016-09-22 08:06:46 +00:00
© 2016 SpryMedia Ltd - datatables . net / license
2016-09-03 11:05:50 +00:00
* /
( function ( c ) { " function " == = typeof define & & define . amd ? define ( [ " jquery " , " datatables.net-bs " , " datatables.net-buttons " ] , function ( a ) { return c ( a , window , document ) } ) : " object " == = typeof exports ? module . exports = function ( a , b ) { a | | ( a = window ) ; if ( ! b | | ! b . fn . dataTable ) b = require ( " datatables.net-bs " ) ( a , b ) . $ ; b . fn . dataTable . Buttons | | require ( " datatables.net-buttons " ) ( a , b ) ; return c ( b , a , a . document ) } : c ( jQuery , window , document ) } ) ( function ( c ) { var a = c . fn . dataTable ; c . extend ( ! 0 , a . Buttons . defaults , { dom : { container : { className : " dt-buttons btn-group " } ,
button : { className : " btn btn-default " } , collection : { tag : " ul " , className : " dt-button-collection dropdown-menu " , button : { tag : " li " , className : " dt-button " } , buttonLiner : { tag : " a " , className : " " } } } } ) ; a . ext . buttons . collection . text = function ( a ) { return a . i18n ( " buttons.collection " , ' Collection <span class= " caret " /> ' ) } ; return a . Buttons } ) ;
2016-09-22 08:06:46 +00:00
( function ( g ) { " function " == = typeof define & & define . amd ? define ( [ " jquery " , " datatables.net " , " datatables.net-buttons " ] , function ( d ) { return g ( d , window , document ) } ) : " object " == = typeof exports ? module . exports = function ( d , e ) { d | | ( d = window ) ; if ( ! e | | ! e . fn . dataTable ) e = require ( " datatables.net " ) ( d , e ) . $ ; e . fn . dataTable . Buttons | | require ( " datatables.net-buttons " ) ( d , e ) ; return g ( e , d , d . document ) } : g ( jQuery , window , document ) } ) ( function ( g , d , e , h ) { d = g . fn . dataTable ; g . extend ( d . ext . buttons , { colvis : function ( a , b ) { return { extend : " collection " ,
text : function ( a ) { return a . i18n ( " buttons.colvis " , " Column visibility " ) } , className : " buttons-colvis " , buttons : [ { extend : " columnsToggle " , columns : b . columns } ] } } , columnsToggle : function ( a , b ) { return a . columns ( b . columns ) . indexes ( ) . map ( function ( a ) { return { extend : " columnToggle " , columns : a } } ) . toArray ( ) } , columnToggle : function ( a , b ) { return { extend : " columnVisibility " , columns : b . columns } } , columnsVisibility : function ( a , b ) { return a . columns ( b . columns ) . indexes ( ) . map ( function ( a ) { return { extend : " columnVisibility " , columns : a , visibility : b . visibility } } ) . toArray ( ) } ,
columnVisibility : { columns : h , text : function ( a , b , c ) { return c . _columnText ( a , c . columns ) } , className : " buttons-columnVisibility " , action : function ( a , b , c , f ) { a = b . columns ( f . columns ) ; b = a . visible ( ) ; a . visible ( f . visibility != = h ? f . visibility : ! ( b . length & & b [ 0 ] ) ) } , init : function ( a , b , c ) { var f = this ; a . on ( " column-visibility.dt " + c . namespace , function ( b , d ) { d . bDestroying | | f . active ( a . column ( c . columns ) . visible ( ) ) } ) . on ( " column-reorder.dt " + c . namespace , function ( b , d , e ) { 1 == = a . columns ( c . columns ) . count ( ) & & ( " number " == = typeof c . columns & &
( c . columns = e . mapping [ c . columns ] ) , b = a . column ( c . columns ) , f . text ( c . _columnText ( a , c . columns ) ) , f . active ( b . visible ( ) ) ) } ) ; this . active ( a . column ( c . columns ) . visible ( ) ) } , destroy : function ( a , b , c ) { a . off ( " column-visibility.dt " + c . namespace ) . off ( " column-reorder.dt " + c . namespace ) } , _columnText : function ( a , b ) { var c = a . column ( b ) . index ( ) ; return a . settings ( ) [ 0 ] . aoColumns [ c ] . sTitle . replace ( / \n / g , " " ) . replace ( / < . * ? > / g , " " ) . replace ( / ^ \s + | \s + $ / g , " " ) } } , colvisRestore : { className : " buttons-colvisRestore " , text : function ( a ) { return a . i18n ( " buttons.colvisRestore " ,
" Restore visibility " ) } , init : function ( a , b , c ) { c . _visOriginal = a . columns ( ) . indexes ( ) . map ( function ( b ) { return a . column ( b ) . visible ( ) } ) . toArray ( ) } , action : function ( a , b , c , d ) { b . columns ( ) . every ( function ( a ) { a = b . colReorder & & b . colReorder . transpose ? b . colReorder . transpose ( a , " toOriginal " ) : a ; this . visible ( d . _visOriginal [ a ] ) } ) } } , colvisGroup : { className : " buttons-colvisGroup " , action : function ( a , b , c , d ) { b . columns ( d . show ) . visible ( ! 0 , ! 1 ) ; b . columns ( d . hide ) . visible ( ! 1 , ! 1 ) ; b . columns . adjust ( ) } , show : [ ] , hide : [ ] } } ) ; return d . Buttons } ) ;
( function ( f ) { " function " == = typeof define & & define . amd ? define ( [ " jquery " , " datatables.net " , " datatables.net-buttons " ] , function ( j ) { return f ( j , window , document ) } ) : " object " == = typeof exports ? module . exports = function ( j , k ) { j | | ( j = window ) ; if ( ! k | | ! k . fn . dataTable ) k = require ( " datatables.net " ) ( j , k ) . $ ; k . fn . dataTable . Buttons | | require ( " datatables.net-buttons " ) ( j , k ) ; return f ( k , j , j . document ) } : f ( jQuery , window , document ) } ) ( function ( f , j , k , o ) { function l ( a , b , d ) { var c = a . createElement ( b ) ; d & & ( d . attr & & f ( c ) . attr ( d . attr ) , d . children & &
f . each ( d . children , function ( a , b ) { c . appendChild ( b ) } ) , d . text & & c . appendChild ( a . createTextNode ( d . text ) ) ) ; return c } function z ( a , b ) { var d = a . header [ b ] . length , c ; a . footer & & a . footer [ b ] . length > d & & ( d = a . footer [ b ] . length ) ; for ( var e = 0 , g = a . body . length ; e < g & & ! ( c = a . body [ e ] [ b ] . toString ( ) . length , c > d & & ( d = c ) , 40 < d ) ; e + + ) ; return 5 < d ? d : 5 } function v ( a ) { n == = o & & ( n = - 1 == = w . serializeToString ( f . parseXML ( p [ " xl/worksheets/sheet1.xml " ] ) ) . indexOf ( " xmlns:r " ) ) ; f . each ( a , function ( b , d ) { if ( f . isPlainObject ( d ) ) v ( d ) ; else { if ( n ) { var c = d . childNodes [ 0 ] ,
e , g , h = [ ] ; for ( e = c . attributes . length - 1 ; 0 < = e ; e - - ) { g = c . attributes [ e ] . nodeName ; var q = c . attributes [ e ] . nodeValue ; - 1 != = g . indexOf ( " : " ) & & ( h . push ( { name : g , value : q } ) , c . removeAttribute ( g ) ) } e = 0 ; for ( g = h . length ; e < g ; e + + ) q = d . createAttribute ( h [ e ] . name . replace ( " : " , " _dt_b_namespace_token_ " ) ) , q . value = h [ e ] . value , c . setAttributeNode ( q ) } c = w . serializeToString ( d ) ; n & & ( - 1 == = c . indexOf ( " <?xml " ) & & ( c = ' <?xml version= " 1.0 " encoding= " UTF-8 " standalone= " yes " ?> ' + c ) , c = c . replace ( / _dt_b_namespace_token_ / g , " : " ) ) ; c = c . replace ( / < row xmlns = " " / g ,
" <row " ) . replace ( / < cols xmlns = " " > / g , " <cols> " ) ; a [ b ] = c } } ) } var i = f . fn . dataTable , h = { version : " 1.0.4-TableTools2 " , clients : { } , moviePath : " " , nextId : 1 , $ : function ( a ) { " string " == typeof a & & ( a = k . getElementById ( a ) ) ; a . addClass | | ( a . hide = function ( ) { this . style . display = " none " } , a . show = function ( ) { this . style . display = " " } , a . addClass = function ( a ) { this . removeClass ( a ) ; this . className + = " " + a } , a . removeClass = function ( a ) { this . className = this . className . replace ( RegExp ( " \\ s* " + a + " \\ s* " ) , " " ) . replace ( / ^ \s + / , " " ) . replace ( / \s + $ / , " " ) } , a . hasClass =
function ( a ) { return ! ! this . className . match ( RegExp ( " \\ s* " + a + " \\ s* " ) ) } ) ; return a } , setMoviePath : function ( a ) { this . moviePath = a } , dispatch : function ( a , b , d ) { ( a = this . clients [ a ] ) & & a . receiveEvent ( b , d ) } , log : function ( a ) { console . log ( " Flash: " + a ) } , register : function ( a , b ) { this . clients [ a ] = b } , getDOMObjectPosition : function ( a ) { var b = { left : 0 , top : 0 , width : a . width ? a . width : a . offsetWidth , height : a . height ? a . height : a . offsetHeight } ; " " != = a . style . width & & ( b . width = a . style . width . replace ( " px " , " " ) ) ; " " != = a . style . height & & ( b . height = a . style . height . replace ( " px " ,
" " ) ) ; for ( ; a ; ) b . left + = a . offsetLeft , b . top + = a . offsetTop , a = a . offsetParent ; return b } , Client : function ( a ) { this . handlers = { } ; this . id = h . nextId + + ; this . movieId = " ZeroClipboard_TableToolsMovie_ " + this . id ; h . register ( this . id , this ) ; a & & this . glue ( a ) } } ; h . Client . prototype = { id : 0 , ready : ! 1 , movie : null , clipText : " " , fileName : " " , action : " copy " , handCursorEnabled : ! 0 , cssEffects : ! 0 , handlers : null , sized : ! 1 , sheetName : " " , glue : function ( a , b ) { this . domElement = h . $ ( a ) ; var d = 99 ; this . domElement . style . zIndex & & ( d = parseInt ( this . domElement . style . zIndex ,
10 ) + 1 ) ; var c = h . getDOMObjectPosition ( this . domElement ) ; this . div = k . createElement ( " div " ) ; var e = this . div . style ; e . position = " absolute " ; e . left = " 0px " ; e . top = " 0px " ; e . width = c . width + " px " ; e . height = c . height + " px " ; e . zIndex = d ; " undefined " != typeof b & & " " != = b & & ( this . div . title = b ) ; 0 != = c . width & & 0 != = c . height & & ( this . sized = ! 0 ) ; this . domElement & & ( this . domElement . appendChild ( this . div ) , this . div . innerHTML = this . getHTML ( c . width , c . height ) . replace ( / & / g , " & " ) ) } , positionElement : function ( ) { var a = h . getDOMObjectPosition ( this . domElement ) ,
b = this . div . style ; b . position = " absolute " ; b . width = a . width + " px " ; b . height = a . height + " px " ; 0 != = a . width & & 0 != = a . height & & ( this . sized = ! 0 , b = this . div . childNodes [ 0 ] , b . width = a . width , b . height = a . height ) } , getHTML : function ( a , b ) { var d = " " , c = " id= " + this . id + " &width= " + a + " &height= " + b ; if ( navigator . userAgent . match ( / MSIE / ) ) var e = location . href . match ( / ^ https / i ) ? " https:// " : " http:// " , d = d + ( ' <object classid= " clsid:D27CDB6E-AE6D-11cf-96B8-444553540000 " codebase= " ' + e + ' download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0 " width= " ' +
a + ' " height= " ' + b + ' " id= " ' + this . movieId + ' " align= " middle " ><param name= " allowScriptAccess " value= " always " /><param name= " allowFullScreen " value= " false " /><param name= " movie " value= " ' + h . moviePath + ' " /><param name= " loop " value= " false " /><param name= " menu " value= " false " /><param name= " quality " value= " best " /><param name= " bgcolor " value= " #ffffff " /><param name= " flashvars " value= " ' + c + ' " /><param name= " wmode " value= " transparent " /></object> ' ) ; else d + = ' <embed id= " ' + this . movieId + ' " src= " ' + h . moviePath + ' " loop= " false " menu= " false " quality= " best " bgcolor= " #ffffff " width= " ' +
2016-12-25 15:10:53 +00:00
a + ' " height= " ' + b + ' " name= " ' + this . movieId + ' " align= " middle " allowScriptAccess= " always " allowFullScreen= " false " type= " applications/x-shockwave-flash " pluginspage= " http://www.macromedia.com/go/getflashplayer " flashvars= " ' + c + ' " wmode= " transparent " /> ' ; return d } , hide : function ( ) { this . div & & ( this . div . style . left = " -2000px " ) } , show : function ( ) { this . reposition ( ) } , destroy : function ( ) { var a = this ; this . domElement & & this . div & & ( f ( this . div ) . remove ( ) , this . div = this . domElement = null , f . each ( h . clients , function ( b , d ) { d == = a & & delete h . clients [ b ] } ) ) } ,
2016-09-22 08:06:46 +00:00
reposition : function ( a ) { a & & ( ( this . domElement = h . $ ( a ) ) | | this . hide ( ) ) ; if ( this . domElement & & this . div ) { var a = h . getDOMObjectPosition ( this . domElement ) , b = this . div . style ; b . left = " " + a . left + " px " ; b . top = " " + a . top + " px " } } , clearText : function ( ) { this . clipText = " " ; this . ready & & this . movie . clearText ( ) } , appendText : function ( a ) { this . clipText + = a ; this . ready & & this . movie . appendText ( a ) } , setText : function ( a ) { this . clipText = a ; this . ready & & this . movie . setText ( a ) } , setFileName : function ( a ) { this . fileName = a ; this . ready & & this . movie . setFileName ( a ) } ,
setSheetData : function ( a ) { this . ready & & this . movie . setSheetData ( JSON . stringify ( a ) ) } , setAction : function ( a ) { this . action = a ; this . ready & & this . movie . setAction ( a ) } , addEventListener : function ( a , b ) { a = a . toString ( ) . toLowerCase ( ) . replace ( / ^ on / , " " ) ; this . handlers [ a ] | | ( this . handlers [ a ] = [ ] ) ; this . handlers [ a ] . push ( b ) } , setHandCursor : function ( a ) { this . handCursorEnabled = a ; this . ready & & this . movie . setHandCursor ( a ) } , setCSSEffects : function ( a ) { this . cssEffects = ! ! a } , receiveEvent : function ( a , b ) { var d , a = a . toString ( ) . toLowerCase ( ) . replace ( / ^ on / ,
" " ) ; switch ( a ) { case " load " : this . movie = k . getElementById ( this . movieId ) ; if ( ! this . movie ) { d = this ; setTimeout ( function ( ) { d . receiveEvent ( " load " , null ) } , 1 ) ; return } if ( ! this . ready & & navigator . userAgent . match ( / Firefox / ) & & navigator . userAgent . match ( / Windows / ) ) { d = this ; setTimeout ( function ( ) { d . receiveEvent ( " load " , null ) } , 100 ) ; this . ready = ! 0 ; return } this . ready = ! 0 ; this . movie . clearText ( ) ; this . movie . appendText ( this . clipText ) ; this . movie . setFileName ( this . fileName ) ; this . movie . setAction ( this . action ) ; this . movie . setHandCursor ( this . handCursorEnabled ) ;
break ; case " mouseover " : this . domElement & & this . cssEffects & & this . recoverActive & & this . domElement . addClass ( " active " ) ; break ; case " mouseout " : this . domElement & & this . cssEffects & & ( this . recoverActive = ! 1 , this . domElement . hasClass ( " active " ) & & ( this . domElement . removeClass ( " active " ) , this . recoverActive = ! 0 ) ) ; break ; case " mousedown " : this . domElement & & this . cssEffects & & this . domElement . addClass ( " active " ) ; break ; case " mouseup " : this . domElement & & this . cssEffects & & ( this . domElement . removeClass ( " active " ) , this . recoverActive = ! 1 ) } if ( this . handlers [ a ] ) for ( var c =
2016-12-25 15:10:53 +00:00
0 , e = this . handlers [ a ] . length ; c < e ; c + + ) { var g = this . handlers [ a ] [ c ] ; if ( " function " == typeof g ) g ( this , b ) ; else if ( " object " == typeof g & & 2 == g . length ) g [ 0 ] [ g [ 1 ] ] ( this , b ) ; else if ( " string " == typeof g ) j [ g ] ( this , b ) } } } ; h . hasFlash = function ( ) { try { if ( new ActiveXObject ( " ShockwaveFlash.ShockwaveFlash " ) ) return ! 0 } catch ( a ) { if ( navigator . mimeTypes & & navigator . mimeTypes [ " applications/x-shockwave-flash " ] != = o & & navigator . mimeTypes [ " applications/x-shockwave-flash " ] . enabledPlugin ) return ! 0 } return ! 1 } ; j . ZeroClipboard_TableTools = h ; var x = function ( a ,
2016-09-22 08:06:46 +00:00
b ) { b . attr ( " id " ) ; b . parents ( " html " ) . length ? a . glue ( b [ 0 ] , " " ) : setTimeout ( function ( ) { x ( a , b ) } , 500 ) } , r = function ( a , b ) { var d = " * " == = a . filename & & " * " != = a . title & & a . title != = o ? a . title : a . filename ; " function " == = typeof d & & ( d = d ( ) ) ; - 1 != = d . indexOf ( " * " ) & & ( d = f . trim ( d . replace ( " * " , f ( " title " ) . text ( ) ) ) ) ; d = d . replace ( / [ ^ a - zA - Z0 - 9 _ \u00A1 - \uFFFF \. , \- _ ! \( \) ] / g , " " ) ; return b == = o | | ! 0 == = b ? d + a . extension : d } , A = function ( a ) { var b = " Sheet1 " ; a . sheetName & & ( b = a . sheetName . replace ( / [ \[ \] \* \/ \\\? \: ] / g , " " ) ) ; return b } , s = function ( a , b ) { var d = b . match ( / [ \s \S ] { 1 , 8192 } / g ) | |
[ ] ; a . clearText ( ) ; for ( var c = 0 , e = d . length ; c < e ; c + + ) a . appendText ( d [ c ] ) } , y = function ( a , b ) { for ( var d = b . newline ? b . newline : navigator . userAgent . match ( / Windows / ) ? " \r \n " : " \n " , c = a . buttons . exportData ( b . exportOptions ) , e = b . fieldBoundary , g = b . fieldSeparator , f = RegExp ( e , " g " ) , h = b . escapeChar != = o ? b . escapeChar : " \\ " , j = function ( a ) { for ( var b = " " , c = 0 , d = a . length ; c < d ; c + + ) 0 < c & & ( b + = g ) , b + = e ? e + ( " " + a [ c ] ) . replace ( f , h + e ) + e : a [ c ] ; return b } , k = b . header ? j ( c . header ) + d : " " , m = b . footer & & c . footer ? d + j ( c . footer ) : " " , l = [ ] , u = 0 , B = c . body . length ; u < B ; u + + ) l . push ( j ( c . body [ u ] ) ) ;
return { str : k + l . join ( d ) + m , rows : l . length } } , t = { available : function ( ) { return h . hasFlash ( ) } , init : function ( a , b , d ) { h . moviePath = i . Buttons . swfPath ; var c = new h . Client ; c . setHandCursor ( ! 0 ) ; c . addEventListener ( " mouseDown " , function ( ) { d . _fromFlash = ! 0 ; a . button ( b [ 0 ] ) . trigger ( ) ; d . _fromFlash = ! 1 } ) ; x ( c , b ) ; d . _flash = c } , destroy : function ( a , b , d ) { d . _flash . destroy ( ) } , fieldSeparator : " , " , fieldBoundary : ' " ' , exportOptions : { } , title : " * " , filename : " * " , extension : " .csv " , header : ! 0 , footer : ! 1 } ; try { var w = new XMLSerializer , n } catch ( C ) { } var p =
{ " _rels/.rels " : ' <?xml version= " 1.0 " encoding= " UTF-8 " standalone= " yes " ?><Relationships xmlns= " http://schemas.openxmlformats.org/package/2006/relationships " ><Relationship Id= " rId1 " Type= " http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument " Target= " xl/workbook.xml " /></Relationships> ' , " xl/_rels/workbook.xml.rels " : ' <?xml version= " 1.0 " encoding= " UTF-8 " standalone= " yes " ?><Relationships xmlns= " http://schemas.openxmlformats.org/package/2006/relationships " ><Relationship Id= " rId1 " Type= " http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet " Target= " worksheets/sheet1.xml " /><Relationship Id= " rId2 " Type= " http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles " Target= " styles.xml " /></Relationships> ' ,
2016-12-25 15:10:53 +00:00
" [Content_Types].xml " : ' <?xml version= " 1.0 " encoding= " UTF-8 " standalone= " yes " ?><Types xmlns= " http://schemas.openxmlformats.org/package/2006/content-types " ><Default Extension= " xml " ContentType= " applications/xml " /><Default Extension= " rels " ContentType= " applications/vnd.openxmlformats-package.relationships+xml " /><Default Extension= " jpeg " ContentType= " image/jpeg " /><Override PartName= " /xl/workbook.xml " ContentType= " applications/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml " /><Override PartName= " /xl/worksheets/sheet1.xml " ContentType= " applications/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml " /><Override PartName= " /xl/styles.xml " ContentType= " applications/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml " /></Types> ' ,
2016-09-22 08:06:46 +00:00
" xl/workbook.xml " : ' <?xml version= " 1.0 " encoding= " UTF-8 " standalone= " yes " ?><workbook xmlns= " http://schemas.openxmlformats.org/spreadsheetml/2006/main " xmlns:r= " http://schemas.openxmlformats.org/officeDocument/2006/relationships " ><fileVersion appName= " xl " lastEdited= " 5 " lowestEdited= " 5 " rupBuild= " 24816 " /><workbookPr showInkAnnotation= " 0 " autoCompressPictures= " 0 " /><bookViews><workbookView xWindow= " 0 " yWindow= " 0 " windowWidth= " 25600 " windowHeight= " 19020 " tabRatio= " 500 " /></bookViews><sheets><sheet name= " " sheetId= " 1 " r:id= " rId1 " /></sheets></workbook> ' ,
" xl/worksheets/sheet1.xml " : ' <?xml version= " 1.0 " encoding= " UTF-8 " standalone= " yes " ?><worksheet xmlns= " http://schemas.openxmlformats.org/spreadsheetml/2006/main " xmlns:r= " http://schemas.openxmlformats.org/officeDocument/2006/relationships " xmlns:mc= " http://schemas.openxmlformats.org/markup-compatibility/2006 " mc:Ignorable= " x14ac " xmlns:x14ac= " http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac " ><sheetData/></worksheet> ' , " xl/styles.xml " : ' <?xml version= " 1.0 " encoding= " UTF-8 " ?><styleSheet xmlns= " http://schemas.openxmlformats.org/spreadsheetml/2006/main " xmlns:mc= " http://schemas.openxmlformats.org/markup-compatibility/2006 " mc:Ignorable= " x14ac " xmlns:x14ac= " http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac " ><fonts count= " 5 " x14ac:knownFonts= " 1 " ><font><sz val= " 11 " /><name val= " Calibri " /></font><font><sz val= " 11 " /><name val= " Calibri " /><color rgb= " FFFFFFFF " /></font><font><sz val= " 11 " /><name val= " Calibri " /><b /></font><font><sz val= " 11 " /><name val= " Calibri " /><i /></font><font><sz val= " 11 " /><name val= " Calibri " /><u /></font></fonts><fills count= " 6 " ><fill><patternFill patternType= " none " /></fill><fill/><fill><patternFill patternType= " solid " ><fgColor rgb= " FFD9D9D9 " /><bgColor indexed= " 64 " /></patternFill></fill><fill><patternFill patternType= " solid " ><fgColor rgb= " FFD99795 " /><bgColor indexed= " 64 " /></patternFill></fill><fill><patternFill patternType= " solid " ><fgColor rgb= " ffc6efce " /><bgColor indexed= " 64 " /></patternFill></fill><fill><patternFill patternType= " solid " ><fgColor rgb= " ffc6cfef " /><bgColor indexed= " 64 " /></patternFill></fill></fills><borders count= " 2 " ><border><left /><right /><top /><bottom /><diagonal /></border><border diagonalUp= " false " diagonalDown= " false " ><left style= " thin " ><color auto= " 1 " /></left><right style= " thin " ><color auto= " 1 " /></right><top style= " thin " ><color auto= " 1 " /></top><bottom style= " thin " ><color auto= " 1 " /></bottom><diagonal /></border></borders><cellStyleXfs count= " 1 " ><xf numFmtId= " 0 " fontId= " 0 " fillId= " 0 " borderId= " 0 " /></cellStyleXfs><cellXfs count= " 56 " ><xf numFmtId= " 0 " fontId= " 0 " fillId= " 0 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " fontId= " 1 " fillId= " 0 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " fontId= " 2 " fillId= " 0 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " fontId= " 3 " fillId= " 0 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " fontId= " 4 " fillId= " 0 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " fontId= " 0 " fillId= " 2 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " fontId= " 1 " fillId= " 2 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " fontId= " 2 " fillId= " 2 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " fontId= " 3 " fillId= " 2 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " fontId= " 4 " fillId= " 2 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " fontId= " 0 " fillId= " 4 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " fontId= " 1 " fillId= " 4 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " fontId= " 2 " fillId= " 4 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " fontId= " 3 " fillId= " 4 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " fontId= " 4 " fillId= " 4 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " fontId= " 0 " fillId= " 4 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " fontId= " 1 " fillId= " 4 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " fontId= " 2 " fillId= " 4 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " fontId= " 3 " fillId= " 4 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " fontId= " 4 " fillId= " 4 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " fontId= " 0 " fillId= " 5 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " font
i . Buttons . swfPath = " //cdn.datatables.net/buttons/1.2.0/swf/flashExport.swf " ; i . Api . register ( " buttons.resize() " , function ( ) { f . each ( h . clients , function ( a , b ) { b . domElement != = o & & b . domElement . parentNode & & b . positionElement ( ) } ) } ) ; i . ext . buttons . copyFlash = f . extend ( { } , t , { className : " buttons-copy buttons-flash " , text : function ( a ) { return a . i18n ( " buttons.copy " , " Copy " ) } , action : function ( a , b , d , c ) { c . _fromFlash & & ( a = c . _flash , d = y ( b , c ) , c = c . customize ? c . customize ( d . str , c ) : d . str , a . setAction ( " copy " ) , s ( a , c ) , b . buttons . info ( b . i18n ( " buttons.copyTitle " ,
" Copy to clipboard " ) , b . i18n ( " buttons.copySuccess " , { _ : " Copied %d rows to clipboard " , 1 : " Copied 1 row to clipboard " } , d . rows ) , 3E3 ) ) } , fieldSeparator : " \t " , fieldBoundary : " " } ) ; i . ext . buttons . csvFlash = f . extend ( { } , t , { className : " buttons-csv buttons-flash " , text : function ( a ) { return a . i18n ( " buttons.csv " , " CSV " ) } , action : function ( a , b , d , c ) { a = c . _flash ; b = y ( b , c ) ; b = c . customize ? c . customize ( b . str , c ) : b . str ; a . setAction ( " csv " ) ; a . setFileName ( r ( c ) ) ; s ( a , b ) } , escapeChar : ' " ' } ) ; i . ext . buttons . excelFlash = f . extend ( { } , t , { className : " buttons-excel buttons-flash " ,
text : function ( a ) { return a . i18n ( " buttons.excel " , " Excel " ) } , action : function ( a , b , d , c ) { var a = c . _flash , e = 0 , g = f . parseXML ( p [ " xl/worksheets/sheet1.xml " ] ) , h = g . getElementsByTagName ( " sheetData " ) [ 0 ] , d = { _rels : { " .rels " : f . parseXML ( p [ " _rels/.rels " ] ) } , xl : { _rels : { " workbook.xml.rels " : f . parseXML ( p [ " xl/_rels/workbook.xml.rels " ] ) } , " workbook.xml " : f . parseXML ( p [ " xl/workbook.xml " ] ) , " styles.xml " : f . parseXML ( p [ " xl/styles.xml " ] ) , worksheets : { " sheet1.xml " : g } } , " [Content_Types].xml " : f . parseXML ( p [ " [Content_Types].xml " ] ) } , b = b . buttons . exportData ( c . exportOptions ) ,
j , k , i = function ( a ) { j = e + 1 ; k = l ( g , " row " , { attr : { r : j } } ) ; for ( var b = 0 , c = a . length ; b < c ; b + + ) { for ( var d = b , i = " " ; 0 < = d ; ) i = String . fromCharCode ( d % 26 + 65 ) + i , d = Math . floor ( d / 26 ) - 1 ; d = i + " " + j ; if ( null == = a [ b ] | | a [ b ] == = o ) a [ b ] = " " ; " number " == = typeof a [ b ] | | a [ b ] . match & & f . trim ( a [ b ] ) . match ( / ^ - ? \d + ( \. \d + ) ? $ / ) & & ! f . trim ( a [ b ] ) . match ( / ^ 0 \d + / ) ? d = l ( g , " c " , { attr : { t : " n " , r : d } , children : [ l ( g , " v " , { text : a [ b ] } ) ] } ) : ( i = ! a [ b ] . replace ? a [ b ] : a [ b ] . replace ( / [ \x00 - \x09 \x0B \x0C \x0E - \x1F \x7F - \x9F ] / g , " " ) , d = l ( g , " c " , { attr : { t : " inlineStr " , r : d } , children : { row : l ( g ,
" is " , { children : { row : l ( g , " t " , { text : i } ) } } ) } } ) ) ; k . appendChild ( d ) } h . appendChild ( k ) ; e + + } ; f ( " sheets sheet " , d . xl [ " workbook.xml " ] ) . attr ( " name " , A ( c ) ) ; c . customizeData & & c . customizeData ( b ) ; c . header & & ( i ( b . header , e ) , f ( " row c " , g ) . attr ( " s " , " 2 " ) ) ; for ( var m = 0 , n = b . body . length ; m < n ; m + + ) i ( b . body [ m ] , e ) ; c . footer & & b . footer & & ( i ( b . footer , e ) , f ( " row:last c " , g ) . attr ( " s " , " 2 " ) ) ; i = l ( g , " cols " ) ; f ( " worksheet " , g ) . prepend ( i ) ; m = 0 ; for ( n = b . header . length ; m < n ; m + + ) i . appendChild ( l ( g , " col " , { attr : { min : m + 1 , max : m + 1 , width : z ( b , m ) , customWidth : 1 } } ) ) ;
c . customize & & c . customize ( d ) ; v ( d ) ; a . setAction ( " excel " ) ; a . setFileName ( r ( c ) ) ; a . setSheetData ( d ) ; s ( a , " " ) } , extension : " .xlsx " } ) ; i . ext . buttons . pdfFlash = f . extend ( { } , t , { className : " buttons-pdf buttons-flash " , text : function ( a ) { return a . i18n ( " buttons.pdf " , " PDF " ) } , action : function ( a , b , d , c ) { var a = c . _flash , e = b . buttons . exportData ( c . exportOptions ) , g = b . table ( ) . node ( ) . offsetWidth , f = b . columns ( c . columns ) . indexes ( ) . map ( function ( a ) { return b . column ( a ) . header ( ) . offsetWidth / g } ) ; a . setAction ( " pdf " ) ; a . setFileName ( r ( c ) ) ; s ( a , JSON . stringify ( { title : r ( c ,
! 1 ) , message : " function " == typeof c . message ? c . message ( b , d , c ) : c . message , colWidth : f . toArray ( ) , orientation : c . orientation , size : c . pageSize , header : c . header ? e . header : null , footer : c . footer ? e . footer : null , body : e . body } ) ) } , extension : " .pdf " , orientation : " portrait " , pageSize : " A4 " , message : " " , newline : " \n " } ) ; return i . Buttons } ) ;
( function ( g ) { " function " == = typeof define & & define . amd ? define ( [ " jquery " , " datatables.net " , " datatables.net-buttons " ] , function ( i ) { return g ( i , window , document ) } ) : " object " == = typeof exports ? module . exports = function ( i , j , t , u ) { i | | ( i = window ) ; if ( ! j | | ! j . fn . dataTable ) j = require ( " datatables.net " ) ( i , j ) . $ ; j . fn . dataTable . Buttons | | require ( " datatables.net-buttons " ) ( i , j ) ; return g ( j , i , i . document , t , u ) } : g ( jQuery , window , document ) } ) ( function ( g , i , j , t , u , o ) { function E ( a , b ) { v == = o & & ( v = - 1 == = y . serializeToString ( g . parseXML ( F [ " xl/worksheets/sheet1.xml " ] ) ) . indexOf ( " xmlns:r " ) ) ;
g . each ( b , function ( b , c ) { if ( g . isPlainObject ( c ) ) { var f = a . folder ( b ) ; E ( f , c ) } else { if ( v ) { var f = c . childNodes [ 0 ] , e , h , l = [ ] ; for ( e = f . attributes . length - 1 ; 0 < = e ; e - - ) { h = f . attributes [ e ] . nodeName ; var n = f . attributes [ e ] . nodeValue ; - 1 != = h . indexOf ( " : " ) & & ( l . push ( { name : h , value : n } ) , f . removeAttribute ( h ) ) } e = 0 ; for ( h = l . length ; e < h ; e + + ) n = c . createAttribute ( l [ e ] . name . replace ( " : " , " _dt_b_namespace_token_ " ) ) , n . value = l [ e ] . value , f . setAttributeNode ( n ) } f = y . serializeToString ( c ) ; v & & ( - 1 == = f . indexOf ( " <?xml " ) & & ( f = ' <?xml version= " 1.0 " encoding= " UTF-8 " standalone= " yes " ?> ' +
f ) , f = f . replace ( / _dt_b_namespace_token_ / g , " : " ) ) ; f = f . replace ( / < row xmlns = " " / g , " <row " ) . replace ( / < cols xmlns = " " > / g , " <cols> " ) ; a . file ( b , f ) } } ) } function p ( a , b , d ) { var c = a . createElement ( b ) ; d & & ( d . attr & & g ( c ) . attr ( d . attr ) , d . children & & g . each ( d . children , function ( a , b ) { c . appendChild ( b ) } ) , d . text & & c . appendChild ( a . createTextNode ( d . text ) ) ) ; return c } function N ( a , b ) { var d = a . header [ b ] . length , c ; a . footer & & a . footer [ b ] . length > d & & ( d = a . footer [ b ] . length ) ; for ( var f = 0 , e = a . body . length ; f < e & & ! ( c = a . body [ f ] [ b ] . toString ( ) . length , c > d & &
( d = c ) , 40 < d ) ; f + + ) ; return 5 < d ? d : 5 } var r = g . fn . dataTable , q ; var h = " undefined " != = typeof self & & self | | " undefined " != = typeof i & & i | | this . content ; if ( " undefined " != = typeof navigator & & / MSIE [ 1 - 9 ] \. / . test ( navigator . userAgent ) ) q = void 0 ; else { var w = h . document . createElementNS ( " http://www.w3.org/1999/xhtml " , " a " ) , O = " download " in w , G = / Version \/ [ \d \. ] + . * Safari / . test ( navigator . userAgent ) , z = h . webkitRequestFileSystem , H = h . requestFileSystem | | z | | h . mozRequestFileSystem , P = function ( a ) { ( h . setImmediate | | h . setTimeout ) ( function ( ) { throw a ;
} , 0 ) } , A = 0 , B = function ( a ) { setTimeout ( function ( ) { " string " == = typeof a ? ( h . URL | | h . webkitURL | | h ) . revokeObjectURL ( a ) : a . remove ( ) } , 4E4 ) } , C = function ( a , b , d ) { for ( var b = [ ] . concat ( b ) , c = b . length ; c - - ; ) { var f = a [ " on " + b [ c ] ] ; if ( " function " == = typeof f ) try { f . call ( a , d | | a ) } catch ( e ) { P ( e ) } } } , I = function ( a ) { return / ^ \s * ( ? : text \/ \S * | application \/ xml | \S * \/ \S * \+ xml ) \s * ; . * charset \s * = \s * utf - 8 / i . test ( a . type ) ? new Blob ( [ " " , a ] , { type : a . type } ) : a } , J = function ( a , b , d ) { d | | ( a = I ( a ) ) ; var c = this , d = a . type , f = ! 1 , e , g , l = function ( ) { C ( c , [ " writestart " , " progress " ,
" write " , " writeend " ] ) } , n = function ( ) { if ( g & & G & & " undefined " != = typeof FileReader ) { var b = new FileReader ; b . onloadend = function ( ) { var a = b . result ; g . location . href = " data:attachment/file " + a . slice ( a . search ( / [ , ; ] / ) ) ; c . readyState = c . DONE ; l ( ) } ; b . readAsDataURL ( a ) ; c . readyState = c . INIT } else { if ( f | | ! e ) e = ( h . URL | | h . webkitURL | | h ) . createObjectURL ( a ) ; g ? g . location . href = e : h . open ( e , " _blank " ) == = o & & G & & ( h . location . href = e ) ; c . readyState = c . DONE ; l ( ) ; B ( e ) } } , m = function ( a ) { return function ( ) { if ( c . readyState != = c . DONE ) return a . apply ( this , arguments ) } } ,
2016-12-25 15:10:53 +00:00
i = { create : ! 0 , exclusive : ! 1 } , s ; c . readyState = c . INIT ; b | | ( b = " download " ) ; if ( O ) e = ( h . URL | | h . webkitURL | | h ) . createObjectURL ( a ) , setTimeout ( function ( ) { w . href = e ; w . download = b ; var a = new MouseEvent ( " click " ) ; w . dispatchEvent ( a ) ; l ( ) ; B ( e ) ; c . readyState = c . DONE } ) ; else { h . chrome & & ( d & & " applications/octet-stream " != = d ) & & ( s = a . slice | | a . webkitSlice , a = s . call ( a , 0 , a . size , " applications/octet-stream " ) , f = ! 0 ) ; z & & " download " != = b & & ( b + = " .download " ) ; if ( " applications/octet-stream " == = d | | z ) g = h ; H ? ( A + = a . size , H ( h . TEMPORARY , A , m ( function ( d ) { d . root . getDirectory ( " saved " ,
2016-09-22 08:06:46 +00:00
i , m ( function ( d ) { var e = function ( ) { d . getFile ( b , i , m ( function ( b ) { b . createWriter ( m ( function ( d ) { d . onwriteend = function ( a ) { g . location . href = b . toURL ( ) ; c . readyState = c . DONE ; C ( c , " writeend " , a ) ; B ( b ) } ; d . onerror = function ( ) { var a = d . error ; a . code != = a . ABORT_ERR & & n ( ) } ; [ " writestart " , " progress " , " write " , " abort " ] . forEach ( function ( a ) { d [ " on " + a ] = c [ " on " + a ] } ) ; d . write ( a ) ; c . abort = function ( ) { d . abort ( ) ; c . readyState = c . DONE } ; c . readyState = c . WRITING } ) , n ) } ) , n ) } ; d . getFile ( b , { create : false } , m ( function ( a ) { a . remove ( ) ; e ( ) } ) , m ( function ( a ) { a . code == =
a . NOT_FOUND_ERR ? e ( ) : n ( ) } ) ) } ) , n ) } ) , n ) ) : n ( ) } } , k = J . prototype ; " undefined " != = typeof navigator & & navigator . msSaveOrOpenBlob ? q = function ( a , b , d ) { d | | ( a = I ( a ) ) ; return navigator . msSaveOrOpenBlob ( a , b | | " download " ) } : ( k . abort = function ( ) { this . readyState = this . DONE ; C ( this , " abort " ) } , k . readyState = k . INIT = 0 , k . WRITING = 1 , k . DONE = 2 , k . error = k . onwritestart = k . onprogress = k . onwrite = k . onabort = k . onerror = k . onwriteend = null , q = function ( a , b , d ) { return new J ( a , b , d ) } ) } r . fileSave = q ; var x = function ( a , b ) { var d = " * " == = a . filename & & " * " != = a . title & &
a . title != = o ? a . title : a . filename ; " function " == = typeof d & & ( d = d ( ) ) ; - 1 != = d . indexOf ( " * " ) & & ( d = g . trim ( d . replace ( " * " , g ( " title " ) . text ( ) ) ) ) ; d = d . replace ( / [ ^ a - zA - Z0 - 9 _ \u00A1 - \uFFFF \. , \- _ ! \( \) ] / g , " " ) ; return b == = o | | ! 0 == = b ? d + a . extension : d } , Q = function ( a ) { var b = " Sheet1 " ; a . sheetName & & ( b = a . sheetName . replace ( / [ \[ \] \* \/ \\\? \: ] / g , " " ) ) ; return b } , R = function ( a ) { a = a . title ; " function " == = typeof a & & ( a = a ( ) ) ; return - 1 != = a . indexOf ( " * " ) ? a . replace ( " * " , g ( " title " ) . text ( ) | | " Exported data " ) : a } , K = function ( a ) { return a . newline ? a . newline : navigator . userAgent . match ( / Windows / ) ?
" \r \n " : " \n " } , L = function ( a , b ) { for ( var d = K ( b ) , c = a . buttons . exportData ( b . exportOptions ) , f = b . fieldBoundary , e = b . fieldSeparator , g = RegExp ( f , " g " ) , l = b . escapeChar != = o ? b . escapeChar : " \\ " , h = function ( a ) { for ( var b = " " , c = 0 , d = a . length ; c < d ; c + + ) 0 < c & & ( b + = e ) , b + = f ? f + ( " " + a [ c ] ) . replace ( g , l + f ) + f : a [ c ] ; return b } , i = b . header ? h ( c . header ) + d : " " , j = b . footer & & c . footer ? d + h ( c . footer ) : " " , s = [ ] , D = 0 , k = c . body . length ; D < k ; D + + ) s . push ( h ( c . body [ D ] ) ) ; return { str : i + s . join ( d ) + j , rows : s . length } } , M = function ( ) { return - 1 != = navigator . userAgent . indexOf ( " Safari " ) & &
- 1 == = navigator . userAgent . indexOf ( " Chrome " ) & & - 1 == = navigator . userAgent . indexOf ( " Opera " ) } ; try { var y = new XMLSerializer , v } catch ( S ) { } var F = { " _rels/.rels " : ' <?xml version= " 1.0 " encoding= " UTF-8 " standalone= " yes " ?><Relationships xmlns= " http://schemas.openxmlformats.org/package/2006/relationships " ><Relationship Id= " rId1 " Type= " http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument " Target= " xl/workbook.xml " /></Relationships> ' , " xl/_rels/workbook.xml.rels " : ' <?xml version= " 1.0 " encoding= " UTF-8 " standalone= " yes " ?><Relationships xmlns= " http://schemas.openxmlformats.org/package/2006/relationships " ><Relationship Id= " rId1 " Type= " http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet " Target= " worksheets/sheet1.xml " /><Relationship Id= " rId2 " Type= " http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles " Target= " styles.xml " /></Relationships> ' ,
2016-12-25 15:10:53 +00:00
" [Content_Types].xml " : ' <?xml version= " 1.0 " encoding= " UTF-8 " standalone= " yes " ?><Types xmlns= " http://schemas.openxmlformats.org/package/2006/content-types " ><Default Extension= " xml " ContentType= " applications/xml " /><Default Extension= " rels " ContentType= " applications/vnd.openxmlformats-package.relationships+xml " /><Default Extension= " jpeg " ContentType= " image/jpeg " /><Override PartName= " /xl/workbook.xml " ContentType= " applications/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml " /><Override PartName= " /xl/worksheets/sheet1.xml " ContentType= " applications/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml " /><Override PartName= " /xl/styles.xml " ContentType= " applications/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml " /></Types> ' ,
2016-09-22 08:06:46 +00:00
" xl/workbook.xml " : ' <?xml version= " 1.0 " encoding= " UTF-8 " standalone= " yes " ?><workbook xmlns= " http://schemas.openxmlformats.org/spreadsheetml/2006/main " xmlns:r= " http://schemas.openxmlformats.org/officeDocument/2006/relationships " ><fileVersion appName= " xl " lastEdited= " 5 " lowestEdited= " 5 " rupBuild= " 24816 " /><workbookPr showInkAnnotation= " 0 " autoCompressPictures= " 0 " /><bookViews><workbookView xWindow= " 0 " yWindow= " 0 " windowWidth= " 25600 " windowHeight= " 19020 " tabRatio= " 500 " /></bookViews><sheets><sheet name= " " sheetId= " 1 " r:id= " rId1 " /></sheets></workbook> ' ,
" xl/worksheets/sheet1.xml " : ' <?xml version= " 1.0 " encoding= " UTF-8 " standalone= " yes " ?><worksheet xmlns= " http://schemas.openxmlformats.org/spreadsheetml/2006/main " xmlns:r= " http://schemas.openxmlformats.org/officeDocument/2006/relationships " xmlns:mc= " http://schemas.openxmlformats.org/markup-compatibility/2006 " mc:Ignorable= " x14ac " xmlns:x14ac= " http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac " ><sheetData/></worksheet> ' , " xl/styles.xml " : ' <?xml version= " 1.0 " encoding= " UTF-8 " ?><styleSheet xmlns= " http://schemas.openxmlformats.org/spreadsheetml/2006/main " xmlns:mc= " http://schemas.openxmlformats.org/markup-compatibility/2006 " mc:Ignorable= " x14ac " xmlns:x14ac= " http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac " ><fonts count= " 5 " x14ac:knownFonts= " 1 " ><font><sz val= " 11 " /><name val= " Calibri " /></font><font><sz val= " 11 " /><name val= " Calibri " /><color rgb= " FFFFFFFF " /></font><font><sz val= " 11 " /><name val= " Calibri " /><b /></font><font><sz val= " 11 " /><name val= " Calibri " /><i /></font><font><sz val= " 11 " /><name val= " Calibri " /><u /></font></fonts><fills count= " 6 " ><fill><patternFill patternType= " none " /></fill><fill/><fill><patternFill patternType= " solid " ><fgColor rgb= " FFD9D9D9 " /><bgColor indexed= " 64 " /></patternFill></fill><fill><patternFill patternType= " solid " ><fgColor rgb= " FFD99795 " /><bgColor indexed= " 64 " /></patternFill></fill><fill><patternFill patternType= " solid " ><fgColor rgb= " ffc6efce " /><bgColor indexed= " 64 " /></patternFill></fill><fill><patternFill patternType= " solid " ><fgColor rgb= " ffc6cfef " /><bgColor indexed= " 64 " /></patternFill></fill></fills><borders count= " 2 " ><border><left /><right /><top /><bottom /><diagonal /></border><border diagonalUp= " false " diagonalDown= " false " ><left style= " thin " ><color auto= " 1 " /></left><right style= " thin " ><color auto= " 1 " /></right><top style= " thin " ><color auto= " 1 " /></top><bottom style= " thin " ><color auto= " 1 " /></bottom><diagonal /></border></borders><cellStyleXfs count= " 1 " ><xf numFmtId= " 0 " fontId= " 0 " fillId= " 0 " borderId= " 0 " /></cellStyleXfs><cellXfs count= " 56 " ><xf numFmtId= " 0 " fontId= " 0 " fillId= " 0 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " fontId= " 1 " fillId= " 0 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " fontId= " 2 " fillId= " 0 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " fontId= " 3 " fillId= " 0 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " fontId= " 4 " fillId= " 0 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " fontId= " 0 " fillId= " 2 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " fontId= " 1 " fillId= " 2 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " fontId= " 2 " fillId= " 2 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " fontId= " 3 " fillId= " 2 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " fontId= " 4 " fillId= " 2 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " fontId= " 0 " fillId= " 4 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " fontId= " 1 " fillId= " 4 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " fontId= " 2 " fillId= " 4 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " fontId= " 3 " fillId= " 4 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " fontId= " 4 " fillId= " 4 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " fontId= " 0 " fillId= " 4 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " fontId= " 1 " fillId= " 4 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " fontId= " 2 " fillId= " 4 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " fontId= " 3 " fillId= " 4 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " fontId= " 4 " fillId= " 4 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " fontId= " 0 " fillId= " 5 " borderId= " 0 " applyFont= " 1 " applyFill= " 1 " applyBorder= " 1 " /><xf numFmtId= " 0 " font
r . ext . buttons . copyHtml5 = { className : " buttons-copy buttons-html5 " , text : function ( a ) { return a . i18n ( " buttons.copy " , " Copy " ) } , action : function ( a , b , d , c ) { var a = L ( b , c ) , f = a . str , d = g ( " <div/> " ) . css ( { height : 1 , width : 1 , overflow : " hidden " , position : " fixed " , top : 0 , left : 0 } ) ; c . customize & & ( f = c . customize ( f , c ) ) ; c = g ( " <textarea readonly/> " ) . val ( f ) . appendTo ( d ) ; if ( j . queryCommandSupported ( " copy " ) ) { d . appendTo ( b . table ( ) . container ( ) ) ; c [ 0 ] . focus ( ) ; c [ 0 ] . select ( ) ; try { var e = j . execCommand ( " copy " ) ; d . remove ( ) ; if ( e ) { b . buttons . info ( b . i18n ( " buttons.copyTitle " ,
" Copy to clipboard " ) , b . i18n ( " buttons.copySuccess " , { 1 : " Copied one row to clipboard " , _ : " Copied %d rows to clipboard " } , a . rows ) , 2E3 ) ; return } } catch ( h ) { } } e = g ( " <span> " + b . i18n ( " buttons.copyKeys " , " Press <i>ctrl</i> or <i>⌘</i> + <i>C</i> to copy the table data<br>to your system clipboard.<br><br>To cancel, click this message or press escape. " ) + " </span> " ) . append ( d ) ; b . buttons . info ( b . i18n ( " buttons.copyTitle " , " Copy to clipboard " ) , e , 0 ) ; c [ 0 ] . focus ( ) ; c [ 0 ] . select ( ) ; var l = g ( e ) . closest ( " .dt-button-info " ) , i = function ( ) { l . off ( " click.buttons-copy " ) ;
g ( j ) . off ( " .buttons-copy " ) ; b . buttons . info ( ! 1 ) } ; l . on ( " click.buttons-copy " , i ) ; g ( j ) . on ( " keydown.buttons-copy " , function ( a ) { 27 == = a . keyCode & & i ( ) } ) . on ( " copy.buttons-copy cut.buttons-copy " , function ( ) { i ( ) } ) } , exportOptions : { } , fieldSeparator : " \t " , fieldBoundary : " " , header : ! 0 , footer : ! 1 } ; r . ext . buttons . csvHtml5 = { bom : ! 1 , className : " buttons-csv buttons-html5 " , available : function ( ) { return i . FileReader != = o & & i . Blob } , text : function ( a ) { return a . i18n ( " buttons.csv " , " CSV " ) } , action : function ( a , b , d , c ) { a = L ( b , c ) . str ; b = c . charset ; c . customize & &
( a = c . customize ( a , c ) ) ; ! 1 != = b ? ( b | | ( b = j . characterSet | | j . charset ) , b & & ( b = " ;charset= " + b ) ) : b = " " ; c . bom & & ( a = " " + a ) ; q ( new Blob ( [ a ] , { type : " text/csv " + b } ) , x ( c ) , ! 0 ) } , filename : " * " , extension : " .csv " , exportOptions : { } , fieldSeparator : " , " , fieldBoundary : ' " ' , escapeChar : ' " ' , charset : null , header : ! 0 , footer : ! 1 } ; r . ext . buttons . excelHtml5 = { className : " buttons-excel buttons-html5 " , available : function ( ) { return i . FileReader != = o & & ( t | | i . JSZip ) != = o & & ! M ( ) & & y } , text : function ( a ) { return a . i18n ( " buttons.excel " , " Excel " ) } , action : function ( a , b ,
d , c ) { var f = 0 , a = function ( a ) { return g . parseXML ( F [ a ] ) } , e = a ( " xl/worksheets/sheet1.xml " ) , h = e . getElementsByTagName ( " sheetData " ) [ 0 ] , a = { _rels : { " .rels " : a ( " _rels/.rels " ) } , xl : { _rels : { " workbook.xml.rels " : a ( " xl/_rels/workbook.xml.rels " ) } , " workbook.xml " : a ( " xl/workbook.xml " ) , " styles.xml " : a ( " xl/styles.xml " ) , worksheets : { " sheet1.xml " : e } } , " [Content_Types].xml " : a ( " [Content_Types].xml " ) } , b = b . buttons . exportData ( c . exportOptions ) , l , j , d = function ( a ) { l = f + 1 ; j = p ( e , " row " , { attr : { r : l } } ) ; for ( var b = 0 , c = a . length ; b < c ; b + + ) { for ( var d =
b , i = " " ; 0 < = d ; ) i = String . fromCharCode ( d % 26 + 65 ) + i , d = Math . floor ( d / 26 ) - 1 ; d = i + " " + l ; if ( null == = a [ b ] | | a [ b ] == = o ) a [ b ] = " " ; " number " == = typeof a [ b ] | | a [ b ] . match & & g . trim ( a [ b ] ) . match ( / ^ - ? \d + ( \. \d + ) ? $ / ) & & ! g . trim ( a [ b ] ) . match ( / ^ 0 \d + / ) ? d = p ( e , " c " , { attr : { t : " n " , r : d } , children : [ p ( e , " v " , { text : a [ b ] } ) ] } ) : ( i = ! a [ b ] . replace ? a [ b ] : a [ b ] . replace ( / [ \x00 - \x09 \x0B \x0C \x0E - \x1F \x7F - \x9F ] / g , " " ) , d = p ( e , " c " , { attr : { t : " inlineStr " , r : d } , children : { row : p ( e , " is " , { children : { row : p ( e , " t " , { text : i } ) } } ) } } ) ) ; j . appendChild ( d ) } h . appendChild ( j ) ; f + + } ; g ( " sheets sheet " ,
2016-12-25 15:10:53 +00:00
a . xl [ " workbook.xml " ] ) . attr ( " name " , Q ( c ) ) ; c . customizeData & & c . customizeData ( b ) ; c . header & & ( d ( b . header , f ) , g ( " row c " , e ) . attr ( " s " , " 2 " ) ) ; for ( var m = 0 , k = b . body . length ; m < k ; m + + ) d ( b . body [ m ] , f ) ; c . footer & & b . footer & & ( d ( b . footer , f ) , g ( " row:last c " , e ) . attr ( " s " , " 2 " ) ) ; d = p ( e , " cols " ) ; g ( " worksheet " , e ) . prepend ( d ) ; m = 0 ; for ( k = b . header . length ; m < k ; m + + ) d . appendChild ( p ( e , " col " , { attr : { min : m + 1 , max : m + 1 , width : N ( b , m ) , customWidth : 1 } } ) ) ; c . customize & & c . customize ( a ) ; b = new ( t | | i . JSZip ) ; d = { type : " blob " , mimeType : " applications/vnd.openxmlformats-officedocument.spreadsheetml.sheet " } ;
2016-09-22 08:06:46 +00:00
E ( b , a ) ; b . generateAsync ? b . generateAsync ( d ) . then ( function ( a ) { q ( a , x ( c ) ) } ) : q ( b . generate ( d ) , x ( c ) ) } , filename : " * " , extension : " .xlsx " , exportOptions : { } , header : ! 0 , footer : ! 1 } ; r . ext . buttons . pdfHtml5 = { className : " buttons-pdf buttons-html5 " , available : function ( ) { return i . FileReader != = o & & ( u | | i . pdfMake ) } , text : function ( a ) { return a . i18n ( " buttons.pdf " , " PDF " ) } , action : function ( a , b , d , c ) { K ( c ) ; var a = b . buttons . exportData ( c . exportOptions ) , f = [ ] ; c . header & & f . push ( g . map ( a . header , function ( a ) { return { text : " string " == = typeof a ? a : a + " " ,
style : " tableHeader " } } ) ) ; for ( var e = 0 , h = a . body . length ; e < h ; e + + ) f . push ( g . map ( a . body [ e ] , function ( a ) { return { text : " string " == = typeof a ? a : a + " " , style : e % 2 ? " tableBodyEven " : " tableBodyOdd " } } ) ) ; c . footer & & a . footer & & f . push ( g . map ( a . footer , function ( a ) { return { text : " string " == = typeof a ? a : a + " " , style : " tableFooter " } } ) ) ; a = { pageSize : c . pageSize , pageOrientation : c . orientation , content : [ { table : { headerRows : 1 , body : f } , layout : " noBorders " } ] , styles : { tableHeader : { bold : ! 0 , fontSize : 11 , color : " white " , fillColor : " #2d4154 " , alignment : " center " } ,
tableBodyEven : { } , tableBodyOdd : { fillColor : " #f3f3f3 " } , tableFooter : { bold : ! 0 , fontSize : 11 , color : " white " , fillColor : " #2d4154 " } , title : { alignment : " center " , fontSize : 15 } , message : { } } , defaultStyle : { fontSize : 10 } } ; c . message & & a . content . unshift ( { text : " function " == typeof c . message ? c . message ( b , d , c ) : c . message , style : " message " , margin : [ 0 , 0 , 0 , 12 ] } ) ; c . title & & a . content . unshift ( { text : R ( c , ! 1 ) , style : " title " , margin : [ 0 , 0 , 0 , 12 ] } ) ; c . customize & & c . customize ( a , c ) ; b = ( u | | i . pdfMake ) . createPdf ( a ) ; " open " == = c . download & & ! M ( ) ? b . open ( ) : b . getBuffer ( function ( a ) { a =
2016-12-25 15:10:53 +00:00
new Blob ( [ a ] , { type : " applications/pdf " } ) ; q ( a , x ( c ) ) } ) } , title : " * " , filename : " * " , extension : " .pdf " , exportOptions : { } , orientation : " portrait " , pageSize : " A4 " , header : ! 0 , footer : ! 1 , message : null , customize : null , download : " download " } ; return r . Buttons } ) ;
2016-09-22 08:06:46 +00:00
( function ( f ) { " function " == = typeof define & & define . amd ? define ( [ " jquery " , " datatables.net " , " datatables.net-buttons " ] , function ( e ) { return f ( e , window , document ) } ) : " object " == = typeof exports ? module . exports = function ( e , c ) { e | | ( e = window ) ; if ( ! c | | ! c . fn . dataTable ) c = require ( " datatables.net " ) ( e , c ) . $ ; c . fn . dataTable . Buttons | | require ( " datatables.net-buttons " ) ( e , c ) ; return f ( c , e , e . document ) } : f ( jQuery , window , document ) } ) ( function ( f , e , c ) { var i = f . fn . dataTable , h = c . createElement ( " a " ) ; i . ext . buttons . print = { className : " buttons-print " ,
text : function ( b ) { return b . i18n ( " buttons.print " , " Print " ) } , action : function ( b , c , i , d ) { var a = c . buttons . exportData ( d . exportOptions ) , k = function ( b , a ) { for ( var c = " <tr> " , d = 0 , e = b . length ; d < e ; d + + ) c + = " < " + a + " > " + b [ d ] + " </ " + a + " > " ; return c + " </tr> " } , b = ' <table class= " ' + c . table ( ) . node ( ) . className + ' " > ' ; d . header & & ( b + = " <thead> " + k ( a . header , " th " ) + " </thead> " ) ; for ( var b = b + " <tbody> " , l = 0 , m = a . body . length ; l < m ; l + + ) b + = k ( a . body [ l ] , " td " ) ; b + = " </tbody> " ; d . footer & & a . footer & & ( b + = " <tfoot> " + k ( a . footer , " th " ) + " </tfoot> " ) ; var g = e . open ( " " , " " ) ,
a = d . title ; " function " == = typeof a & & ( a = a ( ) ) ; - 1 != = a . indexOf ( " * " ) & & ( a = a . replace ( " * " , f ( " title " ) . text ( ) ) ) ; g . document . close ( ) ; var j = " <title> " + a + " </title> " ; f ( " style, link " ) . each ( function ( ) { var c = j , b = f ( this ) . clone ( ) [ 0 ] , a ; " link " == = b . nodeName . toLowerCase ( ) & & ( h . href = b . href , a = h . host , - 1 == = a . indexOf ( " / " ) & & 0 != = h . pathname . indexOf ( " / " ) & & ( a + = " / " ) , b . href = h . protocol + " // " + a + h . pathname + h . search ) ; j = c + b . outerHTML } ) ; try { g . document . head . innerHTML = j } catch ( n ) { f ( g . document . head ) . html ( j ) } g . document . body . innerHTML = " <h1> " + a + " </h1><div> " +
( " function " == = typeof d . message ? d . message ( c , i , d ) : d . message ) + " </div> " + b ; d . customize & & d . customize ( g ) ; setTimeout ( function ( ) { d . autoPrint & & ( g . print ( ) , g . close ( ) ) } , 250 ) } , title : " * " , message : " " , exportOptions : { } , header : ! 0 , footer : ! 1 , autoPrint : ! 0 , customize : null } ; return i . Buttons } ) ;
/ * !
ColReorder 1.3 .2
© 2010 - 2015 SpryMedia Ltd - datatables . net / license
* /
( function ( f ) { " function " == = typeof define & & define . amd ? define ( [ " jquery " , " datatables.net " ] , function ( o ) { return f ( o , window , document ) } ) : " object " == = typeof exports ? module . exports = function ( o , l ) { o | | ( o = window ) ; if ( ! l | | ! l . fn . dataTable ) l = require ( " datatables.net " ) ( o , l ) . $ ; return f ( l , o , o . document ) } : f ( jQuery , window , document ) } ) ( function ( f , o , l , r ) { function q ( a ) { for ( var b = [ ] , d = 0 , e = a . length ; d < e ; d + + ) b [ a [ d ] ] = d ; return b } function p ( a , b , d ) { b = a . splice ( b , 1 ) [ 0 ] ; a . splice ( d , 0 , b ) } function s ( a , b , d ) { for ( var e = [ ] , f = 0 , c = a . childNodes . length ; f <
c ; f + + ) 1 == a . childNodes [ f ] . nodeType & & e . push ( a . childNodes [ f ] ) ; b = e [ b ] ; null != = d ? a . insertBefore ( b , e [ d ] ) : a . appendChild ( b ) } var t = f . fn . dataTable ; f . fn . dataTableExt . oApi . fnColReorder = function ( a , b , d , e , g ) { var c , h , j , m , i , l = a . aoColumns . length , k ; i = function ( a , b , c ) { if ( a [ b ] & & " function " != = typeof a [ b ] ) { var d = a [ b ] . split ( " . " ) , e = d . shift ( ) ; isNaN ( 1 * e ) | | ( a [ b ] = c [ 1 * e ] + " . " + d . join ( " . " ) ) } } ; if ( b != d ) if ( 0 > b | | b > = l ) this . oApi . _fnLog ( a , 1 , " ColReorder ' from ' index is out of bounds: " + b ) ; else if ( 0 > d | | d > = l ) this . oApi . _fnLog ( a , 1 , " ColReorder ' to ' index is out of bounds: " +
d ) ; else { j = [ ] ; c = 0 ; for ( h = l ; c < h ; c + + ) j [ c ] = c ; p ( j , b , d ) ; var n = q ( j ) ; c = 0 ; for ( h = a . aaSorting . length ; c < h ; c + + ) a . aaSorting [ c ] [ 0 ] = n [ a . aaSorting [ c ] [ 0 ] ] ; if ( null != = a . aaSortingFixed ) { c = 0 ; for ( h = a . aaSortingFixed . length ; c < h ; c + + ) a . aaSortingFixed [ c ] [ 0 ] = n [ a . aaSortingFixed [ c ] [ 0 ] ] } c = 0 ; for ( h = l ; c < h ; c + + ) { k = a . aoColumns [ c ] ; j = 0 ; for ( m = k . aDataSort . length ; j < m ; j + + ) k . aDataSort [ j ] = n [ k . aDataSort [ j ] ] ; k . idx = n [ k . idx ] } f . each ( a . aLastSort , function ( b , c ) { a . aLastSort [ b ] . src = n [ c . src ] } ) ; c = 0 ; for ( h = l ; c < h ; c + + ) k = a . aoColumns [ c ] , " number " == typeof k . mData ?
k . mData = n [ k . mData ] : f . isPlainObject ( k . mData ) & & ( i ( k . mData , " _ " , n ) , i ( k . mData , " filter " , n ) , i ( k . mData , " sort " , n ) , i ( k . mData , " type " , n ) ) ; if ( a . aoColumns [ b ] . bVisible ) { i = this . oApi . _fnColumnIndexToVisible ( a , b ) ; m = null ; for ( c = d < b ? d : d + 1 ; null == = m & & c < l ; ) m = this . oApi . _fnColumnIndexToVisible ( a , c ) , c + + ; j = a . nTHead . getElementsByTagName ( " tr " ) ; c = 0 ; for ( h = j . length ; c < h ; c + + ) s ( j [ c ] , i , m ) ; if ( null != = a . nTFoot ) { j = a . nTFoot . getElementsByTagName ( " tr " ) ; c = 0 ; for ( h = j . length ; c < h ; c + + ) s ( j [ c ] , i , m ) } c = 0 ; for ( h = a . aoData . length ; c < h ; c + + ) null != = a . aoData [ c ] . nTr & &
s ( a . aoData [ c ] . nTr , i , m ) } p ( a . aoColumns , b , d ) ; c = 0 ; for ( h = l ; c < h ; c + + ) a . oApi . _fnColumnOptions ( a , c , { } ) ; p ( a . aoPreSearchCols , b , d ) ; c = 0 ; for ( h = a . aoData . length ; c < h ; c + + ) { m = a . aoData [ c ] ; if ( k = m . anCells ) { p ( k , b , d ) ; j = 0 ; for ( i = k . length ; j < i ; j + + ) k [ j ] & & k [ j ] . _DT_CellIndex & & ( k [ j ] . _DT_CellIndex . column = j ) } " dom " != = m . src & & f . isArray ( m . _aData ) & & p ( m . _aData , b , d ) } c = 0 ; for ( h = a . aoHeader . length ; c < h ; c + + ) p ( a . aoHeader [ c ] , b , d ) ; if ( null != = a . aoFooter ) { c = 0 ; for ( h = a . aoFooter . length ; c < h ; c + + ) p ( a . aoFooter [ c ] , b , d ) } ( g | | g == = r ) & & f . fn . dataTable . Api ( a ) . rows ( ) . invalidate ( ) ;
c = 0 ; for ( h = l ; c < h ; c + + ) f ( a . aoColumns [ c ] . nTh ) . off ( " click.DT " ) , this . oApi . _fnSortAttachListener ( a , a . aoColumns [ c ] . nTh , c ) ; f ( a . oInstance ) . trigger ( " column-reorder.dt " , [ a , { from : b , to : d , mapping : n , drop : e , iFrom : b , iTo : d , aiInvertMapping : n } ] ) } } ; var i = function ( a , b ) { var d = ( new f . fn . dataTable . Api ( a ) ) . settings ( ) [ 0 ] ; if ( d . _colReorder ) return d . _colReorder ; ! 0 == = b & & ( b = { } ) ; var e = f . fn . dataTable . camelToHungarian ; e & & ( e ( i . defaults , i . defaults , ! 0 ) , e ( i . defaults , b | | { } ) ) ; this . s = { dt : null , init : f . extend ( ! 0 , { } , i . defaults , b ) , fixed : 0 , fixedRight : 0 ,
reorderCallback : null , mouse : { startX : - 1 , startY : - 1 , offsetX : - 1 , offsetY : - 1 , target : - 1 , targetIndex : - 1 , fromIndex : - 1 } , aoTargets : [ ] } ; this . dom = { drag : null , pointer : null } ; this . s . dt = d ; this . s . dt . _colReorder = this ; this . _fnConstruct ( ) ; return this } ; f . extend ( i . prototype , { fnReset : function ( ) { this . _fnOrderColumns ( this . fnOrder ( ) ) ; return this } , fnGetCurrentOrder : function ( ) { return this . fnOrder ( ) } , fnOrder : function ( a , b ) { var d = [ ] , e , g , c = this . s . dt . aoColumns ; if ( a == = r ) { e = 0 ; for ( g = c . length ; e < g ; e + + ) d . push ( c [ e ] . _ColReorder_iOrigCol ) ; return d } if ( b ) { c =
this . fnOrder ( ) ; e = 0 ; for ( g = a . length ; e < g ; e + + ) d . push ( f . inArray ( a [ e ] , c ) ) ; a = d } this . _fnOrderColumns ( q ( a ) ) ; return this } , fnTranspose : function ( a , b ) { b | | ( b = " toCurrent " ) ; var d = this . fnOrder ( ) , e = this . s . dt . aoColumns ; return " toCurrent " == = b ? ! f . isArray ( a ) ? f . inArray ( a , d ) : f . map ( a , function ( a ) { return f . inArray ( a , d ) } ) : ! f . isArray ( a ) ? e [ a ] . _ColReorder_iOrigCol : f . map ( a , function ( a ) { return e [ a ] . _ColReorder_iOrigCol } ) } , _fnConstruct : function ( ) { var a = this , b = this . s . dt . aoColumns . length , d = this . s . dt . nTable , e ; this . s . init . iFixedColumns & &
( this . s . fixed = this . s . init . iFixedColumns ) ; this . s . init . iFixedColumnsLeft & & ( this . s . fixed = this . s . init . iFixedColumnsLeft ) ; this . s . fixedRight = this . s . init . iFixedColumnsRight ? this . s . init . iFixedColumnsRight : 0 ; this . s . init . fnReorderCallback & & ( this . s . reorderCallback = this . s . init . fnReorderCallback ) ; for ( e = 0 ; e < b ; e + + ) e > this . s . fixed - 1 & & e < b - this . s . fixedRight & & this . _fnMouseListener ( e , this . s . dt . aoColumns [ e ] . nTh ) , this . s . dt . aoColumns [ e ] . _ColReorder_iOrigCol = e ; this . s . dt . oApi . _fnCallbackReg ( this . s . dt , " aoStateSaveParams " , function ( b ,
c ) { a . _fnStateSave . call ( a , c ) } , " ColReorder_State " ) ; var g = null ; this . s . init . aiOrder & & ( g = this . s . init . aiOrder . slice ( ) ) ; this . s . dt . oLoadedState & & ( " undefined " != typeof this . s . dt . oLoadedState . ColReorder & & this . s . dt . oLoadedState . ColReorder . length == this . s . dt . aoColumns . length ) & & ( g = this . s . dt . oLoadedState . ColReorder ) ; if ( g ) if ( a . s . dt . _bInitComplete ) b = q ( g ) , a . _fnOrderColumns . call ( a , b ) ; else { var c = ! 1 ; f ( d ) . on ( " draw.dt.colReorder " , function ( ) { if ( ! a . s . dt . _bInitComplete & & ! c ) { c = true ; var b = q ( g ) ; a . _fnOrderColumns . call ( a , b ) } } ) } else this . _fnSetColumnIndexes ( ) ;
f ( d ) . on ( " destroy.dt.colReorder " , function ( ) { f ( d ) . off ( " destroy.dt.colReorder draw.dt.colReorder " ) ; f ( a . s . dt . nTHead ) . find ( " * " ) . off ( " .ColReorder " ) ; f . each ( a . s . dt . aoColumns , function ( a , b ) { f ( b . nTh ) . removeAttr ( " data-column-index " ) } ) ; a . s . dt . _colReorder = null ; a . s = null } ) } , _fnOrderColumns : function ( a ) { var b = ! 1 ; if ( a . length != this . s . dt . aoColumns . length ) this . s . dt . oInstance . oApi . _fnLog ( this . s . dt , 1 , " ColReorder - array reorder does not match known number of columns. Skipping. " ) ; else { for ( var d = 0 , e = a . length ; d < e ; d + + ) { var g =
f . inArray ( d , a ) ; d != g & & ( p ( a , g , d ) , this . s . dt . oInstance . fnColReorder ( g , d , ! 0 , ! 1 ) , b = ! 0 ) } f . fn . dataTable . Api ( this . s . dt ) . rows ( ) . invalidate ( ) ; this . _fnSetColumnIndexes ( ) ; b & & ( ( " " != = this . s . dt . oScroll . sX | | " " != = this . s . dt . oScroll . sY ) & & this . s . dt . oInstance . fnAdjustColumnSizing ( ! 1 ) , this . s . dt . oInstance . oApi . _fnSaveState ( this . s . dt ) , null != = this . s . reorderCallback & & this . s . reorderCallback . call ( this ) ) } } , _fnStateSave : function ( a ) { var b , d , e , g = this . s . dt . aoColumns ; a . ColReorder = [ ] ; if ( a . aaSorting ) { for ( b = 0 ; b < a . aaSorting . length ; b + + ) a . aaSorting [ b ] [ 0 ] =
g [ a . aaSorting [ b ] [ 0 ] ] . _ColReorder_iOrigCol ; var c = f . extend ( ! 0 , [ ] , a . aoSearchCols ) ; b = 0 ; for ( d = g . length ; b < d ; b + + ) e = g [ b ] . _ColReorder_iOrigCol , a . aoSearchCols [ e ] = c [ b ] , a . abVisCols [ e ] = g [ b ] . bVisible , a . ColReorder . push ( e ) } else if ( a . order ) { for ( b = 0 ; b < a . order . length ; b + + ) a . order [ b ] [ 0 ] = g [ a . order [ b ] [ 0 ] ] . _ColReorder_iOrigCol ; c = f . extend ( ! 0 , [ ] , a . columns ) ; b = 0 ; for ( d = g . length ; b < d ; b + + ) e = g [ b ] . _ColReorder_iOrigCol , a . columns [ e ] = c [ b ] , a . ColReorder . push ( e ) } } , _fnMouseListener : function ( a , b ) { var d = this ; f ( b ) . on ( " mousedown.ColReorder " ,
function ( a ) { a . preventDefault ( ) ; d . _fnMouseDown . call ( d , a , b ) } ) } , _fnMouseDown : function ( a , b ) { var d = this , e = f ( a . target ) . closest ( " th, td " ) . offset ( ) , g = parseInt ( f ( b ) . attr ( " data-column-index " ) , 10 ) ; g != = r & & ( this . s . mouse . startX = a . pageX , this . s . mouse . startY = a . pageY , this . s . mouse . offsetX = a . pageX - e . left , this . s . mouse . offsetY = a . pageY - e . top , this . s . mouse . target = this . s . dt . aoColumns [ g ] . nTh , this . s . mouse . targetIndex = g , this . s . mouse . fromIndex = g , this . _fnRegions ( ) , f ( l ) . on ( " mousemove.ColReorder " , function ( a ) { d . _fnMouseMove . call ( d ,
a ) } ) . on ( " mouseup.ColReorder " , function ( a ) { d . _fnMouseUp . call ( d , a ) } ) ) } , _fnMouseMove : function ( a ) { if ( null == = this . dom . drag ) { if ( 5 > Math . pow ( Math . pow ( a . pageX - this . s . mouse . startX , 2 ) + Math . pow ( a . pageY - this . s . mouse . startY , 2 ) , 0.5 ) ) return ; this . _fnCreateDragNode ( ) } this . dom . drag . css ( { left : a . pageX - this . s . mouse . offsetX , top : a . pageY - this . s . mouse . offsetY } ) ; for ( var b = ! 1 , d = this . s . mouse . toIndex , e = 1 , f = this . s . aoTargets . length ; e < f ; e + + ) if ( a . pageX < this . s . aoTargets [ e - 1 ] . x + ( this . s . aoTargets [ e ] . x - this . s . aoTargets [ e - 1 ] . x ) / 2 ) { this . dom . pointer . css ( " left " ,
this . s . aoTargets [ e - 1 ] . x ) ; this . s . mouse . toIndex = this . s . aoTargets [ e - 1 ] . to ; b = ! 0 ; break } b | | ( this . dom . pointer . css ( " left " , this . s . aoTargets [ this . s . aoTargets . length - 1 ] . x ) , this . s . mouse . toIndex = this . s . aoTargets [ this . s . aoTargets . length - 1 ] . to ) ; this . s . init . bRealtime & & d != = this . s . mouse . toIndex & & ( this . s . dt . oInstance . fnColReorder ( this . s . mouse . fromIndex , this . s . mouse . toIndex , ! 1 ) , this . s . mouse . fromIndex = this . s . mouse . toIndex , this . _fnRegions ( ) ) } , _fnMouseUp : function ( ) { f ( l ) . off ( " mousemove.ColReorder mouseup.ColReorder " ) ; null != =
this . dom . drag & & ( this . dom . drag . remove ( ) , this . dom . pointer . remove ( ) , this . dom . drag = null , this . dom . pointer = null , this . s . dt . oInstance . fnColReorder ( this . s . mouse . fromIndex , this . s . mouse . toIndex , ! 0 ) , this . _fnSetColumnIndexes ( ) , ( " " != = this . s . dt . oScroll . sX | | " " != = this . s . dt . oScroll . sY ) & & this . s . dt . oInstance . fnAdjustColumnSizing ( ! 1 ) , this . s . dt . oInstance . oApi . _fnSaveState ( this . s . dt ) , null != = this . s . reorderCallback & & this . s . reorderCallback . call ( this ) ) } , _fnRegions : function ( ) { var a = this . s . dt . aoColumns ; this . s . aoTargets . splice ( 0 ,
this . s . aoTargets . length ) ; this . s . aoTargets . push ( { x : f ( this . s . dt . nTable ) . offset ( ) . left , to : 0 } ) ; for ( var b = 0 , d = this . s . aoTargets [ 0 ] . x , e = 0 , g = a . length ; e < g ; e + + ) e != this . s . mouse . fromIndex & & b + + , a [ e ] . bVisible & & " none " != = a [ e ] . nTh . style . display & & ( d + = f ( a [ e ] . nTh ) . outerWidth ( ) , this . s . aoTargets . push ( { x : d , to : b } ) ) ; 0 != = this . s . fixedRight & & this . s . aoTargets . splice ( this . s . aoTargets . length - this . s . fixedRight ) ; 0 != = this . s . fixed & & this . s . aoTargets . splice ( 0 , this . s . fixed ) } , _fnCreateDragNode : function ( ) { var a = " " != = this . s . dt . oScroll . sX | |
" " != = this . s . dt . oScroll . sY , b = this . s . dt . aoColumns [ this . s . mouse . targetIndex ] . nTh , d = b . parentNode , e = d . parentNode , g = e . parentNode , c = f ( b ) . clone ( ) ; this . dom . drag = f ( g . cloneNode ( ! 1 ) ) . addClass ( " DTCR_clonedTable " ) . append ( f ( e . cloneNode ( ! 1 ) ) . append ( f ( d . cloneNode ( ! 1 ) ) . append ( c [ 0 ] ) ) ) . css ( { position : " absolute " , top : 0 , left : 0 , width : f ( b ) . outerWidth ( ) , height : f ( b ) . outerHeight ( ) } ) . appendTo ( " body " ) ; this . dom . pointer = f ( " <div></div> " ) . addClass ( " DTCR_pointer " ) . css ( { position : " absolute " , top : a ? f ( " div.dataTables_scroll " , this . s . dt . nTableWrapper ) . offset ( ) . top :
f ( this . s . dt . nTable ) . offset ( ) . top , height : a ? f ( " div.dataTables_scroll " , this . s . dt . nTableWrapper ) . height ( ) : f ( this . s . dt . nTable ) . height ( ) } ) . appendTo ( " body " ) } , _fnSetColumnIndexes : function ( ) { f . each ( this . s . dt . aoColumns , function ( a , b ) { f ( b . nTh ) . attr ( " data-column-index " , a ) } ) } } ) ; i . defaults = { aiOrder : null , bRealtime : ! 0 , iFixedColumnsLeft : 0 , iFixedColumnsRight : 0 , fnReorderCallback : null } ; i . version = " 1.3.2 " ; f . fn . dataTable . ColReorder = i ; f . fn . DataTable . ColReorder = i ; " function " == typeof f . fn . dataTable & & " function " == typeof f . fn . dataTableExt . fnVersionCheck & &
f . fn . dataTableExt . fnVersionCheck ( " 1.10.8 " ) ? f . fn . dataTableExt . aoFeatures . push ( { fnInit : function ( a ) { var b = a . oInstance ; a . _colReorder ? b . oApi . _fnLog ( a , 1 , " ColReorder attempted to initialise twice. Ignoring second " ) : ( b = a . oInit , new i ( a , b . colReorder | | b . oColReorder | | { } ) ) ; return null } , cFeature : " R " , sFeature : " ColReorder " } ) : alert ( " Warning: ColReorder requires DataTables 1.10.8 or greater - www.datatables.net/download " ) ; f ( l ) . on ( " preInit.dt.colReorder " , function ( a , b ) { if ( " dt " == = a . namespace ) { var d = b . oInit . colReorder ,
e = t . defaults . colReorder ; if ( d | | e ) e = f . extend ( { } , d , e ) , ! 1 != = d & & new i ( b , e ) } } ) ; f . fn . dataTable . Api . register ( " colReorder.reset() " , function ( ) { return this . iterator ( " table " , function ( a ) { a . _colReorder . fnReset ( ) } ) } ) ; f . fn . dataTable . Api . register ( " colReorder.order() " , function ( a , b ) { return a ? this . iterator ( " table " , function ( d ) { d . _colReorder . fnOrder ( a , b ) } ) : this . context . length ? this . context [ 0 ] . _colReorder . fnOrder ( ) : null } ) ; f . fn . dataTable . Api . register ( " colReorder.transpose() " , function ( a , b ) { return this . context . length & & this . context [ 0 ] . _colReorder ?
this . context [ 0 ] . _colReorder . fnTranspose ( a , b ) : a } ) ; return i } ) ;
/ * !
FixedColumns 3.2 .2
© 2010 - 2016 SpryMedia Ltd - datatables . net / license
* /
( function ( d ) { " function " == = typeof define & & define . amd ? define ( [ " jquery " , " datatables.net " ] , function ( q ) { return d ( q , window , document ) } ) : " object " == = typeof exports ? module . exports = function ( q , r ) { q | | ( q = window ) ; if ( ! r | | ! r . fn . dataTable ) r = require ( " datatables.net " ) ( q , r ) . $ ; return d ( r , q , q . document ) } : d ( jQuery , window , document ) } ) ( function ( d , q , r , t ) { var s = d . fn . dataTable , u , m = function ( a , b ) { var c = this ; if ( this instanceof m ) { if ( b == = t | | ! 0 == = b ) b = { } ; var e = d . fn . dataTable . camelToHungarian ; e & & ( e ( m . defaults , m . defaults , ! 0 ) , e ( m . defaults ,
b ) ) ; e = ( new d . fn . dataTable . Api ( a ) ) . settings ( ) [ 0 ] ; this . s = { dt : e , iTableColumns : e . aoColumns . length , aiOuterWidths : [ ] , aiInnerWidths : [ ] , rtl : " rtl " == = d ( e . nTable ) . css ( " direction " ) } ; this . dom = { scroller : null , header : null , body : null , footer : null , grid : { wrapper : null , dt : null , left : { wrapper : null , head : null , body : null , foot : null } , right : { wrapper : null , head : null , body : null , foot : null } } , clone : { left : { header : null , body : null , footer : null } , right : { header : null , body : null , footer : null } } } ; if ( e . _oFixedColumns ) throw " FixedColumns already initialised on this table " ;
e . _oFixedColumns = this ; e . _bInitComplete ? this . _fnConstruct ( b ) : e . oApi . _fnCallbackReg ( e , " aoInitComplete " , function ( ) { c . _fnConstruct ( b ) } , " FixedColumns " ) } else alert ( " FixedColumns warning: FixedColumns must be initialised with the ' new ' keyword. " ) } ; d . extend ( m . prototype , { fnUpdate : function ( ) { this . _fnDraw ( ! 0 ) } , fnRedrawLayout : function ( ) { this . _fnColCalc ( ) ; this . _fnGridLayout ( ) ; this . fnUpdate ( ) } , fnRecalculateHeight : function ( a ) { delete a . _DTTC_iHeight ; a . style . height = " auto " } , fnSetRowHeight : function ( a , b ) { a . style . height =
b + " px " } , fnGetPosition : function ( a ) { var b = this . s . dt . oInstance ; if ( d ( a ) . parents ( " .DTFC_Cloned " ) . length ) { if ( " tr " == = a . nodeName . toLowerCase ( ) ) return a = d ( a ) . index ( ) , b . fnGetPosition ( d ( " tr " , this . s . dt . nTBody ) [ a ] ) ; var c = d ( a ) . index ( ) , a = d ( a . parentNode ) . index ( ) ; return [ b . fnGetPosition ( d ( " tr " , this . s . dt . nTBody ) [ a ] ) , c , b . oApi . _fnVisibleToColumnIndex ( this . s . dt , c ) ] } return b . fnGetPosition ( a ) } , _fnConstruct : function ( a ) { var b = this ; if ( " function " != typeof this . s . dt . oInstance . fnVersionCheck | | ! 0 != = this . s . dt . oInstance . fnVersionCheck ( " 1.8.0 " ) ) alert ( " FixedColumns " +
m . VERSION + " required DataTables 1.8.0 or later. Please upgrade your DataTables installation " ) ; else if ( " " == = this . s . dt . oScroll . sX ) this . s . dt . oInstance . oApi . _fnLog ( this . s . dt , 1 , " FixedColumns is not needed (no x-scrolling in DataTables enabled), so no action will be taken. Use ' FixedHeader ' for column fixing when scrolling is not enabled " ) ; else { this . s = d . extend ( ! 0 , this . s , m . defaults , a ) ; a = this . s . dt . oClasses ; this . dom . grid . dt = d ( this . s . dt . nTable ) . parents ( " div. " + a . sScrollWrapper ) [ 0 ] ; this . dom . scroller = d ( " div. " +
a . sScrollBody , this . dom . grid . dt ) [ 0 ] ; this . _fnColCalc ( ) ; this . _fnGridSetup ( ) ; var c , e = ! 1 ; d ( this . s . dt . nTableWrapper ) . on ( " mousedown.DTFC " , function ( ) { e = ! 0 ; d ( r ) . one ( " mouseup " , function ( ) { e = ! 1 } ) } ) ; d ( this . dom . scroller ) . on ( " mouseover.DTFC touchstart.DTFC " , function ( ) { e | | ( c = " main " ) } ) . on ( " scroll.DTFC " , function ( a ) { ! c & & a . originalEvent & & ( c = " main " ) ; if ( " main " == = c & & ( 0 < b . s . iLeftColumns & & ( b . dom . grid . left . liner . scrollTop = b . dom . scroller . scrollTop ) , 0 < b . s . iRightColumns ) ) b . dom . grid . right . liner . scrollTop = b . dom . scroller . scrollTop } ) ;
var f = " onwheel " in r . createElement ( " div " ) ? " wheel.DTFC " : " mousewheel.DTFC " ; if ( 0 < b . s . iLeftColumns ) d ( b . dom . grid . left . liner ) . on ( " mouseover.DTFC touchstart.DTFC " , function ( ) { e | | ( c = " left " ) } ) . on ( " scroll.DTFC " , function ( a ) { ! c & & a . originalEvent & & ( c = " left " ) ; " left " == = c & & ( b . dom . scroller . scrollTop = b . dom . grid . left . liner . scrollTop , 0 < b . s . iRightColumns & & ( b . dom . grid . right . liner . scrollTop = b . dom . grid . left . liner . scrollTop ) ) } ) . on ( f , function ( a ) { b . dom . scroller . scrollLeft - = " wheel " == = a . type ? - a . originalEvent . deltaX : a . originalEvent . wheelDeltaX } ) ;
if ( 0 < b . s . iRightColumns ) d ( b . dom . grid . right . liner ) . on ( " mouseover.DTFC touchstart.DTFC " , function ( ) { e | | ( c = " right " ) } ) . on ( " scroll.DTFC " , function ( a ) { ! c & & a . originalEvent & & ( c = " right " ) ; " right " == = c & & ( b . dom . scroller . scrollTop = b . dom . grid . right . liner . scrollTop , 0 < b . s . iLeftColumns & & ( b . dom . grid . left . liner . scrollTop = b . dom . grid . right . liner . scrollTop ) ) } ) . on ( f , function ( a ) { b . dom . scroller . scrollLeft - = " wheel " == = a . type ? - a . originalEvent . deltaX : a . originalEvent . wheelDeltaX } ) ; d ( q ) . on ( " resize.DTFC " , function ( ) { b . _fnGridLayout . call ( b ) } ) ;
var g = ! 0 , h = d ( this . s . dt . nTable ) ; h . on ( " draw.dt.DTFC " , function ( ) { b . _fnColCalc ( ) ; b . _fnDraw . call ( b , g ) ; g = ! 1 } ) . on ( " column-sizing.dt.DTFC " , function ( ) { b . _fnColCalc ( ) ; b . _fnGridLayout ( b ) } ) . on ( " column-visibility.dt.DTFC " , function ( a , c , d , e , f ) { if ( f == = t | | f ) b . _fnColCalc ( ) , b . _fnGridLayout ( b ) , b . _fnDraw ( ! 0 ) } ) . on ( " select.dt.DTFC deselect.dt.DTFC " , function ( a ) { " dt " == = a . namespace & & b . _fnDraw ( ! 1 ) } ) . on ( " destroy.dt.DTFC " , function ( ) { h . off ( " .DTFC " ) ; d ( b . dom . scroller ) . off ( " .DTFC " ) ; d ( q ) . off ( " .DTFC " ) ; d ( b . s . dt . nTableWrapper ) . off ( " .DTFC " ) ;
d ( b . dom . grid . left . liner ) . off ( " .DTFC " + f ) ; d ( b . dom . grid . left . wrapper ) . remove ( ) ; d ( b . dom . grid . right . liner ) . off ( " .DTFC " + f ) ; d ( b . dom . grid . right . wrapper ) . remove ( ) } ) ; this . _fnGridLayout ( ) ; this . s . dt . oInstance . fnDraw ( ! 1 ) } } , _fnColCalc : function ( ) { var a = this , b = 0 , c = 0 ; this . s . aiInnerWidths = [ ] ; this . s . aiOuterWidths = [ ] ; d . each ( this . s . dt . aoColumns , function ( e , f ) { var g = d ( f . nTh ) , h ; if ( g . filter ( " :visible " ) . length ) { var i = g . outerWidth ( ) ; 0 == = a . s . aiOuterWidths . length & & ( h = d ( a . s . dt . nTable ) . css ( " border-left-width " ) , i + = " string " == =
typeof h ? 1 : parseInt ( h , 10 ) ) ; a . s . aiOuterWidths . length == = a . s . dt . aoColumns . length - 1 & & ( h = d ( a . s . dt . nTable ) . css ( " border-right-width " ) , i + = " string " == = typeof h ? 1 : parseInt ( h , 10 ) ) ; a . s . aiOuterWidths . push ( i ) ; a . s . aiInnerWidths . push ( g . width ( ) ) ; e < a . s . iLeftColumns & & ( b + = i ) ; a . s . iTableColumns - a . s . iRightColumns < = e & & ( c + = i ) } else a . s . aiInnerWidths . push ( 0 ) , a . s . aiOuterWidths . push ( 0 ) } ) ; this . s . iLeftWidth = b ; this . s . iRightWidth = c } , _fnGridSetup : function ( ) { var a = this . _fnDTOverflow ( ) , b ; this . dom . body = this . s . dt . nTable ; this . dom . header =
this . s . dt . nTHead . parentNode ; this . dom . header . parentNode . parentNode . style . position = " relative " ; var c = d ( ' <div class= " DTFC_ScrollWrapper " style= " position:relative; clear:both; " ><div class= " DTFC_LeftWrapper " style= " position:absolute; top:0; left:0; " ><div class= " DTFC_LeftHeadWrapper " style= " position:relative; top:0; left:0; overflow:hidden; " ></div><div class= " DTFC_LeftBodyWrapper " style= " position:relative; top:0; left:0; overflow:hidden; " ><div class= " DTFC_LeftBodyLiner " style= " position:relative; top:0; left:0; overflow-y:scroll; " ></div></div><div class= " DTFC_LeftFootWrapper " style= " position:relative; top:0; left:0; overflow:hidden; " ></div></div><div class= " DTFC_RightWrapper " style= " position:absolute; top:0; right:0; " ><div class= " DTFC_RightHeadWrapper " style= " position:relative; top:0; left:0; " ><div class= " DTFC_RightHeadBlocker DTFC_Blocker " style= " position:absolute; top:0; bottom:0; " ></div></div><div class= " DTFC_RightBodyWrapper " style= " position:relative; top:0; left:0; overflow:hidden; " ><div class= " DTFC_RightBodyLiner " style= " position:relative; top:0; left:0; overflow-y:scroll; " ></div></div><div class= " DTFC_RightFootWrapper " style= " position:relative; top:0; left:0; " ><div class= " DTFC_RightFootBlocker DTFC_Blocker " style= " position:absolute; top:0; bottom:0; " ></div></div></div></div> ' ) [ 0 ] ,
e = c . childNodes [ 0 ] , f = c . childNodes [ 1 ] ; this . dom . grid . dt . parentNode . insertBefore ( c , this . dom . grid . dt ) ; c . appendChild ( this . dom . grid . dt ) ; this . dom . grid . wrapper = c ; 0 < this . s . iLeftColumns & & ( this . dom . grid . left . wrapper = e , this . dom . grid . left . head = e . childNodes [ 0 ] , this . dom . grid . left . body = e . childNodes [ 1 ] , this . dom . grid . left . liner = d ( " div.DTFC_LeftBodyLiner " , c ) [ 0 ] , c . appendChild ( e ) ) ; 0 < this . s . iRightColumns & & ( this . dom . grid . right . wrapper = f , this . dom . grid . right . head = f . childNodes [ 0 ] , this . dom . grid . right . body = f . childNodes [ 1 ] , this . dom . grid . right . liner =
d ( " div.DTFC_RightBodyLiner " , c ) [ 0 ] , f . style . right = a . bar + " px " , b = d ( " div.DTFC_RightHeadBlocker " , c ) [ 0 ] , b . style . width = a . bar + " px " , b . style . right = - a . bar + " px " , this . dom . grid . right . headBlock = b , b = d ( " div.DTFC_RightFootBlocker " , c ) [ 0 ] , b . style . width = a . bar + " px " , b . style . right = - a . bar + " px " , this . dom . grid . right . footBlock = b , c . appendChild ( f ) ) ; if ( this . s . dt . nTFoot & & ( this . dom . footer = this . s . dt . nTFoot . parentNode , 0 < this . s . iLeftColumns & & ( this . dom . grid . left . foot = e . childNodes [ 2 ] ) , 0 < this . s . iRightColumns ) ) this . dom . grid . right . foot = f . childNodes [ 2 ] ;
this . s . rtl & & d ( " div.DTFC_RightHeadBlocker " , c ) . css ( { left : - a . bar + " px " , right : " " } ) } , _fnGridLayout : function ( ) { var a = this , b = this . dom . grid ; d ( b . wrapper ) . width ( ) ; var c = d ( this . s . dt . nTable . parentNode ) . outerHeight ( ) , e = d ( this . s . dt . nTable . parentNode . parentNode ) . outerHeight ( ) , f = this . _fnDTOverflow ( ) , g = this . s . iLeftWidth , h = this . s . iRightWidth , i = " rtl " == = d ( this . dom . body ) . css ( " direction " ) , j = function ( b , c ) { f . bar ? a . _firefoxScrollError ( ) ? 34 < d ( b ) . height ( ) & & ( b . style . width = c + f . bar + " px " ) : b . style . width = c + f . bar + " px " : ( b . style . width =
c + 20 + " px " , b . style . paddingRight = " 20px " , b . style . boxSizing = " border-box " ) } ; f . x & & ( c - = f . bar ) ; b . wrapper . style . height = e + " px " ; 0 < this . s . iLeftColumns & & ( e = b . left . wrapper , e . style . width = g + " px " , e . style . height = " 1px " , i ? ( e . style . left = " " , e . style . right = 0 ) : ( e . style . left = 0 , e . style . right = " " ) , b . left . body . style . height = c + " px " , b . left . foot & & ( b . left . foot . style . top = ( f . x ? f . bar : 0 ) + " px " ) , j ( b . left . liner , g ) , b . left . liner . style . height = c + " px " ) ; 0 < this . s . iRightColumns & & ( e = b . right . wrapper , e . style . width = h + " px " , e . style . height = " 1px " , this . s . rtl ?
( e . style . left = f . y ? f . bar + " px " : 0 , e . style . right = " " ) : ( e . style . left = " " , e . style . right = f . y ? f . bar + " px " : 0 ) , b . right . body . style . height = c + " px " , b . right . foot & & ( b . right . foot . style . top = ( f . x ? f . bar : 0 ) + " px " ) , j ( b . right . liner , h ) , b . right . liner . style . height = c + " px " , b . right . headBlock . style . display = f . y ? " block " : " none " , b . right . footBlock . style . display = f . y ? " block " : " none " ) } , _fnDTOverflow : function ( ) { var a = this . s . dt . nTable , b = a . parentNode , c = { x : ! 1 , y : ! 1 , bar : this . s . dt . oScroll . iBarWidth } ; a . offsetWidth > b . clientWidth & & ( c . x = ! 0 ) ; a . offsetHeight >
b . clientHeight & & ( c . y = ! 0 ) ; return c } , _fnDraw : function ( a ) { this . _fnGridLayout ( ) ; this . _fnCloneLeft ( a ) ; this . _fnCloneRight ( a ) ; null != = this . s . fnDrawCallback & & this . s . fnDrawCallback . call ( this , this . dom . clone . left , this . dom . clone . right ) ; d ( this ) . trigger ( " draw.dtfc " , { leftClone : this . dom . clone . left , rightClone : this . dom . clone . right } ) } , _fnCloneRight : function ( a ) { if ( ! ( 0 > = this . s . iRightColumns ) ) { var b , c = [ ] ; for ( b = this . s . iTableColumns - this . s . iRightColumns ; b < this . s . iTableColumns ; b + + ) this . s . dt . aoColumns [ b ] . bVisible & & c . push ( b ) ;
this . _fnClone ( this . dom . clone . right , this . dom . grid . right , c , a ) } } , _fnCloneLeft : function ( a ) { if ( ! ( 0 > = this . s . iLeftColumns ) ) { var b , c = [ ] ; for ( b = 0 ; b < this . s . iLeftColumns ; b + + ) this . s . dt . aoColumns [ b ] . bVisible & & c . push ( b ) ; this . _fnClone ( this . dom . clone . left , this . dom . grid . left , c , a ) } } , _fnCopyLayout : function ( a , b , c ) { for ( var e = [ ] , f = [ ] , g = [ ] , h = 0 , i = a . length ; h < i ; h + + ) { var j = [ ] ; j . nTr = d ( a [ h ] . nTr ) . clone ( c , ! 1 ) [ 0 ] ; for ( var l = 0 , o = this . s . iTableColumns ; l < o ; l + + ) if ( - 1 != = d . inArray ( l , b ) ) { var p = d . inArray ( a [ h ] [ l ] . cell , g ) ; - 1 == = p ? ( p = d ( a [ h ] [ l ] . cell ) . clone ( c ,
! 1 ) [ 0 ] , f . push ( p ) , g . push ( a [ h ] [ l ] . cell ) , j . push ( { cell : p , unique : a [ h ] [ l ] . unique } ) ) : j . push ( { cell : f [ p ] , unique : a [ h ] [ l ] . unique } ) } e . push ( j ) } return e } , _fnClone : function ( a , b , c , e ) { var f = this , g , h , i , j , l , o , p , n , m , k = this . s . dt ; if ( e ) { d ( a . header ) . remove ( ) ; a . header = d ( this . dom . header ) . clone ( ! 0 , ! 1 ) [ 0 ] ; a . header . className + = " DTFC_Cloned " ; a . header . style . width = " 100 % " ; b . head . appendChild ( a . header ) ; n = this . _fnCopyLayout ( k . aoHeader , c , ! 0 ) ; j = d ( " >thead " , a . header ) ; j . empty ( ) ; g = 0 ; for ( h = n . length ; g < h ; g + + ) j [ 0 ] . appendChild ( n [ g ] . nTr ) ; k . oApi . _fnDrawHead ( k ,
n , ! 0 ) } else { n = this . _fnCopyLayout ( k . aoHeader , c , ! 1 ) ; m = [ ] ; k . oApi . _fnDetectHeader ( m , d ( " >thead " , a . header ) [ 0 ] ) ; g = 0 ; for ( h = n . length ; g < h ; g + + ) { i = 0 ; for ( j = n [ g ] . length ; i < j ; i + + ) m [ g ] [ i ] . cell . className = n [ g ] [ i ] . cell . className , d ( " span.DataTables_sort_icon " , m [ g ] [ i ] . cell ) . each ( function ( ) { this . className = d ( " span.DataTables_sort_icon " , n [ g ] [ i ] . cell ) [ 0 ] . className } ) } } this . _fnEqualiseHeights ( " thead " , this . dom . header , a . header ) ; " auto " == this . s . sHeightMatch & & d ( " >tbody>tr " , f . dom . body ) . css ( " height " , " auto " ) ; null != = a . body & & ( d ( a . body ) . remove ( ) ,
a . body = null ) ; a . body = d ( this . dom . body ) . clone ( ! 0 ) [ 0 ] ; a . body . className + = " DTFC_Cloned " ; a . body . style . paddingBottom = k . oScroll . iBarWidth + " px " ; a . body . style . marginBottom = 2 * k . oScroll . iBarWidth + " px " ; null != = a . body . getAttribute ( " id " ) & & a . body . removeAttribute ( " id " ) ; d ( " >thead>tr " , a . body ) . empty ( ) ; d ( " >tfoot " , a . body ) . remove ( ) ; var q = d ( " tbody " , a . body ) [ 0 ] ; d ( q ) . empty ( ) ; if ( 0 < k . aiDisplay . length ) { h = d ( " >thead>tr " , a . body ) [ 0 ] ; for ( p = 0 ; p < c . length ; p + + ) l = c [ p ] , o = d ( k . aoColumns [ l ] . nTh ) . clone ( ! 0 ) [ 0 ] , o . innerHTML = " " , j = o . style , j . paddingTop =
" 0 " , j . paddingBottom = " 0 " , j . borderTopWidth = " 0 " , j . borderBottomWidth = " 0 " , j . height = 0 , j . width = f . s . aiInnerWidths [ l ] + " px " , h . appendChild ( o ) ; d ( " >tbody>tr " , f . dom . body ) . each ( function ( a ) { var a = f . s . dt . oFeatures . bServerSide == = false ? f . s . dt . aiDisplay [ f . s . dt . _iDisplayStart + a ] : a , b = f . s . dt . aoData [ a ] . anCells | | d ( this ) . children ( " td, th " ) , e = this . cloneNode ( false ) ; e . removeAttribute ( " id " ) ; e . setAttribute ( " data-dt-row " , a ) ; for ( p = 0 ; p < c . length ; p + + ) { l = c [ p ] ; if ( b . length > 0 ) { o = d ( b [ l ] ) . clone ( true , true ) [ 0 ] ; o . setAttribute ( " data-dt-row " ,
a ) ; o . setAttribute ( " data-dt-column " , p ) ; e . appendChild ( o ) } } q . appendChild ( e ) } ) } else d ( " >tbody>tr " , f . dom . body ) . each ( function ( ) { o = this . cloneNode ( true ) ; o . className = o . className + " DTFC_NoData " ; d ( " td " , o ) . html ( " " ) ; q . appendChild ( o ) } ) ; a . body . style . width = " 100 % " ; a . body . style . margin = " 0 " ; a . body . style . padding = " 0 " ; k . oScroller != = t & & ( h = k . oScroller . dom . force , b . forcer ? b . forcer . style . height = h . style . height : ( b . forcer = h . cloneNode ( ! 0 ) , b . liner . appendChild ( b . forcer ) ) ) ; b . liner . appendChild ( a . body ) ; this . _fnEqualiseHeights ( " tbody " ,
f . dom . body , a . body ) ; if ( null != = k . nTFoot ) { if ( e ) { null != = a . footer & & a . footer . parentNode . removeChild ( a . footer ) ; a . footer = d ( this . dom . footer ) . clone ( ! 0 , ! 0 ) [ 0 ] ; a . footer . className + = " DTFC_Cloned " ; a . footer . style . width = " 100 % " ; b . foot . appendChild ( a . footer ) ; n = this . _fnCopyLayout ( k . aoFooter , c , ! 0 ) ; b = d ( " >tfoot " , a . footer ) ; b . empty ( ) ; g = 0 ; for ( h = n . length ; g < h ; g + + ) b [ 0 ] . appendChild ( n [ g ] . nTr ) ; k . oApi . _fnDrawHead ( k , n , ! 0 ) } else { n = this . _fnCopyLayout ( k . aoFooter , c , ! 1 ) ; b = [ ] ; k . oApi . _fnDetectHeader ( b , d ( " >tfoot " , a . footer ) [ 0 ] ) ; g = 0 ; for ( h = n . length ; g <
h ; g + + ) { i = 0 ; for ( j = n [ g ] . length ; i < j ; i + + ) b [ g ] [ i ] . cell . className = n [ g ] [ i ] . cell . className } } this . _fnEqualiseHeights ( " tfoot " , this . dom . footer , a . footer ) } b = k . oApi . _fnGetUniqueThs ( k , d ( " >thead " , a . header ) [ 0 ] ) ; d ( b ) . each ( function ( a ) { l = c [ a ] ; this . style . width = f . s . aiInnerWidths [ l ] + " px " } ) ; null != = f . s . dt . nTFoot & & ( b = k . oApi . _fnGetUniqueThs ( k , d ( " >tfoot " , a . footer ) [ 0 ] ) , d ( b ) . each ( function ( a ) { l = c [ a ] ; this . style . width = f . s . aiInnerWidths [ l ] + " px " } ) ) } , _fnGetTrNodes : function ( a ) { for ( var b = [ ] , c = 0 , d = a . childNodes . length ; c < d ; c + + ) " TR " == a . childNodes [ c ] . nodeName . toUpperCase ( ) & &
b . push ( a . childNodes [ c ] ) ; return b } , _fnEqualiseHeights : function ( a , b , c ) { if ( ! ( " none " == this . s . sHeightMatch & & " thead " != = a & & " tfoot " != = a ) ) { var e , f , g = b . getElementsByTagName ( a ) [ 0 ] , c = c . getElementsByTagName ( a ) [ 0 ] , a = d ( " > " + a + " >tr:eq(0) " , b ) . children ( " :first " ) ; a . outerHeight ( ) ; a . height ( ) ; for ( var g = this . _fnGetTrNodes ( g ) , b = this . _fnGetTrNodes ( c ) , h = [ ] , c = 0 , a = b . length ; c < a ; c + + ) e = g [ c ] . offsetHeight , f = b [ c ] . offsetHeight , e = f > e ? f : e , " semiauto " == this . s . sHeightMatch & & ( g [ c ] . _DTTC_iHeight = e ) , h . push ( e ) ; c = 0 ; for ( a = b . length ; c < a ; c + + ) b [ c ] . style . height =
h [ c ] + " px " , g [ c ] . style . height = h [ c ] + " px " } } , _firefoxScrollError : function ( ) { if ( u == = t ) { var a = d ( " <div/> " ) . css ( { position : " absolute " , top : 0 , left : 0 , height : 10 , width : 50 , overflow : " scroll " } ) . appendTo ( " body " ) ; u = a [ 0 ] . clientWidth == = a [ 0 ] . offsetWidth & & 0 != = this . _fnDTOverflow ( ) . bar ; a . remove ( ) } return u } } ) ; m . defaults = { iLeftColumns : 1 , iRightColumns : 0 , fnDrawCallback : null , sHeightMatch : " semiauto " } ; m . version = " 3.2.2 " ; s . Api . register ( " fixedColumns() " , function ( ) { return this } ) ; s . Api . register ( " fixedColumns().update() " , function ( ) { return this . iterator ( " table " ,
function ( a ) { a . _oFixedColumns & & a . _oFixedColumns . fnUpdate ( ) } ) } ) ; s . Api . register ( " fixedColumns().relayout() " , function ( ) { return this . iterator ( " table " , function ( a ) { a . _oFixedColumns & & a . _oFixedColumns . fnRedrawLayout ( ) } ) } ) ; s . Api . register ( " rows().recalcHeight() " , function ( ) { return this . iterator ( " row " , function ( a , b ) { a . _oFixedColumns & & a . _oFixedColumns . fnRecalculateHeight ( this . row ( b ) . node ( ) ) } ) } ) ; s . Api . register ( " fixedColumns().rowIndex() " , function ( a ) { a = d ( a ) ; return a . parents ( " .DTFC_Cloned " ) . length ? this . rows ( { page : " current " } ) . indexes ( ) [ a . index ( ) ] :
this . row ( a ) . index ( ) } ) ; s . Api . register ( " fixedColumns().cellIndex() " , function ( a ) { a = d ( a ) ; if ( a . parents ( " .DTFC_Cloned " ) . length ) { var b = a . parent ( ) . index ( ) , b = this . rows ( { page : " current " } ) . indexes ( ) [ b ] , a = a . parents ( " .DTFC_LeftWrapper " ) . length ? a . index ( ) : this . columns ( ) . flatten ( ) . length - this . context [ 0 ] . _oFixedColumns . s . iRightColumns + a . index ( ) ; return { row : b , column : this . column . index ( " toData " , a ) , columnVisible : a } } return this . cell ( a ) . index ( ) } ) ; d ( r ) . on ( " init.dt.fixedColumns " , function ( a , b ) { if ( " dt " == = a . namespace ) { var c = b . oInit . fixedColumns ,
e = s . defaults . fixedColumns ; if ( c | | e ) e = d . extend ( { } , c , e ) , ! 1 != = c & & new m ( b , e ) } } ) ; d . fn . dataTable . FixedColumns = m ; return d . fn . DataTable . FixedColumns = m } ) ;
/ * !
FixedHeader 3.1 .2
© 2009 - 2016 SpryMedia Ltd - datatables . net / license
* /
( function ( d ) { " function " == = typeof define & & define . amd ? define ( [ " jquery " , " datatables.net " ] , function ( g ) { return d ( g , window , document ) } ) : " object " == = typeof exports ? module . exports = function ( g , h ) { g | | ( g = window ) ; if ( ! h | | ! h . fn . dataTable ) h = require ( " datatables.net " ) ( g , h ) . $ ; return d ( h , g , g . document ) } : d ( jQuery , window , document ) } ) ( function ( d , g , h , k ) { var j = d . fn . dataTable , l = 0 , i = function ( b , a ) { if ( ! ( this instanceof i ) ) throw " FixedHeader must be initialised with the ' new ' keyword. " ; ! 0 == = a & & ( a = { } ) ; b = new j . Api ( b ) ; this . c = d . extend ( ! 0 ,
{ } , i . defaults , a ) ; this . s = { dt : b , position : { theadTop : 0 , tbodyTop : 0 , tfootTop : 0 , tfootBottom : 0 , width : 0 , left : 0 , tfootHeight : 0 , theadHeight : 0 , windowHeight : d ( g ) . height ( ) , visible : ! 0 } , headerMode : null , footerMode : null , autoWidth : b . settings ( ) [ 0 ] . oFeatures . bAutoWidth , namespace : " .dtfc " + l + + , scrollLeft : { header : - 1 , footer : - 1 } , enable : ! 0 } ; this . dom = { floatingHeader : null , thead : d ( b . table ( ) . header ( ) ) , tbody : d ( b . table ( ) . body ( ) ) , tfoot : d ( b . table ( ) . footer ( ) ) , header : { host : null , floating : null , placeholder : null } , footer : { host : null , floating : null ,
placeholder : null } } ; this . dom . header . host = this . dom . thead . parent ( ) ; this . dom . footer . host = this . dom . tfoot . parent ( ) ; var e = b . settings ( ) [ 0 ] ; if ( e . _fixedHeader ) throw " FixedHeader already initialised on table " + e . nTable . id ; e . _fixedHeader = this ; this . _constructor ( ) } ; d . extend ( i . prototype , { enable : function ( b ) { this . s . enable = b ; this . c . header & & this . _modeChange ( " in-place " , " header " , ! 0 ) ; this . c . footer & & this . dom . tfoot . length & & this . _modeChange ( " in-place " , " footer " , ! 0 ) ; this . update ( ) } , headerOffset : function ( b ) { b != = k & & ( this . c . headerOffset =
b , this . update ( ) ) ; return this . c . headerOffset } , footerOffset : function ( b ) { b != = k & & ( this . c . footerOffset = b , this . update ( ) ) ; return this . c . footerOffset } , update : function ( ) { this . _positions ( ) ; this . _scroll ( ! 0 ) } , _constructor : function ( ) { var b = this , a = this . s . dt ; d ( g ) . on ( " scroll " + this . s . namespace , function ( ) { b . _scroll ( ) } ) . on ( " resize " + this . s . namespace , function ( ) { b . s . position . windowHeight = d ( g ) . height ( ) ; b . update ( ) } ) ; var e = d ( " .fh-fixedHeader " ) ; ! this . c . headerOffset & & e . length & & ( this . c . headerOffset = e . outerHeight ( ) ) ; e = d ( " .fh-fixedFooter " ) ;
! this . c . footerOffset & & e . length & & ( this . c . footerOffset = e . outerHeight ( ) ) ; a . on ( " column-reorder.dt.dtfc column-visibility.dt.dtfc draw.dt.dtfc column-sizing.dt.dtfc " , function ( ) { b . update ( ) } ) ; a . on ( " destroy.dtfc " , function ( ) { a . off ( " .dtfc " ) ; d ( g ) . off ( b . s . namespace ) } ) ; this . _positions ( ) ; this . _scroll ( ) } , _clone : function ( b , a ) { var e = this . s . dt , c = this . dom [ b ] , f = " header " == = b ? this . dom . thead : this . dom . tfoot ; ! a & & c . floating ? c . floating . removeClass ( " fixedHeader-floating fixedHeader-locked " ) : ( c . floating & & ( c . placeholder . remove ( ) ,
this . _unsize ( b ) , c . floating . children ( ) . detach ( ) , c . floating . remove ( ) ) , c . floating = d ( e . table ( ) . node ( ) . cloneNode ( ! 1 ) ) . css ( " table-layout " , " fixed " ) . removeAttr ( " id " ) . append ( f ) . appendTo ( " body " ) , c . placeholder = f . clone ( ! 1 ) , c . host . prepend ( c . placeholder ) , this . _matchWidths ( c . placeholder , c . floating ) ) } , _matchWidths : function ( b , a ) { var e = function ( a ) { return d ( a , b ) . map ( function ( ) { return d ( this ) . width ( ) } ) . toArray ( ) } , c = function ( b , c ) { d ( b , a ) . each ( function ( a ) { d ( this ) . css ( { width : c [ a ] , minWidth : c [ a ] } ) } ) } , f = e ( " th " ) , e = e ( " td " ) ; c ( " th " ,
f ) ; c ( " td " , e ) } , _unsize : function ( b ) { var a = this . dom [ b ] . floating ; a & & ( " footer " == = b | | " header " == = b & & ! this . s . autoWidth ) ? d ( " th, td " , a ) . css ( { width : " " , minWidth : " " } ) : a & & " header " == = b & & d ( " th, td " , a ) . css ( " min-width " , " " ) } , _horizontal : function ( b , a ) { var e = this . dom [ b ] , c = this . s . position , d = this . s . scrollLeft ; e . floating & & d [ b ] != = a & & ( e . floating . css ( " left " , c . left - a ) , d [ b ] = a ) } , _modeChange : function ( b , a , e ) { var c = this . dom [ a ] , f = this . s . position , g = d . contains ( this . dom [ " footer " == = a ? " tfoot " : " thead " ] [ 0 ] , h . activeElement ) ? h . activeElement :
null ; if ( " in-place " == = b ) { if ( c . placeholder & & ( c . placeholder . remove ( ) , c . placeholder = null ) , this . _unsize ( a ) , " header " == = a ? c . host . prepend ( this . dom . thead ) : c . host . append ( this . dom . tfoot ) , c . floating ) c . floating . remove ( ) , c . floating = null } else " in " == = b ? ( this . _clone ( a , e ) , c . floating . addClass ( " fixedHeader-floating " ) . css ( " header " == = a ? " top " : " bottom " , this . c [ a + " Offset " ] ) . css ( " left " , f . left + " px " ) . css ( " width " , f . width + " px " ) , " footer " == = a & & c . floating . css ( " top " , " " ) ) : " below " == = b ? ( this . _clone ( a , e ) , c . floating . addClass ( " fixedHeader-locked " ) . css ( " top " ,
f . tfootTop - f . theadHeight ) . css ( " left " , f . left + " px " ) . css ( " width " , f . width + " px " ) ) : " above " == = b & & ( this . _clone ( a , e ) , c . floating . addClass ( " fixedHeader-locked " ) . css ( " top " , f . tbodyTop ) . css ( " left " , f . left + " px " ) . css ( " width " , f . width + " px " ) ) ; g & & g != = h . activeElement & & g . focus ( ) ; this . s . scrollLeft . header = - 1 ; this . s . scrollLeft . footer = - 1 ; this . s [ a + " Mode " ] = b } , _positions : function ( ) { var b = this . s . dt . table ( ) , a = this . s . position , e = this . dom , b = d ( b . node ( ) ) , c = b . children ( " thead " ) , f = b . children ( " tfoot " ) , e = e . tbody ; a . visible = b . is ( " :visible " ) ;
a . width = b . outerWidth ( ) ; a . left = b . offset ( ) . left ; a . theadTop = c . offset ( ) . top ; a . tbodyTop = e . offset ( ) . top ; a . theadHeight = a . tbodyTop - a . theadTop ; f . length ? ( a . tfootTop = f . offset ( ) . top , a . tfootBottom = a . tfootTop + f . outerHeight ( ) , a . tfootHeight = a . tfootBottom - a . tfootTop ) : ( a . tfootTop = a . tbodyTop + e . outerHeight ( ) , a . tfootBottom = a . tfootTop , a . tfootHeight = a . tfootTop ) } , _scroll : function ( b ) { var a = d ( h ) . scrollTop ( ) , e = d ( h ) . scrollLeft ( ) , c = this . s . position , f ; if ( this . s . enable & & ( this . c . header & & ( f = ! c . visible | | a < = c . theadTop - this . c . headerOffset ?
" in-place " : a < = c . tfootTop - c . theadHeight - this . c . headerOffset ? " in " : " below " , ( b | | f != = this . s . headerMode ) & & this . _modeChange ( f , " header " , b ) , this . _horizontal ( " header " , e ) ) , this . c . footer & & this . dom . tfoot . length ) ) a = ! c . visible | | a + c . windowHeight > = c . tfootBottom + this . c . footerOffset ? " in-place " : c . windowHeight + a > c . tbodyTop + c . tfootHeight + this . c . footerOffset ? " in " : " above " , ( b | | a != = this . s . footerMode ) & & this . _modeChange ( a , " footer " , b ) , this . _horizontal ( " footer " , e ) } } ) ; i . version = " 3.1.2 " ; i . defaults = { header : ! 0 , footer : ! 1 , headerOffset : 0 ,
footerOffset : 0 } ; d . fn . dataTable . FixedHeader = i ; d . fn . DataTable . FixedHeader = i ; d ( h ) . on ( " init.dt.dtfh " , function ( b , a ) { if ( " dt " == = b . namespace ) { var e = a . oInit . fixedHeader , c = j . defaults . fixedHeader ; if ( ( e | | c ) & & ! a . _fixedHeader ) c = d . extend ( { } , c , e ) , ! 1 != = e & & new i ( a , c ) } } ) ; j . Api . register ( " fixedHeader() " , function ( ) { } ) ; j . Api . register ( " fixedHeader.adjust() " , function ( ) { return this . iterator ( " table " , function ( b ) { ( b = b . _fixedHeader ) & & b . update ( ) } ) } ) ; j . Api . register ( " fixedHeader.enable() " , function ( b ) { return this . iterator ( " table " ,
function ( a ) { ( a = a . _fixedHeader ) & & a . enable ( b != = k ? b : ! 0 ) } ) } ) ; j . Api . register ( " fixedHeader.disable() " , function ( ) { return this . iterator ( " table " , function ( b ) { ( b = b . _fixedHeader ) & & b . enable ( ! 1 ) } ) } ) ; d . each ( [ " header " , " footer " ] , function ( b , a ) { j . Api . register ( " fixedHeader. " + a + " Offset() " , function ( b ) { var c = this . context ; return b == = k ? c . length & & c [ 0 ] . _fixedHeader ? c [ 0 ] . _fixedHeader [ a + " Offset " ] ( ) : k : this . iterator ( " table " , function ( c ) { if ( c = c . _fixedHeader ) c [ a + " Offset " ] ( b ) } ) } ) } ) ; return i } ) ;
/ * !
KeyTable 2.1 .3
© 2009 - 2016 SpryMedia Ltd - datatables . net / license
* /
( function ( e ) { " function " == = typeof define & & define . amd ? define ( [ " jquery " , " datatables.net " ] , function ( m ) { return e ( m , window , document ) } ) : " object " == = typeof exports ? module . exports = function ( m , k ) { m | | ( m = window ) ; if ( ! k | | ! k . fn . dataTable ) k = require ( " datatables.net " ) ( m , k ) . $ ; return e ( k , m , m . document ) } : e ( jQuery , window , document ) } ) ( function ( e , m , k , o ) { var l = e . fn . dataTable , n = function ( a , b ) { if ( ! l . versionCheck | | ! l . versionCheck ( " 1.10.8 " ) ) throw " KeyTable requires DataTables 1.10.8 or newer " ; this . c = e . extend ( ! 0 , { } , l . defaults . keyTable ,
n . defaults , b ) ; this . s = { dt : new l . Api ( a ) , enable : ! 0 , focusDraw : ! 1 } ; this . dom = { } ; var c = this . s . dt . settings ( ) [ 0 ] , d = c . keytable ; if ( d ) return d ; c . keytable = this ; this . _constructor ( ) } ; e . extend ( n . prototype , { blur : function ( ) { this . _blur ( ) } , enable : function ( a ) { this . s . enable = a } , focus : function ( a , b ) { this . _focus ( this . s . dt . cell ( a , b ) ) } , focused : function ( a ) { if ( ! this . s . lastFocus ) return ! 1 ; var b = this . s . lastFocus . index ( ) ; return a . row == = b . row & & a . column == = b . column } , _constructor : function ( ) { this . _tabInput ( ) ; var a = this , b = this . s . dt , c = e ( b . table ( ) . node ( ) ) ;
" static " == = c . css ( " position " ) & & c . css ( " position " , " relative " ) ; e ( b . table ( ) . body ( ) ) . on ( " click.keyTable " , " th, td " , function ( c ) { if ( ! 1 != = a . s . enable ) { var d = b . cell ( this ) ; d . any ( ) & & a . _focus ( d , null , ! 1 , c ) } } ) ; e ( k ) . on ( " keydown.keyTable " , function ( b ) { a . _key ( b ) } ) ; if ( this . c . blurable ) e ( k ) . on ( " click.keyTable " , function ( c ) { e ( c . target ) . parents ( " .dataTables_filter " ) . length & & a . _blur ( ) ; e ( c . target ) . parents ( ) . filter ( b . table ( ) . container ( ) ) . length | | e ( c . target ) . parents ( " div.DTE " ) . length | | e ( c . target ) . parents ( ) . filter ( " .DTFC_Cloned " ) . length | |
a . _blur ( ) } ) ; if ( this . c . editor ) b . on ( " key.keyTable " , function ( b , c , d , e , j ) { a . _editor ( d , j ) } ) ; if ( b . settings ( ) [ 0 ] . oFeatures . bStateSave ) b . on ( " stateSaveParams.keyTable " , function ( b , c , d ) { d . keyTable = a . s . lastFocus ? a . s . lastFocus . index ( ) : null } ) ; b . on ( " xhr.keyTable " , function ( ) { if ( ! a . s . focusDraw ) { var c = a . s . lastFocus ; c & & ( a . s . lastFocus = null , b . one ( " draw " , function ( ) { a . _focus ( c ) } ) ) } } ) ; b . on ( " destroy.keyTable " , function ( ) { b . off ( " .keyTable " ) ; e ( b . table ( ) . body ( ) ) . off ( " click.keyTable " , " th, td " ) ; e ( k . body ) . off ( " keydown.keyTable " ) . off ( " click.keyTable " ) } ) ;
var d = b . state . loaded ( ) ; if ( d & & d . keyTable ) b . one ( " init " , function ( ) { var a = b . cell ( d . keyTable ) ; a . any ( ) & & a . focus ( ) } ) ; else this . c . focus & & b . cell ( this . c . focus ) . focus ( ) } , _blur : function ( ) { if ( this . s . enable & & this . s . lastFocus ) { var a = this . s . lastFocus ; e ( a . node ( ) ) . removeClass ( this . c . className ) ; this . s . lastFocus = null ; this . _updateFixedColumns ( a . index ( ) . column ) ; this . _emitEvent ( " key-blur " , [ this . s . dt , a ] ) } } , _columns : function ( ) { var a = this . s . dt , b = a . columns ( this . c . columns ) . indexes ( ) , c = [ ] ; a . columns ( " :visible " ) . every ( function ( a ) { - 1 != =
b . indexOf ( a ) & & c . push ( a ) } ) ; return c } , _editor : function ( a , b ) { var c = this . s . dt , d = this . c . editor ; b . stopPropagation ( ) ; 13 == = a & & b . preventDefault ( ) ; d . inline ( this . s . lastFocus . index ( ) ) ; e ( " div.DTE input, div.DTE textarea " ) . select ( ) ; c . keys . enable ( this . c . editorKeys ) ; c . one ( " key-blur.editor " , function ( ) { d . displayed ( ) & & d . submit ( ) } ) ; d . one ( " close " , function ( ) { c . keys . enable ( ! 0 ) ; c . off ( " key-blur.editor " ) } ) } , _emitEvent : function ( a , b ) { this . s . dt . iterator ( " table " , function ( c ) { e ( c . nTable ) . triggerHandler ( a , b ) } ) } , _focus : function ( a ,
b , c , d ) { var i = this , g = this . s . dt , f = g . page . info ( ) , h = this . s . lastFocus ; d | | ( d = null ) ; if ( this . s . enable ) { if ( " number " != = typeof a ) { var j = a . index ( ) , b = j . column , a = g . rows ( { filter : " applied " , order : " applied " } ) . indexes ( ) . indexOf ( j . row ) ; f . serverSide & & ( a + = f . start ) } if ( - 1 != = f . length & & ( a < f . start | | a > = f . start + f . length ) ) this . s . focusDraw = ! 0 , g . one ( " draw " , function ( ) { i . s . focusDraw = ! 1 ; i . _focus ( a , b ) } ) . page ( Math . floor ( a / f . length ) ) . draw ( ! 1 ) ; else if ( - 1 != = e . inArray ( b , this . _columns ( ) ) ) { f . serverSide & & ( a - = f . start ) ; f = g . cell ( " :eq( " + a + " ) " ,
b , { search : " applied " } ) ; if ( h ) { if ( h . node ( ) == = f . node ( ) ) return ; this . _blur ( ) } h = e ( f . node ( ) ) ; h . addClass ( this . c . className ) ; this . _updateFixedColumns ( b ) ; if ( c == = o | | ! 0 == = c ) this . _scroll ( e ( m ) , e ( k . body ) , h , " offset " ) , c = g . table ( ) . body ( ) . parentNode , c != = g . table ( ) . header ( ) . parentNode & & ( c = e ( c . parentNode ) , this . _scroll ( c , c , h , " position " ) ) ; this . s . lastFocus = f ; this . _emitEvent ( " key-focus " , [ this . s . dt , f , d | | null ] ) ; g . state . save ( ) } } } , _key : function ( a ) { var b = this . s . enable , c = ! 0 == = b | | " navigation-only " == = b ; if ( b & & ! ( 0 == = a . keyCode | | a . ctrlKey | |
a . metaKey | | a . altKey ) ) { var d = this . s . lastFocus ; if ( d ) { var i = this , g = this . s . dt ; if ( ! ( this . c . keys & & - 1 == = e . inArray ( a . keyCode , this . c . keys ) ) ) switch ( a . keyCode ) { case 9 : this . _shift ( a , a . shiftKey ? " left " : " right " , ! 0 ) ; break ; case 27 : this . s . blurable & & ! 0 == = b & & this . _blur ( ) ; break ; case 33 : case 34 : if ( c ) { a . preventDefault ( ) ; var f = g . cells ( { page : " current " } ) . nodes ( ) . indexOf ( d . node ( ) ) ; g . one ( " draw " , function ( ) { var b = g . cells ( { page : " current " } ) . nodes ( ) ; i . _focus ( g . cell ( f < b . length ? b [ f ] : b [ b . length - 1 ] ) , null , ! 0 , a ) } ) . page ( 33 == = a . keyCode ?
" previous " : " next " ) . draw ( ! 1 ) } break ; case 35 : case 36 : c & & ( a . preventDefault ( ) , b = g . cells ( { page : " current " } ) . indexes ( ) , this . _focus ( g . cell ( b [ 35 == = a . keyCode ? b . length - 1 : 0 ] ) , null , ! 0 , a ) ) ; break ; case 37 : c & & this . _shift ( a , " left " ) ; break ; case 38 : c & & this . _shift ( a , " up " ) ; break ; case 39 : c & & this . _shift ( a , " right " ) ; break ; case 40 : c & & this . _shift ( a , " down " ) ; break ; default : ! 0 == = b & & this . _emitEvent ( " key " , [ g , a . keyCode , this . s . lastFocus , a ] ) } } } } , _scroll : function ( a , b , c , d ) { var d = c [ d ] ( ) , e = c . outerHeight ( ) , c = c . outerWidth ( ) , g = b . scrollTop ( ) ,
f = b . scrollLeft ( ) , h = a . height ( ) , a = a . width ( ) ; d . top < g & & b . scrollTop ( d . top ) ; d . left < f & & b . scrollLeft ( d . left ) ; d . top + e > g + h & & e < h & & b . scrollTop ( d . top + e - h ) ; d . left + c > f + a & & c < a & & b . scrollLeft ( d . left + c - a ) } , _shift : function ( a , b , c ) { var d = this . s . dt , i = d . page . info ( ) , g = i . recordsDisplay , f = this . s . lastFocus , h = this . _columns ( ) ; if ( f ) { var j = d . rows ( { filter : " applied " , order : " applied " } ) . indexes ( ) . indexOf ( f . index ( ) . row ) ; i . serverSide & & ( j + = i . start ) ; d = d . columns ( h ) . indexes ( ) . indexOf ( f . index ( ) . column ) ; i = h [ d ] ; " right " == = b ? d > = h . length - 1 ? ( j + + ,
i = h [ 0 ] ) : i = h [ d + 1 ] : " left " == = b ? 0 == = d ? ( j - - , i = h [ h . length - 1 ] ) : i = h [ d - 1 ] : " up " == = b ? j - - : " down " == = b & & j + + ; 0 < = j & & j < g & & - 1 != = e . inArray ( i , h ) ? ( a . preventDefault ( ) , this . _focus ( j , i , ! 0 , a ) ) : ! c | | ! this . c . blurable ? a . preventDefault ( ) : this . _blur ( ) } } , _tabInput : function ( ) { var a = this , b = this . s . dt , c = null != = this . c . tabIndex ? this . c . tabIndex : b . settings ( ) [ 0 ] . iTabIndex ; if ( - 1 != c ) e ( ' <div><input type= " text " tabindex= " ' + c + ' " /></div> ' ) . css ( { position : " absolute " , height : 1 , width : 0 , overflow : " hidden " } ) . insertBefore ( b . table ( ) . node ( ) ) . children ( ) . on ( " focus " ,
function ( c ) { a . _focus ( b . cell ( " :eq(0) " , " 0:visible " , { page : " current " } ) , null , ! 0 , c ) } ) } , _updateFixedColumns : function ( a ) { var b = this . s . dt , c = b . settings ( ) [ 0 ] ; if ( c . _oFixedColumns ) { var d = c . aoColumns . length - c . _oFixedColumns . s . iRightColumns ; ( a < c . _oFixedColumns . s . iLeftColumns | | a > d ) & & b . fixedColumns ( ) . update ( ) } } } ) ; n . defaults = { blurable : ! 0 , className : " focus " , columns : " " , editor : null , editorKeys : " navigation-only " , focus : null , keys : null , tabIndex : null } ; n . version = " 2.1.3 " ; e . fn . dataTable . KeyTable = n ; e . fn . DataTable . KeyTable = n ; l . Api . register ( " cell.blur() " ,
function ( ) { return this . iterator ( " table " , function ( a ) { a . keytable & & a . keytable . blur ( ) } ) } ) ; l . Api . register ( " cell().focus() " , function ( ) { return this . iterator ( " cell " , function ( a , b , c ) { a . keytable & & a . keytable . focus ( b , c ) } ) } ) ; l . Api . register ( " keys.disable() " , function ( ) { return this . iterator ( " table " , function ( a ) { a . keytable & & a . keytable . enable ( ! 1 ) } ) } ) ; l . Api . register ( " keys.enable() " , function ( a ) { return this . iterator ( " table " , function ( b ) { b . keytable & & b . keytable . enable ( a == = o ? ! 0 : a ) } ) } ) ; l . ext . selector . cell . push ( function ( a , b ,
c ) { var b = b . focused , a = a . keytable , d = [ ] ; if ( ! a | | b == = o ) return c ; for ( var e = 0 , g = c . length ; e < g ; e + + ) ( ! 0 == = b & & a . focused ( c [ e ] ) | | ! 1 == = b & & ! a . focused ( c [ e ] ) ) & & d . push ( c [ e ] ) ; return d } ) ; e ( k ) . on ( " preInit.dt.dtk " , function ( a , b ) { if ( " dt " == = a . namespace ) { var c = b . oInit . keys , d = l . defaults . keys ; if ( c | | d ) d = e . extend ( { } , d , c ) , ! 1 != = c & & new n ( b , d ) } } ) ; return n } ) ;
2016-09-03 11:05:50 +00:00
/ * !
2016-09-22 08:06:46 +00:00
Responsive 2.1 .0
2014 - 2016 SpryMedia Ltd - datatables . net / license
2016-09-03 11:05:50 +00:00
* /
2016-09-22 08:06:46 +00:00
( function ( c ) { " function " == = typeof define & & define . amd ? define ( [ " jquery " , " datatables.net " ] , function ( l ) { return c ( l , window , document ) } ) : " object " == = typeof exports ? module . exports = function ( l , k ) { l | | ( l = window ) ; if ( ! k | | ! k . fn . dataTable ) k = require ( " datatables.net " ) ( l , k ) . $ ; return c ( k , l , l . document ) } : c ( jQuery , window , document ) } ) ( function ( c , l , k , p ) { var m = c . fn . dataTable , j = function ( a , b ) { if ( ! m . versionCheck | | ! m . versionCheck ( " 1.10.3 " ) ) throw " DataTables Responsive requires DataTables 1.10.3 or newer " ; this . s = { dt : new m . Api ( a ) , columns : [ ] ,
current : [ ] } ; this . s . dt . settings ( ) [ 0 ] . responsive | | ( b & & " string " == = typeof b . details ? b . details = { type : b . details } : b & & ! 1 == = b . details ? b . details = { type : ! 1 } : b & & ! 0 == = b . details & & ( b . details = { type : " inline " } ) , this . c = c . extend ( ! 0 , { } , j . defaults , m . defaults . responsive , b ) , a . responsive = this , this . _constructor ( ) ) } ; c . extend ( j . prototype , { _constructor : function ( ) { var a = this , b = this . s . dt , d = b . settings ( ) [ 0 ] , e = c ( l ) . width ( ) ; b . settings ( ) [ 0 ] . _responsive = this ; c ( l ) . on ( " resize.dtr orientationchange.dtr " , m . util . throttle ( function ( ) { var b =
c ( l ) . width ( ) ; b != = e & & ( a . _resize ( ) , e = b ) } ) ) ; d . oApi . _fnCallbackReg ( d , " aoRowCreatedCallback " , function ( e ) { - 1 != = c . inArray ( ! 1 , a . s . current ) & & c ( " td, th " , e ) . each ( function ( e ) { e = b . column . index ( " toData " , e ) ; ! 1 == = a . s . current [ e ] & & c ( this ) . css ( " display " , " none " ) } ) } ) ; b . on ( " destroy.dtr " , function ( ) { b . off ( " .dtr " ) ; c ( b . table ( ) . body ( ) ) . off ( " .dtr " ) ; c ( l ) . off ( " resize.dtr orientationchange.dtr " ) ; c . each ( a . s . current , function ( b , e ) { ! 1 == = e & & a . _setColumnVis ( b , ! 0 ) } ) } ) ; this . c . breakpoints . sort ( function ( a , b ) { return a . width < b . width ? 1 : a . width >
b . width ? - 1 : 0 } ) ; this . _classLogic ( ) ; this . _resizeAuto ( ) ; d = this . c . details ; ! 1 != = d . type & & ( a . _detailsInit ( ) , b . on ( " column-visibility.dtr " , function ( ) { a . _classLogic ( ) ; a . _resizeAuto ( ) ; a . _resize ( ) } ) , b . on ( " draw.dtr " , function ( ) { a . _redrawChildren ( ) } ) , c ( b . table ( ) . node ( ) ) . addClass ( " dtr- " + d . type ) ) ; b . on ( " column-reorder.dtr " , function ( ) { a . _classLogic ( ) ; a . _resizeAuto ( ) ; a . _resize ( ) } ) ; b . on ( " column-sizing.dtr " , function ( ) { a . _resizeAuto ( ) ; a . _resize ( ) } ) ; b . on ( " init.dtr " , function ( ) { a . _resizeAuto ( ) ; a . _resize ( ) ; c . inArray ( false ,
a . s . current ) & & b . columns . adjust ( ) } ) ; this . _resize ( ) } , _columnsVisiblity : function ( a ) { var b = this . s . dt , d = this . s . columns , e , f , g = d . map ( function ( a , b ) { return { columnIdx : b , priority : a . priority } } ) . sort ( function ( a , b ) { return a . priority != = b . priority ? a . priority - b . priority : a . columnIdx - b . columnIdx } ) , h = c . map ( d , function ( b ) { return b . auto & & null == = b . minWidth ? ! 1 : ! 0 == = b . auto ? " - " : - 1 != = c . inArray ( a , b . includeIn ) } ) , n = 0 ; e = 0 ; for ( f = h . length ; e < f ; e + + ) ! 0 == = h [ e ] & & ( n + = d [ e ] . minWidth ) ; e = b . settings ( ) [ 0 ] . oScroll ; e = e . sY | | e . sX ? e . iBarWidth : 0 ; b =
b . table ( ) . container ( ) . offsetWidth - e - n ; e = 0 ; for ( f = h . length ; e < f ; e + + ) d [ e ] . control & & ( b - = d [ e ] . minWidth ) ; n = ! 1 ; e = 0 ; for ( f = g . length ; e < f ; e + + ) { var i = g [ e ] . columnIdx ; " - " == = h [ i ] & & ( ! d [ i ] . control & & d [ i ] . minWidth ) & & ( n | | 0 > b - d [ i ] . minWidth ? ( n = ! 0 , h [ i ] = ! 1 ) : h [ i ] = ! 0 , b - = d [ i ] . minWidth ) } g = ! 1 ; e = 0 ; for ( f = d . length ; e < f ; e + + ) if ( ! d [ e ] . control & & ! d [ e ] . never & & ! h [ e ] ) { g = ! 0 ; break } e = 0 ; for ( f = d . length ; e < f ; e + + ) d [ e ] . control & & ( h [ e ] = g ) ; - 1 == = c . inArray ( ! 0 , h ) & & ( h [ 0 ] = ! 0 ) ; return h } , _classLogic : function ( ) { var a = this , b = this . c . breakpoints , d = this . s . dt , e =
d . columns ( ) . eq ( 0 ) . map ( function ( a ) { var b = this . column ( a ) , e = b . header ( ) . className , a = d . settings ( ) [ 0 ] . aoColumns [ a ] . responsivePriority ; a == = p & & ( b = c ( b . header ( ) ) . data ( " priority " ) , a = b != = p ? 1 * b : 1E4 ) ; return { className : e , includeIn : [ ] , auto : ! 1 , control : ! 1 , never : e . match ( / \bnever \b / ) ? ! 0 : ! 1 , priority : a } } ) , f = function ( a , b ) { var d = e [ a ] . includeIn ; - 1 == = c . inArray ( b , d ) & & d . push ( b ) } , g = function ( c , d , i , g ) { if ( i ) if ( " max- " == = i ) { g = a . _find ( d ) . width ; d = 0 ; for ( i = b . length ; d < i ; d + + ) b [ d ] . width < = g & & f ( c , b [ d ] . name ) } else if ( " min- " == = i ) { g = a . _find ( d ) . width ;
d = 0 ; for ( i = b . length ; d < i ; d + + ) b [ d ] . width > = g & & f ( c , b [ d ] . name ) } else { if ( " not- " == = i ) { d = 0 ; for ( i = b . length ; d < i ; d + + ) - 1 == = b [ d ] . name . indexOf ( g ) & & f ( c , b [ d ] . name ) } } else e [ c ] . includeIn . push ( d ) } ; e . each ( function ( a , e ) { for ( var d = a . className . split ( " " ) , f = ! 1 , j = 0 , l = d . length ; j < l ; j + + ) { var k = c . trim ( d [ j ] ) ; if ( " all " == = k ) { f = ! 0 ; a . includeIn = c . map ( b , function ( a ) { return a . name } ) ; return } if ( " none " == = k | | a . never ) { f = ! 0 ; return } if ( " control " == = k ) { f = ! 0 ; a . control = ! 0 ; return } c . each ( b , function ( a , b ) { var d = b . name . split ( " - " ) , c = k . match ( RegExp ( " (min \\ -|max \\ -|not \\ -)?( " +
d [ 0 ] + " )( \\ -[_a-zA-Z0-9])? " ) ) ; c & & ( f = ! 0 , c [ 2 ] == = d [ 0 ] & & c [ 3 ] == = " - " + d [ 1 ] ? g ( e , b . name , c [ 1 ] , c [ 2 ] + c [ 3 ] ) : c [ 2 ] == = d [ 0 ] & & ! c [ 3 ] & & g ( e , b . name , c [ 1 ] , c [ 2 ] ) ) } ) } f | | ( a . auto = ! 0 ) } ) ; this . s . columns = e } , _detailsDisplay : function ( a , b ) { var d = this , e = this . s . dt , f = this . c . details ; if ( f & & ! 1 != = f . type ) { var g = f . display ( a , b , function ( ) { return f . renderer ( e , a [ 0 ] , d . _detailsObj ( a [ 0 ] ) ) } ) ; ( ! 0 == = g | | ! 1 == = g ) & & c ( e . table ( ) . node ( ) ) . triggerHandler ( " responsive-display.dt " , [ e , a , g , b ] ) } } , _detailsInit : function ( ) { var a = this , b = this . s . dt , d = this . c . details ; " inline " == =
d . type & & ( d . target = " td:first-child, th:first-child " ) ; b . on ( " draw.dtr " , function ( ) { a . _tabIndexes ( ) } ) ; a . _tabIndexes ( ) ; c ( b . table ( ) . body ( ) ) . on ( " keyup.dtr " , " td, th " , function ( a ) { a . keyCode == = 13 & & c ( this ) . data ( " dtr-keyboard " ) & & c ( this ) . click ( ) } ) ; var e = d . target ; c ( b . table ( ) . body ( ) ) . on ( " click.dtr mousedown.dtr mouseup.dtr " , " string " == = typeof e ? e : " td, th " , function ( d ) { if ( c ( b . table ( ) . node ( ) ) . hasClass ( " collapsed " ) & & b . row ( c ( this ) . closest ( " tr " ) ) . length ) { if ( typeof e == = " number " ) { var g = e < 0 ? b . columns ( ) . eq ( 0 ) . length + e : e ; if ( b . cell ( this ) . index ( ) . column != =
g ) return } g = b . row ( c ( this ) . closest ( " tr " ) ) ; d . type == = " click " ? a . _detailsDisplay ( g , false ) : d . type == = " mousedown " ? c ( this ) . css ( " outline " , " none " ) : d . type == = " mouseup " & & c ( this ) . blur ( ) . css ( " outline " , " " ) } } ) } , _detailsObj : function ( a ) { var b = this , d = this . s . dt ; return c . map ( this . s . columns , function ( e , c ) { if ( ! e . never & & ! e . control ) return { title : d . settings ( ) [ 0 ] . aoColumns [ c ] . sTitle , data : d . cell ( a , c ) . render ( b . c . orthogonal ) , hidden : d . column ( c ) . visible ( ) & & ! b . s . current [ c ] , columnIndex : c , rowIndex : a } } ) } , _find : function ( a ) { for ( var b = this . c . breakpoints ,
d = 0 , c = b . length ; d < c ; d + + ) if ( b [ d ] . name == = a ) return b [ d ] } , _redrawChildren : function ( ) { var a = this , b = this . s . dt ; b . rows ( { page : " current " } ) . iterator ( " row " , function ( c , e ) { b . row ( e ) ; a . _detailsDisplay ( b . row ( e ) , ! 0 ) } ) } , _resize : function ( ) { var a = this , b = this . s . dt , d = c ( l ) . width ( ) , e = this . c . breakpoints , f = e [ 0 ] . name , g = this . s . columns , h , j = this . s . current . slice ( ) ; for ( h = e . length - 1 ; 0 < = h ; h - - ) if ( d < = e [ h ] . width ) { f = e [ h ] . name ; break } var i = this . _columnsVisiblity ( f ) ; this . s . current = i ; e = ! 1 ; h = 0 ; for ( d = g . length ; h < d ; h + + ) if ( ! 1 == = i [ h ] & & ! g [ h ] . never & &
! g [ h ] . control ) { e = ! 0 ; break } c ( b . table ( ) . node ( ) ) . toggleClass ( " collapsed " , e ) ; var k = ! 1 ; b . columns ( ) . eq ( 0 ) . each ( function ( b , c ) { i [ c ] != = j [ c ] & & ( k = ! 0 , a . _setColumnVis ( b , i [ c ] ) ) } ) ; k & & ( this . _redrawChildren ( ) , c ( b . table ( ) . node ( ) ) . trigger ( " responsive-resize.dt " , [ b , this . s . current ] ) ) } , _resizeAuto : function ( ) { var a = this . s . dt , b = this . s . columns ; if ( this . c . auto & & - 1 != = c . inArray ( ! 0 , c . map ( b , function ( a ) { return a . auto } ) ) ) { a . table ( ) . node ( ) ; var d = a . table ( ) . node ( ) . cloneNode ( ! 1 ) , e = c ( a . table ( ) . header ( ) . cloneNode ( ! 1 ) ) . appendTo ( d ) , f = c ( a . table ( ) . body ( ) ) . clone ( ! 1 ,
! 1 ) . empty ( ) . appendTo ( d ) , g = a . columns ( ) . header ( ) . filter ( function ( b ) { return a . column ( b ) . visible ( ) } ) . to $ ( ) . clone ( ! 1 ) . css ( " display " , " table-cell " ) ; c ( f ) . append ( c ( a . rows ( { page : " current " } ) . nodes ( ) ) . clone ( ! 1 ) ) . find ( " th, td " ) . css ( " display " , " " ) ; if ( f = a . table ( ) . footer ( ) ) { var f = c ( f . cloneNode ( ! 1 ) ) . appendTo ( d ) , h = a . columns ( ) . footer ( ) . filter ( function ( b ) { return a . column ( b ) . visible ( ) } ) . to $ ( ) . clone ( ! 1 ) . css ( " display " , " table-cell " ) ; c ( " <tr/> " ) . append ( h ) . appendTo ( f ) } c ( " <tr/> " ) . append ( g ) . appendTo ( e ) ; " inline " == = this . c . details . type & &
c ( d ) . addClass ( " dtr-inline collapsed " ) ; c ( d ) . find ( " [name] " ) . removeAttr ( " name " ) ; d = c ( " <div/> " ) . css ( { width : 1 , height : 1 , overflow : " hidden " } ) . append ( d ) ; d . insertBefore ( a . table ( ) . node ( ) ) ; g . each ( function ( c ) { c = a . column . index ( " fromVisible " , c ) ; b [ c ] . minWidth = this . offsetWidth | | 0 } ) ; d . remove ( ) } } , _setColumnVis : function ( a , b ) { var d = this . s . dt , e = b ? " " : " none " ; c ( d . column ( a ) . header ( ) ) . css ( " display " , e ) ; c ( d . column ( a ) . footer ( ) ) . css ( " display " , e ) ; d . column ( a ) . nodes ( ) . to $ ( ) . css ( " display " , e ) } , _tabIndexes : function ( ) { var a = this . s . dt ,
b = a . cells ( { page : " current " } ) . nodes ( ) . to $ ( ) , d = a . settings ( ) [ 0 ] , e = this . c . details . target ; b . filter ( " [data-dtr-keyboard] " ) . removeData ( " [data-dtr-keyboard] " ) ; c ( " number " == = typeof e ? " :eq( " + e + " ) " : e , a . rows ( { page : " current " } ) . nodes ( ) ) . attr ( " tabIndex " , d . iTabIndex ) . data ( " dtr-keyboard " , 1 ) } } ) ; j . breakpoints = [ { name : " desktop " , width : Infinity } , { name : " tablet-l " , width : 1024 } , { name : " tablet-p " , width : 768 } , { name : " mobile-l " , width : 480 } , { name : " mobile-p " , width : 320 } ] ; j . display = { childRow : function ( a , b , d ) { if ( b ) { if ( c ( a . node ( ) ) . hasClass ( " parent " ) ) return a . child ( d ( ) ,
" child " ) . show ( ) , ! 0 } else { if ( a . child . isShown ( ) ) return a . child ( ! 1 ) , c ( a . node ( ) ) . removeClass ( " parent " ) , ! 1 ; a . child ( d ( ) , " child " ) . show ( ) ; c ( a . node ( ) ) . addClass ( " parent " ) ; return ! 0 } } , childRowImmediate : function ( a , b , d ) { if ( ! b & & a . child . isShown ( ) | | ! a . responsive . hasHidden ( ) ) return a . child ( ! 1 ) , c ( a . node ( ) ) . removeClass ( " parent " ) , ! 1 ; a . child ( d ( ) , " child " ) . show ( ) ; c ( a . node ( ) ) . addClass ( " parent " ) ; return ! 0 } , modal : function ( a ) { return function ( b , d , e ) { if ( d ) c ( " div.dtr-modal-content " ) . empty ( ) . append ( e ( ) ) ; else { var f = function ( ) { g . remove ( ) ;
c ( k ) . off ( " keypress.dtr " ) } , g = c ( ' <div class= " dtr-modal " /> ' ) . append ( c ( ' <div class= " dtr-modal-display " /> ' ) . append ( c ( ' <div class= " dtr-modal-content " /> ' ) . append ( e ( ) ) ) . append ( c ( ' <div class= " dtr-modal-close " >×</div> ' ) . click ( function ( ) { f ( ) } ) ) ) . append ( c ( ' <div class= " dtr-modal-background " /> ' ) . click ( function ( ) { f ( ) } ) ) . appendTo ( " body " ) ; c ( k ) . on ( " keyup.dtr " , function ( a ) { 27 == = a . keyCode & & ( a . stopPropagation ( ) , f ( ) ) } ) } a & & a . header & & c ( " div.dtr-modal-content " ) . prepend ( " <h2> " + a . header ( b ) + " </h2> " ) } } } ; j . renderer = { listHidden : function ( ) { return function ( a ,
b , d ) { return ( a = c . map ( d , function ( a ) { return a . hidden ? ' <li data-dtr-index= " ' + a . columnIndex + ' " data-dt-row= " ' + a . rowIndex + ' " data-dt-column= " ' + a . columnIndex + ' " ><span class= " dtr-title " > ' + a . title + ' </span> <span class= " dtr-data " > ' + a . data + " </span></li> " : " " } ) . join ( " " ) ) ? c ( ' <ul data-dtr-index= " ' + b + ' " /> ' ) . append ( a ) : ! 1 } } , tableAll : function ( a ) { a = c . extend ( { tableClass : " " } , a ) ; return function ( b , d , e ) { b = c . map ( e , function ( a ) { return ' <tr data-dt-row= " ' + a . rowIndex + ' " data-dt-column= " ' + a . columnIndex + ' " ><td> ' + a . title + " :</td> <td> " +
a . data + " </td></tr> " } ) . join ( " " ) ; return c ( ' <table class= " ' + a . tableClass + ' " width= " 100 % " /> ' ) . append ( b ) } } } ; j . defaults = { breakpoints : j . breakpoints , auto : ! 0 , details : { display : j . display . childRow , renderer : j . renderer . listHidden ( ) , target : 0 , type : " inline " } , orthogonal : " display " } ; var o = c . fn . dataTable . Api ; o . register ( " responsive() " , function ( ) { return this } ) ; o . register ( " responsive.index() " , function ( a ) { a = c ( a ) ; return { column : a . data ( " dtr-index " ) , row : a . parent ( ) . data ( " dtr-index " ) } } ) ; o . register ( " responsive.rebuild() " , function ( ) { return this . iterator ( " table " ,
function ( a ) { a . _responsive & & a . _responsive . _classLogic ( ) } ) } ) ; o . register ( " responsive.recalc() " , function ( ) { return this . iterator ( " table " , function ( a ) { a . _responsive & & ( a . _responsive . _resizeAuto ( ) , a . _responsive . _resize ( ) ) } ) } ) ; o . register ( " responsive.hasHidden() " , function ( ) { var a = this . context [ 0 ] ; return a . _responsive ? - 1 != = c . inArray ( ! 1 , a . _responsive . s . current ) : ! 1 } ) ; j . version = " 2.1.0 " ; c . fn . dataTable . Responsive = j ; c . fn . DataTable . Responsive = j ; c ( k ) . on ( " preInit.dt.dtr " , function ( a , b ) { if ( " dt " == = a . namespace & & ( c ( b . nTable ) . hasClass ( " responsive " ) | |
c ( b . nTable ) . hasClass ( " dt-responsive " ) | | b . oInit . responsive | | m . defaults . responsive ) ) { var d = b . oInit . responsive ; ! 1 != = d & & new j ( b , c . isPlainObject ( d ) ? d : { } ) } } ) ; return j } ) ;
2016-09-03 11:05:50 +00:00
/ * !
Bootstrap integration for DataTables ' Responsive
2016-09-22 08:06:46 +00:00
© 2015 - 2016 SpryMedia Ltd - datatables . net / license
* /
( function ( c ) { " function " == = typeof define & & define . amd ? define ( [ " jquery " , " datatables.net-bs " , " datatables.net-responsive " ] , function ( a ) { return c ( a , window , document ) } ) : " object " == = typeof exports ? module . exports = function ( a , b ) { a | | ( a = window ) ; if ( ! b | | ! b . fn . dataTable ) b = require ( " datatables.net-bs " ) ( a , b ) . $ ; b . fn . dataTable . Responsive | | require ( " datatables.net-responsive " ) ( a , b ) ; return c ( b , a , a . document ) } : c ( jQuery , window , document ) } ) ( function ( c ) { var a = c . fn . dataTable , b = a . Responsive . display , g = b . modal , d = c ( ' <div class= " modal fade dtr-bs-modal " role= " dialog " ><div class= " modal-dialog " role= " document " ><div class= " modal-content " ><div class= " modal-header " ><button type= " button " class= " close " data-dismiss= " modal " aria-label= " Close " ><span aria-hidden= " true " >×</span></button></div><div class= " modal-body " /></div></div></div> ' ) ;
b . modal = function ( a ) { return function ( b , e , f ) { c . fn . modal ? e | | ( a & & a . header & & d . find ( " div.modal-header " ) . empty ( ) . append ( ' <h4 class= " modal-title " > ' + a . header ( b ) + " </h4> " ) , d . find ( " div.modal-body " ) . empty ( ) . append ( f ( ) ) , d . appendTo ( " body " ) . modal ( ) ) : g ( b , e , f ) } } ; return a . Responsive } ) ;
/ * !
RowReorder 1.1 .2
2015 - 2016 SpryMedia Ltd - datatables . net / license
* /
( function ( e ) { " function " == = typeof define & & define . amd ? define ( [ " jquery " , " datatables.net " ] , function ( f ) { return e ( f , window , document ) } ) : " object " == = typeof exports ? module . exports = function ( f , g ) { f | | ( f = window ) ; if ( ! g | | ! g . fn . dataTable ) g = require ( " datatables.net " ) ( f , g ) . $ ; return e ( g , f , f . document ) } : e ( jQuery , window , document ) } ) ( function ( e , f , g ) { var j = e . fn . dataTable , i = function ( b , a ) { if ( ! j . versionCheck | | ! j . versionCheck ( " 1.10.8 " ) ) throw " DataTables RowReorder requires DataTables 1.10.8 or newer " ; this . c = e . extend ( ! 0 , { } , j . defaults . rowReorder ,
i . defaults , a ) ; this . s = { bodyTop : null , dt : new j . Api ( b ) , getDataFn : j . ext . oApi . _fnGetObjectDataFn ( this . c . dataSrc ) , middles : null , scroll : { } , scrollInterval : null , setDataFn : j . ext . oApi . _fnSetObjectDataFn ( this . c . dataSrc ) , start : { top : 0 , left : 0 , offsetTop : 0 , offsetLeft : 0 , nodes : [ ] } , windowHeight : 0 } ; this . dom = { clone : null , dtScroll : e ( " div.dataTables_scrollBody " , this . s . dt . table ( ) . container ( ) ) } ; var c = this . s . dt . settings ( ) [ 0 ] , d = c . rowreorder ; if ( d ) return d ; c . rowreorder = this ; this . _constructor ( ) } ; e . extend ( i . prototype , { _constructor : function ( ) { var b =
this , a = this . s . dt , c = e ( a . table ( ) . node ( ) ) ; " static " == = c . css ( " position " ) & & c . css ( " position " , " relative " ) ; e ( a . table ( ) . container ( ) ) . on ( " mousedown.rowReorder touchstart.rowReorder " , this . c . selector , function ( d ) { var c = e ( this ) . closest ( " tr " ) ; if ( a . row ( c ) . any ( ) ) return b . _mouseDown ( d , c ) , ! 1 } ) ; a . on ( " destroy.rowReorder " , function ( ) { e ( a . table ( ) . container ( ) ) . off ( " .rowReorder " ) ; a . off ( " .rowReorder " ) } ) } , _cachePositions : function ( ) { var b = this . s . dt , a = e ( b . table ( ) . node ( ) ) . find ( " thead " ) . outerHeight ( ) , c = e . unique ( b . rows ( { page : " current " } ) . nodes ( ) . toArray ( ) ) ,
d = e . map ( c , function ( b ) { return e ( b ) . position ( ) . top - a } ) , c = e . map ( d , function ( a , c ) { return d . length < c - 1 ? ( a + d [ c + 1 ] ) / 2 : ( a + a + e ( b . row ( " :last-child " ) . node ( ) ) . outerHeight ( ) ) / 2 } ) ; this . s . middles = c ; this . s . bodyTop = e ( b . table ( ) . body ( ) ) . offset ( ) . top ; this . s . windowHeight = e ( f ) . height ( ) } , _clone : function ( b ) { var a = e ( this . s . dt . table ( ) . node ( ) . cloneNode ( ! 1 ) ) . addClass ( " dt-rowReorder-float " ) . append ( " <tbody/> " ) . append ( b . clone ( ! 1 ) ) , c = b . outerWidth ( ) , d = b . outerHeight ( ) , h = b . children ( ) . map ( function ( ) { return e ( this ) . width ( ) } ) ; a . width ( c ) . height ( d ) . find ( " tr " ) . children ( ) . each ( function ( a ) { this . style . width =
h [ a ] + " px " } ) ; a . appendTo ( " body " ) ; this . dom . clone = a } , _clonePosition : function ( b ) { var a = this . s . start , c = this . _eventToPage ( b , " Y " ) - a . top , b = this . _eventToPage ( b , " X " ) - a . left , d = this . c . snapX ; this . dom . clone . css ( { top : c + a . offsetTop , left : ! 0 == = d ? a . offsetLeft : " number " == = typeof d ? a . offsetLeft + d : b + a . offsetLeft } ) } , _emitEvent : function ( b , a ) { this . s . dt . iterator ( " table " , function ( c ) { e ( c . nTable ) . triggerHandler ( b + " .dt " , a ) } ) } , _eventToPage : function ( b , a ) { return - 1 != = b . type . indexOf ( " touch " ) ? b . originalEvent . touches [ 0 ] [ " page " + a ] : b [ " page " +
a ] } , _mouseDown : function ( b , a ) { var c = this , d = this . s . dt , h = this . s . start , k = a . offset ( ) ; h . top = this . _eventToPage ( b , " Y " ) ; h . left = this . _eventToPage ( b , " X " ) ; h . offsetTop = k . top ; h . offsetLeft = k . left ; h . nodes = e . unique ( d . rows ( { page : " current " } ) . nodes ( ) . toArray ( ) ) ; this . _cachePositions ( ) ; this . _clone ( a ) ; this . _clonePosition ( b ) ; this . dom . target = a ; a . addClass ( " dt-rowReorder-moving " ) ; e ( g ) . on ( " mouseup.rowReorder touchend.rowReorder " , function ( a ) { c . _mouseUp ( a ) } ) . on ( " mousemove.rowReorder touchmove.rowReorder " , function ( a ) { c . _mouseMove ( a ) } ) ;
e ( f ) . width ( ) == = e ( g ) . width ( ) & & e ( g . body ) . addClass ( " dt-rowReorder-noOverflow " ) ; d = this . dom . dtScroll ; this . s . scroll = { windowHeight : e ( f ) . height ( ) , windowWidth : e ( f ) . width ( ) , dtTop : d . length ? d . offset ( ) . top : null , dtLeft : d . length ? d . offset ( ) . left : null , dtHeight : d . length ? d . outerHeight ( ) : null , dtWidth : d . length ? d . outerWidth ( ) : null } } , _mouseMove : function ( b ) { this . _clonePosition ( b ) ; for ( var a = this . _eventToPage ( b , " Y " ) - this . s . bodyTop , c = this . s . middles , d = null , h = this . s . dt , k = h . table ( ) . body ( ) , g = 0 , f = c . length ; g < f ; g + + ) if ( a < c [ g ] ) { d = g ;
break } null == = d & & ( d = c . length ) ; if ( null == = this . s . lastInsert | | this . s . lastInsert != = d ) 0 == = d ? this . dom . target . prependTo ( k ) : ( a = e . unique ( h . rows ( { page : " current " } ) . nodes ( ) . toArray ( ) ) , d > this . s . lastInsert ? this . dom . target . insertAfter ( a [ d - 1 ] ) : this . dom . target . insertBefore ( a [ d ] ) ) , this . _cachePositions ( ) , this . s . lastInsert = d ; this . _shiftScroll ( b ) } , _mouseUp : function ( ) { var b = this . s . dt , a , c , d = this . c . dataSrc ; this . dom . clone . remove ( ) ; this . dom . clone = null ; this . dom . target . removeClass ( " dt-rowReorder-moving " ) ; e ( g ) . off ( " .rowReorder " ) ;
e ( g . body ) . removeClass ( " dt-rowReorder-noOverflow " ) ; clearInterval ( this . s . scrollInterval ) ; this . s . scrollInterval = null ; var h = this . s . start . nodes , k = e . unique ( b . rows ( { page : " current " } ) . nodes ( ) . toArray ( ) ) , f = { } , l = [ ] , i = [ ] , j = this . s . getDataFn , o = this . s . setDataFn ; a = 0 ; for ( c = h . length ; a < c ; a + + ) if ( h [ a ] != = k [ a ] ) { var m = b . row ( k [ a ] ) . id ( ) , p = b . row ( k [ a ] ) . data ( ) , n = b . row ( h [ a ] ) . data ( ) ; m & & ( f [ m ] = j ( n ) ) ; l . push ( { node : k [ a ] , oldData : j ( p ) , newData : j ( n ) , newPosition : a , oldPosition : e . inArray ( k [ a ] , h ) } ) ; i . push ( k [ a ] ) } h = [ l , { dataSrc : d , nodes : i , values : f ,
triggerRow : b . row ( this . dom . target ) } ] ; this . _emitEvent ( " row-reorder " , h ) ; this . c . editor & & this . c . editor . edit ( i , ! 1 , { submit : " changed " } ) . multiSet ( d , f ) . submit ( ) ; if ( this . c . update ) { a = 0 ; for ( c = l . length ; a < c ; a + + ) f = b . row ( l [ a ] . node ) . data ( ) , o ( f , l [ a ] . newData ) , b . columns ( ) . every ( function ( ) { this . dataSrc ( ) == = d & & b . cell ( l [ a ] . node , this . index ( ) ) . invalidate ( " data " ) } ) ; this . _emitEvent ( " row-reordered " , h ) ; b . draw ( ! 1 ) } } , _shiftScroll : function ( b ) { var a = this , c = this . s . scroll , d = ! 1 , e = b . pageY - g . body . scrollTop , f , i ; 65 > e ? f = - 5 : e > c . windowHeight -
65 & & ( f = 5 ) ; null != = c . dtTop & & b . pageY < c . dtTop + 65 ? i = - 5 : null != = c . dtTop & & b . pageY > c . dtTop + c . dtHeight - 65 & & ( i = 5 ) ; f | | i ? ( c . windowVert = f , c . dtVert = i , d = ! 0 ) : this . s . scrollInterval & & ( clearInterval ( this . s . scrollInterval ) , this . s . scrollInterval = null ) ; ! this . s . scrollInterval & & d & & ( this . s . scrollInterval = setInterval ( function ( ) { if ( c . windowVert ) g . body . scrollTop = g . body . scrollTop + c . windowVert ; if ( c . dtVert ) { var b = a . dom . dtScroll [ 0 ] ; if ( c . dtVert ) b . scrollTop = b . scrollTop + c . dtVert } } , 20 ) ) } } ) ; i . defaults = { dataSrc : 0 , editor : null , selector : " td:first-child " ,
snapX : ! 1 , update : ! 0 } ; i . version = " 1.1.2 " ; e . fn . dataTable . RowReorder = i ; e . fn . DataTable . RowReorder = i ; e ( g ) . on ( " init.dt.dtr " , function ( b , a ) { if ( " dt " == = b . namespace ) { var c = a . oInit . rowReorder , d = j . defaults . rowReorder ; if ( c | | d ) d = e . extend ( { } , c , d ) , ! 1 != = c & & new i ( a , d ) } } ) ; return i } ) ;
/ * !
Select for DataTables 1.2 .0
2015 - 2016 SpryMedia Ltd - datatables . net / license / mit
2016-09-03 11:05:50 +00:00
* /
2016-09-22 08:06:46 +00:00
( function ( e ) { " function " == = typeof define & & define . amd ? define ( [ " jquery " , " datatables.net " ] , function ( i ) { return e ( i , window , document ) } ) : " object " == = typeof exports ? module . exports = function ( i , l ) { i | | ( i = window ) ; if ( ! l | | ! l . fn . dataTable ) l = require ( " datatables.net " ) ( i , l ) . $ ; return e ( l , i , i . document ) } : e ( jQuery , window , document ) } ) ( function ( e , i , l , h ) { function t ( b , a , c ) { var d ; d = function ( c , a ) { if ( c > a ) var d = a , a = c , c = d ; var f = ! 1 ; return b . columns ( " :visible " ) . indexes ( ) . filter ( function ( b ) { b == = c & & ( f = ! 0 ) ; return b == = a ? ( f = ! 1 , ! 0 ) : f } ) } ; var f =
function ( c , a ) { var d = b . rows ( { search : " applied " } ) . indexes ( ) ; if ( d . indexOf ( c ) > d . indexOf ( a ) ) var f = a , a = c , c = f ; var e = ! 1 ; return d . filter ( function ( b ) { b == = c & & ( e = ! 0 ) ; return b == = a ? ( e = ! 1 , ! 0 ) : e } ) } ; ! b . cells ( { selected : ! 0 } ) . any ( ) & & ! c ? ( d = d ( 0 , a . column ) , c = f ( 0 , a . row ) ) : ( d = d ( c . column , a . column ) , c = f ( c . row , a . row ) ) ; c = b . cells ( c , d ) . flatten ( ) ; b . cells ( a , { selected : ! 0 } ) . any ( ) ? b . cells ( c ) . deselect ( ) : b . cells ( c ) . select ( ) } function r ( b ) { var a = b . settings ( ) [ 0 ] . _select . selector ; e ( b . table ( ) . body ( ) ) . off ( " mousedown.dtSelect " , a ) . off ( " mouseup.dtSelect " ,
a ) . off ( " click.dtSelect " , a ) ; e ( " body " ) . off ( " click.dtSelect " ) } function v ( b ) { var a = e ( b . table ( ) . body ( ) ) , c = b . settings ( ) [ 0 ] , d = c . _select . selector ; a . on ( " mousedown.dtSelect " , d , function ( c ) { if ( c . shiftKey | | c . metaKey | | c . ctrlKey ) a . css ( " -moz-user-select " , " none " ) . one ( " selectstart.dtSelect " , d , function ( ) { return ! 1 } ) } ) . on ( " mouseup.dtSelect " , d , function ( ) { a . css ( " -moz-user-select " , " " ) } ) . on ( " click.dtSelect " , d , function ( c ) { var a = b . select . items ( ) ; if ( ! i . getSelection | | ! i . getSelection ( ) . toString ( ) ) { var d = b . settings ( ) [ 0 ] ; if ( e ( c . target ) . closest ( " div.dataTables_wrapper " ) [ 0 ] ==
b . table ( ) . container ( ) ) { var g = b . cell ( e ( c . target ) . closest ( " td, th " ) ) ; if ( g . any ( ) ) { var h = e . Event ( " user-select.dt " ) ; k ( b , h , [ a , g , c ] ) ; h . isDefaultPrevented ( ) | | ( h = g . index ( ) , " row " == = a ? ( a = h . row , s ( c , b , d , " row " , a ) ) : " column " == = a ? ( a = g . index ( ) . column , s ( c , b , d , " column " , a ) ) : " cell " == = a & & ( a = g . index ( ) , s ( c , b , d , " cell " , a ) ) , d . _select_lastCell = h ) } } } } ) ; e ( " body " ) . on ( " click.dtSelect " , function ( a ) { c . _select . blurable & & ! e ( a . target ) . parents ( ) . filter ( b . table ( ) . container ( ) ) . length & & ( e ( a . target ) . parents ( " div.DTE " ) . length | | p ( c , ! 0 ) ) } ) } function k ( b ,
a , c , d ) { if ( ! d | | b . flatten ( ) . length ) " string " == = typeof a & & ( a + = " .dt " ) , c . unshift ( b ) , e ( b . table ( ) . node ( ) ) . triggerHandler ( a , c ) } function w ( b ) { var a = b . settings ( ) [ 0 ] ; if ( a . _select . info & & a . aanFeatures . i ) { var c = e ( ' <span class= " select-info " /> ' ) , d = function ( a , d ) { c . append ( e ( ' <span class= " select-item " /> ' ) . append ( b . i18n ( " select. " + a + " s " , { _ : " %d " + a + " s selected " , " 0 " : " " , 1 : " 1 " + a + " selected " } , d ) ) ) } ; d ( " row " , b . rows ( { selected : ! 0 } ) . flatten ( ) . length ) ; d ( " column " , b . columns ( { selected : ! 0 } ) . flatten ( ) . length ) ; d ( " cell " , b . cells ( { selected : ! 0 } ) . flatten ( ) . length ) ;
e . each ( a . aanFeatures . i , function ( a , b ) { var b = e ( b ) , d = b . children ( " span.select-info " ) ; d . length & & d . remove ( ) ; " " != = c . text ( ) & & b . append ( c ) } ) } } function x ( b , a , c , d ) { var f = b [ a + " s " ] ( { search : " applied " } ) . indexes ( ) , d = e . inArray ( d , f ) , m = e . inArray ( c , f ) ; if ( ! b [ a + " s " ] ( { selected : ! 0 } ) . any ( ) & & - 1 == = d ) f . splice ( e . inArray ( c , f ) + 1 , f . length ) ; else { if ( d > m ) var j = m , m = d , d = j ; f . splice ( m + 1 , f . length ) ; f . splice ( 0 , d ) } b [ a ] ( c , { selected : ! 0 } ) . any ( ) ? ( f . splice ( e . inArray ( c , f ) , 1 ) , b [ a + " s " ] ( f ) . deselect ( ) ) : b [ a + " s " ] ( f ) . select ( ) } function p ( b , a ) { if ( a | | " single " == =
b . _select . style ) { var c = new g . Api ( b ) ; c . rows ( { selected : ! 0 } ) . deselect ( ) ; c . columns ( { selected : ! 0 } ) . deselect ( ) ; c . cells ( { selected : ! 0 } ) . deselect ( ) } } function s ( b , a , c , d , f ) { var e = a . select . style ( ) , j = a [ d ] ( f , { selected : ! 0 } ) . any ( ) ; " os " == = e ? b . ctrlKey | | b . metaKey ? a [ d ] ( f ) . select ( ! j ) : b . shiftKey ? " cell " == = d ? t ( a , f , c . _select_lastCell | | null ) : x ( a , d , f , c . _select_lastCell ? c . _select_lastCell [ d ] : null ) : ( b = a [ d + " s " ] ( { selected : ! 0 } ) , j & & 1 == = b . flatten ( ) . length ? a [ d ] ( f ) . deselect ( ) : ( b . deselect ( ) , a [ d ] ( f ) . select ( ) ) ) : " multi+shift " == e ? b . shiftKey ?
" cell " == = d ? t ( a , f , c . _select_lastCell | | null ) : x ( a , d , f , c . _select_lastCell ? c . _select_lastCell [ d ] : null ) : a [ d ] ( f ) . select ( ! j ) : a [ d ] ( f ) . select ( ! j ) } function q ( b , a ) { return function ( c ) { return c . i18n ( " buttons. " + b , a ) } } var g = e . fn . dataTable ; g . select = { } ; g . select . version = " 1.2.0 " ; g . select . init = function ( b ) { var a = b . settings ( ) [ 0 ] , c = a . oInit . select , d = g . defaults . select , c = c == = h ? d : c , d = " row " , f = " api " , m = ! 1 , j = ! 0 , u = " td, th " , i = " selected " ; a . _select = { } ; if ( ! 0 == = c ) f = " os " ; else if ( " string " == = typeof c ) f = c ; else if ( e . isPlainObject ( c ) & & ( c . blurable != =
h & & ( m = c . blurable ) , c . info != = h & & ( j = c . info ) , c . items != = h & & ( d = c . items ) , c . style != = h & & ( f = c . style ) , c . selector != = h & & ( u = c . selector ) , c . className != = h ) ) i = c . className ; b . select . selector ( u ) ; b . select . items ( d ) ; b . select . style ( f ) ; b . select . blurable ( m ) ; b . select . info ( j ) ; a . _select . className = i ; e . fn . dataTable . ext . order [ " select-checkbox " ] = function ( a , c ) { return this . api ( ) . column ( c , { order : " index " } ) . nodes ( ) . map ( function ( c ) { return " row " == = a . _select . items ? e ( c ) . parent ( ) . hasClass ( a . _select . className ) : " cell " == = a . _select . items ? e ( c ) . hasClass ( a . _select . className ) :
! 1 } ) } ; e ( b . table ( ) . node ( ) ) . hasClass ( " selectable " ) & & b . select . style ( " os " ) } ; e . each ( [ { type : " row " , prop : " aoData " } , { type : " column " , prop : " aoColumns " } ] , function ( b , a ) { g . ext . selector [ a . type ] . push ( function ( c , b , f ) { var b = b . selected , e , j = [ ] ; if ( b == = h ) return f ; for ( var g = 0 , i = f . length ; g < i ; g + + ) e = c [ a . prop ] [ f [ g ] ] , ( ! 0 == = b & & ! 0 == = e . _select_selected | | ! 1 == = b & & ! e . _select_selected ) & & j . push ( f [ g ] ) ; return j } ) } ) ; g . ext . selector . cell . push ( function ( b , a , c ) { var a = a . selected , d , f = [ ] ; if ( a == = h ) return c ; for ( var e = 0 , g = c . length ; e < g ; e + + ) d = b . aoData [ c [ e ] . row ] ,
( ! 0 == = a & & d . _selected_cells & & ! 0 == = d . _selected_cells [ c [ e ] . column ] | | ! 1 == = a & & ( ! d . _selected_cells | | ! d . _selected_cells [ c [ e ] . column ] ) ) & & f . push ( c [ e ] ) ; return f } ) ; var n = g . Api . register , o = g . Api . registerPlural ; n ( " select() " , function ( ) { return this . iterator ( " table " , function ( b ) { g . select . init ( new g . Api ( b ) ) } ) } ) ; n ( " select.blurable() " , function ( b ) { return b == = h ? this . context [ 0 ] . _select . blurable : this . iterator ( " table " , function ( a ) { a . _select . blurable = b } ) } ) ; n ( " select.info() " , function ( b ) { return w == = h ? this . context [ 0 ] . _select . info :
this . iterator ( " table " , function ( a ) { a . _select . info = b } ) } ) ; n ( " select.items() " , function ( b ) { return b == = h ? this . context [ 0 ] . _select . items : this . iterator ( " table " , function ( a ) { a . _select . items = b ; k ( new g . Api ( a ) , " selectItems " , [ b ] ) } ) } ) ; n ( " select.style() " , function ( b ) { return b == = h ? this . context [ 0 ] . _select . style : this . iterator ( " table " , function ( a ) { a . _select . style = b ; if ( ! a . _select_init ) { var c = new g . Api ( a ) ; a . aoRowCreatedCallback . push ( { fn : function ( c , b , d ) { b = a . aoData [ d ] ; b . _select_selected & & e ( c ) . addClass ( a . _select . className ) ;
c = 0 ; for ( d = a . aoColumns . length ; c < d ; c + + ) ( a . aoColumns [ c ] . _select_selected | | b . _selected_cells & & b . _selected_cells [ c ] ) & & e ( b . anCells [ c ] ) . addClass ( a . _select . className ) } , sName : " select-deferRender " } ) ; c . on ( " preXhr.dt.dtSelect " , function ( ) { var a = c . rows ( { selected : ! 0 } ) . ids ( ! 0 ) . filter ( function ( c ) { return c != = h } ) , b = c . cells ( { selected : ! 0 } ) . eq ( 0 ) . map ( function ( a ) { var b = c . row ( a . row ) . id ( ! 0 ) ; return b ? { row : b , column : a . column } : h } ) . filter ( function ( c ) { return c != = h } ) ; c . one ( " draw.dt.dtSelect " , function ( ) { c . rows ( a ) . select ( ) ; b . any ( ) & &
b . each ( function ( a ) { c . cells ( a . row , a . column ) . select ( ) } ) } ) } ) ; c . on ( " draw.dtSelect.dt select.dtSelect.dt deselect.dtSelect.dt info.dt " , function ( ) { w ( c ) } ) ; c . on ( " destroy.dtSelect " , function ( ) { r ( c ) ; c . off ( " .dtSelect " ) } ) } var d = new g . Api ( a ) ; r ( d ) ; " api " != = b & & v ( d ) ; k ( new g . Api ( a ) , " selectStyle " , [ b ] ) } ) } ) ; n ( " select.selector() " , function ( b ) { return b == = h ? this . context [ 0 ] . _select . selector : this . iterator ( " table " , function ( a ) { r ( new g . Api ( a ) ) ; a . _select . selector = b ; " api " != = a . _select . style & & v ( new g . Api ( a ) ) } ) } ) ; o ( " rows().select() " ,
" row().select() " , function ( b ) { var a = this ; if ( ! 1 == = b ) return this . deselect ( ) ; this . iterator ( " row " , function ( c , a ) { p ( c ) ; c . aoData [ a ] . _select_selected = ! 0 ; e ( c . aoData [ a ] . nTr ) . addClass ( c . _select . className ) } ) ; this . iterator ( " table " , function ( c , b ) { k ( a , " select " , [ " row " , a [ b ] ] , ! 0 ) } ) ; return this } ) ; o ( " columns().select() " , " column().select() " , function ( b ) { var a = this ; if ( ! 1 == = b ) return this . deselect ( ) ; this . iterator ( " column " , function ( a , b ) { p ( a ) ; a . aoColumns [ b ] . _select_selected = ! 0 ; var f = ( new g . Api ( a ) ) . column ( b ) ; e ( f . header ( ) ) . addClass ( a . _select . className ) ;
e ( f . footer ( ) ) . addClass ( a . _select . className ) ; f . nodes ( ) . to $ ( ) . addClass ( a . _select . className ) } ) ; this . iterator ( " table " , function ( c , b ) { k ( a , " select " , [ " column " , a [ b ] ] , ! 0 ) } ) ; return this } ) ; o ( " cells().select() " , " cell().select() " , function ( b ) { var a = this ; if ( ! 1 == = b ) return this . deselect ( ) ; this . iterator ( " cell " , function ( a , b , f ) { p ( a ) ; b = a . aoData [ b ] ; b . _selected_cells == = h & & ( b . _selected_cells = [ ] ) ; b . _selected_cells [ f ] = ! 0 ; b . anCells & & e ( b . anCells [ f ] ) . addClass ( a . _select . className ) } ) ; this . iterator ( " table " , function ( b , d ) { k ( a , " select " ,
[ " cell " , a [ d ] ] , ! 0 ) } ) ; return this } ) ; o ( " rows().deselect() " , " row().deselect() " , function ( ) { var b = this ; this . iterator ( " row " , function ( a , b ) { a . aoData [ b ] . _select_selected = ! 1 ; e ( a . aoData [ b ] . nTr ) . removeClass ( a . _select . className ) } ) ; this . iterator ( " table " , function ( a , c ) { k ( b , " deselect " , [ " row " , b [ c ] ] , ! 0 ) } ) ; return this } ) ; o ( " columns().deselect() " , " column().deselect() " , function ( ) { var b = this ; this . iterator ( " column " , function ( a , b ) { a . aoColumns [ b ] . _select_selected = ! 1 ; var d = new g . Api ( a ) , f = d . column ( b ) ; e ( f . header ( ) ) . removeClass ( a . _select . className ) ;
e ( f . footer ( ) ) . removeClass ( a . _select . className ) ; d . cells ( null , b ) . indexes ( ) . each ( function ( b ) { var c = a . aoData [ b . row ] , d = c . _selected_cells ; c . anCells & & ( ! d | | ! d [ b . column ] ) & & e ( c . anCells [ b . column ] ) . removeClass ( a . _select . className ) } ) } ) ; this . iterator ( " table " , function ( a , c ) { k ( b , " deselect " , [ " column " , b [ c ] ] , ! 0 ) } ) ; return this } ) ; o ( " cells().deselect() " , " cell().deselect() " , function ( ) { var b = this ; this . iterator ( " cell " , function ( a , b , d ) { b = a . aoData [ b ] ; b . _selected_cells [ d ] = ! 1 ; b . anCells & & ! a . aoColumns [ d ] . _select_selected & & e ( b . anCells [ d ] ) . removeClass ( a . _select . className ) } ) ;
this . iterator ( " table " , function ( a , c ) { k ( b , " deselect " , [ " cell " , b [ c ] ] , ! 0 ) } ) ; return this } ) ; e . extend ( g . ext . buttons , { selected : { text : q ( " selected " , " Selected " ) , className : " buttons-selected " , init : function ( b ) { var a = this ; b . on ( " draw.dt.DT select.dt.DT deselect.dt.DT " , function ( ) { var b = a . rows ( { selected : ! 0 } ) . any ( ) | | a . columns ( { selected : ! 0 } ) . any ( ) | | a . cells ( { selected : ! 0 } ) . any ( ) ; a . enable ( b ) } ) ; this . disable ( ) } } , selectedSingle : { text : q ( " selectedSingle " , " Selected single " ) , className : " buttons-selected-single " , init : function ( b ) { var a =
this ; b . on ( " draw.dt.DT select.dt.DT deselect.dt.DT " , function ( ) { var c = b . rows ( { selected : ! 0 } ) . flatten ( ) . length + b . columns ( { selected : ! 0 } ) . flatten ( ) . length + b . cells ( { selected : ! 0 } ) . flatten ( ) . length ; a . enable ( 1 == = c ) } ) ; this . disable ( ) } } , selectAll : { text : q ( " selectAll " , " Select all " ) , className : " buttons-select-all " , action : function ( ) { this [ this . select . items ( ) + " s " ] ( ) . select ( ) } } , selectNone : { text : q ( " selectNone " , " Deselect all " ) , className : " buttons-select-none " , action : function ( ) { p ( this . settings ( ) [ 0 ] , ! 0 ) } , init : function ( b ) { var a =
this ; b . on ( " draw.dt.DT select.dt.DT deselect.dt.DT " , function ( ) { var c = b . rows ( { selected : ! 0 } ) . flatten ( ) . length + b . columns ( { selected : ! 0 } ) . flatten ( ) . length + b . cells ( { selected : ! 0 } ) . flatten ( ) . length ; a . enable ( 0 < c ) } ) ; this . disable ( ) } } } ) ; e . each ( [ " Row " , " Column " , " Cell " ] , function ( b , a ) { var c = a . toLowerCase ( ) ; g . ext . buttons [ " select " + a + " s " ] = { text : q ( " select " + a + " s " , " Select " + c + " s " ) , className : " buttons-select- " + c + " s " , action : function ( ) { this . select . items ( c ) } , init : function ( a ) { var b = this ; a . on ( " selectItems.dt.DT " , function ( a , d ,
e ) { b . active ( e == = c ) } ) } } } ) ; e ( l ) . on ( " preInit.dt.dtSelect " , function ( b , a ) { " dt " == = b . namespace & & g . select . init ( new g . Api ( a ) ) } ) ; return g . select } ) ;
2016-09-03 11:05:50 +00:00