# Prevent upward connections in DAG

**URL:** <https://forum.graphviz.org/t/prevent-upward-connections-in-dag/846>\
**Category:** Help\
**Created:** [September 22, 2021, 10:46am UTC](https://forum.graphviz.org/t/prevent-upward-connections-in-dag/846 "2021-09-22T10:46:33Z")\
**Posts on this page:** 18\
**Page:** 1

<div class="post-metadata">

**Author:** ![Benji](https://avatars.discourse-cdn.com/v4/letter/b/f17d59/32.png) [@Benji](https://forum.graphviz.org/u/Benji)\
**Post date:** [September 22, 2021, 10:46am UTC](https://forum.graphviz.org/t/prevent-upward-connections-in-dag/846/1 "2021-09-22T10:46:33Z")

</div>

Hi,

I’m generating Graphviz diagrams. Specifically, I’m generating directed acyclic graphs, and relying on the resultant top-down layout. My issue is, I’ve been working on the assumption that Graphviz will always display a directed-acyclic graph in a one-directional manner. But now I’ve come across a [counterexample](https://dreampuf.github.io/GraphvizOnline/#digraph%20%7B%0A%20%20%20%20%20%20subgraph%20cluster3%20%7B%0A%20%20%20%20%20%20%20%20%20%20r0%20%0A%20%20%20%20%20%20%20%20%20%20r1%20%0A%20%20%20%20%20%20%20%20%20%20r2%20%0A%20%20%20%20%20%20%20%20%20%20r3%20%0A%20%20%20%20%20%20%20%20%20%20r4%20%0A%20%20%20%20%20%20%20%20%20%20r5%20%0A%20%20%20%20%20%20%20%20%20%20r6%20%0A%20%20%20%20%20%20%20%20%20%20r7%20%0A%20%20%20%20%20%20%20%20%20%20r8%20%0A%20%20%20%20%20%20%20%20%20%20r9%20%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20subgraph%20cluster4%20%7B%0A%20%20%20%20%20%20%20%20%20%20p1%0A%20%20%20%20%20%20%20%20%20%20r15%0A%20%20%20%20%20%20%20%20%20%20r16%20%0A%20%20%20%20%20%20%20%20%20%20p1%20-%3E%20r15%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20subgraph%20cluster5%20%7B%0A%20%20%20%20%20%20%20%20%20%20p13%20%0A%20%20%20%20%20%20%20%20%20%20p14%20%0A%20%20%20%20%20%20%20%20%20%20p15%20%0A%20%20%20%20%20%20%20%20%20%20p16%20%0A%20%20%20%20%20%20%20%20%20%20p17%20%0A%20%20%20%20%20%20%20%20%20%20p18%20%0A%20%20%20%20%20%20%20%20%20%20p19%20%0A%20%20%20%20%20%20%20%20%20%20p20%20%0A%20%20%20%20%20%20%20%20%20%20r27%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20subgraph%20cluster6%20%7B%0A%20%20%20%20%20%20%20%20%20%20p35%20%0A%20%20%20%20%20%20%20%20%20%20p36%20%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20r0%20-%3E%20p1%20%5Bminlen%3D2%5D%0A%20%20%20%20%20%20r1%20-%3E%20p13%20%5Bminlen%3D2%5D%0A%20%20%20%20%20%20r2%20-%3E%20p35%20%5Bminlen%3D2%5D%0A%20%20%20%20%20%20r3%20-%3E%20p14%20%5Bminlen%3D2%5D%0A%20%20%20%20%20%20r4%20-%3E%20p15%20%5Bminlen%3D2%5D%0A%20%20%20%20%20%20r5%20-%3E%20p16%20%5Bminlen%3D2%5D%0A%20%20%20%20%20%20r6%20-%3E%20p17%20%5Bminlen%3D2%5D%0A%20%20%20%20%20%20r7%20-%3E%20p18%20%5Bminlen%3D2%5D%0A%20%20%20%20%20%20r8%20-%3E%20p19%20%5Bminlen%3D2%5D%0A%20%20%20%20%20%20r9%20-%3E%20p20%20%5Bminlen%3D2%5D%0A%20%20%20%20%20%20r16%20-%3E%20p35%0A%20%20%20%20%20%20r27%20-%3E%20p36%20%5Bminlen%3D2%5D%0A%20%20%20%20%20%20r15%20-%3E%20p13%20%5Bcolor%3Dred%5D%20%2F%2F%20This%20is%20the%20line!%0A%20%20%7D%0A), which breaks my application:

 ![image](https://global.discourse-cdn.com/graphviz/original/1X/1dd69607e78c68aedc0e64469104fe39a27ed06c.png)

One of the lines points upwards! This is super rare. I’ve generated dozens of similarly-complicated diagram, and usually all the arrows point downwards. I can’t actually find any documentation to clarify whether this is expected behaviour though.

So, can anyone tell me:

1. Is this expected behaviour, or a bug?
2. If it is expected behaviour, is there anything I can do to force Graphviz to always direct edges downwards?

I am leaning towards thinking it is a bug. The reason is that if I add a `minlen=2` attribute to the red line, it doesn’t get respected.

---

<div class="post-metadata">

**Author:** ![jjlong](https://sea2.discourse-cdn.com/graphviz/user_avatar/forum.graphviz.org/jjlong/32/887_2.png) [@jjlong](https://forum.graphviz.org/u/jjlong)\
**Post date:** [September 22, 2021, 12:55pm UTC](https://forum.graphviz.org/t/prevent-upward-connections-in-dag/846/2 "2021-09-22T12:55:55Z")

</div>

Add a “[weight](https://graphviz.org/docs/attrs/weight/)” attribute to that edge. I found that using a value \>= 10 will get the edge to point down.

 ![weight](https://global.discourse-cdn.com/graphviz/original/1X/239eb10728f470c829dab1d733dce42d2471ef29.png)

---

<div class="post-metadata">

**Author:** ![jjlong](https://sea2.discourse-cdn.com/graphviz/user_avatar/forum.graphviz.org/jjlong/32/887_2.png) [@jjlong](https://forum.graphviz.org/u/jjlong)\
**Post date:** [September 22, 2021, 1:19pm UTC](https://forum.graphviz.org/t/prevent-upward-connections-in-dag/846/3 "2021-09-22T13:19:48Z")

</div>

If you remove all the minlen attributes as I’ve done [here](https://dreampuf.github.io/GraphvizOnline/#digraph%20%7B%0A%20%20%20%20%20%20subgraph%20cluster3%20%7B%0A%20%20%20%20%20%20%20%20%20%20r0%20%0A%20%20%20%20%20%20%20%20%20%20r1%20%0A%20%20%20%20%20%20%20%20%20%20r2%20%0A%20%20%20%20%20%20%20%20%20%20r3%20%0A%20%20%20%20%20%20%20%20%20%20r4%20%0A%20%20%20%20%20%20%20%20%20%20r5%20%0A%20%20%20%20%20%20%20%20%20%20r6%20%0A%20%20%20%20%20%20%20%20%20%20r7%20%0A%20%20%20%20%20%20%20%20%20%20r8%20%0A%20%20%20%20%20%20%20%20%20%20r9%20%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20subgraph%20cluster4%20%7B%0A%20%20%20%20%20%20%20%20%20%20p1%0A%20%20%20%20%20%20%20%20%20%20r15%0A%20%20%20%20%20%20%20%20%20%20r16%20%0A%20%20%20%20%20%20%20%20%20%20p1%20-%3E%20r15%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20subgraph%20cluster5%20%7B%0A%20%20%20%20%20%20%20%20%20%20p13%20%0A%20%20%20%20%20%20%20%20%20%20p14%20%0A%20%20%20%20%20%20%20%20%20%20p15%20%0A%20%20%20%20%20%20%20%20%20%20p16%20%0A%20%20%20%20%20%20%20%20%20%20p17%20%0A%20%20%20%20%20%20%20%20%20%20p18%20%0A%20%20%20%20%20%20%20%20%20%20p19%20%0A%20%20%20%20%20%20%20%20%20%20p20%20%0A%20%20%20%20%20%20%20%20%20%20r27%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20subgraph%20cluster6%20%7B%0A%20%20%20%20%20%20%20%20%20%20p35%20%0A%20%20%20%20%20%20%20%20%20%20p36%20%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20r0%20-%3E%20p1%0A%20%20%20%20%20%20r1%20-%3E%20p13%0A%20%20%20%20%20%20r2%20-%3E%20p35%0A%20%20%20%20%20%20r3%20-%3E%20p14%0A%20%20%20%20%20%20r4%20-%3E%20p15%0A%20%20%20%20%20%20r5%20-%3E%20p16%0A%20%20%20%20%20%20r6%20-%3E%20p17%0A%20%20%20%20%20%20r7%20-%3E%20p18%0A%20%20%20%20%20%20r8%20-%3E%20p19%0A%20%20%20%20%20%20r9%20-%3E%20p20%0A%20%20%20%20%20%20r16%20-%3E%20p35%0A%20%20%20%20%20%20r27%20-%3E%20p36%0A%20%20%20%20%20%20r15%20-%3E%20p13%20%5Bcolor%3Dred%20weight%3D10%5D%20%2F%2F%20This%20is%20the%20line!%0A%20%20%7D%0A) the graph will appear as:

 ![weight2](https://global.discourse-cdn.com/graphviz/original/1X/2f72c05ea175543af66abe01e9b5db1a53b93821.png)

---

<div class="post-metadata">

**Author:** ![Benji](https://avatars.discourse-cdn.com/v4/letter/b/f17d59/32.png) [@Benji](https://forum.graphviz.org/u/Benji)\
**Post date:** [September 23, 2021, 8:29am UTC](https://forum.graphviz.org/t/prevent-upward-connections-in-dag/846/4 "2021-09-23T08:29:21Z")

</div>

Thanks for your suggestions. But I don’t think either of these solutions are workable for me.

My diagram generator currently depends on the `minlen` attribute for other purposes, so I can’t just remove it. I’m also not sure the `minlen` attributes are the root cause of the issue. There are many minor things that you can be changed in the example that “fix” it. In fact, I have simplified it as much as I can such that almost any further simplification will “fix” it.

As for the `weight` attribute, that’s not an option because I’m generating the graphs. My generator would need to be able to predict exactly when this situation is going to occur in order to insert the `weight` attribute on the appropriate edges. Furthermore, the `weight` attribute will have other side effects which I’m not keen on.

---

<div class="post-metadata">

**Author:** ![scnorth](https://sea2.discourse-cdn.com/graphviz/user_avatar/forum.graphviz.org/scnorth/32/89_2.png) [@scnorth](https://forum.graphviz.org/u/scnorth)\
**Post date:** [September 23, 2021, 11:34am UTC](https://forum.graphviz.org/t/prevent-upward-connections-in-dag/846/5 "2021-09-23T11:34:51Z")

</div>

I’m not sure about all the specifics, but the idea underlying cluster layout (originally) was that clusters should be compact (have as few levels as possible based on the intra-cluster edges) so inter-cluster edges are implemented as soft constraints that may not be satisfied depending on the global constraint optimization. A long time later we implemented clusterrank=global that is supposed to treat inter-cluster edges as hard constraints. I think this would make level assignment easier to control. This I notice this setting now disables the drawing of clusters – that is not what we intended or how it used to work, and looks like a bug.

---

<div class="post-metadata">

**Author:** ![jjlong](https://sea2.discourse-cdn.com/graphviz/user_avatar/forum.graphviz.org/jjlong/32/887_2.png) [@jjlong](https://forum.graphviz.org/u/jjlong)\
**Post date:** [September 23, 2021, 12:34pm UTC](https://forum.graphviz.org/t/prevent-upward-connections-in-dag/846/6 "2021-09-23T12:34:22Z")

</div>

My purpose for posting with the `minlen` attributes removed was to see if it had any influence on the graph. As you have determined, and the graph shows, `minlen` does not appear to be the root cause.

Another graph attribute you can try is [`newrank`](https://graphviz.org/docs/attrs/newrank/). Setting `newrank=true` will draw the arrow in the direction you desire, but has other effects you may or may not like. When I [added `newrank` to your graph](https://dreampuf.github.io/GraphvizOnline/#digraph%20%7B%0A%20%20%20%20newrank%3Dtrue%0A%20%20%20%20%20%20subgraph%20cluster3%20%7B%0A%20%20%20%20%20%20%20%20%20%20r0%20%0A%20%20%20%20%20%20%20%20%20%20r1%20%0A%20%20%20%20%20%20%20%20%20%20r2%20%0A%20%20%20%20%20%20%20%20%20%20r3%20%0A%20%20%20%20%20%20%20%20%20%20r4%20%0A%20%20%20%20%20%20%20%20%20%20r5%20%0A%20%20%20%20%20%20%20%20%20%20r6%20%0A%20%20%20%20%20%20%20%20%20%20r7%20%0A%20%20%20%20%20%20%20%20%20%20r8%20%0A%20%20%20%20%20%20%20%20%20%20r9%20%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20subgraph%20cluster4%20%7B%0A%20%20%20%20%20%20%20%20%20%20p1%0A%20%20%20%20%20%20%20%20%20%20r15%0A%20%20%20%20%20%20%20%20%20%20r16%20%0A%20%20%20%20%20%20%20%20%20%20p1%20-%3E%20r15%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20subgraph%20cluster5%20%7B%0A%20%20%20%20%20%20%20%20%20%20p13%20%0A%20%20%20%20%20%20%20%20%20%20p14%20%0A%20%20%20%20%20%20%20%20%20%20p15%20%0A%20%20%20%20%20%20%20%20%20%20p16%20%0A%20%20%20%20%20%20%20%20%20%20p17%20%0A%20%20%20%20%20%20%20%20%20%20p18%20%0A%20%20%20%20%20%20%20%20%20%20p19%20%0A%20%20%20%20%20%20%20%20%20%20p20%20%0A%20%20%20%20%20%20%20%20%20%20r27%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20subgraph%20cluster6%20%7B%0A%20%20%20%20%20%20%20%20%20%20p35%20%0A%20%20%20%20%20%20%20%20%20%20p36%20%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20r0%20-%3E%20p1%0A%20%20%20%20%20%20r1%20-%3E%20p13%0A%20%20%20%20%20%20r2%20-%3E%20p35%0A%20%20%20%20%20%20r3%20-%3E%20p14%0A%20%20%20%20%20%20r4%20-%3E%20p15%0A%20%20%20%20%20%20r5%20-%3E%20p16%0A%20%20%20%20%20%20r6%20-%3E%20p17%0A%20%20%20%20%20%20r7%20-%3E%20p18%0A%20%20%20%20%20%20r8%20-%3E%20p19%0A%20%20%20%20%20%20r9%20-%3E%20p20%0A%20%20%20%20%20%20r16%20-%3E%20p35%0A%20%20%20%20%20%20r27%20-%3E%20p36%0A%20%20%20%20%20%20r15%20-%3E%20p13%20%5Bcolor%3Dred%5D%20%2F%2F%20This%20is%20the%20line!%0A%20%20%7D%0A) I get this result:

 ![graphviz_newrank_true_with_minlen](https://global.discourse-cdn.com/graphviz/original/1X/db5579c8c7ab5dafbc99b64f697a870f9771c10c.png)

In my opinion, it is not as pretty or concise as your graph which I started with.

If you add [`splines=ortho`](https://dreampuf.github.io/GraphvizOnline/#digraph%20%7B%0A%20%20%20%20newrank%3Dtrue%0A%20%20%20%20splines%3Dortho%0A%20%20%20%20%20%20subgraph%20cluster3%20%7B%0A%20%20%20%20%20%20%20%20%20%20r0%20%0A%20%20%20%20%20%20%20%20%20%20r1%20%0A%20%20%20%20%20%20%20%20%20%20r2%20%0A%20%20%20%20%20%20%20%20%20%20r3%20%0A%20%20%20%20%20%20%20%20%20%20r4%20%0A%20%20%20%20%20%20%20%20%20%20r5%20%0A%20%20%20%20%20%20%20%20%20%20r6%20%0A%20%20%20%20%20%20%20%20%20%20r7%20%0A%20%20%20%20%20%20%20%20%20%20r8%20%0A%20%20%20%20%20%20%20%20%20%20r9%20%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20subgraph%20cluster4%20%7B%0A%20%20%20%20%20%20%20%20%20%20p1%0A%20%20%20%20%20%20%20%20%20%20r15%0A%20%20%20%20%20%20%20%20%20%20r16%20%0A%20%20%20%20%20%20%20%20%20%20p1%20-%3E%20r15%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20subgraph%20cluster5%20%7B%0A%20%20%20%20%20%20%20%20%20%20p13%20%0A%20%20%20%20%20%20%20%20%20%20p14%20%0A%20%20%20%20%20%20%20%20%20%20p15%20%0A%20%20%20%20%20%20%20%20%20%20p16%20%0A%20%20%20%20%20%20%20%20%20%20p17%20%0A%20%20%20%20%20%20%20%20%20%20p18%20%0A%20%20%20%20%20%20%20%20%20%20p19%20%0A%20%20%20%20%20%20%20%20%20%20p20%20%0A%20%20%20%20%20%20%20%20%20%20r27%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20subgraph%20cluster6%20%7B%0A%20%20%20%20%20%20%20%20%20%20p35%20%0A%20%20%20%20%20%20%20%20%20%20p36%20%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20r0%20-%3E%20p1%20%5Bminlen%3D2%5D%0A%20%20%20%20%20%20r1%20-%3E%20p13%20%5Bminlen%3D2%5D%0A%20%20%20%20%20%20r2%20-%3E%20p35%20%5Bminlen%3D2%5D%0A%20%20%20%20%20%20r3%20-%3E%20p14%20%5Bminlen%3D2%5D%0A%20%20%20%20%20%20r4%20-%3E%20p15%20%5Bminlen%3D2%5D%0A%20%20%20%20%20%20r5%20-%3E%20p16%20%5Bminlen%3D2%5D%0A%20%20%20%20%20%20r6%20-%3E%20p17%20%5Bminlen%3D2%5D%0A%20%20%20%20%20%20r7%20-%3E%20p18%20%5Bminlen%3D2%5D%0A%20%20%20%20%20%20r8%20-%3E%20p19%20%5Bminlen%3D2%5D%0A%20%20%20%20%20%20r9%20-%3E%20p20%20%5Bminlen%3D2%5D%0A%20%20%20%20%20%20r16%20-%3E%20p35%0A%20%20%20%20%20%20r27%20-%3E%20p36%20%5Bminlen%3D2%5D%0A%20%20%20%20%20%20r15%20-%3E%20p13%20%5Bcolor%3Dred%5D%20%2F%2F%20This%20is%20the%20line!%0A%20%20%7D%0A) it becomes a little cleaner:

 ![graphviz_newrank_true_splines_ortho](https://global.discourse-cdn.com/graphviz/original/1X/bcf4620c6cf6699b6b3b02ffbdd38ee0c99fd2ea.png)

I’m aware that this style is probably not what you are looking for, but it never hurts to know more options. After all, the arrow is pointing in the direction you desire, `minlen` is present, no `weight` attributes are used, and it could be programmatically generated.

---

<div class="post-metadata">

**Author:** ![Benji](https://avatars.discourse-cdn.com/v4/letter/b/f17d59/32.png) [@Benji](https://forum.graphviz.org/u/Benji)\
**Post date:** [September 23, 2021, 1:13pm UTC](https://forum.graphviz.org/t/prevent-upward-connections-in-dag/846/7 "2021-09-23T13:13:39Z")

</div>

Thanks for your `newrank=true` suggestion @jjlong. Indeed this does have other effects which are unfortunately incompatible with my specific use-case. The compactness of subgraphs is quite important to me. So is the use of `rank=sink` and `rank=source` within clusters, which seems to be broken by that setting.

I should probably mention that the style of graphs I am generating is considerably more complicated than the example I originally provided (which was intended only to showcase the Graphviz bug). So if you’re interested (or in case it’s helpful), you can see the unsimplified version [here](https://dreampuf.github.io/GraphvizOnline/#digraph%20%7B%0A%20%20graph%20%5Bcompound%3Dtrue%2C%20bgcolor%3Dtransparent%2C%20fontname%3D%22Arial%22%2C%20fontsize%3D16%2C%20fontcolor%3D%22%23412c5a%22%2C%20color%3D%22%23412c5a%22%2C%20fillcolor%3Dtransparent%2C%20style%3D%22filled%22%2C%20penwidth%3D2%2C%20splines%3D%22line%22%2C%20ranksep%3D0.1111111111111111%2C%20nodesep%3D0.3333333333333333%2C%20outputorder%3D%22edgesfirst%22%5D%0A%20%20node%20%5Bfontname%3D%22Arial%22%2C%20fontsize%3D16%2C%20fontcolor%3D%22%23412c5a%22%2C%20color%3D%22%23412c5a%22%2C%20fillcolor%3Dtransparent%2C%20style%3D%22filled%22%2C%20penwidth%3D2%2C%20shape%3D%22box%22%5D%0A%20%20edge%20%5Bfontname%3D%22Arial%22%2C%20fontsize%3D10%2C%20fontcolor%3D%22%23412c5a%22%2C%20color%3D%22%23890c58%22%2C%20dir%3D%22none%22%2C%20penwidth%3D2%5D%0A%20%20subgraph%20%22cluster%20C_CalmHare%22%20%7B%0A%20%20%20%20%7B%0A%20%20%20%20%20%20rank%3D%22source%22%0A%20%20%20%20%7D%0A%20%20%20%20subgraph%20cluster%20%7B%0A%20%20%20%20%20%20subgraph%20%22cluster%20C_CalmHare.c_VictoriousDuck%22%20%7B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20rank%3D%22source%22%0A%20%20%20%20%20%20%20%20%20%20%22C_CalmHare.c_VictoriousDuck_top_spacer%22%20%5Bwidth%3D0%2C%20height%3D0%2C%20penwidth%3D0%2C%20label%3D%22%22%5D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20subgraph%20cluster%20%7B%0A%20%20%20%20%20%20%20%20%20%20%22C_CalmHare.c_VictoriousDuck%22%20%5Blabel%3D%3C%3Cb%3Ec_VictoriousDuck%3C%2Fb%3E%3Cbr%2F%3EC_AngryCaterpillar%3E%2C%20height%3D0%2C%20width%3D7.222222222222222%2C%20margin%3D%220.1111111111111111%2C0%22%2C%20penwidth%3D0%2C%20tooltip%3D%22c_VictoriousDuck%20%3A%20C_AngryCaterpillar%22%2C%20id%3D%22e0%22%5D%0A%20%20%20%20%20%20%20%20%20%20penwidth%3D0%0A%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20id%3D%22e1%22%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20rank%3D%22sink%22%0A%20%20%20%20%20%20%20%20%20%20r0%20%5Bid%3D%22e2%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22r_ElegantDragonfly%20%3A%20P_CourageousApe%20%E2%93%87%22%2C%20class%3D%22port%20port-required%22%5D%0A%20%20%20%20%20%20%20%20%20%20r1%20%5Bid%3D%22e3%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22r_GiftedMoth%20%3A%20P_ZanyCat%20%E2%93%87%22%2C%20class%3D%22port%20port-required%22%5D%0A%20%20%20%20%20%20%20%20%20%20r2%20%5Bid%3D%22e4%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22r_ShinyBird%20%3A%20P_GrotesqueBird%20%E2%93%87%22%2C%20class%3D%22port%20port-required%22%5D%0A%20%20%20%20%20%20%20%20%20%20r3%20%5Bid%3D%22e5%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22r_DisgustedBuzzard%5B0%5D%20%3A%20P_JoyousLynx%20%E2%93%87%22%2C%20class%3D%22port%20port-required%22%5D%0A%20%20%20%20%20%20%20%20%20%20r4%20%5Bid%3D%22e6%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22r_DisgustedBuzzard%5B1%5D%20%3A%20P_JoyousLynx%20%E2%93%87%22%2C%20class%3D%22port%20port-required%22%5D%0A%20%20%20%20%20%20%20%20%20%20r5%20%5Bid%3D%22e7%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22r_DisgustedBuzzard%5B2%5D%20%3A%20P_JoyousLynx%20%E2%93%87%22%2C%20class%3D%22port%20port-required%22%5D%0A%20%20%20%20%20%20%20%20%20%20r6%20%5Bid%3D%22e8%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22r_DisgustedBuzzard%5B3%5D%20%3A%20P_JoyousLynx%20%E2%93%87%22%2C%20class%3D%22port%20port-required%22%5D%0A%20%20%20%20%20%20%20%20%20%20r7%20%5Bid%3D%22e9%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22r_DisgustedBuzzard%5B4%5D%20%3A%20P_JoyousLynx%20%E2%93%87%22%2C%20class%3D%22port%20port-required%22%5D%0A%20%20%20%20%20%20%20%20%20%20r8%20%5Bid%3D%22e10%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22r_DisgustedBuzzard%5B5%5D%20%3A%20P_JoyousLynx%20%E2%93%87%22%2C%20class%3D%22port%20port-required%22%5D%0A%20%20%20%20%20%20%20%20%20%20r9%20%5Bid%3D%22e11%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22r_DisgustedBuzzard%5B6%5D%20%3A%20P_JoyousLynx%20%E2%93%87%22%2C%20class%3D%22port%20port-required%22%5D%0A%20%20%20%20%20%20%20%20%20%20r10%20%5Bid%3D%22e12%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22r_DisgustedBuzzard%5B7%5D%20%3A%20P_JoyousLynx%20%E2%93%87%22%2C%20class%3D%22port%20port-required%22%5D%0A%20%20%20%20%20%20%20%20%20%20r11%20%5Bid%3D%22e13%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22r_DisgustedBuzzard%5B8%5D%20%3A%20P_JoyousLynx%20%E2%93%87%22%2C%20class%3D%22port%20port-required%22%5D%0A%20%20%20%20%20%20%20%20%20%20r12%20%5Bid%3D%22e14%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22r_DisgustedBuzzard%5B9%5D%20%3A%20P_JoyousLynx%20%E2%93%87%22%2C%20class%3D%22port%20port-required%22%5D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20fillcolor%3D%22%23d4e3f0%22%0A%20%20%20%20%20%20%20%20tooltip%3D%22c_VictoriousDuck%20%3A%20C_AngryCaterpillar%22%0A%20%20%20%20%20%20%20%20class%3D%22component-box%20has-required-port%22%0A%20%20%20%20%20%20%20%20id%3D%22e15%22%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20subgraph%20%22cluster%20C_CalmHare.c_ShySnake%22%20%7B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20rank%3D%22source%22%0A%20%20%20%20%20%20%20%20%20%20p1%20%5Bid%3D%22e26%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_ObnoxiousPorcupine%20%3A%20P_CourageousApe%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20subgraph%20cluster%20%7B%0A%20%20%20%20%20%20%20%20%20%20subgraph%20%22cluster%20C_CalmHare.c_ShySnake.c_ShySnake%22%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22source%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20p0%20%5Bid%3D%22e18%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_UnusualBadger%20%3A%20P_CourageousApe%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20subgraph%20cluster%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22C_CalmHare.c_ShySnake.c_ShySnake%22%20%5Blabel%3D%3C%3Cb%3Ec_ShySnake%3C%2Fb%3E%3Cbr%2F%3EC_AnxiousPlatypus%3E%2C%20height%3D0%2C%20width%3D1.1111111111111112%2C%20margin%3D%220.1111111111111111%2C0%22%2C%20penwidth%3D0%2C%20tooltip%3D%22c_ShySnake%20%3A%20C_AnxiousPlatypus%22%2C%20id%3D%22e16%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20penwidth%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e17%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22sink%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20r13%20%5Bid%3D%22e19%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22r_GrotesqueLeopard%20%3A%20P_ZanyCat%20%E2%93%87%22%2C%20class%3D%22port%20port-required%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20r14%20%5Bid%3D%22e20%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22r_DefeatedPenguin%20%3A%20P_GrotesqueBird%20%E2%93%87%22%2C%20class%3D%22port%20port-required%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20fillcolor%3D%22%23d4e3f0%22%0A%20%20%20%20%20%20%20%20%20%20%20%20tooltip%3D%22c_ShySnake%20%3A%20C_AnxiousPlatypus%22%0A%20%20%20%20%20%20%20%20%20%20%20%20class%3D%22component-box%20has-provided-port%20has-required-port%22%0A%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e21%22%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20label%3D%3C%3Cb%3Ec_ShySnake%3C%2Fb%3E%3Cbr%2F%3EC_FrightenedTiger%3E%0A%20%20%20%20%20%20%20%20%20%20penwidth%3D0%0A%20%20%20%20%20%20%20%20%20%20tooltip%3D%22c_ShySnake%20%3A%20C_FrightenedTiger%22%0A%20%20%20%20%20%20%20%20%20%20margin%3D24%0A%20%20%20%20%20%20%20%20%20%20id%3D%22e22%22%0A%20%20%20%20%20%20%20%20%20%20p1%3As%20-%3E%20p0%3An%20%5Bid%3D%22e23%22%2C%20minlen%3D1%5D%0A%20%20%20%20%20%20%20%20%20%20r13%3As%20-%3E%20r15%3An%20%5Bid%3D%22e24%22%2C%20minlen%3D1%5D%0A%20%20%20%20%20%20%20%20%20%20r14%3As%20-%3E%20r16%3An%20%5Bid%3D%22e25%22%2C%20minlen%3D1%5D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20rank%3D%22sink%22%0A%20%20%20%20%20%20%20%20%20%20r15%20%5Bid%3D%22e27%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22r_GiftedMoth%20%3A%20P_ZanyCat%20%E2%93%87%22%2C%20class%3D%22port%20port-required%22%5D%0A%20%20%20%20%20%20%20%20%20%20r16%20%5Bid%3D%22e28%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22r_ShinyBird%20%3A%20P_GrotesqueBird%20%E2%93%87%22%2C%20class%3D%22port%20port-required%22%5D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20penwidth%3D2%0A%20%20%20%20%20%20%20%20fillcolor%3D%22%23d4e3f0%22%0A%20%20%20%20%20%20%20%20tooltip%3D%22c_ShySnake%20%3A%20C_FrightenedTiger%22%0A%20%20%20%20%20%20%20%20class%3D%22component-box%20has-provided-port%20has-required-port%22%0A%20%20%20%20%20%20%20%20id%3D%22e29%22%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20subgraph%20%22cluster%20C_CalmHare.c_GrotesqueLeopard%22%20%7B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20rank%3D%22source%22%0A%20%20%20%20%20%20%20%20%20%20p13%20%5Bid%3D%22e106%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_ObnoxiousPorcupine%20%3A%20P_ZanyCat%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20p14%20%5Bid%3D%22e107%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_DisgustedBuzzard%5B0%5D%20%3A%20P_JoyousLynx%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20p15%20%5Bid%3D%22e108%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_DisgustedBuzzard%5B1%5D%20%3A%20P_JoyousLynx%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20p16%20%5Bid%3D%22e109%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_DisgustedBuzzard%5B2%5D%20%3A%20P_JoyousLynx%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20p17%20%5Bid%3D%22e110%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_DisgustedBuzzard%5B3%5D%20%3A%20P_JoyousLynx%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20p18%20%5Bid%3D%22e111%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_DisgustedBuzzard%5B4%5D%20%3A%20P_JoyousLynx%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20p19%20%5Bid%3D%22e112%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_DisgustedBuzzard%5B5%5D%20%3A%20P_JoyousLynx%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20p20%20%5Bid%3D%22e113%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_DisgustedBuzzard%5B6%5D%20%3A%20P_JoyousLynx%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20p21%20%5Bid%3D%22e114%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_DisgustedBuzzard%5B7%5D%20%3A%20P_JoyousLynx%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20p22%20%5Bid%3D%22e115%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_DisgustedBuzzard%5B8%5D%20%3A%20P_JoyousLynx%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20p23%20%5Bid%3D%22e116%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_DisgustedBuzzard%5B9%5D%20%3A%20P_JoyousLynx%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20subgraph%20cluster%20%7B%0A%20%20%20%20%20%20%20%20%20%20subgraph%20%22cluster%20C_CalmHare.c_GrotesqueLeopard.c_GrotesqueLeopard%22%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22source%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20p2%20%5Bid%3D%22e32%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_UnusualBadger%20%3A%20P_ZanyCat%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20subgraph%20cluster%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22C_CalmHare.c_GrotesqueLeopard.c_GrotesqueLeopard%22%20%5Blabel%3D%3C%3Cb%3Ec_GrotesqueLeopard%3C%2Fb%3E%3Cbr%2F%3EC_ElatedDuck%3E%2C%20height%3D0%2C%20width%3D0.5555555555555556%2C%20margin%3D%220.1111111111111111%2C0%22%2C%20penwidth%3D0%2C%20tooltip%3D%22c_GrotesqueLeopard%20%3A%20C_ElatedDuck%22%2C%20id%3D%22e30%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20penwidth%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e31%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22sink%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22C_CalmHare.c_GrotesqueLeopard.c_GrotesqueLeopard_bottom_spacer%22%20%5Bwidth%3D0%2C%20height%3D0%2C%20penwidth%3D0%2C%20label%3D%22%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20fillcolor%3D%22%23d4e3f0%22%0A%20%20%20%20%20%20%20%20%20%20%20%20tooltip%3D%22c_GrotesqueLeopard%20%3A%20C_ElatedDuck%22%0A%20%20%20%20%20%20%20%20%20%20%20%20class%3D%22component-box%20has-provided-port%22%0A%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e33%22%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20subgraph%20%22cluster%20C_CalmHare.c_GrotesqueLeopard.c_WanderingSquirrel%5B0%5D%22%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22source%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20p3%20%5Bid%3D%22e36%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_UnusualBadger%20%3A%20P_JoyousLynx%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20subgraph%20cluster%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22C_CalmHare.c_GrotesqueLeopard.c_WanderingSquirrel%5B0%5D%22%20%5Blabel%3D%3C%3Cb%3Ec_WanderingSquirrel%5B0%5D%3C%2Fb%3E%3Cbr%2F%3EC_CheerfulOrca%3E%2C%20height%3D0%2C%20width%3D0.5555555555555556%2C%20margin%3D%220.1111111111111111%2C0%22%2C%20penwidth%3D0%2C%20tooltip%3D%22c_WanderingSquirrel%5B0%5D%20%3A%20C_CheerfulOrca%22%2C%20id%3D%22e34%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20penwidth%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e35%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22sink%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20r17%20%5Bid%3D%22e37%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22r_DullFly%20%3A%20P_CombativeSloth%20%E2%93%87%22%2C%20class%3D%22port%20port-required%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20fillcolor%3D%22%23d4e3f0%22%0A%20%20%20%20%20%20%20%20%20%20%20%20tooltip%3D%22c_WanderingSquirrel%5B0%5D%20%3A%20C_CheerfulOrca%22%0A%20%20%20%20%20%20%20%20%20%20%20%20class%3D%22component-box%20has-provided-port%20has-required-port%22%0A%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e38%22%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20subgraph%20%22cluster%20C_CalmHare.c_GrotesqueLeopard.c_WanderingSquirrel%5B1%5D%22%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22source%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20p4%20%5Bid%3D%22e41%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_UnusualBadger%20%3A%20P_JoyousLynx%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20subgraph%20cluster%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22C_CalmHare.c_GrotesqueLeopard.c_WanderingSquirrel%5B1%5D%22%20%5Blabel%3D%3C%3Cb%3Ec_WanderingSquirrel%5B1%5D%3C%2Fb%3E%3Cbr%2F%3EC_CheerfulOrca%3E%2C%20height%3D0%2C%20width%3D0.5555555555555556%2C%20margin%3D%220.1111111111111111%2C0%22%2C%20penwidth%3D0%2C%20tooltip%3D%22c_WanderingSquirrel%5B1%5D%20%3A%20C_CheerfulOrca%22%2C%20id%3D%22e39%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20penwidth%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e40%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22sink%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20r18%20%5Bid%3D%22e42%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22r_DullFly%20%3A%20P_CombativeSloth%20%E2%93%87%22%2C%20class%3D%22port%20port-required%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20fillcolor%3D%22%23d4e3f0%22%0A%20%20%20%20%20%20%20%20%20%20%20%20tooltip%3D%22c_WanderingSquirrel%5B1%5D%20%3A%20C_CheerfulOrca%22%0A%20%20%20%20%20%20%20%20%20%20%20%20class%3D%22component-box%20has-provided-port%20has-required-port%22%0A%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e43%22%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20subgraph%20%22cluster%20C_CalmHare.c_GrotesqueLeopard.c_WanderingSquirrel%5B2%5D%22%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22source%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20p5%20%5Bid%3D%22e46%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_UnusualBadger%20%3A%20P_JoyousLynx%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20subgraph%20cluster%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22C_CalmHare.c_GrotesqueLeopard.c_WanderingSquirrel%5B2%5D%22%20%5Blabel%3D%3C%3Cb%3Ec_WanderingSquirrel%5B2%5D%3C%2Fb%3E%3Cbr%2F%3EC_CheerfulOrca%3E%2C%20height%3D0%2C%20width%3D0.5555555555555556%2C%20margin%3D%220.1111111111111111%2C0%22%2C%20penwidth%3D0%2C%20tooltip%3D%22c_WanderingSquirrel%5B2%5D%20%3A%20C_CheerfulOrca%22%2C%20id%3D%22e44%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20penwidth%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e45%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22sink%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20r19%20%5Bid%3D%22e47%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22r_DullFly%20%3A%20P_CombativeSloth%20%E2%93%87%22%2C%20class%3D%22port%20port-required%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20fillcolor%3D%22%23d4e3f0%22%0A%20%20%20%20%20%20%20%20%20%20%20%20tooltip%3D%22c_WanderingSquirrel%5B2%5D%20%3A%20C_CheerfulOrca%22%0A%20%20%20%20%20%20%20%20%20%20%20%20class%3D%22component-box%20has-provided-port%20has-required-port%22%0A%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e48%22%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20subgraph%20%22cluster%20C_CalmHare.c_GrotesqueLeopard.c_WanderingSquirrel%5B3%5D%22%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22source%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20p6%20%5Bid%3D%22e51%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_UnusualBadger%20%3A%20P_JoyousLynx%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20subgraph%20cluster%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22C_CalmHare.c_GrotesqueLeopard.c_WanderingSquirrel%5B3%5D%22%20%5Blabel%3D%3C%3Cb%3Ec_WanderingSquirrel%5B3%5D%3C%2Fb%3E%3Cbr%2F%3EC_CheerfulOrca%3E%2C%20height%3D0%2C%20width%3D0.5555555555555556%2C%20margin%3D%220.1111111111111111%2C0%22%2C%20penwidth%3D0%2C%20tooltip%3D%22c_WanderingSquirrel%5B3%5D%20%3A%20C_CheerfulOrca%22%2C%20id%3D%22e49%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20penwidth%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e50%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22sink%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20r20%20%5Bid%3D%22e52%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22r_DullFly%20%3A%20P_CombativeSloth%20%E2%93%87%22%2C%20class%3D%22port%20port-required%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20fillcolor%3D%22%23d4e3f0%22%0A%20%20%20%20%20%20%20%20%20%20%20%20tooltip%3D%22c_WanderingSquirrel%5B3%5D%20%3A%20C_CheerfulOrca%22%0A%20%20%20%20%20%20%20%20%20%20%20%20class%3D%22component-box%20has-provided-port%20has-required-port%22%0A%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e53%22%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20subgraph%20%22cluster%20C_CalmHare.c_GrotesqueLeopard.c_WanderingSquirrel%5B4%5D%22%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22source%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20p7%20%5Bid%3D%22e56%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_UnusualBadger%20%3A%20P_JoyousLynx%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20subgraph%20cluster%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22C_CalmHare.c_GrotesqueLeopard.c_WanderingSquirrel%5B4%5D%22%20%5Blabel%3D%3C%3Cb%3Ec_WanderingSquirrel%5B4%5D%3C%2Fb%3E%3Cbr%2F%3EC_CheerfulOrca%3E%2C%20height%3D0%2C%20width%3D0.5555555555555556%2C%20margin%3D%220.1111111111111111%2C0%22%2C%20penwidth%3D0%2C%20tooltip%3D%22c_WanderingSquirrel%5B4%5D%20%3A%20C_CheerfulOrca%22%2C%20id%3D%22e54%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20penwidth%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e55%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22sink%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20r21%20%5Bid%3D%22e57%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22r_DullFly%20%3A%20P_CombativeSloth%20%E2%93%87%22%2C%20class%3D%22port%20port-required%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20fillcolor%3D%22%23d4e3f0%22%0A%20%20%20%20%20%20%20%20%20%20%20%20tooltip%3D%22c_WanderingSquirrel%5B4%5D%20%3A%20C_CheerfulOrca%22%0A%20%20%20%20%20%20%20%20%20%20%20%20class%3D%22component-box%20has-provided-port%20has-required-port%22%0A%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e58%22%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20subgraph%20%22cluster%20C_CalmHare.c_GrotesqueLeopard.c_WanderingSquirrel%5B5%5D%22%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22source%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20p8%20%5Bid%3D%22e61%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_UnusualBadger%20%3A%20P_JoyousLynx%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20subgraph%20cluster%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22C_CalmHare.c_GrotesqueLeopard.c_WanderingSquirrel%5B5%5D%22%20%5Blabel%3D%3C%3Cb%3Ec_WanderingSquirrel%5B5%5D%3C%2Fb%3E%3Cbr%2F%3EC_CheerfulOrca%3E%2C%20height%3D0%2C%20width%3D0.5555555555555556%2C%20margin%3D%220.1111111111111111%2C0%22%2C%20penwidth%3D0%2C%20tooltip%3D%22c_WanderingSquirrel%5B5%5D%20%3A%20C_CheerfulOrca%22%2C%20id%3D%22e59%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20penwidth%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e60%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22sink%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20r22%20%5Bid%3D%22e62%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22r_DullFly%20%3A%20P_CombativeSloth%20%E2%93%87%22%2C%20class%3D%22port%20port-required%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20fillcolor%3D%22%23d4e3f0%22%0A%20%20%20%20%20%20%20%20%20%20%20%20tooltip%3D%22c_WanderingSquirrel%5B5%5D%20%3A%20C_CheerfulOrca%22%0A%20%20%20%20%20%20%20%20%20%20%20%20class%3D%22component-box%20has-provided-port%20has-required-port%22%0A%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e63%22%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20subgraph%20%22cluster%20C_CalmHare.c_GrotesqueLeopard.c_WanderingSquirrel%5B6%5D%22%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22source%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20p9%20%5Bid%3D%22e66%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_UnusualBadger%20%3A%20P_JoyousLynx%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20subgraph%20cluster%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22C_CalmHare.c_GrotesqueLeopard.c_WanderingSquirrel%5B6%5D%22%20%5Blabel%3D%3C%3Cb%3Ec_WanderingSquirrel%5B6%5D%3C%2Fb%3E%3Cbr%2F%3EC_CheerfulOrca%3E%2C%20height%3D0%2C%20width%3D0.5555555555555556%2C%20margin%3D%220.1111111111111111%2C0%22%2C%20penwidth%3D0%2C%20tooltip%3D%22c_WanderingSquirrel%5B6%5D%20%3A%20C_CheerfulOrca%22%2C%20id%3D%22e64%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20penwidth%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e65%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22sink%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20r23%20%5Bid%3D%22e67%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22r_DullFly%20%3A%20P_CombativeSloth%20%E2%93%87%22%2C%20class%3D%22port%20port-required%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20fillcolor%3D%22%23d4e3f0%22%0A%20%20%20%20%20%20%20%20%20%20%20%20tooltip%3D%22c_WanderingSquirrel%5B6%5D%20%3A%20C_CheerfulOrca%22%0A%20%20%20%20%20%20%20%20%20%20%20%20class%3D%22component-box%20has-provided-port%20has-required-port%22%0A%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e68%22%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20subgraph%20%22cluster%20C_CalmHare.c_GrotesqueLeopard.c_WanderingSquirrel%5B7%5D%22%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22source%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20p10%20%5Bid%3D%22e71%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_UnusualBadger%20%3A%20P_JoyousLynx%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20subgraph%20cluster%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22C_CalmHare.c_GrotesqueLeopard.c_WanderingSquirrel%5B7%5D%22%20%5Blabel%3D%3C%3Cb%3Ec_WanderingSquirrel%5B7%5D%3C%2Fb%3E%3Cbr%2F%3EC_CheerfulOrca%3E%2C%20height%3D0%2C%20width%3D0.5555555555555556%2C%20margin%3D%220.1111111111111111%2C0%22%2C%20penwidth%3D0%2C%20tooltip%3D%22c_WanderingSquirrel%5B7%5D%20%3A%20C_CheerfulOrca%22%2C%20id%3D%22e69%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20penwidth%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e70%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22sink%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20r24%20%5Bid%3D%22e72%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22r_DullFly%20%3A%20P_CombativeSloth%20%E2%93%87%22%2C%20class%3D%22port%20port-required%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20fillcolor%3D%22%23d4e3f0%22%0A%20%20%20%20%20%20%20%20%20%20%20%20tooltip%3D%22c_WanderingSquirrel%5B7%5D%20%3A%20C_CheerfulOrca%22%0A%20%20%20%20%20%20%20%20%20%20%20%20class%3D%22component-box%20has-provided-port%20has-required-port%22%0A%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e73%22%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20subgraph%20%22cluster%20C_CalmHare.c_GrotesqueLeopard.c_WanderingSquirrel%5B8%5D%22%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22source%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20p11%20%5Bid%3D%22e76%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_UnusualBadger%20%3A%20P_JoyousLynx%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20subgraph%20cluster%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22C_CalmHare.c_GrotesqueLeopard.c_WanderingSquirrel%5B8%5D%22%20%5Blabel%3D%3C%3Cb%3Ec_WanderingSquirrel%5B8%5D%3C%2Fb%3E%3Cbr%2F%3EC_CheerfulOrca%3E%2C%20height%3D0%2C%20width%3D0.5555555555555556%2C%20margin%3D%220.1111111111111111%2C0%22%2C%20penwidth%3D0%2C%20tooltip%3D%22c_WanderingSquirrel%5B8%5D%20%3A%20C_CheerfulOrca%22%2C%20id%3D%22e74%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20penwidth%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e75%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22sink%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20r25%20%5Bid%3D%22e77%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22r_DullFly%20%3A%20P_CombativeSloth%20%E2%93%87%22%2C%20class%3D%22port%20port-required%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20fillcolor%3D%22%23d4e3f0%22%0A%20%20%20%20%20%20%20%20%20%20%20%20tooltip%3D%22c_WanderingSquirrel%5B8%5D%20%3A%20C_CheerfulOrca%22%0A%20%20%20%20%20%20%20%20%20%20%20%20class%3D%22component-box%20has-provided-port%20has-required-port%22%0A%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e78%22%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20subgraph%20%22cluster%20C_CalmHare.c_GrotesqueLeopard.c_WanderingSquirrel%5B9%5D%22%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22source%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20p12%20%5Bid%3D%22e81%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_UnusualBadger%20%3A%20P_JoyousLynx%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20subgraph%20cluster%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22C_CalmHare.c_GrotesqueLeopard.c_WanderingSquirrel%5B9%5D%22%20%5Blabel%3D%3C%3Cb%3Ec_WanderingSquirrel%5B9%5D%3C%2Fb%3E%3Cbr%2F%3EC_CheerfulOrca%3E%2C%20height%3D0%2C%20width%3D0.5555555555555556%2C%20margin%3D%220.1111111111111111%2C0%22%2C%20penwidth%3D0%2C%20tooltip%3D%22c_WanderingSquirrel%5B9%5D%20%3A%20C_CheerfulOrca%22%2C%20id%3D%22e79%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20penwidth%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e80%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22sink%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20r26%20%5Bid%3D%22e82%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22r_DullFly%20%3A%20P_CombativeSloth%20%E2%93%87%22%2C%20class%3D%22port%20port-required%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20fillcolor%3D%22%23d4e3f0%22%0A%20%20%20%20%20%20%20%20%20%20%20%20tooltip%3D%22c_WanderingSquirrel%5B9%5D%20%3A%20C_CheerfulOrca%22%0A%20%20%20%20%20%20%20%20%20%20%20%20class%3D%22component-box%20has-provided-port%20has-required-port%22%0A%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e83%22%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20label%3D%3C%3Cb%3Ec_GrotesqueLeopard%3C%2Fb%3E%3Cbr%2F%3EC_KindLocust%3E%0A%20%20%20%20%20%20%20%20%20%20penwidth%3D0%0A%20%20%20%20%20%20%20%20%20%20tooltip%3D%22c_GrotesqueLeopard%20%3A%20C_KindLocust%22%0A%20%20%20%20%20%20%20%20%20%20margin%3D24%0A%20%20%20%20%20%20%20%20%20%20id%3D%22e84%22%0A%20%20%20%20%20%20%20%20%20%20p13%3As%20-%3E%20p2%3An%20%5Bid%3D%22e85%22%2C%20minlen%3D1%5D%0A%20%20%20%20%20%20%20%20%20%20p14%3As%20-%3E%20p3%3An%20%5Bid%3D%22e86%22%2C%20minlen%3D1%5D%0A%20%20%20%20%20%20%20%20%20%20p15%3As%20-%3E%20p4%3An%20%5Bid%3D%22e87%22%2C%20minlen%3D1%5D%0A%20%20%20%20%20%20%20%20%20%20p16%3As%20-%3E%20p5%3An%20%5Bid%3D%22e88%22%2C%20minlen%3D1%5D%0A%20%20%20%20%20%20%20%20%20%20p17%3As%20-%3E%20p6%3An%20%5Bid%3D%22e89%22%2C%20minlen%3D1%5D%0A%20%20%20%20%20%20%20%20%20%20p18%3As%20-%3E%20p7%3An%20%5Bid%3D%22e90%22%2C%20minlen%3D1%5D%0A%20%20%20%20%20%20%20%20%20%20p19%3As%20-%3E%20p8%3An%20%5Bid%3D%22e91%22%2C%20minlen%3D1%5D%0A%20%20%20%20%20%20%20%20%20%20p20%3As%20-%3E%20p9%3An%20%5Bid%3D%22e92%22%2C%20minlen%3D1%5D%0A%20%20%20%20%20%20%20%20%20%20p21%3As%20-%3E%20p10%3An%20%5Bid%3D%22e93%22%2C%20minlen%3D1%5D%0A%20%20%20%20%20%20%20%20%20%20p22%3As%20-%3E%20p11%3An%20%5Bid%3D%22e94%22%2C%20minlen%3D1%5D%0A%20%20%20%20%20%20%20%20%20%20p23%3As%20-%3E%20p12%3An%20%5Bid%3D%22e95%22%2C%20minlen%3D1%5D%0A%20%20%20%20%20%20%20%20%20%20r17%3As%20-%3E%20r27%3An%20%5Bid%3D%22e96%22%2C%20minlen%3D1%5D%0A%20%20%20%20%20%20%20%20%20%20r18%3As%20-%3E%20r28%3An%20%5Bid%3D%22e97%22%2C%20minlen%3D1%5D%0A%20%20%20%20%20%20%20%20%20%20r19%3As%20-%3E%20r29%3An%20%5Bid%3D%22e98%22%2C%20minlen%3D1%5D%0A%20%20%20%20%20%20%20%20%20%20r20%3As%20-%3E%20r30%3An%20%5Bid%3D%22e99%22%2C%20minlen%3D1%5D%0A%20%20%20%20%20%20%20%20%20%20r21%3As%20-%3E%20r31%3An%20%5Bid%3D%22e100%22%2C%20minlen%3D1%5D%0A%20%20%20%20%20%20%20%20%20%20r22%3As%20-%3E%20r32%3An%20%5Bid%3D%22e101%22%2C%20minlen%3D1%5D%0A%20%20%20%20%20%20%20%20%20%20r23%3As%20-%3E%20r33%3An%20%5Bid%3D%22e102%22%2C%20minlen%3D1%5D%0A%20%20%20%20%20%20%20%20%20%20r24%3As%20-%3E%20r34%3An%20%5Bid%3D%22e103%22%2C%20minlen%3D1%5D%0A%20%20%20%20%20%20%20%20%20%20r25%3As%20-%3E%20r35%3An%20%5Bid%3D%22e104%22%2C%20minlen%3D1%5D%0A%20%20%20%20%20%20%20%20%20%20r26%3As%20-%3E%20r36%3An%20%5Bid%3D%22e105%22%2C%20minlen%3D1%5D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20rank%3D%22sink%22%0A%20%20%20%20%20%20%20%20%20%20r27%20%5Bid%3D%22e117%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22r_EnergeticCoot%5B0%5D%20%3A%20P_CombativeSloth%20%E2%93%87%22%2C%20class%3D%22port%20port-required%22%5D%0A%20%20%20%20%20%20%20%20%20%20r28%20%5Bid%3D%22e118%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22r_EnergeticCoot%5B1%5D%20%3A%20P_CombativeSloth%20%E2%93%87%22%2C%20class%3D%22port%20port-required%22%5D%0A%20%20%20%20%20%20%20%20%20%20r29%20%5Bid%3D%22e119%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22r_EnergeticCoot%5B2%5D%20%3A%20P_CombativeSloth%20%E2%93%87%22%2C%20class%3D%22port%20port-required%22%5D%0A%20%20%20%20%20%20%20%20%20%20r30%20%5Bid%3D%22e120%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22r_EnergeticCoot%5B3%5D%20%3A%20P_CombativeSloth%20%E2%93%87%22%2C%20class%3D%22port%20port-required%22%5D%0A%20%20%20%20%20%20%20%20%20%20r31%20%5Bid%3D%22e121%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22r_EnergeticCoot%5B4%5D%20%3A%20P_CombativeSloth%20%E2%93%87%22%2C%20class%3D%22port%20port-required%22%5D%0A%20%20%20%20%20%20%20%20%20%20r32%20%5Bid%3D%22e122%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22r_EnergeticCoot%5B5%5D%20%3A%20P_CombativeSloth%20%E2%93%87%22%2C%20class%3D%22port%20port-required%22%5D%0A%20%20%20%20%20%20%20%20%20%20r33%20%5Bid%3D%22e123%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22r_EnergeticCoot%5B6%5D%20%3A%20P_CombativeSloth%20%E2%93%87%22%2C%20class%3D%22port%20port-required%22%5D%0A%20%20%20%20%20%20%20%20%20%20r34%20%5Bid%3D%22e124%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22r_EnergeticCoot%5B7%5D%20%3A%20P_CombativeSloth%20%E2%93%87%22%2C%20class%3D%22port%20port-required%22%5D%0A%20%20%20%20%20%20%20%20%20%20r35%20%5Bid%3D%22e125%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22r_EnergeticCoot%5B8%5D%20%3A%20P_CombativeSloth%20%E2%93%87%22%2C%20class%3D%22port%20port-required%22%5D%0A%20%20%20%20%20%20%20%20%20%20r36%20%5Bid%3D%22e126%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22r_EnergeticCoot%5B9%5D%20%3A%20P_CombativeSloth%20%E2%93%87%22%2C%20class%3D%22port%20port-required%22%5D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20penwidth%3D2%0A%20%20%20%20%20%20%20%20fillcolor%3D%22%23d4e3f0%22%0A%20%20%20%20%20%20%20%20tooltip%3D%22c_GrotesqueLeopard%20%3A%20C_KindLocust%22%0A%20%20%20%20%20%20%20%20class%3D%22component-box%20has-provided-port%20has-required-port%22%0A%20%20%20%20%20%20%20%20id%3D%22e127%22%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20subgraph%20%22cluster%20C_CalmHare.c_DefeatedPenguin%22%20%7B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20rank%3D%22source%22%0A%20%20%20%20%20%20%20%20%20%20p35%20%5Bid%3D%22e184%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_ObnoxiousPorcupine%20%3A%20P_GrotesqueBird%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20p36%20%5Bid%3D%22e185%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_EnergeticCoot%5B0%5D%20%3A%20P_CombativeSloth%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20p37%20%5Bid%3D%22e186%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_EnergeticCoot%5B1%5D%20%3A%20P_CombativeSloth%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20p38%20%5Bid%3D%22e187%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_EnergeticCoot%5B2%5D%20%3A%20P_CombativeSloth%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20p39%20%5Bid%3D%22e188%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_EnergeticCoot%5B3%5D%20%3A%20P_CombativeSloth%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20p40%20%5Bid%3D%22e189%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_EnergeticCoot%5B4%5D%20%3A%20P_CombativeSloth%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20p41%20%5Bid%3D%22e190%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_EnergeticCoot%5B5%5D%20%3A%20P_CombativeSloth%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20p42%20%5Bid%3D%22e191%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_EnergeticCoot%5B6%5D%20%3A%20P_CombativeSloth%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20p43%20%5Bid%3D%22e192%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_EnergeticCoot%5B7%5D%20%3A%20P_CombativeSloth%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20p44%20%5Bid%3D%22e193%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_EnergeticCoot%5B8%5D%20%3A%20P_CombativeSloth%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20p45%20%5Bid%3D%22e194%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_EnergeticCoot%5B9%5D%20%3A%20P_CombativeSloth%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20subgraph%20cluster%20%7B%0A%20%20%20%20%20%20%20%20%20%20subgraph%20%22cluster%20C_CalmHare.c_DefeatedPenguin.c_DefeatedPenguin%22%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22source%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20p24%20%5Bid%3D%22e130%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_UnusualBadger%20%3A%20P_GrotesqueBird%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20subgraph%20cluster%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22C_CalmHare.c_DefeatedPenguin.c_DefeatedPenguin%22%20%5Blabel%3D%3C%3Cb%3Ec_DefeatedPenguin%3C%2Fb%3E%3Cbr%2F%3EC_KindQuail%3E%2C%20height%3D0%2C%20width%3D0.5555555555555556%2C%20margin%3D%220.1111111111111111%2C0%22%2C%20penwidth%3D0%2C%20tooltip%3D%22c_DefeatedPenguin%20%3A%20C_KindQuail%22%2C%20id%3D%22e128%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20penwidth%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e129%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22sink%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22C_CalmHare.c_DefeatedPenguin.c_DefeatedPenguin_bottom_spacer%22%20%5Bwidth%3D0%2C%20height%3D0%2C%20penwidth%3D0%2C%20label%3D%22%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20fillcolor%3D%22%23d4e3f0%22%0A%20%20%20%20%20%20%20%20%20%20%20%20tooltip%3D%22c_DefeatedPenguin%20%3A%20C_KindQuail%22%0A%20%20%20%20%20%20%20%20%20%20%20%20class%3D%22component-box%20has-provided-port%22%0A%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e131%22%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20subgraph%20%22cluster%20C_CalmHare.c_DefeatedPenguin.c_ElegantHummingbird%5B0%5D%22%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22source%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20p25%20%5Bid%3D%22e134%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_UnusualBadger%20%3A%20P_CombativeSloth%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20subgraph%20cluster%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22C_CalmHare.c_DefeatedPenguin.c_ElegantHummingbird%5B0%5D%22%20%5Blabel%3D%3C%3Cb%3Ec_ElegantHummingbird%5B0%5D%3C%2Fb%3E%3Cbr%2F%3EC_ColourfulGorilla%3E%2C%20height%3D0%2C%20width%3D0.5555555555555556%2C%20margin%3D%220.1111111111111111%2C0%22%2C%20penwidth%3D0%2C%20tooltip%3D%22c_ElegantHummingbird%5B0%5D%20%3A%20C_ColourfulGorilla%22%2C%20id%3D%22e132%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20penwidth%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e133%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22sink%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22C_CalmHare.c_DefeatedPenguin.c_ElegantHummingbird%5B0%5D_bottom_spacer%22%20%5Bwidth%3D0%2C%20height%3D0%2C%20penwidth%3D0%2C%20label%3D%22%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20fillcolor%3D%22%23d4e3f0%22%0A%20%20%20%20%20%20%20%20%20%20%20%20tooltip%3D%22c_ElegantHummingbird%5B0%5D%20%3A%20C_ColourfulGorilla%22%0A%20%20%20%20%20%20%20%20%20%20%20%20class%3D%22component-box%20has-provided-port%22%0A%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e135%22%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20subgraph%20%22cluster%20C_CalmHare.c_DefeatedPenguin.c_ElegantHummingbird%5B1%5D%22%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22source%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20p26%20%5Bid%3D%22e138%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_UnusualBadger%20%3A%20P_CombativeSloth%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20subgraph%20cluster%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22C_CalmHare.c_DefeatedPenguin.c_ElegantHummingbird%5B1%5D%22%20%5Blabel%3D%3C%3Cb%3Ec_ElegantHummingbird%5B1%5D%3C%2Fb%3E%3Cbr%2F%3EC_ColourfulGorilla%3E%2C%20height%3D0%2C%20width%3D0.5555555555555556%2C%20margin%3D%220.1111111111111111%2C0%22%2C%20penwidth%3D0%2C%20tooltip%3D%22c_ElegantHummingbird%5B1%5D%20%3A%20C_ColourfulGorilla%22%2C%20id%3D%22e136%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20penwidth%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e137%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22sink%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22C_CalmHare.c_DefeatedPenguin.c_ElegantHummingbird%5B1%5D_bottom_spacer%22%20%5Bwidth%3D0%2C%20height%3D0%2C%20penwidth%3D0%2C%20label%3D%22%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20fillcolor%3D%22%23d4e3f0%22%0A%20%20%20%20%20%20%20%20%20%20%20%20tooltip%3D%22c_ElegantHummingbird%5B1%5D%20%3A%20C_ColourfulGorilla%22%0A%20%20%20%20%20%20%20%20%20%20%20%20class%3D%22component-box%20has-provided-port%22%0A%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e139%22%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20subgraph%20%22cluster%20C_CalmHare.c_DefeatedPenguin.c_ElegantHummingbird%5B2%5D%22%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22source%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20p27%20%5Bid%3D%22e142%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_UnusualBadger%20%3A%20P_CombativeSloth%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20subgraph%20cluster%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22C_CalmHare.c_DefeatedPenguin.c_ElegantHummingbird%5B2%5D%22%20%5Blabel%3D%3C%3Cb%3Ec_ElegantHummingbird%5B2%5D%3C%2Fb%3E%3Cbr%2F%3EC_ColourfulGorilla%3E%2C%20height%3D0%2C%20width%3D0.5555555555555556%2C%20margin%3D%220.1111111111111111%2C0%22%2C%20penwidth%3D0%2C%20tooltip%3D%22c_ElegantHummingbird%5B2%5D%20%3A%20C_ColourfulGorilla%22%2C%20id%3D%22e140%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20penwidth%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e141%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22sink%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22C_CalmHare.c_DefeatedPenguin.c_ElegantHummingbird%5B2%5D_bottom_spacer%22%20%5Bwidth%3D0%2C%20height%3D0%2C%20penwidth%3D0%2C%20label%3D%22%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20fillcolor%3D%22%23d4e3f0%22%0A%20%20%20%20%20%20%20%20%20%20%20%20tooltip%3D%22c_ElegantHummingbird%5B2%5D%20%3A%20C_ColourfulGorilla%22%0A%20%20%20%20%20%20%20%20%20%20%20%20class%3D%22component-box%20has-provided-port%22%0A%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e143%22%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20subgraph%20%22cluster%20C_CalmHare.c_DefeatedPenguin.c_ElegantHummingbird%5B3%5D%22%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22source%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20p28%20%5Bid%3D%22e146%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_UnusualBadger%20%3A%20P_CombativeSloth%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20subgraph%20cluster%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22C_CalmHare.c_DefeatedPenguin.c_ElegantHummingbird%5B3%5D%22%20%5Blabel%3D%3C%3Cb%3Ec_ElegantHummingbird%5B3%5D%3C%2Fb%3E%3Cbr%2F%3EC_ColourfulGorilla%3E%2C%20height%3D0%2C%20width%3D0.5555555555555556%2C%20margin%3D%220.1111111111111111%2C0%22%2C%20penwidth%3D0%2C%20tooltip%3D%22c_ElegantHummingbird%5B3%5D%20%3A%20C_ColourfulGorilla%22%2C%20id%3D%22e144%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20penwidth%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e145%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22sink%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22C_CalmHare.c_DefeatedPenguin.c_ElegantHummingbird%5B3%5D_bottom_spacer%22%20%5Bwidth%3D0%2C%20height%3D0%2C%20penwidth%3D0%2C%20label%3D%22%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20fillcolor%3D%22%23d4e3f0%22%0A%20%20%20%20%20%20%20%20%20%20%20%20tooltip%3D%22c_ElegantHummingbird%5B3%5D%20%3A%20C_ColourfulGorilla%22%0A%20%20%20%20%20%20%20%20%20%20%20%20class%3D%22component-box%20has-provided-port%22%0A%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e147%22%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20subgraph%20%22cluster%20C_CalmHare.c_DefeatedPenguin.c_ElegantHummingbird%5B4%5D%22%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22source%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20p29%20%5Bid%3D%22e150%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_UnusualBadger%20%3A%20P_CombativeSloth%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20subgraph%20cluster%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22C_CalmHare.c_DefeatedPenguin.c_ElegantHummingbird%5B4%5D%22%20%5Blabel%3D%3C%3Cb%3Ec_ElegantHummingbird%5B4%5D%3C%2Fb%3E%3Cbr%2F%3EC_ColourfulGorilla%3E%2C%20height%3D0%2C%20width%3D0.5555555555555556%2C%20margin%3D%220.1111111111111111%2C0%22%2C%20penwidth%3D0%2C%20tooltip%3D%22c_ElegantHummingbird%5B4%5D%20%3A%20C_ColourfulGorilla%22%2C%20id%3D%22e148%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20penwidth%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e149%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22sink%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22C_CalmHare.c_DefeatedPenguin.c_ElegantHummingbird%5B4%5D_bottom_spacer%22%20%5Bwidth%3D0%2C%20height%3D0%2C%20penwidth%3D0%2C%20label%3D%22%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20fillcolor%3D%22%23d4e3f0%22%0A%20%20%20%20%20%20%20%20%20%20%20%20tooltip%3D%22c_ElegantHummingbird%5B4%5D%20%3A%20C_ColourfulGorilla%22%0A%20%20%20%20%20%20%20%20%20%20%20%20class%3D%22component-box%20has-provided-port%22%0A%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e151%22%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20subgraph%20%22cluster%20C_CalmHare.c_DefeatedPenguin.c_ElegantHummingbird%5B5%5D%22%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22source%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20p30%20%5Bid%3D%22e154%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_UnusualBadger%20%3A%20P_CombativeSloth%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20subgraph%20cluster%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22C_CalmHare.c_DefeatedPenguin.c_ElegantHummingbird%5B5%5D%22%20%5Blabel%3D%3C%3Cb%3Ec_ElegantHummingbird%5B5%5D%3C%2Fb%3E%3Cbr%2F%3EC_ColourfulGorilla%3E%2C%20height%3D0%2C%20width%3D0.5555555555555556%2C%20margin%3D%220.1111111111111111%2C0%22%2C%20penwidth%3D0%2C%20tooltip%3D%22c_ElegantHummingbird%5B5%5D%20%3A%20C_ColourfulGorilla%22%2C%20id%3D%22e152%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20penwidth%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e153%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22sink%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22C_CalmHare.c_DefeatedPenguin.c_ElegantHummingbird%5B5%5D_bottom_spacer%22%20%5Bwidth%3D0%2C%20height%3D0%2C%20penwidth%3D0%2C%20label%3D%22%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20fillcolor%3D%22%23d4e3f0%22%0A%20%20%20%20%20%20%20%20%20%20%20%20tooltip%3D%22c_ElegantHummingbird%5B5%5D%20%3A%20C_ColourfulGorilla%22%0A%20%20%20%20%20%20%20%20%20%20%20%20class%3D%22component-box%20has-provided-port%22%0A%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e155%22%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20subgraph%20%22cluster%20C_CalmHare.c_DefeatedPenguin.c_ElegantHummingbird%5B6%5D%22%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22source%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20p31%20%5Bid%3D%22e158%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_UnusualBadger%20%3A%20P_CombativeSloth%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20subgraph%20cluster%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22C_CalmHare.c_DefeatedPenguin.c_ElegantHummingbird%5B6%5D%22%20%5Blabel%3D%3C%3Cb%3Ec_ElegantHummingbird%5B6%5D%3C%2Fb%3E%3Cbr%2F%3EC_ColourfulGorilla%3E%2C%20height%3D0%2C%20width%3D0.5555555555555556%2C%20margin%3D%220.1111111111111111%2C0%22%2C%20penwidth%3D0%2C%20tooltip%3D%22c_ElegantHummingbird%5B6%5D%20%3A%20C_ColourfulGorilla%22%2C%20id%3D%22e156%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20penwidth%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e157%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22sink%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22C_CalmHare.c_DefeatedPenguin.c_ElegantHummingbird%5B6%5D_bottom_spacer%22%20%5Bwidth%3D0%2C%20height%3D0%2C%20penwidth%3D0%2C%20label%3D%22%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20fillcolor%3D%22%23d4e3f0%22%0A%20%20%20%20%20%20%20%20%20%20%20%20tooltip%3D%22c_ElegantHummingbird%5B6%5D%20%3A%20C_ColourfulGorilla%22%0A%20%20%20%20%20%20%20%20%20%20%20%20class%3D%22component-box%20has-provided-port%22%0A%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e159%22%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20subgraph%20%22cluster%20C_CalmHare.c_DefeatedPenguin.c_ElegantHummingbird%5B7%5D%22%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22source%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20p32%20%5Bid%3D%22e162%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_UnusualBadger%20%3A%20P_CombativeSloth%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20subgraph%20cluster%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22C_CalmHare.c_DefeatedPenguin.c_ElegantHummingbird%5B7%5D%22%20%5Blabel%3D%3C%3Cb%3Ec_ElegantHummingbird%5B7%5D%3C%2Fb%3E%3Cbr%2F%3EC_ColourfulGorilla%3E%2C%20height%3D0%2C%20width%3D0.5555555555555556%2C%20margin%3D%220.1111111111111111%2C0%22%2C%20penwidth%3D0%2C%20tooltip%3D%22c_ElegantHummingbird%5B7%5D%20%3A%20C_ColourfulGorilla%22%2C%20id%3D%22e160%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20penwidth%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e161%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22sink%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22C_CalmHare.c_DefeatedPenguin.c_ElegantHummingbird%5B7%5D_bottom_spacer%22%20%5Bwidth%3D0%2C%20height%3D0%2C%20penwidth%3D0%2C%20label%3D%22%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20fillcolor%3D%22%23d4e3f0%22%0A%20%20%20%20%20%20%20%20%20%20%20%20tooltip%3D%22c_ElegantHummingbird%5B7%5D%20%3A%20C_ColourfulGorilla%22%0A%20%20%20%20%20%20%20%20%20%20%20%20class%3D%22component-box%20has-provided-port%22%0A%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e163%22%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20subgraph%20%22cluster%20C_CalmHare.c_DefeatedPenguin.c_ElegantHummingbird%5B8%5D%22%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22source%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20p33%20%5Bid%3D%22e166%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_UnusualBadger%20%3A%20P_CombativeSloth%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20subgraph%20cluster%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22C_CalmHare.c_DefeatedPenguin.c_ElegantHummingbird%5B8%5D%22%20%5Blabel%3D%3C%3Cb%3Ec_ElegantHummingbird%5B8%5D%3C%2Fb%3E%3Cbr%2F%3EC_ColourfulGorilla%3E%2C%20height%3D0%2C%20width%3D0.5555555555555556%2C%20margin%3D%220.1111111111111111%2C0%22%2C%20penwidth%3D0%2C%20tooltip%3D%22c_ElegantHummingbird%5B8%5D%20%3A%20C_ColourfulGorilla%22%2C%20id%3D%22e164%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20penwidth%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e165%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22sink%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22C_CalmHare.c_DefeatedPenguin.c_ElegantHummingbird%5B8%5D_bottom_spacer%22%20%5Bwidth%3D0%2C%20height%3D0%2C%20penwidth%3D0%2C%20label%3D%22%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20fillcolor%3D%22%23d4e3f0%22%0A%20%20%20%20%20%20%20%20%20%20%20%20tooltip%3D%22c_ElegantHummingbird%5B8%5D%20%3A%20C_ColourfulGorilla%22%0A%20%20%20%20%20%20%20%20%20%20%20%20class%3D%22component-box%20has-provided-port%22%0A%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e167%22%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20subgraph%20%22cluster%20C_CalmHare.c_DefeatedPenguin.c_ElegantHummingbird%5B9%5D%22%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22source%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20p34%20%5Bid%3D%22e170%22%2C%20label%3D%22%22%2C%20width%3D0.2777777777777778%2C%20height%3D0.2777777777777778%2C%20fillcolor%3D%22%23aac8e2%22%2C%20tooltip%3D%22p_UnusualBadger%20%3A%20P_CombativeSloth%20%E2%93%85%22%2C%20class%3D%22port%20port-provided%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20subgraph%20cluster%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22C_CalmHare.c_DefeatedPenguin.c_ElegantHummingbird%5B9%5D%22%20%5Blabel%3D%3C%3Cb%3Ec_ElegantHummingbird%5B9%5D%3C%2Fb%3E%3Cbr%2F%3EC_ColourfulGorilla%3E%2C%20height%3D0%2C%20width%3D0.5555555555555556%2C%20margin%3D%220.1111111111111111%2C0%22%2C%20penwidth%3D0%2C%20tooltip%3D%22c_ElegantHummingbird%5B9%5D%20%3A%20C_ColourfulGorilla%22%2C%20id%3D%22e168%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20penwidth%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e169%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20rank%3D%22sink%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22C_CalmHare.c_DefeatedPenguin.c_ElegantHummingbird%5B9%5D_bottom_spacer%22%20%5Bwidth%3D0%2C%20height%3D0%2C%20penwidth%3D0%2C%20label%3D%22%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20%20%20%20%20fillcolor%3D%22%23d4e3f0%22%0A%20%20%20%20%20%20%20%20%20%20%20%20tooltip%3D%22c_ElegantHummingbird%5B9%5D%20%3A%20C_ColourfulGorilla%22%0A%20%20%20%20%20%20%20%20%20%20%20%20class%3D%22component-box%20has-provided-port%22%0A%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22e171%22%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20label%3D%3C%3Cb%3Ec_DefeatedPenguin%3C%2Fb%3E%3Cbr%2F%3EC_PanickyRooster%3E%0A%20%20%20%20%20%20%20%20%20%20penwidth%3D0%0A%20%20%20%20%20%20%20%20%20%20tooltip%3D%22c_DefeatedPenguin%20%3A%20C_PanickyRooster%22%0A%20%20%20%20%20%20%20%20%20%20margin%3D24%0A%20%20%20%20%20%20%20%20%20%20id%3D%22e172%22%0A%20%20%20%20%20%20%20%20%20%20p35%3As%20-%3E%20p24%3An%20%5Bid%3D%22e173%22%2C%20minlen%3D1%5D%0A%20%20%20%20%20%20%20%20%20%20p36%3As%20-%3E%20p25%3An%20%5Bid%3D%22e174%22%2C%20minlen%3D1%5D%0A%20%20%20%20%20%20%20%20%20%20p37%3As%20-%3E%20p26%3An%20%5Bid%3D%22e175%22%2C%20minlen%3D1%5D%0A%20%20%20%20%20%20%20%20%20%20p38%3As%20-%3E%20p27%3An%20%5Bid%3D%22e176%22%2C%20minlen%3D1%5D%0A%20%20%20%20%20%20%20%20%20%20p39%3As%20-%3E%20p28%3An%20%5Bid%3D%22e177%22%2C%20minlen%3D1%5D%0A%20%20%20%20%20%20%20%20%20%20p40%3As%20-%3E%20p29%3An%20%5Bid%3D%22e178%22%2C%20minlen%3D1%5D%0A%20%20%20%20%20%20%20%20%20%20p41%3As%20-%3E%20p30%3An%20%5Bid%3D%22e179%22%2C%20minlen%3D1%5D%0A%20%20%20%20%20%20%20%20%20%20p42%3As%20-%3E%20p31%3An%20%5Bid%3D%22e180%22%2C%20minlen%3D1%5D%0A%20%20%20%20%20%20%20%20%20%20p43%3As%20-%3E%20p32%3An%20%5Bid%3D%22e181%22%2C%20minlen%3D1%5D%0A%20%20%20%20%20%20%20%20%20%20p44%3As%20-%3E%20p33%3An%20%5Bid%3D%22e182%22%2C%20minlen%3D1%5D%0A%20%20%20%20%20%20%20%20%20%20p45%3As%20-%3E%20p34%3An%20%5Bid%3D%22e183%22%2C%20minlen%3D1%5D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20rank%3D%22sink%22%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20margin%3D0%0A%20%20%20%20%20%20%20%20penwidth%3D2%0A%20%20%20%20%20%20%20%20fillcolor%3D%22%23d4e3f0%22%0A%20%20%20%20%20%20%20%20tooltip%3D%22c_DefeatedPenguin%20%3A%20C_PanickyRooster%22%0A%20%20%20%20%20%20%20%20class%3D%22component-box%20has-provided-port%22%0A%20%20%20%20%20%20%20%20id%3D%22e195%22%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20label%3D%3CC_CalmHare%3E%0A%20%20%20%20%20%20penwidth%3D0%0A%20%20%20%20%20%20tooltip%3D%22C_CalmHare%20%3A%20C_CalmHare%22%0A%20%20%20%20%20%20margin%3D24%0A%20%20%20%20%20%20id%3D%22e196%22%0A%20%20%20%20%20%20r0%3As%20-%3E%20p1%3An%20%5Bid%3D%22e197%22%2C%20minlen%3D3%5D%0A%20%20%20%20%20%20r1%3As%20-%3E%20p13%3An%20%5Bid%3D%22e198%22%2C%20minlen%3D3%5D%0A%20%20%20%20%20%20r2%3As%20-%3E%20p35%3An%20%5Bid%3D%22e199%22%2C%20minlen%3D3%5D%0A%20%20%20%20%20%20r3%3As%20-%3E%20p14%3An%20%5Bid%3D%22e200%22%2C%20minlen%3D3%5D%0A%20%20%20%20%20%20r4%3As%20-%3E%20p15%3An%20%5Bid%3D%22e201%22%2C%20minlen%3D3%5D%0A%20%20%20%20%20%20r5%3As%20-%3E%20p16%3An%20%5Bid%3D%22e202%22%2C%20minlen%3D3%5D%0A%20%20%20%20%20%20r6%3As%20-%3E%20p17%3An%20%5Bid%3D%22e203%22%2C%20minlen%3D3%5D%0A%20%20%20%20%20%20r7%3As%20-%3E%20p18%3An%20%5Bid%3D%22e204%22%2C%20minlen%3D3%5D%0A%20%20%20%20%20%20r8%3As%20-%3E%20p19%3An%20%5Bid%3D%22e205%22%2C%20minlen%3D3%5D%0A%20%20%20%20%20%20r9%3As%20-%3E%20p20%3An%20%5Bid%3D%22e206%22%2C%20minlen%3D3%5D%0A%20%20%20%20%20%20r10%3As%20-%3E%20p21%3An%20%5Bid%3D%22e207%22%2C%20minlen%3D3%5D%0A%20%20%20%20%20%20r11%3As%20-%3E%20p22%3An%20%5Bid%3D%22e208%22%2C%20minlen%3D3%5D%0A%20%20%20%20%20%20r12%3As%20-%3E%20p23%3An%20%5Bid%3D%22e209%22%2C%20minlen%3D3%5D%0A%20%20%20%20%20%20r15%3As%20-%3E%20p13%3An%20%5Bid%3D%22e210%22%2C%20minlen%3D3%2C%20color%3Dgreen%5D%0A%20%20%20%20%20%20r16%3As%20-%3E%20p35%3An%20%5Bid%3D%22e211%22%2C%20minlen%3D3%5D%0A%20%20%20%20%20%20r27%3As%20-%3E%20p36%3An%20%5Bid%3D%22e212%22%2C%20minlen%3D3%5D%0A%20%20%20%20%20%20r28%3As%20-%3E%20p37%3An%20%5Bid%3D%22e213%22%2C%20minlen%3D3%5D%0A%20%20%20%20%20%20r29%3As%20-%3E%20p38%3An%20%5Bid%3D%22e214%22%2C%20minlen%3D3%5D%0A%20%20%20%20%20%20r30%3As%20-%3E%20p39%3An%20%5Bid%3D%22e215%22%2C%20minlen%3D3%5D%0A%20%20%20%20%20%20r31%3As%20-%3E%20p40%3An%20%5Bid%3D%22e216%22%2C%20minlen%3D3%5D%0A%20%20%20%20%20%20r32%3As%20-%3E%20p41%3An%20%5Bid%3D%22e217%22%2C%20minlen%3D3%5D%0A%20%20%20%20%20%20r33%3As%20-%3E%20p42%3An%20%5Bid%3D%22e218%22%2C%20minlen%3D3%5D%0A%20%20%20%20%20%20r34%3As%20-%3E%20p43%3An%20%5Bid%3D%22e219%22%2C%20minlen%3D3%5D%0A%20%20%20%20%20%20r35%3As%20-%3E%20p44%3An%20%5Bid%3D%22e220%22%2C%20minlen%3D3%5D%0A%20%20%20%20%20%20r36%3As%20-%3E%20p45%3An%20%5Bid%3D%22e221%22%2C%20minlen%3D3%5D%0A%20%20%20%20%7D%0A%20%20%20%20%7B%0A%20%20%20%20%20%20rank%3D%22sink%22%0A%20%20%20%20%7D%0A%20%20%20%20margin%3D0%0A%20%20%20%20penwidth%3D2%0A%20%20%20%20fillcolor%3D%22%23d4e3f0%22%0A%20%20%20%20tooltip%3D%22C_CalmHare%20%3A%20C_CalmHare%22%0A%20%20%20%20class%3D%22component-box%22%0A%20%20%20%20id%3D%22e222%22%0A%20%20%7D%0A%20%20class%3D%22show-ports%22%0A%7D%0A), with the troublesome edge highlighted in green this time. As you can see, I’m simulating ports (i.e. like the ports natively supported by the Eclipse Layout Kernel) which results in quite a fragile graph.

---

<div class="post-metadata">

**Author:** ![Benji](https://avatars.discourse-cdn.com/v4/letter/b/f17d59/32.png) [@Benji](https://forum.graphviz.org/u/Benji)\
**Post date:** [September 23, 2021, 1:24pm UTC](https://forum.graphviz.org/t/prevent-upward-connections-in-dag/846/8 "2021-09-23T13:24:43Z")

</div>

Thanks @scnorth for your analysis.

So it sounds like my specific issue isn’t a bug then?

I’m not sure I follow what you’re saying about `clusterrank=global` being bugged though. You seem to be saying that that setting shouldn’t switch off the special cluster processing. But the documentation actually states

> The modes `clusterrank=global` and `clusterrank=none` appear to be identical, both turning off the special cluster processing.  
> [clusterrank | Graphviz](https://graphviz.org/docs/attrs/clusterrank/)

---

<div class="post-metadata">

**Author:** ![scnorth](https://sea2.discourse-cdn.com/graphviz/user_avatar/forum.graphviz.org/scnorth/32/89_2.png) [@scnorth](https://forum.graphviz.org/u/scnorth)\
**Post date:** [September 23, 2021, 3:38pm UTC](https://forum.graphviz.org/t/prevent-upward-connections-in-dag/846/9 "2021-09-23T15:38:53Z")

</div>

You’re right. I wonder when that was done. We wouldn’t have added a definition for clusterrank=global without implementing it. I wonder if this was/is dependent on newrank=true per commit 9c773513d5f99538b7ad7ddc83e174ddcc134937 Probably only Emden would even know. We could try rolling way back to see if it’s there, but would it even help?

---

<div class="post-metadata">

**Author:** ![Benji](https://avatars.discourse-cdn.com/v4/letter/b/f17d59/32.png) [@Benji](https://forum.graphviz.org/u/Benji)\
**Post date:** [September 24, 2021, 7:59am UTC](https://forum.graphviz.org/t/prevent-upward-connections-in-dag/846/10 "2021-09-24T07:59:50Z")

</div>

No don’t worry about trying that. Not for my sake anyway. Both those settings break my diagrams in countless other ways so, I doubt we’d find a solution that works for me there.

---

<div class="post-metadata">

**Author:** ![Benji](https://avatars.discourse-cdn.com/v4/letter/b/f17d59/32.png) [@Benji](https://forum.graphviz.org/u/Benji)\
**Post date:** [September 28, 2021, 4:25pm UTC](https://forum.graphviz.org/t/prevent-upward-connections-in-dag/846/11 "2021-09-28T16:25:13Z")

</div>

Does anyone know if it’s possible to explicitly set the global rank of a node? My dot generator is already somewhat aware of the rank of nodes as it creates them. In fact, it relies on `minlen`, and the (incorrect) assumption that `minlen` can be used to dictate a relative minimum rank. If there is a way to set rank manually instead, then I may be able to solve my problem.

A through perusal of the attributes documentation doesn’t give me much hope that such a feature exists, however.

---

<div class="post-metadata">

**Author:** ![steveroush](https://avatars.discourse-cdn.com/v4/letter/s/a9adbd/32.png) [@steveroush](https://forum.graphviz.org/u/steveroush)\
**Post date:** [September 29, 2021, 12:38am UTC](https://forum.graphviz.org/t/prevent-upward-connections-in-dag/846/12 "2021-09-29T00:38:03Z")

</div>

Short answer - Nope, **rank** only applies to subgraphs. [Or so the documentation says]  
Longer (confusing) answer - Maybe, kind-of.

- It is pretty easy to calculate the rank of every node in a graph
  - run `dot -Tdot myfile.gv >myfile.dot`
  - using GVPR, Python, or whatever; use the Y **pos** of each node to identify the Y value of each rank and then the rank of each node. There is a GVPR program in the Graphviz source named **addranks** that does just this (pretty sure).

- One could then programmatically add a **rank=same** subgraph, explicitly listing all nodes in each rank. [For a given graph, this might be sufficient or it might not]
- Finally, one could add invisible nodes that explicitly positioned the ranks, similar to the **shells.gv** graph in the source package. (I think this would work, but I do not like it)

---

<div class="post-metadata">

**Author:** ![scnorth](https://sea2.discourse-cdn.com/graphviz/user_avatar/forum.graphviz.org/scnorth/32/89_2.png) [@scnorth](https://forum.graphviz.org/u/scnorth)\
**Post date:** [September 29, 2021, 3:36pm UTC](https://forum.graphviz.org/t/prevent-upward-connections-in-dag/846/13 "2021-09-29T15:36:31Z")

</div>

It is true, we do not provide any way to do this, and seems like a reasonable request.

A nice feature would be to support semi-manual layout (possibly based in dotgen, or in neato) where the input graph is just placed on a grid in a straightforward way, with ranks and positions given, or generated by default settings.

---

<div class="post-metadata">

**Author:** ![steveroush](https://avatars.discourse-cdn.com/v4/letter/s/a9adbd/32.png) [@steveroush](https://forum.graphviz.org/u/steveroush)\
**Post date:** [September 29, 2021, 5:07pm UTC](https://forum.graphviz.org/t/prevent-upward-connections-in-dag/846/14 "2021-09-29T17:07:03Z")

</div>

I’ve written a row/column layout engine as a pipelined pre-post processor:  
_any engine_ (to determine node sizes) | _row/column node positioner_ | _neato -n_  
I’m currently stuck on a weird bug - mine (probably) or Graphviz handler of undefined attributes, but with luck I’ll find/fix the bug sometime soon.  
Even with feature creep the program is pretty simple.  
There are some real limitations (and real advantages) to this concept. It can produce some interesting images, but it does not help much is you just want to tweak the output from **dot** (or any engine).

---

<div class="post-metadata">

**Author:** ![scnorth](https://sea2.discourse-cdn.com/graphviz/user_avatar/forum.graphviz.org/scnorth/32/89_2.png) [@scnorth](https://forum.graphviz.org/u/scnorth)\
**Post date:** [October 1, 2021, 1:36pm UTC](https://forum.graphviz.org/t/prevent-upward-connections-in-dag/846/15 "2021-10-01T13:36:02Z")

</div>

Just random thoughts - yes feature creep can be a problem. For example, the user wants to specify node positions and maybe some or all edge labels and their placement. They want clusters to work, in a certain way. They want to give node positions relative to clusters. They want to give some node positions but not all of them. I see you already thought of this. How do you cope with it?

---

<div class="post-metadata">

**Author:** ![Benji](https://avatars.discourse-cdn.com/v4/letter/b/f17d59/32.png) [@Benji](https://forum.graphviz.org/u/Benji)\
**Post date:** [October 5, 2021, 4:01pm UTC](https://forum.graphviz.org/t/prevent-upward-connections-in-dag/846/16 "2021-10-05T16:01:01Z")

</div>

@steveroush I’m not sure I understand your suggestion.

 ![image](https://global.discourse-cdn.com/graphviz/original/1X/603bacf6372e348be562d3275c785912c312faae.png)

[code](https://dreampuf.github.io/GraphvizOnline/#digraph%20%7B%0A%20%20%20%20%20%20subgraph%20cluster3%20%7B%0A%20%20%20%20%20%20%20%20%20%20r0%20%0A%20%20%20%20%20%20%20%20%20%20r1%20%0A%20%20%20%20%20%20%20%20%20%20r2%20%0A%20%20%20%20%20%20%20%20%20%20r3%20%0A%20%20%20%20%20%20%20%20%20%20r4%20%0A%20%20%20%20%20%20%20%20%20%20r5%20%0A%20%20%20%20%20%20%20%20%20%20r6%20%0A%20%20%20%20%20%20%20%20%20%20r7%20%0A%20%20%20%20%20%20%20%20%20%20r8%20%0A%20%20%20%20%20%20%20%20%20%20r9%20%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20subgraph%20cluster4%20%7B%0A%20%20%20%20%20%20%20%20%20%20p1%0A%20%20%20%20%20%20%20%20%20%20r15%0A%20%20%20%20%20%20%20%20%20%20r16%20%0A%20%20%20%20%20%20%20%20%20%20p1%20-%3E%20r15%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20subgraph%20cluster5%20%7B%0A%20%20%20%20%20%20%20%20%20%20p13%20%0A%20%20%20%20%20%20%20%20%20%20p14%20%0A%20%20%20%20%20%20%20%20%20%20p15%20%0A%20%20%20%20%20%20%20%20%20%20p16%20%0A%20%20%20%20%20%20%20%20%20%20p17%20%0A%20%20%20%20%20%20%20%20%20%20p18%20%0A%20%20%20%20%20%20%20%20%20%20p19%20%0A%20%20%20%20%20%20%20%20%20%20p20%20%0A%20%20%20%20%20%20%20%20%20%20r27%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20subgraph%20cluster6%20%7B%0A%20%20%20%20%20%20%20%20%20%20p35%20%0A%20%20%20%20%20%20%20%20%20%20p36%20%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20r0%20-%3E%20p1%20%5Bminlen%3D2%5D%0A%20%20%20%20%20%20r1%20-%3E%20p13%20%5Bminlen%3D2%5D%0A%20%20%20%20%20%20r2%20-%3E%20p35%20%5Bminlen%3D2%5D%0A%20%20%20%20%20%20r3%20-%3E%20p14%20%5Bminlen%3D2%5D%0A%20%20%20%20%20%20r4%20-%3E%20p15%20%5Bminlen%3D2%5D%0A%20%20%20%20%20%20r5%20-%3E%20p16%20%5Bminlen%3D2%5D%0A%20%20%20%20%20%20r6%20-%3E%20p17%20%5Bminlen%3D2%5D%0A%20%20%20%20%20%20r7%20-%3E%20p18%20%5Bminlen%3D2%5D%0A%20%20%20%20%20%20r8%20-%3E%20p19%20%5Bminlen%3D2%5D%0A%20%20%20%20%20%20r9%20-%3E%20p20%20%5Bminlen%3D2%5D%0A%20%20%20%20%20%20r16%20-%3E%20p35%0A%20%20%20%20%20%20r27%20-%3E%20p36%20%5Bminlen%3D2%5D%0A%20%20%20%20%20%20r15%20-%3E%20p13%20%5Bcolor%3Dred%5D%20%2F%2F%20This%20is%20the%20line!%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%2F%2F%20Added%20%22fix%22%20from%20here%20on%0A%20%20%20%20%20%200%20-%3E%201%20-%3E%202%20-%3E%203%20-%3E%204%20-%3E%205%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20rank%3Dsame%3B%0A%20%20%20%20%20%20%20%20%20%20r0%20%0A%20%20%20%20%20%20%20%20%20%20r1%20%0A%20%20%20%20%20%20%20%20%20%20r2%20%0A%20%20%20%20%20%20%20%20%20%20r3%20%0A%20%20%20%20%20%20%20%20%20%20r4%20%0A%20%20%20%20%20%20%20%20%20%20r5%20%0A%20%20%20%20%20%20%20%20%20%20r6%20%0A%20%20%20%20%20%20%20%20%20%20r7%20%0A%20%20%20%20%20%20%20%20%20%20r8%20%0A%20%20%20%20%20%20%20%20%20%20r9%20%0A%20%20%20%20%20%20%7D%0A%20%20%7D%0A)

This is what I think you mean. I’ve added `r0` through `r9` (and `0`, which is a new node I’ve added) to a `rank=same` scope at the end of the file. Well after their original declaration. I was hoping this would have no effect on the graph, and would reinforce their rank as 0. I’ve not gone as far as to add the other 4 `rank=same` scopes, because clearly the first one destroys the cluster that previously encapsulated `r0` through `r9`.

Is this what you meant? If so, it doesn’t seem to be workable for a graph which has clusters.

---

<div class="post-metadata">

**Author:** ![steveroush](https://avatars.discourse-cdn.com/v4/letter/s/a9adbd/32.png) [@steveroush](https://forum.graphviz.org/u/steveroush)\
**Post date:** [October 5, 2021, 5:33pm UTC](https://forum.graphviz.org/t/prevent-upward-connections-in-dag/846/17 "2021-10-05T17:33:23Z")

</div>

Whoops, I said _confusing_, I should have said _confused_!! Useless circular thinking. Never mind.  
However, would a program to find “upward” edges help? That I think we can do.

---

<div class="post-metadata">

**Author:** ![Benji](https://avatars.discourse-cdn.com/v4/letter/b/f17d59/32.png) [@Benji](https://forum.graphviz.org/u/Benji)\
**Post date:** [October 6, 2021, 9:54am UTC](https://forum.graphviz.org/t/prevent-upward-connections-in-dag/846/18 "2021-10-06T09:54:38Z")

</div>

I think I’d be able to detect when this is occurring using y values as you described. Unfortunately, I don’t think just detecting when it is happening would be sufficient for my use case. Not least because any modification I make to the graph for a second pass through Graphviz has the potential to cause the layout to completely rearrange, invalidating any inferences made from the first pass.
