This commit is contained in:
Oliver Kennedy 2019-09-23 23:31:02 -04:00
parent 1fe245235c
commit 7d94fb8e8b
Signed by: okennedy
GPG key ID: 3E5F9B3ABD3FDB60
7 changed files with 3004 additions and 0 deletions

View file

@ -86,6 +86,9 @@ After the taking the course, students should be able to:
* **Sep 10** - Consistency through Monotonicity ([reading](https://dl-acm-org.gate.lib.buffalo.edu/citation.cfm?id=2391230) | [slides](slide/2019-09-10-BloomL.html))
* **Sep 12** - Recursive View Maintenance ([reading](https://infoscience.epfl.ch/record/183767))
* **Sep 17** - Program Slicing ([reading 1](https://cse.buffalo.edu/LRG/CSE705/Papers/Weiser-Static-Slicing.pdf) | [reading 2](http://sites.computer.org/debull/A07dec/cheney.pdf))
* **Sep 19** - Learned Index Structures
* **Sep 24** - Program Slicing ([slides](slide/2019-09-24-ProgramSlicing2.html))
* **Oct 1** - Interpretable Deep Learning ([reading](https://ieeexplore-ieee-org.gate.lib.buffalo.edu/abstract/document/8022871))
---

View file

@ -0,0 +1,431 @@
---
template: templates/cse662_2019_slides.erb
title: Program Slicing (continued)
date: September 24
---
<section>
<section>
<h3>Program Slicing Recap</h3>
<ul>
<li>Dead Code Elimination</li>
<li>Highlight Dependent Instructions</li>
<li>Delta Programs</li>
<li>Optimization</li>
</ul>
</section>
<section>
<pre><code class="pascal">
01: read(N)
02: Z := 0
03: I := 1
04: while (I < N) do
05: read(X)
06: if (X < 0) then
07: Y := f1(X)
else
08: Y := f2(X)
end if
09: Z = f3(Z, Y)
10: I = I + 1
end while
11: write(Z)
</code></pre>
<attribution>Agrawal et. a. Dynamic Slicing in the Presence of Unconstrained Pointers</attribution>
</section>
<section>
<h3>Control Flow Graph</h3>
<img src="graphics/2019-09-24-FlowGraph.svg">
</section>
<section>
<h3>Data Flow Dependency</h3>
<img src="graphics/2019-09-24-FlowGraphUnbrokenPath.svg">
<p>Instruction 4 has a data dependency on 1<p>
<pre style="font-size: 30%"><code class="pascal">
01: read(N)
02: Z := 0
03: I := 1
04: while (I < N) do
</code></pre>
</section>
<section>
<h3>Data Flow Dependency</h3>
<img src="graphics/2019-09-24-FlowGraphUnbrokenPath2.svg">
<p>Instruction 11 has a data dependency on both 2 and 9<br/>(any unbroken path from write to read counts)<p>
<pre style="font-size: 30%"><code class="pascal">
02: Z := 0
...
04: while (I < N) do
...
09: Z = f3(Z, Y)
...
end while
11: write(Z)
</code></pre>
</section>
<section>
<h3>Control Flow Dependency</h3>
<img src="graphics/2019-09-24-FlowGraphControlDeps.svg">
<p>Instruction 8 has a control flow dependency from 6<br/>Instruction 9 has a control flow dependency from 4<p>
<pre style="font-size: 30%"><code class="pascal">
04: while (I < N) do
06: if (X < 0) then
else
08: Y := f2(X)
09: Z = f3(Z, Y)
</code></pre>
</section>
<section>
<h3>Slicing</h3>
<p><b>Target: </b> Start with a line and a set of variables.</p>
<p><b>Goal: </b> Find the subset of the program that generates the same values for the specified variables.</p>
</section>
<section>
<h3>Slicing Algorithm</h3>
<ol>
<li>Assume that the target line reads from the target variables</li>
<li>Compute the transitive closure of all data dependencies</li>
<li>Add in control dependencies to any available statement</li>
<li>Repeat from step 2 until nothing new is added</li>
</ol>
</section>
</section>
<section>
<section>
<h3>Function Slices</h3>
<ul>
<li class="fragment"><b>Simple:</b> Treat $f(a, b, c)$ as a read/write to/from a, b, c.</li>
<li class="fragment"><b>Moderate:</b> Expand out/inline $f(a, b, c)$ then go as normal.</li>
<li class="fragment"><b>Up/Down Flow</b></li>
</ul>
</section>
<section>
<h3>Up/Down Flow</h3>
For call $f(a, b, c)$ with $f$ defined as $\texttt{def } f(x, y, z)$.
<pre><code class="pascal">
define f(x, y, z):
1: x = y + z
2: z = y * z
end
</code></pre>
<ol>
<li>Add virtual write instructions for each: x, y, z at the start.</li>
<li>For each variable, compute the slice targetting the variable on the last line of the function. Note down which virtual writes appear in the slice</li>
<li>Treat each call site as one write for each variable, using the virtual writes to determine which variables the writes depend on.</li>
</ol>
</section>
<section>
<p>Worst case assumptions:
<ul>
<li>Every variable depends on every other variable</li>
<li>Every call site depends on every other call sites (external state)</li>
</ul>
</p>
</section>
</section>
<section>
<section>
<h3>Pointers</h3>
<pre><code class="pascal">
1: x = 2
2: y = 3
3: *z = 4
4: write(x)
</code></pre>
<p>Does $x$ on the last line depend on line 3?</p>
<p class="fragment">It depends on what $z$ is</p>
</section>
<section>
<h3>Not just pointers</h3>
<pre><code class="pascal">
1: x[0] = 2
2: x[1] = 3
3: x[z] = 4
4: write(x[0])
</code></pre>
<p>Does $x[0]$ on the last line depend on line 3?</p>
<p class="fragment">It also depends on what $z$ is</p>
</section>
<section>
<p>Which value gets written to can change at runtime.</p>
</section>
<!--
<section>
<p><b>lvalue: </b> An expression that defines a specific location in memory</p>
<pre><code>
x
&x
x.y
x[2]
</code></pre>
</section>
-->
<section>
<p><b>Idea 1: </b> Worst-case assumptions</p>
<ul class="fragment">
<li>Every variable access depends on all preceeding pointer assignments</li>
<li>Every pointer reference depends on all preceding assignments</li>
</ul>
<p class="fragment">Slightly tighter restrictions possible if referring to an array/struct instead of a pointer</p>
</section>
<section>
<p><b>Idea 2: </b> Determine possible program states</p>
</section>
<section>
<h3>Example</h3>
<pre><code class="pascal">
struct { int curr; LL *next } LL;
1: read(N)
2: I := 0
3: X := new LL { -1, null }
4: Y := &X->curr
5: while(I < N)
6: X := new LL { I, X }
7: Y := X->next->curr
8: I := I + 1
end while
9: print_ll(X)
</code></pre>
<p class="fragment">What does X depend on as of line 6?</p>
</section>
<section>
<p>Consider <b>possible</b> state trajectories</p>
<ol>
<li class="fragment">{ N = [read value] (line 1) }</li>
<li class="fragment">+ { I = 0 (line 2) }</li>
<li class="fragment">+ { X = ptr to $\ell_1$ (line 3); $\ell_1$ = { -1, null } (line 3) }</li>
<li class="fragment">+ { Y = ptr to $\ell_1$.curr; (line 4) }</li>
<li class="fragment">nothing added</li>
<li class="fragment">+ { X = ptr to $\ell_2$ (line 6); $\ell_2$ = { 0, ptr to $\ell_1$ } (line 6) }<br/>
<b>OR</b> nothing added</li>
</ol>
<p class="fragment">View each entry in the state trajectory as a set of possible states</p>
</section>
<section>
<div style="vertical-align: middle">
<table style="display: inline-block; font-size: 70%; vertical-align: middle; ">
<tr><td>{</td><td align="left">N = [read value] (line 1);</td></tr>
<tr><td> </td><td align="left">I = 0 (line 2); </td></tr>
<tr><td> </td><td align="left">$\ell_1$ = { -1, null } (line 3); </td></tr>
<tr><td> </td><td align="left">Y = ptr to $\ell_1$.curr; (line 4); </td></tr>
<tr><td> </td><td align="left">X = ptr to $\ell_2$ (line 6); </td></tr>
<tr><td> </td><td align="left">$\ell_2$ = { 0, ptr to $\ell_1$ } (line 6) }</td></tr>
</table>
<b>OR</b>
<table style="display: inline-block; font-size: 70%; vertical-align: middle; ">
<tr><td>{</td><td align="left">N = [read value] (line 1);</td></tr>
<tr><td> </td><td align="left">I = 0 (line 2); </td></tr>
<tr><td> </td><td align="left">X = ptr to $\ell_1$ (line 3); </td></tr>
<tr><td> </td><td align="left">$\ell_1$ = { -1, null } (line 3); </td></tr>
<tr><td> </td><td align="left">Y = ptr to $\ell_1$.curr; (line 4); }</td></tr>
</table>
</div>
</section>
<section>
<table style="display: inline-block; font-size: 70%; vertical-align: middle; ">
<tr><td>{</td><td align="left">N = [read value] (line 1);</td></tr>
<tr><td> </td><td align="left">I = 0 (line 2); </td></tr>
<tr><td> </td><td align="left">$\ell_1$ = { -1, null } (line 3); </td></tr>
<tr><td> </td><td align="left">Y = ptr to $\ell_1$.curr; (line 4); </td></tr>
<tr><td> </td><td align="left">X = ptr to $\ell_2$ <b>OR</b> $\ell_1$ (lines 3 or 6)</td></tr>
<tr><td> </td><td align="left">$\ell_2$ = { 0, ptr to $\ell_1$ } (line 6) }</td></tr>
</table>
</section>
<section>
<p><b>Problem</b>: Infinite possible states!</p>
<p class="fragment">Each time through the loop we get another $\ell$ assigned.</p>
</section>
<section>
<p><b>Observation: </b> Only need to repeat states enough times to get dependencies</p>
<p><b>Idea: </b> Collapse states into the minimum needed</p>
</section>
<section>
<h3>Collapsing States</h3>
<ul>
<li>Ignore constants (0, -1, etc...)</li>
<li>Merge values at unidentified locations (i.e. anything labeled by $\ell$), as long as the dependency data is the same</li>
</ul>
</section>
<section>
<h3>Simplified Example</h3>
<pre><code class="pascal">
struct { int curr; LL *next } LL;
1: read(N)
2: I := 0
3: X := new LL { -1, null }
4: while(I < N)
5: X := new LL { I, X }
6: I := I + 1
end while
7: print_ll(X)
</code></pre>
</section>
<section>
<h3>As of Line 4 (0 loops)</h3>
<table style="display: inline-block; font-size: 70%; vertical-align: middle; ">
<tr><td>{</td><td align="left">N = $\mathbb C$ (line 1);</td></tr>
<tr><td> </td><td align="left">I = $\mathbb C$ (line 2); </td></tr>
<tr><td> </td><td align="left">$\ell_1$ = { $\mathbb C$, null } (line 3); </td></tr>
<tr><td> </td><td align="left">X = ptr to $\ell_1$ (line 3)</td></tr>
</table>
</section>
<section>
<h3>As of Line 4 (1 loop)</h3>
<table style="display: inline-block; font-size: 70%; vertical-align: middle; ">
<tr><td>{</td><td align="left">N = $\mathbb C$ (line 1);</td></tr>
<tr><td> </td><td align="left">I = $\mathbb C$ (line 2); </td></tr>
<tr><td> </td><td align="left">$\ell_1$ = { $\mathbb C$, null } (line 3); </td></tr>
<tr><td> </td><td align="left">$\ell_2$ = { $\mathbb C$, ptr to $\ell_1$ } (line 5); </td></tr>
<tr><td> </td><td align="left">X = ptr to $\ell_2$ (line 5)</td></tr>
</table>
</section>
<section>
<h3>As of Line 4 (2 loops)</h3>
<table style="display: inline-block; font-size: 70%; vertical-align: middle; ">
<tr><td>{</td><td align="left">N = $\mathbb C$ (line 1);</td></tr>
<tr><td> </td><td align="left">I = $\mathbb C$ (line 2); </td></tr>
<tr><td> </td><td align="left">$\ell_1$ = { $\mathbb C$, null } (line 3); </td></tr>
<tr><td> </td><td align="left">$\ell_2$ = { $\mathbb C$, ptr to $\ell_1$ } (line 5); </td></tr>
<tr><td> </td><td align="left">$\ell_3$ = { $\mathbb C$, ptr to $\ell_2$ } (line 5); </td></tr>
<tr><td> </td><td align="left">X = ptr to $\ell_2$ (line 5)</td></tr>
</table>
<p class="fragment">$\ell_2$ and $\ell_3$ are "similar". Replace them with a new virtual $v_4$</p>
</section>
<section>
<h3>As of Line 4 (2+ loops)</h3>
<table style="display: inline-block; font-size: 70%; vertical-align: middle; ">
<tr><td>{</td><td align="left">N = $\mathbb C$ (line 1);</td></tr>
<tr><td> </td><td align="left">I = $\mathbb C$ (line 2); </td></tr>
<tr><td> </td><td align="left">$\ell_1$ = { $\mathbb C$, null } (line 3); </td></tr>
<tr><td> </td><td align="left">$v_4$ = { $\mathbb C$, ptr to $\ell_1$ <b>OR</b> $v_4$ } (line 5); </td></tr>
<tr><td> </td><td align="left">X = ptr to $v_4$ (line 5)</td></tr>
</table>
</section>
<section>
<h3>Subsumption</h3>
State $S_2$ subsumes state $S_1$ if you can reach $S_2$ from $S_1$ by any of...
<ul>
<li>Add alternatives for pointers</li>
<li>Add new line dependencies</li>
<li>Rename an un-identified (i.e., $\ell_i$) location</li>
<li>Merge values at un-identified (i.e. anything labeled by $\ell$) into a virtual location.</li>
</ul>
</section>
<section>
<h3>Subsumption</h3>
<ol>
<li>0 loops</li>
<li>1 loop</li>
<li>2+ loops</li>
<li>3+ loops</li>
</ol>
<p class="fragment">2+ loops subsumes both 1 loop and 3+ loops</p>
<p class="fragment">Final state representation: { 0 loops; 2+ loops }</p>
</section>
<section>
<h3>Flow Dependencies</h3>
<ol>
<li class="fragment">Replay state trajectory.</li>
<li class="fragment">Apply virtual node replacements.</li>
<li class="fragment">Use computed possible states to determine possible data dependencies.</li>
<li class="fragment">Include every possible data dependency.</li>
</ol>
</section>
</section>
<section>
<section>
<p>What if we want to slice a program <i>in the context of specific inputs</i>?</p>
</section>
<section>
<pre><code class="pascal">
01: read(N)
02: Z := 0
03: I := 1
04: while (I < N) do
05: read(X)
06: if (X < 0) then
07: Y := f1(X)
else
08: Y := f2(X)
end if
09: Z = f3(Z, Y)
10: I = I + 1
end while
11: write(Z)
</code></pre>
<p>... with N = 2, X = -4, 3 the trace of this program is<br/>
$1^1$ $2^1$ $3^1$ $4^1$ $5^1$ $6^1$ $7^1$ $9^1$ $10^1$ $4^2$ $5^2$ $6^2$ $8^2$ $9^2$ $10^2$ $4^3$ $11^1$
</p>
<p>(superscripts distiguish repeated occurrences)</p>
</section>
<section>
<h3>Dynamic Slicing</h3>
<p>Instead of considering all paths, focus on the trace under the provided inputs</p>
</section>
<section>
<img src="graphics/2019-09-24-DynamicSlicing.png">
<p>(Dependencies for Y as of $8^2$ on N = 2, X = -4, 3)</p>
</section>
<section>
<ul>
<li>Same as before, but allowed to have multiple copies of nodes.</li>
<li>Each instruction instance may have different dependencies... only consider the immediately preceding assignemnt to each variable.</li>
<li>First slice the trace</li>
<li>Every instruction that appears at least once in the sliced trace is in the final slice</li>
</ul>
</section>
<section>
<p>Added benefit: Can handle pointer tracking gracefully: Know exactly what the pointer's value will be.</p>
</section>
<section>
<h3>Bibliography</h3>
<ul>
<li><a href="https://dl-acm-org.gate.lib.buffalo.edu/citation.cfm?id=802557">Program Slicing</a> (Weiser)</li>
<li><a href="https://www.franktip.org/pubs/jpl1995.pdf">A Survey of Program Slicing Techniques</a> (Tip)</li>
<li><a href="https://dl-acm-org.gate.lib.buffalo.edu/citation.cfm?id=74821">Dependence Analysis for Pointer Variables</a> (Horwitz, Pfeiffer, Reps)</li>
<li><a href="http://www.academia.edu/download/30662068/tav91.pdf">Dynamic Slicing in the Presence of Unconstrained Pointers</a> (Agrawal, DeMillo, Spafford)</li>
</ul>
</section>
</section>

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

View file

@ -0,0 +1,609 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="256.38992mm"
height="54.451054mm"
viewBox="0 0 256.38992 54.451054"
version="1.1"
id="svg8"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
sodipodi:docname="2019-09-23-FlowGraph.svg">
<defs
id="defs2">
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker4878"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path4876"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker4586"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path4584"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="marker3512"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path3510"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker2738"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path2736"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="marker2536"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path2534"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="marker2390"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path2388"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker2174"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path2172"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="marker2060"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path2058"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker1952"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:collect="always">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path1950"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="marker1664"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path1662"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="marker1502"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path1500"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker1430"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:collect="always">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path1428"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="Arrow2Mend"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path939"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="DotS"
orient="auto"
refY="0"
refX="0"
id="DotS"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path979"
d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
transform="matrix(0.2,0,0,0.2,1.48,0.2)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lend"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path915"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
transform="matrix(-0.8,0,0,-0.8,-10,0)"
inkscape:connector-curvature="0" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1"
inkscape:cx="451.97553"
inkscape:cy="-103.79339"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="1043"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(49.008932,-22.816801)">
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path4874"
d="M 39.578056,50.26026 C 55.013542,10.46944 169.43705,18.536737 192.61658,49.875061"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4878)" />
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker3512)"
d="M 166.89629,50.26026 C 122.80382,18.573703 69.614943,23.318413 45.662829,48.939618"
id="path3508"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<g
id="g19"
transform="translate(-58.208336)">
<circle
r="8.8824406"
cy="57.552082"
cx="18.331844"
id="path10"
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none" />
<text
id="text14"
y="61.409729"
x="18.241411"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="text-align:center;text-anchor:middle;stroke-width:0.26458332"
y="61.409729"
x="18.241411"
id="tspan12"
sodipodi:role="line">1</tspan></text>
</g>
<g
id="g27"
transform="translate(-31.750001)">
<circle
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none"
id="circle21"
cx="18.331844"
cy="57.552082"
r="8.8824406" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="18.241411"
y="61.409729"
id="text25"><tspan
sodipodi:role="line"
id="tspan23"
x="18.241411"
y="61.409729"
style="text-align:center;text-anchor:middle;stroke-width:0.26458332">2</tspan></text>
</g>
<g
id="g35"
transform="translate(-5.2916667)">
<circle
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none"
id="circle29"
cx="18.331844"
cy="57.552082"
r="8.8824406" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="18.241411"
y="61.409729"
id="text33"><tspan
sodipodi:role="line"
id="tspan31"
x="18.241411"
y="61.409729"
style="text-align:center;text-anchor:middle;stroke-width:0.26458332">3</tspan></text>
</g>
<g
transform="translate(21.166667)"
id="g43">
<circle
r="8.8824406"
cy="57.552082"
cx="18.331844"
id="circle37"
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none" />
<text
id="text41"
y="61.409729"
x="18.241411"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="text-align:center;text-anchor:middle;stroke-width:0.26458332"
y="61.409729"
x="18.241411"
id="tspan39"
sodipodi:role="line">4</tspan></text>
</g>
<g
id="g51"
transform="translate(47.625002)">
<circle
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none"
id="circle45"
cx="18.331844"
cy="57.552082"
r="8.8824406" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="18.241411"
y="61.409729"
id="text49"><tspan
sodipodi:role="line"
id="tspan47"
x="18.241411"
y="61.409729"
style="text-align:center;text-anchor:middle;stroke-width:0.26458332">5</tspan></text>
</g>
<g
transform="translate(74.083335)"
id="g59">
<circle
r="8.8824406"
cy="57.552082"
cx="18.331844"
id="circle53"
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none" />
<text
id="text57"
y="61.409729"
x="18.241411"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="text-align:center;text-anchor:middle;stroke-width:0.26458332"
y="61.409729"
x="18.241411"
id="tspan55"
sodipodi:role="line">6</tspan></text>
</g>
<g
transform="translate(100.54167,-10.583333)"
id="g67">
<circle
r="8.8824406"
cy="57.552082"
cx="18.331844"
id="circle61"
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none" />
<text
id="text65"
y="61.409729"
x="18.241411"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="text-align:center;text-anchor:middle;stroke-width:0.26458332"
y="61.409729"
x="18.241411"
id="tspan63"
sodipodi:role="line">7</tspan></text>
</g>
<g
id="g75"
transform="translate(100.54167,10.583333)">
<circle
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none"
id="circle69"
cx="18.331844"
cy="57.552082"
r="8.8824406" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="18.241411"
y="61.409729"
id="text73"><tspan
sodipodi:role="line"
id="tspan71"
x="18.241411"
y="61.409729"
style="text-align:center;text-anchor:middle;stroke-width:0.26458332">8</tspan></text>
</g>
<g
id="g83"
transform="translate(127.00002)">
<circle
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none"
id="circle77"
cx="18.331844"
cy="57.552082"
r="8.8824406" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="18.241411"
y="61.409729"
id="text81"><tspan
sodipodi:role="line"
id="tspan79"
x="18.241411"
y="61.409729"
style="text-align:center;text-anchor:middle;stroke-width:0.26458332">9</tspan></text>
</g>
<g
transform="translate(153.45837)"
id="g91">
<circle
r="8.8824406"
cy="57.552082"
cx="18.331844"
id="circle85"
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none" />
<text
id="text89"
y="61.409729"
x="18.241411"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="text-align:center;text-anchor:middle;stroke-width:0.26458332"
y="61.409729"
x="18.241411"
id="tspan87"
sodipodi:role="line">10</tspan></text>
</g>
<g
id="g99"
transform="translate(179.91672)">
<circle
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none"
id="circle93"
cx="18.331844"
cy="57.552082"
r="8.8824406" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="18.241411"
y="61.409729"
id="text97"><tspan
sodipodi:role="line"
id="tspan95"
x="18.241411"
y="61.409729"
style="text-align:center;text-anchor:middle;stroke-width:0.26458332">11</tspan></text>
</g>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="163.5125"
y="56.229164"
id="text103"><tspan
sodipodi:role="line"
id="tspan101"
x="163.5125"
y="65.592934"
style="stroke-width:0.26458332"></tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
d="m -30.93149,57.542474 h 6.879166"
id="path105"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path1426"
d="m 21.985178,57.542474 h 6.879166"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1430)" />
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1502)"
d="m -4.4731557,57.542474 h 6.879166"
id="path1498"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1664)"
d="m 154.2769,57.542474 h 6.87917"
id="path1660"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path1948"
d="m 101.36021,57.542474 7.9375,-5.820833"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1952)" />
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2060)"
d="m 74.901863,57.542474 h 6.87917"
id="path2056"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path2170"
d="m 48.443513,57.542474 h 6.87917"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2174)" />
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2390)"
d="m 101.36021,57.496424 7.9375,5.820833"
id="path2386"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2536)"
d="m 126.76022,50.60176 7.9375,5.820833"
id="path2530"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path2532"
d="m 126.76022,64.406146 7.9375,-5.820833"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2738)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 24 KiB

View file

@ -0,0 +1,652 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="256.38992mm"
height="61.055302mm"
viewBox="0 0 256.38989 61.055302"
version="1.1"
id="svg8"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
sodipodi:docname="2019-09-23-FlowGraphControlDeps.svg">
<defs
id="defs2">
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker7281"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path7279"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="marker7137"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
inkscape:connector-curvature="0"
id="path7135"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker4878"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:collect="always">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path4876"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker4586"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path4584"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="marker3512"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path3510"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker2738"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path2736"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="marker2536"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path2534"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="marker2390"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path2388"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker2174"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path2172"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="marker2060"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path2058"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker1952"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:collect="always">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path1950"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="marker1664"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path1662"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="marker1502"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path1500"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker1430"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:collect="always">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path1428"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="Arrow2Mend"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path939"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="DotS"
orient="auto"
refY="0"
refX="0"
id="DotS"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path979"
d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
transform="matrix(0.2,0,0,0.2,1.48,0.2)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lend"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path915"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
transform="matrix(-0.8,0,0,-0.8,-10,0)"
inkscape:connector-curvature="0" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1"
inkscape:cx="247.97553"
inkscape:cy="-78.832456"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="1043"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(49.008932,-22.816801)">
<path
inkscape:connector-curvature="0"
id="path7277"
d="m 143.07857,65.626188 c 0.45509,25.44241 -96.236361,22.335133 -102.658337,0.529167"
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.5, 0.5;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker7281)"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.5, 0.5;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker7137)"
d="m 113.70982,74.622021 c -7.14375,1.322917 -14.816671,1.322917 -20.108337,-7.672916"
id="path6494"
inkscape:connector-curvature="0" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path4874"
d="M 39.578056,50.26026 C 55.013542,10.46944 169.43705,18.536737 192.61658,49.875061"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4878)" />
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker3512)"
d="M 166.89629,50.26026 C 122.80382,18.573703 69.614943,23.318413 45.662829,48.939618"
id="path3508"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<g
id="g19"
transform="translate(-58.208336)">
<circle
r="8.8824406"
cy="57.552082"
cx="18.331844"
id="path10"
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none" />
<text
id="text14"
y="61.409729"
x="18.241411"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="text-align:center;text-anchor:middle;stroke-width:0.26458332"
y="61.409729"
x="18.241411"
id="tspan12"
sodipodi:role="line">1</tspan></text>
</g>
<g
id="g27"
transform="translate(-31.750001)">
<circle
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none"
id="circle21"
cx="18.331844"
cy="57.552082"
r="8.8824406" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="18.241411"
y="61.409729"
id="text25"><tspan
sodipodi:role="line"
id="tspan23"
x="18.241411"
y="61.409729"
style="text-align:center;text-anchor:middle;stroke-width:0.26458332">2</tspan></text>
</g>
<g
id="g35"
transform="translate(-5.2916667)">
<circle
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none"
id="circle29"
cx="18.331844"
cy="57.552082"
r="8.8824406" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="18.241411"
y="61.409729"
id="text33"><tspan
sodipodi:role="line"
id="tspan31"
x="18.241411"
y="61.409729"
style="text-align:center;text-anchor:middle;stroke-width:0.26458332">3</tspan></text>
</g>
<g
transform="translate(21.166667)"
id="g43">
<circle
r="8.8824406"
cy="57.552082"
cx="18.331844"
id="circle37"
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none" />
<text
id="text41"
y="61.409729"
x="18.241411"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="text-align:center;text-anchor:middle;stroke-width:0.26458332"
y="61.409729"
x="18.241411"
id="tspan39"
sodipodi:role="line">4</tspan></text>
</g>
<g
id="g51"
transform="translate(47.625002)">
<circle
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none"
id="circle45"
cx="18.331844"
cy="57.552082"
r="8.8824406" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="18.241411"
y="61.409729"
id="text49"><tspan
sodipodi:role="line"
id="tspan47"
x="18.241411"
y="61.409729"
style="text-align:center;text-anchor:middle;stroke-width:0.26458332">5</tspan></text>
</g>
<g
transform="translate(74.083335)"
id="g59">
<circle
r="8.8824406"
cy="57.552082"
cx="18.331844"
id="circle53"
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none" />
<text
id="text57"
y="61.409729"
x="18.241411"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="text-align:center;text-anchor:middle;stroke-width:0.26458332"
y="61.409729"
x="18.241411"
id="tspan55"
sodipodi:role="line">6</tspan></text>
</g>
<g
transform="translate(100.54167,-10.583333)"
id="g67">
<circle
r="8.8824406"
cy="57.552082"
cx="18.331844"
id="circle61"
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none" />
<text
id="text65"
y="61.409729"
x="18.241411"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="text-align:center;text-anchor:middle;stroke-width:0.26458332"
y="61.409729"
x="18.241411"
id="tspan63"
sodipodi:role="line">7</tspan></text>
</g>
<g
id="g75"
transform="translate(100.54167,10.583333)">
<circle
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none"
id="circle69"
cx="18.331844"
cy="57.552082"
r="8.8824406" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="18.241411"
y="61.409729"
id="text73"><tspan
sodipodi:role="line"
id="tspan71"
x="18.241411"
y="61.409729"
style="text-align:center;text-anchor:middle;stroke-width:0.26458332">8</tspan></text>
</g>
<g
id="g83"
transform="translate(127.00002)">
<circle
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none"
id="circle77"
cx="18.331844"
cy="57.552082"
r="8.8824406" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="18.241411"
y="61.409729"
id="text81"><tspan
sodipodi:role="line"
id="tspan79"
x="18.241411"
y="61.409729"
style="text-align:center;text-anchor:middle;stroke-width:0.26458332">9</tspan></text>
</g>
<g
transform="translate(153.45837)"
id="g91">
<circle
r="8.8824406"
cy="57.552082"
cx="18.331844"
id="circle85"
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none" />
<text
id="text89"
y="61.409729"
x="18.241411"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="text-align:center;text-anchor:middle;stroke-width:0.26458332"
y="61.409729"
x="18.241411"
id="tspan87"
sodipodi:role="line">10</tspan></text>
</g>
<g
id="g99"
transform="translate(179.91672)">
<circle
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none"
id="circle93"
cx="18.331844"
cy="57.552082"
r="8.8824406" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="18.241411"
y="61.409729"
id="text97"><tspan
sodipodi:role="line"
id="tspan95"
x="18.241411"
y="61.409729"
style="text-align:center;text-anchor:middle;stroke-width:0.26458332">11</tspan></text>
</g>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="163.5125"
y="56.229164"
id="text103"><tspan
sodipodi:role="line"
id="tspan101"
x="163.5125"
y="65.592934"
style="stroke-width:0.26458332" /></text>
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
d="m -30.93149,57.542474 h 6.879166"
id="path105"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path1426"
d="m 21.985178,57.542474 h 6.879166"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1430)" />
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1502)"
d="m -4.4731557,57.542474 h 6.879166"
id="path1498"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1664)"
d="m 154.2769,57.542474 h 6.87917"
id="path1660"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path1948"
d="m 101.36021,57.542474 7.9375,-5.820833"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1952)" />
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2060)"
d="m 74.901863,57.542474 h 6.87917"
id="path2056"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path2170"
d="m 48.443513,57.542474 h 6.87917"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2174)" />
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2390)"
d="m 101.36021,57.496424 7.9375,5.820833"
id="path2386"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2536)"
d="m 126.76022,50.60176 7.9375,5.820833"
id="path2530"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path2532"
d="m 126.76022,64.406146 7.9375,-5.820833"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2738)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 26 KiB

