@ -3,7 +3,7 @@
K ( 0 ) ) / 2 ; q = b ? 0 : R ; switch ( v ) { case "bottom" : B = l ; la . attr ( "y2" , C ) ; va . attr ( "y" , Math . max ( C , 0 ) + H ) ; ua . attr ( "x1" , q ) . attr ( "x2" , q ) . attr ( "y2" , C ) ; wa . attr ( "x" , 0 ) . attr ( "y" , Math . max ( C , 0 ) + H ) ; ba . attr ( "dy" , ".71em" ) . style ( "text-anchor" , "middle" ) ; ba . text ( function ( b ) { return z . length < N || 0 == b % Math . ceil ( z . length / N ) ? b < L . length ? L [ b ] : b : "" } ) ; h . attr ( "d" , "M" + S [ 0 ] + "," + T + "V0H" + S [ 1 ] + "V" + T ) ; break ; case "left" : B = s , la . attr ( "x2" , - C ) , va . attr ( "x" , - ( Math . max ( C , 0 ) + H ) ) , ua . attr ( "x2" , - C ) . attr ( "y2" , 0 ) , wa . attr ( "x" , - ( Math . max ( C , 0 ) + H ) ) . attr ( "y" , R ) ,
K ( 0 ) ) / 2 ; q = b ? 0 : R ; switch ( v ) { case "bottom" : B = l ; la . attr ( "y2" , C ) ; va . attr ( "y" , Math . max ( C , 0 ) + H ) ; ua . attr ( "x1" , q ) . attr ( "x2" , q ) . attr ( "y2" , C ) ; wa . attr ( "x" , 0 ) . attr ( "y" , Math . max ( C , 0 ) + H ) ; ba . attr ( "dy" , ".71em" ) . style ( "text-anchor" , "middle" ) ; ba . text ( function ( b ) { return z . length < N || 0 == b % Math . ceil ( z . length / N ) ? b < L . length ? L [ b ] : b : "" } ) ; h . attr ( "d" , "M" + S [ 0 ] + "," + T + "V0H" + S [ 1 ] + "V" + T ) ; break ; case "left" : B = s , la . attr ( "x2" , - C ) , va . attr ( "x" , - ( Math . max ( C , 0 ) + H ) ) , ua . attr ( "x2" , - C ) . attr ( "y2" , 0 ) , wa . attr ( "x" , - ( Math . max ( C , 0 ) + H ) ) . attr ( "y" , R ) ,
ba . attr ( "dy" , ".32em" ) . style ( "text-anchor" , "end" ) , ba . text ( function ( b ) { return z . length < N || 0 == b % Math . ceil ( z . length / N ) ? b < L . length ? L [ b ] : b : "" } ) , h . attr ( "d" , "M" + - T + "," + S [ 0 ] + "H0V" + S [ 1 ] + "H" + - T ) } if ( G . ticks ) A . call ( B , bb ) , ka . call ( B , K ) , ja . call ( B , K ) ; else { var ca = K . rangeBand ( ) / 2 , ja = function ( b ) { return K ( b ) + ca } ; A . call ( B , ja ) ; ka . call ( B , ja ) } } ) } var G = d3 . scale . linear ( ) , v = "bottom" , C = 6 , T = 6 , H = 3 , b = ! 1 , N = 10 , R = 0 , L = [ ] ; q . scale = function ( b ) { if ( ! arguments . length ) return G ; G = b ; return q } ; q . orient = function ( b ) { if ( ! arguments . length ) return v ;
ba . attr ( "dy" , ".32em" ) . style ( "text-anchor" , "end" ) , ba . text ( function ( b ) { return z . length < N || 0 == b % Math . ceil ( z . length / N ) ? b < L . length ? L [ b ] : b : "" } ) , h . attr ( "d" , "M" + - T + "," + S [ 0 ] + "H0V" + S [ 1 ] + "H" + - T ) } if ( G . ticks ) A . call ( B , bb ) , ka . call ( B , K ) , ja . call ( B , K ) ; else { var ca = K . rangeBand ( ) / 2 , ja = function ( b ) { return K ( b ) + ca } ; A . call ( B , ja ) ; ka . call ( B , ja ) } } ) } var G = d3 . scale . linear ( ) , v = "bottom" , C = 6 , T = 6 , H = 3 , b = ! 1 , N = 10 , R = 0 , L = [ ] ; q . scale = function ( b ) { if ( ! arguments . length ) return G ; G = b ; return q } ; q . orient = function ( b ) { if ( ! arguments . length ) return v ;
v = b in { top : 1 , right : 1 , bottom : 1 , left : 1 } ? b + "" : "bottom" ; return q } ; q . categories = function ( b ) { if ( ! arguments . length ) return L ; L = b ; return q } ; q . tickCentered = function ( l ) { if ( ! arguments . length ) return b ; b = l ; return q } ; q . tickTextNum = function ( b ) { if ( ! arguments . length ) return N ; N = b ; return q } ; q . tickOffset = function ( ) { return R } ; q . ticks = function ( ) { } ; return q } function s ( l ) { return "undefined" === typeof l } function l ( l ) { return "undefined" !== typeof l } xb . c3 = { } ; c3 . generate = function ( Q ) { var yb , Oa , ta , q , G , v , C , T , H ; function b ( a , c ) { for ( var d =
v = b in { top : 1 , right : 1 , bottom : 1 , left : 1 } ? b + "" : "bottom" ; return q } ; q . categories = function ( b ) { if ( ! arguments . length ) return L ; L = b ; return q } ; q . tickCentered = function ( l ) { if ( ! arguments . length ) return b ; b = l ; return q } ; q . tickTextNum = function ( b ) { if ( ! arguments . length ) return N ; N = b ; return q } ; q . tickOffset = function ( ) { return R } ; q . ticks = function ( ) { } ; return q } function s ( l ) { return "undefined" === typeof l } function l ( l ) { return "undefined" !== typeof l } xb . c3 = { } ; c3 . generate = function ( Q ) { var yb , Oa , ta , q , G , v , C , T , H ; function b ( a , c ) { for ( var d =
Q , m = 0 ; m < a . length ; m ++ ) { if ( ! ( a [ m ] in d ) ) return c ; d = d [ a [ m ] ] } return d } function N ( ) { cb = null === Bb ? + d3 . select ( xa ) . style ( "width" ) . replace ( "px" , "" ) : Bb ; var a = null === Cb ? + d3 . select ( xa ) . style ( "height" ) . replace ( "px" , "" ) : Cb ; ma = 0 < a ? a : 320 ; Db = 20 + Eb + da ; Fb = ! Gb || e || db ? 1 : 50 ; Pa = eb ? 0 : 40 ; Hb = ma - Eb - da ; Ib = 20 + da ; Jb = ma - da ; v = 0 ; C = Fb ; T = Db ; H = Pa ; ta = Hb ; q = Ib ; G = Pa ; yb = Jb ; Oa = Pa ; n = cb - H - C ; u = ma - v - T ; ea = ma - ta - q } function R ( ) { Kb = e ? 10 : 0 ; Lb = e ? u : n ; fb = e ? 0 : u ; gb = e ? n : 1 ; r = L ( Kb , Lb , l ( r ) ? r . domain ( ) : void 0 , function ( a ) { return M . tickOffset ( ) } ) ; y = z ( fb , gb , l ( y ) ?
Q , m = 0 ; m < a . length ; m ++ ) { if ( ! ( a [ m ] in d ) ) return c ; d = d [ a [ m ] ] } return d } function N ( ) { cb = null === Bb ? + d3 . select ( xa ) . style ( "width" ) . replace ( "px" , "" ) : Bb ; var a = null === Cb ? + d3 . select ( xa ) . style ( "height" ) . replace ( "px" , "" ) : Cb ; ma = 0 < a ? a : 320 ; Db = 20 + Eb + da ; Fb = ! Gb || e || db ? 1 : 50 ; Pa = eb ? 0 : 40 ; Hb = ma - Eb - da ; Ib = 20 + da ; Jb = ma - da ; v = 0 ; C = Fb ; T = Db ; H = Pa ; ta = Hb ; q = Ib ; G = Pa ; yb = Jb ; Oa = Pa ; n = cb - H - C ; t = ma - v - T ; ea = ma - ta - q } function R ( ) { Kb = e ? 10 : 0 ; Lb = e ? t : n ; fb = e ? 0 : t ; gb = e ? n : 1 ; r = L ( Kb , Lb , l ( r ) ? r . domain ( ) : void 0 , function ( a ) { return M . tickOffset ( ) } ) ; y = z ( fb , gb , l ( y ) ?
y . domain ( ) : void 0 ) ; O = z ( fb , gb , l ( O ) ? O . domain ( ) : void 0 ) ; U = L ( 0 , n , l ( ya ) ? ya : void 0 , function ( a ) { return 0 === a % 1 ? za . tickOffset ( ) : 0 } ) ; Qa = z ( ea , 10 ) ; Ra = z ( ea , 10 ) ; M = zb ( r , kc ) ; fa = d3 . svg . axis ( ) . scale ( y ) . orient ( lc ) ; Sa = d3 . svg . axis ( ) . scale ( O ) . orient ( mc ) ; za = zb ( U , nc ) } function L ( a , c , d , m ) { var f = ( D ? d3 . time . scale ( ) : d3 . scale . linear ( ) ) . range ( [ a , c ] ) ; f . orgDomain = function ( ) { return f . domain ( ) } ; l ( d ) && f . domain ( d ) ; s ( m ) && ( m = function ( a ) { return 0 } ) ; if ( na ) { var b = f , p , f = function ( a ) { return b ( a ) + m ( a ) } ; for ( p in b ) f [ p ] = b [ p ] ; f . orgDomain = function ( ) { return b . domain ( ) } ;
y . domain ( ) : void 0 ) ; O = z ( fb , gb , l ( O ) ? O . domain ( ) : void 0 ) ; U = L ( 0 , n , l ( ya ) ? ya : void 0 , function ( a ) { return 0 === a % 1 ? za . tickOffset ( ) : 0 } ) ; Qa = z ( ea , 10 ) ; Ra = z ( ea , 10 ) ; M = zb ( r , kc ) ; fa = d3 . svg . axis ( ) . scale ( y ) . orient ( lc ) ; Sa = d3 . svg . axis ( ) . scale ( O ) . orient ( mc ) ; za = zb ( U , nc ) } function L ( a , c , d , m ) { var f = ( D ? d3 . time . scale ( ) : d3 . scale . linear ( ) ) . range ( [ a , c ] ) ; f . orgDomain = function ( ) { return f . domain ( ) } ; l ( d ) && f . domain ( d ) ; s ( m ) && ( m = function ( a ) { return 0 } ) ; if ( na ) { var b = f , p , f = function ( a ) { return b ( a ) + m ( a ) } ; for ( p in b ) f [ p ] = b [ p ] ; f . orgDomain = function ( ) { return b . domain ( ) } ;
f . domain = function ( a ) { if ( ! arguments . length ) return a = b . domain ( ) , [ a [ 0 ] , a [ 1 ] + 1 ] ; b . domain ( a ) ; return f } } return f } function z ( a , c ) { return d3 . scale . linear ( ) . range ( [ a , c ] ) } function h ( a ) { return "y2" === A ( a ) ? O : y } function Na ( a ) { return "y2" === A ( a ) ? Ra : Qa } function zb ( a , c ) { var d = ( na ? jc ( ) : d3 . svg . axis ( ) ) . scale ( a ) . orient ( c ) ; D && d . tickFormat ( oc ) ; na ? d . categories ( hb ) . tickCentered ( pc ) : d . tickOffset = function ( ) { return 0 } ; return d } function A ( a ) { return a in Mb ? Mb [ a ] : "y" } function ja ( a ) { return d3 . min ( a , function ( a ) { return d3 . min ( a . values ,
f . domain = function ( a ) { if ( ! arguments . length ) return a = b . domain ( ) , [ a [ 0 ] , a [ 1 ] + 1 ] ; b . domain ( a ) ; return f } } return f } function z ( a , c ) { return d3 . scale . linear ( ) . range ( [ a , c ] ) } function h ( a ) { return "y2" === A ( a ) ? O : y } function Na ( a ) { return "y2" === A ( a ) ? Ra : Qa } function zb ( a , c ) { var d = ( na ? jc ( ) : d3 . svg . axis ( ) ) . scale ( a ) . orient ( c ) ; D && d . tickFormat ( oc ) ; na ? d . categories ( hb ) . tickCentered ( pc ) : d . tickOffset = function ( ) { return 0 } ; return d } function A ( a ) { return a in Mb ? Mb [ a ] : "y" } function ja ( a ) { return d3 . min ( a , function ( a ) { return d3 . min ( a . values ,
function ( a ) { return a . value } ) } ) } function ka ( a ) { var c = { } , d , m ; a . forEach ( function ( a ) { c [ a . id ] = [ ] ; a . values . forEach ( function ( d ) { c [ a . id ] . push ( d . value ) } ) } ) ; for ( d = 0 ; d < w . length ; d ++ ) for ( m = 1 ; m < w [ d ] . length ; m ++ ) Aa ( w [ d ] [ m ] ) && ( s ( c [ w [ d ] [ m ] ] ) || c [ w [ d ] [ m ] ] . forEach ( function ( a , b ) { A ( w [ d ] [ m ] ) === A ( w [ d ] [ 0 ] ) && ( c [ w [ d ] [ 0 ] ] [ b ] += 1 * a ) } ) ) ; return d3 . max ( Object . keys ( c ) . map ( function ( a ) { return d3 . max ( c [ a ] ) } ) ) } function B ( a , c ) { var d = Ta ( function ( a ) { return A ( a . id ) === c } ) , m = "y2" === c ? qc : rc , f = "y2" === c ? sc : tc , m = null !== m ? m : ja ( d ) , f = null !== f ? f : ka ( d ) ,
function ( a ) { return a . value } ) } ) } function ka ( a ) { var c = { } , d , m ; a . forEach ( function ( a ) { c [ a . id ] = [ ] ; a . values . forEach ( function ( d ) { c [ a . id ] . push ( d . value ) } ) } ) ; for ( d = 0 ; d < w . length ; d ++ ) for ( m = 1 ; m < w [ d ] . length ; m ++ ) Aa ( w [ d ] [ m ] ) && ( s ( c [ w [ d ] [ m ] ] ) || c [ w [ d ] [ m ] ] . forEach ( function ( a , b ) { A ( w [ d ] [ m ] ) === A ( w [ d ] [ 0 ] ) && ( c [ w [ d ] [ 0 ] ] [ b ] += 1 * a ) } ) ) ; return d3 . max ( Object . keys ( c ) . map ( function ( a ) { return d3 . max ( c [ a ] ) } ) ) } function B ( a , c ) { var d = Ta ( function ( a ) { return A ( a . id ) === c } ) , m = "y2" === c ? qc : rc , f = "y2" === c ? sc : tc , m = null !== m ? m : ja ( d ) , f = null !== f ? f : ka ( d ) ,
@ -16,28 +16,28 @@ function Bc(){var a={},c=0,d,b;Ta(Aa).forEach(function(f){for(d=0;d<w.length;d++
( g += a ( d . values [ p ] ) ) } ) ; return d ? g : k ( e . value ) - g } } function Tb ( a , c ) { var d = null === a ? function ( a ) { return a } : function ( c ) { return a - c } ; return function ( a ) { var b = c ? Na ( a . id ) : h ( a . id ) ; return d ( b ( a . value ) ) } } function mb ( a , c ) { var d = s ( a ) ? jb ( ) : a ; "string" === typeof d && ( d = [ d ] ) ; for ( var b = 0 ; b < d . length ; b ++ ) X [ d [ b ] ] = c } function wc ( a , c ) { var d = ! 1 ; a . forEach ( function ( a ) { X [ a . id ] === c && ( d = ! 0 ) ; a . id in X || "line" !== c || ( d = ! 0 ) } ) ; return d } function nb ( a ) { a = "string" === typeof a ? a : a . id ; return ! ( a in X ) || "line" === X [ a ] || "spline" === X [ a ] } function Aa ( a ) { return "bar" ===
( g += a ( d . values [ p ] ) ) } ) ; return d ? g : k ( e . value ) - g } } function Tb ( a , c ) { var d = null === a ? function ( a ) { return a } : function ( c ) { return a - c } ; return function ( a ) { var b = c ? Na ( a . id ) : h ( a . id ) ; return d ( b ( a . value ) ) } } function mb ( a , c ) { var d = s ( a ) ? jb ( ) : a ; "string" === typeof d && ( d = [ d ] ) ; for ( var b = 0 ; b < d . length ; b ++ ) X [ d [ b ] ] = c } function wc ( a , c ) { var d = ! 1 ; a . forEach ( function ( a ) { X [ a . id ] === c && ( d = ! 0 ) ; a . id in X || "line" !== c || ( d = ! 0 ) } ) ; return d } function nb ( a ) { a = "string" === typeof a ? a : a . id ; return ! ( a in X ) || "line" === X [ a ] || "spline" === X [ a ] } function Aa ( a ) { return "bar" ===
X [ "string" === typeof a ? a : a . id ] } function Cc ( a ) { return nb ( a ) ? a . values : [ ] } function Ub ( a ) { return Aa ( a ) ? a . values : [ ] } function Vb ( a , c ) { var d = d3 . mouse ( a ) , b = d3 . select ( a ) , f = 1 * b . attr ( "cx" ) , b = 1 * b . attr ( "cy" ) ; return Math . sqrt ( Math . pow ( f - d [ 0 ] , 2 ) + Math . pow ( b - d [ 1 ] , 2 ) ) < c } function Wb ( a ) { var c = d3 . mouse ( a ) , d = d3 . select ( a ) ; a = 1 * d . attr ( "x" ) ; var b = 1 * d . attr ( "y" ) , d = 1 * d . attr ( "width" ) ; return a - 10 < c [ 0 ] && c [ 0 ] < a + d + 10 && b - 10 < c [ 1 ] } function Dc ( a , c ) { var d ; for ( d = 0 ; d < c . length ; d ++ ) if ( c [ d ] . start < a && a <= c [ d ] . end ) return ! 0 ; return ! 1 } function Xb ( a ,
X [ "string" === typeof a ? a : a . id ] } function Cc ( a ) { return nb ( a ) ? a . values : [ ] } function Ub ( a ) { return Aa ( a ) ? a . values : [ ] } function Vb ( a , c ) { var d = d3 . mouse ( a ) , b = d3 . select ( a ) , f = 1 * b . attr ( "cx" ) , b = 1 * b . attr ( "cy" ) ; return Math . sqrt ( Math . pow ( f - d [ 0 ] , 2 ) + Math . pow ( b - d [ 1 ] , 2 ) ) < c } function Wb ( a ) { var c = d3 . mouse ( a ) , d = d3 . select ( a ) ; a = 1 * d . attr ( "x" ) ; var b = 1 * d . attr ( "y" ) , d = 1 * d . attr ( "width" ) ; return a - 10 < c [ 0 ] && c [ 0 ] < a + d + 10 && b - 10 < c [ 1 ] } function Dc ( a , c ) { var d ; for ( d = 0 ; d < c . length ; d ++ ) if ( c [ d ] . start < a && a <= c [ d ] . end ) return ! 0 ; return ! 1 } function Xb ( a ,
c , d ) { Ec ( a , c ) ; g . select ( ".selected-circles-" + c . id ) . selectAll ( ".selected-circle-" + d ) . data ( [ c ] ) . enter ( ) . append ( "circle" ) . attr ( "class" , function ( a ) { return "selected-circle selected-circle-" + d } ) . attr ( "cx" , e ? W : V ) . attr ( "cy" , e ? V : W ) . attr ( "stroke" , function ( ) { return P ( c . id ) } ) . attr ( "r" , 1.4 * Fa ) . transition ( ) . duration ( 100 ) . attr ( "r" , Fa ) } function ob ( a , c , d ) { Fc ( a , c ) ; g . select ( ".selected-circles-" + c . id ) . selectAll ( ".selected-circle-" + d ) . transition ( ) . duration ( 100 ) . attr ( "r" , 0 ) . remove ( ) } function Yb ( a , c , d , b ) { a ? Xb ( c , d , b ) : ob ( c ,
c , d ) { Ec ( a , c ) ; g . select ( ".selected-circles-" + c . id ) . selectAll ( ".selected-circle-" + d ) . data ( [ c ] ) . enter ( ) . append ( "circle" ) . attr ( "class" , function ( a ) { return "selected-circle selected-circle-" + d } ) . attr ( "cx" , e ? W : V ) . attr ( "cy" , e ? V : W ) . attr ( "stroke" , function ( ) { return P ( c . id ) } ) . attr ( "r" , 1.4 * Fa ) . transition ( ) . duration ( 100 ) . attr ( "r" , Fa ) } function ob ( a , c , d ) { Fc ( a , c ) ; g . select ( ".selected-circles-" + c . id ) . selectAll ( ".selected-circle-" + d ) . transition ( ) . duration ( 100 ) . attr ( "r" , 0 ) . remove ( ) } function Yb ( a , c , d , b ) { a ? Xb ( c , d , b ) : ob ( c ,
d , b ) } function Gc ( a , c , d ) { } function Zb ( a , c , d ) { } function $b ( a , c , d , b ) { } function Hc ( a , c , d , b ) { var f , g , p = "M" , k , h , t , r , q , n = [ ] ; if ( l ( b ) ) for ( f = 0 ; f < b . length ; f ++ ) n [ f ] = { } , s ( b [ f ] . start ) ? n [ f ] . start = a [ 0 ] . x : D && ( n [ f ] . start = ga ( b [ f ] . start ) ) , s ( b [ f ] . end ) ? n [ f ] . end = a [ a . length - 1 ] . x : D && ( n [ f ] . end = ga ( b [ f ] . end ) ) ; r = e ? function ( a ) { return d ( a . value ) } : function ( a ) { return c ( a . x ) } ; q = e ? function ( a ) { return c ( a . x ) } : function ( a ) { return d ( a . value ) } ; b = D ? function ( a , b , f , e ) { var p = a . x . getTime ( ) ; a = b . x - a . x ; b = new Date ( p + a * ( f + e ) ) ; return "M" + c ( new Date ( p +
d , b ) } function Gc ( a , c , d ) { } function Zb ( a , c , d ) { } function $b ( a , c , d , b ) { } function Hc ( a , c , d , b ) { var f , g , p = "M" , k , h , u , r , q , n = [ ] ; if ( l ( b ) ) for ( f = 0 ; f < b . length ; f ++ ) n [ f ] = { } , s ( b [ f ] . start ) ? n [ f ] . start = a [ 0 ] . x : D && ( n [ f ] . start = ga ( b [ f ] . start ) ) , s ( b [ f ] . end ) ? n [ f ] . end = a [ a . length - 1 ] . x : D && ( n [ f ] . end = ga ( b [ f ] . end ) ) ; r = e ? function ( a ) { return d ( a . value ) } : function ( a ) { return c ( a . x ) } ; q = e ? function ( a ) { return c ( a . x ) } : function ( a ) { return d ( a . value ) } ; b = D ? function ( a , b , f , e ) { var p = a . x . getTime ( ) ; a = b . x - a . x ; b = new Date ( p + a * ( f + e ) ) ; return "M" + c ( new Date ( p +
a * f ) ) + " " + d ( h ( f ) ) + " " + c ( b ) + " " + d ( h ( f + e ) ) } : function ( a , b , f , e ) { return "M" + c ( k ( f ) ) + " " + d ( h ( f ) ) + " " + c ( k ( f + e ) ) + " " + d ( h ( f + e ) ) } ; for ( f = 0 ; f < a . length ; f ++ ) if ( s ( n ) || ! Dc ( a [ f ] . x , n ) ) p += " " + r ( a [ f ] ) + " " + q ( a [ f ] ) ; else for ( k = L ( a [ f - 1 ] . x , a [ f ] . x ) , h = z ( a [ f - 1 ] . value , a [ f ] . value ) , g = c ( a [ f ] . x ) - c ( a [ f - 1 ] . x ) , t = d ( a [ f ] . value ) - d ( a [ f - 1 ] . value ) , g = Math . sqrt ( Math . pow ( g , 2 ) + Math . pow ( t , 2 ) ) , t = 2 / g , diffx2 = 2 * t , g = t ; 1 >= g ; g += diffx2 ) p += b ( a [ f - 1 ] , a [ f ] , g , t ) ; return p } function pb ( a ) { var c = k . data . targets = ca ( a ) , d , b ; N ( ) ; R ( ) ; r . domain ( d3 . extent ( a . map ( function ( a ) { return a . x } ) ) ) ;
a * f ) ) + " " + d ( h ( f ) ) + " " + c ( b ) + " " + d ( h ( f + e ) ) } : function ( a , b , f , e ) { return "M" + c ( k ( f ) ) + " " + d ( h ( f ) ) + " " + c ( k ( f + e ) ) + " " + d ( h ( f + e ) ) } ; for ( f = 0 ; f < a . length ; f ++ ) if ( s ( n ) || ! Dc ( a [ f ] . x , n ) ) p += " " + r ( a [ f ] ) + " " + q ( a [ f ] ) ; else for ( k = L ( a [ f - 1 ] . x , a [ f ] . x ) , h = z ( a [ f - 1 ] . value , a [ f ] . value ) , g = c ( a [ f ] . x ) - c ( a [ f - 1 ] . x ) , u = d ( a [ f ] . value ) - d ( a [ f - 1 ] . value ) , g = Math . sqrt ( Math . pow ( g , 2 ) + Math . pow ( u , 2 ) ) , u = 2 / g , diffx2 = 2 * u , g = u ; 1 >= g ; g += diffx2 ) p += b ( a [ f - 1 ] , a [ f ] , g , u ) ; return p } function pb ( a ) { var c = k . data . targets = ca ( a ) , d , b ; N ( ) ; R ( ) ; r . domain ( d3 . extent ( a . map ( function ( a ) { return a . x } ) ) ) ;
y . domain ( B ( c , "y" ) ) ; O . domain ( B ( c , "y2" ) ) ; U . domain ( r . domain ( ) ) ; Qa . domain ( y . domain ( ) ) ; Ra . domain ( O . domain ( ) ) ; M . ticks ( 10 > a . length ? a . length : 10 ) ; fa . ticks ( Ic ) . outerTickSize ( 0 ) . tickFormat ( Jc ) ; Sa . ticks ( Kc ) . outerTickSize ( 0 ) . tickFormat ( Lc ) ; ya = r . domain ( ) ; E . x ( U ) ; oa && Ga . x ( r ) ; Ha = d3 . select ( xa ) . append ( "svg" ) . attr ( "width" , n + H + C ) . attr ( "height" , u + v + T ) ; Za = Ha . append ( "defs" ) ; Za . append ( "clipPath" ) . attr ( "id" , qb ) . append ( "rect" ) . attr ( "y" , v ) . attr ( "width" , n ) . attr ( "height" , u - v ) ; Za . append ( "clipPath" ) . attr ( "id" , "xaxis-clip" ) . append ( "rect" ) . attr ( "x" ,
y . domain ( B ( c , "y" ) ) ; O . domain ( B ( c , "y2" ) ) ; U . domain ( r . domain ( ) ) ; Qa . domain ( y . domain ( ) ) ; Ra . domain ( O . domain ( ) ) ; M . ticks ( 10 > a . length ? a . length : 10 ) ; fa . ticks ( Ic ) . outerTickSize ( 0 ) . tickFormat ( Jc ) ; Sa . ticks ( Kc ) . outerTickSize ( 0 ) . tickFormat ( Lc ) ; ya = r . domain ( ) ; E . x ( U ) ; oa && Ga . x ( r ) ; Ha = d3 . select ( xa ) . append ( "svg" ) . attr ( "width" , n + H + C ) . attr ( "height" , t + v + T ) ; Za = Ha . append ( "defs" ) ; Za . append ( "clipPath" ) . attr ( "id" , qb ) . append ( "rect" ) . attr ( "y" , v ) . attr ( "width" , n ) . attr ( "height" , t - v ) ; Za . append ( "clipPath" ) . attr ( "id" , "xaxis-clip" ) . append ( "rect" ) . attr ( "x" ,
- 1 ) . attr ( "y" , - 1 ) . attr ( "width" , n + 2 ) . attr ( "height" , 40 ) ; Za . append ( "clipPath" ) . attr ( "id" , "yaxis-clip" ) . append ( "rect" ) . attr ( "x" , - H + 1 ) . attr ( "y" , v - 1 ) . attr ( "width" , H ) . attr ( "height" , u - v + 2 ) ; g = Ha . append ( "g" ) . attr ( "transform" , I . main ) ; x = pa ? Ha . append ( "g" ) . attr ( "transform" , I . context ) : null ; qa = ra ? Ha . append ( "g" ) . attr ( "transform" , I . legend ) : null ; Y = d3 . select ( xa ) . style ( "position" , "relative" ) . append ( "div" ) . style ( "position" , "absolute" ) . style ( "width" , "30%" ) . style ( "z-index" , "10" ) . style ( "visibility" , "hidden" ) ; g . append ( "g" ) . attr ( "class" ,
- 1 ) . attr ( "y" , - 1 ) . attr ( "width" , n + 2 ) . attr ( "height" , 40 ) ; Za . append ( "clipPath" ) . attr ( "id" , "yaxis-clip" ) . append ( "rect" ) . attr ( "x" , - H + 1 ) . attr ( "y" , v - 1 ) . attr ( "width" , H ) . attr ( "height" , t - v + 2 ) ; g = Ha . append ( "g" ) . attr ( "transform" , I . main ) ; x = pa ? Ha . append ( "g" ) . attr ( "transform" , I . context ) : null ; qa = ra ? Ha . append ( "g" ) . attr ( "transform" , I . legend ) : null ; Y = d3 . select ( xa ) . style ( "position" , "relative" ) . append ( "div" ) . style ( "position" , "absolute" ) . style ( "width" , "30%" ) . style ( "z-index" , "10" ) . style ( "visibility" , "hidden" ) ; g . append ( "g" ) . attr ( "class" ,
"x axis" ) . attr ( "clip-path" , e ? "" : "url(#xaxis-clip)" ) . attr ( "transform" , I . x ) . call ( e ? fa : M ) ; g . append ( "g" ) . attr ( "class" , "y axis" ) . attr ( "clip-path" , e ? "url(#yaxis-clip)" : "" ) . call ( e ? M : fa ) . append ( "text" ) . attr ( "transform" , "rotate(-90)" ) . attr ( "dy" , "1.4em" ) . attr ( "dx" , "-.8em" ) . style ( "text-anchor" , "end" ) . text ( Mc ) ; Gb && g . append ( "g" ) . attr ( "class" , "y2 axis" ) . attr ( "transform" , I . y2 ) . call ( Sa ) ; if ( oa ) g . append ( "rect" ) . attr ( "class" , "zoom-rect" ) . attr ( "width" , n ) . attr ( "height" , u ) . style ( "opacity" , 0 ) . call ( Ga ) . on ( "dblclick.zoom" ,
"x axis" ) . attr ( "clip-path" , e ? "" : "url(#xaxis-clip)" ) . attr ( "transform" , I . x ) . call ( e ? fa : M ) ; g . append ( "g" ) . attr ( "class" , "y axis" ) . attr ( "clip-path" , e ? "url(#yaxis-clip)" : "" ) . call ( e ? M : fa ) . append ( "text" ) . attr ( "transform" , "rotate(-90)" ) . attr ( "dy" , "1.4em" ) . attr ( "dx" , "-.8em" ) . style ( "text-anchor" , "end" ) . text ( Mc ) ; Gb && g . append ( "g" ) . attr ( "class" , "y2 axis" ) . attr ( "transform" , I . y2 ) . call ( Sa ) ; if ( oa ) g . append ( "rect" ) . attr ( "class" , "zoom-rect" ) . attr ( "width" , n ) . attr ( "height" , t ) . style ( "opacity" , 0 ) . call ( Ga ) . on ( "dblclick.zoom" ,
null ) ; d = g . append ( "g" ) . attr ( "clip-path" , Ia ) . attr ( "class" , "grid" ) ; ac && d . append ( "g" ) . attr ( "class" , "xgrids" ) ; rb && ( b = d . append ( "g" ) . attr ( "class" , "xgrid-lines" ) . selectAll ( ".xgrid-line" ) . data ( rb ) . enter ( ) . append ( "g" ) . attr ( "class" , "xgrid-line" ) , b . append ( "line" ) . attr ( "class" , function ( a ) { return "" + a [ "class" ] } ) , b . append ( "text" ) . attr ( "class" , function ( a ) { return "" + a [ "class" ] } ) . attr ( "text-anchor" , "end" ) . attr ( "transform" , e ? "" : "rotate(-90)" ) . attr ( "dx" , e ? 0 : - v ) . attr ( "dy" , - 6 ) . text ( function ( a ) { return a . text } ) ) ; Nc && d . append ( "g" ) . attr ( "class" ,
null ) ; d = g . append ( "g" ) . attr ( "clip-path" , Ia ) . attr ( "class" , "grid" ) ; ac && d . append ( "g" ) . attr ( "class" , "xgrids" ) ; rb && ( b = d . append ( "g" ) . attr ( "class" , "xgrid-lines" ) . selectAll ( ".xgrid-line" ) . data ( rb ) . enter ( ) . append ( "g" ) . attr ( "class" , "xgrid-line" ) , b . append ( "line" ) . attr ( "class" , function ( a ) { return "" + a [ "class" ] } ) , b . append ( "text" ) . attr ( "class" , function ( a ) { return "" + a [ "class" ] } ) . attr ( "text-anchor" , "end" ) . attr ( "transform" , e ? "" : "rotate(-90)" ) . attr ( "dx" , e ? 0 : - v ) . attr ( "dy" , - 6 ) . text ( function ( a ) { return a . text } ) ) ; Nc && d . append ( "g" ) . attr ( "class" ,
"xgrid-focus" ) . append ( "line" ) . attr ( "class" , "xgrid-focus" ) . attr ( "x1" , e ? 0 : - 10 ) . attr ( "x2" , e ? n : - 10 ) . attr ( "y1" , e ? - 10 : v ) . attr ( "y2" , e ? - 10 : u ) ; bc && d . append ( "g" ) . attr ( "class" , "ygrids" ) ; sb && d . append ( "g" ) . attr ( "class" , "ygrid-lines" ) . selectAll ( "ygrid-line" ) . data ( sb ) . enter ( ) . append ( "line" ) . attr ( "class" , function ( a ) { return "ygrid-line " + a [ "class" ] } ) ; g . append ( "g" ) . attr ( "clip-path" , Ia ) . attr ( "class" , "regions" ) ; g . append ( "g" ) . attr ( "clip-path" , Ia ) . attr ( "class" , "chart" ) ; g . select ( ".chart" ) . append ( "g" ) . attr ( "class" , "event-rects" ) . style ( "fill-opacity" ,
"xgrid-focus" ) . append ( "line" ) . attr ( "class" , "xgrid-focus" ) . attr ( "x1" , e ? 0 : - 10 ) . attr ( "x2" , e ? n : - 10 ) . attr ( "y1" , e ? - 10 : v ) . attr ( "y2" , e ? - 10 : t ) ; bc && d . append ( "g" ) . attr ( "class" , "ygrids" ) ; sb && d . append ( "g" ) . attr ( "class" , "ygrid-lines" ) . selectAll ( "ygrid-line" ) . data ( sb ) . enter ( ) . append ( "line" ) . attr ( "class" , function ( a ) { return "ygrid-line " + a [ "class" ] } ) ; g . append ( "g" ) . attr ( "clip-path" , Ia ) . attr ( "class" , "regions" ) ; g . append ( "g" ) . attr ( "clip-path" , Ia ) . attr ( "class" , "chart" ) ; g . select ( ".chart" ) . append ( "g" ) . attr ( "class" , "event-rects" ) . style ( "fill-opacity" ,
0 ) . selectAll ( ".event-rects" ) . data ( a ) . enter ( ) . append ( "rect" ) . attr ( "class" , function ( a , c ) { return "event-rect event-rect-" + c } ) . style ( "cursor" , function ( a ) { return Z && ha ? "pointer" : null } ) . on ( "mouseover" , function ( a , c ) { if ( ! $a ) { var d = k . data . targets . map ( function ( a ) { return ba ( a . values [ c ] ) } ) , b , m ; if ( 0 < Object . keys ( Da ) . length ) { m = [ ] ; for ( var l in Da ) for ( b = 0 ; b < d . length ; b ++ ) if ( d [ b ] . id === l ) { m . push ( d [ b ] ) ; d . shift ( b ) ; break } d = m . concat ( d ) } cc && g . selectAll ( ".-circle-" + c ) . classed ( $ , ! 0 ) . attr ( "r" , dc ) ; g . selectAll ( ".-bar-" + c ) . classed ( $ ,
0 ) . selectAll ( ".event-rects" ) . data ( a ) . enter ( ) . append ( "rect" ) . attr ( "class" , function ( a , c ) { return "event-rect event-rect-" + c } ) . style ( "cursor" , function ( a ) { return Z && ha ? "pointer" : null } ) . on ( "mouseover" , function ( a , c ) { if ( ! $a ) { var d = k . data . targets . map ( function ( a ) { return ba ( a . values [ c ] ) } ) , b , m ; if ( 0 < Object . keys ( Da ) . length ) { m = [ ] ; for ( var l in Da ) for ( b = 0 ; b < d . length ; b ++ ) if ( d [ b ] . id === l ) { m . push ( d [ b ] ) ; d . shift ( b ) ; break } d = m . concat ( d ) } cc && g . selectAll ( ".-circle-" + c ) . classed ( $ , ! 0 ) . attr ( "r" , dc ) ; g . selectAll ( ".-bar-" + c ) . classed ( $ ,
! 0 ) ; g . selectAll ( "line.xgrid-focus" ) . style ( "visibility" , "visible" ) . data ( [ d [ 0 ] ] ) . attr ( e ? "y1" : "x1" , Ya ) . attr ( e ? "y2" : "x2" , Ya ) ; Y . style ( "top" , d3 . mouse ( this ) [ 1 ] + 30 + "px" ) . style ( "left" , ( e ? d3 . mouse ( this ) [ 0 ] : r ( d [ 0 ] . x ) ) + 60 + "px" ) ; Y . html ( ec ( d ) ) ; Y . style ( "visibility" , "visible" ) } } ) . on ( "mouseout" , function ( a , c ) { g . select ( "line.xgrid-focus" ) . style ( "visibility" , "hidden" ) ; Y . style ( "visibility" , "hidden" ) ; g . selectAll ( ".-circle-" + c ) . filter ( function ( ) { return d3 . select ( this ) . classed ( $ ) } ) . classed ( $ , ! 1 ) . attr ( "r" , tb ) ; g . selectAll ( ".-bar-" +
! 0 ) ; g . selectAll ( "line.xgrid-focus" ) . style ( "visibility" , "visible" ) . data ( [ d [ 0 ] ] ) . attr ( e ? "y1" : "x1" , Ya ) . attr ( e ? "y2" : "x2" , Ya ) ; Y . style ( "top" , d3 . mouse ( this ) [ 1 ] + 30 + "px" ) . style ( "left" , ( e ? d3 . mouse ( this ) [ 0 ] : r ( d [ 0 ] . x ) ) + 60 + "px" ) ; Y . html ( ec ( d ) ) ; Y . style ( "visibility" , "visible" ) } } ) . on ( "mouseout" , function ( a , c ) { g . select ( "line.xgrid-focus" ) . style ( "visibility" , "hidden" ) ; Y . style ( "visibility" , "hidden" ) ; g . selectAll ( ".-circle-" + c ) . filter ( function ( ) { return d3 . select ( this ) . classed ( $ ) } ) . classed ( $ , ! 1 ) . attr ( "r" , tb ) ; g . selectAll ( ".-bar-" +
c ) . classed ( $ , ! 1 ) } ) . on ( "mousemove" , function ( a , c ) { Z && ! $a && ( ha || g . selectAll ( ".-shape-" + c ) . filter ( function ( a ) { return ia ( a ) } ) . each ( function ( a ) { a = d3 . select ( this ) . classed ( $ , ! 0 ) ; "circle" === this . nodeName && a . attr ( "r" , dc ) ; d3 . select ( ".event-rect-" + c ) . style ( "cursor" , null ) } ) . filter ( function ( a ) { a = d3 . select ( this ) ; if ( "circle" === this . nodeName ) return Vb ( this , Fa ) ; if ( "rect" === this . nodeName ) return Wb ( this , a . attr ( "x" ) , a . attr ( "y" ) ) } ) . each ( function ( a ) { a = d3 . select ( this ) ; a . classed ( $ ) || ( a . classed ( $ , ! 0 ) , "circle" === this . nodeName &&
c ) . classed ( $ , ! 1 ) } ) . on ( "mousemove" , function ( a , c ) { Z && ! $a && ( ha || g . selectAll ( ".-shape-" + c ) . filter ( function ( a ) { return ia ( a ) } ) . each ( function ( a ) { a = d3 . select ( this ) . classed ( $ , ! 0 ) ; "circle" === this . nodeName && a . attr ( "r" , dc ) ; d3 . select ( ".event-rect-" + c ) . style ( "cursor" , null ) } ) . filter ( function ( a ) { a = d3 . select ( this ) ; if ( "circle" === this . nodeName ) return Vb ( this , Fa ) ; if ( "rect" === this . nodeName ) return Wb ( this , a . attr ( "x" ) , a . attr ( "y" ) ) } ) . each ( function ( a ) { a = d3 . select ( this ) ; a . classed ( $ ) || ( a . classed ( $ , ! 0 ) , "circle" === this . nodeName &&
a . attr ( "r" , Fa ) ) ; d3 . select ( ".event-rect-" + c ) . style ( "cursor" , "pointer" ) } ) ) } ) . on ( "click" , function ( a , c ) { ub ? ub = ! 1 : g . selectAll ( ".-shape-" + c ) . each ( function ( a ) { var d = d3 . select ( this ) , b = d . classed ( aa ) , f = ! 1 , e ; "circle" === this . nodeName ? ( f = Vb ( this , 1.5 * Fa ) , e = Yb ) : "rect" === this . nodeName && ( f = Wb ( this ) , e = $b ) ; if ( ha || f ) Z && ia ( a ) && ( d . classed ( aa , ! b ) , e ( ! b , d , a , c ) ) , Oc ( a , d ) } ) } ) . call ( d3 . behavior . drag ( ) . origin ( Object ) . on ( "drag" , function ( a ) { if ( Z && ! oa ) { a = vb [ 0 ] ; var c = vb [ 1 ] , d = d3 . mouse ( this ) , b = d [ 0 ] , d = d [ 1 ] , e = Math . min ( a , b ) , m = Math . max ( a ,
a . attr ( "r" , Fa ) ) ; d3 . select ( ".event-rect-" + c ) . style ( "cursor" , "pointer" ) } ) ) } ) . on ( "click" , function ( a , c ) { ub ? ub = ! 1 : g . selectAll ( ".-shape-" + c ) . each ( function ( a ) { var d = d3 . select ( this ) , b = d . classed ( aa ) , f = ! 1 , e ; "circle" === this . nodeName ? ( f = Vb ( this , 1.5 * Fa ) , e = Yb ) : "rect" === this . nodeName && ( f = Wb ( this ) , e = $b ) ; if ( ha || f ) Z && ia ( a ) && ( d . classed ( aa , ! b ) , e ( ! b , d , a , c ) ) , Oc ( a , d ) } ) } ) . call ( d3 . behavior . drag ( ) . origin ( Object ) . on ( "drag" , function ( a ) { if ( Z && ! oa ) { a = vb [ 0 ] ; var c = vb [ 1 ] , d = d3 . mouse ( this ) , b = d [ 0 ] , d = d [ 1 ] , e = Math . min ( a , b ) , m = Math . max ( a ,
b ) , k = ha ? v : Math . min ( c , d ) , l = ha ? u : Math . max ( c , d ) ; g . select ( ".dragarea" ) . attr ( "x" , e ) . attr ( "y" , k ) . attr ( "width" , m - e ) . attr ( "height" , l - k ) ; g . selectAll ( ".-shapes" ) . selectAll ( ".-shape" ) . filter ( function ( a ) { return ia ( a ) } ) . each ( function ( a , c ) { var d = d3 . select ( this ) , b = d . classed ( aa ) , f = d . classed ( wb ) , g , p , h , n ; g = ! 1 ; "circle" === this . nodeName ? ( g = 1 * d . attr ( "cx" ) , p = 1 * d . attr ( "cy" ) , n = Yb , g = e < g && g < m && k < p && p < l ) : "rect" === this . nodeName && ( g = 1 * d . attr ( "x" ) , p = 1 * d . attr ( "y" ) , h = 1 * d . attr ( "width" ) , n = $b , g = e < g + h && g < m && p < l ) ; g ^ f && ( d . classed ( wb , ! f ) ,
b ) , k = ha ? v : Math . min ( c , d ) , l = ha ? t : Math . max ( c , d ) ; g . select ( ".dragarea" ) . attr ( "x" , e ) . attr ( "y" , k ) . attr ( "width" , m - e ) . attr ( "height" , l - k ) ; g . selectAll ( ".-shapes" ) . selectAll ( ".-shape" ) . filter ( function ( a ) { return ia ( a ) } ) . each ( function ( a , c ) { var d = d3 . select ( this ) , b = d . classed ( aa ) , f = d . classed ( wb ) , g , p , h , n ; g = ! 1 ; "circle" === this . nodeName ? ( g = 1 * d . attr ( "cx" ) , p = 1 * d . attr ( "cy" ) , n = Yb , g = e < g && g < m && k < p && p < l ) : "rect" === this . nodeName && ( g = 1 * d . attr ( "x" ) , p = 1 * d . attr ( "y" ) , h = 1 * d . attr ( "width" ) , n = $b , g = e < g + h && g < m && p < l ) ; g ^ f && ( d . classed ( wb , ! f ) ,
d . classed ( aa , ! b ) , n ( ! b , d , a , c ) ) } ) } } ) . on ( "dragstart" , function ( ) { Z && ( vb = d3 . mouse ( this ) , g . select ( ".chart" ) . append ( "rect" ) . attr ( "class" , "dragarea" ) . style ( "opacity" , 0.1 ) , $a = ! 0 ) } ) . on ( "dragend" , function ( ) { Z && ( g . select ( ".dragarea" ) . transition ( ) . duration ( 100 ) . style ( "opacity" , 0 ) . remove ( ) , g . selectAll ( ".-shape" ) . classed ( wb , ! 1 ) , $a = ! 1 ) } ) ) . call ( Ga ) . on ( "dblclick.zoom" , null ) ; g . select ( ".chart" ) . append ( "g" ) . attr ( "class" , "chart-bars" ) ; g . select ( ".chart" ) . append ( "g" ) . attr ( "class" , "chart-lines" ) ; null !== Ja && E . extent ( "function" !==
d . classed ( aa , ! b ) , n ( ! b , d , a , c ) ) } ) } } ) . on ( "dragstart" , function ( ) { Z && ( vb = d3 . mouse ( this ) , g . select ( ".chart" ) . append ( "rect" ) . attr ( "class" , "dragarea" ) . style ( "opacity" , 0.1 ) , $a = ! 0 ) } ) . on ( "dragend" , function ( ) { Z && ( g . select ( ".dragarea" ) . transition ( ) . duration ( 100 ) . style ( "opacity" , 0 ) . remove ( ) , g . selectAll ( ".-shape" ) . classed ( wb , ! 1 ) , $a = ! 1 ) } ) ) . call ( Ga ) . on ( "dblclick.zoom" , null ) ; g . select ( ".chart" ) . append ( "g" ) . attr ( "class" , "chart-bars" ) ; g . select ( ".chart" ) . append ( "g" ) . attr ( "class" , "chart-lines" ) ; null !== Ja && E . extent ( "function" !==
typeof Ja ? Ja : D ? Ja ( Wa , ib ) : Ja ( 0 , Xa ( ) - 1 ) ) ; pa && ( x . append ( "g" ) . attr ( "clip-path" , Ia ) . attr ( "class" , "chart" ) , x . select ( ".chart" ) . append ( "g" ) . attr ( "class" , "chart-bars" ) , x . select ( ".chart" ) . append ( "g" ) . attr ( "class" , "chart-lines" ) , x . append ( "g" ) . attr ( "clip-path" , Ia ) . attr ( "class" , "x brush" ) . call ( E ) . selectAll ( "rect" ) . attr ( "height" , ea ) , x . append ( "g" ) . attr ( "class" , "x axis" ) . attr ( "transform" , I . subx ) . call ( za ) ) ; ra && ab ( c ) ; fc ( c ) ; F ( { withTransition : ! 1 } ) ; if ( Pc ) { if ( D && "string" == typeof sa ) { sa = ga ( sa ) ; for ( a = 0 ; a < c [ 0 ] . values . length &&
typeof Ja ? Ja : D ? Ja ( Wa , ib ) : Ja ( 0 , Xa ( ) - 1 ) ) ; pa && ( x . append ( "g" ) . attr ( "clip-path" , Ia ) . attr ( "class" , "chart" ) , x . select ( ".chart" ) . append ( "g" ) . attr ( "class" , "chart-bars" ) , x . select ( ".chart" ) . append ( "g" ) . attr ( "class" , "chart-lines" ) , x . append ( "g" ) . attr ( "clip-path" , Ia ) . attr ( "class" , "x brush" ) . call ( E ) . selectAll ( "rect" ) . attr ( "height" , ea ) , x . append ( "g" ) . attr ( "class" , "x axis" ) . attr ( "transform" , I . subx ) . call ( za ) ) ; ra && ab ( c ) ; fc ( c ) ; F ( { withTransition : ! 1 } ) ; if ( Pc ) { if ( D && "string" == typeof sa ) { sa = ga ( sa ) ; for ( a = 0 ; a < c [ 0 ] . values . length &&
0 != c [ 0 ] . values [ a ] . x - sa ; a ++ ) ; sa = a } Y . html ( ec ( c . map ( function ( a ) { return ba ( a . values [ sa ] ) } ) ) ) ; Y . style ( "top" , gc . top ) . style ( "left" , gc . left ) . style ( "visibility" , "visible" ) } } function F ( a ) { var c , d = Bc ( ) , b = d . _ _max _ _ + 1 , f , h , p , q , s , t ; g . select ( "line.xgrid-foc us" ) . style ( "visibility" , "hidden" ) ; Y . style ( "visibility" , "hidden" ) ; a = l ( a ) ? a : { } ; c = l ( a . withY ) ? a . withY : ! 0 ; s = l ( a . withSubchart ) ? a . withSubchart : ! 0 ; t = l ( a . withTransition ) ? a . withTransition : ! 0 ; a = l ( a . withUpdateXDomain ) ? a . withUpdateXDomain : ! 0 ; t = t ? 250 : 0 ; a && ( r . domain ( E . empty ( ) ?
0 != c [ 0 ] . values [ a ] . x - sa ; a ++ ) ; sa = a } Y . html ( ec ( c . map ( function ( a ) { return ba ( a . values [ sa ] ) } ) ) ) ; Y . style ( "top" , gc . top ) . style ( "left" , gc . left ) . style ( "visibility" , "visible" ) } } function F ( a ) { var c , d = Bc ( ) , b = d . _ _max _ _ + 1 , f , h , p , q , s , u ; a = l ( a ) ? a : { } ; c = l ( a . withY ) ? a . withY : ! 0 ; s = l ( a . withSubchart ) ? a . withSubchart : ! 0 ; u = l ( a . wi thTransition ) ? a . withTransition : ! 0 ; a = l ( a . withUpdateXDomain ) ? a . withUpdateXDomain : ! 0 ; u = u ? 250 : 0 ; a && ( r . domain ( E . empty ( ) ? ya : E . extent ( ) ) , oa && Ga . x ( r ) ) ; y . domain ( B ( k . data . targets , "y" ) ) ; O . domain ( B ( k . data . targets , "y2" ) ) ;
ya : E . extent ( ) ) , oa && Ga . x ( r ) ) ; y . domain ( B ( k . data . targets , "y" ) ) ; O . domain ( B ( k . data . targets , "y2" ) ) ; g . select ( ".x .axis" ) . transition ( ) . duration ( e ? t : 0 ) . call ( e ? fa : M ) ; g . select ( ".y.axis" ) . transition ( ) . duration ( e ? 0 : t ) . call ( e ? M : fa ) ; g . select ( ".y2.axis" ) . transition ( ) . call ( Sa ) ; Qa . domain ( y . domain ( ) ) ; Ra . domain ( O . domain ( ) ) ; if ( ac ) { if ( "year" === Qc ) for ( a = [ ] , firstYear = Wa . getFullYear ( ) , lastYear = ib . getFullYear ( ) , f = firstYear ; f <= lastYear ; f ++ ) a . push ( new Date ( f + "-01-01 00:00:00" ) ) ; else a = r . ticks ( 10 ) ; a = g . select ( ".xgrids" ) . selectAll ( ".xgrid" ) . data ( a ) ;
g . select ( ".x.axis" ) . transition ( ) . duration ( e ? u : 0 ) . call ( e ? fa : M ) ; g . select ( ".y .axis" ) . transition ( ) . duration ( e ? 0 : u ) . call ( e ? M : fa ) ; g . select ( ".y2 .axis" ) . transition ( ) . call ( Sa ) ; Qa . domain ( y . domain ( ) ) ; Ra . domain ( O . domain ( ) ) ; Y . style ( "visibility" , "hidden" ) ; g . select ( "line.xgrid-focus" ) . style ( "visibility" , "hidden" ) . attr ( "y2" , t ) ; if ( ac ) { if ( "year" === Qc ) for ( a = [ ] , firstYear = Wa . getFullYear ( ) , lastYear = ib . getFullYear ( ) , f = firstYear ; f <= lastYear ; f ++ ) a . push ( new Date ( f + "-01-01 00:00:00" ) ) ; else a = r . ticks ( 10 ) ; a = g . select ( ".xgrids" ) . selectAll ( ".xgrid" ) . data ( a ) ;
a . enter ( ) . append ( "line" ) . attr ( "class" , "xgrid" ) ; a . exit ( ) . remove ( ) ; g . selectAll ( ".xgrid" ) . attr ( "x1" , function ( a ) { return r ( a ) - M . tickOffset ( ) } ) . attr ( "x2" , function ( a ) { return r ( a ) - M . tickOffset ( ) } ) . attr ( "y1" , v ) . attr ( "y2" , u ) } rb && ( a = g . selectAll ( ".xgrid-lines" ) , a . selectAll ( "line" ) . attr ( "x1" , e ? 0 : Ea ) . attr ( "x2" , e ? n : Ea ) . attr ( "y1" , e ? Ea : v ) . attr ( "y2" , e ? Ea : u ) , a . selectAll ( "text" ) . attr ( "x" , e ? n : 0 ) . attr ( "y" , Ea ) ) ; c && bc && ( ygrid = g . select ( ".ygrids" ) . selectAll ( ".ygrid" ) . data ( y . ticks ( 10 ) ) , ygrid . enter ( ) . append ( "line" ) . attr ( "class" ,
a . enter ( ) . append ( "line" ) . attr ( "class" , "xgrid" ) ; a . exit ( ) . remove ( ) ; g . selectAll ( ".xgrid" ) . attr ( "x1" , function ( a ) { return r ( a ) - M . tickOffset ( ) } ) . attr ( "x2" , function ( a ) { return r ( a ) - M . tickOffset ( ) } ) . attr ( "y1" , v ) . attr ( "y2" , t ) } rb && ( a = g . selectAll ( ".xgrid-lines" ) , a . selectAll ( "line" ) . attr ( "x1" , e ? 0 : Ea ) . attr ( "x2" , e ? n : Ea ) . attr ( "y1" , e ? Ea : v ) . attr ( "y2" , e ? Ea : t ) , a . selectAll ( "text" ) . attr ( "x" , e ? n : 0 ) . attr ( "y" , Ea ) ) ; c && bc && ( ygrid = g . select ( ".ygrids" ) . selectAll ( ".ygrid" ) . data ( y . ticks ( 10 ) ) , ygrid . enter ( ) . append ( "line" ) . attr ( "class" ,
"ygrid" ) , ygrid . attr ( "x1" , e ? y : 0 ) . attr ( "x2" , e ? y : n ) . attr ( "y1" , e ? 0 : y ) . attr ( "y2" , e ? u : y ) . attr ( "opacity" , 0 ) . transition ( ) . attr ( "opacity" , 1 ) , ygrid . exit ( ) . remove ( ) ) ; c && sb && g . select ( ".ygrid-lines" ) . selectAll ( ".ygrid-line" ) . attr ( "y1" , Qb ) . attr ( "y2" , Qb ) ; h = na ? 1.2 * M . tickOffset ( ) / b : 0.6 * ( ( e ? u : n ) * S ( ! 1 ) / ( Xa ( ) - 1 ) ) ; p = Tb ( e ? null : u ) ; a = Rb ( h , b , d ) ; f = Sb ( p , d , e ) ; c = g . selectAll ( ".-bars" ) . selectAll ( ".-bar" ) . data ( Ub ) ; c . transition ( ) . duration ( t ) . attr ( "x" , e ? f : a ) . attr ( "y" , e ? a : f ) . attr ( "width" , e ? p : h ) . attr ( "height" , e ? h : p ) ; c . enter ( ) . append ( "rect" ) . attr ( "class" ,
"ygrid" ) , ygrid . attr ( "x1" , e ? y : 0 ) . attr ( "x2" , e ? y : n ) . attr ( "y1" , e ? 0 : y ) . attr ( "y2" , e ? t : y ) . attr ( "opacity" , 0 ) . transition ( ) . attr ( "opacity" , 1 ) , ygrid . exit ( ) . remove ( ) ) ; c && sb && g . select ( ".ygrid-lines" ) . selectAll ( ".ygrid-line" ) . attr ( "y1" , Qb ) . attr ( "y2" , Qb ) ; h = na ? 1.2 * M . tickOffset ( ) / b : 0.6 * ( ( e ? t : n ) * S ( ! 1 ) / ( Xa ( ) - 1 ) ) ; p = Tb ( e ? null : t ) ; a = Rb ( h , b , d ) ; f = Sb ( p , d , e ) ; c = g . selectAll ( ".-bars" ) . selectAll ( ".-bar" ) . data ( Ub ) ; c . transition ( ) . duration ( u ) . attr ( "x" , e ? f : a ) . attr ( "y" , e ? a : f ) . attr ( "width" , e ? p : h ) . attr ( "height" , e ? h : p ) ; c . enter ( ) . append ( "rect" ) . attr ( "class" ,
Pb ) . attr ( "x" , e ? f : a ) . attr ( "y" , e ? a : f ) . attr ( "width" , e ? p : h ) . attr ( "height" , e ? h : p ) . style ( "opacity" , 0 ) . transition ( ) . duration ( t ) . style ( "opacity" , 1 ) ; c . exit ( ) . transition ( ) . duration ( t ) . style ( "opacity" , 0 ) . remove ( ) ; g . selectAll ( ".-line" ) . transition ( ) . duration ( t ) . attr ( "d" , Rc ) ; c = g . selectAll ( ".-circles" ) . selectAll ( ".-circle" ) . data ( Cc ) ; c . transition ( ) . duration ( t ) . attr ( "cx" , e ? W : V ) . attr ( "cy" , e ? V : W ) ; c . enter ( ) . append ( "circle" ) . attr ( "class" , zc ) . attr ( "cx" , e ? W : V ) . attr ( "cy" , e ? V : W ) . attr ( "r" , tb ) ; c . exit ( ) . remove ( ) ; pa && ( null !==
Pb ) . attr ( "x" , e ? f : a ) . attr ( "y" , e ? a : f ) . attr ( "width" , e ? p : h ) . attr ( "height" , e ? h : p ) . style ( "opacity" , 0 ) . transition ( ) . duration ( u ) . style ( "opacity" , 1 ) ; c . exit ( ) . transition ( ) . duration ( u ) . style ( "opacity" , 0 ) . remove ( ) ; g . selectAll ( ".-line" ) . transition ( ) . duration ( u ) . attr ( "d" , Rc ) ; c = g . selectAll ( ".-circles" ) . selectAll ( ".-circle" ) . data ( Cc ) ; c . transition ( ) . duration ( u ) . attr ( "cx" , e ? W : V ) . attr ( "cy" , e ? V : W ) ; c . enter ( ) . append ( "circle" ) . attr ( "class" , zc ) . attr ( "cx" , e ? W : V ) . attr ( "cy" , e ? V : W ) . attr ( "r" , tb ) ; c . exit ( ) . remove ( ) ; pa && ( null !==
d3 . event && "zoom" === d3 . event . type && ( E . extent ( r . orgDomain ( ) ) , x . select ( ".x.brush" ) . call ( E ) ) , s && ( x . select ( ".x.axis" ) . transition ( ) . duration ( e ? t : 0 ) . call ( e ? fa : za ) , E . empty ( ) || ( E . extent ( r . orgDomain ( ) ) , x . select ( ".x.brush" ) . call ( E ) ) , h = na ? 1.2 * za . tickOffset ( ) / b : 0.6 * ( ( e ? u : n ) * S ( ! 0 ) / ( Xa ( ) - 1 ) ) , p = Tb ( ea , ! 0 ) , a = Rb ( h , b , d , ! 0 ) , f = Sb ( p , d , ! 1 , ! 0 ) , contextBar = x . selectAll ( ".-bars" ) . selectAll ( ".-bar" ) . data ( Ub ) , contextBar . transition ( ) . duration ( t ) . attr ( "x" , a ) . attr ( "y" , f ) . attr ( "width" , h ) . attr ( "height" , p ) , contextBar . enter ( ) . append ( "rect" ) . attr ( "class" ,
d3 . event && "zoom" === d3 . event . type && ( E . extent ( r . orgDomain ( ) ) , x . select ( ".x.brush" ) . call ( E ) ) , s && ( x . select ( ".x.axis" ) . transition ( ) . duration ( e ? u : 0 ) . call ( e ? fa : za ) , E . empty ( ) || ( E . extent ( r . orgDomain ( ) ) , x . select ( ".x.brush" ) . call ( E ) ) , h = na ? 1.2 * za . tickOffset ( ) / b : 0.6 * ( ( e ? t : n ) * S ( ! 0 ) / ( Xa ( ) - 1 ) ) , p = Tb ( ea , ! 0 ) , a = Rb ( h , b , d , ! 0 ) , f = Sb ( p , d , ! 1 , ! 0 ) , contextBar = x . selectAll ( ".-bars" ) . selectAll ( ".-bar" ) . data ( Ub ) , contextBar . transition ( ) . duration ( u ) . attr ( "x" , a ) . attr ( "y" , f ) . attr ( "width" , h ) . attr ( "height" , p ) , contextBar . enter ( ) . append ( "rect" ) . attr ( "class" ,
Pb ) . attr ( "x" , a ) . attr ( "y" , f ) . attr ( "width" , h ) . attr ( "height" , p ) . style ( "opacity" , 0 ) . transition ( ) . style ( "opacity" , 1 ) , contextBar . exit ( ) . transition ( ) . style ( "opacity" , 0 ) . remove ( ) , x . selectAll ( ".-line" ) . transition ( ) . duration ( t ) . attr ( "d" , Sc ) ) ) ; g . selectAll ( ".selected-circles" ) . filter ( function ( a ) { return Aa ( a ) } ) . selectAll ( "circle" ) . remove ( ) ; g . selectAll ( ".selected-circle" ) . transition ( ) . duration ( t ) . attr ( "cx" , e ? W : V ) . attr ( "cy" , e ? V : W ) ; q = ( e ? u : n ) * S ( ) / ( Xa ( ) - 1 ) ; d = function ( a ) { return r ( a . x ) - q / 2 } ; g . selectAll ( ".event-rect" ) . attr ( "x" ,
Pb ) . attr ( "x" , a ) . attr ( "y" , f ) . attr ( "width" , h ) . attr ( "height" , p ) . style ( "opacity" , 0 ) . transition ( ) . style ( "opacity" , 1 ) , contextBar . exit ( ) . transition ( ) . style ( "opacity" , 0 ) . remove ( ) , x . selectAll ( ".-line" ) . transition ( ) . duration ( u ) . attr ( "d" , Sc ) ) ) ; g . selectAll ( ".selected-circles" ) . filter ( function ( a ) { return Aa ( a ) } ) . selectAll ( "circle" ) . remove ( ) ; g . selectAll ( ".selected-circle" ) . transition ( ) . duration ( u ) . attr ( "cx" , e ? W : V ) . attr ( "cy" , e ? V : W ) ; q = ( e ? t : n ) * S ( ) / ( Xa ( ) - 1 ) ; d = function ( a ) { return r ( a . x ) - q / 2 } ; g . selectAll ( ".event-rect" ) . attr ( "x" ,
e ? 0 : d ) . attr ( "y" , e ? d : 0 ) . attr ( "width" , e ? n : q ) . attr ( "height" , e ? q : u ) ; mainRegion = g . select ( ".regions" ) . selectAll ( "rect.region" ) . data ( J ) ; mainRegion . enter ( ) . append ( "rect" ) ; mainRegion . attr ( "class" , Ac ) . attr ( "x" , e ? 0 : la ) . attr ( "y" , e ? la : v ) . attr ( "width" , e ? n : ua ) . attr ( "height" , e ? ua : u ) . style ( "fill-opacity" , function ( a ) { return l ( a . opacity ) ? a . opacity : 0.1 } ) ; mainRegion . exit ( ) . transition ( ) . duration ( t ) . style ( "fill-opacity" , 0 ) . remove ( ) } function Tc ( ) { F ( { withTransition : ! 1 , withY : ! 1 , withSubchart : ! 1 , withUpdateXDomain : ! 1 } ) ; "mousemove" ===
e ? 0 : d ) . attr ( "y" , e ? d : 0 ) . attr ( "width" , e ? n : q ) . attr ( "height" , e ? q : t ) ; mainRegion = g . select ( ".regions" ) . selectAll ( "rect.region" ) . data ( J ) ; mainRegion . enter ( ) . append ( "rect" ) ; mainRegion . attr ( "class" , Ac ) . attr ( "x" , e ? 0 : la ) . attr ( "y" , e ? la : v ) . attr ( "width" , e ? n : ua ) . attr ( "height" , e ? ua : t ) . style ( "fill-opacity" , function ( a ) { return l ( a . opacity ) ? a . opacity : 0.1 } ) ; mainRegion . exit ( ) . transition ( ) . duration ( u ) . style ( "fill-opacity" , 0 ) . remove ( ) } function Tc ( ) { F ( { withTransition : ! 1 , withY : ! 1 , withSubchart : ! 1 , withUpdateXDomain : ! 1 } ) ; "mousemove" ===
d3 . event . sourceEvent . type && ( ub = ! 0 ) } function fc ( a ) { var c ; g . select ( ".chart-bars" ) . selectAll ( ".chart-bar" ) . data ( a ) . enter ( ) . append ( "g" ) . attr ( "class" , function ( a ) { return "chart-bar target target-" + a . id } ) . style ( "pointer-events" , "none" ) . style ( "opacity" , 0 ) . append ( "g" ) . attr ( "class" , Ob ) . style ( "fill" , function ( a ) { return P ( a . id ) } ) . style ( "stroke" , function ( a ) { return P ( a . id ) } ) . style ( "stroke-width" , 0 ) . style ( "cursor" , function ( a ) { return ia ( a ) ? "pointer" : null } ) ; c = g . select ( ".chart-lines" ) . selectAll ( ".chart-line" ) . data ( a ) . enter ( ) . append ( "g" ) . attr ( "class" ,
d3 . event . sourceEvent . type && ( ub = ! 0 ) } function fc ( a ) { var c ; g . select ( ".chart-bars" ) . selectAll ( ".chart-bar" ) . data ( a ) . enter ( ) . append ( "g" ) . attr ( "class" , function ( a ) { return "chart-bar target target-" + a . id } ) . style ( "pointer-events" , "none" ) . style ( "opacity" , 0 ) . append ( "g" ) . attr ( "class" , Ob ) . style ( "fill" , function ( a ) { return P ( a . id ) } ) . style ( "stroke" , function ( a ) { return P ( a . id ) } ) . style ( "stroke-width" , 0 ) . style ( "cursor" , function ( a ) { return ia ( a ) ? "pointer" : null } ) ; c = g . select ( ".chart-lines" ) . selectAll ( ".chart-line" ) . data ( a ) . enter ( ) . append ( "g" ) . attr ( "class" ,
function ( a ) { return "chart-line target target-" + a . id } ) . style ( "pointer-events" , "none" ) . style ( "opacity" , 0 ) ; c . append ( "path" ) . attr ( "class" , Nb ) . style ( "stroke" , function ( a ) { return P ( a . id ) } ) ; c . append ( "g" ) . attr ( "class" , function ( a ) { return "selected-circles selected-circles-" + a . id } ) ; c . append ( "g" ) . attr ( "class" , yc ) . style ( "fill" , function ( a ) { return P ( a . id ) } ) . style ( "cursor" , function ( a ) { return ia ( a ) ? "pointer" : null } ) ; a . forEach ( function ( a ) { g . selectAll ( ".selected-circles-" + a . id ) . selectAll ( ".selected-circle" ) . each ( function ( c ) { c . value =
function ( a ) { return "chart-line target target-" + a . id } ) . style ( "pointer-events" , "none" ) . style ( "opacity" , 0 ) ; c . append ( "path" ) . attr ( "class" , Nb ) . style ( "stroke" , function ( a ) { return P ( a . id ) } ) ; c . append ( "g" ) . attr ( "class" , function ( a ) { return "selected-circles selected-circles-" + a . id } ) ; c . append ( "g" ) . attr ( "class" , yc ) . style ( "fill" , function ( a ) { return P ( a . id ) } ) . style ( "cursor" , function ( a ) { return ia ( a ) ? "pointer" : null } ) ; a . forEach ( function ( a ) { g . selectAll ( ".selected-circles-" + a . id ) . selectAll ( ".selected-circle" ) . each ( function ( c ) { c . value =
a . values [ c . x ] . value } ) } ) ; pa && ( c = x . select ( ".chart-bars" ) . selectAll ( ".chart-bar" ) . data ( a ) , c = c . enter ( ) . append ( "g" ) . attr ( "class" , function ( a ) { return "chart-bar target target-" + a . id } ) . style ( "opacity" , 0 ) , c . append ( "g" ) . attr ( "class" , Ob ) . style ( "fill" , function ( a ) { return P ( a . id ) } ) , c = x . select ( ".chart-lines" ) . selectAll ( ".chart-line" ) . data ( a ) , c = c . enter ( ) . append ( "g" ) . attr ( "class" , function ( a ) { return "chart-line target target-" + a . id } ) . style ( "opacity" , 0 ) , c . append ( "path" ) . attr ( "class" , Nb ) . style ( "stroke" , function ( a ) { return P ( a . id ) } ) ) ;
a . values [ c . x ] . value } ) } ) ; pa && ( c = x . select ( ".chart-bars" ) . selectAll ( ".chart-bar" ) . data ( a ) , c = c . enter ( ) . append ( "g" ) . attr ( "class" , function ( a ) { return "chart-bar target target-" + a . id } ) . style ( "opacity" , 0 ) , c . append ( "g" ) . attr ( "class" , Ob ) . style ( "fill" , function ( a ) { return P ( a . id ) } ) , c = x . select ( ".chart-lines" ) . selectAll ( ".chart-line" ) . data ( a ) , c = c . enter ( ) . append ( "g" ) . attr ( "class" , function ( a ) { return "chart-line target target-" + a . id } ) . style ( "opacity" , 0 ) , c . append ( "path" ) . attr ( "class" , Nb ) . style ( "stroke" , function ( a ) { return P ( a . id ) } ) ) ;
@ -51,8 +51,8 @@ b(["axis","y2","center"],null);b(["axis","y2","text"],null);b(["axis","y2","resc
0 , Nc = b ( [ "point" , "focus" , "line" , "enabled" ] , ! 0 ) , cc = b ( [ "point" , "focus" , "expand" , "enabled" ] , ! 0 ) , dc = b ( [ "point" , "focus" , "expand" , "r" ] , cc ? 4 : tb ) , Fa = b ( [ "point" , "focus" , "select" , "r" ] , 8 ) , Oc = b ( [ "point" , "onclick" ] , function ( ) { } ) , Ec = b ( [ "point" , "onselected" ] , function ( ) { } ) , Fc = b ( [ "point" , "onunselected" ] , function ( ) { } ) , J = b ( [ "regions" ] , [ ] ) , ec = b ( [ "tooltip" , "contents" ] , function ( a ) { var c = "<table class='-tooltip'><tr><th colspan='2'>" + ( D ? a [ 0 ] . x . getFullYear ( ) + "." + ( a [ 0 ] . x . getMonth ( ) + 1 ) + "." + a [ 0 ] . x . getDate ( ) : na ? a [ 0 ] . x < hb . length ?
0 , Nc = b ( [ "point" , "focus" , "line" , "enabled" ] , ! 0 ) , cc = b ( [ "point" , "focus" , "expand" , "enabled" ] , ! 0 ) , dc = b ( [ "point" , "focus" , "expand" , "r" ] , cc ? 4 : tb ) , Fa = b ( [ "point" , "focus" , "select" , "r" ] , 8 ) , Oc = b ( [ "point" , "onclick" ] , function ( ) { } ) , Ec = b ( [ "point" , "onselected" ] , function ( ) { } ) , Fc = b ( [ "point" , "onunselected" ] , function ( ) { } ) , J = b ( [ "regions" ] , [ ] ) , ec = b ( [ "tooltip" , "contents" ] , function ( a ) { var c = "<table class='-tooltip'><tr><th colspan='2'>" + ( D ? a [ 0 ] . x . getFullYear ( ) + "." + ( a [ 0 ] . x . getMonth ( ) + 1 ) + "." + a [ 0 ] . x . getDate ( ) : na ? a [ 0 ] . x < hb . length ?
hb [ a [ 0 ] . x ] : a [ 0 ] . x : a [ 0 ] . x ) + "</th></tr>" , b , e , f ; for ( b = 0 ; b < a . length ; b ++ ) l ( a [ b ] ) ? ( e = l ( a [ b ] . value ) ? ( Math . round ( 100 * a [ b ] . value ) / 100 ) . toFixed ( 2 ) : "-" , f = a [ b ] . name ) : f = e = "-" , c += "<tr><td><span style='background-color:" + P ( a [ b ] . id ) + "'></span>" + f + "</td><td class='value'>" + e + "</td></tr>" ; return c + "</table>" } ) , Pc = b ( [ "tooltip" , "init" , "show" ] , ! 1 ) , sa = b ( [ "tooltip" , "init" , "x" ] , 0 ) , gc = b ( [ "tooltip" , "init" , "position" ] , { top : "0px" , left : "50px" } ) , qb = xa . replace ( "#" , "" ) + "-clip" , Ia = "url(#" + qb + ")" , D = "timeseries" === ic , na = "categorized" ===
hb [ a [ 0 ] . x ] : a [ 0 ] . x : a [ 0 ] . x ) + "</th></tr>" , b , e , f ; for ( b = 0 ; b < a . length ; b ++ ) l ( a [ b ] ) ? ( e = l ( a [ b ] . value ) ? ( Math . round ( 100 * a [ b ] . value ) / 100 ) . toFixed ( 2 ) : "-" , f = a [ b ] . name ) : f = e = "-" , c += "<tr><td><span style='background-color:" + P ( a [ b ] . id ) + "'></span>" + f + "</td><td class='value'>" + e + "</td></tr>" ; return c + "</table>" } ) , Pc = b ( [ "tooltip" , "init" , "show" ] , ! 1 ) , sa = b ( [ "tooltip" , "init" , "x" ] , 0 ) , gc = b ( [ "tooltip" , "init" , "position" ] , { top : "0px" , left : "50px" } ) , qb = xa . replace ( "#" , "" ) + "-clip" , Ia = "url(#" + qb + ")" , D = "timeseries" === ic , na = "categorized" ===
ic , vb = null , $a = ! 1 , ub = ! 1 , da = ra ? 40 : 0 , ga = d3 . time . format ( Vc ) . parse , P = function ( a , c ) { var b = [ ] , e = null !== c ? c : "#1f77b4 #ff7f0e #2ca02c #d62728 #9467bd #8c564b #e377c2 #7f7f7f #bcbd22 #17becf" . split ( " " ) ; return function ( c ) { if ( c in a ) return a [ c ] ; 0 <= b . indexOf ( c ) || b . push ( c ) ; return e [ b . indexOf ( c ) % e . length ] } } ( Wc , Xc ) , oc = function ( ) { var a = [ [ d3 . time . format ( "%Y/%-m/%-d" ) , function ( ) { return ! 0 } ] , [ d3 . time . format ( "%-m/%-d" ) , function ( a ) { return a . getMonth ( ) } ] , [ d3 . time . format ( "%-m/%-d" ) , function ( a ) { return 1 != a . getDate ( ) } ] , [ d3 . time . format ( "%-m/%-d" ) ,
ic , vb = null , $a = ! 1 , ub = ! 1 , da = ra ? 40 : 0 , ga = d3 . time . format ( Vc ) . parse , P = function ( a , c ) { var b = [ ] , e = null !== c ? c : "#1f77b4 #ff7f0e #2ca02c #d62728 #9467bd #8c564b #e377c2 #7f7f7f #bcbd22 #17becf" . split ( " " ) ; return function ( c ) { if ( c in a ) return a [ c ] ; 0 <= b . indexOf ( c ) || b . push ( c ) ; return e [ b . indexOf ( c ) % e . length ] } } ( Wc , Xc ) , oc = function ( ) { var a = [ [ d3 . time . format ( "%Y/%-m/%-d" ) , function ( ) { return ! 0 } ] , [ d3 . time . format ( "%-m/%-d" ) , function ( a ) { return a . getMonth ( ) } ] , [ d3 . time . format ( "%-m/%-d" ) , function ( a ) { return 1 != a . getDate ( ) } ] , [ d3 . time . format ( "%-m/%-d" ) ,
function ( a ) { return a . getDay ( ) && 1 != a . getDate ( ) } ] , [ d3 . time . format ( "%I %p" ) , function ( a ) { return a . getHours ( ) } ] , [ d3 . time . format ( "%I:%M" ) , function ( a ) { return a . getMinutes ( ) } ] , [ d3 . time . format ( ":%S" ) , function ( a ) { return a . getSeconds ( ) } ] , [ d3 . time . format ( ".%L" ) , function ( a ) { return a . getMilliseconds ( ) } ] ] ; return function ( c ) { for ( var b = a . length - 1 , e = a [ b ] ; ! e [ 1 ] ( c ) ; ) e = a [ -- b ] ; return e [ 0 ] ( c ) } } ( ) , Db , Ib , Fb , Pa , Hb , Jb , n , u , ea , cb , ma , Kb , Lb , fb , gb , r , y , O , U , Qa , Ra , M , fa , Sa , za , kc = e ? "left" : "bottom" , lc = e ? eb ? "top" : "bottom" : eb ? "right" : "left" ,
function ( a ) { return a . getDay ( ) && 1 != a . getDate ( ) } ] , [ d3 . time . format ( "%I %p" ) , function ( a ) { return a . getHours ( ) } ] , [ d3 . time . format ( "%I:%M" ) , function ( a ) { return a . getMinutes ( ) } ] , [ d3 . time . format ( ":%S" ) , function ( a ) { return a . getSeconds ( ) } ] , [ d3 . time . format ( ".%L" ) , function ( a ) { return a . getMilliseconds ( ) } ] ] ; return function ( c ) { for ( var b = a . length - 1 , e = a [ b ] ; ! e [ 1 ] ( c ) ; ) e = a [ -- b ] ; return e [ 0 ] ( c ) } } ( ) , Db , Ib , Fb , Pa , Hb , Jb , n , t , ea , cb , ma , Kb , Lb , fb , gb , r , y , O , U , Qa , Ra , M , fa , Sa , za , kc = e ? "left" : "bottom" , lc = e ? eb ? "top" : "bottom" : eb ? "right" : "left" ,
mc = e ? db ? "bottom" : "top" : db ? "left" : "right" , nc = "bottom" , I = { main : function ( ) { return "translate(" + H + "," + v + ")" } , context : function ( ) { return "translate(" + G + "," + ta + ")" } , legend : function ( ) { return "translate(" + Oa + "," + yb + ")" } , y2 : function ( ) { return "translate(" + ( e ? 0 : n ) + "," + ( e ? 10 : 0 ) + ")" } , x : function ( ) { return "translate(0," + u + ")" } , subx : function ( ) { return "translate(0," + ea + ")" } } , Rc = function ( ) { var a = d3 . svg . line ( ) . x ( e ? function ( a ) { return h ( a . id ) ( a . value ) } : Ya ) . y ( e ? Ya : function ( a ) { return h ( a . id ) ( a . value ) } ) ; return function ( c ) { var b ;
mc = e ? db ? "bottom" : "top" : db ? "left" : "right" , nc = "bottom" , I = { main : function ( ) { return "translate(" + H + "," + v + ")" } , context : function ( ) { return "translate(" + G + "," + ta + ")" } , legend : function ( ) { return "translate(" + Oa + "," + yb + ")" } , y2 : function ( ) { return "translate(" + ( e ? 0 : n ) + "," + ( e ? 10 : 0 ) + ")" } , x : function ( ) { return "translate(0," + t + ")" } , subx : function ( ) { return "translate(0," + ea + ")" } } , Rc = function ( ) { var a = d3 . svg . line ( ) . x ( e ? function ( a ) { return h ( a . id ) ( a . value ) } : Ya ) . y ( e ? Ya : function ( a ) { return h ( a . id ) ( a . value ) } ) ; return function ( c ) { var b ;
if ( nb ( c ) ) return "spline" === X [ "string" === typeof c ? c : c . id ] ? a . interpolate ( "cardinal" ) : a . interpolate ( "linear" ) , 0 < Object . keys ( hc ) . length ? Hc ( c . values , r , h ( c . id ) , hc [ c . id ] ) : a ( c . values ) ; b = r ( c . values [ 0 ] . x ) ; c = h ( c . id ) ( c . values [ 0 ] . value ) ; return e ? "M " + c + " " + b : "M " + b + " " + c } } ( ) , Sc = function ( ) { var a = d3 . svg . line ( ) . x ( function ( a ) { return U ( a . x ) } ) . y ( function ( a ) { return Na ( a . id ) ( a . value ) } ) ; return function ( c ) { return nb ( c ) ? a ( c . values ) : "M " + U ( c . values [ 0 ] . x ) + " " + Na ( c . id ) ( c . values [ 0 ] . value ) } } ( ) , E = d3 . svg . brush ( ) . on ( "brush" , function ( ) { F ( { withTransition : ! 1 ,
if ( nb ( c ) ) return "spline" === X [ "string" === typeof c ? c : c . id ] ? a . interpolate ( "cardinal" ) : a . interpolate ( "linear" ) , 0 < Object . keys ( hc ) . length ? Hc ( c . values , r , h ( c . id ) , hc [ c . id ] ) : a ( c . values ) ; b = r ( c . values [ 0 ] . x ) ; c = h ( c . id ) ( c . values [ 0 ] . value ) ; return e ? "M " + c + " " + b : "M " + b + " " + c } } ( ) , Sc = function ( ) { var a = d3 . svg . line ( ) . x ( function ( a ) { return U ( a . x ) } ) . y ( function ( a ) { return Na ( a . id ) ( a . value ) } ) ; return function ( c ) { return nb ( c ) ? a ( c . values ) : "M " + U ( c . values [ 0 ] . x ) + " " + Na ( c . id ) ( c . values [ 0 ] . value ) } } ( ) , E = d3 . svg . brush ( ) . on ( "brush" , function ( ) { F ( { withTransition : ! 1 ,
withY : ! 1 , withSubchart : ! 1 } ) } ) , Ga = d3 . behavior . zoom ( ) . on ( "zoom" , oa ? Tc : null ) , Ha , Za , g , x , qa , Y , Wa = null , ib = null , ya ; k . focus = function ( a ) { k . defocus ( ) ; d3 . selectAll ( Ma ( a ) ) . filter ( function ( a ) { return kb ( a . id ) } ) . classed ( "focused" , ! 0 ) . transition ( ) . duration ( 100 ) . style ( "opacity" , 1 ) } ; k . defocus = function ( a ) { d3 . selectAll ( Ma ( a ) ) . filter ( function ( a ) { return kb ( a . id ) } ) . classed ( "focused" , ! 1 ) . transition ( ) . duration ( 100 ) . style ( "opacity" , 0.3 ) } ; k . revert = function ( a ) { d3 . selectAll ( Ma ( a ) ) . filter ( function ( a ) { return kb ( a . id ) } ) . classed ( "focused" ,
withY : ! 1 , withSubchart : ! 1 } ) } ) , Ga = d3 . behavior . zoom ( ) . on ( "zoom" , oa ? Tc : null ) , Ha , Za , g , x , qa , Y , Wa = null , ib = null , ya ; k . focus = function ( a ) { k . defocus ( ) ; d3 . selectAll ( Ma ( a ) ) . filter ( function ( a ) { return kb ( a . id ) } ) . classed ( "focused" , ! 0 ) . transition ( ) . duration ( 100 ) . style ( "opacity" , 1 ) } ; k . defocus = function ( a ) { d3 . selectAll ( Ma ( a ) ) . filter ( function ( a ) { return kb ( a . id ) } ) . classed ( "focused" , ! 1 ) . transition ( ) . duration ( 100 ) . style ( "opacity" , 0.3 ) } ; k . revert = function ( a ) { d3 . selectAll ( Ma ( a ) ) . filter ( function ( a ) { return kb ( a . id ) } ) . classed ( "focused" ,
! 1 ) . transition ( ) . duration ( 100 ) . style ( "opacity" , 1 ) } ; k . show = function ( a ) { d3 . selectAll ( Ma ( a ) ) . transition ( ) . style ( "opacity" , 1 ) } ; k . hide = function ( a ) { d3 . selectAll ( Ma ( a ) ) . transition ( ) . style ( "opacity" , 0 ) } ; k . load = function ( a ) { s ( a . done ) && ( a . done = function ( ) { } ) ; if ( "cacheIds" in a && K ( a . cacheIds ) ) Ka ( bb ( a . cacheIds ) , a . done ) ; else if ( "data" in a ) Ka ( ca ( data ) , a . done ) ; else if ( "url" in a ) d3 . csv ( a . url , function ( c , b ) { Ka ( ca ( b ) , a . done ) } ) ; else if ( "rows" in a ) Ka ( ca ( va ( a . rows ) ) , a . done ) ; else if ( "columns" in a ) Ka ( ca ( wa ( a . columns ) ) , a . done ) ;
! 1 ) . transition ( ) . duration ( 100 ) . style ( "opacity" , 1 ) } ; k . show = function ( a ) { d3 . selectAll ( Ma ( a ) ) . transition ( ) . style ( "opacity" , 1 ) } ; k . hide = function ( a ) { d3 . selectAll ( Ma ( a ) ) . transition ( ) . style ( "opacity" , 0 ) } ; k . load = function ( a ) { s ( a . done ) && ( a . done = function ( ) { } ) ; if ( "cacheIds" in a && K ( a . cacheIds ) ) Ka ( bb ( a . cacheIds ) , a . done ) ; else if ( "data" in a ) Ka ( ca ( data ) , a . done ) ; else if ( "url" in a ) d3 . csv ( a . url , function ( c , b ) { Ka ( ca ( b ) , a . done ) } ) ; else if ( "rows" in a ) Ka ( ca ( va ( a . rows ) ) , a . done ) ; else if ( "columns" in a ) Ka ( ca ( wa ( a . columns ) ) , a . done ) ;
@ -60,5 +60,5 @@ else throw Error("url or rows or columns is required.");};k.unload=function(a){k
k . select = function ( a , c , b ) { Z && g . selectAll ( ".-shapes" ) . selectAll ( ".-shape" ) . each ( function ( e , f ) { var g = "circle" === this . nodeName ? Xb : Gc , h = "circle" === this . nodeName ? ob : Zb ; 0 <= c . indexOf ( f ) ? ia ( e ) && ( ha || s ( a ) || 0 <= a . indexOf ( e . id ) ) && g ( d3 . select ( this ) . classed ( aa , ! 0 ) , e , f ) : l ( b ) && b && h ( d3 . select ( this ) . classed ( aa , ! 1 ) , e , f ) } ) } ; k . unselect = function ( a , b ) { Z && g . selectAll ( ".-shapes" ) . selectAll ( ".-shape" ) . each ( function ( d , e ) { var f = "circle" === this . nodeName ? ob : Zb ; ( s ( b ) || 0 <= b . indexOf ( e ) ) && ia ( d ) && ( ha || s ( a ) || 0 <= a . indexOf ( d . id ) ) && f ( d3 . select ( this ) . classed ( aa ,
k . select = function ( a , c , b ) { Z && g . selectAll ( ".-shapes" ) . selectAll ( ".-shape" ) . each ( function ( e , f ) { var g = "circle" === this . nodeName ? Xb : Gc , h = "circle" === this . nodeName ? ob : Zb ; 0 <= c . indexOf ( f ) ? ia ( e ) && ( ha || s ( a ) || 0 <= a . indexOf ( e . id ) ) && g ( d3 . select ( this ) . classed ( aa , ! 0 ) , e , f ) : l ( b ) && b && h ( d3 . select ( this ) . classed ( aa , ! 1 ) , e , f ) } ) } ; k . unselect = function ( a , b ) { Z && g . selectAll ( ".-shapes" ) . selectAll ( ".-shape" ) . each ( function ( d , e ) { var f = "circle" === this . nodeName ? ob : Zb ; ( s ( b ) || 0 <= b . indexOf ( e ) ) && ia ( d ) && ( ha || s ( a ) || 0 <= a . indexOf ( d . id ) ) && f ( d3 . select ( this ) . classed ( aa ,
! 1 ) , d , e ) } ) } ; k . toLine = function ( a ) { mb ( a , "line" ) ; F ( ) } ; k . toSpline = function ( a ) { mb ( a , "spline" ) ; F ( ) } ; k . toBar = function ( a ) { mb ( a , "bar" ) ; F ( ) } ; k . groups = function ( a ) { if ( s ( a ) ) return w ; w = a ; F ( ) ; return w } ; k . regions = function ( a ) { if ( s ( a ) ) return J ; J = a ; F ( ) ; return J } ; k . regions . add = function ( a ) { if ( s ( a ) ) return J ; J = J . concat ( a ) ; F ( ) ; return J } ; k . regions . remove = function ( a , b ) { var d = [ ] . concat ( a ) ; b = l ( b ) ? b : { } ; d . forEach ( function ( a ) { var d = d3 . selectAll ( "." + a ) ; l ( b . duration ) && ( d = d . transition ( ) . duration ( b . duration ) . style ( "fill-opacity" , 0 ) ) ;
! 1 ) , d , e ) } ) } ; k . toLine = function ( a ) { mb ( a , "line" ) ; F ( ) } ; k . toSpline = function ( a ) { mb ( a , "spline" ) ; F ( ) } ; k . toBar = function ( a ) { mb ( a , "bar" ) ; F ( ) } ; k . groups = function ( a ) { if ( s ( a ) ) return w ; w = a ; F ( ) ; return w } ; k . regions = function ( a ) { if ( s ( a ) ) return J ; J = a ; F ( ) ; return J } ; k . regions . add = function ( a ) { if ( s ( a ) ) return J ; J = J . concat ( a ) ; F ( ) ; return J } ; k . regions . remove = function ( a , b ) { var d = [ ] . concat ( a ) ; b = l ( b ) ? b : { } ; d . forEach ( function ( a ) { var d = d3 . selectAll ( "." + a ) ; l ( b . duration ) && ( d = d . transition ( ) . duration ( b . duration ) . style ( "fill-opacity" , 0 ) ) ;
d . remove ( ) ; J = J . filter ( function ( b ) { return 0 > b . classes . indexOf ( a ) } ) } ) ; return J } ; k . data . get = function ( a ) { a = k . data . getAsTarget ( a ) ; return l ( a ) ? a . values . map ( function ( a ) { return a . value } ) : void 0 } ; k . data . getAsTarget = function ( a ) { var b = Ta ( function ( b ) { return b . id == a } ) ; return 0 < b . length ? b [ 0 ] : void 0 } ; if ( "url" in Q . data ) d3 . csv ( Q . data . url , function ( a , b ) { pb ( b ) } ) ; else if ( "rows" in Q . data ) pb ( va ( Q . data . rows ) ) ; else if ( "columns" in Q . data ) pb ( wa ( Q . data . columns ) ) ; else throw Error ( "url or rows or columns is required." ) ; xb . onresize =
d . remove ( ) ; J = J . filter ( function ( b ) { return 0 > b . classes . indexOf ( a ) } ) } ) ; return J } ; k . data . get = function ( a ) { a = k . data . getAsTarget ( a ) ; return l ( a ) ? a . values . map ( function ( a ) { return a . value } ) : void 0 } ; k . data . getAsTarget = function ( a ) { var b = Ta ( function ( b ) { return b . id == a } ) ; return 0 < b . length ? b [ 0 ] : void 0 } ; if ( "url" in Q . data ) d3 . csv ( Q . data . url , function ( a , b ) { pb ( b ) } ) ; else if ( "rows" in Q . data ) pb ( va ( Q . data . rows ) ) ; else if ( "columns" in Q . data ) pb ( wa ( Q . data . columns ) ) ; else throw Error ( "url or rows or columns is required." ) ; xb . onresize =
function ( ) { N ( ) ; R ( ) ; E . x ( U ) ; oa && Ga . x ( r ) ; d3 . select ( "svg" ) . attr ( "width" , cb ) . attr ( "height" , ma ) ; d3 . select ( "#" + qb ) . select ( "rect" ) . attr ( "width" , n ) . attr ( "height" , u ) ; d3 . select ( "#xaxis-clip" ) . select ( "rect" ) . attr ( "width" , n + 2 ) ; d3 . select ( ".zoom-rect" ) . attr ( "width" , n ) ; g . select ( ".x.axis" ) . attr ( "transform" , I . x ) ; g . select ( ".y2.axis" ) . attr ( "transform" , I . y2 ) ; pa && ( x . select ( ".x.brush" ) . selectAll ( "rect" ) . attr ( "height" , ea ) , x . attr ( "transform" , I . context ) , x . select ( ".x.axis" ) . attr ( "transform" , I . subx ) ) ; ra && ( qa . attr ( "transform" ,
function ( ) { N ( ) ; R ( ) ; E . x ( U ) ; oa && Ga . x ( r ) ; d3 . select ( "svg" ) . attr ( "width" , cb ) . attr ( "height" , ma ) ; d3 . select ( "#" + qb ) . select ( "rect" ) . attr ( "width" , n ) . attr ( "height" , t ) ; d3 . select ( "#xaxis-clip" ) . select ( "rect" ) . attr ( "width" , n + 2 ) ; d3 . select ( ".zoom-rect" ) . attr ( "width" , n ) . attr ( "height" , t ) ; g . select ( ".x.axis" ) . attr ( "transform" , I . x ) ; g . select ( ".y2.axis" ) . attr ( "transform" , I . y2 ) ; pa && ( x . select ( ".x.brush" ) . selectAll ( "rect" ) . attr ( "height" , ea ) , x . attr ( "transform" , I . context ) , x . select ( ".x.axis" ) . attr ( "transform" , I . subx ) ) ; ra && ( qa . attr ( "transform" ,
I . legend ) , ab ( k . data . targets , { withTransition : ! 1 } ) ) ; F ( { withTransition : ! 1 } ) } ; return k } } ) ( window ) ;
I . legend ) , ab ( k . data . targets , { withTransition : ! 1 } ) ) ; F ( { withTransition : ! 1 } ) } ; return k } } ) ( window ) ;