@ -4,8 +4,8 @@  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					 *   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					 *  A  dynamic ,  browser - based  visualization  library .   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					 *   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					 *  @ version  0.6 .0    
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					 *  @ date     2014 - 03 - 05    
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					 *  @ version  0.6 .1    
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					 *  @ date     2014 - 03 - 06    
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					 *   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					 *  @ license   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					 *  Copyright  ( C )  2011 - 2014  Almende  B . V ,  http : //almende.com
   
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				
					@ -5504,8 +5504,8 @@ ItemSet.prototype.getAxis = function getAxis() {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					ItemSet . prototype . reflow  =  function  reflow  ( )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					  var  changed  =  0 ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      options  =  this . options ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      marginAxis  =  options . margin  &&  options . margin . axis  ||   this . defaultOptions . margin . axis ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      marginItem  =  options . margin  &&  options . margin . item  ||   this . defaultOptions . margin . item ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      marginAxis  =  ( options . margin  &&  'axis'  in  options . margin )  ?  options . margin . axis  :   this . defaultOptions . margin . axis ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      marginItem  =  ( options . margin  &&  'item'  in  options . margin )  ?  options . margin . item  :   this . defaultOptions . margin . item ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      update  =  util . updateProperty ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      asNumber  =  util . option . asNumber ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      asSize  =  util . option . asSize ,   
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				
					@ -10645,14 +10645,21 @@ Edge.prototype._drawLine = function(ctx) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					  ctx . strokeStyle  =  this . color ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					  ctx . lineWidth  =  this . _getLineWidth ( ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					  var  point ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					  if  ( this . from  !=  this . to )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    // draw line
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    this . _line ( ctx ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    // draw label
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    var  point ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    if  ( this . label )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      point  =  this . _pointOnLine ( 0.5 ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      if  ( this . smooth  ==  true )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        var  midpointX  =  0.5 * ( 0.5 * ( this . from . x  +  this . via . x )  +  0.5 * ( this . to . x  +  this . via . x ) ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        var  midpointY  =  0.5 * ( 0.5 * ( this . from . y  +  this . via . y )  +  0.5 * ( this . to . y  +  this . via . y ) ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        point  =  { x : midpointX ,  y : midpointY } ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      else  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        point  =  this . _pointOnLine ( 0.5 ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      this . _label ( ctx ,  this . label ,  point . x ,  point . y ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					  }   
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				
					@ -10835,7 +10842,15 @@ Edge.prototype._drawDashLine = function(ctx) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					  // draw label
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					  if  ( this . label )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    var  point  =  this . _pointOnLine ( 0.5 ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    var  point ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    if  ( this . smooth  ==  true )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      var  midpointX  =  0.5 * ( 0.5 * ( this . from . x  +  this . via . x )  +  0.5 * ( this . to . x  +  this . via . x ) ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      var  midpointY  =  0.5 * ( 0.5 * ( this . from . y  +  this . via . y )  +  0.5 * ( this . to . y  +  this . via . y ) ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      point  =  { x : midpointX ,  y : midpointY } ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    else  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      point  =  this . _pointOnLine ( 0.5 ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    this . _label ( ctx ,  this . label ,  point . x ,  point . y ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					  }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					} ;  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				
					@ -10906,7 +10921,6 @@ Edge.prototype._drawArrowCenter = function(ctx) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    // draw label
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    if  ( this . label )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      point  =  this . _pointOnLine ( 0.5 ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      this . _label ( ctx ,  this . label ,  point . x ,  point . y ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					  }   
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				
					@ -11010,7 +11024,15 @@ Edge.prototype._drawArrow = function(ctx) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    // draw label
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    if  ( this . label )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      var  point  =  this . _pointOnLine ( 0.5 ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      var  point ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      if  ( this . smooth  ==  true )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        var  midpointX  =  0.5 * ( 0.5 * ( this . from . x  +  this . via . x )  +  0.5 * ( this . to . x  +  this . via . x ) ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        var  midpointY  =  0.5 * ( 0.5 * ( this . from . y  +  this . via . y )  +  0.5 * ( this . to . y  +  this . via . y ) ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        point  =  { x : midpointX ,  y : midpointY } ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      else  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        point  =  this . _pointOnLine ( 0.5 ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      this . _label ( ctx ,  this . label ,  point . x ,  point . y ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					  }   
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				
					@ -11674,6 +11696,7 @@ var physicsMixin = {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					   * /   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					  _loadPhysicsConfiguration  :  function ( )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    if  ( this . physicsConfiguration  ===  undefined )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      var  hierarchicalLayoutDirections  =  [ "LR" , "RL" , "UD" , "DU" ] ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      this . physicsConfiguration  =  document . createElement ( 'div' ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      this . physicsConfiguration . className  =  "PhysicsConfiguration" ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      this . physicsConfiguration . innerHTML  =  ''  +   
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				
					@ -11687,127 +11710,109 @@ var physicsMixin = {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<table id="graph_BH_table" style="display:none">' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<tr><td><b>Barnes Hut</b></td></tr>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<tr>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<td width="150px">gravitationalConstant</td><td>0</td><td><input type="range" min="500" max="20000" value="2000 " step="25" style="width:300px" id="graph_BH_gc"></td><td  width="50px">-20000</td><td><input value="-2000 " id="graph_BH_gc_value" style="width:60px"></td>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<td width="150px">gravitationalConstant</td><td>0</td><td><input type="range" min="500" max="20000" value="'  +  ( - 1 *  this . constants . physics . barnesHut . gravitationalConstant )  +  ' " step="25" style="width:300px" id="graph_BH_gc"></td><td  width="50px">-20000</td><td><input value="'  +  ( - 1 *  this . constants . physics . barnesHut . gravitationalConstant )  +  ' " id="graph_BH_gc_value" style="width:60px"></td>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '</tr>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<tr>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<td width="150px">centralGravity</td><td>0</td><td><input type="range" min="0" max="3"  value="0.3 " step="0.05"  style="width:300px" id="graph_BH_cg"></td><td>3</td><td><input value="0.03 " id="graph_BH_cg_value" style="width:60px"></td>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<td width="150px">centralGravity</td><td>0</td><td><input type="range" min="0" max="3"  value="'  +  this . constants . physics . barnesHut . centralGravity  +  ' " step="0.05"  style="width:300px" id="graph_BH_cg"></td><td>3</td><td><input value="'  +  this . constants . physics . barnesHut . centralGravity  +  ' " id="graph_BH_cg_value" style="width:60px"></td>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '</tr>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<tr>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<td width="150px">springLength</td><td>0</td><td><input type="range" min="0" max="500" value="100 " step="1" style="width:300px" id="graph_BH_sl"></td><td>500</td><td><input value="100 " id="graph_BH_sl_value" style="width:60px"></td>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<td width="150px">springLength</td><td>0</td><td><input type="range" min="0" max="500" value="'  +  this . constants . physics . barnesHut . springLength  +  ' " step="1" style="width:300px" id="graph_BH_sl"></td><td>500</td><td><input value="'  +  this . constants . physics . barnesHut . springLength  +  ' " id="graph_BH_sl_value" style="width:60px"></td>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '</tr>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<tr>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<td width="150px">springConstant</td><td>0</td><td><input type="range" min="0" max="0.5" value="0.05" step="0.005 " style="width:300px" id="graph_BH_sc"></td><td>0.5</td><td><input value="0.05 " id="graph_BH_sc_value" style="width:60px"></td>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<td width="150px">springConstant</td><td>0</td><td><input type="range" min="0" max="0.5" value="'  +  this . constants . physics . barnesHut . springConstant  +  '" step="0.001 " style="width:300px" id="graph_BH_sc"></td><td>0.5</td><td><input value="'  +  this . constants . physics . barnesHut . springConstant  +  ' " id="graph_BH_sc_value" style="width:60px"></td>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '</tr>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<tr>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<td width="150px">damping</td><td>0</td><td><input type="range" min="0" max="0.3" value="0.09 " step="0.005" style="width:300px" id="graph_BH_damp"></td><td>0.3</td><td><input value="0.09 " id="graph_BH_damp_value" style="width:60px"></td>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<td width="150px">damping</td><td>0</td><td><input type="range" min="0" max="0.3" value="'  +  this . constants . physics . barnesHut . damping  +  ' " step="0.005" style="width:300px" id="graph_BH_damp"></td><td>0.3</td><td><input value="'  +  this . constants . physics . barnesHut . damping  +  ' " id="graph_BH_damp_value" style="width:60px"></td>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '</tr>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '</table>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<table id="graph_R_table" style="display:none">' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<tr><td><b>Repulsion</b></td></tr>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<tr>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<td width="150px">nodeDistance</td><td>0</td><td><input type="range" min="0" max="300" value="100 " step="1" style="width:300px" id="graph_R_nd"></td><td width="50px">300</td><td><input value="100 " id="graph_R_nd_value" style="width:60px"></td>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<td width="150px">nodeDistance</td><td>0</td><td><input type="range" min="0" max="300" value="'  +  this . constants . physics . repulsion . nodeDistance  +  ' " step="1" style="width:300px" id="graph_R_nd"></td><td width="50px">300</td><td><input value="'  +  this . constants . physics . repulsion . nodeDistance  +  ' " id="graph_R_nd_value" style="width:60px"></td>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '</tr>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<tr>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<td width="150px">centralGravity</td><td>0</td><td><input type="range" min="0" max="3"  value="0.1 " step="0.05"  style="width:300px" id="graph_R_cg"></td><td>3</td><td><input value="0.01 " id="graph_R_cg_value" style="width:60px"></td>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<td width="150px">centralGravity</td><td>0</td><td><input type="range" min="0" max="3"  value="'  +  this . constants . physics . repulsion . centralGravity  +  ' " step="0.05"  style="width:300px" id="graph_R_cg"></td><td>3</td><td><input value="'  +  this . constants . physics . repulsion . centralGravity  +  ' " id="graph_R_cg_value" style="width:60px"></td>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '</tr>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<tr>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<td width="150px">springLength</td><td>0</td><td><input type="range" min="0" max="500" value="200 " step="1" style="width:300px" id="graph_R_sl"></td><td>500</td><td><input value="200 " id="graph_R_sl_value" style="width:60px"></td>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<td width="150px">springLength</td><td>0</td><td><input type="range" min="0" max="500" value="'  +  this . constants . physics . repulsion . springLength  +  ' " step="1" style="width:300px" id="graph_R_sl"></td><td>500</td><td><input value="'  +  this . constants . physics . repulsion . springLength  +  ' " id="graph_R_sl_value" style="width:60px"></td>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '</tr>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<tr>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<td width="150px">springConstant</td><td>0</td><td><input type="range" min="0" max="0.5" value="0.05" step="0.005 " style="width:300px" id="graph_R_sc"></td><td>0.5</td><td><input value="0.05 " id="graph_R_sc_value" style="width:60px"></td>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<td width="150px">springConstant</td><td>0</td><td><input type="range" min="0" max="0.5" value="'  +  this . constants . physics . repulsion . springConstant  +  '" step="0.001 " style="width:300px" id="graph_R_sc"></td><td>0.5</td><td><input value="'  +  this . constants . physics . repulsion . springConstant  +  ' " id="graph_R_sc_value" style="width:60px"></td>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '</tr>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<tr>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<td width="150px">damping</td><td>0</td><td><input type="range" min="0" max="0.3" value="0.09 " step="0.005" style="width:300px" id="graph_R_damp"></td><td>0.3</td><td><input value="0.09 " id="graph_R_damp_value" style="width:60px"></td>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<td width="150px">damping</td><td>0</td><td><input type="range" min="0" max="0.3" value="'  +  this . constants . physics . repulsion . damping  +  ' " step="0.005" style="width:300px" id="graph_R_damp"></td><td>0.3</td><td><input value="'  +  this . constants . physics . repulsion . damping  +  ' " id="graph_R_damp_value" style="width:60px"></td>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '</tr>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '</table>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<table id="graph_H_table" style="display:none">' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<tr><td width="150"><b>Hierarchical</b></td></tr>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<tr>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<td width="150px">nodeDistance</td><td>0</td><td><input type="range" min="0" max="300" value="60 " step="1" style="width:300px" id="graph_H_nd"></td><td width="50px">300</td><td><input value="60 " id="graph_H_nd_value" style="width:60px"></td>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<td width="150px">nodeDistance</td><td>0</td><td><input type="range" min="0" max="300" value="'  +  this . constants . physics . hierarchicalRepulsion . nodeDistance  +  ' " step="1" style="width:300px" id="graph_H_nd"></td><td width="50px">300</td><td><input value="'  +  this . constants . physics . hierarchicalRepulsion . nodeDistance  +  ' " id="graph_H_nd_value" style="width:60px"></td>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '</tr>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<tr>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<td width="150px">centralGravity</td><td>0</td><td><input type="range" min="0" max="3"  value="0 " step="0.05"  style="width:300px" id="graph_H_cg"></td><td>3</td><td><input value="0 " id="graph_H_cg_value" style="width:60px"></td>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<td width="150px">centralGravity</td><td>0</td><td><input type="range" min="0" max="3"  value="'  +  this . constants . physics . hierarchicalRepulsion . centralGravity  +  ' " step="0.05"  style="width:300px" id="graph_H_cg"></td><td>3</td><td><input value="'  +  this . constants . physics . hierarchicalRepulsion . centralGravity  +  ' " id="graph_H_cg_value" style="width:60px"></td>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '</tr>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<tr>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<td width="150px">springLength</td><td>0</td><td><input type="range" min="0" max="500" value="100 " step="1" style="width:300px" id="graph_H_sl"></td><td>500</td><td><input value="100 " id="graph_H_sl_value" style="width:60px"></td>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<td width="150px">springLength</td><td>0</td><td><input type="range" min="0" max="500" value="'  +  this . constants . physics . hierarchicalRepulsion . springLength  +  ' " step="1" style="width:300px" id="graph_H_sl"></td><td>500</td><td><input value="'  +  this . constants . physics . hierarchicalRepulsion . springLength  +  ' " id="graph_H_sl_value" style="width:60px"></td>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '</tr>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<tr>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<td width="150px">springConstant</td><td>0</td><td><input type="range" min="0" max="0.5" value="0.01" step="0.005 " style="width:300px" id="graph_H_sc"></td><td>0.5</td><td><input value="0.01 " id="graph_H_sc_value" style="width:60px"></td>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<td width="150px">springConstant</td><td>0</td><td><input type="range" min="0" max="0.5" value="'  +  this . constants . physics . hierarchicalRepulsion . springConstant  +  '" step="0.001 " style="width:300px" id="graph_H_sc"></td><td>0.5</td><td><input value="'  +  this . constants . physics . hierarchicalRepulsion . springConstant  +  ' " id="graph_H_sc_value" style="width:60px"></td>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '</tr>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<tr>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<td width="150px">damping</td><td>0</td><td><input type="range" min="0" max="0.3" value="0.09 " step="0.005" style="width:300px" id="graph_H_damp"></td><td>0.3</td><td><input value="0.09 " id="graph_H_damp_value" style="width:60px"></td>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<td width="150px">damping</td><td>0</td><td><input type="range" min="0" max="0.3" value="'  +  this . constants . physics . hierarchicalRepulsion . damping  +  ' " step="0.005" style="width:300px" id="graph_H_damp"></td><td>0.3</td><td><input value="'  +  this . constants . physics . hierarchicalRepulsion . damping  +  ' " id="graph_H_damp_value" style="width:60px"></td>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '</tr>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<tr>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<td width="150px">direction</td><td>1</td><td><input type="range" min="0" max="3" value="0 " step="1" style="width:300px" id="graph_H_direction"></td><td>4</td><td><input value="LR " id="graph_H_direction_value" style="width:60px"></td>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<td width="150px">direction</td><td>1</td><td><input type="range" min="0" max="3" value="'  +  hierarchicalLayoutDirections . indexOf ( this . constants . hierarchicalLayout . direction )  +  ' " step="1" style="width:300px" id="graph_H_direction"></td><td>4</td><td><input value="'  +  this . constants . hierarchicalLayout . direction  +  ' " id="graph_H_direction_value" style="width:60px"></td>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '</tr>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<tr>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<td width="150px">levelSeparation</td><td>1</td><td><input type="range" min="0" max="500 " value="150" step="1" style="width:300px" id="graph_H_levsep"></td><td>500</td><td><input value="150 " id="graph_H_levsep_value" style="width:60px"></td>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<td width="150px">levelSeparation</td><td>1</td><td><input type="range" min="0" max="'  +  this . constants . hierarchicalLayout . levelSeparation  +  ' " value="150" step="1" style="width:300px" id="graph_H_levsep"></td><td>500</td><td><input value="'  +  this . constants . hierarchicalLayout . levelSeparation  +  ' " id="graph_H_levsep_value" style="width:60px"></td>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '</tr>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<tr>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<td width="150px">nodeSpacing</td><td>1</td><td><input type="range" min="0" max="500 " value="100" step="1" style="width:300px" id="graph_H_nspac"></td><td>500</td><td><input value="100 " id="graph_H_nspac_value" style="width:60px"></td>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '<td width="150px">nodeSpacing</td><td>1</td><td><input type="range" min="0" max="'  +  this . constants . hierarchicalLayout . nodeSpacing  +  ' " value="100" step="1" style="width:300px" id="graph_H_nspac"></td><td>500</td><td><input value="'  +  this . constants . hierarchicalLayout . nodeSpacing  +  ' " id="graph_H_nspac_value" style="width:60px"></td>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '</tr>' +   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        '</table>'   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      this . containerElement . parentElement . insertBefore ( this . physicsConfiguration , this . containerElement ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      var  hierarchicalLayoutDirections  =  [ "LR" , "RL" , "UD" , "DU" ] ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      var  rangeElement ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement  =  document . getElementById ( 'graph_BH_gc' ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement . innerHTML  =  this . constants . physics . barnesHut . gravitationalConstant ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement . onchange  =  showValueOfRange . bind ( this , 'graph_BH_gc' , - 1 , "physics_barnesHut_gravitationalConstant" ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement  =  document . getElementById ( 'graph_BH_cg' ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement . innerHTML  =  this . constants . physics . barnesHut . centralGravity ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement . onchange  =  showValueOfRange . bind ( this , 'graph_BH_cg' , 1 , "physics_centralGravity" ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement  =  document . getElementById ( 'graph_BH_sc' ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement . innerHTML  =  this . constants . physics . barnesHut . springConstant ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement . onchange  =  showValueOfRange . bind ( this , 'graph_BH_sc' , 1 , "physics_springConstant" ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement  =  document . getElementById ( 'graph_BH_sl' ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement . innerHTML  =  this . constants . physics . barnesHut . springLength ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement . onchange  =  showValueOfRange . bind ( this , 'graph_BH_sl' , 1 , "physics_springLength" ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement  =  document . getElementById ( 'graph_BH_damp' ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement . innerHTML  =  this . constants . physics . barnesHut . damping ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement . onchange  =  showValueOfRange . bind ( this , 'graph_BH_damp' , 1 , "physics_damping" ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement  =  document . getElementById ( 'graph_R_nd' ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement . innerHTML  =  this . constants . physics . repulsion . nodeDistance ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement . onchange  =  showValueOfRange . bind ( this , 'graph_R_nd' , 1 , "physics_repulsion_nodeDistance" ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement  =  document . getElementById ( 'graph_R_cg' ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement . innerHTML  =  this . constants . physics . repulsion . centralGravity ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement . onchange  =  showValueOfRange . bind ( this , 'graph_R_cg' , 1 , "physics_centralGravity" ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement  =  document . getElementById ( 'graph_R_sc' ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement . innerHTML  =  this . constants . physics . repulsion . springConstant ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement . onchange  =  showValueOfRange . bind ( this , 'graph_R_sc' , 1 , "physics_springConstant" ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement  =  document . getElementById ( 'graph_R_sl' ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement . innerHTML  =  this . constants . physics . repulsion . springLength ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement . onchange  =  showValueOfRange . bind ( this , 'graph_R_sl' , 1 , "physics_springLength" ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement  =  document . getElementById ( 'graph_R_damp' ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement . innerHTML  =  this . constants . physics . repulsion . damping ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement . onchange  =  showValueOfRange . bind ( this , 'graph_R_damp' , 1 , "physics_damping" ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement  =  document . getElementById ( 'graph_H_nd' ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement . innerHTML  =  this . constants . physics . hierarchicalRepulsion . nodeDistance ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement . onchange  =  showValueOfRange . bind ( this , 'graph_H_nd' , 1 , "physics_hierarchicalRepulsion_nodeDistance" ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement  =  document . getElementById ( 'graph_H_cg' ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement . innerHTML  =  this . constants . physics . hierarchicalRepulsion . centralGravity ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement . onchange  =  showValueOfRange . bind ( this , 'graph_H_cg' , 1 , "physics_centralGravity" ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement  =  document . getElementById ( 'graph_H_sc' ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement . innerHTML  =  this . constants . physics . hierarchicalRepulsion . springConstant ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement . onchange  =  showValueOfRange . bind ( this , 'graph_H_sc' , 1 , "physics_springConstant" ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement  =  document . getElementById ( 'graph_H_sl' ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement . innerHTML  =  this . constants . physics . hierarchicalRepulsion . springLength ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement . onchange  =  showValueOfRange . bind ( this , 'graph_H_sl' , 1 , "physics_springLength" ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement  =  document . getElementById ( 'graph_H_damp' ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement . innerHTML  =  this . constants . physics . hierarchicalRepulsion . damping ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement . onchange  =  showValueOfRange . bind ( this , 'graph_H_damp' , 1 , "physics_damping" ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement  =  document . getElementById ( 'graph_H_direction' ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement . innerHTML  =  hierarchicalLayoutDirections . indexOf ( this . constants . hierarchicalLayout . direction ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement . onchange  =  showValueOfRange . bind ( this , 'graph_H_direction' , hierarchicalLayoutDirections , "hierarchicalLayout_direction" ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement  =  document . getElementById ( 'graph_H_levsep' ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement . innerHTML  =  this . constants . hierarchicalLayout . levelSeparation ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement . onchange  =  showValueOfRange . bind ( this , 'graph_H_levsep' , 1 , "hierarchicalLayout_levelSeparation" ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement  =  document . getElementById ( 'graph_H_nspac' ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement . innerHTML  =  this . constants . hierarchicalLayout . nodeSpacing ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      rangeElement . onchange  =  showValueOfRange . bind ( this , 'graph_H_nspac' , 1 , "hierarchicalLayout_nodeSpacing" ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      var  radioButton1  =  document . getElementById ( "graph_physicsMethod1" ) ;   
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				
					@ -16150,8 +16155,6 @@ Graph.prototype.zoomExtent = function(initialZoom, disableStart) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					  }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					  this . pinch . mousewheelScale  =  zoomLevel ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					  this . _setScale ( zoomLevel ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					  this . _centerGraph ( range ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					  if  ( disableStart  ==  false )  {   
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				
					@ -16753,7 +16756,6 @@ Graph.prototype._zoom = function(scale, pointer) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					  this . areaCenter  =  { "x"  :  this . _canvasToX ( pointer . x ) ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                     "y"  :  this . _canvasToY ( pointer . y ) } ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					  this . pinch . mousewheelScale  =  scale ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					  this . _setScale ( scale ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					  this . _setTranslation ( tx ,  ty ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					  this . updateClustersDefault ( ) ;   
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				
					@ -16785,12 +16787,9 @@ Graph.prototype._onMouseWheel = function(event) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					  // Basically, delta is now positive if wheel was scrolled up,
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					  // and negative, if wheel was scrolled down.
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					  if  ( delta )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    if  ( ! ( 'mousewheelScale'  in  this . pinch ) )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      this . pinch . mousewheelScale  =  1 ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    // calculate the new scale
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    var  scale  =  this . pinch . mousewheelScale ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    var  scale  =  this . _getScale ( ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    var  zoom  =  delta  /  10 ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    if  ( delta  <  0 )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      zoom  =  zoom  /  ( 1  -  zoom ) ;   
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				
					@ -16803,9 +16802,6 @@ Graph.prototype._onMouseWheel = function(event) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    // apply the new scale
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    this . _zoom ( scale ,  pointer ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    // store the new, applied scale -- this is now done in _zoom
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					//    this.pinch.mousewheelScale = scale;
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					  }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					  // Prevent default actions caused by mouse wheel.
   
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				
					@ -17578,6 +17574,10 @@ Graph.prototype._animationStep = function() {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					  this . renderTime  =  Date . now ( )  -  renderTime ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					} ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					if  ( typeof  window  !==  'undefined' )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					  window . requestAnimationFrame  =  window . requestAnimationFrame  ||  window . mozRequestAnimationFrame  ||   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                                 window . webkitRequestAnimationFrame  ||  window . msRequestAnimationFrame ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					/ * *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					 *  Schedule  a  animation  step  with  the  refreshrate  interval .   
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				
					@ -17586,8 +17586,8 @@ Graph.prototype._animationStep = function() {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					 * /   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					Graph . prototype . start  =  function ( )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					  if  ( this . moving  ||  this . xIncrement  !=  0  ||  this . yIncrement  !=  0  ||  this . zoomIncrement  !=  0 )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    if  ( ! this . timer )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      this . timer  =  window . setTimeout ( this . _animationStep . bind ( this ) ,  this . renderTimestep ) ;  // wait this.renderTimeStep milliseconds and perform the animation step function
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    if  ( ! this . timer )  {     
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      this . timer  =  window . requestAnimationFrame ( this . _animationStep . bind ( this ) ,  this . renderTimestep ) ;  // wait this.renderTimeStep milliseconds and perform the animation step function
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					  }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					  else  {