Current File : //usr/local/apps/share/doc/freetds/reference/a00387_ga530538c4c975524cf0b771a550fc94a3_cgraph.svg |
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
-->
<!-- Title: tds_submit_commit Pages: 1 -->
<svg width="911pt" height="682pt"
viewBox="0.00 0.00 911.00 681.78" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 677.779)">
<title>tds_submit_commit</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-677.779 907,-677.779 907,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="0,-597.279 0,-616.279 105,-616.279 105,-597.279 0,-597.279"/>
<text text-anchor="middle" x="52.5" y="-604.279" font-family="Helvetica,sans-Serif" font-size="10.00">tds_submit_commit</text>
</g>
<!-- Node2 -->
<g id="node2" class="node"><title>Node2</title>
<g id="a_node2"><a xlink:href="a00387.html#ga5a29ae7f99d089dc3cea85ec6ee5f3ab" target="_top" xlink:title="tds_submit_query() sends a language string to the database server for processing. ...">
<polygon fill="white" stroke="black" points="141,-442.279 141,-461.279 239,-461.279 239,-442.279 141,-442.279"/>
<text text-anchor="middle" x="190" y="-449.279" font-family="Helvetica,sans-Serif" font-size="10.00">tds_submit_query</text>
</a>
</g>
</g>
<!-- Node1->Node2 -->
<g id="edge1" class="edge"><title>Node1->Node2</title>
<path fill="none" stroke="midnightblue" d="M61.9761,-597.083C84.3139,-571.53 145.038,-502.068 173.67,-469.315"/>
<polygon fill="midnightblue" stroke="midnightblue" points="176.581,-471.304 180.527,-461.471 171.31,-466.696 176.581,-471.304"/>
</g>
<!-- Node4 -->
<g id="node4" class="node"><title>Node4</title>
<g id="a_node4"><a xlink:href="a00217.html#a16db200d2281f76fe46fc1cbe37ca9df" target="_top" xlink:title="Set state of TDS connection, with logging and checking. ">
<polygon fill="white" stroke="red" points="658.5,-587.279 658.5,-606.279 738.5,-606.279 738.5,-587.279 658.5,-587.279"/>
<text text-anchor="middle" x="698.5" y="-594.279" font-family="Helvetica,sans-Serif" font-size="10.00">tds_set_state</text>
</a>
</g>
</g>
<!-- Node1->Node4 -->
<g id="edge30" class="edge"><title>Node1->Node4</title>
<path fill="none" stroke="midnightblue" d="M105.299,-610.229C117.033,-610.874 129.441,-611.449 141,-611.779 262.648,-615.252 502.569,-612.229 598,-606.779 614.351,-605.845 632.163,-604.242 648.138,-602.589"/>
<polygon fill="midnightblue" stroke="midnightblue" points="648.765,-606.042 658.338,-601.502 648.023,-599.081 648.765,-606.042"/>
</g>
<!-- Node19 -->
<g id="node19" class="node"><title>Node19</title>
<g id="a_node19"><a xlink:href="a00387.html#gada27f4cfce925240ad33b71b63ca692d" target="_top" xlink:title="Flush query packet. ">
<polygon fill="white" stroke="red" points="460.5,-578.279 460.5,-597.279 588.5,-597.279 588.5,-578.279 460.5,-578.279"/>
<text text-anchor="middle" x="524.5" y="-585.279" font-family="Helvetica,sans-Serif" font-size="10.00">tds_query_flush_packet</text>
</a>
</g>
</g>
<!-- Node1->Node19 -->
<g id="edge33" class="edge"><title>Node1->Node19</title>
<path fill="none" stroke="midnightblue" d="M105.143,-604.691C188.777,-601.31 354.136,-594.626 450.014,-590.75"/>
<polygon fill="midnightblue" stroke="midnightblue" points="450.36,-594.239 460.211,-590.337 450.077,-587.244 450.36,-594.239"/>
</g>
<!-- Node20 -->
<g id="node20" class="node"><title>Node20</title>
<g id="a_node20"><a xlink:href="a00387.html#ga0da385231bfa3dc49377e1fb2bea2c07" target="_top" xlink:title="Start query packet of a given type. ">
<polygon fill="white" stroke="black" points="300,-654.279 300,-673.279 390,-673.279 390,-654.279 300,-654.279"/>
<text text-anchor="middle" x="345" y="-661.279" font-family="Helvetica,sans-Serif" font-size="10.00">tds_start_query</text>
</a>
</g>
</g>
<!-- Node1->Node20 -->
<g id="edge31" class="edge"><title>Node1->Node20</title>
<path fill="none" stroke="midnightblue" d="M74.6151,-616.404C92.0581,-623.947 117.656,-634.087 141,-639.779 190.584,-651.869 248.522,-657.949 289.78,-660.957"/>
<polygon fill="midnightblue" stroke="midnightblue" points="289.677,-664.458 299.895,-661.657 290.16,-657.475 289.677,-664.458"/>
</g>
<!-- Node3 -->
<g id="node3" class="node"><title>Node3</title>
<g id="a_node3"><a xlink:href="a00387.html#ga95e0fccedc459a4404f496eec74a369a" target="_top" xlink:title="tds_submit_query_params() sends a language string to the database server for processing. ">
<polygon fill="white" stroke="black" points="275,-344.279 275,-363.279 415,-363.279 415,-344.279 275,-344.279"/>
<text text-anchor="middle" x="345" y="-351.279" font-family="Helvetica,sans-Serif" font-size="10.00">tds_submit_query_params</text>
</a>
</g>
</g>
<!-- Node2->Node3 -->
<g id="edge2" class="edge"><title>Node2->Node3</title>
<path fill="none" stroke="midnightblue" d="M205.949,-442.204C232.503,-425.196 288.101,-389.584 320.046,-369.122"/>
<polygon fill="midnightblue" stroke="midnightblue" points="322.231,-371.879 328.764,-363.538 318.455,-365.984 322.231,-371.879"/>
</g>
<!-- Node3->Node4 -->
<g id="edge3" class="edge"><title>Node3->Node4</title>
<path fill="none" stroke="midnightblue" d="M349.476,-363.638C360.027,-392.133 394.464,-475.329 451,-518.779 459.332,-525.182 587.408,-563.965 655.56,-584.322"/>
<polygon fill="midnightblue" stroke="midnightblue" points="654.576,-587.681 665.159,-587.186 656.577,-580.973 654.576,-587.681"/>
</g>
<!-- Node5 -->
<g id="node5" class="node"><title>Node5</title>
<g id="a_node5"><a xlink:href="a00387.html#ga6455b2991afbf7da90270787f2059d31" target="_top" xlink:title="Get position of next placeholder. ">
<polygon fill="white" stroke="red" points="639,-80.2789 639,-99.2789 758,-99.2789 758,-80.2789 639,-80.2789"/>
<text text-anchor="middle" x="698.5" y="-87.2789" font-family="Helvetica,sans-Serif" font-size="10.00">tds_next_placeholder</text>
</a>
</g>
</g>
<!-- Node3->Node5 -->
<g id="edge4" class="edge"><title>Node3->Node5</title>
<path fill="none" stroke="midnightblue" d="M346.281,-344.029C348.025,-303.951 360.589,-151.12 451,-89.7789 513.417,-47.4315 606.73,-63.3945 658.81,-77.4498"/>
<polygon fill="midnightblue" stroke="midnightblue" points="658.081,-80.8805 668.655,-80.2176 659.976,-74.1418 658.081,-80.8805"/>
</g>
<!-- Node6 -->
<g id="node6" class="node"><title>Node6</title>
<g id="a_node6"><a xlink:href="a00387.html#ga3a5d1771cacc947521c4077551f0d3a4" target="_top" xlink:title="Substitute ?-style placeholders with named (@param) ones. ">
<polygon fill="white" stroke="red" points="471,-99.2789 471,-118.279 578,-118.279 578,-99.2789 471,-99.2789"/>
<text text-anchor="middle" x="524.5" y="-106.279" font-family="Helvetica,sans-Serif" font-size="10.00">tds5_fix_dot_query</text>
</a>
</g>
</g>
<!-- Node3->Node6 -->
<g id="edge5" class="edge"><title>Node3->Node6</title>
<path fill="none" stroke="midnightblue" d="M347.758,-344.203C354.505,-310.164 381.911,-193.8 451,-132.779 455.695,-128.632 461.127,-125.198 466.864,-122.355"/>
<polygon fill="midnightblue" stroke="midnightblue" points="468.29,-125.552 476.068,-118.358 465.501,-119.132 468.29,-125.552"/>
</g>
<!-- Node7 -->
<g id="node7" class="node"><title>Node7</title>
<g id="a_node7"><a xlink:href="a00387.html#ga28264995cf9616661f1fa788ac0d246d" target="_top" xlink:title="Send parameters to server. ">
<polygon fill="white" stroke="red" points="478.5,-464.279 478.5,-483.279 570.5,-483.279 570.5,-464.279 478.5,-464.279"/>
<text text-anchor="middle" x="524.5" y="-471.279" font-family="Helvetica,sans-Serif" font-size="10.00">tds_put_params</text>
</a>
</g>
</g>
<!-- Node3->Node7 -->
<g id="edge7" class="edge"><title>Node3->Node7</title>
<path fill="none" stroke="midnightblue" d="M353.966,-363.385C370.275,-382.471 409.447,-425.423 451,-449.779 458.399,-454.116 466.688,-457.794 474.945,-460.868"/>
<polygon fill="midnightblue" stroke="midnightblue" points="473.973,-464.235 484.567,-464.204 476.265,-457.621 473.973,-464.235"/>
</g>
<!-- Node8 -->
<g id="node8" class="node"><title>Node8</title>
<g id="a_node8"><a xlink:href="a00387.html#gafd74652c4722ddce4d642cc4209449d4" target="_top" xlink:title="Put data information to wire. ">
<polygon fill="white" stroke="red" points="648,-492.279 648,-511.279 749,-511.279 749,-492.279 648,-492.279"/>
<text text-anchor="middle" x="698.5" y="-499.279" font-family="Helvetica,sans-Serif" font-size="10.00">tds_put_data_info</text>
</a>
</g>
</g>
<!-- Node3->Node8 -->
<g id="edge26" class="edge"><title>Node3->Node8</title>
<path fill="none" stroke="midnightblue" d="M349.806,-363.542C360.762,-390.12 395.208,-463.721 451,-492.779 510.286,-523.657 588.919,-520.226 641.263,-512.845"/>
<polygon fill="midnightblue" stroke="midnightblue" points="642,-516.274 651.368,-511.325 640.959,-509.351 642,-516.274"/>
</g>
<!-- Node9 -->
<g id="node9" class="node"><title>Node9</title>
<g id="a_node9"><a xlink:href="a00387.html#ga024bc5482366735070befd6f4af59f71" target="_top" xlink:title="Convert a string in an allocated buffer. ">
<polygon fill="white" stroke="red" points="799,-492.279 799,-511.279 903,-511.279 903,-492.279 799,-492.279"/>
<text text-anchor="middle" x="851" y="-499.279" font-family="Helvetica,sans-Serif" font-size="10.00">tds_convert_string</text>
</a>
</g>
</g>
<!-- Node3->Node9 -->
<g id="edge16" class="edge"><title>Node3->Node9</title>
<path fill="none" stroke="midnightblue" d="M345.847,-344.109C345.76,-301.416 351.721,-128.823 451,-58.7789 564.389,21.2198 658.866,20.9431 763,-70.7789 825.932,-126.209 844.926,-403.986 849.045,-481.604"/>
<polygon fill="midnightblue" stroke="midnightblue" points="845.566,-482.107 849.566,-491.918 852.557,-481.754 845.566,-482.107"/>
</g>
<!-- Node10 -->
<g id="node10" class="node"><title>Node10</title>
<g id="a_node10"><a xlink:href="a00387.html#ga9fcc0a3932dcad530511395ef8a767fb" target="_top" xlink:title="Write data to wire. ">
<polygon fill="white" stroke="black" points="659.5,-435.279 659.5,-454.279 737.5,-454.279 737.5,-435.279 659.5,-435.279"/>
<text text-anchor="middle" x="698.5" y="-442.279" font-family="Helvetica,sans-Serif" font-size="10.00">tds_put_data</text>
</a>
</g>
</g>
<!-- Node3->Node10 -->
<g id="edge27" class="edge"><title>Node3->Node10</title>
<path fill="none" stroke="midnightblue" d="M367.34,-363.366C388.293,-372.478 421.338,-386.05 451,-394.779 518.8,-414.731 599.398,-429.44 649.512,-437.561"/>
<polygon fill="midnightblue" stroke="midnightblue" points="648.994,-441.022 659.421,-439.145 650.099,-434.11 648.994,-441.022"/>
</g>
<!-- Node11 -->
<g id="node11" class="node"><title>Node11</title>
<g id="a_node11"><a xlink:href="a00389.html#gae6d3d12bd1f5f0c56df934a377c245d3" target="_top" xlink:title="test if string is empty ">
<polygon fill="white" stroke="black" points="650,-366.279 650,-385.279 747,-385.279 747,-366.279 650,-366.279"/>
<text text-anchor="middle" x="698.5" y="-373.279" font-family="Helvetica,sans-Serif" font-size="10.00">tds_dstr_isempty</text>
</a>
</g>
</g>
<!-- Node3->Node11 -->
<g id="edge11" class="edge"><title>Node3->Node11</title>
<path fill="none" stroke="midnightblue" d="M379.244,-363.393C399.734,-368.812 426.658,-375.032 451,-377.779 515.254,-385.029 589.527,-383.024 639.611,-380.164"/>
<polygon fill="midnightblue" stroke="midnightblue" points="639.835,-383.657 649.607,-379.563 639.415,-376.669 639.835,-383.657"/>
</g>
<!-- Node12 -->
<g id="node12" class="node"><title>Node12</title>
<g id="a_node12"><a xlink:href="a00387.html#ga9ad2e6defce530a8778791cce0166ccd" target="_top" xlink:title="Start query packet of a given type. ">
<polygon fill="white" stroke="black" points="464.5,-654.279 464.5,-673.279 584.5,-673.279 584.5,-654.279 464.5,-654.279"/>
<text text-anchor="middle" x="524.5" y="-661.279" font-family="Helvetica,sans-Serif" font-size="10.00">tds_start_query_head</text>
</a>
</g>
</g>
<!-- Node3->Node12 -->
<g id="edge12" class="edge"><title>Node3->Node12</title>
<path fill="none" stroke="midnightblue" d="M348.112,-363.388C356.258,-398.793 388.345,-524.181 451,-606.779 463.861,-623.734 482.911,-638.448 498.256,-648.678"/>
<polygon fill="midnightblue" stroke="midnightblue" points="496.484,-651.7 506.788,-654.166 500.271,-645.812 496.484,-651.7"/>
</g>
<!-- Node13 -->
<g id="node13" class="node"><title>Node13</title>
<g id="a_node13"><a xlink:href="a00388.html#ga1fcaf8d488cc1390f106ce3ad0bf37b4" target="_top" xlink:title="Output a string to wire automatic translate string to unicode if needed. ">
<polygon fill="white" stroke="red" points="657,-172.279 657,-191.279 740,-191.279 740,-172.279 657,-172.279"/>
<text text-anchor="middle" x="698.5" y="-179.279" font-family="Helvetica,sans-Serif" font-size="10.00">tds_put_string</text>
</a>
</g>
</g>
<!-- Node3->Node13 -->
<g id="edge15" class="edge"><title>Node3->Node13</title>
<path fill="none" stroke="midnightblue" d="M347.883,-343.987C354.735,-311.414 381.68,-206.462 451,-165.779 518.474,-126.179 614.962,-151.144 664.846,-168.763"/>
<polygon fill="midnightblue" stroke="midnightblue" points="663.874,-172.134 674.467,-172.277 666.275,-165.559 663.874,-172.134"/>
</g>
<!-- Node14 -->
<g id="node14" class="node"><title>Node14</title>
<g id="a_node14"><a xlink:href="a00387.html#ga0cd19215e9169ea299a6c9cbf5b2fb60" target="_top" xlink:title="Count number of placeholders (?) in a query. ">
<polygon fill="white" stroke="red" points="634,-245.779 634,-275.779 763,-275.779 763,-245.779 634,-245.779"/>
<text text-anchor="start" x="642" y="-263.779" font-family="Helvetica,sans-Serif" font-size="10.00">tds_count_placeholders</text>
<text text-anchor="middle" x="698.5" y="-252.779" font-family="Helvetica,sans-Serif" font-size="10.00">_ucs2le</text>
</a>
</g>
</g>
<!-- Node3->Node14 -->
<g id="edge17" class="edge"><title>Node3->Node14</title>
<path fill="none" stroke="midnightblue" d="M355.662,-344.158C373.009,-327.584 411.34,-294.05 451,-279.779 506.542,-259.792 573.547,-255.796 623.67,-256.378"/>
<polygon fill="midnightblue" stroke="midnightblue" points="623.718,-259.88 633.78,-256.56 623.844,-252.881 623.718,-259.88"/>
</g>
<!-- Node15 -->
<g id="node15" class="node"><title>Node15</title>
<g id="a_node15"><a xlink:href="a00387.html#gac8d5497c2d1b9fadb724111660bd03bd" target="_top" xlink:title="Return string with parameters definition, useful for TDS7+. ">
<polygon fill="white" stroke="red" points="464,-338.779 464,-368.779 585,-368.779 585,-338.779 464,-338.779"/>
<text text-anchor="start" x="472" y="-356.779" font-family="Helvetica,sans-Serif" font-size="10.00">tds7_build_param_def</text>
<text text-anchor="middle" x="524.5" y="-345.779" font-family="Helvetica,sans-Serif" font-size="10.00">_from_params</text>
</a>
</g>
</g>
<!-- Node3->Node15 -->
<g id="edge18" class="edge"><title>Node3->Node15</title>
<path fill="none" stroke="midnightblue" d="M415.134,-353.779C427.808,-353.779 441.043,-353.779 453.735,-353.779"/>
<polygon fill="midnightblue" stroke="midnightblue" points="453.776,-357.279 463.776,-353.779 453.776,-350.279 453.776,-357.279"/>
</g>
<!-- Node16 -->
<g id="node16" class="node"><title>Node16</title>
<g id="a_node16"><a xlink:href="a00387.html#gab775332d378c7fe083750d624441b303" target="_top" xlink:title="Return string with parameters definition, useful for TDS7+ Looks like "@P1 INT, @P2 VARCHAR(100)"...">
<polygon fill="white" stroke="red" points="464,-289.779 464,-319.779 585,-319.779 585,-289.779 464,-289.779"/>
<text text-anchor="start" x="472" y="-307.779" font-family="Helvetica,sans-Serif" font-size="10.00">tds7_build_param_def</text>
<text text-anchor="middle" x="524.5" y="-296.779" font-family="Helvetica,sans-Serif" font-size="10.00">_from_query</text>
</a>
</g>
</g>
<!-- Node3->Node16 -->
<g id="edge20" class="edge"><title>Node3->Node16</title>
<path fill="none" stroke="midnightblue" d="M380.645,-344.215C402.921,-338.066 432.55,-329.886 459.049,-322.571"/>
<polygon fill="midnightblue" stroke="midnightblue" points="460.321,-325.851 469.029,-319.816 458.459,-319.103 460.321,-325.851"/>
</g>
<!-- Node17 -->
<g id="node17" class="node"><title>Node17</title>
<g id="a_node17"><a xlink:href="a00387.html#ga6e42b4a1d1d3898229ea2fe4afc2ecec" target="_top" xlink:title="Output params types and query (required by sp_prepare/sp_executesql/sp_prepexec) ">
<polygon fill="white" stroke="red" points="459,-213.279 459,-232.279 590,-232.279 590,-213.279 459,-213.279"/>
<text text-anchor="middle" x="524.5" y="-220.279" font-family="Helvetica,sans-Serif" font-size="10.00">tds7_put_query_params</text>
</a>
</g>
</g>
<!-- Node3->Node17 -->
<g id="edge22" class="edge"><title>Node3->Node17</title>
<path fill="none" stroke="midnightblue" d="M352.992,-343.987C368.37,-323.136 407.264,-274.032 451,-246.779 457.96,-242.442 465.789,-238.8 473.661,-235.77"/>
<polygon fill="midnightblue" stroke="midnightblue" points="474.976,-239.017 483.228,-232.372 472.633,-232.42 474.976,-239.017"/>
</g>
<!-- Node18 -->
<g id="node18" class="node"><title>Node18</title>
<g id="a_node18"><a xlink:href="a00387.html#ga0f0b6bf447e9672e3b1ea8453ddeb113" target="_top" xlink:title="Send parameter definition to server. ">
<polygon fill="white" stroke="black" points="451,-175.279 451,-194.279 598,-194.279 598,-175.279 451,-175.279"/>
<text text-anchor="middle" x="524.5" y="-182.279" font-family="Helvetica,sans-Serif" font-size="10.00">tds7_put_params_definition</text>
</a>
</g>
</g>
<!-- Node3->Node18 -->
<g id="edge25" class="edge"><title>Node3->Node18</title>
<path fill="none" stroke="midnightblue" d="M349.967,-343.921C361.335,-316.969 396.737,-241.558 451,-203.779 453.863,-201.785 456.922,-200.001 460.104,-198.404"/>
<polygon fill="midnightblue" stroke="midnightblue" points="461.568,-201.584 469.337,-194.381 458.772,-195.167 461.568,-201.584"/>
</g>
<!-- Node3->Node19 -->
<g id="edge28" class="edge"><title>Node3->Node19</title>
<path fill="none" stroke="midnightblue" d="M348.013,-363.337C355.445,-396.271 384.426,-506.16 451,-563.779 455.803,-567.936 461.347,-571.377 467.187,-574.225"/>
<polygon fill="midnightblue" stroke="midnightblue" points="465.972,-577.513 476.543,-578.231 468.727,-571.077 465.972,-577.513"/>
</g>
<!-- Node6->Node5 -->
<g id="edge6" class="edge"><title>Node6->Node5</title>
<path fill="none" stroke="midnightblue" d="M578.04,-102.975C593.994,-101.213 611.767,-99.2494 628.626,-97.3871"/>
<polygon fill="midnightblue" stroke="midnightblue" points="629.425,-100.82 638.98,-96.2433 628.656,-93.8626 629.425,-100.82"/>
</g>
<!-- Node7->Node8 -->
<g id="edge8" class="edge"><title>Node7->Node8</title>
<path fill="none" stroke="midnightblue" d="M570.691,-481.136C591.234,-484.48 615.82,-488.482 637.853,-492.069"/>
<polygon fill="midnightblue" stroke="midnightblue" points="637.34,-495.531 647.772,-493.684 638.464,-488.622 637.34,-495.531"/>
</g>
<!-- Node7->Node10 -->
<g id="edge10" class="edge"><title>Node7->Node10</title>
<path fill="none" stroke="midnightblue" d="M570.691,-466.159C594.923,-462.074 624.782,-457.04 649.438,-452.882"/>
<polygon fill="midnightblue" stroke="midnightblue" points="650.025,-456.333 659.304,-451.219 648.862,-449.43 650.025,-456.333"/>
</g>
<!-- Node8->Node9 -->
<g id="edge9" class="edge"><title>Node8->Node9</title>
<path fill="none" stroke="midnightblue" d="M749.196,-501.779C761.762,-501.779 775.407,-501.779 788.48,-501.779"/>
<polygon fill="midnightblue" stroke="midnightblue" points="788.81,-505.279 798.81,-501.779 788.81,-498.279 788.81,-505.279"/>
</g>
<!-- Node12->Node4 -->
<g id="edge14" class="edge"><title>Node12->Node4</title>
<path fill="none" stroke="midnightblue" d="M556.402,-654.213C569.346,-650.036 584.494,-644.921 598,-639.779 621.621,-630.785 647.844,-619.393 667.437,-610.594"/>
<polygon fill="midnightblue" stroke="midnightblue" points="669.086,-613.69 676.756,-606.381 666.202,-607.312 669.086,-613.69"/>
</g>
<!-- Node12->Node9 -->
<g id="edge13" class="edge"><title>Node12->Node9</title>
<path fill="none" stroke="midnightblue" d="M584.657,-663.229C635.475,-660.226 708.887,-649.643 763,-615.779 800.636,-592.227 828.054,-546.169 841.227,-520.389"/>
<polygon fill="midnightblue" stroke="midnightblue" points="844.428,-521.812 845.711,-511.295 838.15,-518.717 844.428,-521.812"/>
</g>
<!-- Node15->Node11 -->
<g id="edge19" class="edge"><title>Node15->Node11</title>
<path fill="none" stroke="midnightblue" d="M585.175,-361.412C602.856,-363.673 622.181,-366.145 639.739,-368.391"/>
<polygon fill="midnightblue" stroke="midnightblue" points="639.484,-371.887 649.847,-369.684 640.372,-364.943 639.484,-371.887"/>
</g>
<!-- Node16->Node14 -->
<g id="edge21" class="edge"><title>Node16->Node14</title>
<path fill="none" stroke="midnightblue" d="M584.212,-289.76C598.523,-286.098 613.96,-282.15 628.695,-278.38"/>
<polygon fill="midnightblue" stroke="midnightblue" points="629.941,-281.674 638.761,-275.805 628.206,-274.893 629.941,-281.674"/>
</g>
<!-- Node17->Node13 -->
<g id="edge24" class="edge"><title>Node17->Node13</title>
<path fill="none" stroke="midnightblue" d="M565.393,-213.27C589.944,-207.417 621.613,-199.868 647.789,-193.629"/>
<polygon fill="midnightblue" stroke="midnightblue" points="648.61,-197.031 657.526,-191.308 646.987,-190.222 648.61,-197.031"/>
</g>
<!-- Node17->Node14 -->
<g id="edge23" class="edge"><title>Node17->Node14</title>
<path fill="none" stroke="midnightblue" d="M568.903,-232.368C585.606,-236.058 605.176,-240.382 623.94,-244.527"/>
<polygon fill="midnightblue" stroke="midnightblue" points="623.438,-248.001 633.957,-246.74 624.948,-241.165 623.438,-248.001"/>
</g>
<!-- Node19->Node4 -->
<g id="edge29" class="edge"><title>Node19->Node4</title>
<path fill="none" stroke="midnightblue" d="M588.57,-591.079C608.308,-592.112 629.785,-593.236 648.412,-594.21"/>
<polygon fill="midnightblue" stroke="midnightblue" points="648.268,-597.707 658.437,-594.735 648.634,-590.717 648.268,-597.707"/>
</g>
<!-- Node20->Node12 -->
<g id="edge32" class="edge"><title>Node20->Node12</title>
<path fill="none" stroke="midnightblue" d="M390.333,-663.779C409.658,-663.779 432.768,-663.779 454.27,-663.779"/>
<polygon fill="midnightblue" stroke="midnightblue" points="454.343,-667.279 464.343,-663.779 454.343,-660.279 454.343,-667.279"/>
</g>
</g>
</svg>