UNPKG

mermaid

Version:

Markdownish syntax for generating flowcharts, sequence diagrams and gantt charts.

2 lines 339 kB
!function(t){if("object"==typeof exports)module.exports=t();else if("function"==typeof define&&define.amd)define(t);else{var e;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self),e.mermaid=t()}}(function(){var define,module,exports;return function t(e,r,n){function i(o,s){if(!r[o]){if(!e[o]){var u="function"==typeof require&&require;if(!s&&u)return u(o,!0);if(a)return a(o,!0);throw new Error("Cannot find module '"+o+"'")}var c=r[o]={exports:{}};e[o][0].call(c.exports,function(t){var r=e[o][1][t];return i(r?r:t)},c,c.exports,t,e,r,n)}return r[o].exports}for(var a="function"==typeof require&&require,o=0;o<n.length;o++)i(n[o]);return i}({1:[function(t,e){e.exports={graphlib:t("./lib/graphlib"),dagre:t("./lib/dagre"),intersect:t("./lib/intersect"),render:t("./lib/render"),util:t("./lib/util"),version:t("./lib/version")}},{"./lib/dagre":8,"./lib/graphlib":9,"./lib/intersect":10,"./lib/render":25,"./lib/util":27,"./lib/version":28}],2:[function(t,e){function r(t,e,r,n){var i=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),o=i.append("path").attr("d","M 0 0 L 10 5 L 0 10 z").style("stroke-width",1).style("stroke-dasharray","1,0");a.applyStyle(o,r[n+"Style"])}function n(t,e,r,n){var i=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),o=i.append("path").attr("d","M 0 0 L 10 5 L 0 10 L 4 5 z").style("stroke-width",1).style("stroke-dasharray","1,0");a.applyStyle(o,r[n+"Style"])}function i(t,e,r,n){var i=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),o=i.append("path").attr("d","M 0 5 L 10 5").style("stroke-width",1).style("stroke-dasharray","1,0");a.applyStyle(o,r[n+"Style"])}var a=t("./util");e.exports={"default":r,normal:r,vee:n,undirected:i}},{"./util":27}],3:[function(t,e){function r(t,e){var r=e.nodes().filter(function(t){return n.isSubgraph(e,t)}),a=t.selectAll("g.cluster").data(r,function(t){return t});return a.selectAll("*").remove(),a.enter().append("g").attr("class","cluster").attr("id",function(t){var r=e.node(t);return r.id}).style("opacity",0),n.applyTransition(a,e).style("opacity",1),a.each(function(t){var r=e.node(t),n=d3.select(this);d3.select(this).append("rect");var a=n.append("g").attr("class","label");i(a,r,r.clusterLabelPos)}),a.selectAll("rect").each(function(t){var r=e.node(t),i=d3.select(this);n.applyStyle(i,r.style)}),n.applyTransition(a.exit(),e).style("opacity",0).remove(),a}var n=t("./util"),i=t("./label/add-label");e.exports=r},{"./label/add-label":18,"./util":27}],4:[function(t,e){"use strict";function r(t,e){var r=t.selectAll("g.edgeLabel").data(e.edges(),function(t){return a.edgeToId(t)}).classed("update",!0);return r.selectAll("*").remove(),r.enter().append("g").classed("edgeLabel",!0).style("opacity",0),r.each(function(t){var r=e.edge(t),a=i(o.select(this),e.edge(t),0,0).classed("label",!0),s=a.node().getBBox();r.labelId&&a.attr("id",r.labelId),n.has(r,"width")||(r.width=s.width),n.has(r,"height")||(r.height=s.height)}),a.applyTransition(r.exit(),e).style("opacity",0).remove(),r}var n=t("./lodash"),i=t("./label/add-label"),a=t("./util"),o=t("./d3");e.exports=r},{"./d3":7,"./label/add-label":18,"./lodash":21,"./util":27}],5:[function(t,e){"use strict";function r(t,e,r){var i=t.selectAll("g.edgePath").data(e.edges(),function(t){return l.edgeToId(t)}).classed("update",!0);return o(i,e),s(i,e),l.applyTransition(i,e).style("opacity",1),i.each(function(t){var r=h.select(this),n=e.edge(t);n.elem=this,n.id&&r.attr("id",n.id),l.applyClass(r,n["class"],(r.classed("update")?"update ":"")+"edgePath")}),i.selectAll("path.path").each(function(t){var r=e.edge(t);r.arrowheadId=u.uniqueId("arrowhead");var i=h.select(this).attr("marker-end",function(){return"url(#"+r.arrowheadId+")"}).style("fill","none");l.applyTransition(i,e).attr("d",function(t){return n(e,t)}),l.applyStyle(i,r.style)}),i.selectAll("defs *").remove(),i.selectAll("defs").each(function(t){var n=e.edge(t),i=r[n.arrowhead];i(h.select(this),n.arrowheadId,n,"arrowhead")}),i}function n(t,e){var r=t.edge(e),n=t.node(e.v),a=t.node(e.w),o=r.points.slice(1,r.points.length-1);return o.unshift(c(n,o[0])),o.push(c(a,o[o.length-1])),i(r,o)}function i(t,e){var r=h.svg.line().x(function(t){return t.x}).y(function(t){return t.y});return u.has(t,"lineInterpolate")&&r.interpolate(t.lineInterpolate),u.has(t,"lineTension")&&r.tension(Number(t.lineTension)),r(e)}function a(t){var e=t.getBBox(),r=t.getTransformToElement(t.ownerSVGElement).translate(e.width/2,e.height/2);return{x:r.e,y:r.f}}function o(t,e){var r=t.enter().append("g").attr("class","edgePath").style("opacity",0);r.append("path").attr("class","path").attr("d",function(t){var r=e.edge(t),n=e.node(t.v).elem,o=u.range(r.points.length).map(function(){return a(n)});return i(r,o)}),r.append("defs")}function s(t,e){var r=t.exit();l.applyTransition(r,e).style("opacity",0).remove(),l.applyTransition(r.select("path.path"),e).attr("d",function(t){var r=e.node(t.v);if(r){var n=u.range(this.pathSegList.length).map(function(){return r});return i({},n)}return h.select(this).attr("d")})}var u=t("./lodash"),c=t("./intersect/intersect-node"),l=t("./util"),h=t("./d3");e.exports=r},{"./d3":7,"./intersect/intersect-node":14,"./lodash":21,"./util":27}],6:[function(t,e){"use strict";function r(t,e,r){var s=e.nodes().filter(function(t){return!a.isSubgraph(e,t)}),u=t.selectAll("g.node").data(s,function(t){return t}).classed("update",!0);return u.selectAll("*").remove(),u.enter().append("g").attr("class","node").style("opacity",0),u.each(function(t){var s=e.node(t),u=o.select(this),c=u.append("g").attr("class","label"),l=i(c,s),h=r[s.shape],d=n.pick(l.node().getBBox(),"width","height");s.elem=this,s.id&&u.attr("id",s.id),s.labelId&&c.attr("id",s.labelId),a.applyClass(u,s["class"],(u.classed("update")?"update ":"")+"node"),n.has(s,"width")&&(d.width=s.width),n.has(s,"height")&&(d.height=s.height),d.width+=s.paddingLeft+s.paddingRight,d.height+=s.paddingTop+s.paddingBottom,c.attr("transform","translate("+(s.paddingLeft-s.paddingRight)/2+","+(s.paddingTop-s.paddingBottom)/2+")");var f=h(o.select(this),d,s);a.applyStyle(f,s.style);var p=f.node().getBBox();s.width=p.width,s.height=p.height}),a.applyTransition(u.exit(),e).style("opacity",0).remove(),u}var n=t("./lodash"),i=t("./label/add-label"),a=t("./util"),o=t("./d3");e.exports=r},{"./d3":7,"./label/add-label":18,"./lodash":21,"./util":27}],7:[function(t,e){e.exports=window.d3},{}],8:[function(t,e){var r;if(t)try{r=t("dagre")}catch(n){}r||(r=window.dagre),e.exports=r},{dagre:29}],9:[function(t,e){var r;if(t)try{r=t("graphlib")}catch(n){}r||(r=window.graphlib),e.exports=r},{graphlib:59}],10:[function(t,e){e.exports={node:t("./intersect-node"),circle:t("./intersect-circle"),ellipse:t("./intersect-ellipse"),polygon:t("./intersect-polygon"),rect:t("./intersect-rect")}},{"./intersect-circle":11,"./intersect-ellipse":12,"./intersect-node":14,"./intersect-polygon":15,"./intersect-rect":16}],11:[function(t,e){function r(t,e,r){return n(t,e,e,r)}var n=t("./intersect-ellipse");e.exports=r},{"./intersect-ellipse":12}],12:[function(t,e){function r(t,e,r,n){var i=t.x,a=t.y,o=i-n.x,s=a-n.y,u=Math.sqrt(e*e*s*s+r*r*o*o),c=Math.abs(e*r*o/u);n.x<i&&(c=-c);var l=Math.abs(e*r*s/u);return n.y<a&&(l=-l),{x:i+c,y:a+l}}e.exports=r},{}],13:[function(t,e){function r(t,e,r,i){var a,o,s,u,c,l,h,d,f,p,g,y,m,v,b;return a=e.y-t.y,s=t.x-e.x,c=e.x*t.y-t.x*e.y,f=a*r.x+s*r.y+c,p=a*i.x+s*i.y+c,0!==f&&0!==p&&n(f,p)||(o=i.y-r.y,u=r.x-i.x,l=i.x*r.y-r.x*i.y,h=o*t.x+u*t.yy+l,d=o*e.x+u*e.y+l,0!==h&&0!==d&&n(h,d)||(g=a*u-o*s,0===g))?void 0:(y=Math.abs(g/2),m=s*l-u*c,v=0>m?(m-y)/g:(m+y)/g,m=o*c-a*l,b=0>m?(m-y)/g:(m+y)/g,{x:v,y:b})}function n(t,e){return t*e>0}e.exports=r},{}],14:[function(t,e){function r(t,e){return t.intersect(e)}e.exports=r},{}],15:[function(t,e){function r(t,e,r){var i=t.x,a=t.y,o=[],s=Number.POSITIVE_INFINITY,u=Number.POSITIVE_INFINITY;e.forEach(function(t){s=Math.min(s,t.x),u=Math.min(u,t.y)});for(var c=i-t.width/2-s,l=a-t.height/2-u,h=0;h<e.length;h++){var d=e[h],f=e[h<e.length-1?h+1:0],p=n(t,r,{x:c+d.x,y:l+d.y},{x:c+f.x,y:l+f.y});p&&o.push(p)}return o.length?(o.length>1&&o.sort(function(t,e){var n=t.x-r.x,i=t.y-r.y,a=Math.sqrt(n*n+i*i),o=e.x-r.x,s=e.y-r.y,u=Math.sqrt(o*o+s*s);return u>a?-1:a===u?0:1}),o[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",t),t)}var n=t("./intersect-line");e.exports=r},{"./intersect-line":13}],16:[function(t,e){function r(t,e){var r,n,i=t.x,a=t.y,o=e.x-i,s=e.y-a,u=t.width/2,c=t.height/2;return Math.abs(s)*u>Math.abs(o)*c?(0>s&&(c=-c),r=0===s?0:c*o/s,n=c):(0>o&&(u=-u),r=u,n=0===o?0:u*s/o),{x:i+r,y:a+n}}e.exports=r},{}],17:[function(t,e){function r(t,e){var r=t.append("foreignObject").attr("width","100000"),i=r.append("xhtml:div"),a=e.label;switch(typeof a){case"function":i.insert(a);break;case"object":i.insert(function(){return a});break;default:i.html(a)}n.applyStyle(i,e.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var o,s;return i.each(function(){o=this.clientWidth,s=this.clientHeight}),r.attr("width",o).attr("height",s),r}var n=t("../util");e.exports=r},{"../util":27}],18:[function(t,e){function r(t,e,r){var o=e.label,s=t.append("g");"svg"===e.labelType?a(s,e):"string"!=typeof o||"html"===e.labelType?i(s,e):n(s,e);var u,c=s.node().getBBox();switch(r){case"top":u=-e.height/2;break;case"bottom":u=e.height/2-c.height;break;default:u=-c.height/2}return s.attr("transform","translate("+-c.width/2+","+u+")"),s}var n=t("./add-text-label"),i=t("./add-html-label"),a=t("./add-svg-label");e.exports=r},{"./add-html-label":17,"./add-svg-label":19,"./add-text-label":20}],19:[function(t,e){function r(t,e){var r=t;return r.node().appendChild(e.label),n.applyStyle(r,e.labelStyle),r}var n=t("../util");e.exports=r},{"../util":27}],20:[function(t,e){function r(t,e){for(var r=t.append("text"),a=n(e.label).split("\n"),o=0;o<a.length;o++)r.append("tspan").attr("xml:space","preserve").attr("dy","1em").attr("x","1").text(a[o]);return i.applyStyle(r,e.labelStyle),r}function n(t){for(var e,r="",n=!1,i=0;i<t.length;++i)if(e=t[i],n){switch(e){case"n":r+="\n";break;default:r+=e}n=!1}else"\\"===e?n=!0:r+=e;return r}var i=t("../util");e.exports=r},{"../util":27}],21:[function(t,e){var r;if(t)try{r=t("lodash")}catch(n){}r||(r=window._),e.exports=r},{lodash:79}],22:[function(t,e){"use strict";function r(t,e){function r(t){var r=e.node(t);return"translate("+r.x+","+r.y+")"}var a=t.filter(function(){return!i.select(this).classed("update")});a.attr("transform",r),n.applyTransition(t,e).style("opacity",1).attr("transform",r),n.applyTransition(a.selectAll("rect"),e).attr("width",function(t){return e.node(t).width}).attr("height",function(t){return e.node(t).height}).attr("x",function(t){var r=e.node(t);return-r.width/2}).attr("y",function(t){var r=e.node(t);return-r.height/2})}var n=t("./util"),i=t("./d3");e.exports=r},{"./d3":7,"./util":27}],23:[function(t,e){"use strict";function r(t,e){function r(t){var r=e.edge(t);return a.has(r,"x")?"translate("+r.x+","+r.y+")":""}var o=t.filter(function(){return!i.select(this).classed("update")});o.attr("transform",r),n.applyTransition(t,e).style("opacity",1).attr("transform",r)}var n=t("./util"),i=t("./d3"),a=t("./lodash");e.exports=r},{"./d3":7,"./lodash":21,"./util":27}],24:[function(t,e){"use strict";function r(t,e){function r(t){var r=e.node(t);return"translate("+r.x+","+r.y+")"}var a=t.filter(function(){return!i.select(this).classed("update")});a.attr("transform",r),n.applyTransition(t,e).style("opacity",1).attr("transform",r)}var n=t("./util"),i=t("./d3");e.exports=r},{"./d3":7,"./util":27}],25:[function(t,e){function r(){var e=t("./create-nodes"),r=t("./create-clusters"),o=t("./create-edge-labels"),u=t("./create-edge-paths"),c=t("./position-nodes"),l=t("./position-edge-labels"),h=t("./position-clusters"),d=t("./shapes"),f=t("./arrows"),p=function(t,p){n(p);var g=a(t,"output"),y=a(g,"clusters"),m=a(g,"edgePaths"),v=o(a(g,"edgeLabels"),p),b=e(a(g,"nodes"),p,d);s(p),c(b,p),l(v,p),u(m,p,f);var _=r(y,p);h(_,p),i(p)};return p.createNodes=function(t){return arguments.length?(e=t,p):e},p.createClusters=function(t){return arguments.length?(r=t,p):r},p.createEdgeLabels=function(t){return arguments.length?(o=t,p):o},p.createEdgePaths=function(t){return arguments.length?(u=t,p):u},p.shapes=function(t){return arguments.length?(d=t,p):d},p.arrows=function(t){return arguments.length?(f=t,p):f},p}function n(t){t.nodes().forEach(function(e){var r=t.node(e);o.has(r,"label")||t.children(e).length||(r.label=e),o.has(r,"paddingX")&&o.defaults(r,{paddingLeft:r.paddingX,paddingRight:r.paddingX}),o.has(r,"paddingY")&&o.defaults(r,{paddingTop:r.paddingY,paddingBottom:r.paddingY}),o.has(r,"padding")&&o.defaults(r,{paddingLeft:r.padding,paddingRight:r.padding,paddingTop:r.padding,paddingBottom:r.padding}),o.defaults(r,u),o.each(["paddingLeft","paddingRight","paddingTop","paddingBottom"],function(t){r[t]=Number(r[t])}),o.has(r,"width")&&(r._prevWidth=r.width),o.has(r,"height")&&(r._prevHeight=r.height)}),t.edges().forEach(function(e){var r=t.edge(e);o.has(r,"label")||(r.label=""),o.defaults(r,c)})}function i(t){o.each(t.nodes(),function(e){var r=t.node(e);o.has(r,"_prevWidth")?r.width=r._prevWidth:delete r.width,o.has(r,"_prevHeight")?r.height=r._prevHeight:delete r.height,delete r._prevWidth,delete r._prevHeight})}function a(t,e){var r=t.select("g."+e);return r.empty()&&(r=t.append("g").attr("class",e)),r}var o=t("./lodash"),s=t("./dagre").layout;e.exports=r;var u={paddingLeft:10,paddingRight:10,paddingTop:10,paddingBottom:10,rx:0,ry:0,shape:"rect"},c={arrowhead:"normal",lineInterpolate:"linear"}},{"./arrows":2,"./create-clusters":3,"./create-edge-labels":4,"./create-edge-paths":5,"./create-nodes":6,"./dagre":8,"./lodash":21,"./position-clusters":22,"./position-edge-labels":23,"./position-nodes":24,"./shapes":26}],26:[function(t,e){"use strict";function r(t,e,r){var n=t.insert("rect",":first-child").attr("rx",r.rx).attr("ry",r.ry).attr("x",-e.width/2).attr("y",-e.height/2).attr("width",e.width).attr("height",e.height);return r.intersect=function(t){return o(r,t)},n}function n(t,e,r){var n=e.width/2,i=e.height/2,a=t.insert("ellipse",":first-child").attr("x",-e.width/2).attr("y",-e.height/2).attr("rx",n).attr("ry",i);return r.intersect=function(t){return s(r,n,i,t)},a}function i(t,e,r){var n=Math.max(e.width,e.height)/2,i=t.insert("circle",":first-child").attr("x",-e.width/2).attr("y",-e.height/2).attr("r",n);return r.intersect=function(t){return u(r,n,t)},i}function a(t,e,r){var n=e.width*Math.SQRT2/2,i=e.height*Math.SQRT2/2,a=[{x:0,y:-i},{x:-n,y:0},{x:0,y:i},{x:n,y:0}],o=t.insert("polygon",":first-child").attr("points",a.map(function(t){return t.x+","+t.y}).join(" "));return r.intersect=function(t){return c(r,a,t)},o}var o=t("./intersect/intersect-rect"),s=t("./intersect/intersect-ellipse"),u=t("./intersect/intersect-circle"),c=t("./intersect/intersect-polygon");e.exports={rect:r,ellipse:n,circle:i,diamond:a}},{"./intersect/intersect-circle":11,"./intersect/intersect-ellipse":12,"./intersect/intersect-polygon":15,"./intersect/intersect-rect":16}],27:[function(t,e){function r(t,e){return!!t.children(e).length}function n(t){return i(t.v)+":"+i(t.w)+":"+i(t.name)}function i(t){return t?String(t).replace(c,"\\:"):""}function a(t,e){e&&t.attr("style",e)}function o(t,e,r){e&&t.attr("class",e).attr("class",r+" "+t.attr("class"))}function s(t,e){var r=e.graph();if(u.isPlainObject(r)){var n=r.transition;if(u.isFunction(n))return n(t)}return t}var u=t("./lodash");e.exports={isSubgraph:r,edgeToId:n,applyStyle:a,applyClass:o,applyTransition:s};var c=/:/g},{"./lodash":21}],28:[function(t,e){e.exports="0.4.10"},{}],29:[function(t,e){e.exports={graphlib:t("./lib/graphlib"),layout:t("./lib/layout"),debug:t("./lib/debug"),util:{time:t("./lib/util").time,notime:t("./lib/util").notime},version:t("./lib/version")}},{"./lib/debug":34,"./lib/graphlib":35,"./lib/layout":37,"./lib/util":57,"./lib/version":58}],30:[function(t,e){"use strict";function r(t){function e(t){return function(e){return t.edge(e).weight}}var r="greedy"===t.graph().acyclicer?o(t,e(t)):n(t);a.each(r,function(e){var r=t.edge(e);t.removeEdge(e),r.forwardName=e.name,r.reversed=!0,t.setEdge(e.w,e.v,r,a.uniqueId("rev"))})}function n(t){function e(o){a.has(i,o)||(i[o]=!0,n[o]=!0,a.each(t.outEdges(o),function(t){a.has(n,t.w)?r.push(t):e(t.w)}),delete n[o])}var r=[],n={},i={};return a.each(t.nodes(),e),r}function i(t){a.each(t.edges(),function(e){var r=t.edge(e);if(r.reversed){t.removeEdge(e);var n=r.forwardName;delete r.reversed,delete r.forwardName,t.setEdge(e.w,e.v,r,n)}})}var a=t("./lodash"),o=t("./greedy-fas");e.exports={run:r,undo:i}},{"./greedy-fas":36,"./lodash":38}],31:[function(t,e){function r(t){function e(r){var a=t.children(r),o=t.node(r);if(a.length&&i.each(a,e),i.has(o,"minRank")){o.borderLeft=[],o.borderRight=[];for(var s=o.minRank,u=o.maxRank+1;u>s;++s)n(t,"borderLeft","_bl",r,o,s),n(t,"borderRight","_br",r,o,s)}}i.each(t.children(),e)}function n(t,e,r,n,i,o){var s={width:0,height:0,rank:o,borderType:e},u=i[e][o-1],c=a.addDummyNode(t,"border",s,r);i[e][o]=c,t.setParent(c,n),u&&t.setEdge(u,c,{weight:1})}var i=t("./lodash"),a=t("./util");e.exports=r},{"./lodash":38,"./util":57}],32:[function(t,e){"use strict";function r(t){var e=t.graph().rankdir.toLowerCase();("lr"===e||"rl"===e)&&i(t)}function n(t){var e=t.graph().rankdir.toLowerCase();("bt"===e||"rl"===e)&&o(t),("lr"===e||"rl"===e)&&(u(t),i(t))}function i(t){l.each(t.nodes(),function(e){a(t.node(e))}),l.each(t.edges(),function(e){a(t.edge(e))})}function a(t){var e=t.width;t.width=t.height,t.height=e}function o(t){l.each(t.nodes(),function(e){s(t.node(e))}),l.each(t.edges(),function(e){var r=t.edge(e);l.each(r.points,s),l.has(r,"y")&&s(r)})}function s(t){t.y=-t.y}function u(t){l.each(t.nodes(),function(e){c(t.node(e))}),l.each(t.edges(),function(e){var r=t.edge(e);l.each(r.points,c),l.has(r,"x")&&c(r)})}function c(t){var e=t.x;t.x=t.y,t.y=e}var l=t("./lodash");e.exports={adjust:r,undo:n}},{"./lodash":38}],33:[function(t,e){function r(){var t={};t._next=t._prev=t,this._sentinel=t}function n(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function i(t,e){return"_next"!==t&&"_prev"!==t?e:void 0}e.exports=r,r.prototype.dequeue=function(){var t=this._sentinel,e=t._prev;return e!==t?(n(e),e):void 0},r.prototype.enqueue=function(t){var e=this._sentinel;t._prev&&t._next&&n(t),t._next=e._next,e._next._prev=t,e._next=t,t._prev=e},r.prototype.toString=function(){for(var t=[],e=this._sentinel,r=e._prev;r!==e;)t.push(JSON.stringify(r,i)),r=r._prev;return"["+t.join(", ")+"]"}},{}],34:[function(t,e){function r(t){var e=i.buildLayerMatrix(t),r=new a({compound:!0,multigraph:!0}).setGraph({});return n.each(t.nodes(),function(e){r.setNode(e,{label:e}),r.setParent(e,"layer"+t.node(e).rank)}),n.each(t.edges(),function(t){r.setEdge(t.v,t.w,{},t.name)}),n.each(e,function(t,e){var i="layer"+e;r.setNode(i,{rank:"same"}),n.reduce(t,function(t,e){return r.setEdge(t,e,{style:"invis"}),e})}),r}var n=t("./lodash"),i=t("./util"),a=t("./graphlib").Graph;e.exports={debugOrdering:r}},{"./graphlib":35,"./lodash":38,"./util":57}],35:[function(t,e){var r;if("function"==typeof t)try{r=t("graphlib")}catch(n){}r||(r=window.graphlib),e.exports=r},{graphlib:59}],36:[function(t,e){function r(t,e){if(t.nodeCount()<=1)return[];var r=a(t,e||l),i=n(r.graph,r.buckets,r.zeroIdx);return s.flatten(s.map(i,function(e){return t.outEdges(e.v,e.w)}),!0)}function n(t,e,r){for(var n,a=[],o=e[e.length-1],s=e[0];t.nodeCount();){for(;n=s.dequeue();)i(t,e,r,n);for(;n=o.dequeue();)i(t,e,r,n);if(t.nodeCount())for(var u=e.length-2;u>0;--u)if(n=e[u].dequeue()){a=a.concat(i(t,e,r,n,!0));break}}return a}function i(t,e,r,n,i){var a=i?[]:void 0;return s.each(t.inEdges(n.v),function(n){var s=t.edge(n),u=t.node(n.v);i&&a.push({v:n.v,w:n.w}),u.out-=s,o(e,r,u)}),s.each(t.outEdges(n.v),function(n){var i=t.edge(n),a=n.w,s=t.node(a);s["in"]-=i,o(e,r,s)}),t.removeNode(n.v),a}function a(t,e){var r=new u,n=0,i=0;s.each(t.nodes(),function(t){r.setNode(t,{v:t,"in":0,out:0})}),s.each(t.edges(),function(t){var a=r.edge(t.v,t.w)||0,o=e(t),s=a+o;r.setEdge(t.v,t.w,s),i=Math.max(i,r.node(t.v).out+=o),n=Math.max(n,r.node(t.w)["in"]+=o)});var a=s.range(i+n+3).map(function(){return new c}),l=n+1;return s.each(r.nodes(),function(t){o(a,l,r.node(t))}),{graph:r,buckets:a,zeroIdx:l}}function o(t,e,r){r.out?r["in"]?t[r.out-r["in"]+e].enqueue(r):t[t.length-1].enqueue(r):t[0].enqueue(r)}var s=t("./lodash"),u=t("./graphlib").Graph,c=t("./data/list");e.exports=r;var l=s.constant(1)},{"./data/list":33,"./graphlib":35,"./lodash":38}],37:[function(t,e){"use strict";function r(t,e){var r=e&&e.debugTiming?L.time:L.notime;r("layout",function(){var e=r(" buildLayoutGraph",function(){return a(t)});r(" runLayout",function(){n(e,r)}),r(" updateInputGraph",function(){i(t,e)})})}function n(t,e){e(" makeSpaceForEdgeLabels",function(){o(t)}),e(" removeSelfEdges",function(){g(t)}),e(" acyclic",function(){w.run(t)}),e(" nestingGraph.run",function(){C.run(t)}),e(" rank",function(){A(L.asNonCompoundGraph(t))}),e(" injectEdgeLabelProxies",function(){s(t)}),e(" removeEmptyRanks",function(){D(t)}),e(" nestingGraph.cleanup",function(){C.cleanup(t)}),e(" normalizeRanks",function(){k(t)}),e(" assignRankMinMax",function(){u(t)}),e(" removeEdgeLabelProxies",function(){c(t)}),e(" normalize.run",function(){x.run(t)}),e(" parentDummyChains",function(){E(t)}),e(" addBorderSegments",function(){T(t)}),e(" order",function(){F(t)}),e(" insertSelfEdges",function(){y(t)}),e(" adjustCoordinateSystem",function(){S.adjust(t)}),e(" position",function(){B(t)}),e(" positionSelfEdges",function(){m(t)}),e(" removeBorderNodes",function(){p(t)}),e(" normalize.undo",function(){x.undo(t)}),e(" fixupEdgeLabelCoords",function(){d(t)}),e(" undoCoordinateSystem",function(){S.undo(t)}),e(" translateGraph",function(){l(t)}),e(" assignNodeIntersects",function(){h(t)}),e(" reversePoints",function(){f(t)}),e(" acyclic.undo",function(){w.undo(t)})}function i(t,e){_.each(t.nodes(),function(r){var n=t.node(r),i=e.node(r);n&&(n.x=i.x,n.y=i.y,e.children(r).length&&(n.width=i.width,n.height=i.height))}),_.each(t.edges(),function(r){var n=t.edge(r),i=e.edge(r);n.points=i.points,_.has(i,"x")&&(n.x=i.x,n.y=i.y)}),t.graph().width=e.graph().width,t.graph().height=e.graph().height}function a(t){var e=new O({multigraph:!0,compound:!0}),r=b(t.graph());return e.setGraph(_.merge({},N,v(r,I),_.pick(r,M))),_.each(t.nodes(),function(r){var n=b(t.node(r));e.setNode(r,_.defaults(v(n,R),P)),e.setParent(r,t.parent(r))}),_.each(t.edges(),function(r){var n=b(t.edge(r));e.setEdge(r,_.merge({},Y,v(n,q),_.pick(n,U)))}),e}function o(t){var e=t.graph();e.ranksep/=2,_.each(t.edges(),function(r){var n=t.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===e.rankdir||"BT"===e.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function s(t){_.each(t.edges(),function(e){var r=t.edge(e);if(r.width&&r.height){var n=t.node(e.v),i=t.node(e.w),a={rank:(i.rank-n.rank)/2+n.rank,e:e};L.addDummyNode(t,"edge-proxy",a,"_ep")}})}function u(t){var e=0;_.each(t.nodes(),function(r){var n=t.node(r);n.borderTop&&(n.minRank=t.node(n.borderTop).rank,n.maxRank=t.node(n.borderBottom).rank,e=_.max(e,n.maxRank))}),t.graph().maxRank=e}function c(t){_.each(t.nodes(),function(e){var r=t.node(e);"edge-proxy"===r.dummy&&(t.edge(r.e).labelRank=r.rank,t.removeNode(e))})}function l(t){function e(t){var e=t.x,o=t.y,s=t.width,u=t.height;r=Math.min(r,e-s/2),n=Math.max(n,e+s/2),i=Math.min(i,o-u/2),a=Math.max(a,o+u/2)}var r=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,a=0,o=t.graph(),s=o.marginx||0,u=o.marginy||0;_.each(t.nodes(),function(r){e(t.node(r))}),_.each(t.edges(),function(r){var n=t.edge(r);_.has(n,"x")&&e(n)}),r-=s,i-=u,_.each(t.nodes(),function(e){var n=t.node(e);n.x-=r,n.y-=i}),_.each(t.edges(),function(e){var n=t.edge(e);_.each(n.points,function(t){t.x-=r,t.y-=i}),_.has(n,"x")&&(n.x-=r),_.has(n,"y")&&(n.y-=i)}),o.width=n-r+s,o.height=a-i+u}function h(t){_.each(t.edges(),function(e){var r,n,i=t.edge(e),a=t.node(e.v),o=t.node(e.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=o,n=a),i.points.unshift(L.intersectRect(a,r)),i.points.push(L.intersectRect(o,n))})}function d(t){_.each(t.edges(),function(e){var r=t.edge(e);if(_.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}function f(t){_.each(t.edges(),function(e){var r=t.edge(e);r.reversed&&r.points.reverse()})}function p(t){_.each(t.nodes(),function(e){if(t.children(e).length){var r=t.node(e),n=t.node(r.borderTop),i=t.node(r.borderBottom),a=t.node(_.last(r.borderLeft)),o=t.node(_.last(r.borderRight));r.width=Math.abs(o.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),_.each(t.nodes(),function(e){"border"===t.node(e).dummy&&t.removeNode(e)})}function g(t){_.each(t.edges(),function(e){if(e.v===e.w){var r=t.node(e.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:e,label:t.edge(e)}),t.removeEdge(e)}})}function y(t){var e=L.buildLayerMatrix(t);_.each(e,function(e){var r=0;_.each(e,function(e,n){var i=t.node(e);i.order=n+r,_.each(i.selfEdges,function(e){L.addDummyNode(t,"selfedge",{width:e.label.width,height:e.label.height,rank:i.rank,order:n+ ++r,e:e.e,label:e.label},"_se")}),delete i.selfEdges})})}function m(t){_.each(t.nodes(),function(e){var r=t.node(e);if("selfedge"===r.dummy){var n=t.node(r.e.v),i=n.x+n.width/2,a=n.y,o=r.x-i,s=n.height/2;t.setEdge(r.e,r.label),t.removeNode(e),r.label.points=[{x:i+2*o/3,y:a-s},{x:i+5*o/6,y:a-s},{x:i+o,y:a},{x:i+5*o/6,y:a+s},{x:i+2*o/3,y:a+s}],r.label.x=r.x,r.label.y=r.y}})}function v(t,e){return _.mapValues(_.pick(t,e),Number)}function b(t){var e={};return _.each(t,function(t,r){e[r.toLowerCase()]=t}),e}var _=t("./lodash"),w=t("./acyclic"),x=t("./normalize"),A=t("./rank"),k=t("./util").normalizeRanks,E=t("./parent-dummy-chains"),D=t("./util").removeEmptyRanks,C=t("./nesting-graph"),T=t("./add-border-segments"),S=t("./coordinate-system"),F=t("./order"),B=t("./position"),L=t("./util"),O=t("./graphlib").Graph;e.exports=r;var I=["nodesep","edgesep","ranksep","marginx","marginy"],N={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},M=["acyclicer","ranker","rankdir","align"],R=["width","height"],P={width:0,height:0},q=["minlen","weight","width","height","labeloffset"],Y={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},U=["labelpos"]},{"./acyclic":30,"./add-border-segments":31,"./coordinate-system":32,"./graphlib":35,"./lodash":38,"./nesting-graph":39,"./normalize":40,"./order":45,"./parent-dummy-chains":50,"./position":52,"./rank":54,"./util":57}],38:[function(t,e){var r;if("function"==typeof t)try{r=t("lodash")}catch(n){}r||(r=window._),e.exports=r},{lodash:79}],39:[function(t,e){function r(t){var e=u.addDummyNode(t,"root",{},"_root"),r=i(t),o=s.max(r)-1,c=2*o+1;t.graph().nestingRoot=e,s.each(t.edges(),function(e){t.edge(e).minlen*=c});var l=a(t)+1;s.each(t.children(),function(i){n(t,e,c,l,o,r,i)}),t.graph().nodeRankFactor=c}function n(t,e,r,i,a,o,c){var l=t.children(c);if(!l.length)return void(c!==e&&t.setEdge(e,c,{weight:0,minlen:r}));var h=u.addBorderNode(t,"_bt"),d=u.addBorderNode(t,"_bb"),f=t.node(c);t.setParent(h,c),f.borderTop=h,t.setParent(d,c),f.borderBottom=d,s.each(l,function(s){n(t,e,r,i,a,o,s);var u=t.node(s),l=u.borderTop?u.borderTop:s,f=u.borderBottom?u.borderBottom:s,p=u.borderTop?i:2*i,g=l!==f?1:a-o[c]+1;t.setEdge(h,l,{weight:p,minlen:g,nestingEdge:!0}),t.setEdge(f,d,{weight:p,minlen:g,nestingEdge:!0})}),t.parent(c)||t.setEdge(e,h,{weight:0,minlen:a+o[c]})}function i(t){function e(n,i){var a=t.children(n);a&&a.length&&s.each(a,function(t){e(t,i+1)}),r[n]=i}var r={};return s.each(t.children(),function(t){e(t,1)}),r}function a(t){return s.reduce(t.edges(),function(e,r){return e+t.edge(r).weight},0)}function o(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,s.each(t.edges(),function(e){var r=t.edge(e);r.nestingEdge&&t.removeEdge(e)})}var s=t("./lodash"),u=t("./util");e.exports={run:r,cleanup:o}},{"./lodash":38,"./util":57}],40:[function(t,e){"use strict";function r(t){t.graph().dummyChains=[],a.each(t.edges(),function(e){n(t,e)})}function n(t,e){var r=e.v,n=t.node(r).rank,i=e.w,a=t.node(i).rank,s=e.name,u=t.edge(e),c=u.labelRank;if(a!==n+1){t.removeEdge(e);var l,h,d;for(d=0,++n;a>n;++d,++n)u.points=[],h={width:0,height:0,edgeLabel:u,edgeObj:e,rank:n},l=o.addDummyNode(t,"edge",h,"_d"),n===c&&(h.width=u.width,h.height=u.height,h.dummy="edge-label",h.labelpos=u.labelpos),t.setEdge(r,l,{weight:u.weight},s),0===d&&t.graph().dummyChains.push(l),r=l;t.setEdge(r,i,{weight:u.weight},s)}}function i(t){a.each(t.graph().dummyChains,function(e){var r,n=t.node(e),i=n.edgeLabel;for(t.setEdge(n.edgeObj,i);n.dummy;)r=t.successors(e)[0],t.removeNode(e),i.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),e=r,n=t.node(e)})}var a=t("./lodash"),o=t("./util");e.exports={run:r,undo:i}},{"./lodash":38,"./util":57}],41:[function(t,e){function r(t,e,r){var i,a={};n.each(r,function(r){for(var n,o,s=t.parent(r);s;){if(n=t.parent(s),n?(o=a[n],a[n]=s):(o=i,i=s),o&&o!==s)return void e.setEdge(o,s);s=n}})}var n=t("../lodash");e.exports=r},{"../lodash":38}],42:[function(t,e){function r(t,e){return n.map(e,function(e){var r=t.inEdges(e);if(r.length){var i=n.reduce(r,function(e,r){var n=t.edge(r),i=t.node(r.v);return{sum:e.sum+n.weight*i.order,weight:e.weight+n.weight}},{sum:0,weight:0});return{v:e,barycenter:i.sum/i.weight,weight:i.weight}}return{v:e}})}var n=t("../lodash");e.exports=r},{"../lodash":38}],43:[function(t,e){function r(t,e,r){var o=n(t),s=new a({compound:!0}).setGraph({root:o}).setDefaultNodeLabel(function(e){return t.node(e)});return i.each(t.nodes(),function(n){var a=t.node(n),u=t.parent(n);(a.rank===e||a.minRank<=e&&e<=a.maxRank)&&(s.setNode(n),s.setParent(n,u||o),i.each(t[r](n),function(e){var r=e.v===n?e.w:e.v,a=s.edge(r,n),o=i.isUndefined(a)?0:a.weight;s.setEdge(r,n,{weight:t.edge(e).weight+o})}),i.has(a,"minRank")&&s.setNode(n,{borderLeft:a.borderLeft[e],borderRight:a.borderRight[e]}))}),s}function n(t){for(var e;t.hasNode(e=i.uniqueId("_root")););return e}var i=t("../lodash"),a=t("../graphlib").Graph;e.exports=r},{"../graphlib":35,"../lodash":38}],44:[function(t,e){"use strict";function r(t,e){for(var r=0,i=1;i<e.length;++i)r+=n(t,e[i-1],e[i]);return r}function n(t,e,r){for(var n=i.zipObject(r,i.map(r,function(t,e){return e})),a=i.flatten(i.map(e,function(e){return i.chain(t.outEdges(e)).map(function(e){return{pos:n[e.w],weight:t.edge(e).weight}}).sortBy("pos").value()}),!0),o=1;o<r.length;)o<<=1;var s=2*o-1;o-=1;var u=i.map(new Array(s),function(){return 0}),c=0;return i.each(a.forEach(function(t){var e=t.pos+o;u[e]+=t.weight;for(var r=0;e>0;)e%2&&(r+=u[e+1]),e=e-1>>1,u[e]+=t.weight;c+=t.weight*r})),c}var i=t("../lodash");e.exports=r},{"../lodash":38}],45:[function(t,e){"use strict";function r(t){var e=f.maxRank(t),r=n(t,o.range(1,e+1),"inEdges"),c=n(t,o.range(e-1,-1,-1),"outEdges"),l=s(t);a(t,l);for(var h,d=Number.POSITIVE_INFINITY,p=0,g=0;4>g;++p,++g){i(p%2?r:c,p%4>=2),l=f.buildLayerMatrix(t);var y=u(t,l);d>y&&(g=0,h=o.cloneDeep(l),d=y)}a(t,h)}function n(t,e,r){return o.map(e,function(e){return l(t,e,r)})}function i(t,e){var r=new d;o.each(t,function(t){var n=t.graph().root,i=c(t,n,r,e);o.each(i.vs,function(e,r){t.node(e).order=r}),h(t,r,i.vs)})}function a(t,e){o.each(e,function(e){o.each(e,function(e,r){t.node(e).order=r })})}var o=t("../lodash"),s=t("./init-order"),u=t("./cross-count"),c=t("./sort-subgraph"),l=t("./build-layer-graph"),h=t("./add-subgraph-constraints"),d=t("../graphlib").Graph,f=t("../util");e.exports=r},{"../graphlib":35,"../lodash":38,"../util":57,"./add-subgraph-constraints":41,"./build-layer-graph":43,"./cross-count":44,"./init-order":46,"./sort-subgraph":48}],46:[function(t,e){"use strict";function r(t){function e(i){if(!n.has(r,i)){r[i]=!0;var a=t.node(i);o[a.rank].push(i),n.each(t.successors(i),e)}}var r={},i=n.filter(t.nodes(),function(e){return!t.children(e).length}),a=n.max(n.map(i,function(e){return t.node(e).rank})),o=n.map(n.range(a+1),function(){return[]}),s=n.sortBy(i,function(e){return t.node(e).rank});return n.each(s,e),o}var n=t("../lodash");e.exports=r},{"../lodash":38}],47:[function(t,e){"use strict";function r(t,e){var r={};a.each(t,function(t,e){var n=r[t.v]={indegree:0,"in":[],out:[],vs:[t.v],i:e};a.isUndefined(t.barycenter)||(n.barycenter=t.barycenter,n.weight=t.weight)}),a.each(e.edges(),function(t){var e=r[t.v],n=r[t.w];a.isUndefined(e)||a.isUndefined(n)||(n.indegree++,e.out.push(r[t.w]))});var i=a.filter(r,function(t){return!t.indegree});return n(i)}function n(t){function e(t){return function(e){e.merged||(a.isUndefined(e.barycenter)||a.isUndefined(t.barycenter)||e.barycenter>=t.barycenter)&&i(t,e)}}function r(e){return function(r){r["in"].push(e),0===--r.indegree&&t.push(r)}}for(var n=[];t.length;){var o=t.pop();n.push(o),a.each(o["in"].reverse(),e(o)),a.each(o.out,r(o))}return a.chain(n).filter(function(t){return!t.merged}).map(function(t){return a.pick(t,["vs","i","barycenter","weight"])}).value()}function i(t,e){var r=0,n=0;t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.vs=e.vs.concat(t.vs),t.barycenter=r/n,t.weight=n,t.i=Math.min(e.i,t.i),e.merged=!0}var a=t("../lodash");e.exports=r},{"../lodash":38}],48:[function(t,e){function r(t,e,c,l){var h=t.children(e),d=t.node(e),f=d?d.borderLeft:void 0,p=d?d.borderRight:void 0,g={};f&&(h=a.filter(h,function(t){return t!==f&&t!==p}));var y=o(t,h);a.each(y,function(e){if(t.children(e.v).length){var n=r(t,e.v,c,l);g[e.v]=n,a.has(n,"barycenter")&&i(e,n)}});var m=s(y,c);n(m,g);var v=u(m,l);if(f&&(v.vs=a.flatten([f,v.vs,p],!0),t.predecessors(f).length)){var b=t.node(t.predecessors(f)[0]),_=t.node(t.predecessors(p)[0]);a.has(v,"barycenter")||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+b.order+_.order)/(v.weight+2),v.weight+=2}return v}function n(t,e){a.each(t,function(t){t.vs=a.flatten(t.vs.map(function(t){return e[t]?e[t].vs:t}),!0)})}function i(t,e){a.isUndefined(t.barycenter)?(t.barycenter=e.barycenter,t.weight=e.weight):(t.barycenter=(t.barycenter*t.weight+e.barycenter*e.weight)/(t.weight+e.weight),t.weight+=e.weight)}var a=t("../lodash"),o=t("./barycenter"),s=t("./resolve-conflicts"),u=t("./sort");e.exports=r},{"../lodash":38,"./barycenter":42,"./resolve-conflicts":47,"./sort":49}],49:[function(t,e){function r(t,e){var r=o.partition(t,function(t){return a.has(t,"barycenter")}),s=r.lhs,u=a.sortBy(r.rhs,function(t){return-t.i}),c=[],l=0,h=0,d=0;s.sort(i(!!e)),d=n(c,u,d),a.each(s,function(t){d+=t.vs.length,c.push(t.vs),l+=t.barycenter*t.weight,h+=t.weight,d=n(c,u,d)});var f={vs:a.flatten(c,!0)};return h&&(f.barycenter=l/h,f.weight=h),f}function n(t,e,r){for(var n;e.length&&(n=a.last(e)).i<=r;)e.pop(),t.push(n.vs),r++;return r}function i(t){return function(e,r){return e.barycenter<r.barycenter?-1:e.barycenter>r.barycenter?1:t?r.i-e.i:e.i-r.i}}var a=t("../lodash"),o=t("../util");e.exports=r},{"../lodash":38,"../util":57}],50:[function(t,e){function r(t){var e=i(t);a.each(t.graph().dummyChains,function(r){for(var i=t.node(r),a=i.edgeObj,o=n(t,e,a.v,a.w),s=o.path,u=o.lca,c=0,l=s[c],h=!0;r!==a.w;){if(i=t.node(r),h){for(;(l=s[c])!==u&&t.node(l).maxRank<i.rank;)c++;l===u&&(h=!1)}if(!h){for(;c<s.length-1&&t.node(l=s[c+1]).minRank<=i.rank;)c++;l=s[c]}t.setParent(r,l),r=t.successors(r)[0]}})}function n(t,e,r,n){var i,a,o=[],s=[],u=Math.min(e[r].low,e[n].low),c=Math.max(e[r].lim,e[n].lim);i=r;do i=t.parent(i),o.push(i);while(i&&(e[i].low>u||c>e[i].lim));for(a=i,i=n;(i=t.parent(i))!==a;)s.push(i);return{path:o.concat(s.reverse()),lca:a}}function i(t){function e(i){var o=n;a.each(t.children(i),e),r[i]={low:o,lim:n++}}var r={},n=0;return a.each(t.children(),e),r}var a=t("./lodash");e.exports=r},{"./lodash":38}],51:[function(t,e){"use strict";function r(t,e){function r(e,r){var o=0,s=0,u=e.length,c=y.last(r);return y.each(r,function(e,l){var h=i(t,e),d=h?t.node(h).order:u;(h||e===c)&&(y.each(r.slice(s,l+1),function(e){y.each(t.predecessors(e),function(r){var i=t.node(r),s=i.order;!(o>s||s>d)||i.dummy&&t.node(e).dummy||a(n,r,e)})}),s=l+1,o=d)}),r}var n={};return y.reduce(e,r),n}function n(t,e){function r(e,r,n,o,s){var u;y.each(y.range(r,n),function(r){u=e[r],t.node(u).dummy&&y.each(t.predecessors(u),function(e){var r=t.node(e);r.dummy&&(r.order<o||r.order>s)&&a(i,e,u)})})}function n(e,n){var i,a=-1,o=0;return y.each(n,function(s,u){if("border"===t.node(s).dummy){var c=t.predecessors(s);c.length&&(i=t.node(c[0]).order,r(n,o,u,a,i),o=u,a=i)}r(n,o,n.length,i,e.length)}),n}var i={};return y.reduce(e,n),i}function i(t,e){return t.node(e).dummy?y.find(t.predecessors(e),function(e){return t.node(e).dummy}):void 0}function a(t,e,r){if(e>r){var n=e;e=r,r=n}var i=t[e];i||(t[e]=i={}),i[r]=!0}function o(t,e,r){if(e>r){var n=e;e=r,r=n}return y.has(t[e],r)}function s(t,e,r,n){var i={},a={},s={};return y.each(e,function(t){y.each(t,function(t,e){i[t]=t,a[t]=t,s[t]=e})}),y.each(e,function(t){var e=-1;y.each(t,function(t){var u=n(t);if(u.length){u=y.sortBy(u,function(t){return s[t]});for(var c=(u.length-1)/2,l=Math.floor(c),h=Math.ceil(c);h>=l;++l){var d=u[l];a[t]===t&&e<s[d]&&!o(r,t,d)&&(a[d]=t,a[t]=i[t]=i[d],e=s[d])}}})}),{root:i,align:a}}function u(t,e,r,n,i){function a(t){y.has(l,t)||(l[t]=!0,s[t]=y.reduce(u.inEdges(t),function(t,e){return a(e.v),Math.max(t,s[e.v]+u.edge(e))},0))}function o(e){if(2!==l[e]){l[e]++;var r=t.node(e),n=y.reduce(u.outEdges(e),function(t,e){return o(e.w),Math.min(t,s[e.w]-u.edge(e))},Number.POSITIVE_INFINITY);n!==Number.POSITIVE_INFINITY&&r.borderType!==h&&(s[e]=Math.max(s[e],n))}}var s={},u=c(t,e,r,i),l={};y.each(u.nodes(),a);var h=i?"borderLeft":"borderRight";return y.each(u.nodes(),o),y.each(n,function(t){s[t]=s[r[t]]}),s}function c(t,e,r,n){var i=new m,a=t.graph(),o=p(a.nodesep,a.edgesep,n);return y.each(e,function(e){var n;y.each(e,function(e){var a=r[e];if(i.setNode(a),n){var s=r[n],u=i.edge(s,a);i.setEdge(s,a,Math.max(o(t,e,n),u||0))}n=e})}),i}function l(t,e){return y.min(e,function(e){var r=y.min(e,function(e,r){return e-g(t,r)/2}),n=y.max(e,function(e,r){return e+g(t,r)/2});return n-r})}function h(t,e){var r=y.min(e),n=y.max(e);y.each(["u","d"],function(i){y.each(["l","r"],function(a){var o,s=i+a,u=t[s];u!==e&&(o="l"===a?r-y.min(u):n-y.max(u),o&&(t[s]=y.mapValues(u,function(t){return t+o})))})})}function d(t,e){return y.mapValues(t.ul,function(r,n){if(e)return t[e.toLowerCase()][n];var i=y.sortBy(y.pluck(t,n));return(i[1]+i[2])/2})}function f(t){var e,i=v.buildLayerMatrix(t),a=y.merge(r(t,i),n(t,i)),o={};y.each(["u","d"],function(r){e="u"===r?i:y.values(i).reverse(),y.each(["l","r"],function(n){"r"===n&&(e=y.map(e,function(t){return y.values(t).reverse()}));var i=y.bind("u"===r?t.predecessors:t.successors,t),c=s(t,e,a,i),l=u(t,e,c.root,c.align,"r"===n);"r"===n&&(l=y.mapValues(l,function(t){return-t})),o[r+n]=l})});var c=l(t,o);return h(o,c),d(o,t.graph().align)}function p(t,e,r){return function(n,i,a){var o,s=n.node(i),u=n.node(a),c=0;if(c+=s.width/2,y.has(s,"labelpos"))switch(s.labelpos.toLowerCase()){case"l":o=-s.width/2;break;case"r":o=s.width/2}if(o&&(c+=r?o:-o),o=0,c+=(s.dummy?e:t)/2,c+=(u.dummy?e:t)/2,c+=u.width/2,y.has(u,"labelpos"))switch(u.labelpos.toLowerCase()){case"l":o=u.width/2;break;case"r":o=-u.width/2}return o&&(c+=r?o:-o),o=0,c}}function g(t,e){return t.node(e).width}var y=t("../lodash"),m=t("../graphlib").Graph,v=t("../util");e.exports={positionX:f,findType1Conflicts:r,findType2Conflicts:n,addConflict:a,hasConflict:o,verticalAlignment:s,horizontalCompaction:u,alignCoordinates:h,findSmallestWidthAlignment:l,balance:d}},{"../graphlib":35,"../lodash":38,"../util":57}],52:[function(t,e){"use strict";function r(t){t=a.asNonCompoundGraph(t),n(t),i.each(o(t),function(e,r){t.node(r).x=e})}function n(t){var e=a.buildLayerMatrix(t),r=t.graph().ranksep,n=0;i.each(e,function(e){var a=i.max(i.map(e,function(e){return t.node(e).height}));i.each(e,function(e){t.node(e).y=n+a/2}),n+=a+r})}var i=t("../lodash"),a=t("../util"),o=t("./bk").positionX;e.exports=r},{"../lodash":38,"../util":57,"./bk":51}],53:[function(t,e){"use strict";function r(t){var e=new s({directed:!1}),r=t.nodes()[0],o=t.nodeCount();e.setNode(r,{});for(var c,l;n(e,t)<o;)c=i(e,t),l=e.hasNode(c.v)?u(t,c):-u(t,c),a(e,t,l);return e}function n(t,e){function r(n){o.each(e.nodeEdges(n),function(i){var a=i.v,o=n===a?i.w:a;t.hasNode(o)||u(e,i)||(t.setNode(o,{}),t.setEdge(n,o,{}),r(o))})}return o.each(t.nodes(),r),t.nodeCount()}function i(t,e){return o.min(e.edges(),function(r){return t.hasNode(r.v)!==t.hasNode(r.w)?u(e,r):void 0})}function a(t,e,r){o.each(t.nodes(),function(t){e.node(t).rank+=r})}var o=t("../lodash"),s=t("../graphlib").Graph,u=t("./util").slack;e.exports=r},{"../graphlib":35,"../lodash":38,"./util":56}],54:[function(t,e){"use strict";function r(t){switch(t.graph().ranker){case"network-simplex":i(t);break;case"tight-tree":n(t);break;case"longest-path":c(t);break;default:i(t)}}function n(t){o(t),s(t)}function i(t){u(t)}var a=t("./util"),o=a.longestPath,s=t("./feasible-tree"),u=t("./network-simplex");e.exports=r;var c=o},{"./feasible-tree":53,"./network-simplex":55,"./util":56}],55:[function(t,e){"use strict";function r(t){t=_(t),m(t);var e=g(t);o(e),n(e,t);for(var r,i;r=u(e);)i=c(e,t,r),l(e,t,r,i)}function n(t,e){var r=b(t,t.nodes());r=r.slice(0,r.length-1),p.each(r,function(r){i(t,e,r)})}function i(t,e,r){var n=t.node(r),i=n.parent;t.edge(r,i).cutvalue=a(t,e,r)}function a(t,e,r){var n=t.node(r),i=n.parent,a=!0,o=e.edge(r,i),s=0;return o||(a=!1,o=e.edge(i,r)),s=o.weight,p.each(e.nodeEdges(r),function(n){var o=n.v===r,u=o?n.w:n.v;if(u!==i){var c=o===a,l=e.edge(n).weight;if(s+=c?l:-l,d(t,r,u)){var h=t.edge(r,u).cutvalue;s+=c?-h:h}}}),s}function o(t,e){arguments.length<2&&(e=t.nodes()[0]),s(t,{},1,e)}function s(t,e,r,n,i){var a=r,o=t.node(n);return e[n]=!0,p.each(t.neighbors(n),function(i){p.has(e,i)||(r=s(t,e,r,i,n))}),o.low=a,o.lim=r++,i?o.parent=i:delete o.parent,r}function u(t){return p.find(t.edges(),function(e){return t.edge(e).cutvalue<0})}function c(t,e,r){var n=r.v,i=r.w;e.hasEdge(n,i)||(n=r.w,i=r.v);var a=t.node(n),o=t.node(i),s=a,u=!1;a.lim>o.lim&&(s=o,u=!0);var c=p.filter(e.edges(),function(e){return u===f(t,t.node(e.v),s)&&u!==f(t,t.node(e.w),s)});return p.min(c,function(t){return y(e,t)})}function l(t,e,r,i){var a=r.v,s=r.w;t.removeEdge(a,s),t.setEdge(i.v,i.w,{}),o(t),n(t,e),h(t,e)}function h(t,e){var r=p.find(t.nodes(),function(t){return!e.node(t).parent}),n=v(t,r);n=n.slice(1),p.each(n,function(r){var n=t.node(r).parent,i=e.edge(r,n),a=!1;i||(i=e.edge(n,r),a=!0),e.node(r).rank=e.node(n).rank+(a?i.minlen:-i.minlen)})}function d(t,e,r){return t.hasEdge(e,r)}function f(t,e,r){return r.low<=e.lim&&e.lim<=r.lim}var p=t("../lodash"),g=t("./feasible-tree"),y=t("./util").slack,m=t("./util").longestPath,v=t("../graphlib").alg.preorder,b=t("../graphlib").alg.postorder,_=t("../util").simplify;e.exports=r,r.initLowLimValues=o,r.initCutValues=n,r.calcCutValue=a,r.leaveEdge=u,r.enterEdge=c,r.exchangeEdges=l},{"../graphlib":35,"../lodash":38,"../util":57,"./feasible-tree":53,"./util":56}],56:[function(t,e){"use strict";function r(t){function e(n){var a=t.node(n);if(i.has(r,n))return a.rank;r[n]=!0;var o=i.min(i.map(t.outEdges(n),function(r){return e(r.w)-t.edge(r).minlen}));return o===Number.POSITIVE_INFINITY&&(o=0),a.rank=o}var r={};i.each(t.sources(),e)}function n(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen}var i=t("../lodash");e.exports={longestPath:r,slack:n}},{"../lodash":38}],57:[function(t,e){"use strict";function r(t,e,r,n){var i;do i=y.uniqueId(n);while(t.hasNode(i));return r.dummy=e,t.setNode(i,r),i}function n(t){var e=(new m).setGraph(t.graph());return y.each(t.nodes(),function(r){e.setNode(r,t.node(r))}),y.each(t.edges(),function(r){var n=e.edge(r.v,r.w)||{weight:0,minlen:1},i=t.edge(r);e.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),e}function i(t){var e=new m({multigraph:t.isMultigraph()}).setGraph(t.graph());return y.each(t.nodes(),function(r){t.children(r).length||e.setNode(r,t.node(r))}),y.each(t.edges(),function(r){e.setEdge(r,t.edge(r))}),e}function a(t){var e=y.map(t.nodes(),function(e){var r={};return y.each(t.outEdges(e),function(e){r[e.w]=(r[e.w]||0)+t.edge(e).weight}),r});return y.zipObject(t.nodes(),e)}function o(t){var e=y.map(t.nodes(),function(e){var r={};return y.each(t.inEdges(e),function(e){r[e.v]=(r[e.v]||0)+t.edge(e).weight}),r});return y.zipObject(t.nodes(),e)}function s(t,e){var r=t.x,n=t.y,i=e.x-r,a=e.y-n,o=t.width/2,s=t.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var u,c;return Math.abs(a)*o>Math.abs(i)*s?(0>a&&(s=-s),u=s*i/a,c=s):(0>i&&(o=-o),u=o,c=o*a/i),{x:r+u,y:n+c}}function u(t){var e=y.map(y.range(d(t)+1),function(){return[]});return y.each(t.nodes(),function(r){var n=t.node(r),i=n.rank;y.isUndefined(i)||(e[i][n.order]=r)}),e}function c(t){var e=y.min(y.map(t.nodes(),function(e){return t.node(e).rank}));y.each(t.nodes(),function(r){var n=t.node(r);y.has(n,"rank")&&(n.rank-=e)})}function l(t){var e=y.min(y.map(t.nodes(),function(e){return t.node(e).rank})),r=[];y.each(t.nodes(),function(n){var i=t.node(n).rank-e;r[i]||(r[i]=[]),r[i].push(n)});var n=0,i=t.graph().nodeRankFactor;y.each(r,function(e,r){y.isUndefined(e)&&r%i!==0?--n:n&&y.each(e,function(e){t.node(e).rank+=n})})}function h(t,e,n,i){var a={width:0,height:0};return arguments.length>=4&&(a.rank=n,a.order=i),r(t,"border",a,e)}function d(t){return y.max(y.map(t.nodes(),function(e){var r=t.node(e).rank;return y.isUndefined(r)?void 0:r}))}function f(t,e){var r={lhs:[],rhs:[]};return y.each(t,function(t){e(t)?r.lhs.push(t):r.rhs.push(t)}),r}function p(t,e){var r=y.now();try{return e()}finally{console.log(t+" time: "+(y.now()-r)+"ms")}}function g(t,e){return e()}var y=t("./lodash"),m=t("./graphlib").Graph;e.exports={addDummyNode:r,simplify:n,asNonCompoundGraph:i,successorWeights:a,predecessorWeights:o,intersectRect:s,buildLayerMatrix:u,normalizeRanks:c,removeEmptyRanks:l,addBorderNode:h,maxRank:d,partition:f,time:p,notime:g}},{"./graphlib":35,"./lodash":38}],58:[function(t,e){e.exports="0.7.4"},{}],59:[function(t,e){var r=t("./lib");e.exports={Graph:r.Graph,json:t("./lib/json"),alg:t("./lib/alg"),version:r.version}},{"./lib":75,"./lib/alg":66,"./lib/json":76}],60:[function(t,e){function r(t){function e(a){n.has(i,a)||(i[a]=!0,r.push(a),n.each(t.successors(a),e),n.each(t.predecessors(a),e))}var r,i={},a=[];return n.each(t.nodes(),function(t){r=[],e(t),r.length&&a.push(r)}),a}var n=t("../lodash");e.exports=r},{"../lodash":77}],61:[function(t,e){function r(t,e,r){i.isArray(e)||(e=[e]);var a=[],o={};return i.each(e,function(e){if(!t.hasNode(e))throw new Error("Graph does not have node: "+e);n(t,e,"post"===r,o,a)}),a}function n(t,e,r,a,o){i.has(a,e)||(a[e]=!0,r||o.push(e),i.each(t.neighbors(e),function(e){n(t,e,r,a,o)}),r&&o.push(e))}var i=t("../lodash");e.exports=r},{"../lodash":77}],62:[function(t,e){function r(t,e,r){return i.transform(t.nodes(),function(i,a){i[a]=n(t,a,e,r)},{})}var n=t("./dijkstra"),i=t("../lodash");e.exports=r},{"../lodash":77,"./dijkstra":63}],63:[function(t,e){function r(t,e,r,i){return n(t,String(e),r||o,i||function(e){return t.outEdges(e)})}function n(t,e,r,n){var i,o,s={},u=new a,c=function(t){var e=t.v!==i?t.v:t.w,n=s[e],a=r(t),c=o.distance+a;if(0>a)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+t+" Weight: "+a);c<n.distance&&(n.distance=c,n.predecessor=i,u.decrease(e,c))};for(t.nodes().forEach(function(t){var r=t===e?0:Number.POSITIVE_INFINITY;s[t]={distance:r},u.add(t,r)});u.size()>0&&(i=u.removeMin(),o=s[i],o.distance!==Number.POSITIVE_INFINITY);)n(i).forEach(c);return s}var i=t("../lodash"),a=t("../data/priority-queue");e.exports=r;var o=i.constant(1)},{"../data/priority-queue":73,"../lodash":77}],64:[function(t,e){function r(t){return n.filter(i(t),function(e){return e.length>1||1===e.length&&t.hasEdge(e[0],e[0])})}var n=t("../lodash"),i=t("./tarjan");e.exports=r},{"../lodash":77,"./tarjan":71}],65:[function(t,e){function r(t,e,r){return n(t,e||a,r||function(e){return t.outEdges(e)})}function n(t,e,r){var n={},i=t.nodes();return i.forEach(function(t){n[t]={},n[t][t]={distance:0},i.forEach(function(e){t!==e&&(n[t][e]={distance:Number.POSITIVE_INFINITY})}),r(t).forEach(function(r){var i=r.v===t?r.w:r.v,a=e(r);n[t][i]={distance:a,predecessor:t}})}),i.forEach(function(t){var e=n[t];i.forEach(function(r){var a=n[r];i.forEach(function(r){var n=a[t],i=e[r],o=a[r],s=n.distance+i.distance;s<o.distance&&(o.distance=s,o.predecessor=i.predecessor)})})}),n}var i=t("../lodash");e.exports=r;var a=i.constant(1)},{"../lodash":77}],66:[function(t,e){e.exports={components:t("./components"),dijkstra:t("./dijkstra"),dijkstraAll:t("./dijkstra-all"),findCycles:t("./find-cycles"),floydWarshall:t("./floyd-warshall"),isAcyclic:t("./is-acyclic"),postorder:t("./postorder"),preorder:t("./preorder"),prim:t("./prim"),tarjan:t("./tarjan"),topsort:t("./topsort")}},{"./components":60,"./dijkstra":63,"./dijkstra-all":62,"./find-cycles":64,"./floyd-warshall":65,"./is-acyclic":67,"./postorder":68,"./preorder":69,"./prim":70,"./tarjan":71,"./topsort":72}],67:[function(t,e){function r(t){try{n(t)}catch(e){if(e instanceof n.CycleException)return!1;throw