View file

@ -0,0 +1,664 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="266.41931mm"
height="62.812984mm"
viewBox="0 0 266.41931 62.812985"
version="1.1"
id="svg8"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
sodipodi:docname="2019-09-23-FlowGraphUnbrokenPath.svg">
<defs
id="defs2">
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker4878"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#b3b3b3;fill-opacity:1;fill-rule:evenodd;stroke:#b3b3b3;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path4876"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker4586"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path4584"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="marker3512"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path3510"
style="fill:#b3b3b3;fill-opacity:1;fill-rule:evenodd;stroke:#b3b3b3;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker2738"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#b3b3b3;fill-opacity:1;fill-rule:evenodd;stroke:#b3b3b3;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path2736"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="marker2536"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path2534"
style="fill:#b3b3b3;fill-opacity:1;fill-rule:evenodd;stroke:#b3b3b3;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="marker2390"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path2388"
style="fill:#b3b3b3;fill-opacity:1;fill-rule:evenodd;stroke:#b3b3b3;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker2174"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#b3b3b3;fill-opacity:1;fill-rule:evenodd;stroke:#b3b3b3;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path2172"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="marker2060"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path2058"
style="fill:#b3b3b3;fill-opacity:1;fill-rule:evenodd;stroke:#b3b3b3;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker1952"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:collect="always">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#b3b3b3;fill-opacity:1;fill-rule:evenodd;stroke:#b3b3b3;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path1950"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="marker1664"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path1662"
style="fill:#b3b3b3;fill-opacity:1;fill-rule:evenodd;stroke:#b3b3b3;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="marker1502"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path1500"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker1430"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:collect="always">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path1428"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="Arrow2Mend"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path939"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="DotS"
orient="auto"
refY="0"
refX="0"
id="DotS"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path979"
d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
transform="matrix(0.2,0,0,0.2,1.48,0.2)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lend"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path915"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
transform="matrix(-0.8,0,0,-0.8,-10,0)"
inkscape:connector-curvature="0" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1"
inkscape:cx="489.88178"
inkscape:cy="-72.189249"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="1043"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(59.038295,-22.816801)">
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path4874"
d="M 39.578056,50.26026 C 55.013542,10.46944 169.43705,18.536737 192.61658,49.875061"
style="fill:none;stroke:#b3b3b3;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4878)" />
<path
style="fill:none;stroke:#b3b3b3;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker3512)"
d="M 166.89629,50.26026 C 122.80382,18.573703 69.614943,23.318413 45.662829,48.939618"
id="path3508"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<g
id="g19"
transform="translate(-58.208336)">
<circle
r="8.8824406"
cy="57.552082"
cx="18.331844"
id="path10"
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none" />
<text
id="text14"
y="61.409729"
x="18.241411"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="text-align:center;text-anchor:middle;stroke-width:0.26458332"
y="61.409729"
x="18.241411"
id="tspan12"
sodipodi:role="line">1</tspan></text>
</g>
<g
id="g27"
transform="translate(-31.750001)">
<circle
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none"
id="circle21"
cx="18.331844"
cy="57.552082"
r="8.8824406" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="18.241411"
y="61.409729"
id="text25"><tspan
sodipodi:role="line"
id="tspan23"
x="18.241411"
y="61.409729"
style="text-align:center;text-anchor:middle;stroke-width:0.26458332">2</tspan></text>
</g>
<g
id="g35"
transform="translate(-5.2916667)">
<circle
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none"
id="circle29"
cx="18.331844"
cy="57.552082"
r="8.8824406" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="18.241411"
y="61.409729"
id="text33"><tspan
sodipodi:role="line"
id="tspan31"
x="18.241411"
y="61.409729"
style="text-align:center;text-anchor:middle;stroke-width:0.26458332">3</tspan></text>
</g>
<g
transform="translate(21.166667)"
id="g43">
<circle
r="8.8824406"
cy="57.552082"
cx="18.331844"
id="circle37"
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none" />
<text
id="text41"
y="61.409729"
x="18.241411"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="text-align:center;text-anchor:middle;stroke-width:0.26458332"
y="61.409729"
x="18.241411"
id="tspan39"
sodipodi:role="line">4</tspan></text>
</g>
<g
id="g51"
transform="translate(47.625002)">
<circle
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none"
id="circle45"
cx="18.331844"
cy="57.552082"
r="8.8824406" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="18.241411"
y="61.409729"
id="text49"><tspan
sodipodi:role="line"
id="tspan47"
x="18.241411"
y="61.409729"
style="text-align:center;text-anchor:middle;stroke-width:0.26458332">5</tspan></text>
</g>
<g
transform="translate(74.083335)"
id="g59">
<circle
r="8.8824406"
cy="57.552082"
cx="18.331844"
id="circle53"
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none" />
<text
id="text57"
y="61.409729"
x="18.241411"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="text-align:center;text-anchor:middle;stroke-width:0.26458332"
y="61.409729"
x="18.241411"
id="tspan55"
sodipodi:role="line">6</tspan></text>
</g>
<g
transform="translate(100.54167,-10.583333)"
id="g67">
<circle
r="8.8824406"
cy="57.552082"
cx="18.331844"
id="circle61"
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none" />
<text
id="text65"
y="61.409729"
x="18.241411"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="text-align:center;text-anchor:middle;stroke-width:0.26458332"
y="61.409729"
x="18.241411"
id="tspan63"
sodipodi:role="line">7</tspan></text>
</g>
<g
id="g75"
transform="translate(100.54167,10.583333)">
<circle
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none"
id="circle69"
cx="18.331844"
cy="57.552082"
r="8.8824406" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="18.241411"
y="61.409729"
id="text73"><tspan
sodipodi:role="line"
id="tspan71"
x="18.241411"
y="61.409729"
style="text-align:center;text-anchor:middle;stroke-width:0.26458332">8</tspan></text>
</g>
<g
id="g83"
transform="translate(127.00002)">
<circle
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none"
id="circle77"
cx="18.331844"
cy="57.552082"
r="8.8824406" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="18.241411"
y="61.409729"
id="text81"><tspan
sodipodi:role="line"
id="tspan79"
x="18.241411"
y="61.409729"
style="text-align:center;text-anchor:middle;stroke-width:0.26458332">9</tspan></text>
</g>
<g
transform="translate(153.45837)"
id="g91">
<circle
r="8.8824406"
cy="57.552082"
cx="18.331844"
id="circle85"
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none" />
<text
id="text89"
y="61.409729"
x="18.241411"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="text-align:center;text-anchor:middle;stroke-width:0.26458332"
y="61.409729"
x="18.241411"
id="tspan87"
sodipodi:role="line">10</tspan></text>
</g>
<g
id="g99"
transform="translate(179.91672)">
<circle
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none"
id="circle93"
cx="18.331844"
cy="57.552082"
r="8.8824406" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="18.241411"
y="61.409729"
id="text97"><tspan
sodipodi:role="line"
id="tspan95"
x="18.241411"
y="61.409729"
style="text-align:center;text-anchor:middle;stroke-width:0.26458332">11</tspan></text>
</g>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="163.5125"
y="56.229164"
id="text103"><tspan
sodipodi:role="line"
id="tspan101"
x="163.5125"
y="65.592934"
style="stroke-width:0.26458332"></tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
d="m -30.93149,57.542474 h 6.879166"
id="path105"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path1426"
d="m 21.985178,57.542474 h 6.879166"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1430)" />
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1502)"
d="m -4.4731557,57.542474 h 6.879166"
id="path1498"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#b3b3b3;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1664)"
d="m 154.2769,57.542474 h 6.87917"
id="path1660"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path1948"
d="m 101.36021,57.542474 7.9375,-5.820833"
style="fill:none;stroke:#b3b3b3;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1952)" />
<path
style="fill:none;stroke:#b3b3b3;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2060)"
d="m 74.901863,57.542474 h 6.87917"
id="path2056"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path2170"
d="m 48.443513,57.542474 h 6.87917"
style="fill:none;stroke:#b3b3b3;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2174)" />
<path
style="fill:none;stroke:#b3b3b3;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2390)"
d="m 101.36021,57.496424 7.9375,5.820833"
id="path2386"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#b3b3b3;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2536)"
d="m 126.76022,50.60176 7.9375,5.820833"
id="path2530"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path2532"
d="m 126.76022,64.406146 7.9375,-5.820833"
style="fill:none;stroke:#b3b3b3;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2738)" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="-59.592266"
y="85.549858"
id="text5621"><tspan
sodipodi:role="line"
id="tspan5619"
x="-59.592266"
y="85.549858"
style="font-size:5.64444447px;stroke-width:0.26458332">Defines N</tspan></text>
<text
id="text5625"
y="85.549858"
x="33.276493"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="font-size:5.64444447px;stroke-width:0.26458332"
y="85.549858"
x="33.276493"
id="tspan5623"
sodipodi:role="line">Uses N</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="-20.698515"
y="28.58452"
id="text5772"><tspan
sodipodi:role="line"
id="tspan5770"
x="-20.698515"
y="28.58452"
style="font-size:6.3499999px;stroke-width:0.26458332">Unbroken Path</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m -45.833932,80.178271 4.7625,-13.49375"
id="path5774"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 41.74315,80.972021 39.891067,66.419938"
id="path5776"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M -1.3839326,29.907437 C -19.517805,39.119116 -21.74615,48.330795 -28.814823,57.542474"
id="path5778"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M -2.8856573,57.542474 -1.3839326,29.907437 C 13.179351,38.161007 22.919778,47.176081 24.101845,57.542474"
id="path5780"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 27 KiB

