summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2014-09-23 00:57:19 +0000
committerGerrit Code Review <review@openstack.org>2014-09-23 00:57:19 +0000
commit1d47352b6fc511ace6eced4b7771c13d19cb50a2 (patch)
tree60997babda6a0ae9ad9ebf04db0b7aa92f709fb0
parent5932e2b865f6ea719e63c569bdf16bb1fc9d84e2 (diff)
parent96014cbba3bcb471d36796d2dc9662d22bd89552 (diff)
downloadtaskflow-1d47352b6fc511ace6eced4b7771c13d19cb50a2.tar.gz
Merge "Color some of the states depending on there meaning"
-rw-r--r--doc/source/img/engine_states.svg6
-rw-r--r--doc/source/img/flow_states.svg6
-rw-r--r--doc/source/img/retry_states.svg6
-rw-r--r--doc/source/img/task_states.svg6
-rwxr-xr-xtools/state_graph.py22
5 files changed, 30 insertions, 16 deletions
diff --git a/doc/source/img/engine_states.svg b/doc/source/img/engine_states.svg
index 8ef68c3..079002e 100644
--- a/doc/source/img/engine_states.svg
+++ b/doc/source/img/engine_states.svg
@@ -1,8 +1,8 @@
<?xml version="1.0"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<!-- Generated by graphviz version 2.38.0 (20140413.2041)
+<!-- Generated by graphviz version 2.34.0 (20140110.0949)
-->
<!-- Title: Engines states Pages: 1 -->
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" width="580pt" height="260pt" viewBox="0.00 0.00 579.69 260.00" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.1" contentScriptType="application/ecmascript" contentStyleType="text/css"><defs><linearGradient id="white" x1="0%" y1="0%" x2="0%" y2="0%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/></linearGradient><linearGradient id="black" x1="0%" y1="0%" x2="0%" y2="0%"><stop offset="0%" style="stop-color:rgb(0,0,0);stop-opacity:1"/></linearGradient><linearGradient id="aquamarine" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(127,255,212);stop-opacity:1"/></linearGradient><linearGradient id="azure" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(240,255,255);stop-opacity:1"/></linearGradient><linearGradient id="blue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,0,255);stop-opacity:1"/></linearGradient><linearGradient id="blueviolet" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(138,43,226);stop-opacity:1"/></linearGradient><linearGradient id="brown" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(165,42,42);stop-opacity:1"/></linearGradient><linearGradient id="cadetblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(95,158,160);stop-opacity:1"/></linearGradient><linearGradient id="chocolate" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(210,105,30);stop-opacity:1"/></linearGradient><linearGradient id="cornflowerblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(100,149,237);stop-opacity:1"/></linearGradient><linearGradient id="crimson" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(220,20,60);stop-opacity:1"/></linearGradient><linearGradient id="cyan" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,255,255);stop-opacity:1"/></linearGradient><linearGradient id="darkgreen" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,100,0);stop-opacity:1"/></linearGradient><linearGradient id="darkorange" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,140,0);stop-opacity:1"/></linearGradient><linearGradient id="gold" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,215,0);stop-opacity:1"/></linearGradient><linearGradient id="gray" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(192,192,192);stop-opacity:1"/></linearGradient><linearGradient id="greenyellow" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(173,255,47);stop-opacity:1"/></linearGradient><linearGradient id="green" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,255,0);stop-opacity:1"/></linearGradient><linearGradient id="grey" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(192,192,192);stop-opacity:1"/></linearGradient><linearGradient id="hotpink" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,105,180);stop-opacity:1"/></linearGradient><linearGradient id="indianred" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(205,92,92);stop-opacity:1"/></linearGradient><linearGradient id="indigo" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(75,0,130);stop-opacity:1"/></linearGradient><linearGradient id="lavender" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(230,230,250);stop-opacity:1"/></linearGradient><linearGradient id="lightblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(173,216,230);stop-opacity:1"/></linearGradient><linearGradient id="lightgray" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(211,211,211);stop-opacity:1"/></linearGradient><linearGradient id="lightgrey" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(211,211,211);stop-opacity:1"/></linearGradient><linearGradient id="magenta" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,0,255);stop-opacity:1"/></linearGradient><linearGradient id="maroon" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(176,48,96);stop-opacity:1"/></linearGradient><linearGradient id="mediumblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,0,205);stop-opacity:1"/></linearGradient><linearGradient id="mediumpurple" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(147,112,219);stop-opacity:1"/></linearGradient><linearGradient id="orange" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,165,0);stop-opacity:1"/></linearGradient><linearGradient id="pink" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,192,203);stop-opacity:1"/></linearGradient><linearGradient id="purple" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(160,32,240);stop-opacity:1"/></linearGradient><linearGradient id="red" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,0,0);stop-opacity:1"/></linearGradient><linearGradient id="steelblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(70,130,180);stop-opacity:1"/></linearGradient><linearGradient id="violet" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(238,130,238);stop-opacity:1"/></linearGradient><linearGradient id="yellow" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,255,0);stop-opacity:1"/></linearGradient><linearGradient id="none" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,255,255);stop-opacity:1"/></linearGradient></defs>
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 256)"><polygon fill="white" stroke="none" points="-4,4 -4,-256 575.691,-256 575.691,4 -4,4"/><title>Engines states</title><g id="node1" class="node"><ellipse fill="none" stroke="black" cx="385.357" cy="-127" rx="51.931" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="385.357" cy="-127" rx="51.931" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="385.357" y="-124.2" font-family="Times,serif" font-size="11.00" fill="blue" style="font-size:10px; font-family:Verdana">GAME_OVER</text></g><g id="node2" class="node"><ellipse fill="none" stroke="black" cx="522.983" cy="-234" rx="45.2009" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="522.983" cy="-234" rx="45.2009" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="522.983" y="-231.2" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">REVERTED</text></g><g id="edge1" class="edge"><polygon fill="black" stroke="black" points="484.197,-217.79 494.584,-219.879 487.766,-211.769 484.197,-217.79" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M402.891,-144.144C419.872,-161.228 447.529,-187.637 474.274,-207 477.929,-209.646 481.866,-212.238 485.855,-214.705" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="484.197,-217.79 494.584,-219.879 487.766,-211.769 484.197,-217.79" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M402.891,-144.144C419.872,-161.228 447.529,-187.637 474.274,-207 477.929,-209.646 481.866,-212.238 485.855,-214.705"/></g><g id="node3" class="node"><ellipse fill="none" stroke="black" cx="522.983" cy="-180" rx="39.1741" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="522.983" cy="-180" rx="39.1741" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="522.983" y="-177.2" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">SUCCESS</text></g><g id="edge2" class="edge"><polygon fill="black" stroke="black" points="481.788,-168.05 492.376,-168.43 484.336,-161.531 481.788,-168.05" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M420.581,-140.374C439.598,-147.806 463.331,-157.08 483.054,-164.787" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="481.788,-168.05 492.376,-168.43 484.336,-161.531 481.788,-168.05" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M420.581,-140.374C439.598,-147.806 463.331,-157.08 483.054,-164.787"/></g><g id="node4" class="node"><ellipse fill="none" stroke="black" cx="522.983" cy="-126" rx="48.9176" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="522.983" cy="-126" rx="48.9176" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="522.983" y="-123.2" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">SUSPENDED</text></g><g id="edge3" class="edge"><polygon fill="black" stroke="black" points="463.977,-129.928 473.951,-126.354 463.926,-122.928 463.977,-129.928" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M437.245,-126.625C445.889,-126.561 454.924,-126.494 463.74,-126.429" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="463.977,-129.928 473.951,-126.354 463.926,-122.928 463.977,-129.928" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M437.245,-126.625C445.889,-126.561 454.924,-126.494 463.74,-126.429"/></g><g id="node5" class="node"><ellipse fill="none" stroke="black" cx="522.983" cy="-72" rx="38.4712" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="522.983" cy="-72" rx="38.4712" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="522.983" y="-69.2" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">FAILURE</text></g><g id="edge4" class="edge"><polygon fill="black" stroke="black" points="485.475,-90.5816 493.427,-83.5801 482.845,-84.0947 485.475,-90.5816" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M419.882,-113.404C439.297,-105.531 463.8,-95.5948 483.935,-87.4294" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="485.475,-90.5816 493.427,-83.5801 482.845,-84.0947 485.475,-90.5816" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M419.882,-113.404C439.297,-105.531 463.8,-95.5948 483.935,-87.4294"/></g><g id="node6" class="node"><ellipse fill="none" stroke="black" cx="111.908" cy="-73" rx="48.9176" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="111.908" cy="-73" rx="48.9176" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="111.908" y="-70.2" font-family="Times,serif" font-size="11.00" fill="blue" style="font-size:10px; font-family:Verdana">UNDEFINED</text></g><g id="node7" class="node"><ellipse fill="none" stroke="black" cx="246.528" cy="-73" rx="45.2009" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="246.528" cy="-73" rx="45.2009" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="246.528" y="-70.2" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">RESUMING</text></g><g id="edge5" class="edge"><polygon fill="black" stroke="black" points="191.252,-76.5001 201.252,-73 191.252,-69.5001 191.252,-76.5001" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M160.787,-73C170.589,-73 180.974,-73 190.989,-73" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="191.252,-76.5001 201.252,-73 191.252,-69.5001 191.252,-76.5001" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M160.787,-73C170.589,-73 180.974,-73 190.989,-73"/></g><g id="node9" class="node"><ellipse fill="none" stroke="black" cx="385.357" cy="-73" rx="52.8356" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="385.357" cy="-73" rx="52.8356" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="385.357" y="-70.2" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">SCHEDULING</text></g><g id="edge9" class="edge"><polygon fill="black" stroke="black" points="322.057,-76.5001 332.057,-73 322.057,-69.5001 322.057,-76.5001" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M291.952,-73C301.55,-73 311.87,-73 322.01,-73" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="322.057,-76.5001 332.057,-73 322.057,-69.5001 322.057,-76.5001" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M291.952,-73C301.55,-73 311.87,-73 322.01,-73"/></g><g id="node8" class="node"><ellipse fill="none" stroke="black" cx="246.528" cy="-18" rx="49.8222" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="246.528" cy="-18" rx="49.8222" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="246.528" y="-15.2" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">ANALYZING</text></g><g id="edge6" class="edge"><polygon fill="black" stroke="black" points="341.324,-111.094 351.702,-113.225 344.918,-105.087 341.324,-111.094" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M277.495,-32.2297C284.143,-36.1558 290.862,-40.7902 296.439,-46 317.517,-65.6902 310.967,-80.7392 332.439,-100 335.629,-102.862 339.178,-105.514 342.881,-107.947" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="341.324,-111.094 351.702,-113.225 344.918,-105.087 341.324,-111.094" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M277.495,-32.2297C284.143,-36.1558 290.862,-40.7902 296.439,-46 317.517,-65.6902 310.967,-80.7392 332.439,-100 335.629,-102.862 339.178,-105.514 342.881,-107.947"/></g><g id="edge7" class="edge"><polygon fill="black" stroke="black" points="340.005,-58.9444 350.589,-59.4266 342.615,-52.4494 340.005,-58.9444" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M280.65,-31.314C298.866,-38.636 321.678,-47.8057 341.266,-55.6793" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="340.005,-58.9444 350.589,-59.4266 342.615,-52.4494 340.005,-58.9444" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M280.65,-31.314C298.866,-38.636 321.678,-47.8057 341.266,-55.6793"/></g><g id="node10" class="node"><ellipse fill="none" stroke="black" cx="522.983" cy="-18" rx="39.8775" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="522.983" cy="-18" rx="39.8775" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="522.983" y="-15.2" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">WAITING</text></g><g id="edge8" class="edge"><polygon fill="black" stroke="black" points="474.42,-16.2455 484.565,-13.1915 474.73,-9.25231 474.42,-16.2455" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M294.396,-12.7705C344.671,-10.7506 424.074,-10.7432 474.561,-12.7484" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="474.42,-16.2455 484.565,-13.1915 474.73,-9.25231 474.42,-16.2455" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M294.396,-12.7705C344.671,-10.7506 424.074,-10.7432 474.561,-12.7484"/></g><g id="edge10" class="edge"><polygon fill="black" stroke="black" points="484.725,-36.886 492.676,-29.8844 482.094,-30.3991 484.725,-36.886" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M420.231,-59.2631C439.38,-51.4976 463.394,-41.7593 483.283,-33.6936" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="484.725,-36.886 492.676,-29.8844 482.094,-30.3991 484.725,-36.886" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M420.231,-59.2631C439.38,-51.4976 463.394,-41.7593 483.283,-33.6936"/></g><g id="edge11" class="edge"><polygon fill="black" stroke="black" points="304.517,-20.0945 294.396,-23.2295 304.263,-27.0899 304.517,-20.0945" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M484.565,-22.8085C438.144,-25.1005 358.534,-25.3632 304.508,-23.5964" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="304.517,-20.0945 294.396,-23.2295 304.263,-27.0899 304.517,-20.0945" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M484.565,-22.8085C438.144,-25.1005 358.534,-25.3632 304.508,-23.5964"/></g><g id="node11" class="node"><ellipse fill="black" stroke="black" cx="23.6" cy="-73" rx="3.6" ry="3.6" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="black" stroke="black" cx="23.6" cy="-73" rx="3.6" ry="3.6" style="fill:url(#black);stroke:black;"/><text text-anchor="middle" x="10" y="-60.6" font-family="Times,serif" font-size="11.00" fill="green" style="font-size:10px; font-family:Verdana">start</text></g><g id="edge12" class="edge"><polygon fill="black" stroke="black" points="53.1317,-76.5001 63.1316,-73 53.1316,-69.5001 53.1317,-76.5001" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" stroke-dasharray="1,5" d="M27.4716,-73C32.0867,-73 41.781,-73 52.9858,-73" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="53.1317,-76.5001 63.1316,-73 53.1316,-69.5001 53.1317,-76.5001" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" stroke-dasharray="1,5" d="M27.4716,-73C32.0867,-73 41.781,-73 52.9858,-73"/></g></g>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" width="584pt" height="260pt" viewBox="0.00 0.00 583.60 260.00" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.1" contentScriptType="application/ecmascript" contentStyleType="text/css"><defs><linearGradient id="white" x1="0%" y1="0%" x2="0%" y2="0%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/></linearGradient><linearGradient id="black" x1="0%" y1="0%" x2="0%" y2="0%"><stop offset="0%" style="stop-color:rgb(0,0,0);stop-opacity:1"/></linearGradient><linearGradient id="aquamarine" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(127,255,212);stop-opacity:1"/></linearGradient><linearGradient id="azure" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(240,255,255);stop-opacity:1"/></linearGradient><linearGradient id="blue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,0,255);stop-opacity:1"/></linearGradient><linearGradient id="blueviolet" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(138,43,226);stop-opacity:1"/></linearGradient><linearGradient id="brown" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(165,42,42);stop-opacity:1"/></linearGradient><linearGradient id="cadetblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(95,158,160);stop-opacity:1"/></linearGradient><linearGradient id="chocolate" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(210,105,30);stop-opacity:1"/></linearGradient><linearGradient id="cornflowerblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(100,149,237);stop-opacity:1"/></linearGradient><linearGradient id="crimson" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(220,20,60);stop-opacity:1"/></linearGradient><linearGradient id="cyan" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,255,255);stop-opacity:1"/></linearGradient><linearGradient id="darkgreen" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,100,0);stop-opacity:1"/></linearGradient><linearGradient id="darkorange" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,140,0);stop-opacity:1"/></linearGradient><linearGradient id="gold" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,215,0);stop-opacity:1"/></linearGradient><linearGradient id="gray" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(192,192,192);stop-opacity:1"/></linearGradient><linearGradient id="greenyellow" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(173,255,47);stop-opacity:1"/></linearGradient><linearGradient id="green" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,255,0);stop-opacity:1"/></linearGradient><linearGradient id="grey" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(192,192,192);stop-opacity:1"/></linearGradient><linearGradient id="hotpink" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,105,180);stop-opacity:1"/></linearGradient><linearGradient id="indianred" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(205,92,92);stop-opacity:1"/></linearGradient><linearGradient id="indigo" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(75,0,130);stop-opacity:1"/></linearGradient><linearGradient id="lavender" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(230,230,250);stop-opacity:1"/></linearGradient><linearGradient id="lightblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(173,216,230);stop-opacity:1"/></linearGradient><linearGradient id="lightgray" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(211,211,211);stop-opacity:1"/></linearGradient><linearGradient id="lightgrey" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(211,211,211);stop-opacity:1"/></linearGradient><linearGradient id="magenta" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,0,255);stop-opacity:1"/></linearGradient><linearGradient id="maroon" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(176,48,96);stop-opacity:1"/></linearGradient><linearGradient id="mediumblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,0,205);stop-opacity:1"/></linearGradient><linearGradient id="mediumpurple" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(147,112,219);stop-opacity:1"/></linearGradient><linearGradient id="orange" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,165,0);stop-opacity:1"/></linearGradient><linearGradient id="pink" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,192,203);stop-opacity:1"/></linearGradient><linearGradient id="purple" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(160,32,240);stop-opacity:1"/></linearGradient><linearGradient id="red" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,0,0);stop-opacity:1"/></linearGradient><linearGradient id="steelblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(70,130,180);stop-opacity:1"/></linearGradient><linearGradient id="violet" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(238,130,238);stop-opacity:1"/></linearGradient><linearGradient id="yellow" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,255,0);stop-opacity:1"/></linearGradient><linearGradient id="none" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,255,255);stop-opacity:1"/></linearGradient></defs>
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 256)"><polygon fill="white" stroke="white" points="-4,4 -4,-256 579.6,-256 579.6,4 -4,4"/><title>Engines states</title><g id="node1" class="node"><ellipse fill="none" stroke="black" cx="387.6" cy="-127" rx="51.931" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="387.6" cy="-127" rx="51.931" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="387.6" y="-124.2" font-family="Times,serif" font-size="11.00" fill="blue" style="font-size:10px; font-family:Verdana">GAME_OVER</text></g><g id="node2" class="node"><ellipse fill="none" stroke="black" cx="526.6" cy="-234" rx="45.2009" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="526.6" cy="-234" rx="45.2009" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="526.6" y="-231.2" font-family="Times,serif" font-size="11.00" fill="darkorange" style="font-size:10px; font-family:Verdana">REVERTED</text></g><g id="edge1" class="edge"><polygon fill="black" stroke="black" points="487.655,-217.812 498.049,-219.87 491.207,-211.78 487.655,-217.812" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M405.365,-144.138C422.577,-161.218 450.59,-187.623 477.6,-207 481.283,-209.642 485.248,-212.231 489.264,-214.697" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="487.655,-217.812 498.049,-219.87 491.207,-211.78 487.655,-217.812" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M405.365,-144.138C422.577,-161.218 450.59,-187.623 477.6,-207 481.283,-209.642 485.248,-212.231 489.264,-214.697"/></g><g id="node3" class="node"><ellipse fill="none" stroke="black" cx="526.6" cy="-180" rx="39.1741" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="526.6" cy="-180" rx="39.1741" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="526.6" y="-177.2" font-family="Times,serif" font-size="11.00" fill="green" style="font-size:10px; font-family:Verdana">SUCCESS</text></g><g id="edge2" class="edge"><polygon fill="black" stroke="black" points="485.408,-168.204 495.997,-168.548 487.933,-161.675 485.408,-168.204" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M422.817,-140.237C442.161,-147.721 466.418,-157.105 486.509,-164.877" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="485.408,-168.204 495.997,-168.548 487.933,-161.675 485.408,-168.204" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M422.817,-140.237C442.161,-147.721 466.418,-157.105 486.509,-164.877"/></g><g id="node4" class="node"><ellipse fill="none" stroke="black" cx="526.6" cy="-126" rx="48.9176" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="526.6" cy="-126" rx="48.9176" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="526.6" y="-123.2" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">SUSPENDED</text></g><g id="edge3" class="edge"><polygon fill="black" stroke="black" points="467.746,-129.922 477.72,-126.349 467.695,-122.923 467.746,-129.922" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M439.614,-126.628C448.679,-126.561 458.182,-126.492 467.427,-126.425" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="467.746,-129.922 477.72,-126.349 467.695,-122.923 467.746,-129.922" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M439.614,-126.628C448.679,-126.561 458.182,-126.492 467.427,-126.425"/></g><g id="node5" class="node"><ellipse fill="none" stroke="black" cx="526.6" cy="-72" rx="38.4712" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="526.6" cy="-72" rx="38.4712" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="526.6" y="-69.2" font-family="Times,serif" font-size="11.00" fill="red" style="font-size:10px; font-family:Verdana">FAILURE</text></g><g id="edge4" class="edge"><polygon fill="black" stroke="black" points="488.633,-90.6125 496.609,-83.6389 486.025,-84.1165 488.633,-90.6125" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M422.114,-113.545C441.809,-105.639 466.779,-95.6143 487.256,-87.3935" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="488.633,-90.6125 496.609,-83.6389 486.025,-84.1165 488.633,-90.6125" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M422.114,-113.545C441.809,-105.639 466.779,-95.6143 487.256,-87.3935"/></g><g id="node6" class="node"><ellipse fill="none" stroke="black" cx="112.6" cy="-73" rx="48.9176" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="112.6" cy="-73" rx="48.9176" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="112.6" y="-70.2" font-family="Times,serif" font-size="11.00" fill="blue" style="font-size:10px; font-family:Verdana">UNDEFINED</text></g><g id="node7" class="node"><ellipse fill="none" stroke="black" cx="247.6" cy="-73" rx="45.2009" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="247.6" cy="-73" rx="45.2009" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="247.6" y="-70.2" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">RESUMING</text></g><g id="edge5" class="edge"><polygon fill="black" stroke="black" points="192.197,-76.5001 202.197,-73 192.197,-69.5001 192.197,-76.5001" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M161.616,-73C171.446,-73 181.861,-73 191.905,-73" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="192.197,-76.5001 202.197,-73 192.197,-69.5001 192.197,-76.5001" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M161.616,-73C171.446,-73 181.861,-73 191.905,-73"/></g><g id="node9" class="node"><ellipse fill="none" stroke="black" cx="387.6" cy="-73" rx="53.5381" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="387.6" cy="-73" rx="53.5381" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="387.6" y="-70.2" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">SCHEDULING</text></g><g id="edge9" class="edge"><polygon fill="black" stroke="black" points="324.074,-76.5001 334.074,-73 324.074,-69.5001 324.074,-76.5001" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M293.024,-73C302.833,-73 313.405,-73 323.789,-73" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="324.074,-76.5001 334.074,-73 324.074,-69.5001 324.074,-76.5001" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M293.024,-73C302.833,-73 313.405,-73 323.789,-73"/></g><g id="node8" class="node"><ellipse fill="none" stroke="black" cx="247.6" cy="-18" rx="49.8222" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="247.6" cy="-18" rx="49.8222" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="247.6" y="-15.2" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">ANALYZING</text></g><g id="edge6" class="edge"><polygon fill="black" stroke="black" points="342.863,-111.277 353.26,-113.314 346.403,-105.238 342.863,-111.277" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M278.622,-32.2225C285.282,-36.1489 292.013,-40.7853 297.6,-46 318.686,-65.6819 312.048,-80.8295 333.6,-100 336.946,-102.976 340.678,-105.718 344.571,-108.221" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="342.863,-111.277 353.26,-113.314 346.403,-105.238 342.863,-111.277" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M278.622,-32.2225C285.282,-36.1489 292.013,-40.7853 297.6,-46 318.686,-65.6819 312.048,-80.8295 333.6,-100 336.946,-102.976 340.678,-105.718 344.571,-108.221"/></g><g id="edge7" class="edge"><polygon fill="black" stroke="black" points="341.789,-58.9082 352.374,-59.3592 344.38,-52.4056 341.789,-58.9082" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M281.654,-31.1739C300.019,-38.4932 323.097,-47.6909 342.932,-55.5962" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="341.789,-58.9082 352.374,-59.3592 344.38,-52.4056 341.789,-58.9082" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M281.654,-31.1739C300.019,-38.4932 323.097,-47.6909 342.932,-55.5962"/></g><g id="node10" class="node"><ellipse fill="none" stroke="black" cx="526.6" cy="-18" rx="39.8775" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="526.6" cy="-18" rx="39.8775" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="526.6" y="-15.2" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">WAITING</text></g><g id="edge8" class="edge"><polygon fill="black" stroke="black" points="478.026,-16.2629 488.171,-13.2079 478.335,-9.2697 478.026,-16.2629" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M295.589,-12.783C346.42,-10.7463 427.017,-10.739 478.061,-12.7611" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="478.026,-16.2629 488.171,-13.2079 478.335,-9.2697 478.026,-16.2629" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M295.589,-12.783C346.42,-10.7463 427.017,-10.739 478.061,-12.7611"/></g><g id="edge10" class="edge"><polygon fill="black" stroke="black" points="488.021,-36.8581 495.997,-29.8844 485.413,-30.3621 488.021,-36.8581" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M422.817,-59.2631C442.161,-51.4976 466.418,-41.7593 486.509,-33.6936" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="488.021,-36.8581 495.997,-29.8844 485.413,-30.3621 488.021,-36.8581" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M422.817,-59.2631C442.161,-51.4976 466.418,-41.7593 486.509,-33.6936"/></g><g id="edge11" class="edge"><polygon fill="black" stroke="black" points="305.709,-20.0809 295.589,-23.217 305.456,-27.0763 305.709,-20.0809" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M488.171,-22.7921C441.285,-25.1034 360.479,-25.3683 305.816,-23.5869" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="305.709,-20.0809 295.589,-23.217 305.456,-27.0763 305.709,-20.0809" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M488.171,-22.7921C441.285,-25.1034 360.479,-25.3683 305.816,-23.5869"/></g><g id="node11" class="node"><ellipse fill="black" stroke="black" cx="23.6" cy="-73" rx="3.6" ry="3.6" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="black" stroke="black" cx="23.6" cy="-73" rx="3.6" ry="3.6" style="fill:url(#black);stroke:black;"/><text text-anchor="middle" x="10" y="-60.6" font-family="Times,serif" font-size="11.00" fill="green" style="font-size:10px; font-family:Verdana">start</text></g><g id="edge12" class="edge"><polygon fill="black" stroke="black" points="53.4405,-76.5001 63.4404,-73 53.4404,-69.5001 53.4405,-76.5001" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" stroke-dasharray="1,5" d="M27.4946,-73C32.1467,-73 41.9187,-73 53.2133,-73" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="53.4405,-76.5001 63.4404,-73 53.4404,-69.5001 53.4405,-76.5001" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" stroke-dasharray="1,5" d="M27.4946,-73C32.1467,-73 41.9187,-73 53.2133,-73"/></g></g>
</svg>
diff --git a/doc/source/img/flow_states.svg b/doc/source/img/flow_states.svg
index 5a1cdcb..80bf1a0 100644
--- a/doc/source/img/flow_states.svg
+++ b/doc/source/img/flow_states.svg
@@ -1,8 +1,8 @@
<?xml version="1.0"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<!-- Generated by graphviz version 2.38.0 (20140413.2041)
+<!-- Generated by graphviz version 2.34.0 (20140110.0949)
-->
<!-- Title: Flow states Pages: 1 -->
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" width="669pt" height="281pt" viewBox="0.00 0.00 668.61 281.34" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.1" contentScriptType="application/ecmascript" contentStyleType="text/css"><defs><linearGradient id="white" x1="0%" y1="0%" x2="0%" y2="0%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/></linearGradient><linearGradient id="black" x1="0%" y1="0%" x2="0%" y2="0%"><stop offset="0%" style="stop-color:rgb(0,0,0);stop-opacity:1"/></linearGradient><linearGradient id="aquamarine" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(127,255,212);stop-opacity:1"/></linearGradient><linearGradient id="azure" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(240,255,255);stop-opacity:1"/></linearGradient><linearGradient id="blue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,0,255);stop-opacity:1"/></linearGradient><linearGradient id="blueviolet" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(138,43,226);stop-opacity:1"/></linearGradient><linearGradient id="brown" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(165,42,42);stop-opacity:1"/></linearGradient><linearGradient id="cadetblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(95,158,160);stop-opacity:1"/></linearGradient><linearGradient id="chocolate" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(210,105,30);stop-opacity:1"/></linearGradient><linearGradient id="cornflowerblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(100,149,237);stop-opacity:1"/></linearGradient><linearGradient id="crimson" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(220,20,60);stop-opacity:1"/></linearGradient><linearGradient id="cyan" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,255,255);stop-opacity:1"/></linearGradient><linearGradient id="darkgreen" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,100,0);stop-opacity:1"/></linearGradient><linearGradient id="darkorange" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,140,0);stop-opacity:1"/></linearGradient><linearGradient id="gold" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,215,0);stop-opacity:1"/></linearGradient><linearGradient id="gray" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(192,192,192);stop-opacity:1"/></linearGradient><linearGradient id="greenyellow" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(173,255,47);stop-opacity:1"/></linearGradient><linearGradient id="green" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,255,0);stop-opacity:1"/></linearGradient><linearGradient id="grey" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(192,192,192);stop-opacity:1"/></linearGradient><linearGradient id="hotpink" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,105,180);stop-opacity:1"/></linearGradient><linearGradient id="indianred" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(205,92,92);stop-opacity:1"/></linearGradient><linearGradient id="indigo" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(75,0,130);stop-opacity:1"/></linearGradient><linearGradient id="lavender" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(230,230,250);stop-opacity:1"/></linearGradient><linearGradient id="lightblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(173,216,230);stop-opacity:1"/></linearGradient><linearGradient id="lightgray" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(211,211,211);stop-opacity:1"/></linearGradient><linearGradient id="lightgrey" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(211,211,211);stop-opacity:1"/></linearGradient><linearGradient id="magenta" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,0,255);stop-opacity:1"/></linearGradient><linearGradient id="maroon" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(176,48,96);stop-opacity:1"/></linearGradient><linearGradient id="mediumblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,0,205);stop-opacity:1"/></linearGradient><linearGradient id="mediumpurple" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(147,112,219);stop-opacity:1"/></linearGradient><linearGradient id="orange" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,165,0);stop-opacity:1"/></linearGradient><linearGradient id="pink" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,192,203);stop-opacity:1"/></linearGradient><linearGradient id="purple" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(160,32,240);stop-opacity:1"/></linearGradient><linearGradient id="red" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,0,0);stop-opacity:1"/></linearGradient><linearGradient id="steelblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(70,130,180);stop-opacity:1"/></linearGradient><linearGradient id="violet" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(238,130,238);stop-opacity:1"/></linearGradient><linearGradient id="yellow" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,255,0);stop-opacity:1"/></linearGradient><linearGradient id="none" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,255,255);stop-opacity:1"/></linearGradient></defs>
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 277.337)"><polygon fill="white" stroke="none" points="-4,4 -4,-277.337 664.609,-277.337 664.609,4 -4,4"/><title>Flow states</title><g id="node1" class="node"><ellipse fill="none" stroke="black" cx="102.888" cy="-60.3366" rx="39.8775" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="102.888" cy="-60.3366" rx="39.8775" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="102.888" y="-57.5366" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">PENDING</text></g><g id="node2" class="node"><ellipse fill="none" stroke="black" cx="220.069" cy="-152.337" rx="41.4846" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="220.069" cy="-152.337" rx="41.4846" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="220.069" y="-149.537" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">RUNNING</text></g><g id="edge1" class="edge"><polygon fill="black" stroke="black" points="189.436,-133.147 199.434,-136.653 193.805,-127.678 189.436,-133.147" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M123.427,-75.9431C142.125,-90.8782 170.51,-113.55 191.504,-130.319" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="189.436,-133.147 199.434,-136.653 193.805,-127.678 189.436,-133.147" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M123.427,-75.9431C142.125,-90.8782 170.51,-113.55 191.504,-130.319"/></g><g id="node3" class="node"><ellipse fill="none" stroke="black" cx="482.092" cy="-200.337" rx="38.4712" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="482.092" cy="-200.337" rx="38.4712" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="482.092" y="-197.537" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">FAILURE</text></g><g id="edge4" class="edge"><polygon fill="black" stroke="black" points="439.503,-191.145 450.04,-190.038 441.112,-184.333 439.503,-191.145" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M261.412,-154.735C310.021,-161.45 391.235,-176.432 440.122,-187.695" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="439.503,-191.145 450.04,-190.038 441.112,-184.333 439.503,-191.145" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M261.412,-154.735C310.021,-161.45 391.235,-176.432 440.122,-187.695"/></g><g id="node4" class="node"><ellipse fill="none" stroke="black" cx="349.276" cy="-68.3366" rx="51.931" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="349.276" cy="-68.3366" rx="51.931" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="349.276" y="-65.5366" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">SUSPENDING</text></g><g id="edge3" class="edge"><polygon fill="black" stroke="black" points="316.565,-92.2588 323.146,-83.9559 312.824,-86.3424 316.565,-92.2588" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M243.027,-137.117C258.245,-126.642 279.025,-112.48 297.561,-100.337 302.99,-96.7798 308.783,-93.0575 314.44,-89.4614" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="316.565,-92.2588 323.146,-83.9559 312.824,-86.3424 316.565,-92.2588" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M243.027,-137.117C258.245,-126.642 279.025,-112.48 297.561,-100.337 302.99,-96.7798 308.783,-93.0575 314.44,-89.4614"/></g><g id="node5" class="node"><ellipse fill="none" stroke="black" cx="482.092" cy="-54.3366" rx="45.2009" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="482.092" cy="-54.3366" rx="45.2009" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="482.092" y="-51.5366" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">REVERTED</text></g><g id="edge5" class="edge"><polygon fill="black" stroke="black" points="448.106,-76.7428 455.273,-68.9402 444.804,-70.5701 448.106,-76.7428" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M254.102,-141.948C305.086,-125.903 397.487,-96.7768 400.991,-95.3366 416.136,-89.1122 432.307,-81.1119 446.124,-73.8333" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="448.106,-76.7428 455.273,-68.9402 444.804,-70.5701 448.106,-76.7428" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M254.102,-141.948C305.086,-125.903 397.487,-96.7768 400.991,-95.3366 416.136,-89.1122 432.307,-81.1119 446.124,-73.8333"/></g><g id="node6" class="node"><ellipse fill="none" stroke="black" cx="482.092" cy="-255.337" rx="39.1741" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="482.092" cy="-255.337" rx="39.1741" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="482.092" y="-252.537" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">SUCCESS</text></g><g id="edge6" class="edge"><polygon fill="black" stroke="black" points="443.01,-243.198 453.6,-242.874 445.12,-236.524 443.01,-243.198" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M251.049,-164.432C264.805,-172.374 281.581,-182.176 297.561,-189.337 346.473,-211.254 406.269,-228.11 444.029,-239.85" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="443.01,-243.198 453.6,-242.874 445.12,-236.524 443.01,-243.198" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M251.049,-164.432C264.805,-172.374 281.581,-182.176 297.561,-189.337 346.473,-211.254 406.269,-228.11 444.029,-239.85"/></g><g id="node7" class="node"><ellipse fill="none" stroke="black" cx="482.092" cy="-108.337" rx="45.2009" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="482.092" cy="-108.337" rx="45.2009" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="482.092" y="-105.537" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">RESUMING</text></g><g id="edge7" class="edge"><polygon fill="black" stroke="black" points="435.754,-124.2 444.597,-118.365 434.045,-117.412 435.754,-124.2" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M260.584,-148.354C297.175,-144.363 353.012,-137.496 400.991,-128.337 411.986,-126.237 423.727,-123.558 434.735,-120.847" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="435.754,-124.2 444.597,-118.365 434.045,-117.412 435.754,-124.2" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M260.584,-148.354C297.175,-144.363 353.012,-137.496 400.991,-128.337 411.986,-126.237 423.727,-123.558 434.735,-120.847"/></g><g id="edge2" class="edge"><polygon fill="black" stroke="black" points="264.272,-161.899 253.738,-163.026 262.676,-168.714 264.272,-161.899" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M443.728,-198.345C396.02,-191.913 313.671,-176.793 263.604,-165.337" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="264.272,-161.899 253.738,-163.026 262.676,-168.714 264.272,-161.899" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M443.728,-198.345C396.02,-191.913 313.671,-176.793 263.604,-165.337"/></g><g id="edge8" class="edge"><polygon fill="black" stroke="black" points="448.662,-182.539 458.789,-185.654 452.814,-176.904 448.662,-182.539" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M363.311,-85.6721C379.406,-106.501 408.198,-141.936 436.991,-168.337 441.175,-172.172 445.82,-175.968 450.48,-179.531" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="448.662,-182.539 458.789,-185.654 452.814,-176.904 448.662,-182.539" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M363.311,-85.6721C379.406,-106.501 408.198,-141.936 436.991,-168.337 441.175,-172.172 445.82,-175.968 450.48,-179.531"/></g><g id="edge11" class="edge"><polygon fill="black" stroke="black" points="428.795,-63.4535 438.365,-58.9092 428.05,-56.4933 428.795,-63.4535" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M398.987,-63.1235C408.584,-62.0964 418.694,-61.0144 428.415,-59.9741" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="428.795,-63.4535 438.365,-58.9092 428.05,-56.4933 428.795,-63.4535" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M398.987,-63.1235C408.584,-62.0964 418.694,-61.0144 428.415,-59.9741"/></g><g id="edge9" class="edge"><polygon fill="black" stroke="black" points="444.964,-239.086 455.169,-241.935 448.969,-233.344 444.964,-239.086" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M356.643,-86.392C368.474,-117.959 396.389,-183.944 436.991,-227.337 439.919,-230.466 443.268,-233.393 446.784,-236.088" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="444.964,-239.086 455.169,-241.935 448.969,-233.344 444.964,-239.086" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M356.643,-86.392C368.474,-117.959 396.389,-183.944 436.991,-227.337 439.919,-230.466 443.268,-233.393 446.784,-236.088"/></g><g id="edge10" class="edge"><polygon fill="black" stroke="black" points="434.921,-97.8788 445.508,-97.4559 436.968,-91.1847 434.921,-97.8788" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M388.818,-80.1215C403.532,-84.6207 420.441,-89.7912 435.732,-94.4668" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="434.921,-97.8788 445.508,-97.4559 436.968,-91.1847 434.921,-97.8788" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M388.818,-80.1215C403.532,-84.6207 420.441,-89.7912 435.732,-94.4668"/></g><g id="node8" class="node"><ellipse fill="none" stroke="black" cx="611.9" cy="-108.337" rx="48.9176" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="611.9" cy="-108.337" rx="48.9176" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="611.9" y="-105.537" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">SUSPENDED</text></g><g id="edge12" class="edge"><polygon fill="black" stroke="black" points="571.45,-128.666 579.648,-121.955 569.054,-122.089 571.45,-128.666" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M365.86,-85.696C381.846,-102.086 408.363,-125.565 436.991,-135.337 480.999,-150.357 534.146,-137.976 570.012,-125.465" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="571.45,-128.666 579.648,-121.955 569.054,-122.089 571.45,-128.666" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M365.86,-85.696C381.846,-102.086 408.363,-125.565 436.991,-135.337 480.999,-150.357 534.146,-137.976 570.012,-125.465"/></g><g id="edge16" class="edge"><polygon fill="black" stroke="black" points="149.926,-49.745 140.508,-54.5967 150.896,-56.6775 149.926,-49.745" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M441.317,-46.5861C428.497,-44.4362 414.191,-42.4008 400.991,-41.3366 312.538,-34.2054 209.095,-45.1857 150.554,-53.1914" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="149.926,-49.745 140.508,-54.5967 150.896,-56.6775 149.926,-49.745" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M441.317,-46.5861C428.497,-44.4362 414.191,-42.4008 400.991,-41.3366 312.538,-34.2054 209.095,-45.1857 150.554,-53.1914"/></g><g id="edge13" class="edge"><polygon fill="black" stroke="black" points="245.48,-172.588 235.446,-169.185 241.168,-178.102 245.48,-172.588" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M443.218,-253.244C405.417,-245.869 346.124,-229.098 297.561,-207.337 278.529,-198.808 258.367,-186.533 243.523,-175.5" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="245.48,-172.588 235.446,-169.185 241.168,-178.102 245.48,-172.588" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M443.218,-253.244C405.417,-245.869 346.124,-229.098 297.561,-207.337 278.529,-198.808 258.367,-186.533 243.523,-175.5"/></g><g id="edge14" class="edge"><polygon fill="black" stroke="black" points="553.15,-111.837 563.15,-108.337 553.15,-104.837 553.15,-111.837" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M527.434,-108.337C535.726,-108.337 544.503,-108.337 553.13,-108.337" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="553.15,-111.837 563.15,-108.337 553.15,-104.837 553.15,-111.837" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M527.434,-108.337C535.726,-108.337 544.503,-108.337 553.13,-108.337"/></g><g id="edge15" class="edge"><polygon fill="black" stroke="black" points="228.449,-123.895 227.702,-134.463 234.877,-126.667 228.449,-123.895" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M599.191,-90.7202C584.894,-70.981 558.686,-40.0794 527.192,-27.3366 432.409,11.014 385.587,10.6827 297.561,-41.3366 265.403,-60.3407 243.61,-98.7956 231.758,-125.06" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="228.449,-123.895 227.702,-134.463 234.877,-126.667 228.449,-123.895" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M599.191,-90.7202C584.894,-70.981 558.686,-40.0794 527.192,-27.3366 432.409,11.014 385.587,10.6827 297.561,-41.3366 265.403,-60.3407 243.61,-98.7956 231.758,-125.06"/></g><g id="node9" class="node"><ellipse fill="black" stroke="black" cx="23.6" cy="-60.3366" rx="3.6" ry="3.6" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="black" stroke="black" cx="23.6" cy="-60.3366" rx="3.6" ry="3.6" style="fill:url(#black);stroke:black;"/><text text-anchor="middle" x="10" y="-47.9366" font-family="Times,serif" font-size="11.00" fill="green" style="font-size:10px; font-family:Verdana">start</text></g><g id="edge17" class="edge"><polygon fill="black" stroke="black" points="52.8409,-63.8367 62.8408,-60.3366 52.8408,-56.8367 52.8409,-63.8367" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" stroke-dasharray="1,5" d="M27.5354,-60.3366C32.1798,-60.3366 41.8154,-60.3366 52.6556,-60.3366" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="52.8409,-63.8367 62.8408,-60.3366 52.8408,-56.8367 52.8409,-63.8367" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" stroke-dasharray="1,5" d="M27.5354,-60.3366C32.1798,-60.3366 41.8154,-60.3366 52.6556,-60.3366"/></g></g>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" width="672pt" height="281pt" viewBox="0.00 0.00 671.60 281.30" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.1" contentScriptType="application/ecmascript" contentStyleType="text/css"><defs><linearGradient id="white" x1="0%" y1="0%" x2="0%" y2="0%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/></linearGradient><linearGradient id="black" x1="0%" y1="0%" x2="0%" y2="0%"><stop offset="0%" style="stop-color:rgb(0,0,0);stop-opacity:1"/></linearGradient><linearGradient id="aquamarine" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(127,255,212);stop-opacity:1"/></linearGradient><linearGradient id="azure" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(240,255,255);stop-opacity:1"/></linearGradient><linearGradient id="blue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,0,255);stop-opacity:1"/></linearGradient><linearGradient id="blueviolet" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(138,43,226);stop-opacity:1"/></linearGradient><linearGradient id="brown" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(165,42,42);stop-opacity:1"/></linearGradient><linearGradient id="cadetblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(95,158,160);stop-opacity:1"/></linearGradient><linearGradient id="chocolate" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(210,105,30);stop-opacity:1"/></linearGradient><linearGradient id="cornflowerblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(100,149,237);stop-opacity:1"/></linearGradient><linearGradient id="crimson" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(220,20,60);stop-opacity:1"/></linearGradient><linearGradient id="cyan" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,255,255);stop-opacity:1"/></linearGradient><linearGradient id="darkgreen" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,100,0);stop-opacity:1"/></linearGradient><linearGradient id="darkorange" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,140,0);stop-opacity:1"/></linearGradient><linearGradient id="gold" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,215,0);stop-opacity:1"/></linearGradient><linearGradient id="gray" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(192,192,192);stop-opacity:1"/></linearGradient><linearGradient id="greenyellow" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(173,255,47);stop-opacity:1"/></linearGradient><linearGradient id="green" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,255,0);stop-opacity:1"/></linearGradient><linearGradient id="grey" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(192,192,192);stop-opacity:1"/></linearGradient><linearGradient id="hotpink" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,105,180);stop-opacity:1"/></linearGradient><linearGradient id="indianred" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(205,92,92);stop-opacity:1"/></linearGradient><linearGradient id="indigo" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(75,0,130);stop-opacity:1"/></linearGradient><linearGradient id="lavender" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(230,230,250);stop-opacity:1"/></linearGradient><linearGradient id="lightblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(173,216,230);stop-opacity:1"/></linearGradient><linearGradient id="lightgray" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(211,211,211);stop-opacity:1"/></linearGradient><linearGradient id="lightgrey" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(211,211,211);stop-opacity:1"/></linearGradient><linearGradient id="magenta" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,0,255);stop-opacity:1"/></linearGradient><linearGradient id="maroon" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(176,48,96);stop-opacity:1"/></linearGradient><linearGradient id="mediumblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,0,205);stop-opacity:1"/></linearGradient><linearGradient id="mediumpurple" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(147,112,219);stop-opacity:1"/></linearGradient><linearGradient id="orange" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,165,0);stop-opacity:1"/></linearGradient><linearGradient id="pink" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,192,203);stop-opacity:1"/></linearGradient><linearGradient id="purple" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(160,32,240);stop-opacity:1"/></linearGradient><linearGradient id="red" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,0,0);stop-opacity:1"/></linearGradient><linearGradient id="steelblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(70,130,180);stop-opacity:1"/></linearGradient><linearGradient id="violet" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(238,130,238);stop-opacity:1"/></linearGradient><linearGradient id="yellow" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,255,0);stop-opacity:1"/></linearGradient><linearGradient id="none" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,255,255);stop-opacity:1"/></linearGradient></defs>
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 277.304)"><polygon fill="white" stroke="white" points="-4,4 -4,-277.304 667.6,-277.304 667.6,4 -4,4"/><title>Flow states</title><g id="node1" class="node"><ellipse fill="none" stroke="black" cx="103.6" cy="-60.3036" rx="39.8775" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="103.6" cy="-60.3036" rx="39.8775" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="103.6" y="-57.5036" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">PENDING</text></g><g id="node2" class="node"><ellipse fill="none" stroke="black" cx="221.6" cy="-152.304" rx="41.4846" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="221.6" cy="-152.304" rx="41.4846" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="221.6" y="-149.504" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">RUNNING</text></g><g id="edge1" class="edge"><polygon fill="black" stroke="black" points="190.816,-133.149 200.826,-136.62 195.166,-127.664 190.816,-133.149" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M124.278,-75.9101C143.109,-90.8453 171.696,-113.517 192.839,-130.286" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="190.816,-133.149 200.826,-136.62 195.166,-127.664 190.816,-133.149" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M124.278,-75.9101C143.109,-90.8453 171.696,-113.517 192.839,-130.286"/></g><g id="node3" class="node"><ellipse fill="none" stroke="black" cx="484.6" cy="-200.304" rx="38.4712" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="484.6" cy="-200.304" rx="38.4712" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="484.6" y="-197.504" font-family="Times,serif" font-size="11.00" fill="red" style="font-size:10px; font-family:Verdana">FAILURE</text></g><g id="edge4" class="edge"><polygon fill="black" stroke="black" points="442.209,-191.194 452.746,-190.081 443.815,-184.38 442.209,-191.194" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M262.809,-154.662C311.669,-161.372 393.651,-176.44 442.784,-187.733" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="442.209,-191.194 452.746,-190.081 443.815,-184.38 442.209,-191.194" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M262.809,-154.662C311.669,-161.372 393.651,-176.44 442.784,-187.733"/></g><g id="node4" class="node"><ellipse fill="none" stroke="black" cx="351.6" cy="-68.3036" rx="51.931" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="351.6" cy="-68.3036" rx="51.931" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="351.6" y="-65.5036" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">SUSPENDING</text></g><g id="edge3" class="edge"><polygon fill="black" stroke="black" points="318.729,-92.2108 325.331,-83.9247 315.003,-86.2849 318.729,-92.2108" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M244.707,-137.086C260.027,-126.612 280.945,-112.45 299.6,-100.304 305.061,-96.7478 310.887,-93.026 316.576,-89.4301" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="318.729,-92.2108 325.331,-83.9247 315.003,-86.2849 318.729,-92.2108" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M244.707,-137.086C260.027,-126.612 280.945,-112.45 299.6,-100.304 305.061,-96.7478 310.887,-93.026 316.576,-89.4301"/></g><g id="node5" class="node"><ellipse fill="none" stroke="black" cx="484.6" cy="-54.3036" rx="45.2009" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="484.6" cy="-54.3036" rx="45.2009" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="484.6" y="-51.5036" font-family="Times,serif" font-size="11.00" fill="darkorange" style="font-size:10px; font-family:Verdana">REVERTED</text></g><g id="edge5" class="edge"><polygon fill="black" stroke="black" points="450.659,-76.7291 457.821,-68.9211 447.353,-70.5589 450.659,-76.7291" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M255.831,-141.916C307.121,-125.873 400.076,-96.7495 403.6,-95.3036 418.734,-89.0945 434.885,-81.097 448.685,-73.8163" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="450.659,-76.7291 457.821,-68.9211 447.353,-70.5589 450.659,-76.7291" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M255.831,-141.916C307.121,-125.873 400.076,-96.7495 403.6,-95.3036 418.734,-89.0945 434.885,-81.097 448.685,-73.8163"/></g><g id="node6" class="node"><ellipse fill="none" stroke="black" cx="484.6" cy="-255.304" rx="39.1741" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="484.6" cy="-255.304" rx="39.1741" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="484.6" y="-252.504" font-family="Times,serif" font-size="11.00" fill="green" style="font-size:10px; font-family:Verdana">SUCCESS</text></g><g id="edge6" class="edge"><polygon fill="black" stroke="black" points="445.458,-243.156 456.048,-242.829 447.565,-236.481 445.458,-243.156" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M252.793,-164.394C266.643,-172.335 283.529,-182.137 299.6,-189.304 348.666,-211.183 408.607,-228.048 446.454,-239.801" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="445.458,-243.156 456.048,-242.829 447.565,-236.481 445.458,-243.156" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M252.793,-164.394C266.643,-172.335 283.529,-182.137 299.6,-189.304 348.666,-211.183 408.607,-228.048 446.454,-239.801"/></g><g id="node7" class="node"><ellipse fill="none" stroke="black" cx="484.6" cy="-108.304" rx="45.2009" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="484.6" cy="-108.304" rx="45.2009" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="484.6" y="-105.504" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">RESUMING</text></g><g id="edge7" class="edge"><polygon fill="black" stroke="black" points="438.311,-124.177 447.153,-118.339 436.601,-117.39 438.311,-124.177" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M262.353,-148.341C299.164,-144.363 355.337,-137.506 403.6,-128.304 414.582,-126.21 426.309,-123.532 437.304,-120.822" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="438.311,-124.177 447.153,-118.339 436.601,-117.39 438.311,-124.177" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M262.353,-148.341C299.164,-144.363 355.337,-137.506 403.6,-128.304 414.582,-126.21 426.309,-123.532 437.304,-120.822"/></g><g id="edge2" class="edge"><polygon fill="black" stroke="black" points="265.662,-161.797 255.128,-162.93 264.069,-168.614 265.662,-161.797" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M446.011,-198.301C398.023,-191.851 315.215,-176.697 265.017,-165.241" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="265.662,-161.797 255.128,-162.93 264.069,-168.614 265.662,-161.797" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M446.011,-198.301C398.023,-191.851 315.215,-176.697 265.017,-165.241"/></g><g id="edge8" class="edge"><polygon fill="black" stroke="black" points="451.232,-182.483 461.356,-185.608 455.39,-176.852 451.232,-182.483" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M365.694,-85.6292C381.857,-106.448 410.759,-141.873 439.6,-168.304 443.778,-172.132 448.415,-175.924 453.066,-179.486" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="451.232,-182.483 461.356,-185.608 455.39,-176.852 451.232,-182.483" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M365.694,-85.6292C381.857,-106.448 410.759,-141.873 439.6,-168.304 443.778,-172.132 448.415,-175.924 453.066,-179.486"/></g><g id="edge11" class="edge"><polygon fill="black" stroke="black" points="431.242,-63.4191 440.813,-58.8762 430.498,-56.4588 431.242,-63.4191" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M401.38,-63.0905C410.99,-62.0635 421.115,-60.9814 430.849,-59.9411" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="431.242,-63.4191 440.813,-58.8762 430.498,-56.4588 431.242,-63.4191" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M401.38,-63.0905C410.99,-62.0635 421.115,-60.9814 430.849,-59.9411"/></g><g id="edge9" class="edge"><polygon fill="black" stroke="black" points="447.54,-239.031 457.742,-241.889 451.549,-233.292 447.54,-239.031" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M359.007,-86.3537C370.907,-117.912 398.959,-183.885 439.6,-227.304 442.524,-230.427 445.867,-233.351 449.375,-236.044" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="447.54,-239.031 457.742,-241.889 451.549,-233.292 447.54,-239.031" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M359.007,-86.3537C370.907,-117.912 398.959,-183.885 439.6,-227.304 442.524,-230.427 445.867,-233.351 449.375,-236.044"/></g><g id="edge10" class="edge"><polygon fill="black" stroke="black" points="437.822,-97.9851 448.408,-97.558 439.866,-91.2902 437.822,-97.9851" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M391.196,-80.0886C406.054,-84.6255 423.149,-89.8452 438.562,-94.5516" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="437.822,-97.9851 448.408,-97.558 439.866,-91.2902 437.822,-97.9851" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M391.196,-80.0886C406.054,-84.6255 423.149,-89.8452 438.562,-94.5516"/></g><g id="node8" class="node"><ellipse fill="none" stroke="black" cx="614.6" cy="-108.304" rx="48.9176" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="614.6" cy="-108.304" rx="48.9176" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="614.6" y="-105.504" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">SUSPENDED</text></g><g id="edge12" class="edge"><polygon fill="black" stroke="black" points="574.135,-128.619 582.336,-121.911 571.742,-122.041 574.135,-128.619" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M368.247,-85.6642C384.294,-102.055 410.905,-125.535 439.6,-135.304 483.643,-150.297 536.815,-137.921 572.696,-125.418" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="574.135,-128.619 582.336,-121.911 571.742,-122.041 574.135,-128.619" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M368.247,-85.6642C384.294,-102.055 410.905,-125.535 439.6,-135.304 483.643,-150.297 536.815,-137.921 572.696,-125.418"/></g><g id="edge16" class="edge"><polygon fill="black" stroke="black" points="150.875,-49.7029 141.454,-54.5494 151.841,-56.636 150.875,-49.7029" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M443.876,-46.5532C431.072,-44.4032 416.784,-42.3678 403.6,-41.3036 314.585,-34.1183 210.48,-45.117 151.564,-53.1408" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="150.875,-49.7029 141.454,-54.5494 151.841,-56.636 150.875,-49.7029" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M443.876,-46.5532C431.072,-44.4032 416.784,-42.3678 403.6,-41.3036 314.585,-34.1183 210.48,-45.117 151.564,-53.1408"/></g><g id="edge13" class="edge"><polygon fill="black" stroke="black" points="247.127,-172.516 237.082,-169.149 242.835,-178.046 247.127,-172.516" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M445.642,-253.195C407.754,-245.808 348.316,-229.027 299.6,-207.304 280.459,-198.768 260.162,-186.494 245.215,-175.463" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="247.127,-172.516 237.082,-169.149 242.835,-178.046 247.127,-172.516" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M445.642,-253.195C407.754,-245.808 348.316,-229.027 299.6,-207.304 280.459,-198.768 260.162,-186.494 245.215,-175.463"/></g><g id="edge14" class="edge"><polygon fill="black" stroke="black" points="555.778,-111.804 565.778,-108.304 555.778,-104.804 555.778,-111.804" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M530.009,-108.304C538.313,-108.304 547.103,-108.304 555.743,-108.304" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="555.778,-111.804 565.778,-108.304 555.778,-104.804 555.778,-111.804" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M530.009,-108.304C538.313,-108.304 547.103,-108.304 555.743,-108.304"/></g><g id="edge15" class="edge"><polygon fill="black" stroke="black" points="230.096,-123.86 229.31,-134.425 236.513,-126.656 230.096,-123.86" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M601.835,-90.6856C587.474,-70.945 561.161,-40.0419 529.6,-27.3036 434.632,11.0259 387.858,10.6447 299.6,-41.3036 267.339,-60.2921 245.375,-98.7508 233.408,-125.02" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="230.096,-123.86 229.31,-134.425 236.513,-126.656 230.096,-123.86" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M601.835,-90.6856C587.474,-70.945 561.161,-40.0419 529.6,-27.3036 434.632,11.0259 387.858,10.6447 299.6,-41.3036 267.339,-60.2921 245.375,-98.7508 233.408,-125.02"/></g><g id="node9" class="node"><ellipse fill="black" stroke="black" cx="23.6" cy="-60.3036" rx="3.6" ry="3.6" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="black" stroke="black" cx="23.6" cy="-60.3036" rx="3.6" ry="3.6" style="fill:url(#black);stroke:black;"/><text text-anchor="middle" x="10" y="-47.9036" font-family="Times,serif" font-size="11.00" fill="green" style="font-size:10px; font-family:Verdana">start</text></g><g id="edge17" class="edge"><polygon fill="black" stroke="black" points="53.5965,-63.8037 63.5964,-60.3036 53.5964,-56.8037 53.5965,-63.8037" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" stroke-dasharray="1,5" d="M27.5624,-60.3036C32.3405,-60.3036 42.3529,-60.3036 53.5516,-60.3036" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="53.5965,-63.8037 63.5964,-60.3036 53.5964,-56.8037 53.5965,-63.8037" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" stroke-dasharray="1,5" d="M27.5624,-60.3036C32.3405,-60.3036 42.3529,-60.3036 53.5516,-60.3036"/></g></g>
</svg>
diff --git a/doc/source/img/retry_states.svg b/doc/source/img/retry_states.svg
index a2ba2fa..8b0c635 100644
--- a/doc/source/img/retry_states.svg
+++ b/doc/source/img/retry_states.svg
@@ -1,8 +1,8 @@
<?xml version="1.0"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<!-- Generated by graphviz version 2.38.0 (20140413.2041)
+<!-- Generated by graphviz version 2.34.0 (20140110.0949)
-->
<!-- Title: Retries states Pages: 1 -->
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" width="642pt" height="167pt" viewBox="0.00 0.00 642.15 167.00" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.1" contentScriptType="application/ecmascript" contentStyleType="text/css"><defs><linearGradient id="white" x1="0%" y1="0%" x2="0%" y2="0%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/></linearGradient><linearGradient id="black" x1="0%" y1="0%" x2="0%" y2="0%"><stop offset="0%" style="stop-color:rgb(0,0,0);stop-opacity:1"/></linearGradient><linearGradient id="aquamarine" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(127,255,212);stop-opacity:1"/></linearGradient><linearGradient id="azure" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(240,255,255);stop-opacity:1"/></linearGradient><linearGradient id="blue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,0,255);stop-opacity:1"/></linearGradient><linearGradient id="blueviolet" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(138,43,226);stop-opacity:1"/></linearGradient><linearGradient id="brown" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(165,42,42);stop-opacity:1"/></linearGradient><linearGradient id="cadetblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(95,158,160);stop-opacity:1"/></linearGradient><linearGradient id="chocolate" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(210,105,30);stop-opacity:1"/></linearGradient><linearGradient id="cornflowerblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(100,149,237);stop-opacity:1"/></linearGradient><linearGradient id="crimson" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(220,20,60);stop-opacity:1"/></linearGradient><linearGradient id="cyan" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,255,255);stop-opacity:1"/></linearGradient><linearGradient id="darkgreen" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,100,0);stop-opacity:1"/></linearGradient><linearGradient id="darkorange" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,140,0);stop-opacity:1"/></linearGradient><linearGradient id="gold" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,215,0);stop-opacity:1"/></linearGradient><linearGradient id="gray" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(192,192,192);stop-opacity:1"/></linearGradient><linearGradient id="greenyellow" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(173,255,47);stop-opacity:1"/></linearGradient><linearGradient id="green" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,255,0);stop-opacity:1"/></linearGradient><linearGradient id="grey" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(192,192,192);stop-opacity:1"/></linearGradient><linearGradient id="hotpink" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,105,180);stop-opacity:1"/></linearGradient><linearGradient id="indianred" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(205,92,92);stop-opacity:1"/></linearGradient><linearGradient id="indigo" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(75,0,130);stop-opacity:1"/></linearGradient><linearGradient id="lavender" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(230,230,250);stop-opacity:1"/></linearGradient><linearGradient id="lightblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(173,216,230);stop-opacity:1"/></linearGradient><linearGradient id="lightgray" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(211,211,211);stop-opacity:1"/></linearGradient><linearGradient id="lightgrey" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(211,211,211);stop-opacity:1"/></linearGradient><linearGradient id="magenta" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,0,255);stop-opacity:1"/></linearGradient><linearGradient id="maroon" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(176,48,96);stop-opacity:1"/></linearGradient><linearGradient id="mediumblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,0,205);stop-opacity:1"/></linearGradient><linearGradient id="mediumpurple" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(147,112,219);stop-opacity:1"/></linearGradient><linearGradient id="orange" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,165,0);stop-opacity:1"/></linearGradient><linearGradient id="pink" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,192,203);stop-opacity:1"/></linearGradient><linearGradient id="purple" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(160,32,240);stop-opacity:1"/></linearGradient><linearGradient id="red" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,0,0);stop-opacity:1"/></linearGradient><linearGradient id="steelblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(70,130,180);stop-opacity:1"/></linearGradient><linearGradient id="violet" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(238,130,238);stop-opacity:1"/></linearGradient><linearGradient id="yellow" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,255,0);stop-opacity:1"/></linearGradient><linearGradient id="none" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,255,255);stop-opacity:1"/></linearGradient></defs>
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 163)"><polygon fill="white" stroke="none" points="-4,4 -4,-163 638.15,-163 638.15,4 -4,4"/><title>Retries states</title><g id="node1" class="node"><ellipse fill="none" stroke="black" cx="102.888" cy="-133" rx="39.8775" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="102.888" cy="-133" rx="39.8775" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="102.888" y="-130.2" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">PENDING</text></g><g id="node2" class="node"><ellipse fill="none" stroke="black" cx="220.069" cy="-91" rx="41.4846" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="220.069" cy="-91" rx="41.4846" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="220.069" y="-88.2" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">RUNNING</text></g><g id="edge1" class="edge"><polygon fill="black" stroke="black" points="179.363,-109.204 187.558,-102.49 176.964,-102.628 179.363,-109.204" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M134.452,-121.855C147.773,-116.998 163.589,-111.23 177.922,-106.004" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="179.363,-109.204 187.558,-102.49 176.964,-102.628 179.363,-109.204" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M134.452,-121.855C147.773,-116.998 163.589,-111.23 177.922,-106.004"/></g><g id="node3" class="node"><ellipse fill="none" stroke="black" cx="336.648" cy="-72" rx="39.1741" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="336.648" cy="-72" rx="39.1741" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="336.648" y="-69.2" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">SUCCESS</text></g><g id="edge5" class="edge"><polygon fill="black" stroke="black" points="290.308,-83.0663 299.601,-77.9775 289.163,-76.1606 290.308,-83.0663" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M259.222,-84.6733C268.987,-83.054 279.59,-81.2958 289.702,-79.619" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="290.308,-83.0663 299.601,-77.9775 289.163,-76.1606 290.308,-83.0663" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M259.222,-84.6733C268.987,-83.054 279.59,-81.2958 289.702,-79.619"/></g><g id="node6" class="node"><ellipse fill="none" stroke="black" cx="589.049" cy="-72" rx="38.4712" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="589.049" cy="-72" rx="38.4712" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="589.049" y="-69.2" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">FAILURE</text></g><g id="edge6" class="edge"><polygon fill="black" stroke="black" points="551.908,-90.6718 560.077,-83.9251 549.484,-84.105 551.908,-90.6718" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M259.895,-96.7132C315.335,-103.826 420.184,-113.394 507.949,-99 522.143,-96.6721 537.211,-92.1688 550.401,-87.4971" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="551.908,-90.6718 560.077,-83.9251 549.484,-84.105 551.908,-90.6718" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M259.895,-96.7132C315.335,-103.826 420.184,-113.394 507.949,-99 522.143,-96.6721 537.211,-92.1688 550.401,-87.4971"/></g><g id="node4" class="node"><ellipse fill="none" stroke="black" cx="459.842" cy="-18" rx="44.498" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="459.842" cy="-18" rx="44.498" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="459.842" y="-15.2" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">RETRYING</text></g><g id="edge2" class="edge"><polygon fill="black" stroke="black" points="421.339,-38.5417 429.049,-31.2747 418.49,-32.1477 421.339,-38.5417" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M365.453,-59.6113C381.491,-52.4651 401.915,-43.3648 419.571,-35.498" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="421.339,-38.5417 429.049,-31.2747 418.49,-32.1477 421.339,-38.5417" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M365.453,-59.6113C381.491,-52.4651 401.915,-43.3648 419.571,-35.498"/></g><g id="node5" class="node"><ellipse fill="none" stroke="black" cx="459.842" cy="-72" rx="48.2143" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="459.842" cy="-72" rx="48.2143" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="459.842" y="-69.2" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">REVERTING</text></g><g id="edge3" class="edge"><polygon fill="black" stroke="black" points="401.378,-75.5001 411.378,-72 401.378,-68.5001 401.378,-75.5001" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M375.995,-72C384.069,-72 392.756,-72 401.359,-72" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="401.378,-75.5001 411.378,-72 401.378,-68.5001 401.378,-75.5001" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M375.995,-72C384.069,-72 392.756,-72 401.359,-72"/></g><g id="edge4" class="edge"><polygon fill="black" stroke="black" points="248.076,-67.1447 241.735,-75.632 251.985,-72.9518 248.076,-67.1447" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M415.61,-20.8187C382.47,-24.0217 336.046,-30.7927 297.561,-45 280.985,-51.1193 264,-60.9132 250.259,-69.8943" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="248.076,-67.1447 241.735,-75.632 251.985,-72.9518 248.076,-67.1447" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M415.61,-20.8187C382.47,-24.0217 336.046,-30.7927 297.561,-45 280.985,-51.1193 264,-60.9132 250.259,-69.8943"/></g><g id="edge9" class="edge"><polygon fill="black" stroke="black" points="542.681,-69.0045 552.807,-65.8858 542.946,-62.0095 542.681,-69.0045" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M504.976,-65.5393C517.198,-65.1653 530.48,-65.1539 542.766,-65.5053" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="542.681,-69.0045 552.807,-65.8858 542.946,-62.0095 542.681,-69.0045" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M504.976,-65.5393C517.198,-65.1653 530.48,-65.1539 542.766,-65.5053"/></g><g id="node7" class="node"><ellipse fill="none" stroke="black" cx="589.049" cy="-141" rx="45.2009" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="589.049" cy="-141" rx="45.2009" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="589.049" y="-138.2" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">REVERTED</text></g><g id="edge10" class="edge"><polygon fill="black" stroke="black" points="550.783,-124.768 561.242,-126.459 554.121,-118.615 550.783,-124.768" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M488.131,-86.8022C506.87,-96.9667 531.934,-110.562 552.271,-121.593" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="550.783,-124.768 561.242,-126.459 554.121,-118.615 550.783,-124.768" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M488.131,-86.8022C506.87,-96.9667 531.934,-110.562 552.271,-121.593"/></g><g id="edge8" class="edge"><polygon fill="black" stroke="black" points="515.051,-75.1832 504.976,-78.4607 514.896,-82.1815 515.051,-75.1832" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M552.807,-78.1142C541.125,-78.6743 527.838,-78.8643 515.067,-78.6843" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="515.051,-75.1832 504.976,-78.4607 514.896,-82.1815 515.051,-75.1832" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M552.807,-78.1142C541.125,-78.6743 527.838,-78.8643 515.067,-78.6843"/></g><g id="edge7" class="edge"><polygon fill="black" stroke="black" points="152.747,-130.307 142.691,-133.641 152.632,-137.306 152.747,-130.307" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M543.866,-140.27C453.316,-138.774 247.273,-135.369 152.83,-133.809" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="152.747,-130.307 142.691,-133.641 152.632,-137.306 152.747,-130.307" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M543.866,-140.27C453.316,-138.774 247.273,-135.369 152.83,-133.809"/></g><g id="node8" class="node"><ellipse fill="black" stroke="black" cx="23.6" cy="-133" rx="3.6" ry="3.6" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="black" stroke="black" cx="23.6" cy="-133" rx="3.6" ry="3.6" style="fill:url(#black);stroke:black;"/><text text-anchor="middle" x="10" y="-120.6" font-family="Times,serif" font-size="11.00" fill="green" style="font-size:10px; font-family:Verdana">start</text></g><g id="edge11" class="edge"><polygon fill="black" stroke="black" points="52.8409,-136.5 62.8408,-133 52.8408,-129.5 52.8409,-136.5" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" stroke-dasharray="1,5" d="M27.5354,-133C32.1798,-133 41.8154,-133 52.6556,-133" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="52.8409,-136.5 62.8408,-133 52.8408,-129.5 52.8409,-136.5" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" stroke-dasharray="1,5" d="M27.5354,-133C32.1798,-133 41.8154,-133 52.6556,-133"/></g></g>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" width="644pt" height="167pt" viewBox="0.00 0.00 643.60 167.00" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.1" contentScriptType="application/ecmascript" contentStyleType="text/css"><defs><linearGradient id="white" x1="0%" y1="0%" x2="0%" y2="0%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/></linearGradient><linearGradient id="black" x1="0%" y1="0%" x2="0%" y2="0%"><stop offset="0%" style="stop-color:rgb(0,0,0);stop-opacity:1"/></linearGradient><linearGradient id="aquamarine" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(127,255,212);stop-opacity:1"/></linearGradient><linearGradient id="azure" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(240,255,255);stop-opacity:1"/></linearGradient><linearGradient id="blue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,0,255);stop-opacity:1"/></linearGradient><linearGradient id="blueviolet" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(138,43,226);stop-opacity:1"/></linearGradient><linearGradient id="brown" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(165,42,42);stop-opacity:1"/></linearGradient><linearGradient id="cadetblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(95,158,160);stop-opacity:1"/></linearGradient><linearGradient id="chocolate" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(210,105,30);stop-opacity:1"/></linearGradient><linearGradient id="cornflowerblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(100,149,237);stop-opacity:1"/></linearGradient><linearGradient id="crimson" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(220,20,60);stop-opacity:1"/></linearGradient><linearGradient id="cyan" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,255,255);stop-opacity:1"/></linearGradient><linearGradient id="darkgreen" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,100,0);stop-opacity:1"/></linearGradient><linearGradient id="darkorange" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,140,0);stop-opacity:1"/></linearGradient><linearGradient id="gold" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,215,0);stop-opacity:1"/></linearGradient><linearGradient id="gray" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(192,192,192);stop-opacity:1"/></linearGradient><linearGradient id="greenyellow" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(173,255,47);stop-opacity:1"/></linearGradient><linearGradient id="green" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,255,0);stop-opacity:1"/></linearGradient><linearGradient id="grey" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(192,192,192);stop-opacity:1"/></linearGradient><linearGradient id="hotpink" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,105,180);stop-opacity:1"/></linearGradient><linearGradient id="indianred" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(205,92,92);stop-opacity:1"/></linearGradient><linearGradient id="indigo" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(75,0,130);stop-opacity:1"/></linearGradient><linearGradient id="lavender" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(230,230,250);stop-opacity:1"/></linearGradient><linearGradient id="lightblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(173,216,230);stop-opacity:1"/></linearGradient><linearGradient id="lightgray" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(211,211,211);stop-opacity:1"/></linearGradient><linearGradient id="lightgrey" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(211,211,211);stop-opacity:1"/></linearGradient><linearGradient id="magenta" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,0,255);stop-opacity:1"/></linearGradient><linearGradient id="maroon" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(176,48,96);stop-opacity:1"/></linearGradient><linearGradient id="mediumblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,0,205);stop-opacity:1"/></linearGradient><linearGradient id="mediumpurple" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(147,112,219);stop-opacity:1"/></linearGradient><linearGradient id="orange" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,165,0);stop-opacity:1"/></linearGradient><linearGradient id="pink" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,192,203);stop-opacity:1"/></linearGradient><linearGradient id="purple" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(160,32,240);stop-opacity:1"/></linearGradient><linearGradient id="red" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,0,0);stop-opacity:1"/></linearGradient><linearGradient id="steelblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(70,130,180);stop-opacity:1"/></linearGradient><linearGradient id="violet" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(238,130,238);stop-opacity:1"/></linearGradient><linearGradient id="yellow" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,255,0);stop-opacity:1"/></linearGradient><linearGradient id="none" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,255,255);stop-opacity:1"/></linearGradient></defs>
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 163)"><polygon fill="white" stroke="white" points="-4,4 -4,-163 639.6,-163 639.6,4 -4,4"/><title>Retries states</title><g id="node1" class="node"><ellipse fill="none" stroke="black" cx="103.6" cy="-133" rx="39.8775" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="103.6" cy="-133" rx="39.8775" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="103.6" y="-130.2" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">PENDING</text></g><g id="node2" class="node"><ellipse fill="none" stroke="black" cx="221.6" cy="-91" rx="41.4846" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="221.6" cy="-91" rx="41.4846" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="221.6" y="-88.2" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">RUNNING</text></g><g id="edge1" class="edge"><polygon fill="black" stroke="black" points="180.902,-109.096 189.113,-102.4 178.519,-102.514 180.902,-109.096" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M135.078,-121.965C148.604,-117.068 164.729,-111.229 179.314,-105.949" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="180.902,-109.096 189.113,-102.4 178.519,-102.514 180.902,-109.096" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M135.078,-121.965C148.604,-117.068 164.729,-111.229 179.314,-105.949"/></g><g id="node3" class="node"><ellipse fill="none" stroke="black" cx="338.6" cy="-72" rx="39.1741" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="338.6" cy="-72" rx="39.1741" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="338.6" y="-69.2" font-family="Times,serif" font-size="11.00" fill="green" style="font-size:10px; font-family:Verdana">SUCCESS</text></g><g id="edge5" class="edge"><polygon fill="black" stroke="black" points="292.321,-83.0285 301.616,-77.9451 291.179,-76.1221 292.321,-83.0285" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M260.574,-84.726C270.486,-83.0884 281.276,-81.3057 291.557,-79.6072" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="292.321,-83.0285 301.616,-77.9451 291.179,-76.1221 292.321,-83.0285" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M260.574,-84.726C270.486,-83.0884 281.276,-81.3057 291.557,-79.6072"/></g><g id="node6" class="node"><ellipse fill="none" stroke="black" cx="590.6" cy="-72" rx="38.4712" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="590.6" cy="-72" rx="38.4712" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="590.6" y="-69.2" font-family="Times,serif" font-size="11.00" fill="red" style="font-size:10px; font-family:Verdana">FAILURE</text></g><g id="edge6" class="edge"><polygon fill="black" stroke="black" points="553.498,-90.6751 561.664,-83.925 551.071,-84.1093 553.498,-90.6751" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M261.444,-96.7194C316.907,-103.839 421.801,-113.417 509.6,-99 523.778,-96.672 538.826,-92.1687 552.001,-87.497" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="553.498,-90.6751 561.664,-83.925 551.071,-84.1093 553.498,-90.6751" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M261.444,-96.7194C316.907,-103.839 421.801,-113.417 509.6,-99 523.778,-96.672 538.826,-92.1687 552.001,-87.497"/></g><g id="node4" class="node"><ellipse fill="none" stroke="black" cx="461.6" cy="-18" rx="44.498" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="461.6" cy="-18" rx="44.498" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="461.6" y="-15.2" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">RETRYING</text></g><g id="edge2" class="edge"><polygon fill="black" stroke="black" points="423.149,-38.5463 430.855,-31.2747 420.296,-32.154 423.149,-38.5463" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M367.36,-59.6113C383.373,-52.4651 403.764,-43.3648 421.391,-35.498" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="423.149,-38.5463 430.855,-31.2747 420.296,-32.154 423.149,-38.5463" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M367.36,-59.6113C383.373,-52.4651 403.764,-43.3648 421.391,-35.498"/></g><g id="node5" class="node"><ellipse fill="none" stroke="black" cx="461.6" cy="-72" rx="48.2143" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="461.6" cy="-72" rx="48.2143" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="461.6" y="-69.2" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">REVERTING</text></g><g id="edge3" class="edge"><polygon fill="black" stroke="black" points="403.212,-75.5001 413.212,-72 403.212,-68.5001 403.212,-75.5001" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M377.885,-72C385.947,-72 394.62,-72 403.209,-72" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="403.212,-75.5001 413.212,-72 403.212,-68.5001 403.212,-75.5001" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M377.885,-72C385.947,-72 394.62,-72 403.209,-72"/></g><g id="edge4" class="edge"><polygon fill="black" stroke="black" points="249.789,-67.1719 243.419,-75.6381 253.678,-72.9921 249.789,-67.1719" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M417.454,-20.8612C384.379,-24.0868 338.038,-30.8674 299.6,-45 282.935,-51.1272 265.84,-60.922 252.004,-69.9016" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="249.789,-67.1719 243.419,-75.6381 253.678,-72.9921 249.789,-67.1719" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M417.454,-20.8612C384.379,-24.0868 338.038,-30.8674 299.6,-45 282.935,-51.1272 265.84,-60.922 252.004,-69.9016"/></g><g id="edge9" class="edge"><polygon fill="black" stroke="black" points="543.885,-68.9952 554.007,-65.8664 544.143,-61.9999 543.885,-68.9952" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M506.662,-65.5393C518.631,-65.1724 531.619,-65.1545 543.687,-65.4856" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="543.885,-68.9952 554.007,-65.8664 544.143,-61.9999 543.885,-68.9952" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M506.662,-65.5393C518.631,-65.1724 531.619,-65.1545 543.687,-65.4856"/></g><g id="node7" class="node"><ellipse fill="none" stroke="black" cx="590.6" cy="-141" rx="45.2009" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="590.6" cy="-141" rx="45.2009" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="590.6" y="-138.2" font-family="Times,serif" font-size="11.00" fill="darkorange" style="font-size:10px; font-family:Verdana">REVERTED</text></g><g id="edge10" class="edge"><polygon fill="black" stroke="black" points="552.378,-124.76 562.836,-126.459 555.72,-118.61 552.378,-124.76" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M489.845,-86.8022C508.553,-96.9667 533.576,-110.562 553.879,-121.593" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="552.378,-124.76 562.836,-126.459 555.72,-118.61 552.378,-124.76" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M489.845,-86.8022C508.553,-96.9667 533.576,-110.562 553.879,-121.593"/></g><g id="edge8" class="edge"><polygon fill="black" stroke="black" points="516.737,-75.1813 506.662,-78.4607 516.583,-82.1796 516.737,-75.1813" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M554.007,-78.1336C542.529,-78.6746 529.533,-78.8595 517.018,-78.6883" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="516.737,-75.1813 506.662,-78.4607 516.583,-82.1796 516.737,-75.1813" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M554.007,-78.1336C542.529,-78.6746 529.533,-78.8595 517.018,-78.6883"/></g><g id="edge7" class="edge"><polygon fill="black" stroke="black" points="153.526,-130.307 143.47,-133.641 153.411,-137.306 153.526,-130.307" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M545.34,-140.27C454.633,-138.774 248.233,-135.369 153.626,-133.809" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="153.526,-130.307 143.47,-133.641 153.411,-137.306 153.526,-130.307" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M545.34,-140.27C454.633,-138.774 248.233,-135.369 153.626,-133.809"/></g><g id="node8" class="node"><ellipse fill="black" stroke="black" cx="23.6" cy="-133" rx="3.6" ry="3.6" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="black" stroke="black" cx="23.6" cy="-133" rx="3.6" ry="3.6" style="fill:url(#black);stroke:black;"/><text text-anchor="middle" x="10" y="-120.6" font-family="Times,serif" font-size="11.00" fill="green" style="font-size:10px; font-family:Verdana">start</text></g><g id="edge11" class="edge"><polygon fill="black" stroke="black" points="53.5965,-136.5 63.5964,-133 53.5964,-129.5 53.5965,-136.5" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" stroke-dasharray="1,5" d="M27.5624,-133C32.3405,-133 42.3529,-133 53.5516,-133" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="53.5965,-136.5 63.5964,-133 53.5964,-129.5 53.5965,-136.5" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" stroke-dasharray="1,5" d="M27.5624,-133C32.3405,-133 42.3529,-133 53.5516,-133"/></g></g>
</svg>
diff --git a/doc/source/img/task_states.svg b/doc/source/img/task_states.svg
index c281be8..14a1f09 100644
--- a/doc/source/img/task_states.svg
+++ b/doc/source/img/task_states.svg
@@ -1,8 +1,8 @@
<?xml version="1.0"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<!-- Generated by graphviz version 2.38.0 (20140413.2041)
+<!-- Generated by graphviz version 2.34.0 (20140110.0949)
-->
<!-- Title: Tasks states Pages: 1 -->
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" width="642pt" height="113pt" viewBox="0.00 0.00 642.15 113.00" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.1" contentScriptType="application/ecmascript" contentStyleType="text/css"><defs><linearGradient id="white" x1="0%" y1="0%" x2="0%" y2="0%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/></linearGradient><linearGradient id="black" x1="0%" y1="0%" x2="0%" y2="0%"><stop offset="0%" style="stop-color:rgb(0,0,0);stop-opacity:1"/></linearGradient><linearGradient id="aquamarine" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(127,255,212);stop-opacity:1"/></linearGradient><linearGradient id="azure" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(240,255,255);stop-opacity:1"/></linearGradient><linearGradient id="blue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,0,255);stop-opacity:1"/></linearGradient><linearGradient id="blueviolet" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(138,43,226);stop-opacity:1"/></linearGradient><linearGradient id="brown" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(165,42,42);stop-opacity:1"/></linearGradient><linearGradient id="cadetblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(95,158,160);stop-opacity:1"/></linearGradient><linearGradient id="chocolate" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(210,105,30);stop-opacity:1"/></linearGradient><linearGradient id="cornflowerblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(100,149,237);stop-opacity:1"/></linearGradient><linearGradient id="crimson" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(220,20,60);stop-opacity:1"/></linearGradient><linearGradient id="cyan" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,255,255);stop-opacity:1"/></linearGradient><linearGradient id="darkgreen" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,100,0);stop-opacity:1"/></linearGradient><linearGradient id="darkorange" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,140,0);stop-opacity:1"/></linearGradient><linearGradient id="gold" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,215,0);stop-opacity:1"/></linearGradient><linearGradient id="gray" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(192,192,192);stop-opacity:1"/></linearGradient><linearGradient id="greenyellow" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(173,255,47);stop-opacity:1"/></linearGradient><linearGradient id="green" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,255,0);stop-opacity:1"/></linearGradient><linearGradient id="grey" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(192,192,192);stop-opacity:1"/></linearGradient><linearGradient id="hotpink" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,105,180);stop-opacity:1"/></linearGradient><linearGradient id="indianred" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(205,92,92);stop-opacity:1"/></linearGradient><linearGradient id="indigo" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(75,0,130);stop-opacity:1"/></linearGradient><linearGradient id="lavender" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(230,230,250);stop-opacity:1"/></linearGradient><linearGradient id="lightblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(173,216,230);stop-opacity:1"/></linearGradient><linearGradient id="lightgray" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(211,211,211);stop-opacity:1"/></linearGradient><linearGradient id="lightgrey" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(211,211,211);stop-opacity:1"/></linearGradient><linearGradient id="magenta" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,0,255);stop-opacity:1"/></linearGradient><linearGradient id="maroon" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(176,48,96);stop-opacity:1"/></linearGradient><linearGradient id="mediumblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,0,205);stop-opacity:1"/></linearGradient><linearGradient id="mediumpurple" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(147,112,219);stop-opacity:1"/></linearGradient><linearGradient id="orange" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,165,0);stop-opacity:1"/></linearGradient><linearGradient id="pink" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,192,203);stop-opacity:1"/></linearGradient><linearGradient id="purple" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(160,32,240);stop-opacity:1"/></linearGradient><linearGradient id="red" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,0,0);stop-opacity:1"/></linearGradient><linearGradient id="steelblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(70,130,180);stop-opacity:1"/></linearGradient><linearGradient id="violet" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(238,130,238);stop-opacity:1"/></linearGradient><linearGradient id="yellow" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,255,0);stop-opacity:1"/></linearGradient><linearGradient id="none" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,255,255);stop-opacity:1"/></linearGradient></defs>
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 109)"><polygon fill="white" stroke="none" points="-4,4 -4,-109 638.15,-109 638.15,4 -4,4"/><title>Tasks states</title><g id="node1" class="node"><ellipse fill="none" stroke="black" cx="102.888" cy="-79" rx="39.8775" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="102.888" cy="-79" rx="39.8775" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="102.888" y="-76.2" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">PENDING</text></g><g id="node2" class="node"><ellipse fill="none" stroke="black" cx="220.069" cy="-56" rx="41.4846" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="220.069" cy="-56" rx="41.4846" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="220.069" y="-53.2" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">RUNNING</text></g><g id="edge1" class="edge"><polygon fill="black" stroke="black" points="172.773,-68.8138 181.894,-63.4233 171.402,-61.9493 172.773,-68.8138" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M139.386,-71.9116C149.71,-69.85 161.15,-67.5656 172.065,-65.386" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="172.773,-68.8138 181.894,-63.4233 171.402,-61.9493 172.773,-68.8138" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M139.386,-71.9116C149.71,-69.85 161.15,-67.5656 172.065,-65.386"/></g><g id="node3" class="node"><ellipse fill="none" stroke="black" cx="336.648" cy="-18" rx="39.1741" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="336.648" cy="-18" rx="39.1741" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="336.648" y="-15.2" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">SUCCESS</text></g><g id="edge2" class="edge"><polygon fill="black" stroke="black" points="295.835,-34.8914 304.225,-28.4214 293.632,-28.2472 295.835,-34.8914" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M253.596,-45.2124C266.374,-40.9748 281.186,-36.0623 294.68,-31.5869" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="295.835,-34.8914 304.225,-28.4214 293.632,-28.2472 295.835,-34.8914" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M253.596,-45.2124C266.374,-40.9748 281.186,-36.0623 294.68,-31.5869"/></g><g id="node4" class="node"><ellipse fill="none" stroke="black" cx="589.049" cy="-18" rx="38.4712" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="589.049" cy="-18" rx="38.4712" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="589.049" y="-15.2" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">FAILURE</text></g><g id="edge3" class="edge"><polygon fill="black" stroke="black" points="551.462,-36.5017 559.659,-29.789 549.065,-29.9249 551.462,-36.5017" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M261.378,-58.0588C317.256,-60.0985 421.181,-60.9434 507.949,-45 521.981,-42.4217 536.908,-37.9077 550.025,-33.3002" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="551.462,-36.5017 559.659,-29.789 549.065,-29.9249 551.462,-36.5017" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M261.378,-58.0588C317.256,-60.0985 421.181,-60.9434 507.949,-45 521.981,-42.4217 536.908,-37.9077 550.025,-33.3002"/></g><g id="node5" class="node"><ellipse fill="none" stroke="black" cx="459.842" cy="-18" rx="48.2143" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="459.842" cy="-18" rx="48.2143" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="459.842" y="-15.2" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">REVERTING</text></g><g id="edge4" class="edge"><polygon fill="black" stroke="black" points="401.378,-21.5001 411.378,-18 401.378,-14.5001 401.378,-21.5001" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M375.995,-18C384.069,-18 392.756,-18 401.359,-18" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="401.378,-21.5001 411.378,-18 401.378,-14.5001 401.378,-21.5001" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M375.995,-18C384.069,-18 392.756,-18 401.359,-18"/></g><g id="edge6" class="edge"><polygon fill="black" stroke="black" points="515.051,-21.1832 504.976,-24.4607 514.896,-28.1815 515.051,-21.1832" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M552.807,-24.1142C541.125,-24.6743 527.838,-24.8643 515.067,-24.6843" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="515.051,-21.1832 504.976,-24.4607 514.896,-28.1815 515.051,-21.1832" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M552.807,-24.1142C541.125,-24.6743 527.838,-24.8643 515.067,-24.6843"/></g><g id="edge7" class="edge"><polygon fill="black" stroke="black" points="542.681,-15.0045 552.807,-11.8858 542.946,-8.00951 542.681,-15.0045" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M504.976,-11.5393C517.198,-11.1653 530.48,-11.1539 542.766,-11.5053" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="542.681,-15.0045 552.807,-11.8858 542.946,-8.00951 542.681,-15.0045" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M504.976,-11.5393C517.198,-11.1653 530.48,-11.1539 542.766,-11.5053"/></g><g id="node6" class="node"><ellipse fill="none" stroke="black" cx="589.049" cy="-87" rx="45.2009" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="589.049" cy="-87" rx="45.2009" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="589.049" y="-84.2" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">REVERTED</text></g><g id="edge8" class="edge"><polygon fill="black" stroke="black" points="550.783,-70.7676 561.242,-72.4591 554.121,-64.6145 550.783,-70.7676" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M488.131,-32.8022C506.87,-42.9667 531.934,-56.5617 552.271,-67.5927" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="550.783,-70.7676 561.242,-72.4591 554.121,-64.6145 550.783,-70.7676" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M488.131,-32.8022C506.87,-42.9667 531.934,-56.5617 552.271,-67.5927"/></g><g id="edge5" class="edge"><polygon fill="black" stroke="black" points="152.423,-78.4038 142.254,-81.3772 152.058,-85.3943 152.423,-78.4038" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M543.803,-87.2014C468.694,-87.4012 311.453,-87.2052 178.577,-83 170.088,-82.7313 161.061,-82.3389 152.326,-81.9034" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="152.423,-78.4038 142.254,-81.3772 152.058,-85.3943 152.423,-78.4038" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M543.803,-87.2014C468.694,-87.4012 311.453,-87.2052 178.577,-83 170.088,-82.7313 161.061,-82.3389 152.326,-81.9034"/></g><g id="node7" class="node"><ellipse fill="black" stroke="black" cx="23.6" cy="-79" rx="3.6" ry="3.6" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="black" stroke="black" cx="23.6" cy="-79" rx="3.6" ry="3.6" style="fill:url(#black);stroke:black;"/><text text-anchor="middle" x="10" y="-66.6" font-family="Times,serif" font-size="11.00" fill="green" style="font-size:10px; font-family:Verdana">start</text></g><g id="edge9" class="edge"><polygon fill="black" stroke="black" points="52.8409,-82.5001 62.8408,-79 52.8408,-75.5001 52.8409,-82.5001" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" stroke-dasharray="1,5" d="M27.5354,-79C32.1798,-79 41.8154,-79 52.6556,-79" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="52.8409,-82.5001 62.8408,-79 52.8408,-75.5001 52.8409,-82.5001" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" stroke-dasharray="1,5" d="M27.5354,-79C32.1798,-79 41.8154,-79 52.6556,-79"/></g></g>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" width="644pt" height="113pt" viewBox="0.00 0.00 643.60 113.00" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.1" contentScriptType="application/ecmascript" contentStyleType="text/css"><defs><linearGradient id="white" x1="0%" y1="0%" x2="0%" y2="0%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/></linearGradient><linearGradient id="black" x1="0%" y1="0%" x2="0%" y2="0%"><stop offset="0%" style="stop-color:rgb(0,0,0);stop-opacity:1"/></linearGradient><linearGradient id="aquamarine" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(127,255,212);stop-opacity:1"/></linearGradient><linearGradient id="azure" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(240,255,255);stop-opacity:1"/></linearGradient><linearGradient id="blue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,0,255);stop-opacity:1"/></linearGradient><linearGradient id="blueviolet" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(138,43,226);stop-opacity:1"/></linearGradient><linearGradient id="brown" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(165,42,42);stop-opacity:1"/></linearGradient><linearGradient id="cadetblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(95,158,160);stop-opacity:1"/></linearGradient><linearGradient id="chocolate" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(210,105,30);stop-opacity:1"/></linearGradient><linearGradient id="cornflowerblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(100,149,237);stop-opacity:1"/></linearGradient><linearGradient id="crimson" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(220,20,60);stop-opacity:1"/></linearGradient><linearGradient id="cyan" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,255,255);stop-opacity:1"/></linearGradient><linearGradient id="darkgreen" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,100,0);stop-opacity:1"/></linearGradient><linearGradient id="darkorange" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,140,0);stop-opacity:1"/></linearGradient><linearGradient id="gold" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,215,0);stop-opacity:1"/></linearGradient><linearGradient id="gray" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(192,192,192);stop-opacity:1"/></linearGradient><linearGradient id="greenyellow" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(173,255,47);stop-opacity:1"/></linearGradient><linearGradient id="green" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,255,0);stop-opacity:1"/></linearGradient><linearGradient id="grey" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(192,192,192);stop-opacity:1"/></linearGradient><linearGradient id="hotpink" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,105,180);stop-opacity:1"/></linearGradient><linearGradient id="indianred" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(205,92,92);stop-opacity:1"/></linearGradient><linearGradient id="indigo" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(75,0,130);stop-opacity:1"/></linearGradient><linearGradient id="lavender" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(230,230,250);stop-opacity:1"/></linearGradient><linearGradient id="lightblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(173,216,230);stop-opacity:1"/></linearGradient><linearGradient id="lightgray" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(211,211,211);stop-opacity:1"/></linearGradient><linearGradient id="lightgrey" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(211,211,211);stop-opacity:1"/></linearGradient><linearGradient id="magenta" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,0,255);stop-opacity:1"/></linearGradient><linearGradient id="maroon" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(176,48,96);stop-opacity:1"/></linearGradient><linearGradient id="mediumblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,0,205);stop-opacity:1"/></linearGradient><linearGradient id="mediumpurple" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(147,112,219);stop-opacity:1"/></linearGradient><linearGradient id="orange" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,165,0);stop-opacity:1"/></linearGradient><linearGradient id="pink" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,192,203);stop-opacity:1"/></linearGradient><linearGradient id="purple" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(160,32,240);stop-opacity:1"/></linearGradient><linearGradient id="red" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,0,0);stop-opacity:1"/></linearGradient><linearGradient id="steelblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(70,130,180);stop-opacity:1"/></linearGradient><linearGradient id="violet" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(238,130,238);stop-opacity:1"/></linearGradient><linearGradient id="yellow" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,255,0);stop-opacity:1"/></linearGradient><linearGradient id="none" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,255,255);stop-opacity:1"/></linearGradient></defs>
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 109)"><polygon fill="white" stroke="white" points="-4,4 -4,-109 639.6,-109 639.6,4 -4,4"/><title>Tasks states</title><g id="node1" class="node"><ellipse fill="none" stroke="black" cx="103.6" cy="-79" rx="39.8775" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="103.6" cy="-79" rx="39.8775" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="103.6" y="-76.2" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">PENDING</text></g><g id="node2" class="node"><ellipse fill="none" stroke="black" cx="221.6" cy="-56" rx="41.4846" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="221.6" cy="-56" rx="41.4846" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="221.6" y="-53.2" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">RUNNING</text></g><g id="edge1" class="edge"><polygon fill="black" stroke="black" points="174.436,-68.7214 183.564,-63.3433 173.074,-61.8551 174.436,-68.7214" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M140.35,-71.9116C150.85,-69.8298 162.495,-67.5207 173.585,-65.3219" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="174.436,-68.7214 183.564,-63.3433 173.074,-61.8551 174.436,-68.7214" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M140.35,-71.9116C150.85,-69.8298 162.495,-67.5207 173.585,-65.3219"/></g><g id="node3" class="node"><ellipse fill="none" stroke="black" cx="338.6" cy="-18" rx="39.1741" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="338.6" cy="-18" rx="39.1741" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="338.6" y="-15.2" font-family="Times,serif" font-size="11.00" fill="green" style="font-size:10px; font-family:Verdana">SUCCESS</text></g><g id="edge2" class="edge"><polygon fill="black" stroke="black" points="298.059,-34.752 306.456,-28.2912 295.862,-28.1055 298.059,-34.752" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M255.247,-45.2124C268.178,-40.9394 283.186,-35.9803 296.82,-31.4751" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="298.059,-34.752 306.456,-28.2912 295.862,-28.1055 298.059,-34.752" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M255.247,-45.2124C268.178,-40.9394 283.186,-35.9803 296.82,-31.4751"/></g><g id="node4" class="node"><ellipse fill="none" stroke="black" cx="590.6" cy="-18" rx="38.4712" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="590.6" cy="-18" rx="38.4712" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="590.6" y="-15.2" font-family="Times,serif" font-size="11.00" fill="red" style="font-size:10px; font-family:Verdana">FAILURE</text></g><g id="edge3" class="edge"><polygon fill="black" stroke="black" points="553.052,-36.5055 561.247,-29.7894 550.653,-29.9297 553.052,-36.5055" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M262.926,-58.0652C318.829,-60.1124 422.799,-60.9658 509.6,-45 523.616,-42.422 538.524,-37.9082 551.625,-33.3006" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="553.052,-36.5055 561.247,-29.7894 550.653,-29.9297 553.052,-36.5055" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M262.926,-58.0652C318.829,-60.1124 422.799,-60.9658 509.6,-45 523.616,-42.422 538.524,-37.9082 551.625,-33.3006"/></g><g id="node5" class="node"><ellipse fill="none" stroke="black" cx="461.6" cy="-18" rx="48.2143" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="461.6" cy="-18" rx="48.2143" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="461.6" y="-15.2" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:Verdana">REVERTING</text></g><g id="edge4" class="edge"><polygon fill="black" stroke="black" points="403.212,-21.5001 413.212,-18 403.212,-14.5001 403.212,-21.5001" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M377.885,-18C385.947,-18 394.62,-18 403.209,-18" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="403.212,-21.5001 413.212,-18 403.212,-14.5001 403.212,-21.5001" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M377.885,-18C385.947,-18 394.62,-18 403.209,-18"/></g><g id="edge6" class="edge"><polygon fill="black" stroke="black" points="516.737,-21.1813 506.662,-24.4607 516.583,-28.1796 516.737,-21.1813" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M554.007,-24.1336C542.529,-24.6746 529.533,-24.8595 517.018,-24.6883" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="516.737,-21.1813 506.662,-24.4607 516.583,-28.1796 516.737,-21.1813" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M554.007,-24.1336C542.529,-24.6746 529.533,-24.8595 517.018,-24.6883"/></g><g id="edge7" class="edge"><polygon fill="black" stroke="black" points="543.885,-14.9952 554.007,-11.8664 544.143,-7.99992 543.885,-14.9952" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M506.662,-11.5393C518.631,-11.1724 531.619,-11.1545 543.687,-11.4856" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="543.885,-14.9952 554.007,-11.8664 544.143,-7.99992 543.885,-14.9952" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M506.662,-11.5393C518.631,-11.1724 531.619,-11.1545 543.687,-11.4856"/></g><g id="node6" class="node"><ellipse fill="none" stroke="black" cx="590.6" cy="-87" rx="45.2009" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="590.6" cy="-87" rx="45.2009" ry="18" style="fill:url(#none);stroke:black;"/><text text-anchor="middle" x="590.6" y="-84.2" font-family="Times,serif" font-size="11.00" fill="darkorange" style="font-size:10px; font-family:Verdana">REVERTED</text></g><g id="edge8" class="edge"><polygon fill="black" stroke="black" points="552.378,-70.7605 562.836,-72.4591 555.72,-64.6096 552.378,-70.7605" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M489.845,-32.8022C508.553,-42.9667 533.576,-56.5617 553.879,-67.5927" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="552.378,-70.7605 562.836,-72.4591 555.72,-64.6096 552.378,-70.7605" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M489.845,-32.8022C508.553,-42.9667 533.576,-56.5617 553.879,-67.5927"/></g><g id="edge5" class="edge"><polygon fill="black" stroke="black" points="153.295,-78.4014 143.126,-81.377 152.931,-85.3919 153.295,-78.4014" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M545.297,-87.1991C470.091,-87.3957 312.648,-87.195 179.6,-83 171.076,-82.7312 162.011,-82.3387 153.24,-81.9032" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="153.295,-78.4014 143.126,-81.377 152.931,-85.3919 153.295,-78.4014" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" d="M545.297,-87.1991C470.091,-87.3957 312.648,-87.195 179.6,-83 171.076,-82.7312 162.011,-82.3387 153.24,-81.9032"/></g><g id="node7" class="node"><ellipse fill="black" stroke="black" cx="23.6" cy="-79" rx="3.6" ry="3.6" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="black" stroke="black" cx="23.6" cy="-79" rx="3.6" ry="3.6" style="fill:url(#black);stroke:black;"/><text text-anchor="middle" x="10" y="-66.6" font-family="Times,serif" font-size="11.00" fill="green" style="font-size:10px; font-family:Verdana">start</text></g><g id="edge9" class="edge"><polygon fill="black" stroke="black" points="53.5965,-82.5001 63.5964,-79 53.5964,-75.5001 53.5965,-82.5001" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" stroke-dasharray="1,5" d="M27.5624,-79C32.3405,-79 42.3529,-79 53.5516,-79" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="53.5965,-82.5001 63.5964,-79 53.5964,-75.5001 53.5965,-82.5001" style="fill:url(#black);stroke:black;"/><path fill="none" stroke="black" stroke-dasharray="1,5" d="M27.5624,-79C32.3405,-79 42.3529,-79 53.5516,-79"/></g></g>
</svg>
diff --git a/tools/state_graph.py b/tools/state_graph.py
index e83426b..c5d72d0 100755
--- a/tools/state_graph.py
+++ b/tools/state_graph.py
@@ -57,6 +57,18 @@ def make_machine(start_state, transitions, disallowed):
return machine
+def map_color(internal_states, state):
+ if state in internal_states:
+ return 'blue'
+ if state == states.FAILURE:
+ return 'red'
+ if state == states.REVERTED:
+ return 'darkorange'
+ if state == states.SUCCESS:
+ return 'green'
+ return None
+
+
def main():
parser = optparse.OptionParser()
parser.add_option("-f", "--file", dest="filename",
@@ -119,14 +131,16 @@ def main():
for (start_state, _on_event, end_state) in source:
if start_state not in nodes:
start_node_attrs = node_attrs.copy()
- if start_state in internal_states:
- start_node_attrs['fontcolor'] = 'blue'
+ text_color = map_color(internal_states, start_state)
+ if text_color:
+ start_node_attrs['fontcolor'] = text_color
nodes[start_state] = pydot.Node(start_state, **start_node_attrs)
g.add_node(nodes[start_state])
if end_state not in nodes:
end_node_attrs = node_attrs.copy()
- if end_state in internal_states:
- end_node_attrs['fontcolor'] = 'blue'
+ text_color = map_color(internal_states, end_state)
+ if text_color:
+ end_node_attrs['fontcolor'] = text_color
nodes[end_state] = pydot.Node(end_state, **end_node_attrs)
g.add_node(nodes[end_state])
g.add_edge(pydot.Edge(nodes[start_state], nodes[end_state]))