cpee 2.0.19 → 2.0.20

Sign up to get free protection for your applications and to get access to all the features.
Files changed (236) hide show
  1. checksums.yaml +4 -4
  2. data/cockpit/css/wfadaptor.css +17 -0
  3. data/cockpit/js/instance.js +0 -1
  4. data/cockpit/js_libs.zip +0 -0
  5. data/cockpit/themes/model/rngs/call.rng +2 -1
  6. data/cockpit/themes/model/rngs/callmanipulate.rng +2 -1
  7. data/cockpit/themes/model/theme.js +1 -1
  8. data/cpee.gemspec +2 -2
  9. data/lib/cpee/controller.rb +6 -3
  10. data/lib/cpee/implementation.rb +23 -8
  11. data/lib/cpee/implementation_notifications.rb +1 -1
  12. data/lib/cpee/persistence.rb +2 -1
  13. data/lib/cpee/redis.rb +57 -0
  14. data/server/routing/end.rb +16 -4
  15. data/server/routing/forward-events.rb +19 -7
  16. data/server/routing/forward-votes.rb +19 -7
  17. data/server/routing/persist.rb +26 -14
  18. data/tools/cpee +5 -5
  19. data/tools/test/README +4 -0
  20. data/tools/test/config.json +3 -0
  21. data/tools/test/contrib/graph_example.svg +1166 -0
  22. data/tools/test/contrib/legend.svg +817 -0
  23. data/tools/test/contrib/symbols.svg +224 -0
  24. data/tools/test/contrib/transformation1.xsl +264 -0
  25. data/tools/test/contrib/transformation2.xsl +10 -0
  26. data/tools/test/contrib/tree_example.svg +788 -0
  27. data/tools/test/css/model.css +24 -0
  28. data/tools/test/css/track.css +60 -0
  29. data/tools/test/css/ui.css +214 -0
  30. data/tools/test/css/wfadaptor.css +422 -0
  31. data/tools/test/edit.html +258 -0
  32. data/tools/test/graph.html +69 -0
  33. data/tools/test/index.html +258 -0
  34. data/tools/test/js/details.js +109 -0
  35. data/tools/test/js/instance.js +1344 -0
  36. data/tools/test/js/model.js +41 -0
  37. data/tools/test/js/parameters.js +82 -0
  38. data/tools/test/js/track.js +18 -0
  39. data/tools/test/js/ui.js +104 -0
  40. data/tools/test/js/wfadaptor.js +763 -0
  41. data/tools/test/js_libs.zip +0 -0
  42. data/tools/test/js_libs/Makefile +2 -0
  43. data/tools/test/js_libs/ansi_up.js +333 -0
  44. data/tools/test/js_libs/console.js +80 -0
  45. data/tools/test/js_libs/custommenu.css +84 -0
  46. data/tools/test/js_libs/custommenu.js +104 -0
  47. data/tools/test/js_libs/experiments1/relaxngui.css +185 -0
  48. data/tools/test/js_libs/experiments1/relaxngui.js +488 -0
  49. data/tools/test/js_libs/experiments1/rngtest9.html +60 -0
  50. data/tools/test/js_libs/experiments1/rngtest9.rng +35 -0
  51. data/tools/test/js_libs/experiments1/rngtest9.xml +8 -0
  52. data/tools/test/js_libs/jquery-2.2.4.min.js +4 -0
  53. data/tools/test/js_libs/jquery-3.2.1.min.js +4 -0
  54. data/tools/test/js_libs/jquery-3.3.1.min.js +2 -0
  55. data/tools/test/js_libs/jquery.browser.js +40 -0
  56. data/tools/test/js_libs/jquery.caret.min.js +10 -0
  57. data/tools/test/js_libs/jquery.cookie.js +117 -0
  58. data/tools/test/js_libs/jquery.min.js +1 -0
  59. data/tools/test/js_libs/jquery.svg.min.js +6 -0
  60. data/tools/test/js_libs/jquery.svgdom.min.js +6 -0
  61. data/tools/test/js_libs/markdown.min.js +1 -0
  62. data/tools/test/js_libs/parsequery.js +21 -0
  63. data/tools/test/js_libs/printf.js +368 -0
  64. data/tools/test/js_libs/relaxngui.css +213 -0
  65. data/tools/test/js_libs/relaxngui.js +543 -0
  66. data/tools/test/js_libs/strftime.min.js +1 -0
  67. data/tools/test/js_libs/tests/dataelements.html +59 -0
  68. data/tools/test/js_libs/tests/dataelements.rng +8 -0
  69. data/tools/test/js_libs/tests/dataelements.xml +3 -0
  70. data/tools/test/js_libs/tests/relaxngui.css +203 -0
  71. data/tools/test/js_libs/tests/relaxngui.js +502 -0
  72. data/tools/test/js_libs/tests/rngtest1.html +66 -0
  73. data/tools/test/js_libs/tests/rngtest1.rng +147 -0
  74. data/tools/test/js_libs/tests/rngtest1.xml +13 -0
  75. data/tools/test/js_libs/tests/rngtest2.html +60 -0
  76. data/tools/test/js_libs/tests/rngtest2.rng +6 -0
  77. data/tools/test/js_libs/tests/rngtest2.xml +3 -0
  78. data/tools/test/js_libs/tests/rngtest3.html +60 -0
  79. data/tools/test/js_libs/tests/rngtest3.rng +23 -0
  80. data/tools/test/js_libs/tests/rngtest3.xml +9 -0
  81. data/tools/test/js_libs/tests/rngtest4.html +60 -0
  82. data/tools/test/js_libs/tests/rngtest4.rng +19 -0
  83. data/tools/test/js_libs/tests/rngtest4.xml +12 -0
  84. data/tools/test/js_libs/tests/rngtest5.html +60 -0
  85. data/tools/test/js_libs/tests/rngtest5.rng +75 -0
  86. data/tools/test/js_libs/tests/rngtest5.xml +40 -0
  87. data/tools/test/js_libs/tests/rngtest6.html +60 -0
  88. data/tools/test/js_libs/tests/rngtest6.rng +24 -0
  89. data/tools/test/js_libs/tests/rngtest6.xml +6 -0
  90. data/tools/test/js_libs/tests/rngtest8.html +60 -0
  91. data/tools/test/js_libs/tests/rngtest8.rng +13 -0
  92. data/tools/test/js_libs/tests/rngtest8.xml +2 -0
  93. data/tools/test/js_libs/tests/rngtest9.html +60 -0
  94. data/tools/test/js_libs/tests/rngtest9.rng +31 -0
  95. data/tools/test/js_libs/tests/rngtest9.xml +8 -0
  96. data/tools/test/js_libs/ui.css +333 -0
  97. data/tools/test/js_libs/ui.html +168 -0
  98. data/tools/test/js_libs/ui.js +177 -0
  99. data/tools/test/js_libs/underscore.min.js +27 -0
  100. data/tools/test/js_libs/util.js +81 -0
  101. data/tools/test/js_libs/vkbeautify.0.99.00.beta.js +358 -0
  102. data/tools/test/js_libs/vkbeautify.js +1 -0
  103. data/tools/test/js_libs/webcomponents.min.js +196 -0
  104. data/tools/test/model.html +192 -0
  105. data/tools/test/rngs/attributes.rng +8 -0
  106. data/tools/test/rngs/dataelements.rng +8 -0
  107. data/tools/test/rngs/endpoints.rng +8 -0
  108. data/tools/test/templates.legacy/Async.xml +46 -0
  109. data/tools/test/templates.legacy/BCO.xml +70 -0
  110. data/tools/test/templates.legacy/BCS.xml +70 -0
  111. data/tools/test/templates.legacy/Centurio.xml +75 -0
  112. data/tools/test/templates.legacy/Concurrent.xml +40 -0
  113. data/tools/test/templates.legacy/Coopis Testset.xml +76 -0
  114. data/tools/test/templates.legacy/Endpoints and Data Manipulation.xml +30 -0
  115. data/tools/test/templates.legacy/ICSOC Testset.xml +95 -0
  116. data/tools/test/templates.legacy/Infinity.xml +28 -0
  117. data/tools/test/templates.legacy/Lego Boxer.xml +31 -0
  118. data/tools/test/templates.legacy/Lego Conveyor.xml +31 -0
  119. data/tools/test/templates.legacy/Lego Crane.xml +87 -0
  120. data/tools/test/templates.legacy/Lego Ejector.xml +55 -0
  121. data/tools/test/templates.legacy/Lego Full.xml +142 -0
  122. data/tools/test/templates.legacy/Lego Liddy.xml +40 -0
  123. data/tools/test/templates.legacy/Lego Plate.xml +31 -0
  124. data/tools/test/templates.legacy/Lego Transporter.xml +43 -0
  125. data/tools/test/templates.legacy/Lego_Part_1.xml +85 -0
  126. data/tools/test/templates.legacy/LgLinear.xml +65 -0
  127. data/tools/test/templates.legacy/Linear.xml +77 -0
  128. data/tools/test/templates.legacy/Log.xml +117 -0
  129. data/tools/test/templates.legacy/Mangler 1.xml +87 -0
  130. data/tools/test/templates.legacy/Mangler 2.xml +103 -0
  131. data/tools/test/templates.legacy/Manuel Labels.xml +55 -0
  132. data/tools/test/templates.legacy/Promise.xml +275 -0
  133. data/tools/test/templates.legacy/SOPROMO Test Sonification.xml +83 -0
  134. data/tools/test/templates.legacy/Subprocess.xml +56 -0
  135. data/tools/test/templates.legacy/Syncing P34 1.xml +77 -0
  136. data/tools/test/templates.legacy/Syncing P34 2.xml +77 -0
  137. data/tools/test/templates.legacy/Syncing P34 3.xml +77 -0
  138. data/tools/test/templates.legacy/Syncing P34.xml +77 -0
  139. data/tools/test/templates.legacy/TEST - Bad Loop.xml +173 -0
  140. data/tools/test/templates.legacy/TEST - Wrong Positions.xml +174 -0
  141. data/tools/test/templates.legacy/Take_5.xml +48 -0
  142. data/tools/test/templates.legacy/Update.xml +32 -0
  143. data/tools/test/templates.legacy/Worklist Parallel.xml +104 -0
  144. data/tools/test/templates.legacy/Worklist Test CPEE.xml +40 -0
  145. data/tools/test/templates.legacy/Worklist Test.xml +42 -0
  146. data/tools/test/templates.legacy/Worklist Test2.xml +43 -0
  147. data/tools/test/templates.legacy/convert_cpee2.rb +15 -0
  148. data/tools/test/templates.legacy/convert_preset.rb +32 -0
  149. data/tools/test/templates.legacy/testsets.xml +37 -0
  150. data/tools/test/templates.legacy/transformations.xml +4 -0
  151. data/tools/test/templates/Coopis 2010.xml +76 -0
  152. data/tools/test/templates/IUPC arXiv:1104.3609 P34 1.xml +77 -0
  153. data/tools/test/templates/IUPC arXiv:1104.3609 P34 2.xml +77 -0
  154. data/tools/test/templates/IUPC arXiv:1104.3609 P34 3.xml +77 -0
  155. data/tools/test/templates/Track Test Local.xml +82 -0
  156. data/tools/test/templates/Track Test.xml +82 -0
  157. data/tools/test/templates/UR-VUE 2020 Manual Adjust.xml +182 -0
  158. data/tools/test/templates/UR-VUE 2020 Solution Baseline.xml +203 -0
  159. data/tools/test/templates/UR-VUE 2020 Solution NN.xml +197 -0
  160. data/tools/test/templates/UR-VUE 2020 Solution View.xml +151 -0
  161. data/tools/test/templates/UR-VUE 2020.xml +26 -0
  162. data/tools/test/templates/Worklist.xml +42 -0
  163. data/tools/test/templates/instantiate.local/Take_Sub.xml +59 -0
  164. data/tools/test/templates/instantiate/Take_Perf.xml +46 -0
  165. data/tools/test/templates/instantiate/Take_Sub.xml +58 -0
  166. data/tools/test/templates/instantiate/Take_X.xml +48 -0
  167. data/tools/test/themes/compact/theme.js +1285 -0
  168. data/tools/test/themes/diana/theme.js +1650 -0
  169. data/tools/test/themes/extended/theme.js +1325 -0
  170. data/tools/test/themes/model/rngs/alternative.rng +1 -0
  171. data/tools/test/themes/model/rngs/call.rng +67 -0
  172. data/tools/test/themes/model/rngs/callmanipulate.rng +72 -0
  173. data/tools/test/themes/model/rngs/choose.rng +1 -0
  174. data/tools/test/themes/model/rngs/critical.rng +1 -0
  175. data/tools/test/themes/model/rngs/escape.rng +1 -0
  176. data/tools/test/themes/model/rngs/group.rng +1 -0
  177. data/tools/test/themes/model/rngs/loop.rng +1 -0
  178. data/tools/test/themes/model/rngs/manipulate.rng +1 -0
  179. data/tools/test/themes/model/rngs/otherwise.rng +1 -0
  180. data/tools/test/themes/model/rngs/parallel.rng +1 -0
  181. data/tools/test/themes/model/rngs/parallel_branch.rng +1 -0
  182. data/tools/test/themes/model/rngs/scripts.rng +7 -0
  183. data/tools/test/themes/model/rngs/stop.rng +1 -0
  184. data/tools/test/themes/model/rngs/terminate.rng +1 -0
  185. data/tools/test/themes/model/theme.js +1268 -0
  186. data/tools/test/themes/packed/theme.js +1286 -0
  187. data/tools/test/themes/preset/rngs/alternative.rng +25 -0
  188. data/tools/test/themes/preset/rngs/call.rng +122 -0
  189. data/tools/test/themes/preset/rngs/callmanipulate.rng +145 -0
  190. data/tools/test/themes/preset/rngs/choose.rng +14 -0
  191. data/tools/test/themes/preset/rngs/closed_loop.rng +62 -0
  192. data/tools/test/themes/preset/rngs/closed_loop_cancel.rng +5 -0
  193. data/tools/test/themes/preset/rngs/closed_loop_control.rng +31 -0
  194. data/tools/test/themes/preset/rngs/closed_loop_measuring.rng +12 -0
  195. data/tools/test/themes/preset/rngs/critical.rng +5 -0
  196. data/tools/test/themes/preset/rngs/escape.rng +1 -0
  197. data/tools/test/themes/preset/rngs/group.rng +3 -0
  198. data/tools/test/themes/preset/rngs/loop.rng +22 -0
  199. data/tools/test/themes/preset/rngs/manipulate.rng +9 -0
  200. data/tools/test/themes/preset/rngs/otherwise.rng +22 -0
  201. data/tools/test/themes/preset/rngs/parallel.rng +21 -0
  202. data/tools/test/themes/preset/rngs/parallel_branch.rng +8 -0
  203. data/tools/test/themes/preset/rngs/scripts.rng +23 -0
  204. data/tools/test/themes/preset/rngs/stop.rng +5 -0
  205. data/tools/test/themes/preset/rngs/terminate.rng +1 -0
  206. data/tools/test/themes/preset/symbols/alternative.svg +5 -0
  207. data/tools/test/themes/preset/symbols/arrow.svg +3 -0
  208. data/tools/test/themes/preset/symbols/call.svg +6 -0
  209. data/tools/test/themes/preset/symbols/callmanipulate.svg +8 -0
  210. data/tools/test/themes/preset/symbols/choose.svg +5 -0
  211. data/tools/test/themes/preset/symbols/choose_exclusive.svg +5 -0
  212. data/tools/test/themes/preset/symbols/choose_inclusive.svg +4 -0
  213. data/tools/test/themes/preset/symbols/closed_loop.svg +5 -0
  214. data/tools/test/themes/preset/symbols/closed_loop_cancel.svg +5 -0
  215. data/tools/test/themes/preset/symbols/closed_loop_control.svg +5 -0
  216. data/tools/test/themes/preset/symbols/closed_loop_measuring.svg +6 -0
  217. data/tools/test/themes/preset/symbols/complex.svg +8 -0
  218. data/tools/test/themes/preset/symbols/critical.svg +4 -0
  219. data/tools/test/themes/preset/symbols/end.svg +3 -0
  220. data/tools/test/themes/preset/symbols/escape.svg +5 -0
  221. data/tools/test/themes/preset/symbols/event_end.svg +3 -0
  222. data/tools/test/themes/preset/symbols/loop.svg +5 -0
  223. data/tools/test/themes/preset/symbols/manipulate.svg +4 -0
  224. data/tools/test/themes/preset/symbols/otherwise.svg +5 -0
  225. data/tools/test/themes/preset/symbols/parallel.svg +5 -0
  226. data/tools/test/themes/preset/symbols/parallel_branch.svg +5 -0
  227. data/tools/test/themes/preset/symbols/parallel_branch_compact.svg +4 -0
  228. data/tools/test/themes/preset/symbols/parallel_branch_event.svg +14 -0
  229. data/tools/test/themes/preset/symbols/parallel_branch_normal.svg +5 -0
  230. data/tools/test/themes/preset/symbols/scripts.svg +4 -0
  231. data/tools/test/themes/preset/symbols/start.svg +3 -0
  232. data/tools/test/themes/preset/symbols/stop.svg +5 -0
  233. data/tools/test/themes/preset/symbols/terminate.svg +4 -0
  234. data/tools/test/themes/preset/theme.js +1287 -0
  235. data/tools/test/track.html +142 -0
  236. metadata +221 -2