View file

@ -0,0 +1,645 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="256.38992mm"
height="54.451054mm"
viewBox="0 0 256.38992 54.451054"
version="1.1"
id="svg8"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
sodipodi:docname="2019-09-23-FlowGraphUnbrokenPath2.svg">
<defs
id="defs2">
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="marker9224"
style="overflow:visible"
inkscape:isstock="true">
<path
inkscape:connector-curvature="0"
id="path9222"
style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker8912"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend">
<path
inkscape:connector-curvature="0"
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:#0000ff;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path8910" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="marker5889"
style="overflow:visible"
inkscape:isstock="true">
<path
inkscape:connector-curvature="0"
id="path5887"
style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker4878"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:collect="always">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:#0000ff;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path4876"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker4586"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path4584"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="marker3512"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path3510"
style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker2738"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#b3b3b3;fill-opacity:1;fill-rule:evenodd;stroke:#b3b3b3;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path2736"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="marker2536"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path2534"
style="fill:#b3b3b3;fill-opacity:1;fill-rule:evenodd;stroke:#b3b3b3;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="marker2390"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path2388"
style="fill:#b3b3b3;fill-opacity:1;fill-rule:evenodd;stroke:#b3b3b3;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker2174"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#b3b3b3;fill-opacity:1;fill-rule:evenodd;stroke:#b3b3b3;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path2172"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="marker2060"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path2058"
style="fill:#b3b3b3;fill-opacity:1;fill-rule:evenodd;stroke:#b3b3b3;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker1952"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:collect="always">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#b3b3b3;fill-opacity:1;fill-rule:evenodd;stroke:#b3b3b3;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path1950"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="marker1502"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path1500"
style="fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:#0000ff;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker1430"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:collect="always">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path1428"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="Arrow2Mend"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path939"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="DotS"
orient="auto"
refY="0"
refX="0"
id="DotS"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path979"
d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
transform="matrix(0.2,0,0,0.2,1.48,0.2)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lend"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path915"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
transform="matrix(-0.8,0,0,-0.8,-10,0)"
inkscape:connector-curvature="0" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1"
inkscape:cx="247.97553"
inkscape:cy="-103.79339"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="1043"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(49.008932,-22.816801)">
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path4874"
d="M 39.578056,50.26026 C 55.013542,10.46944 169.43705,18.536737 192.61658,49.875061"
style="fill:none;stroke:#0000ff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4878)" />
<path
style="fill:none;stroke:#ff0000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker3512)"
d="M 166.89629,50.26026 C 122.80382,18.573703 69.614943,23.318413 45.662829,48.939618"
id="path3508"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<g
id="g19"
transform="translate(-58.208336)">
<circle
r="8.8824406"
cy="57.552082"
cx="18.331844"
id="path10"
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none" />
<text
id="text14"
y="61.409729"
x="18.241411"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="text-align:center;text-anchor:middle;stroke-width:0.26458332"
y="61.409729"
x="18.241411"
id="tspan12"
sodipodi:role="line">1</tspan></text>
</g>
<g
id="g27"
transform="translate(-31.750001)">
<circle
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none"
id="circle21"
cx="18.331844"
cy="57.552082"
r="8.8824406" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="18.241411"
y="61.409729"
id="text25"><tspan
sodipodi:role="line"
id="tspan23"
x="18.241411"
y="61.409729"
style="text-align:center;text-anchor:middle;stroke-width:0.26458332">2</tspan></text>
</g>
<g
id="g35"
transform="translate(-5.2916667)">
<circle
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none"
id="circle29"
cx="18.331844"
cy="57.552082"
r="8.8824406" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="18.241411"
y="61.409729"
id="text33"><tspan
sodipodi:role="line"
id="tspan31"
x="18.241411"
y="61.409729"
style="text-align:center;text-anchor:middle;stroke-width:0.26458332">3</tspan></text>
</g>
<g
id="g51"
transform="translate(47.625002)">
<circle
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none"
id="circle45"
cx="18.331844"
cy="57.552082"
r="8.8824406" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="18.241411"
y="61.409729"
id="text49"><tspan
sodipodi:role="line"
id="tspan47"
x="18.241411"
y="61.409729"
style="text-align:center;text-anchor:middle;stroke-width:0.26458332">5</tspan></text>
</g>
<g
transform="translate(74.083335)"
id="g59">
<circle
r="8.8824406"
cy="57.552082"
cx="18.331844"
id="circle53"
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none" />
<text
id="text57"
y="61.409729"
x="18.241411"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="text-align:center;text-anchor:middle;stroke-width:0.26458332"
y="61.409729"
x="18.241411"
id="tspan55"
sodipodi:role="line">6</tspan></text>
</g>
<g
transform="translate(100.54167,-10.583333)"
id="g67">
<circle
r="8.8824406"
cy="57.552082"
cx="18.331844"
id="circle61"
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none" />
<text
id="text65"
y="61.409729"
x="18.241411"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="text-align:center;text-anchor:middle;stroke-width:0.26458332"
y="61.409729"
x="18.241411"
id="tspan63"
sodipodi:role="line">7</tspan></text>
</g>
<g
id="g75"
transform="translate(100.54167,10.583333)">
<circle
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none"
id="circle69"
cx="18.331844"
cy="57.552082"
r="8.8824406" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="18.241411"
y="61.409729"
id="text73"><tspan
sodipodi:role="line"
id="tspan71"
x="18.241411"
y="61.409729"
style="text-align:center;text-anchor:middle;stroke-width:0.26458332">8</tspan></text>
</g>
<g
id="g83"
transform="translate(127.00002)">
<circle
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none"
id="circle77"
cx="18.331844"
cy="57.552082"
r="8.8824406" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="18.241411"
y="61.409729"
id="text81"><tspan
sodipodi:role="line"
id="tspan79"
x="18.241411"
y="61.409729"
style="text-align:center;text-anchor:middle;stroke-width:0.26458332">9</tspan></text>
</g>
<g
transform="translate(153.45837)"
id="g91">
<circle
r="8.8824406"
cy="57.552082"
cx="18.331844"
id="circle85"
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none" />
<text
id="text89"
y="61.409729"
x="18.241411"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="text-align:center;text-anchor:middle;stroke-width:0.26458332"
y="61.409729"
x="18.241411"
id="tspan87"
sodipodi:role="line">10</tspan></text>
</g>
<g
id="g99"
transform="translate(179.91672)">
<circle
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none"
id="circle93"
cx="18.331844"
cy="57.552082"
r="8.8824406" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="18.241411"
y="61.409729"
id="text97"><tspan
sodipodi:role="line"
id="tspan95"
x="18.241411"
y="61.409729"
style="text-align:center;text-anchor:middle;stroke-width:0.26458332">11</tspan></text>
</g>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="163.5125"
y="56.229164"
id="text103"><tspan
sodipodi:role="line"
id="tspan101"
x="163.5125"
y="65.592934"
style="stroke-width:0.26458332" /></text>
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
d="m -30.93149,57.542474 h 6.879166"
id="path105"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path1426"
d="m 154.2769,57.542474 h 6.87917"
style="fill:none;stroke:#ff0000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1430)" />
<path
style="fill:none;stroke:#0000ff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1502)"
d="m -4.4731557,57.542474 h 6.879166"
id="path1498"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path1948"
d="m 101.36021,57.542474 7.9375,-5.820833"
style="fill:none;stroke:#b3b3b3;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1952)" />
<path
style="fill:none;stroke:#b3b3b3;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2060)"
d="m 74.901863,57.542474 h 6.87917"
id="path2056"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path2170"
d="m 48.443513,57.542474 h 6.87917"
style="fill:none;stroke:#b3b3b3;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2174)" />
<path
style="fill:none;stroke:#b3b3b3;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2390)"
d="m 101.36021,57.496424 7.9375,5.820833"
id="path2386"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#b3b3b3;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2536)"
d="m 126.76022,50.60176 7.9375,5.820833"
id="path2530"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path2532"
d="m 126.76022,64.406146 7.9375,-5.820833"
style="fill:none;stroke:#b3b3b3;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2738)" />
<path
style="fill:none;stroke:#ff0000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5889)"
d="M 42.223888,50.26026 C 64.68088,11.386096 168.58486,24.283818 189.97073,51.462561"
id="path5885"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<g
transform="translate(21.166667)"
id="g43">
<circle
r="8.8824406"
cy="57.552082"
cx="18.331844"
id="circle37"
style="fill:#cccccc;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none" />
<text
id="text41"
y="61.409729"
x="18.241411"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="text-align:center;text-anchor:middle;stroke-width:0.26458332"
y="61.409729"
x="18.241411"
id="tspan39"
sodipodi:role="line">4</tspan></text>
</g>
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path8908"
d="m 21.985178,57.542474 h 6.879167"
style="fill:none;stroke:#0000ff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker8912)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 25 KiB