/* sigmajs.org - an open-source light-weight JavaScript graph drawing library - Version: 0.1 - Author: Alexis Jacomy - License: MIT */
var sigma={tools:{},classes:{},instances:{}};
(function(){Array.prototype.some||(Array.prototype.some=function(l,r){var h=this.length;if("function"!=typeof l)throw new TypeError;for(var m=0;m
"+b+" : "+c.p.globalProbes[b]()+"
";a+="LOCAL :
";for(b in c.p.localProbes)a+=""+b+" : "+c.p.localProbes[b]()+"
";c.p.dom.innerHTML=a;return c}sigma.classes.Cascade.call(this);var c=this;this.instance=b;this.monitoring=!1;this.p={fps:40,dom:k,globalProbes:{"Time (ms)":sigma.chronos.getExecutionTime,Queue:sigma.chronos.getQueuedTasksCount, Tasks:sigma.chronos.getTasksCount,FPS:sigma.chronos.getFPS},localProbes:{"Nodes count":function(){return c.instance.graph.nodes.length},"Edges count":function(){return c.instance.graph.edges.length}}};this.activate=function(){c.monitoring||(c.monitoring=window.setInterval(f,1E3/c.p.fps));return c};this.desactivate=function(){c.monitoring&&(window.clearInterval(c.monitoring),c.monitoring=null,c.p.dom.innerHTML="");return c}}var v=0,G={plugins:[]};sigma.init=function(b){b=new r(b,(++v).toString()); sigma.instances[v]=new h(b);return sigma.instances[v]};sigma.addPlugin=function(b,k,f){h.prototype[b]=k;G.plugins.push(f)};sigma.tools.drawRoundRect=function(b,k,f,c,a,h,d){h=h?h:0;var l=d?d:[],l="string"==typeof l?l.split(" "):l;d=h&&(0<=l.indexOf("topleft")||0<=l.indexOf("top")||0<=l.indexOf("left"));var m=h&&(0<=l.indexOf("topright")||0<=l.indexOf("top")||0<=l.indexOf("right")),g=h&&(0<=l.indexOf("bottomleft")||0<=l.indexOf("bottom")||0<=l.indexOf("left")),l=h&&(0<=l.indexOf("bottomright")||0<= l.indexOf("bottom")||0<=l.indexOf("right"));b.moveTo(k,f+h);d?b.arcTo(k,f,k+h,f,h):b.lineTo(k,f);m?(b.lineTo(k+c-h,f),b.arcTo(k+c,f,k+c,f+h,h)):b.lineTo(k+c,f);l?(b.lineTo(k+c,f+a-h),b.arcTo(k+c,f+a,k+c-h,f+a,h)):b.lineTo(k+c,f+a);g?(b.lineTo(k+h,f+a),b.arcTo(k,f+a,k,f+a-h,h)):b.lineTo(k,f+a);b.lineTo(k,f+h)};sigma.tools.getRGB=function(b,h){b=b.toString();var f={r:0,g:0,b:0};if(3<=b.length&&"#"==b.charAt(0)){var c=b.length-1;6==c?f={r:parseInt(b.charAt(1)+b.charAt(2),16),g:parseInt(b.charAt(3)+b.charAt(4), 16),b:parseInt(b.charAt(5)+b.charAt(5),16)}:3==c&&(f={r:parseInt(b.charAt(1)+b.charAt(1),16),g:parseInt(b.charAt(2)+b.charAt(2),16),b:parseInt(b.charAt(3)+b.charAt(3),16)})}h&&(f=[f.r,f.g,f.b]);return f};sigma.tools.rgbToHex=function(b,h,f){return sigma.tools.toHex(b)+sigma.tools.toHex(h)+sigma.tools.toHex(f)};sigma.tools.toHex=function(b){b=parseInt(b,10);if(isNaN(b))return"00";b=Math.max(0,Math.min(b,255));return"0123456789ABCDEF".charAt((b-b%16)/16)+"0123456789ABCDEF".charAt(b%16)};sigma.easing= {linear:{},quadratic:{}};sigma.easing.linear.easenone=function(b){return b};sigma.easing.quadratic.easein=function(b){return b*b};sigma.easing.quadratic.easeout=function(b){return-b*(b-2)};sigma.easing.quadratic.easeinout=function(b){return 1>(b*=2)?0.5*b*b:-0.5*(--b*(b-2)-1)};sigma.chronos=new function(){function b(a){window.setTimeout(a,0);return g}function h(){for(g.dispatch("frameinserted");r&&w.length&&f(););!r||!w.length?a():(B=(new Date).getTime(),t++,D=y-v,x=v-D,g.dispatch("insertframe"), b(h))}function f(){C%=w.length;if(!w[C].task()){var a=w[C].taskName;z=z.filter(function(b){b.taskParent==a&&w.push({taskName:b.taskName,task:b.task});return b.taskParent!=a});g.dispatch("killed",w.splice(C--,1)[0])}C++;y=(new Date).getTime()-B;return y<=x}function c(){r=!0;t=C=0;A=B=(new Date).getTime();g.dispatch("start");g.dispatch("insertframe");b(h);return g}function a(){g.dispatch("stop");r=!1;return g}function l(a,b,d){if("function"!=typeof a)throw Error('Task "'+b+'" is not a function');w.push({taskName:b, task:a});r=!(!r&&!(d&&c()||1));return g}function d(a){return a?Object.keys(u).filter(function(a){return!!u[a].on}).length:Object.keys(u).length}function m(){Object.keys(u).length?(g.dispatch("startgenerators"),g.unbind("killed",p),b(function(){for(var a in u)u[a].on=!0,l(u[a].task,a,!1)}),g.bind("killed",p).runTasks()):g.dispatch("stopgenerators");return g}function p(a){void 0!=u[a.content.taskName]&&(u[a.content.taskName].del||!u[a.content.taskName].condition()?delete u[a.content.taskName]:u[a.content.taskName].on= !1,0==d(!0)&&m())}sigma.classes.EventDispatcher.call(this);var g=this,r=!1,n=80,q=0,t=0,v=1E3/n,x=v,y=0,A=0,B=0,D=0,u={},w=[],z=[],C=0;this.frequency=function(a){return void 0!=a?(n=Math.abs(1*a),v=1E3/n,t=0,g):n};this.runTasks=c;this.stopTasks=a;this.insertFrame=b;this.addTask=l;this.queueTask=function(a,b,c){if("function"!=typeof a)throw Error('Task "'+b+'" is not a function');if(!w.concat(z).some(function(a){return a.taskName==c}))throw Error('Parent task "'+c+'" of "'+b+'" is not attached.'); z.push({taskParent:c,taskName:b,task:a});return g};this.removeTask=function(b,c){if(void 0==b)w=[],1==c?z=[]:2==c&&(w=z,z=[]),a();else{var d="string"==typeof b?b:"";w=w.filter(function(a){return("string"==typeof b?a.taskName==b:a.task==b)?(d=a.taskName,!1):!0});0