@@ -0,0 +1,817 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <svg
3
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
4
+ xmlns:cc="http://creativecommons.org/ns#"
5
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
6
+ xmlns:svg="http://www.w3.org/2000/svg"
7
+ xmlns="http://www.w3.org/2000/svg"
8
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
9
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
10
+ version="1.1"
11
+ id="svg2"
12
+ inkscape:version="0.48+devel r12739"
13
+ width="100%"
14
+ height="100%"
15
+ sodipodi:docname="legend.svg">
16
+ <metadata
17
+ id="metadata177">
18
+ <rdf:RDF>
19
+ <cc:Work
20
+ rdf:about="">
21
+ <dc:format>image/svg+xml</dc:format>
22
+ <dc:type
23
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
24
+ <dc:title />
25
+ </cc:Work>
26
+ </rdf:RDF>
27
+ </metadata>
28
+ <sodipodi:namedview
29
+ pagecolor="#ffffff"
30
+ bordercolor="#666666"
31
+ borderopacity="1"
32
+ objecttolerance="10"
33
+ gridtolerance="10"
34
+ guidetolerance="10"
35
+ inkscape:pageopacity="0"
36
+ inkscape:pageshadow="2"
37
+ inkscape:window-width="640"
38
+ inkscape:window-height="480"
39
+ id="namedview175"
40
+ showgrid="true"
41
+ inkscape:zoom="3.6203867"
42
+ inkscape:cx="71.534105"
43
+ inkscape:cy="-952.44983"
44
+ inkscape:current-layer="svg2"
45
+ inkscape:snap-intersection-paths="false"
46
+ inkscape:object-nodes="true"
47
+ inkscape:snap-smooth-nodes="true"
48
+ inkscape:snap-text-baseline="true"
49
+ inkscape:snap-grids="true"
50
+ inkscape:snap-center="false"
51
+ showguides="true"
52
+ inkscape:guide-bbox="true">
53
+ <inkscape:grid
54
+ type="xygrid"
55
+ id="grid3639" />
56
+ </sodipodi:namedview>
57
+ <defs
58
+ id="defs4">
59
+ <!--{{{-->
60
+ <style
61
+ type="text/css"
62
+ id="style6"><![CDATA[
63
+ svg rect.injected {
64
+ fill: Highlight;
65
+ fill-opacity: 0.2;
66
+ }
67
+
68
+ svg path.ourline {
69
+ stroke-opacity: 0.9;
70
+ stroke:#000000;
71
+ stroke-width: 2;
72
+ fill: none;
73
+ }
74
+ svg rect.block {
75
+ stroke-width: 1;
76
+ stroke-dasharray: 3,5;
77
+ stroke: #000000;
78
+ fill: none;
79
+ }
80
+ svg circle.stand, svg rect.stand {
81
+ stroke:#000000;
82
+ stroke-width:2.06896567;
83
+ stroke-linecap:round;
84
+ stroke-linejoin:round;
85
+ stroke-miterlimit:4;
86
+ stroke-opacity:1;
87
+ stroke-dasharray:none;
88
+ }
89
+ svg text.normal {
90
+ font-size:20px;
91
+ font-style:normal;
92
+ font-variant:normal;
93
+ font-weight:bold;
94
+ font-stretch:normal;
95
+ text-align:center;
96
+ line-height:125%;
97
+ writing-mode:lr-tb;
98
+ text-anchor:middle;
99
+ color:#000000;
100
+ fill:#000000;
101
+ fill-opacity:1;
102
+ stroke:none;
103
+ font-family:Arial;
104
+ }
105
+
106
+ svg text.super {
107
+ font-size:11px;
108
+ font-style:normal;
109
+ font-variant:normal;
110
+ font-weight:bold;
111
+ font-stretch:normal;
112
+ text-align:center;
113
+ line-height:100%;
114
+ writing-mode:lr-tb;
115
+ text-anchor:left;
116
+ color:#000000;
117
+ fill:#000000;
118
+ fill-opacity:1;
119
+ stroke:none;
120
+ font-family:Arial;
121
+ }
122
+ svg tspan.active {
123
+ fill:#ff0000;
124
+ display: none;
125
+ }
126
+ svg tspan.vote {
127
+ fill:#73d216;
128
+ display: none;
129
+ }
130
+ svg tspan.colon {
131
+ display: none;
132
+ }
133
+ svg tspan.necessary {
134
+ display: inline;
135
+ }
136
+
137
+ svg text.normallarge {
138
+ font-size:25px;
139
+ font-style:normal;
140
+ font-variant:normal;
141
+ font-weight:bold;
142
+ font-stretch:normal;
143
+ text-align:center;
144
+ line-height:125%;
145
+ writing-mode:lr-tb;
146
+ text-anchor:middle;
147
+ color:#000000;
148
+ fill:#000000;
149
+ fill-opacity:1;
150
+ stroke:none;
151
+ font-family:Arial;
152
+ }
153
+ svg text.small {
154
+ font-size:14px;
155
+ font-style:normal;
156
+ font-variant:normal;
157
+ font-weight:bold;
158
+ font-stretch:normal;
159
+ text-align:center;
160
+ line-height:125%;
161
+ writing-mode:lr-tb;
162
+ text-anchor:middle;
163
+ color:#000000;
164
+ fill:#000000;
165
+ fill-opacity:1;
166
+ stroke:none;
167
+ font-family:Arial;
168
+ }
169
+
170
+ #arrow {
171
+ stroke: #000000;
172
+ stroke-width: 2;
173
+ fill: #000000;
174
+ }
175
+ ]]></style>
176
+ <!--}}}-->
177
+ <symbol
178
+ id="activity"
179
+ class="clickable">
180
+ <!-- {{{ -->
181
+ <rect
182
+ x="1"
183
+ y="1"
184
+ width="28"
185
+ height="28"
186
+ class="stand"
187
+ id="rect9" />
188
+ </symbol>
189
+ <!-- }}} -->
190
+ <symbol
191
+ id="activitymanipulate"
192
+ class="clickable">
193
+ <!-- {{{ -->
194
+ <rect
195
+ x="1"
196
+ y="1"
197
+ width="28"
198
+ height="28"
199
+ class="stand"
200
+ id="rect12" />
201
+ <circle
202
+ cx="28"
203
+ cy="28"
204
+ r="9"
205
+ class="stand"
206
+ id="circle14"
207
+ d="m 37,28 c 0,4.970563 -4.029437,9 -9,9 -4.970563,0 -9,-4.029437 -9,-9 0,-4.970563 4.029437,-9 9,-9 4.970563,0 9,4.029437 9,9 z" />
208
+ <text
209
+ class="small"
210
+ transform="translate(28, 32)"
211
+ id="text16">m</text>
212
+ </symbol>
213
+ <!-- }}} -->
214
+ <symbol
215
+ id="call"
216
+ class="clickable">
217
+ <!-- {{{ -->
218
+ <circle
219
+ cx="15"
220
+ cy="15"
221
+ r="14"
222
+ class="stand"
223
+ id="circle19" />
224
+ <text
225
+ class="normal"
226
+ transform="translate(15, 21)"
227
+ id="text21">c</text>
228
+ </symbol>
229
+ <!-- }}} -->
230
+ <symbol
231
+ id="manipulate"
232
+ class="clickable">
233
+ <!-- {{{ -->
234
+ <circle
235
+ cx="15"
236
+ cy="15"
237
+ r="14"
238
+ class="stand"
239
+ id="circle24"
240
+ d="M 29,15 C 29,22.731986 22.731986,29 15,29 7.2680135,29 1,22.731986 1,15 1,7.2680135 7.2680135,1 15,1 22.731986,1 29,7.2680135 29,15 Z" />
241
+ <text
242
+ class="normal"
243
+ transform="translate(15, 21)"
244
+ id="text26">m</text>
245
+ </symbol>
246
+ <!-- }}} -->
247
+ <symbol
248
+ id="callmanipulate"
249
+ class="clickable">
250
+ <!-- {{{ -->
251
+ <circle
252
+ cx="15"
253
+ cy="15"
254
+ r="14"
255
+ class="stand"
256
+ id="circle29"
257
+ d="M 29,15 C 29,22.731986 22.731986,29 15,29 7.2680135,29 1,22.731986 1,15 1,7.2680135 7.2680135,1 15,1 22.731986,1 29,7.2680135 29,15 Z" />
258
+ <text
259
+ class="normal"
260
+ transform="translate(15, 21)"
261
+ id="text31">c</text>
262
+ <circle
263
+ cx="28"
264
+ cy="28"
265
+ r="9"
266
+ class="stand"
267
+ id="circle33"
268
+ d="m 37,28 c 0,4.970563 -4.029437,9 -9,9 -4.970563,0 -9,-4.029437 -9,-9 0,-4.970563 4.029437,-9 9,-9 4.970563,0 9,4.029437 9,9 z" />
269
+ <text
270
+ class="small"
271
+ transform="translate(28, 32)"
272
+ id="text35">m</text>
273
+ </symbol>
274
+ <!-- }}} -->
275
+ <symbol
276
+ id="choose"
277
+ class="clickable">
278
+ <!-- {{{ -->
279
+ <circle
280
+ cx="15"
281
+ cy="15"
282
+ r="14"
283
+ class="stand"
284
+ id="circle38"
285
+ d="M 29,15 C 29,22.731986 22.731986,29 15,29 7.2680135,29 1,22.731986 1,15 1,7.2680135 7.2680135,1 15,1 22.731986,1 29,7.2680135 29,15 Z" />
286
+ <text
287
+ class="normal"
288
+ transform="translate(15, 21)"
289
+ id="text40">σ</text>
290
+ </symbol>
291
+ <!-- }}} -->
292
+ <symbol
293
+ id="alternative"
294
+ class="clickable">
295
+ <!-- {{{ -->
296
+ <circle
297
+ cx="15"
298
+ cy="15"
299
+ r="14"
300
+ class="standwithout"
301
+ id="circle43"
302
+ d="M 29,15 C 29,22.731986 22.731986,29 15,29 7.2680135,29 1,22.731986 1,15 1,7.2680135 7.2680135,1 15,1 22.731986,1 29,7.2680135 29,15 Z" />
303
+ <text
304
+ class="normal"
305
+ transform="translate(15, 20)"
306
+ id="text45">{..}</text>
307
+ </symbol>
308
+ <!-- }}} -->
309
+ <symbol
310
+ id="otherwise"
311
+ class="clickable">
312
+ <!-- {{{ -->
313
+ <circle
314
+ cx="15"
315
+ cy="15"
316
+ r="14"
317
+ class="standwithout"
318
+ id="circle48"
319
+ d="M 29,15 C 29,22.731986 22.731986,29 15,29 7.2680135,29 1,22.731986 1,15 1,7.2680135 7.2680135,1 15,1 22.731986,1 29,7.2680135 29,15 Z" />
320
+ <text
321
+ class="normal"
322
+ transform="translate(15, 20)"
323
+ id="text50">{⁎}</text>
324
+ </symbol>
325
+ <!-- }}} -->
326
+ <symbol
327
+ id="parallel"
328
+ class="clickable">
329
+ <!-- {{{ -->
330
+ <circle
331
+ cx="15"
332
+ cy="15"
333
+ r="14"
334
+ class="stand"
335
+ id="circle53"
336
+ d="M 29,15 C 29,22.731986 22.731986,29 15,29 7.2680135,29 1,22.731986 1,15 1,7.2680135 7.2680135,1 15,1 22.731986,1 29,7.2680135 29,15 Z" />
337
+ <text
338
+ class="normal"
339
+ transform="translate(15, 21)"
340
+ id="text55">||</text>
341
+ </symbol>
342
+ <!-- }}} -->
343
+ <symbol
344
+ id="parallel_branch"
345
+ class="clickable">
346
+ <!-- {{{ -->
347
+ <circle
348
+ cx="15"
349
+ cy="15"
350
+ r="14"
351
+ class="stand"
352
+ id="circle58"
353
+ d="M 29,15 C 29,22.731986 22.731986,29 15,29 7.2680135,29 1,22.731986 1,15 1,7.2680135 7.2680135,1 15,1 22.731986,1 29,7.2680135 29,15 Z" />
354
+ <text
355
+ class="normal"
356
+ transform="translate(15, 21)"
357
+ id="text60">|</text>
358
+ </symbol>
359
+ <!-- }}} -->
360
+ <symbol
361
+ id="critical"
362
+ class="clickable">
363
+ <!-- {{{ -->
364
+ <circle
365
+ cx="15"
366
+ cy="15"
367
+ r="14"
368
+ class="stand"
369
+ id="circle63"
370
+ d="M 29,15 C 29,22.731986 22.731986,29 15,29 7.2680135,29 1,22.731986 1,15 1,7.2680135 7.2680135,1 15,1 22.731986,1 29,7.2680135 29,15 Z" />
371
+ <text
372
+ class="normal"
373
+ transform="translate(15, 21)"
374
+ id="text65">⚠</text>
375
+ </symbol>
376
+ <!-- }}} -->
377
+ <symbol
378
+ id="loop"
379
+ class="clickable">
380
+ <!-- {{{ -->
381
+ <circle
382
+ cx="15"
383
+ cy="15"
384
+ r="14"
385
+ class="stand"
386
+ id="circle68"
387
+ d="M 29,15 C 29,22.731986 22.731986,29 15,29 7.2680135,29 1,22.731986 1,15 1,7.2680135 7.2680135,1 15,1 22.731986,1 29,7.2680135 29,15 Z" />
388
+ <text
389
+ class="normallarge"
390
+ transform="translate(15, 24)"
391
+ id="text70">↺</text>
392
+ </symbol>
393
+ <!-- }}} -->
394
+ <symbol
395
+ id="end">
396
+ <!-- {{{ -->
397
+ <circle
398
+ cx="15"
399
+ cy="15"
400
+ r="14"
401
+ class="stand"
402
+ id="circle73"
403
+ d="M 29,15 C 29,22.731986 22.731986,29 15,29 7.2680135,29 1,22.731986 1,15 1,7.2680135 7.2680135,1 15,1 22.731986,1 29,7.2680135 29,15 Z" />
404
+ <circle
405
+ cx="15"
406
+ cy="15"
407
+ r="11"
408
+ class="stand"
409
+ id="circle75"
410
+ d="M 26,15 C 26,21.075132 21.075132,26 15,26 8.9248678,26 4,21.075132 4,15 4,8.9248678 8.9248678,4 15,4 21.075132,4 26,8.9248678 26,15 Z" />
411
+ <text
412
+ class="normal"
413
+ transform="translate(15, 21)"
414
+ id="text77">Ω</text>
415
+ </symbol>
416
+ <!-- }}} -->
417
+ <marker
418
+ id="arrow"
419
+ viewBox="0 0 10 10"
420
+ refX="24"
421
+ refY="5"
422
+ orient="auto"
423
+ markerUnits="strokeWidth"
424
+ markerWidth="4.5"
425
+ markerHeight="4.5">
426
+ <path
427
+ d="m 2 2 l 6 3 l -6 3 z"
428
+ id="path80" />
429
+ </marker>
430
+ </defs>
431
+ <path
432
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
433
+ d="m 45,878.99999 0,19.99999 20,0 0,-19.99999 z"
434
+ id="path3643"
435
+ inkscape:connector-curvature="0"
436
+ sodipodi:nodetypes="ccccc"
437
+ inkscape:export-xdpi="300"
438
+ inkscape:export-ydpi="300" />
439
+ <ellipse
440
+ style="color:#000000;fill:#ffffff;fill-opacity:0.78431373;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
441
+ id="path4459"
442
+ inkscape:export-xdpi="300"
443
+ inkscape:export-ydpi="300"
444
+ cx="55"
445
+ cy="864"
446
+ rx="10"
447
+ ry="10.000001" />
448
+ <g
449
+ id="g4600"
450
+ transform="translate(30,506.63782)"
451
+ inkscape:export-xdpi="300"
452
+ inkscape:export-ydpi="300">
453
+ <path
454
+ sodipodi:nodetypes="ccccc"
455
+ inkscape:connector-curvature="0"
456
+ id="path3641"
457
+ d="m 25,397.36218 10,10 -10,10 -10,-10 z"
458
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
459
+ <text
460
+ sodipodi:linespacing="100%"
461
+ id="text4461"
462
+ y="412.64661"
463
+ x="25"
464
+ style="font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
465
+ xml:space="preserve"><tspan
466
+ y="412.64661"
467
+ x="25"
468
+ id="tspan4463"
469
+ sodipodi:role="line">+</tspan></text>
470
+ </g>
471
+ <g
472
+ id="g4605"
473
+ transform="translate(30,516.63782)"
474
+ inkscape:export-xdpi="300"
475
+ inkscape:export-ydpi="300">
476
+ <path
477
+ sodipodi:nodetypes="ccccc"
478
+ inkscape:connector-curvature="0"
479
+ id="path3641-5"
480
+ d="m 25,447.36218 10,10 -10,10 -10,-10 z"
481
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
482
+ <path
483
+ sodipodi:open="true"
484
+ sodipodi:end="4.3284087"
485
+ sodipodi:start="5.0451287"
486
+ d="m 26.306535,453.59343 a 3.9999998,3.8769331 0 1 1 -2.80499,0.0697"
487
+ sodipodi:ry="3.8769331"
488
+ sodipodi:rx="3.9999998"
489
+ sodipodi:cy="457.25772"
490
+ sodipodi:cx="25"
491
+ id="path4459-9"
492
+ style="color:#000000;fill:#ffffff;fill-opacity:0.78431373;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
493
+ sodipodi:type="arc" />
494
+ <path
495
+ inkscape:connector-curvature="0"
496
+ id="path4505"
497
+ d="m 25.27398,452.93094 2.227621,0.19415 -1.046375,1.70444 z"
498
+ style="fill:#000000;stroke:#000000;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
499
+ <text
500
+ sodipodi:linespacing="100%"
501
+ id="text4532"
502
+ y="451.36218"
503
+ x="31"
504
+ style="font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
505
+ xml:space="preserve"><tspan
506
+ style="font-size:7.5px"
507
+ y="451.36218"
508
+ x="31"
509
+ id="tspan4534"
510
+ sodipodi:role="line">{pre|post} Condition</tspan></text>
511
+ </g>
512
+ <path
513
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
514
+ d="M 55,988.99999 65,998.99996 55,1009 45,998.99996 Z"
515
+ id="path3641-5-9"
516
+ inkscape:connector-curvature="0"
517
+ sodipodi:nodetypes="ccccc"
518
+ inkscape:export-xdpi="300"
519
+ inkscape:export-ydpi="300" />
520
+ <ellipse
521
+ style="color:#000000;fill:#ffffff;fill-opacity:0.78431373;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
522
+ id="path4459-9-0"
523
+ inkscape:export-xdpi="300"
524
+ inkscape:export-ydpi="300"
525
+ cx="55"
526
+ cy="998.87701"
527
+ rx="3.9999998"
528
+ ry="3.8769331" />
529
+ <text
530
+ xml:space="preserve"
531
+ style="font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
532
+ x="55"
533
+ y="1034"
534
+ id="text4536"
535
+ sodipodi:linespacing="100%"
536
+ inkscape:export-xdpi="300"
537
+ inkscape:export-ydpi="300"><tspan
538
+ sodipodi:role="line"
539
+ id="tspan4538"
540
+ x="55"
541
+ y="1034">{..}</tspan></text>
542
+ <path
543
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
544
+ d="m 55,1009 0,15"
545
+ id="path4540"
546
+ inkscape:connector-curvature="0"
547
+ inkscape:export-xdpi="300"
548
+ inkscape:export-ydpi="300" />
549
+ <text
550
+ xml:space="preserve"
551
+ style="font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
552
+ x="80"
553
+ y="1034"
554
+ id="text4536-7"
555
+ sodipodi:linespacing="100%"
556
+ inkscape:export-xdpi="300"
557
+ inkscape:export-ydpi="300"><tspan
558
+ sodipodi:role="line"
559
+ id="tspan4538-2"
560
+ x="80"
561
+ y="1034">{..}</tspan></text>
562
+ <path
563
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
564
+ d="m 59,1006 21,18"
565
+ id="path4584"
566
+ inkscape:connector-curvature="0"
567
+ sodipodi:nodetypes="cc"
568
+ inkscape:export-xdpi="300"
569
+ inkscape:export-ydpi="300" />
570
+ <path
571
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
572
+ d="m 63,1002 42,22 0,15"
573
+ id="path4586"
574
+ inkscape:connector-curvature="0"
575
+ sodipodi:nodetypes="cc"
576
+ inkscape:export-xdpi="300"
577
+ inkscape:export-ydpi="300" />
578
+ <text
579
+ xml:space="preserve"
580
+ style="font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
581
+ x="134"
582
+ y="869.28076"
583
+ id="text4592"
584
+ sodipodi:linespacing="100%"
585
+ inkscape:export-xdpi="300"
586
+ inkscape:export-ydpi="300"><tspan
587
+ sodipodi:role="line"
588
+ id="tspan4594"
589
+ x="134"
590
+ y="869.28076">Root Node</tspan></text>
591
+ <text
592
+ xml:space="preserve"
593
+ style="font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
594
+ x="134"
595
+ y="894.28076"
596
+ id="text4596"
597
+ sodipodi:linespacing="100%"
598
+ inkscape:export-xdpi="300"
599
+ inkscape:export-ydpi="300"><tspan
600
+ sodipodi:role="line"
601
+ id="tspan4598"
602
+ x="134"
603
+ y="894.28076">Task</tspan></text>
604
+ <text
605
+ xml:space="preserve"
606
+ style="font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
607
+ x="134"
608
+ y="919.28076"
609
+ id="text4596-1"
610
+ sodipodi:linespacing="100%"
611
+ inkscape:export-xdpi="300"
612
+ inkscape:export-ydpi="300"><tspan
613
+ sodipodi:role="line"
614
+ id="tspan4598-5"
615
+ x="134"
616
+ y="919.28076">Parallel</tspan></text>
617
+ <text
618
+ xml:space="preserve"
619
+ style="font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
620
+ x="134"
621
+ y="977.85516"
622
+ id="text4648"
623
+ sodipodi:linespacing="100%"
624
+ inkscape:export-xdpi="300"
625
+ inkscape:export-ydpi="300"><tspan
626
+ sodipodi:role="line"
627
+ id="tspan4650"
628
+ x="134"
629
+ y="977.85516">Loop</tspan></text>
630
+ <text
631
+ xml:space="preserve"
632
+ style="font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
633
+ x="134"
634
+ y="1004.2808"
635
+ id="text4652"
636
+ sodipodi:linespacing="100%"
637
+ inkscape:export-xdpi="300"
638
+ inkscape:export-ydpi="300"><tspan
639
+ sodipodi:role="line"
640
+ id="tspan4654"
641
+ x="134"
642
+ y="1004.2808">Decision</tspan></text>
643
+ <text
644
+ xml:space="preserve"
645
+ style="font-size:12.5px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
646
+ x="-688.7218"
647
+ y="816.00098"
648
+ id="text4664-9"
649
+ sodipodi:linespacing="100%"
650
+ inkscape:transform-center-x="-16.764875"
651
+ inkscape:transform-center-y="-22.222262"
652
+ transform="matrix(0.70710678,-0.70710678,0.70710678,0.70710678,0,0)"
653
+ inkscape:export-xdpi="300"
654
+ inkscape:export-ydpi="300"><tspan
655
+ sodipodi:role="line"
656
+ id="tspan4666-3"
657
+ x="-688.7218"
658
+ y="816.00098">Else</tspan></text>
659
+ <text
660
+ xml:space="preserve"
661
+ style="font-size:12.5px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
662
+ x="-750.24011"
663
+ y="778.52435"
664
+ id="text4656-1-6"
665
+ sodipodi:linespacing="100%"
666
+ inkscape:transform-center-x="-15.383796"
667
+ inkscape:transform-center-y="-20.890801"
668
+ transform="matrix(0.70710678,-0.70710678,0.70710678,0.70710678,0,0)"
669
+ inkscape:export-xdpi="300"
670
+ inkscape:export-ydpi="300"><tspan
671
+ sodipodi:role="line"
672
+ id="tspan4658-9-2"
673
+ x="-750.24011"
674
+ y="778.52435">Condition</tspan></text>
675
+ <text
676
+ xml:space="preserve"
677
+ style="font-size:12.5px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
678
+ x="-731.14825"
679
+ y="797.61621"
680
+ id="text4656-1-6-3"
681
+ sodipodi:linespacing="100%"
682
+ inkscape:transform-center-x="-15.383796"
683
+ inkscape:transform-center-y="-20.890801"
684
+ transform="matrix(0.70710678,-0.70710678,0.70710678,0.70710678,0,0)"
685
+ inkscape:export-xdpi="300"
686
+ inkscape:export-ydpi="300"><tspan
687
+ sodipodi:role="line"
688
+ id="tspan4658-9-2-6"
689
+ x="-731.14825"
690
+ y="797.61621">Condition</tspan></text>
691
+ <path
692
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
693
+ d="m 100,1028 10,7"
694
+ id="path4767"
695
+ inkscape:connector-curvature="0"
696
+ sodipodi:nodetypes="cc"
697
+ inkscape:export-xdpi="300"
698
+ inkscape:export-ydpi="300" />
699
+ <text
700
+ xml:space="preserve"
701
+ style="font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
702
+ x="15"
703
+ y="844"
704
+ id="text5081"
705
+ sodipodi:linespacing="100%"
706
+ inkscape:export-xdpi="300"
707
+ inkscape:export-ydpi="300"><tspan
708
+ sodipodi:role="line"
709
+ id="tspan5083"
710
+ x="15"
711
+ y="844">Legend:</tspan></text>
712
+ <path
713
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
714
+ d="m 55,924 0,15.00001"
715
+ id="path4540-0"
716
+ inkscape:connector-curvature="0"
717
+ inkscape:export-xdpi="300"
718
+ inkscape:export-ydpi="300" />
719
+ <path
720
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
721
+ d="m 59,921 21,18.00001"
722
+ id="path4584-4"
723
+ inkscape:connector-curvature="0"
724
+ sodipodi:nodetypes="cc"
725
+ inkscape:export-xdpi="300"
726
+ inkscape:export-ydpi="300" />
727
+ <path
728
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
729
+ d="m 63,917 42,22.00001"
730
+ id="path4586-0"
731
+ inkscape:connector-curvature="0"
732
+ sodipodi:nodetypes="cc"
733
+ inkscape:export-xdpi="300"
734
+ inkscape:export-ydpi="300" />
735
+ <g
736
+ id="g4600-1"
737
+ transform="translate(30,540.51965)"
738
+ inkscape:export-xdpi="300"
739
+ inkscape:export-ydpi="300">
740
+ <path
741
+ sodipodi:nodetypes="ccccc"
742
+ inkscape:connector-curvature="0"
743
+ id="path3641-2"
744
+ d="m 25,398.48035 10,10 -10,10 -10,-10 z"
745
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
746
+ <text
747
+ sodipodi:linespacing="100%"
748
+ id="text4461-6"
749
+ y="412.36218"
750
+ x="25"
751
+ style="font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
752
+ xml:space="preserve"><tspan
753
+ y="412.36218"
754
+ x="25"
755
+ id="tspan4463-7"
756
+ sodipodi:role="line">|</tspan></text>
757
+ </g>
758
+ <g
759
+ id="g4600-5"
760
+ transform="translate(55,541.63782)"
761
+ inkscape:export-xdpi="300"
762
+ inkscape:export-ydpi="300">
763
+ <path
764
+ sodipodi:nodetypes="ccccc"
765
+ inkscape:connector-curvature="0"
766
+ id="path3641-1"
767
+ d="m 25,397.36218 10,10 -10,10 -10,-10 z"
768
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
769
+ <text
770
+ sodipodi:linespacing="100%"
771
+ id="text4461-3"
772
+ y="411.24402"
773
+ x="25"
774
+ style="font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
775
+ xml:space="preserve"><tspan
776
+ y="411.24402"
777
+ x="25"
778
+ id="tspan4463-4"
779
+ sodipodi:role="line">|</tspan></text>
780
+ </g>
781
+ <g
782
+ id="g4600-53"
783
+ transform="translate(80,541.63782)"
784
+ inkscape:export-xdpi="300"
785
+ inkscape:export-ydpi="300">
786
+ <path
787
+ sodipodi:nodetypes="ccccc"
788
+ inkscape:connector-curvature="0"
789
+ id="path3641-3"
790
+ d="m 25,397.36218 10,10 -10,10 -10,-10 z"
791
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
792
+ <text
793
+ sodipodi:linespacing="100%"
794
+ id="text4461-65"
795
+ y="411.24402"
796
+ x="25"
797
+ style="font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
798
+ xml:space="preserve"><tspan
799
+ y="411.24402"
800
+ x="25"
801
+ id="tspan4463-6"
802
+ sodipodi:role="line">|</tspan></text>
803
+ </g>
804
+ <text
805
+ xml:space="preserve"
806
+ style="font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
807
+ x="135"
808
+ y="954.28076"
809
+ id="text4596-1-6"
810
+ sodipodi:linespacing="100%"
811
+ inkscape:export-xdpi="300"
812
+ inkscape:export-ydpi="300"><tspan
813
+ sodipodi:role="line"
814
+ id="tspan4598-5-6"
815
+ x="135"
816
+ y="954.28076">Parallel Branches</tspan></text>
817
+ </svg>