summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/adaptagrams/libcola/tests
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:24:48 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:24:48 +0000
commitcca66b9ec4e494c1d919bff0f71a820d8afab1fa (patch)
tree146f39ded1c938019e1ed42d30923c2ac9e86789 /src/3rdparty/adaptagrams/libcola/tests
parentInitial commit. (diff)
downloadinkscape-cca66b9ec4e494c1d919bff0f71a820d8afab1fa.tar.xz
inkscape-cca66b9ec4e494c1d919bff0f71a820d8afab1fa.zip
Adding upstream version 1.2.2.upstream/1.2.2upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/3rdparty/adaptagrams/libcola/tests')
-rwxr-xr-xsrc/3rdparty/adaptagrams/libcola/tests/FixedRelativeConstraint01.cpp51
-rw-r--r--src/3rdparty/adaptagrams/libcola/tests/Makefile.am68
-rwxr-xr-xsrc/3rdparty/adaptagrams/libcola/tests/StillOverlap01.cpp221
-rwxr-xr-xsrc/3rdparty/adaptagrams/libcola/tests/StillOverlap02.cpp1863
-rw-r--r--src/3rdparty/adaptagrams/libcola/tests/boundary.cpp121
-rw-r--r--src/3rdparty/adaptagrams/libcola/tests/connected_components.cpp69
-rw-r--r--src/3rdparty/adaptagrams/libcola/tests/constrained.cpp99
-rw-r--r--src/3rdparty/adaptagrams/libcola/tests/containment.cpp89
-rw-r--r--src/3rdparty/adaptagrams/libcola/tests/containment2.cpp157
-rw-r--r--src/3rdparty/adaptagrams/libcola/tests/convex_hull.cpp180
-rw-r--r--src/3rdparty/adaptagrams/libcola/tests/cycle_detector.cpp386
-rw-r--r--src/3rdparty/adaptagrams/libcola/tests/data/1138_bus.txt1458
-rw-r--r--src/3rdparty/adaptagrams/libcola/tests/data/uetzNetworkGSC-all.gml26139
-rw-r--r--src/3rdparty/adaptagrams/libcola/tests/gml_graph.cpp257
-rw-r--r--src/3rdparty/adaptagrams/libcola/tests/graphlayouttest.h275
-rw-r--r--src/3rdparty/adaptagrams/libcola/tests/initialOverlap.cpp168
-rw-r--r--src/3rdparty/adaptagrams/libcola/tests/invalid.cpp80
-rw-r--r--src/3rdparty/adaptagrams/libcola/tests/large_graph.cpp144
-rw-r--r--src/3rdparty/adaptagrams/libcola/tests/makefeasible.cpp368
-rwxr-xr-xsrc/3rdparty/adaptagrams/libcola/tests/makefeasible02.cpp932
-rw-r--r--src/3rdparty/adaptagrams/libcola/tests/makemovie.sh10
-rw-r--r--src/3rdparty/adaptagrams/libcola/tests/max_acyclic_subgraph.cpp346
-rw-r--r--src/3rdparty/adaptagrams/libcola/tests/overlappingClusters01.cpp333
-rw-r--r--src/3rdparty/adaptagrams/libcola/tests/overlappingClusters02.cpp100
-rw-r--r--src/3rdparty/adaptagrams/libcola/tests/overlappingClusters04.cpp61
-rw-r--r--src/3rdparty/adaptagrams/libcola/tests/page_bounds.cpp102
-rw-r--r--src/3rdparty/adaptagrams/libcola/tests/planar.cpp287
-rw-r--r--src/3rdparty/adaptagrams/libcola/tests/random_graph.cpp113
-rw-r--r--src/3rdparty/adaptagrams/libcola/tests/rectangularClusters01.cpp1135
-rw-r--r--src/3rdparty/adaptagrams/libcola/tests/rectclustershapecontainment.cpp2173
-rw-r--r--src/3rdparty/adaptagrams/libcola/tests/resize.cpp132
-rwxr-xr-xsrc/3rdparty/adaptagrams/libcola/tests/runtest.sh8
-rw-r--r--src/3rdparty/adaptagrams/libcola/tests/scale_free.cpp135
-rw-r--r--src/3rdparty/adaptagrams/libcola/tests/shortest_paths.cpp140
-rw-r--r--src/3rdparty/adaptagrams/libcola/tests/small_graph.cpp111
-rw-r--r--src/3rdparty/adaptagrams/libcola/tests/sparse_matrix.cpp88
-rw-r--r--src/3rdparty/adaptagrams/libcola/tests/test_cg.cpp164
-rw-r--r--src/3rdparty/adaptagrams/libcola/tests/topology.cpp177
-rw-r--r--src/3rdparty/adaptagrams/libcola/tests/trees.cpp103
-rw-r--r--src/3rdparty/adaptagrams/libcola/tests/unconstrained.cpp71
-rw-r--r--src/3rdparty/adaptagrams/libcola/tests/unsatisfiable.cpp85
-rwxr-xr-xsrc/3rdparty/adaptagrams/libcola/tests/view_cd_output.sh43
-rwxr-xr-xsrc/3rdparty/adaptagrams/libcola/tests/view_mas_output.sh43
43 files changed, 39085 insertions, 0 deletions
diff --git a/src/3rdparty/adaptagrams/libcola/tests/FixedRelativeConstraint01.cpp b/src/3rdparty/adaptagrams/libcola/tests/FixedRelativeConstraint01.cpp
new file mode 100755
index 0000000..378219e
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/FixedRelativeConstraint01.cpp
@@ -0,0 +1,51 @@
+#include <vector>
+#include "libcola/cola.h"
+using namespace cola;
+int main(void) {
+ CompoundConstraints ccs;
+ std::vector<Edge> es;
+ double defaultEdgeLength=40;
+ std::vector<vpsc::Rectangle*> rs;
+ vpsc::Rectangle *rect = nullptr;
+ std::vector<unsigned> fixedShapes;
+
+ double textW = 100;
+ double textH = 10;
+ double circleW = 5;
+ double circleH = 5;
+
+ rect = new vpsc::Rectangle(303-circleW, 303+circleW, 300-circleH, 300+circleH);
+ rs.push_back(rect);
+ fixedShapes.push_back(rs.size() - 1);
+
+ rect = new vpsc::Rectangle(310-circleW, 310+circleW, 302-circleH, 302+circleH);
+ rs.push_back(rect);
+ fixedShapes.push_back(rs.size() - 1);
+
+ rect = new vpsc::Rectangle(313-circleW, 313+circleW, 297-circleH, 297+circleH);
+ rs.push_back(rect);
+ fixedShapes.push_back(rs.size() - 1);
+
+ rect = new vpsc::Rectangle(300-textW, 300+textW, 300-textH, 300+textH);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(310-textW, 310+textW, 305-textH, 305+textH);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(317-textW, 317+textW, 295-textH, 295+textH);
+ rs.push_back(rect);
+
+ ConstrainedFDLayout alg(rs, es, defaultEdgeLength);
+ alg.setAvoidNodeOverlaps(true);
+
+ ccs.push_back(new FixedRelativeConstraint(rs, fixedShapes, true));
+ alg.setConstraints(ccs);
+
+ alg.makeFeasible();
+
+ // Can be used to output a "libcola-debug.svg" file:
+ //alg.outputInstanceToSVG();
+ alg.freeAssociatedObjects();
+
+ return 0;
+};
diff --git a/src/3rdparty/adaptagrams/libcola/tests/Makefile.am b/src/3rdparty/adaptagrams/libcola/tests/Makefile.am
new file mode 100644
index 0000000..a73ff82
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/Makefile.am
@@ -0,0 +1,68 @@
+AM_CPPFLAGS = -I$(top_srcdir) $(CAIROMM_CFLAGS)
+
+LDADD = \
+ $(top_builddir)/libvpsc/libvpsc.la \
+ $(top_builddir)/libtopology/libtopology.la \
+ $(top_builddir)/libcola/libcola.la \
+ $(top_builddir)/libavoid/libavoid.la \
+ $(CAIROMM_LIBS)
+
+check_PROGRAMS = random_graph page_bounds constrained unsatisfiable invalid makefeasible rectclustershapecontainment FixedRelativeConstraint01 StillOverlap01 StillOverlap02 shortest_paths rectangularClusters01 overlappingClusters01 overlappingClusters02 overlappingClusters04 initialOverlap
+#check_PROGRAMS = unconstrained constrained containment shortest_paths connected_components large_graph convex_hull scale_free trees random_graph large_graph topology boundary planar #resize
+#check_PROGRAMS = topology boundary planar resize resizealignment
+
+# problem_SOURCES = problem.cpp
+
+initialOverlap_SOURCES = initialOverlap.cpp
+
+overlappingClusters01_SOURCES = overlappingClusters01.cpp
+overlappingClusters02_SOURCES = overlappingClusters02.cpp
+overlappingClusters04_SOURCES = overlappingClusters04.cpp
+
+rectangularClusters01_SOURCES = rectangularClusters01.cpp
+
+StillOverlap01_SOURCES = StillOverlap01.cpp
+StillOverlap02_SOURCES = StillOverlap02.cpp
+
+FixedRelativeConstraint01_SOURCES = FixedRelativeConstraint01.cpp
+
+rectclustershapecontainment_SOURCES = rectclustershapecontainment.cpp
+
+random_graph_SOURCES = random_graph.cpp
+
+page_bounds_SOURCES = page_bounds.cpp
+
+constrained_SOURCES = constrained.cpp
+
+unsatisfiable_SOURCES = unsatisfiable.cpp
+
+invalid_SOURCES = invalid.cpp
+
+makefeasible_LDADD = $(LDADD) $(top_srcdir)/libavoid/libavoid.la
+makefeasible_SOURCES = makefeasible02.cpp
+
+shortest_paths_SOURCES = shortest_paths.cpp
+#unconstrained_SOURCES = unconstrained.cpp
+#containment_SOURCES = containment.cpp
+#topology_SOURCES = topology.cpp
+#boundary_SOURCES = boundary.cpp
+#resize_SOURCES = resize.cpp
+#resizealignment_SOURCES = resizealignment.cpp
+#planar_SOURCES = planar.cpp
+#connected_components_SOURCES = connected_components.cpp
+# test Requires boost
+#sparse_matrix_SOURCES = sparse_matrix.cpp
+#convex_hull_SOURCES = convex_hull.cpp
+#convex_hull_LDADD = $(LDADD) -lcairo -lcairomm-1.0
+#aarontest_SOURCES = aarontest.cpp
+#aarontest_LDADD = $(top_srcdir)/libcola/libcola.la $(top_builddir)/libvpsc/libvpsc.la -lcairo -lcairomm-1.0
+#qo1_SOURCES = qo1.c
+#qo1_LDADD = -L$(mosek_home)/bin -lmosek -lguide -limf
+#small_graph_SOURCES = small_graph.cpp
+#large_graph_SOURCES = large_graph.cpp
+#gml_graph_LDADD = $(common_LDADD) /usr/lib/libboost_regex.so
+#gml_graph_SOURCES = gml_graph.cpp
+#scale_free_SOURCES = scale_free.cpp
+#trees_SOURCES = trees.cpp
+
+TESTS = $(check_PROGRAMS)
diff --git a/src/3rdparty/adaptagrams/libcola/tests/StillOverlap01.cpp b/src/3rdparty/adaptagrams/libcola/tests/StillOverlap01.cpp
new file mode 100755
index 0000000..1b87767
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/StillOverlap01.cpp
@@ -0,0 +1,221 @@
+#include <vector>
+#include "libcola/cola.h"
+using namespace cola;
+int main(void) {
+ CompoundConstraints ccs;
+ std::vector<Edge> es;
+ double defaultEdgeLength=40;
+ std::vector<vpsc::Rectangle*> rs;
+ vpsc::Rectangle *rect = nullptr;
+
+ rect = new vpsc::Rectangle(210, 240, 83.5, 113.5);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(210, 240, 125.5, 155.5);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(377, 407, 43.5, 73.5);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(251, 281, 43.5, 73.5);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(110, 140, 43.5, 73.5);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(29, 79, 55.5, 105.5);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(427, 477, 32.5, 82.5);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(300, 350, 32.5, 82.5);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(171, 221, 32.5, 82.5);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(33, 83, 115.5, 165.5);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(522, 572, 115.5, 165.5);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(519, 569, 35.5, 85.5);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(192, 258, 123.5, 173.5);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(192, 258, 65.5, 115.5);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(359, 425, -16.5, 33.5);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(233, 299, -16.5, 33.5);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(154, 220, 33.5, 83.5);
+ rs.push_back(rect);
+
+ AlignmentConstraint *alignment140600592030544 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140600592030544->addShape(1, 0);
+ alignment140600592030544->addShape(0, 0);
+ ccs.push_back(alignment140600592030544);
+
+ AlignmentConstraint *alignment140600592030848 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140600592030848->addShape(2, 0);
+ ccs.push_back(alignment140600592030848);
+
+ AlignmentConstraint *alignment140600592031040 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140600592031040->addShape(3, 0);
+ ccs.push_back(alignment140600592031040);
+
+ AlignmentConstraint *alignment140600592031168 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140600592031168->addShape(4, 0);
+ ccs.push_back(alignment140600592031168);
+
+ AlignmentConstraint *alignment140600592031296 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140600592031296->addShape(5, 0);
+ ccs.push_back(alignment140600592031296);
+
+ AlignmentConstraint *alignment140600592031456 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140600592031456->addShape(6, 0);
+ ccs.push_back(alignment140600592031456);
+
+ AlignmentConstraint *alignment140600592031616 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140600592031616->addShape(7, 0);
+ ccs.push_back(alignment140600592031616);
+
+ AlignmentConstraint *alignment140600592031776 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140600592031776->addShape(8, 0);
+ ccs.push_back(alignment140600592031776);
+
+ AlignmentConstraint *alignment140600592031936 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140600592031936->addShape(9, 0);
+ ccs.push_back(alignment140600592031936);
+
+ AlignmentConstraint *alignment140600592032240 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140600592032240->addShape(10, 0);
+ ccs.push_back(alignment140600592032240);
+
+ AlignmentConstraint *alignment140600592032400 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140600592032400->addShape(11, 0);
+ ccs.push_back(alignment140600592032400);
+
+ SeparationConstraint *separation140600592044112 = new SeparationConstraint(vpsc::XDIM, alignment140600592031296, alignment140600592031936, 4, false);
+ ccs.push_back(separation140600592044112);
+
+ SeparationConstraint *separation140600592045280 = new SeparationConstraint(vpsc::XDIM, alignment140600592031936, alignment140600592031168, 67, false);
+ ccs.push_back(separation140600592045280);
+
+ SeparationConstraint *separation140600592045376 = new SeparationConstraint(vpsc::XDIM, alignment140600592031168, alignment140600592031776, 71, false);
+ ccs.push_back(separation140600592045376);
+
+ SeparationConstraint *separation140600592045520 = new SeparationConstraint(vpsc::XDIM, alignment140600592031776, alignment140600592030544, 29, false);
+ ccs.push_back(separation140600592045520);
+
+ SeparationConstraint *separation140600592045696 = new SeparationConstraint(vpsc::XDIM, alignment140600592030544, alignment140600592031040, 41, false);
+ ccs.push_back(separation140600592045696);
+
+ SeparationConstraint *separation140600592045872 = new SeparationConstraint(vpsc::XDIM, alignment140600592031040, alignment140600592031616, 59, false);
+ ccs.push_back(separation140600592045872);
+
+ SeparationConstraint *separation140600592043472 = new SeparationConstraint(vpsc::XDIM, alignment140600592031616, alignment140600592030848, 67, false);
+ ccs.push_back(separation140600592043472);
+
+ SeparationConstraint *separation140600592043648 = new SeparationConstraint(vpsc::XDIM, alignment140600592030848, alignment140600592031456, 60, false);
+ ccs.push_back(separation140600592043648);
+
+ SeparationConstraint *separation140600592043824 = new SeparationConstraint(vpsc::XDIM, alignment140600592031456, alignment140600592032400, 92, false);
+ ccs.push_back(separation140600592043824);
+
+ SeparationConstraint *separation140600592046048 = new SeparationConstraint(vpsc::XDIM, alignment140600592032400, alignment140600592032240, 3, false);
+ ccs.push_back(separation140600592046048);
+
+ AlignmentConstraint *alignment140600592044208 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140600592044208->addShape(0, 0);
+ ccs.push_back(alignment140600592044208);
+
+ AlignmentConstraint *alignment140600592044368 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140600592044368->addShape(5, 0);
+ ccs.push_back(alignment140600592044368);
+
+ AlignmentConstraint *alignment140600592044528 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140600592044528->addShape(1, 0);
+ alignment140600592044528->addShape(9, 0);
+ alignment140600592044528->addShape(10, 0);
+ ccs.push_back(alignment140600592044528);
+
+ AlignmentConstraint *alignment140600592044752 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140600592044752->addShape(6, 0);
+ alignment140600592044752->addShape(4, 0);
+ alignment140600592044752->addShape(7, 0);
+ alignment140600592044752->addShape(8, 0);
+ alignment140600592044752->addShape(3, 0);
+ alignment140600592044752->addShape(11, 0);
+ alignment140600592044752->addShape(2, 0);
+ ccs.push_back(alignment140600592044752);
+
+ SeparationConstraint *separation140600592045088 = new SeparationConstraint(vpsc::YDIM, alignment140600592044752, alignment140600592044368, 22.1429, false);
+ ccs.push_back(separation140600592045088);
+
+ SeparationConstraint *separation140600590330720 = new SeparationConstraint(vpsc::YDIM, alignment140600592044368, alignment140600592044208, 18, false);
+ ccs.push_back(separation140600590330720);
+
+ SeparationConstraint *separation140600590330896 = new SeparationConstraint(vpsc::YDIM, alignment140600592044208, alignment140600592044528, 42, false);
+ ccs.push_back(separation140600590330896);
+
+ AlignmentConstraint *alignment140600590331072 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140600590331072->addShape(0, 0);
+ alignment140600590331072->addShape(12, 0);
+ ccs.push_back(alignment140600590331072);
+
+ SeparationConstraint *separation140600590331376 = new SeparationConstraint(vpsc::YDIM, 0, 12, 50, true);
+ ccs.push_back(separation140600590331376);
+
+ AlignmentConstraint *alignment140600590331520 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140600590331520->addShape(1, 0);
+ alignment140600590331520->addShape(13, 0);
+ ccs.push_back(alignment140600590331520);
+
+ SeparationConstraint *separation140600590331744 = new SeparationConstraint(vpsc::YDIM, 1, 13, -50, true);
+ ccs.push_back(separation140600590331744);
+
+ AlignmentConstraint *alignment140600590331888 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140600590331888->addShape(2, 0);
+ alignment140600590331888->addShape(14, 0);
+ ccs.push_back(alignment140600590331888);
+
+ SeparationConstraint *separation140600590332112 = new SeparationConstraint(vpsc::YDIM, 2, 14, -50, true);
+ ccs.push_back(separation140600590332112);
+
+ AlignmentConstraint *alignment140600592043200 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140600592043200->addShape(3, 0);
+ alignment140600592043200->addShape(15, 0);
+ ccs.push_back(alignment140600592043200);
+
+ SeparationConstraint *separation140600590332784 = new SeparationConstraint(vpsc::YDIM, 3, 15, -50, true);
+ ccs.push_back(separation140600590332784);
+
+ AlignmentConstraint *alignment140600590332880 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140600590332880->addShape(4, 0);
+ alignment140600590332880->addShape(16, 0);
+ ccs.push_back(alignment140600590332880);
+
+ SeparationConstraint *separation140600590333104 = new SeparationConstraint(vpsc::XDIM, 4, 16, 62, true);
+ ccs.push_back(separation140600590333104);
+
+ ConstrainedFDLayout alg(rs, es, defaultEdgeLength);
+ alg.setAvoidNodeOverlaps(true);
+ RootCluster *cluster140600590333360 = new RootCluster();
+ alg.setClusterHierarchy(cluster140600590333360);
+ alg.setConstraints(ccs);
+ alg.makeFeasible();
+ alg.run();
+ alg.outputInstanceToSVG("test-StillOverlap01");
+ alg.freeAssociatedObjects();
+ return 0;
+};
+
diff --git a/src/3rdparty/adaptagrams/libcola/tests/StillOverlap02.cpp b/src/3rdparty/adaptagrams/libcola/tests/StillOverlap02.cpp
new file mode 100755
index 0000000..c45eef6
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/StillOverlap02.cpp
@@ -0,0 +1,1863 @@
+#include <vector>
+#include "libcola/cola.h"
+using namespace cola;
+int main(void) {
+ CompoundConstraints ccs;
+ std::vector<Edge> es;
+ double defaultEdgeLength=40;
+ std::vector<vpsc::Rectangle*> rs;
+ vpsc::Rectangle *rect = nullptr;
+
+ rect = new vpsc::Rectangle(80.8448, 110.845, -23.9565, 6.04346);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(-121.155, 128.845, -212.957, -142.957);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(209.095, 239.095, -389.957, -359.957);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(209.095, 239.095, -240.957, -210.957);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(274.428, 304.428, -130.957, -100.957);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(140.845, 170.845, -78.9565, -48.9565);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(80.8448, 110.845, -55.9565, -25.9565);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(501.428, 531.428, -232.623, -202.623);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(501.428, 531.428, -140.623, -110.623);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(485.428, 515.428, -33.3565, -3.35654);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(737.928, 767.928, -133.957, -103.957);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(140.845, 170.845, 314.043, 344.043);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(375.428, 405.428, 191.443, 221.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(443.428, 473.428, 202.243, 232.243);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(558.428, 588.428, 136.777, 166.777);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(634.214, 664.214, 136.777, 166.777);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(764.214, 794.214, 136.777, 166.777);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(819.095, 849.095, 156.443, 186.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(853.595, 883.595, 76.0435, 106.043);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(711.928, 741.928, 202.243, 232.243);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(542.428, 572.428, 280.443, 310.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(296.428, 326.428, 440.943, 470.943);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(202.428, 232.428, 693.943, 723.943);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(407.428, 473.428, 685.943, 735.943);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(375.428, 405.428, 693.943, 723.943);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(542.428, 572.428, 632.443, 662.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(517.428, 547.428, 444.443, 474.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(566.928, 596.928, 444.443, 474.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(879.345, 909.345, 280.443, 310.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(879.345, 909.345, 478.443, 508.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(836.095, 866.095, 332.443, 362.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(797.928, 827.928, 436.443, 466.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(55.8448, 85.8448, 507.443, 537.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(375.428, 405.428, 1026.76, 1056.76);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(375.428, 405.428, 1074.76, 1104.76);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(-102.489, -72.4885, 1051.76, 1081.76);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(797.928, 827.928, 802.515, 832.515);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(839.928, 1079.93, 198.443, 268.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(768, 1008, 844.515, 914.515);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(626.928, 656.928, 972.765, 1002.76);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(426.956, 456.956, 972.765, 1002.76);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(224.428, 254.428, 972.765, 1002.76);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(375.428, 405.428, 870.765, 900.765);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(255.428, 285.428, 870.765, 900.765);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(744.928, 774.928, 332.443, 362.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(30, 354, -347.957, -302.957);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(-183.905, 137.095, 68.0435, 252.043);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(375.428, 405.428, 530.443, 560.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(375.428, 405.428, 332.443, 362.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(1.84481, 31.8448, 870.765, 900.765);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(127.095, 157.095, 870.765, 900.765);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(991.345, 1021.34, 478.443, 508.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(991.345, 1021.34, 600.443, 630.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(38.8448, 68.8448, 693.943, 723.943);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(-58.1552, -28.1552, 768.765, 798.765);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(130.845, 180.845, -399.957, -349.957);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(130.845, 180.845, -250.957, -200.957);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(-112.489, -62.4885, -43.3565, 6.64346);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(289.428, 339.428, 192.243, 242.243);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(532.428, 582.428, 192.243, 242.243);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(567.428, 617.428, -150.623, -100.623);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(843.595, 893.595, -150.623, -100.623);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(616.928, 666.928, -43.3565, 6.64346);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(787.928, 837.928, -43.3565, 6.64346);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(869.345, 919.345, 520.443, 570.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(289.428, 339.428, 322.443, 372.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(130.845, 180.845, 430.943, 480.943);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(869.345, 919.345, 374.443, 424.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(286.428, 336.428, 683.943, 733.943);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(130.845, 180.845, 520.443, 570.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(130.845, 180.845, 1116.76, 1166.76);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(676.928, 726.928, 962.765, 1012.76);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(520.428, 570.428, 962.765, 1012.76);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(336.428, 386.428, 962.765, 1012.76);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(676.928, 726.928, 860.765, 910.765);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(130.845, 180.845, 1064.76, 1114.76);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(425.428, 475.428, 860.765, 910.765);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(305.428, 355.428, 860.765, 910.765);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(787.928, 837.928, 1064.76, 1114.76);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(532.428, 582.428, 520.443, 570.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(787.928, 837.928, 192.243, 242.243);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(295.428, 345.428, 520.443, 570.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(475.428, 525.428, 683.943, 733.943);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(113.095, 163.095, 683.943, 733.943);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(-19.1552, 30.8448, 520.443, 570.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(295.428, 345.428, 572.443, 622.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(295.428, 345.428, 631.943, 681.943);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(289.428, 339.428, -43.3565, 6.64346);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(177.428, 227.428, 860.765, 910.765);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(289.428, 339.428, -250.957, -200.957);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(532.428, 582.428, 322.443, 372.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(787.928, 837.928, 622.443, 672.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(556.928, 606.928, 860.765, 910.765);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(139.095, 189.095, 66.0435, 116.043);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(-68.1552, -18.1552, 683.943, 733.943);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(425.428, 475.428, 758.765, 808.765);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(177.428, 227.428, 758.765, 808.765);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(51.8448, 101.845, 860.765, 910.765);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(-68.1552, -18.1552, 860.765, 910.765);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(305.428, 355.428, 758.765, 808.765);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(616.928, 666.928, 218.443, 268.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(981.345, 1031.34, 520.443, 570.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(981.345, 1031.34, 656.943, 706.943);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(592.428, 839.428, 486.443, 556.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(626.928, 656.928, 596.443, 626.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(616.928, 666.928, 656.943, 706.943);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(616.928, 666.928, 750.515, 800.515);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(626.928, 656.928, 717.515, 747.515);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(209.095, 239.095, 76.0435, 106.043);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(62.8448, 128.845, 16.0435, 66.0435);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(191.095, 257.095, -449.957, -399.957);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(191.095, 257.095, -300.957, -250.957);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(194.428, 260.428, -140.957, -90.9565);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(184.845, 250.845, -88.9565, -38.9565);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(62.8448, 128.845, -115.957, -65.9565);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(483.428, 549.428, -292.623, -242.623);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(483.428, 549.428, -200.623, -150.623);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(467.428, 533.428, -93.3565, -43.3565);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(719.928, 785.928, -93.9565, -43.9565);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(122.845, 188.845, 254.043, 304.043);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(357.428, 423.428, 131.443, 181.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(425.428, 491.428, 142.243, 192.243);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(540.428, 606.428, 76.7768, 126.777);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(616.214, 682.214, 76.7768, 126.777);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(684.214, 750.214, 126.777, 176.777);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(863.095, 929.095, 146.443, 196.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(897.595, 963.595, 66.0435, 116.043);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(693.928, 759.928, 242.243, 292.243);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(586.428, 652.428, 270.443, 320.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(278.428, 344.428, 380.943, 430.943);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(184.428, 250.428, 633.943, 683.943);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(357.428, 423.428, 633.943, 683.943);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(524.428, 590.428, 572.443, 622.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(437.428, 503.428, 434.443, 484.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(610.928, 676.928, 434.443, 484.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(923.345, 989.345, 270.443, 320.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(923.345, 989.345, 468.443, 518.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(880.095, 946.095, 322.443, 372.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(841.928, 907.928, 426.443, 476.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(37.8448, 103.845, 447.443, 497.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(357.428, 423.428, 1066.76, 1116.76);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(357.428, 423.428, 1014.76, 1064.76);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(-58.4885, 7.51148, 1041.76, 1091.76);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(841.928, 907.928, 792.515, 842.515);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(608.928, 674.928, 912.765, 962.765);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(408.956, 474.956, 912.765, 962.765);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(268.428, 334.428, 962.765, 1012.76);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(357.428, 423.428, 810.765, 860.765);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(237.428, 303.428, 810.765, 860.765);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(664.928, 730.928, 322.443, 372.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(357.428, 423.428, 470.443, 520.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(357.428, 423.428, 272.443, 322.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(-16.1552, 49.8448, 810.765, 860.765);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(109.095, 175.095, 810.765, 860.765);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(1035.34, 1101.34, 468.443, 518.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(1035.34, 1101.34, 590.443, 640.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(20.8448, 86.8448, 633.943, 683.943);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(-14.1552, 51.8448, 758.765, 808.765);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(670.928, 736.928, 586.443, 636.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(670.928, 736.928, 707.515, 757.515);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(191.095, 257.095, 16.0435, 66.0435);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(58.8448, 128.845, -192.957, -142.957);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(839.928, 909.928, 218.443, 268.443);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(768.5, 838.5, 844.515, 894.515);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(67.0948, 137.095, 150.043, 200.043);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(67.0948, 137.095, 202.043, 252.043);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(-36.9052, 13.0948, 182.043, 252.043);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(15.0948, 65.0948, 182.043, 252.043);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(592.428, 662.428, 486.443, 536.443);
+ rs.push_back(rect);
+
+ AlignmentConstraint *alignment1114387328 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1114387328->addShape(4, 0);
+ ccs.push_back(alignment1114387328);
+
+ AlignmentConstraint *alignment1103856272 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1103856272->addShape(0, 0);
+ alignment1103856272->addShape(6, 0);
+ ccs.push_back(alignment1103856272);
+
+ AlignmentConstraint *alignment1102536224 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1102536224->addShape(7, 0);
+ alignment1102536224->addShape(8, 0);
+ ccs.push_back(alignment1102536224);
+
+ AlignmentConstraint *alignment1113412976 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1113412976->addShape(10, 0);
+ ccs.push_back(alignment1113412976);
+
+ AlignmentConstraint *alignment1103859296 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1103859296->addShape(13, 0);
+ ccs.push_back(alignment1103859296);
+
+ AlignmentConstraint *alignment1108560576 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1108560576->addShape(14, 0);
+ ccs.push_back(alignment1108560576);
+
+ AlignmentConstraint *alignment1102536400 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1102536400->addShape(15, 0);
+ ccs.push_back(alignment1102536400);
+
+ AlignmentConstraint *alignment1102857472 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1102857472->addShape(16, 0);
+ ccs.push_back(alignment1102857472);
+
+ AlignmentConstraint *alignment1103856000 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1103856000->addShape(17, 0);
+ ccs.push_back(alignment1103856000);
+
+ AlignmentConstraint *alignment1103638512 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1103638512->addShape(19, 0);
+ ccs.push_back(alignment1103638512);
+
+ AlignmentConstraint *alignment1103638608 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1103638608->addShape(22, 0);
+ ccs.push_back(alignment1103638608);
+
+ AlignmentConstraint *alignment1095948608 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1095948608->addShape(26, 0);
+ ccs.push_back(alignment1095948608);
+
+ AlignmentConstraint *alignment1095948704 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1095948704->addShape(30, 0);
+ ccs.push_back(alignment1095948704);
+
+ AlignmentConstraint *alignment1109826288 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1109826288->addShape(32, 0);
+ ccs.push_back(alignment1109826288);
+
+ AlignmentConstraint *alignment1109826384 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1109826384->addShape(40, 0);
+ ccs.push_back(alignment1109826384);
+
+ AlignmentConstraint *alignment1110086352 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1110086352->addShape(41, 0);
+ ccs.push_back(alignment1110086352);
+
+ AlignmentConstraint *alignment1110086480 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1110086480->addShape(43, 0);
+ ccs.push_back(alignment1110086480);
+
+ AlignmentConstraint *alignment1100384896 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1100384896->addShape(44, 0);
+ ccs.push_back(alignment1100384896);
+
+ AlignmentConstraint *alignment1100385056 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1100385056->addShape(33, 0);
+ alignment1100385056->addShape(42, 0);
+ alignment1100385056->addShape(48, 0);
+ alignment1100385056->addShape(12, 0);
+ alignment1100385056->addShape(47, 0);
+ alignment1100385056->addShape(34, 0);
+ alignment1100385056->addShape(24, 0);
+ ccs.push_back(alignment1100385056);
+
+ AlignmentConstraint *alignment1114389776 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1114389776->addShape(49, 0);
+ ccs.push_back(alignment1114389776);
+
+ AlignmentConstraint *alignment1114389936 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1114389936->addShape(50, 0);
+ ccs.push_back(alignment1114389936);
+
+ AlignmentConstraint *alignment1103858368 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1103858368->addShape(53, 0);
+ ccs.push_back(alignment1103858368);
+
+ AlignmentConstraint *alignment1103858496 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1103858496->addShape(35, 0);
+ alignment1103858496->addShape(57, 0);
+ ccs.push_back(alignment1103858496);
+
+ AlignmentConstraint *alignment1103858720 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1103858720->addShape(60, 0);
+ ccs.push_back(alignment1103858720);
+
+ AlignmentConstraint *alignment1103857616 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1103857616->addShape(61, 0);
+ alignment1103857616->addShape(18, 0);
+ ccs.push_back(alignment1103857616);
+
+ AlignmentConstraint *alignment1103857840 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1103857840->addShape(64, 0);
+ alignment1103857840->addShape(28, 0);
+ alignment1103857840->addShape(67, 0);
+ alignment1103857840->addShape(29, 0);
+ ccs.push_back(alignment1103857840);
+
+ AlignmentConstraint *alignment1103858032 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1103858032->addShape(68, 0);
+ alignment1103858032->addShape(21, 0);
+ ccs.push_back(alignment1103858032);
+
+ AlignmentConstraint *alignment1103741312 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1103741312->addShape(72, 0);
+ ccs.push_back(alignment1103741312);
+
+ AlignmentConstraint *alignment1103741440 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1103741440->addShape(73, 0);
+ ccs.push_back(alignment1103741440);
+
+ AlignmentConstraint *alignment1103741600 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1103741600->addShape(71, 0);
+ alignment1103741600->addShape(74, 0);
+ ccs.push_back(alignment1103741600);
+
+ AlignmentConstraint *alignment1103741824 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1103741824->addShape(66, 0);
+ alignment1103741824->addShape(56, 0);
+ alignment1103741824->addShape(70, 0);
+ alignment1103741824->addShape(69, 0);
+ alignment1103741824->addShape(5, 0);
+ alignment1103741824->addShape(11, 0);
+ alignment1103741824->addShape(55, 0);
+ alignment1103741824->addShape(75, 0);
+ ccs.push_back(alignment1103741824);
+
+ AlignmentConstraint *alignment1103742144 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1103742144->addShape(9, 0);
+ alignment1103742144->addShape(82, 0);
+ ccs.push_back(alignment1103742144);
+
+ AlignmentConstraint *alignment1103743632 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1103743632->addShape(83, 0);
+ ccs.push_back(alignment1103743632);
+
+ AlignmentConstraint *alignment1113416080 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1113416080->addShape(84, 0);
+ ccs.push_back(alignment1113416080);
+
+ AlignmentConstraint *alignment1113416240 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1113416240->addShape(81, 0);
+ alignment1113416240->addShape(85, 0);
+ alignment1113416240->addShape(86, 0);
+ ccs.push_back(alignment1113416240);
+
+ AlignmentConstraint *alignment1103744288 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1103744288->addShape(87, 0);
+ alignment1103744288->addShape(89, 0);
+ alignment1103744288->addShape(58, 0);
+ alignment1103744288->addShape(65, 0);
+ ccs.push_back(alignment1103744288);
+
+ AlignmentConstraint *alignment1103744448 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1103744448->addShape(79, 0);
+ alignment1103744448->addShape(59, 0);
+ alignment1103744448->addShape(90, 0);
+ alignment1103744448->addShape(25, 0);
+ alignment1103744448->addShape(20, 0);
+ ccs.push_back(alignment1103744448);
+
+ AlignmentConstraint *alignment1103744704 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1103744704->addShape(80, 0);
+ alignment1103744704->addShape(91, 0);
+ alignment1103744704->addShape(63, 0);
+ alignment1103744704->addShape(31, 0);
+ alignment1103744704->addShape(78, 0);
+ alignment1103744704->addShape(36, 0);
+ ccs.push_back(alignment1103744704);
+
+ AlignmentConstraint *alignment1103744992 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1103744992->addShape(27, 0);
+ alignment1103744992->addShape(92, 0);
+ ccs.push_back(alignment1103744992);
+
+ AlignmentConstraint *alignment1114376272 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1114376272->addShape(93, 0);
+ ccs.push_back(alignment1114376272);
+
+ AlignmentConstraint *alignment1114376400 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1114376400->addShape(95, 0);
+ alignment1114376400->addShape(76, 0);
+ ccs.push_back(alignment1114376400);
+
+ AlignmentConstraint *alignment1114376624 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1114376624->addShape(96, 0);
+ alignment1114376624->addShape(88, 0);
+ ccs.push_back(alignment1114376624);
+
+ AlignmentConstraint *alignment1114376816 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1114376816->addShape(97, 0);
+ ccs.push_back(alignment1114376816);
+
+ AlignmentConstraint *alignment1114376944 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1114376944->addShape(94, 0);
+ alignment1114376944->addShape(54, 0);
+ alignment1114376944->addShape(98, 0);
+ ccs.push_back(alignment1114376944);
+
+ AlignmentConstraint *alignment1114377168 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1114377168->addShape(77, 0);
+ alignment1114377168->addShape(99, 0);
+ ccs.push_back(alignment1114377168);
+
+ AlignmentConstraint *alignment1114377360 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1114377360->addShape(51, 0);
+ alignment1114377360->addShape(101, 0);
+ alignment1114377360->addShape(102, 0);
+ alignment1114377360->addShape(52, 0);
+ ccs.push_back(alignment1114377360);
+
+ AlignmentConstraint *alignment1114377600 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1114377600->addShape(107, 0);
+ alignment1114377600->addShape(62, 0);
+ alignment1114377600->addShape(105, 0);
+ alignment1114377600->addShape(106, 0);
+ alignment1114377600->addShape(104, 0);
+ alignment1114377600->addShape(39, 0);
+ alignment1114377600->addShape(100, 0);
+ ccs.push_back(alignment1114377600);
+
+ AlignmentConstraint *alignment1114378048 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1114378048->addShape(3, 0);
+ alignment1114378048->addShape(2, 0);
+ alignment1114378048->addShape(108, 0);
+ ccs.push_back(alignment1114378048);
+
+ SeparationConstraint *separation1114378272 = new SeparationConstraint(vpsc::XDIM, alignment1103858496, alignment1114376944, 44.3333, false);
+ ccs.push_back(separation1114378272);
+
+ SeparationConstraint *separation1114378416 = new SeparationConstraint(vpsc::XDIM, alignment1114376944, alignment1113416080, 24.6667, false);
+ ccs.push_back(separation1114378416);
+
+ SeparationConstraint *separation1114378592 = new SeparationConstraint(vpsc::XDIM, alignment1113416080, alignment1114389776, 11, false);
+ ccs.push_back(separation1114378592);
+
+ SeparationConstraint *separation1114378768 = new SeparationConstraint(vpsc::XDIM, alignment1114389776, alignment1103858368, 23, false);
+ ccs.push_back(separation1114378768);
+
+ SeparationConstraint *separation1114378944 = new SeparationConstraint(vpsc::XDIM, alignment1103858368, alignment1109826288, 17, false);
+ ccs.push_back(separation1114378944);
+
+ SeparationConstraint *separation1114379120 = new SeparationConstraint(vpsc::XDIM, alignment1109826288, alignment1114376816, 6, false);
+ ccs.push_back(separation1114379120);
+
+ SeparationConstraint *separation1114379296 = new SeparationConstraint(vpsc::XDIM, alignment1114376816, alignment1103856272, 19, false);
+ ccs.push_back(separation1114379296);
+
+ SeparationConstraint *separation1114379472 = new SeparationConstraint(vpsc::XDIM, alignment1103856272, alignment1103743632, 14, false);
+ ccs.push_back(separation1114379472);
+
+ SeparationConstraint *separation1114379648 = new SeparationConstraint(vpsc::XDIM, alignment1103743632, alignment1114389936, 4, false);
+ ccs.push_back(separation1114379648);
+
+ SeparationConstraint *separation1114379824 = new SeparationConstraint(vpsc::XDIM, alignment1114389936, alignment1103741824, 13.75, false);
+ ccs.push_back(separation1114379824);
+
+ SeparationConstraint *separation1114380000 = new SeparationConstraint(vpsc::XDIM, alignment1103741824, alignment1114376272, 8.25, false);
+ ccs.push_back(separation1114380000);
+
+ SeparationConstraint *separation1114380176 = new SeparationConstraint(vpsc::XDIM, alignment1114376272, alignment1114376624, 23, false);
+ ccs.push_back(separation1114380176);
+
+ SeparationConstraint *separation1114380352 = new SeparationConstraint(vpsc::XDIM, alignment1114376624, alignment1103638608, 15, false);
+ ccs.push_back(separation1114380352);
+
+ SeparationConstraint *separation1114380528 = new SeparationConstraint(vpsc::XDIM, alignment1103638608, alignment1114378048, 6.66667, false);
+ ccs.push_back(separation1114380528);
+
+ SeparationConstraint *separation1114380704 = new SeparationConstraint(vpsc::XDIM, alignment1114378048, alignment1110086352, 15.3333, false);
+ ccs.push_back(separation1114380704);
+
+ SeparationConstraint *separation1114380880 = new SeparationConstraint(vpsc::XDIM, alignment1110086352, alignment1110086480, 8, false);
+ ccs.push_back(separation1114380880);
+
+ SeparationConstraint *separation1114381056 = new SeparationConstraint(vpsc::XDIM, alignment1110086480, alignment1114387328, 5, false);
+ ccs.push_back(separation1114381056);
+
+ SeparationConstraint *separation1116666144 = new SeparationConstraint(vpsc::XDIM, alignment1114387328, alignment1103858032, 22, false);
+ ccs.push_back(separation1116666144);
+
+ SeparationConstraint *separation1103743760 = new SeparationConstraint(vpsc::XDIM, alignment1103858032, alignment1103744288, 3, false);
+ ccs.push_back(separation1103743760);
+
+ SeparationConstraint *separation1103743904 = new SeparationConstraint(vpsc::XDIM, alignment1103744288, alignment1113416240, 6, false);
+ ccs.push_back(separation1103743904);
+
+ SeparationConstraint *separation1103744080 = new SeparationConstraint(vpsc::XDIM, alignment1113416240, alignment1114377168, 10, false);
+ ccs.push_back(separation1103744080);
+
+ SeparationConstraint *separation1114381232 = new SeparationConstraint(vpsc::XDIM, alignment1114377168, alignment1103741440, 17, false);
+ ccs.push_back(separation1114381232);
+
+ SeparationConstraint *separation1114381376 = new SeparationConstraint(vpsc::XDIM, alignment1103741440, alignment1100385056, 29, false);
+ ccs.push_back(separation1114381376);
+
+ SeparationConstraint *separation1114381552 = new SeparationConstraint(vpsc::XDIM, alignment1100385056, alignment1109826384, 41, false);
+ ccs.push_back(separation1114381552);
+
+ SeparationConstraint *separation1114381728 = new SeparationConstraint(vpsc::XDIM, alignment1109826384, alignment1114376400, 4, false);
+ ccs.push_back(separation1114381728);
+
+ SeparationConstraint *separation1114370064 = new SeparationConstraint(vpsc::XDIM, alignment1114376400, alignment1103859296, 3, false);
+ ccs.push_back(separation1114370064);
+
+ SeparationConstraint *separation1114370240 = new SeparationConstraint(vpsc::XDIM, alignment1103859296, alignment1103742144, 7, false);
+ ccs.push_back(separation1114370240);
+
+ SeparationConstraint *separation1114370416 = new SeparationConstraint(vpsc::XDIM, alignment1103742144, alignment1102536224, 16, false);
+ ccs.push_back(separation1114370416);
+
+ SeparationConstraint *separation1114370592 = new SeparationConstraint(vpsc::XDIM, alignment1102536224, alignment1095948608, 16, false);
+ ccs.push_back(separation1114370592);
+
+ SeparationConstraint *separation1114370768 = new SeparationConstraint(vpsc::XDIM, alignment1095948608, alignment1103741312, 13, false);
+ ccs.push_back(separation1114370768);
+
+ SeparationConstraint *separation1114370944 = new SeparationConstraint(vpsc::XDIM, alignment1103741312, alignment1103744448, 12, false);
+ ccs.push_back(separation1114370944);
+
+ SeparationConstraint *separation1114371120 = new SeparationConstraint(vpsc::XDIM, alignment1103744448, alignment1108560576, 16, false);
+ ccs.push_back(separation1114371120);
+
+ SeparationConstraint *separation1114371296 = new SeparationConstraint(vpsc::XDIM, alignment1108560576, alignment1103744992, 8.5, false);
+ ccs.push_back(separation1114371296);
+
+ SeparationConstraint *separation1114371472 = new SeparationConstraint(vpsc::XDIM, alignment1103744992, alignment1103858720, 10.5, false);
+ ccs.push_back(separation1114371472);
+
+ SeparationConstraint *separation1114371648 = new SeparationConstraint(vpsc::XDIM, alignment1103858720, alignment1114377600, 23.7143, false);
+ ccs.push_back(separation1114371648);
+
+ SeparationConstraint *separation1114371824 = new SeparationConstraint(vpsc::XDIM, alignment1114377600, alignment1102536400, 7.28571, false);
+ ccs.push_back(separation1114371824);
+
+ SeparationConstraint *separation1114372000 = new SeparationConstraint(vpsc::XDIM, alignment1102536400, alignment1103741600, 49, false);
+ ccs.push_back(separation1114372000);
+
+ SeparationConstraint *separation1114372176 = new SeparationConstraint(vpsc::XDIM, alignment1103741600, alignment1103638512, 25, false);
+ ccs.push_back(separation1114372176);
+
+ SeparationConstraint *separation1114372352 = new SeparationConstraint(vpsc::XDIM, alignment1103638512, alignment1113412976, 26, false);
+ ccs.push_back(separation1114372352);
+
+ SeparationConstraint *separation1114372528 = new SeparationConstraint(vpsc::XDIM, alignment1113412976, alignment1100384896, 7, false);
+ ccs.push_back(separation1114372528);
+
+ SeparationConstraint *separation1114372704 = new SeparationConstraint(vpsc::XDIM, alignment1100384896, alignment1102857472, 15, false);
+ ccs.push_back(separation1114372704);
+
+ SeparationConstraint *separation1114372880 = new SeparationConstraint(vpsc::XDIM, alignment1102857472, alignment1103744704, 21.8333, false);
+ ccs.push_back(separation1114372880);
+
+ SeparationConstraint *separation1114373056 = new SeparationConstraint(vpsc::XDIM, alignment1103744704, alignment1103856000, 21.1667, false);
+ ccs.push_back(separation1114373056);
+
+ SeparationConstraint *separation1114373232 = new SeparationConstraint(vpsc::XDIM, alignment1103856000, alignment1095948704, 17, false);
+ ccs.push_back(separation1114373232);
+
+ SeparationConstraint *separation1114373408 = new SeparationConstraint(vpsc::XDIM, alignment1095948704, alignment1103857616, 17.5, false);
+ ccs.push_back(separation1114373408);
+
+ SeparationConstraint *separation1114373584 = new SeparationConstraint(vpsc::XDIM, alignment1103857616, alignment1103857840, 25.75, false);
+ ccs.push_back(separation1114373584);
+
+ SeparationConstraint *separation1114373760 = new SeparationConstraint(vpsc::XDIM, alignment1103857840, alignment1114377360, 52.25, false);
+ ccs.push_back(separation1114373760);
+
+ AlignmentConstraint *alignment1114373936 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1114373936->addShape(0, 0);
+ ccs.push_back(alignment1114373936);
+
+ AlignmentConstraint *alignment1114374096 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1114374096->addShape(4, 0);
+ ccs.push_back(alignment1114374096);
+
+ AlignmentConstraint *alignment1114374256 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1114374256->addShape(5, 0);
+ ccs.push_back(alignment1114374256);
+
+ AlignmentConstraint *alignment1114374416 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1114374416->addShape(6, 0);
+ ccs.push_back(alignment1114374416);
+
+ AlignmentConstraint *alignment1114374576 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1114374576->addShape(7, 0);
+ ccs.push_back(alignment1114374576);
+
+ AlignmentConstraint *alignment1114374736 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1114374736->addShape(10, 0);
+ ccs.push_back(alignment1114374736);
+
+ AlignmentConstraint *alignment1114374896 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1114374896->addShape(11, 0);
+ ccs.push_back(alignment1114374896);
+
+ AlignmentConstraint *alignment1114375056 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1114375056->addShape(12, 0);
+ ccs.push_back(alignment1114375056);
+
+ AlignmentConstraint *alignment1114375216 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1114375216->addShape(15, 0);
+ alignment1114375216->addShape(16, 0);
+ alignment1114375216->addShape(14, 0);
+ ccs.push_back(alignment1114375216);
+
+ AlignmentConstraint *alignment1114375488 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1114375488->addShape(17, 0);
+ ccs.push_back(alignment1114375488);
+
+ AlignmentConstraint *alignment1114375616 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1114375616->addShape(26, 0);
+ alignment1114375616->addShape(27, 0);
+ ccs.push_back(alignment1114375616);
+
+ AlignmentConstraint *alignment1114375840 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1114375840->addShape(28, 0);
+ alignment1114375840->addShape(20, 0);
+ ccs.push_back(alignment1114375840);
+
+ AlignmentConstraint *alignment1114429984 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1114429984->addShape(31, 0);
+ ccs.push_back(alignment1114429984);
+
+ AlignmentConstraint *alignment1114430112 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1114430112->addShape(32, 0);
+ ccs.push_back(alignment1114430112);
+
+ AlignmentConstraint *alignment1114430272 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1114430272->addShape(33, 0);
+ ccs.push_back(alignment1114430272);
+
+ AlignmentConstraint *alignment1114430432 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1114430432->addShape(35, 0);
+ ccs.push_back(alignment1114430432);
+
+ AlignmentConstraint *alignment1114430592 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1114430592->addShape(36, 0);
+ ccs.push_back(alignment1114430592);
+
+ AlignmentConstraint *alignment1114430752 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1114430752->addShape(51, 0);
+ alignment1114430752->addShape(29, 0);
+ ccs.push_back(alignment1114430752);
+
+ AlignmentConstraint *alignment1114430976 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1114430976->addShape(52, 0);
+ ccs.push_back(alignment1114430976);
+
+ AlignmentConstraint *alignment1114431104 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1114431104->addShape(55, 0);
+ alignment1114431104->addShape(2, 0);
+ ccs.push_back(alignment1114431104);
+
+ AlignmentConstraint *alignment1114431328 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1114431328->addShape(61, 0);
+ alignment1114431328->addShape(60, 0);
+ alignment1114431328->addShape(8, 0);
+ ccs.push_back(alignment1114431328);
+
+ AlignmentConstraint *alignment1114431568 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1114431568->addShape(66, 0);
+ alignment1114431568->addShape(21, 0);
+ ccs.push_back(alignment1114431568);
+
+ AlignmentConstraint *alignment1114431760 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1114431760->addShape(67, 0);
+ ccs.push_back(alignment1114431760);
+
+ AlignmentConstraint *alignment1114431888 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1114431888->addShape(70, 0);
+ ccs.push_back(alignment1114431888);
+
+ AlignmentConstraint *alignment1114432048 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1114432048->addShape(71, 0);
+ alignment1114432048->addShape(73, 0);
+ alignment1114432048->addShape(40, 0);
+ alignment1114432048->addShape(72, 0);
+ alignment1114432048->addShape(41, 0);
+ alignment1114432048->addShape(39, 0);
+ ccs.push_back(alignment1114432048);
+
+ AlignmentConstraint *alignment1114432464 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1114432464->addShape(78, 0);
+ alignment1114432464->addShape(75, 0);
+ alignment1114432464->addShape(34, 0);
+ ccs.push_back(alignment1114432464);
+
+ AlignmentConstraint *alignment1114432688 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1114432688->addShape(13, 0);
+ alignment1114432688->addShape(19, 0);
+ alignment1114432688->addShape(58, 0);
+ alignment1114432688->addShape(80, 0);
+ alignment1114432688->addShape(59, 0);
+ ccs.push_back(alignment1114432688);
+
+ AlignmentConstraint *alignment1114433040 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1114433040->addShape(85, 0);
+ ccs.push_back(alignment1114433040);
+
+ AlignmentConstraint *alignment1114433200 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1114433200->addShape(86, 0);
+ ccs.push_back(alignment1114433200);
+
+ AlignmentConstraint *alignment1114433360 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1114433360->addShape(87, 0);
+ alignment1114433360->addShape(9, 0);
+ alignment1114433360->addShape(62, 0);
+ alignment1114433360->addShape(63, 0);
+ alignment1114433360->addShape(57, 0);
+ ccs.push_back(alignment1114433360);
+
+ AlignmentConstraint *alignment1114433696 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1114433696->addShape(56, 0);
+ alignment1114433696->addShape(3, 0);
+ alignment1114433696->addShape(89, 0);
+ ccs.push_back(alignment1114433696);
+
+ AlignmentConstraint *alignment1114433920 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1114433920->addShape(65, 0);
+ alignment1114433920->addShape(48, 0);
+ alignment1114433920->addShape(30, 0);
+ alignment1114433920->addShape(90, 0);
+ alignment1114433920->addShape(44, 0);
+ ccs.push_back(alignment1114433920);
+
+ AlignmentConstraint *alignment1114434272 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1114434272->addShape(91, 0);
+ alignment1114434272->addShape(25, 0);
+ ccs.push_back(alignment1114434272);
+
+ AlignmentConstraint *alignment1114434496 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1114434496->addShape(68, 0);
+ alignment1114434496->addShape(94, 0);
+ alignment1114434496->addShape(83, 0);
+ alignment1114434496->addShape(22, 0);
+ alignment1114434496->addShape(53, 0);
+ alignment1114434496->addShape(24, 0);
+ alignment1114434496->addShape(82, 0);
+ ccs.push_back(alignment1114434496);
+
+ AlignmentConstraint *alignment1114436928 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1114436928->addShape(97, 0);
+ alignment1114436928->addShape(43, 0);
+ alignment1114436928->addShape(49, 0);
+ alignment1114436928->addShape(77, 0);
+ alignment1114436928->addShape(42, 0);
+ alignment1114436928->addShape(74, 0);
+ alignment1114436928->addShape(76, 0);
+ alignment1114436928->addShape(50, 0);
+ alignment1114436928->addShape(88, 0);
+ alignment1114436928->addShape(92, 0);
+ alignment1114436928->addShape(98, 0);
+ ccs.push_back(alignment1114436928);
+
+ AlignmentConstraint *alignment1114369232 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1114369232->addShape(96, 0);
+ alignment1114369232->addShape(95, 0);
+ alignment1114369232->addShape(99, 0);
+ alignment1114369232->addShape(54, 0);
+ ccs.push_back(alignment1114369232);
+
+ AlignmentConstraint *alignment1114369456 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1114369456->addShape(100, 0);
+ ccs.push_back(alignment1114369456);
+
+ AlignmentConstraint *alignment1114369616 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1114369616->addShape(81, 0);
+ alignment1114369616->addShape(101, 0);
+ alignment1114369616->addShape(69, 0);
+ alignment1114369616->addShape(79, 0);
+ alignment1114369616->addShape(64, 0);
+ alignment1114369616->addShape(47, 0);
+ alignment1114369616->addShape(84, 0);
+ ccs.push_back(alignment1114369616);
+
+ AlignmentConstraint *alignment1114437392 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1114437392->addShape(104, 0);
+ ccs.push_back(alignment1114437392);
+
+ AlignmentConstraint *alignment1100848528 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1100848528->addShape(102, 0);
+ alignment1100848528->addShape(105, 0);
+ ccs.push_back(alignment1100848528);
+
+ AlignmentConstraint *alignment1100848752 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1100848752->addShape(106, 0);
+ ccs.push_back(alignment1100848752);
+
+ AlignmentConstraint *alignment1100848880 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1100848880->addShape(107, 0);
+ ccs.push_back(alignment1100848880);
+
+ AlignmentConstraint *alignment1100849040 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1100849040->addShape(18, 0);
+ alignment1100849040->addShape(93, 0);
+ alignment1100849040->addShape(108, 0);
+ ccs.push_back(alignment1100849040);
+
+ SeparationConstraint *separation1100849264 = new SeparationConstraint(vpsc::YDIM, alignment1114431104, alignment1114433696, 30.1667, false);
+ ccs.push_back(separation1100849264);
+
+ SeparationConstraint *separation1100849360 = new SeparationConstraint(vpsc::YDIM, alignment1114433696, alignment1114374576, 8.33333, false);
+ ccs.push_back(separation1100849360);
+
+ SeparationConstraint *separation1100849536 = new SeparationConstraint(vpsc::YDIM, alignment1114374576, alignment1114431328, 18.3333, false);
+ ccs.push_back(separation1100849536);
+
+ SeparationConstraint *separation1100849712 = new SeparationConstraint(vpsc::YDIM, alignment1114431328, alignment1114374736, 6.66667, false);
+ ccs.push_back(separation1100849712);
+
+ SeparationConstraint *separation1100849888 = new SeparationConstraint(vpsc::YDIM, alignment1114374736, alignment1114374096, 3, false);
+ ccs.push_back(separation1100849888);
+
+ SeparationConstraint *separation1100850064 = new SeparationConstraint(vpsc::YDIM, alignment1114374096, alignment1114374256, 3, false);
+ ccs.push_back(separation1100850064);
+
+ SeparationConstraint *separation1100850240 = new SeparationConstraint(vpsc::YDIM, alignment1114374256, alignment1114374416, 23, false);
+ ccs.push_back(separation1100850240);
+
+ SeparationConstraint *separation1100850416 = new SeparationConstraint(vpsc::YDIM, alignment1114374416, alignment1114433360, 11.6, false);
+ ccs.push_back(separation1100850416);
+
+ SeparationConstraint *separation1100850592 = new SeparationConstraint(vpsc::YDIM, alignment1114433360, alignment1114373936, 9.4, false);
+ ccs.push_back(separation1100850592);
+
+ SeparationConstraint *separation1100850768 = new SeparationConstraint(vpsc::YDIM, alignment1114373936, alignment1100849040, 18.6667, false);
+ ccs.push_back(separation1100850768);
+
+ SeparationConstraint *separation1100850944 = new SeparationConstraint(vpsc::YDIM, alignment1100849040, alignment1114375216, 14.6667, false);
+ ccs.push_back(separation1100850944);
+
+ SeparationConstraint *separation1100851120 = new SeparationConstraint(vpsc::YDIM, alignment1114375216, alignment1114375488, 19.6667, false);
+ ccs.push_back(separation1100851120);
+
+ SeparationConstraint *separation1100851296 = new SeparationConstraint(vpsc::YDIM, alignment1114375488, alignment1114375056, 32, false);
+ ccs.push_back(separation1100851296);
+
+ SeparationConstraint *separation1100851472 = new SeparationConstraint(vpsc::YDIM, alignment1114375056, alignment1114432688, 10.8, false);
+ ccs.push_back(separation1100851472);
+
+ SeparationConstraint *separation1100851648 = new SeparationConstraint(vpsc::YDIM, alignment1114432688, alignment1114369456, 26.2, false);
+ ccs.push_back(separation1100851648);
+
+ SeparationConstraint *separation1100851824 = new SeparationConstraint(vpsc::YDIM, alignment1114369456, alignment1114375840, 7.5, false);
+ ccs.push_back(separation1100851824);
+
+ SeparationConstraint *separation1100852000 = new SeparationConstraint(vpsc::YDIM, alignment1114375840, alignment1114374896, 15.5, false);
+ ccs.push_back(separation1100852000);
+
+ SeparationConstraint *separation1100852176 = new SeparationConstraint(vpsc::YDIM, alignment1114374896, alignment1114433920, 18.4, false);
+ ccs.push_back(separation1100852176);
+
+ SeparationConstraint *separation1100852352 = new SeparationConstraint(vpsc::YDIM, alignment1114433920, alignment1114431760, 4.6, false);
+ ccs.push_back(separation1100852352);
+
+ SeparationConstraint *separation1100852528 = new SeparationConstraint(vpsc::YDIM, alignment1114431760, alignment1114429984, 25, false);
+ ccs.push_back(separation1100852528);
+
+ SeparationConstraint *separation1100852704 = new SeparationConstraint(vpsc::YDIM, alignment1114429984, alignment1114431568, 4.5, false);
+ ccs.push_back(separation1100852704);
+
+ SeparationConstraint *separation1100852880 = new SeparationConstraint(vpsc::YDIM, alignment1114431568, alignment1114375616, 3.5, false);
+ ccs.push_back(separation1100852880);
+
+ SeparationConstraint *separation1100853056 = new SeparationConstraint(vpsc::YDIM, alignment1114375616, alignment1114430752, 8, false);
+ ccs.push_back(separation1100853056);
+
+ SeparationConstraint *separation1100853232 = new SeparationConstraint(vpsc::YDIM, alignment1114430752, alignment1114430112, 29, false);
+ ccs.push_back(separation1100853232);
+
+ SeparationConstraint *separation1100853408 = new SeparationConstraint(vpsc::YDIM, alignment1114430112, alignment1114369616, 10.1429, false);
+ ccs.push_back(separation1100853408);
+
+ SeparationConstraint *separation1100853584 = new SeparationConstraint(vpsc::YDIM, alignment1114369616, alignment1114433040, 24.8571, false);
+ ccs.push_back(separation1100853584);
+
+ SeparationConstraint *separation1100853760 = new SeparationConstraint(vpsc::YDIM, alignment1114433040, alignment1114437392, 14, false);
+ ccs.push_back(separation1100853760);
+
+ SeparationConstraint *separation1100853936 = new SeparationConstraint(vpsc::YDIM, alignment1114437392, alignment1114430976, 4, false);
+ ccs.push_back(separation1100853936);
+
+ SeparationConstraint *separation1100854112 = new SeparationConstraint(vpsc::YDIM, alignment1114430976, alignment1114434272, 6.5, false);
+ ccs.push_back(separation1100854112);
+
+ SeparationConstraint *separation1100854288 = new SeparationConstraint(vpsc::YDIM, alignment1114434272, alignment1114433200, 9.5, false);
+ ccs.push_back(separation1100854288);
+
+ SeparationConstraint *separation1100854464 = new SeparationConstraint(vpsc::YDIM, alignment1114433200, alignment1100848528, 25, false);
+ ccs.push_back(separation1100854464);
+
+ SeparationConstraint *separation1100854640 = new SeparationConstraint(vpsc::YDIM, alignment1100848528, alignment1114434496, 9.42857, false);
+ ccs.push_back(separation1100854640);
+
+ SeparationConstraint *separation1100854816 = new SeparationConstraint(vpsc::YDIM, alignment1114434496, alignment1100848880, 23.5714, false);
+ ccs.push_back(separation1100854816);
+
+ SeparationConstraint *separation1100854992 = new SeparationConstraint(vpsc::YDIM, alignment1100848880, alignment1100848752, 43, false);
+ ccs.push_back(separation1100854992);
+
+ SeparationConstraint *separation1100855168 = new SeparationConstraint(vpsc::YDIM, alignment1100848752, alignment1114369232, 8.25, false);
+ ccs.push_back(separation1100855168);
+
+ SeparationConstraint *separation1100855344 = new SeparationConstraint(vpsc::YDIM, alignment1114369232, alignment1114430592, 33.75, false);
+ ccs.push_back(separation1100855344);
+
+ SeparationConstraint *separation1100855520 = new SeparationConstraint(vpsc::YDIM, alignment1114430592, alignment1114436928, 36.3636, false);
+ ccs.push_back(separation1100855520);
+
+ SeparationConstraint *separation1100855696 = new SeparationConstraint(vpsc::YDIM, alignment1114436928, alignment1114432048, 54.1364, false);
+ ccs.push_back(separation1100855696);
+
+ SeparationConstraint *separation1100855872 = new SeparationConstraint(vpsc::YDIM, alignment1114432048, alignment1114430272, 40.5, false);
+ ccs.push_back(separation1100855872);
+
+ SeparationConstraint *separation1100856048 = new SeparationConstraint(vpsc::YDIM, alignment1114430272, alignment1114430432, 25, false);
+ ccs.push_back(separation1100856048);
+
+ SeparationConstraint *separation1100856224 = new SeparationConstraint(vpsc::YDIM, alignment1114430432, alignment1114432464, 17, false);
+ ccs.push_back(separation1100856224);
+
+ SeparationConstraint *separation1100856400 = new SeparationConstraint(vpsc::YDIM, alignment1114432464, alignment1114431888, 33, false);
+ ccs.push_back(separation1100856400);
+
+ AlignmentConstraint *alignment1100856576 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1100856576->addShape(0, 0);
+ alignment1100856576->addShape(109, 0);
+ ccs.push_back(alignment1100856576);
+
+ SeparationConstraint *separation1100856800 = new SeparationConstraint(vpsc::YDIM, 0, 109, 50, true);
+ ccs.push_back(separation1100856800);
+
+ AlignmentConstraint *alignment1100856944 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1100856944->addShape(2, 0);
+ alignment1100856944->addShape(110, 0);
+ ccs.push_back(alignment1100856944);
+
+ SeparationConstraint *separation1100857168 = new SeparationConstraint(vpsc::YDIM, 2, 110, -50, true);
+ ccs.push_back(separation1100857168);
+
+ AlignmentConstraint *alignment1100857312 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1100857312->addShape(3, 0);
+ alignment1100857312->addShape(111, 0);
+ ccs.push_back(alignment1100857312);
+
+ SeparationConstraint *separation1100857536 = new SeparationConstraint(vpsc::YDIM, 3, 111, -50, true);
+ ccs.push_back(separation1100857536);
+
+ AlignmentConstraint *alignment1100857680 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1100857680->addShape(4, 0);
+ alignment1100857680->addShape(112, 0);
+ ccs.push_back(alignment1100857680);
+
+ SeparationConstraint *separation1100857904 = new SeparationConstraint(vpsc::XDIM, 4, 112, -62, true);
+ ccs.push_back(separation1100857904);
+
+ AlignmentConstraint *alignment1100858048 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1100858048->addShape(5, 0);
+ alignment1100858048->addShape(113, 0);
+ ccs.push_back(alignment1100858048);
+
+ SeparationConstraint *separation1100858272 = new SeparationConstraint(vpsc::XDIM, 5, 113, 62, true);
+ ccs.push_back(separation1100858272);
+
+ AlignmentConstraint *alignment1100858416 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1100858416->addShape(6, 0);
+ alignment1100858416->addShape(114, 0);
+ ccs.push_back(alignment1100858416);
+
+ SeparationConstraint *separation1100858640 = new SeparationConstraint(vpsc::YDIM, 6, 114, -50, true);
+ ccs.push_back(separation1100858640);
+
+ AlignmentConstraint *alignment1100858784 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1100858784->addShape(7, 0);
+ alignment1100858784->addShape(115, 0);
+ ccs.push_back(alignment1100858784);
+
+ SeparationConstraint *separation1100859008 = new SeparationConstraint(vpsc::YDIM, 7, 115, -50, true);
+ ccs.push_back(separation1100859008);
+
+ AlignmentConstraint *alignment1100859152 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1100859152->addShape(8, 0);
+ alignment1100859152->addShape(116, 0);
+ ccs.push_back(alignment1100859152);
+
+ SeparationConstraint *separation1100859376 = new SeparationConstraint(vpsc::YDIM, 8, 116, -50, true);
+ ccs.push_back(separation1100859376);
+
+ AlignmentConstraint *alignment1100859520 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1100859520->addShape(9, 0);
+ alignment1100859520->addShape(117, 0);
+ ccs.push_back(alignment1100859520);
+
+ SeparationConstraint *separation1100859744 = new SeparationConstraint(vpsc::YDIM, 9, 117, -50, true);
+ ccs.push_back(separation1100859744);
+
+ AlignmentConstraint *alignment1100859888 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1100859888->addShape(10, 0);
+ alignment1100859888->addShape(118, 0);
+ ccs.push_back(alignment1100859888);
+
+ SeparationConstraint *separation1100860112 = new SeparationConstraint(vpsc::YDIM, 10, 118, 50, true);
+ ccs.push_back(separation1100860112);
+
+ AlignmentConstraint *alignment1100860256 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1100860256->addShape(11, 0);
+ alignment1100860256->addShape(119, 0);
+ ccs.push_back(alignment1100860256);
+
+ SeparationConstraint *separation1100860480 = new SeparationConstraint(vpsc::YDIM, 11, 119, -50, true);
+ ccs.push_back(separation1100860480);
+
+ AlignmentConstraint *alignment1100860624 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1100860624->addShape(12, 0);
+ alignment1100860624->addShape(120, 0);
+ ccs.push_back(alignment1100860624);
+
+ SeparationConstraint *separation1100860848 = new SeparationConstraint(vpsc::YDIM, 12, 120, -50, true);
+ ccs.push_back(separation1100860848);
+
+ AlignmentConstraint *alignment1100860992 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1100860992->addShape(13, 0);
+ alignment1100860992->addShape(121, 0);
+ ccs.push_back(alignment1100860992);
+
+ SeparationConstraint *separation1100861216 = new SeparationConstraint(vpsc::YDIM, 13, 121, -50, true);
+ ccs.push_back(separation1100861216);
+
+ AlignmentConstraint *alignment1100861360 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1100861360->addShape(14, 0);
+ alignment1100861360->addShape(122, 0);
+ ccs.push_back(alignment1100861360);
+
+ SeparationConstraint *separation1100861584 = new SeparationConstraint(vpsc::YDIM, 14, 122, -50, true);
+ ccs.push_back(separation1100861584);
+
+ AlignmentConstraint *alignment1100861728 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1100861728->addShape(15, 0);
+ alignment1100861728->addShape(123, 0);
+ ccs.push_back(alignment1100861728);
+
+ SeparationConstraint *separation1100861952 = new SeparationConstraint(vpsc::YDIM, 15, 123, -50, true);
+ ccs.push_back(separation1100861952);
+
+ AlignmentConstraint *alignment1100862096 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1100862096->addShape(16, 0);
+ alignment1100862096->addShape(124, 0);
+ ccs.push_back(alignment1100862096);
+
+ SeparationConstraint *separation1100862320 = new SeparationConstraint(vpsc::XDIM, 16, 124, -62, true);
+ ccs.push_back(separation1100862320);
+
+ AlignmentConstraint *alignment1100862464 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1100862464->addShape(17, 0);
+ alignment1100862464->addShape(125, 0);
+ ccs.push_back(alignment1100862464);
+
+ SeparationConstraint *separation1100862688 = new SeparationConstraint(vpsc::XDIM, 17, 125, 62, true);
+ ccs.push_back(separation1100862688);
+
+ AlignmentConstraint *alignment1100862832 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1100862832->addShape(18, 0);
+ alignment1100862832->addShape(126, 0);
+ ccs.push_back(alignment1100862832);
+
+ SeparationConstraint *separation1100863056 = new SeparationConstraint(vpsc::XDIM, 18, 126, 62, true);
+ ccs.push_back(separation1100863056);
+
+ AlignmentConstraint *alignment1100863200 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1100863200->addShape(19, 0);
+ alignment1100863200->addShape(127, 0);
+ ccs.push_back(alignment1100863200);
+
+ SeparationConstraint *separation1100863424 = new SeparationConstraint(vpsc::YDIM, 19, 127, 50, true);
+ ccs.push_back(separation1100863424);
+
+ AlignmentConstraint *alignment1100863568 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1100863568->addShape(20, 0);
+ alignment1100863568->addShape(128, 0);
+ ccs.push_back(alignment1100863568);
+
+ SeparationConstraint *separation1100863792 = new SeparationConstraint(vpsc::XDIM, 20, 128, 62, true);
+ ccs.push_back(separation1100863792);
+
+ AlignmentConstraint *alignment1100863936 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1100863936->addShape(21, 0);
+ alignment1100863936->addShape(129, 0);
+ ccs.push_back(alignment1100863936);
+
+ SeparationConstraint *separation1100864160 = new SeparationConstraint(vpsc::YDIM, 21, 129, -50, true);
+ ccs.push_back(separation1100864160);
+
+ AlignmentConstraint *alignment1100864304 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1100864304->addShape(22, 0);
+ alignment1100864304->addShape(130, 0);
+ ccs.push_back(alignment1100864304);
+
+ SeparationConstraint *separation1100864528 = new SeparationConstraint(vpsc::YDIM, 22, 130, -50, true);
+ ccs.push_back(separation1100864528);
+
+ AlignmentConstraint *alignment1100864672 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1100864672->addShape(24, 0);
+ alignment1100864672->addShape(131, 0);
+ ccs.push_back(alignment1100864672);
+
+ SeparationConstraint *separation1100864896 = new SeparationConstraint(vpsc::YDIM, 24, 131, -50, true);
+ ccs.push_back(separation1100864896);
+
+ AlignmentConstraint *alignment1100865040 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1100865040->addShape(25, 0);
+ alignment1100865040->addShape(132, 0);
+ ccs.push_back(alignment1100865040);
+
+ SeparationConstraint *separation1100865264 = new SeparationConstraint(vpsc::YDIM, 25, 132, -50, true);
+ ccs.push_back(separation1100865264);
+
+ AlignmentConstraint *alignment1100865408 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1100865408->addShape(26, 0);
+ alignment1100865408->addShape(133, 0);
+ ccs.push_back(alignment1100865408);
+
+ SeparationConstraint *separation1100865632 = new SeparationConstraint(vpsc::XDIM, 26, 133, -62, true);
+ ccs.push_back(separation1100865632);
+
+ AlignmentConstraint *alignment1100865776 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1100865776->addShape(27, 0);
+ alignment1100865776->addShape(134, 0);
+ ccs.push_back(alignment1100865776);
+
+ SeparationConstraint *separation1100866000 = new SeparationConstraint(vpsc::XDIM, 27, 134, 62, true);
+ ccs.push_back(separation1100866000);
+
+ AlignmentConstraint *alignment1100866144 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1100866144->addShape(28, 0);
+ alignment1100866144->addShape(135, 0);
+ ccs.push_back(alignment1100866144);
+
+ SeparationConstraint *separation1100866368 = new SeparationConstraint(vpsc::XDIM, 28, 135, 62, true);
+ ccs.push_back(separation1100866368);
+
+ AlignmentConstraint *alignment1100866512 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1100866512->addShape(29, 0);
+ alignment1100866512->addShape(136, 0);
+ ccs.push_back(alignment1100866512);
+
+ SeparationConstraint *separation1100866736 = new SeparationConstraint(vpsc::XDIM, 29, 136, 62, true);
+ ccs.push_back(separation1100866736);
+
+ AlignmentConstraint *alignment1100866880 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1100866880->addShape(30, 0);
+ alignment1100866880->addShape(137, 0);
+ ccs.push_back(alignment1100866880);
+
+ SeparationConstraint *separation1100867104 = new SeparationConstraint(vpsc::XDIM, 30, 137, 62, true);
+ ccs.push_back(separation1100867104);
+
+ AlignmentConstraint *alignment1100867248 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1100867248->addShape(31, 0);
+ alignment1100867248->addShape(138, 0);
+ ccs.push_back(alignment1100867248);
+
+ SeparationConstraint *separation1100867472 = new SeparationConstraint(vpsc::XDIM, 31, 138, 62, true);
+ ccs.push_back(separation1100867472);
+
+ AlignmentConstraint *alignment1100867616 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1100867616->addShape(32, 0);
+ alignment1100867616->addShape(139, 0);
+ ccs.push_back(alignment1100867616);
+
+ SeparationConstraint *separation1100867840 = new SeparationConstraint(vpsc::YDIM, 32, 139, -50, true);
+ ccs.push_back(separation1100867840);
+
+ AlignmentConstraint *alignment1100867984 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1100867984->addShape(33, 0);
+ alignment1100867984->addShape(140, 0);
+ ccs.push_back(alignment1100867984);
+
+ SeparationConstraint *separation1100868208 = new SeparationConstraint(vpsc::YDIM, 33, 140, 50, true);
+ ccs.push_back(separation1100868208);
+
+ AlignmentConstraint *alignment1100868352 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1100868352->addShape(34, 0);
+ alignment1100868352->addShape(141, 0);
+ ccs.push_back(alignment1100868352);
+
+ SeparationConstraint *separation1100868576 = new SeparationConstraint(vpsc::YDIM, 34, 141, -50, true);
+ ccs.push_back(separation1100868576);
+
+ AlignmentConstraint *alignment1100868720 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1100868720->addShape(35, 0);
+ alignment1100868720->addShape(142, 0);
+ ccs.push_back(alignment1100868720);
+
+ SeparationConstraint *separation1100868944 = new SeparationConstraint(vpsc::XDIM, 35, 142, 62, true);
+ ccs.push_back(separation1100868944);
+
+ AlignmentConstraint *alignment1100869088 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1100869088->addShape(36, 0);
+ alignment1100869088->addShape(143, 0);
+ ccs.push_back(alignment1100869088);
+
+ SeparationConstraint *separation1100869312 = new SeparationConstraint(vpsc::XDIM, 36, 143, 62, true);
+ ccs.push_back(separation1100869312);
+
+ AlignmentConstraint *alignment1100869456 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1100869456->addShape(39, 0);
+ alignment1100869456->addShape(144, 0);
+ ccs.push_back(alignment1100869456);
+
+ SeparationConstraint *separation1100869680 = new SeparationConstraint(vpsc::YDIM, 39, 144, -50, true);
+ ccs.push_back(separation1100869680);
+
+ AlignmentConstraint *alignment1100869824 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1100869824->addShape(40, 0);
+ alignment1100869824->addShape(145, 0);
+ ccs.push_back(alignment1100869824);
+
+ SeparationConstraint *separation1100870048 = new SeparationConstraint(vpsc::YDIM, 40, 145, -50, true);
+ ccs.push_back(separation1100870048);
+
+ AlignmentConstraint *alignment1100870192 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1100870192->addShape(41, 0);
+ alignment1100870192->addShape(146, 0);
+ ccs.push_back(alignment1100870192);
+
+ SeparationConstraint *separation1100870416 = new SeparationConstraint(vpsc::XDIM, 41, 146, 62, true);
+ ccs.push_back(separation1100870416);
+
+ AlignmentConstraint *alignment1100870560 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1100870560->addShape(42, 0);
+ alignment1100870560->addShape(147, 0);
+ ccs.push_back(alignment1100870560);
+
+ SeparationConstraint *separation1100870784 = new SeparationConstraint(vpsc::YDIM, 42, 147, -50, true);
+ ccs.push_back(separation1100870784);
+
+ AlignmentConstraint *alignment1114434864 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1114434864->addShape(43, 0);
+ alignment1114434864->addShape(148, 0);
+ ccs.push_back(alignment1114434864);
+
+ SeparationConstraint *separation1114435088 = new SeparationConstraint(vpsc::YDIM, 43, 148, -50, true);
+ ccs.push_back(separation1114435088);
+
+ AlignmentConstraint *alignment1114435232 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1114435232->addShape(44, 0);
+ alignment1114435232->addShape(149, 0);
+ ccs.push_back(alignment1114435232);
+
+ SeparationConstraint *separation1114435456 = new SeparationConstraint(vpsc::XDIM, 44, 149, -62, true);
+ ccs.push_back(separation1114435456);
+
+ AlignmentConstraint *alignment1114435600 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1114435600->addShape(47, 0);
+ alignment1114435600->addShape(150, 0);
+ ccs.push_back(alignment1114435600);
+
+ SeparationConstraint *separation1114435824 = new SeparationConstraint(vpsc::YDIM, 47, 150, -50, true);
+ ccs.push_back(separation1114435824);
+
+ AlignmentConstraint *alignment1114435968 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1114435968->addShape(48, 0);
+ alignment1114435968->addShape(151, 0);
+ ccs.push_back(alignment1114435968);
+
+ SeparationConstraint *separation1114436192 = new SeparationConstraint(vpsc::YDIM, 48, 151, -50, true);
+ ccs.push_back(separation1114436192);
+
+ AlignmentConstraint *alignment1114436336 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1114436336->addShape(49, 0);
+ alignment1114436336->addShape(152, 0);
+ ccs.push_back(alignment1114436336);
+
+ SeparationConstraint *separation1114436560 = new SeparationConstraint(vpsc::YDIM, 49, 152, -50, true);
+ ccs.push_back(separation1114436560);
+
+ AlignmentConstraint *alignment1114436704 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1114436704->addShape(50, 0);
+ alignment1114436704->addShape(153, 0);
+ ccs.push_back(alignment1114436704);
+
+ SeparationConstraint *separation1100875040 = new SeparationConstraint(vpsc::YDIM, 50, 153, -50, true);
+ ccs.push_back(separation1100875040);
+
+ AlignmentConstraint *alignment1100875184 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1100875184->addShape(51, 0);
+ alignment1100875184->addShape(154, 0);
+ ccs.push_back(alignment1100875184);
+
+ SeparationConstraint *separation1100875408 = new SeparationConstraint(vpsc::XDIM, 51, 154, 62, true);
+ ccs.push_back(separation1100875408);
+
+ AlignmentConstraint *alignment1100875552 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1100875552->addShape(52, 0);
+ alignment1100875552->addShape(155, 0);
+ ccs.push_back(alignment1100875552);
+
+ SeparationConstraint *separation1100875776 = new SeparationConstraint(vpsc::XDIM, 52, 155, 62, true);
+ ccs.push_back(separation1100875776);
+
+ AlignmentConstraint *alignment1100875920 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1100875920->addShape(53, 0);
+ alignment1100875920->addShape(156, 0);
+ ccs.push_back(alignment1100875920);
+
+ SeparationConstraint *separation1100876144 = new SeparationConstraint(vpsc::YDIM, 53, 156, -50, true);
+ ccs.push_back(separation1100876144);
+
+ AlignmentConstraint *alignment1100876288 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1100876288->addShape(54, 0);
+ alignment1100876288->addShape(157, 0);
+ ccs.push_back(alignment1100876288);
+
+ SeparationConstraint *separation1100876512 = new SeparationConstraint(vpsc::XDIM, 54, 157, 62, true);
+ ccs.push_back(separation1100876512);
+
+ AlignmentConstraint *alignment1100876656 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1100876656->addShape(104, 0);
+ alignment1100876656->addShape(158, 0);
+ ccs.push_back(alignment1100876656);
+
+ SeparationConstraint *separation1100876880 = new SeparationConstraint(vpsc::XDIM, 104, 158, 62, true);
+ ccs.push_back(separation1100876880);
+
+ AlignmentConstraint *alignment1100877024 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment1100877024->addShape(107, 0);
+ alignment1100877024->addShape(159, 0);
+ ccs.push_back(alignment1100877024);
+
+ SeparationConstraint *separation1100877248 = new SeparationConstraint(vpsc::XDIM, 107, 159, 62, true);
+ ccs.push_back(separation1100877248);
+
+ AlignmentConstraint *alignment1100877392 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment1100877392->addShape(108, 0);
+ alignment1100877392->addShape(160, 0);
+ ccs.push_back(alignment1100877392);
+
+ SeparationConstraint *separation1100877616 = new SeparationConstraint(vpsc::YDIM, 108, 160, -50, true);
+ ccs.push_back(separation1100877616);
+
+ ConstrainedFDLayout alg(rs, es, defaultEdgeLength);
+ alg.setAvoidNodeOverlaps(true);
+ RootCluster *cluster1100877760 = new RootCluster();
+ cluster1100877760->addChildNode(0);
+ cluster1100877760->addChildNode(2);
+ cluster1100877760->addChildNode(3);
+ cluster1100877760->addChildNode(4);
+ cluster1100877760->addChildNode(5);
+ cluster1100877760->addChildNode(6);
+ cluster1100877760->addChildNode(7);
+ cluster1100877760->addChildNode(8);
+ cluster1100877760->addChildNode(9);
+ cluster1100877760->addChildNode(10);
+ cluster1100877760->addChildNode(11);
+ cluster1100877760->addChildNode(12);
+ cluster1100877760->addChildNode(13);
+ cluster1100877760->addChildNode(14);
+ cluster1100877760->addChildNode(15);
+ cluster1100877760->addChildNode(16);
+ cluster1100877760->addChildNode(17);
+ cluster1100877760->addChildNode(18);
+ cluster1100877760->addChildNode(19);
+ cluster1100877760->addChildNode(20);
+ cluster1100877760->addChildNode(21);
+ cluster1100877760->addChildNode(22);
+ cluster1100877760->addChildNode(23);
+ cluster1100877760->addChildNode(24);
+ cluster1100877760->addChildNode(25);
+ cluster1100877760->addChildNode(26);
+ cluster1100877760->addChildNode(27);
+ cluster1100877760->addChildNode(28);
+ cluster1100877760->addChildNode(29);
+ cluster1100877760->addChildNode(30);
+ cluster1100877760->addChildNode(31);
+ cluster1100877760->addChildNode(32);
+ cluster1100877760->addChildNode(33);
+ cluster1100877760->addChildNode(34);
+ cluster1100877760->addChildNode(35);
+ cluster1100877760->addChildNode(36);
+ cluster1100877760->addChildNode(39);
+ cluster1100877760->addChildNode(40);
+ cluster1100877760->addChildNode(41);
+ cluster1100877760->addChildNode(42);
+ cluster1100877760->addChildNode(43);
+ cluster1100877760->addChildNode(44);
+ cluster1100877760->addChildNode(47);
+ cluster1100877760->addChildNode(48);
+ cluster1100877760->addChildNode(49);
+ cluster1100877760->addChildNode(50);
+ cluster1100877760->addChildNode(51);
+ cluster1100877760->addChildNode(52);
+ cluster1100877760->addChildNode(53);
+ cluster1100877760->addChildNode(54);
+ cluster1100877760->addChildNode(55);
+ cluster1100877760->addChildNode(56);
+ cluster1100877760->addChildNode(57);
+ cluster1100877760->addChildNode(58);
+ cluster1100877760->addChildNode(59);
+ cluster1100877760->addChildNode(60);
+ cluster1100877760->addChildNode(61);
+ cluster1100877760->addChildNode(62);
+ cluster1100877760->addChildNode(63);
+ cluster1100877760->addChildNode(64);
+ cluster1100877760->addChildNode(65);
+ cluster1100877760->addChildNode(66);
+ cluster1100877760->addChildNode(67);
+ cluster1100877760->addChildNode(68);
+ cluster1100877760->addChildNode(69);
+ cluster1100877760->addChildNode(70);
+ cluster1100877760->addChildNode(71);
+ cluster1100877760->addChildNode(72);
+ cluster1100877760->addChildNode(73);
+ cluster1100877760->addChildNode(74);
+ cluster1100877760->addChildNode(75);
+ cluster1100877760->addChildNode(76);
+ cluster1100877760->addChildNode(77);
+ cluster1100877760->addChildNode(78);
+ cluster1100877760->addChildNode(79);
+ cluster1100877760->addChildNode(80);
+ cluster1100877760->addChildNode(81);
+ cluster1100877760->addChildNode(82);
+ cluster1100877760->addChildNode(83);
+ cluster1100877760->addChildNode(84);
+ cluster1100877760->addChildNode(85);
+ cluster1100877760->addChildNode(86);
+ cluster1100877760->addChildNode(87);
+ cluster1100877760->addChildNode(88);
+ cluster1100877760->addChildNode(89);
+ cluster1100877760->addChildNode(90);
+ cluster1100877760->addChildNode(91);
+ cluster1100877760->addChildNode(92);
+ cluster1100877760->addChildNode(93);
+ cluster1100877760->addChildNode(94);
+ cluster1100877760->addChildNode(95);
+ cluster1100877760->addChildNode(96);
+ cluster1100877760->addChildNode(97);
+ cluster1100877760->addChildNode(98);
+ cluster1100877760->addChildNode(99);
+ cluster1100877760->addChildNode(100);
+ cluster1100877760->addChildNode(101);
+ cluster1100877760->addChildNode(102);
+ cluster1100877760->addChildNode(104);
+ cluster1100877760->addChildNode(105);
+ cluster1100877760->addChildNode(106);
+ cluster1100877760->addChildNode(107);
+ cluster1100877760->addChildNode(108);
+ cluster1100877760->addChildNode(109);
+ cluster1100877760->addChildNode(110);
+ cluster1100877760->addChildNode(111);
+ cluster1100877760->addChildNode(112);
+ cluster1100877760->addChildNode(113);
+ cluster1100877760->addChildNode(114);
+ cluster1100877760->addChildNode(115);
+ cluster1100877760->addChildNode(116);
+ cluster1100877760->addChildNode(117);
+ cluster1100877760->addChildNode(118);
+ cluster1100877760->addChildNode(119);
+ cluster1100877760->addChildNode(120);
+ cluster1100877760->addChildNode(121);
+ cluster1100877760->addChildNode(122);
+ cluster1100877760->addChildNode(123);
+ cluster1100877760->addChildNode(124);
+ cluster1100877760->addChildNode(125);
+ cluster1100877760->addChildNode(126);
+ cluster1100877760->addChildNode(127);
+ cluster1100877760->addChildNode(128);
+ cluster1100877760->addChildNode(129);
+ cluster1100877760->addChildNode(130);
+ cluster1100877760->addChildNode(131);
+ cluster1100877760->addChildNode(132);
+ cluster1100877760->addChildNode(133);
+ cluster1100877760->addChildNode(134);
+ cluster1100877760->addChildNode(135);
+ cluster1100877760->addChildNode(136);
+ cluster1100877760->addChildNode(137);
+ cluster1100877760->addChildNode(138);
+ cluster1100877760->addChildNode(139);
+ cluster1100877760->addChildNode(140);
+ cluster1100877760->addChildNode(141);
+ cluster1100877760->addChildNode(142);
+ cluster1100877760->addChildNode(143);
+ cluster1100877760->addChildNode(144);
+ cluster1100877760->addChildNode(145);
+ cluster1100877760->addChildNode(146);
+ cluster1100877760->addChildNode(147);
+ cluster1100877760->addChildNode(148);
+ cluster1100877760->addChildNode(149);
+ cluster1100877760->addChildNode(150);
+ cluster1100877760->addChildNode(151);
+ cluster1100877760->addChildNode(152);
+ cluster1100877760->addChildNode(153);
+ cluster1100877760->addChildNode(154);
+ cluster1100877760->addChildNode(155);
+ cluster1100877760->addChildNode(156);
+ cluster1100877760->addChildNode(157);
+ cluster1100877760->addChildNode(158);
+ cluster1100877760->addChildNode(159);
+ cluster1100877760->addChildNode(160);
+ RectangularCluster *cluster1100878032 = new RectangularCluster();
+ cluster1100878032->addChildNode(161);
+ cluster1100877760->addChildCluster(cluster1100878032);
+ RectangularCluster *cluster1100878416 = new RectangularCluster();
+ cluster1100878416->addChildNode(162);
+ cluster1100877760->addChildCluster(cluster1100878416);
+ RectangularCluster *cluster1100878800 = new RectangularCluster();
+ cluster1100878800->addChildNode(163);
+ cluster1100877760->addChildCluster(cluster1100878800);
+ RectangularCluster *cluster1100879168 = new RectangularCluster();
+ cluster1100877760->addChildCluster(cluster1100879168);
+ RectangularCluster *cluster1100879488 = new RectangularCluster();
+ cluster1100879488->addChildNode(164);
+ cluster1100879488->addChildNode(165);
+ cluster1100879488->addChildNode(166);
+ cluster1100879488->addChildNode(167);
+ cluster1100877760->addChildCluster(cluster1100879488);
+ RectangularCluster *cluster1100879920 = new RectangularCluster();
+ cluster1100879920->addChildNode(168);
+ cluster1100877760->addChildCluster(cluster1100879920);
+ alg.setClusterHierarchy(cluster1100877760);
+ alg.setConstraints(ccs);
+ alg.makeFeasible();
+ alg.run();
+ alg.outputInstanceToSVG("test-StillOverlap02");
+ alg.freeAssociatedObjects();
+ return 0;
+};
diff --git a/src/3rdparty/adaptagrams/libcola/tests/boundary.cpp b/src/3rdparty/adaptagrams/libcola/tests/boundary.cpp
new file mode 100644
index 0000000..18e962d
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/boundary.cpp
@@ -0,0 +1,121 @@
+/*
+ * vim: ts=4 sw=4 et tw=0 wm=0
+ *
+ * libcola - A library providing force-directed network layout using the
+ * stress-majorization method subject to separation constraints.
+ *
+ * Copyright (C) 2006-2008 Monash University
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library in the file LICENSE; if not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place,
+ * Suite 330, Boston, MA 02111-1307 USA
+ *
+*/
+
+/** \file boundary.cpp
+ *
+ * a clustered graph using libtopology to preserve the cluster boundary.
+ */
+/*
+* Authors:
+* Tim Dwyer <tgdwyer@gmail.com>
+*/
+#include <iostream>
+#include <iomanip>
+#include <fstream>
+
+#include <vector>
+#include <valarray>
+#include <algorithm>
+#include <float.h>
+#include "graphlayouttest.h"
+#include <libtopology/topology_graph.h>
+#include <libproject/project.h>
+using namespace std;
+using namespace topology;
+
+Node* addNode( Nodes& vs, vpsc::Rectangle* r) {
+ Node *v = new Node(vs.size(), r);
+ vs.push_back(v);
+ return v;
+}
+void addToPath(EdgePoints& ps, Node *v, EdgePoint::RectIntersect i) {
+ ps.push_back(new EdgePoint(v,i));
+}
+struct SetDesiredPos : public PreIteration {
+ SetDesiredPos(Locks& locks) : PreIteration(locks) {}
+};
+struct Test : TestConvergence {
+ Test(const double d,const unsigned i,topology::Nodes& vs, topology::Edges& es,const string fname) : TestConvergence(d,i), vs(vs), es(es), fname(fname) {}
+ bool operator()(const double new_stress, valarray<double> & X, valarray<double> & Y) {
+ bool converged= TestConvergence::operator()(new_stress,X,Y);
+ if(converged) {
+ cerr << "stress="<<new_stress<<" iteration="<<iterations<<endl;
+ stringstream ss;
+ ss << fname << "-" << setfill('0') << setw(3) << iterations << ".svg";
+ cerr << "writing file: " << ss.str() << endl;
+ writeFile(vs,es,ss.str());
+ }
+ return converged;
+ }
+ double lastStress;
+ topology::Nodes& vs;
+ topology::Edges& es;
+ const string fname;
+};
+void clusterBoundary() {
+ vector<cola::Edge> es;
+ vector<vpsc::Rectangle*> rs;
+ rs.push_back(new vpsc::Rectangle(395,449,155,189));
+ rs.push_back(new vpsc::Rectangle(309,363,155,189));
+ double idealLength=60;
+ // set up topology graph
+ topology::Nodes vs;
+ for(vector<Rectangle*>::iterator i = rs.begin(); i!=rs.end();++i) {
+ addNode(vs,*i);
+ }
+ Edges tes;
+ EdgePoints ps;
+ addToPath(ps,vs[1],EdgePoint::BL);
+ addToPath(ps,vs[0],EdgePoint::BR);
+ addToPath(ps,vs[0],EdgePoint::TR);
+ addToPath(ps,vs[1],EdgePoint::TL);
+ ps.push_back(ps[0]);
+ tes.push_back(new topology::Edge(idealLength, ps));
+
+ writeFile(vs,tes,"boundary-000.svg");
+
+ Locks locks;
+ locks.push_back(Lock(0,rs[0]->getCentreX(), rs[0]->getCentreY()+10));
+ locks.push_back(Lock(1,rs[1]->getCentreX(), rs[1]->getCentreY()));
+ SetDesiredPos preIteration(locks);
+
+ Test test(0.00001,100,vs,tes,"boundary");
+ cola::ConstrainedFDLayout alg(rs,es,idealLength,nullptr,test,&preIteration);
+
+ alg.setTopology(&vs,&tes);
+ alg.run(true,true);
+ double finalStress=alg.computeStress();
+ printf("finalStress=%f\n",finalStress);
+
+ //assert(finalStress<1e-5);
+ for_each(rs.begin(),rs.end(),cola::delete_object());
+ for_each(tes.begin(),tes.end(),cola::delete_object());
+ for_each(vs.begin(),vs.end(),cola::delete_object());
+}
+int main() {
+ clusterBoundary();
+ return 0;
+}
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=4:softtabstop=4:textwidth=80 :
diff --git a/src/3rdparty/adaptagrams/libcola/tests/connected_components.cpp b/src/3rdparty/adaptagrams/libcola/tests/connected_components.cpp
new file mode 100644
index 0000000..d5df479
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/connected_components.cpp
@@ -0,0 +1,69 @@
+/*
+ * vim: ts=4 sw=4 et tw=0 wm=0
+ *
+ * libcola - A library providing force-directed network layout using the
+ * stress-majorization method subject to separation constraints.
+ *
+ * Copyright (C) 2006-2008 Monash University
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library in the file LICENSE; if not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place,
+ * Suite 330, Boston, MA 02111-1307 USA
+ *
+*/
+
+#include <iostream>
+#include <vector>
+#include <set>
+#include <libvpsc/rectangle.h>
+#include <libcola/cola.h>
+#include <libcola/connected_components.h>
+#include "graphlayouttest.h"
+
+using namespace std;
+using namespace cola;
+
+int main() {
+ const unsigned V = 7;
+ unsigned c1[]={0,1,2,3};
+ set<unsigned> expected_c1(c1,c1+4);
+ unsigned c2[]={4,5,6};
+ set<unsigned> expected_c2(c2,c2+3);
+
+ Edge edge_array[] = { Edge(0, 1), Edge(1, 2), Edge(3, 2), Edge(1, 3),
+ Edge(4, 5), Edge(5, 6), Edge(6, 4) };
+ const std::size_t E = sizeof(edge_array) / sizeof(Edge);
+ vector<Edge> es(edge_array,edge_array+E);
+ vector<Component*> cs;
+ vpsc::Rectangles rs;
+ double width=100,height=100;
+ for(unsigned i=0;i<V;i++) {
+ double x=getRand(width), y=getRand(height);
+ rs.push_back(new vpsc::Rectangle(x,x+5,y,y+5));
+ }
+ connectedComponents(rs,es,cs);
+ set<unsigned> result_c1(cs[0]->node_ids.begin(),cs[0]->node_ids.end());
+ set<unsigned> result_c2(cs[1]->node_ids.begin(),cs[1]->node_ids.end());
+ assert(expected_c1==result_c1);
+ assert(expected_c2==result_c2);
+ for(unsigned i=0;i<cs.size();i++) {
+ printf("Component %d:\n",i);
+ for(unsigned j=0;j<cs[i]->edges.size();j++) {
+ Edge& e=cs[i]->edges[j];
+ printf("(%d,%d) ",e.first,e.second);
+ }
+ cout << endl;
+ }
+ return 0;
+}
diff --git a/src/3rdparty/adaptagrams/libcola/tests/constrained.cpp b/src/3rdparty/adaptagrams/libcola/tests/constrained.cpp
new file mode 100644
index 0000000..20215f7
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/constrained.cpp
@@ -0,0 +1,99 @@
+/*
+ * vim: ts=4 sw=4 et tw=0 wm=0
+ *
+ * libcola - A library providing force-directed network layout using the
+ * stress-majorization method subject to separation constraints.
+ *
+ * Copyright (C) 2006-2008 Monash University
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library in the file LICENSE; if not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place,
+ * Suite 330, Boston, MA 02111-1307 USA
+ *
+*/
+
+/** \file constrained.cpp
+ *
+ * runs constraint layout on a small graph. nodes 0 and 3 are constrained
+ * to a vertical line
+ *
+ *
+ * Authors:
+ * Tim Dwyer <tgdwyer@gmail.com>
+ */
+#include <iostream>
+
+#include <vector>
+#include <algorithm>
+#include <float.h>
+#include <libcola/cola.h>
+#include <libcola/output_svg.h>
+inline double getRand(double range) {
+ return range*rand()/RAND_MAX;
+}
+
+using namespace std;
+using namespace cola;
+/**
+* \brief Determines when to terminate layout of a particular graph based
+* on a given relative tolerance.
+*/
+int main() {
+
+ const unsigned V = 4;
+ typedef pair < unsigned, unsigned >Edge;
+ Edge edge_array[] = { Edge(0, 1), Edge(1, 2), Edge(2, 3), Edge(1, 3) };
+ unsigned E = sizeof(edge_array) / sizeof(Edge);
+ vector<Edge> es(edge_array,edge_array+E);
+ double width=100;
+ double height=100;
+ vector<vpsc::Rectangle*> rs;
+ for(unsigned i=0;i<V;i++) {
+ double x=getRand(width), y=getRand(height);
+ rs.push_back(new vpsc::Rectangle(x,x+5,y,y+5));
+ }
+ CompoundConstraints ccs;
+ AlignmentConstraint ac(vpsc::XDIM);
+ ccs.push_back(&ac);
+ ac.addShape(0,0);
+ ac.addShape(3,0);
+ // apply steepest descent layout
+ ConstrainedFDLayout alg2(rs,es,width/2);
+ alg2.setConstraints(ccs);
+ alg2.run();
+ assert(alg2.computeStress()<0.0013);
+ // the following pair of nodes should line-up
+ assert(fabs(rs[0]->getCentreX()-rs[3]->getCentreX())<0.001);
+ // reset rectangles to random positions
+ for(unsigned i=0;i<V;i++) {
+ double x=getRand(width), y=getRand(height);
+ rs[i]->moveCentre(x,y);
+ }
+ // apply scaled majorization layout
+ ConstrainedMajorizationLayout alg(rs,es,nullptr,width/2);
+ alg.setConstraints(&ccs);
+ alg.setScaling(true);
+ alg.run();
+ // the following pair of nodes should line-up
+ assert(fabs(rs[0]->getCentreX()-rs[3]->getCentreX())<0.001);
+ cout<<rs[0]->getCentreX()<<","<<rs[3]->getCentreX()<<endl;
+ OutputFile output(rs,es,nullptr,"constrained.svg");
+ output.rects=true;
+ output.generate();
+
+ for(unsigned i=0;i<V;i++) {
+ delete rs[i];
+ }
+ return 0;
+}
diff --git a/src/3rdparty/adaptagrams/libcola/tests/containment.cpp b/src/3rdparty/adaptagrams/libcola/tests/containment.cpp
new file mode 100644
index 0000000..488700e
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/containment.cpp
@@ -0,0 +1,89 @@
+/*
+ * vim: ts=4 sw=4 et tw=0 wm=0
+ *
+ * libcola - A library providing force-directed network layout using the
+ * stress-majorization method subject to separation constraints.
+ *
+ * Copyright (C) 2006-2008 Monash University
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library in the file LICENSE; if not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place,
+ * Suite 330, Boston, MA 02111-1307 USA
+ *
+*/
+
+/** \file containment.cpp
+ *
+ * simple test of clustered graph layout
+ *
+ * Authors:
+ * Tim Dwyer <tgdwyer@gmail.com>
+ */
+#include <iostream>
+
+#include <map>
+#include <vector>
+#include <algorithm>
+#include <float.h>
+#include <iomanip>
+#include <libcola/cola.h>
+#include <libcola/output_svg.h>
+#include "graphlayouttest.h"
+
+using namespace cola;
+using namespace std;
+
+vector<vpsc::Rectangle*> rs;
+vector<Edge> es;
+RectangularCluster rc, rd;
+RootCluster root;
+unsigned iteration=0;
+
+int main() {
+
+ const unsigned V = 5;
+ typedef pair < unsigned, unsigned >Edge;
+ Edge edge_array[] = { Edge(0, 1), Edge(1, 2), Edge(2, 3), Edge(3, 4) };
+ const std::size_t E = sizeof(edge_array) / sizeof(Edge);
+ es.resize(E);
+ copy(edge_array,edge_array+E,es.begin());
+ double width=100;
+ double height=100;
+ for(unsigned i=0;i<V;i++) {
+ double x=getRand(width), y=getRand(height);
+ rs.push_back(new vpsc::Rectangle(x,x+20,y,y+15));
+ }
+
+ const unsigned c[]={0,4}, d[]={1,2,3};
+ unsigned nc=sizeof(c)/sizeof(unsigned), nd=sizeof(d)/sizeof(unsigned);
+ CheckProgress test(0.0001,100);
+ ConstrainedMajorizationLayout alg(rs,es,&root,30,nullptr,test);
+ alg.setScaling(true);
+ rc.nodes.resize(nc);
+ copy(c,c+nc,rc.nodes.begin());
+ rd.nodes.resize(nd);
+ copy(d,d+nd,rd.nodes.begin());
+ root.clusters.push_back(&rc);
+ root.clusters.push_back(&rd);
+ alg.run();
+ alg.setAvoidOverlaps();
+ alg.run();
+ OutputFile of(rs,es,&root,"containment.svg",false,true);
+ of.generate();
+ for(unsigned i=0;i<V;i++) {
+ delete rs[i];
+ }
+ return 0;
+}
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=4:softtabstop=4:textwidth=99 :
diff --git a/src/3rdparty/adaptagrams/libcola/tests/containment2.cpp b/src/3rdparty/adaptagrams/libcola/tests/containment2.cpp
new file mode 100644
index 0000000..d499ffc
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/containment2.cpp
@@ -0,0 +1,157 @@
+/*
+ * vim: ts=4 sw=4 et tw=0 wm=0
+ *
+ * libcola - A library providing force-directed network layout using the
+ * stress-majorization method subject to separation constraints.
+ *
+ * Copyright (C) 2006-2008 Monash University
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library in the file LICENSE; if not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place,
+ * Suite 330, Boston, MA 02111-1307 USA
+ *
+*/
+
+/** \file
+ * Interface between Inkscape code (SPItem) and graphlayout functions.
+ * Authors:
+ * Tim Dwyer <tgdwyer@gmail.com>
+ */
+#include <iostream>
+
+#include <map>
+#include <vector>
+#include <algorithm>
+#include <float.h>
+#include <iomanip>
+#include <libcola/cola.h>
+#include <libcola/output_svg.h>
+#include "graphlayouttest.h"
+
+using namespace cola;
+using namespace std;
+
+vector<vpsc::Rectangle*> rs;
+vector<Edge> es;
+RootCluster root;
+unsigned iteration=0;
+
+/**
+* \brief Determines when to terminate layout of a particular graph based
+* on a given relative tolerance.
+*/
+int main() {
+
+ const unsigned V = 19;
+ const char* labels[]={
+ "Hamza Alghamdi",
+ "Nawaf Alhazmi",
+ "Marwan Al-Shehhi",
+ "Mohand Alshehri",
+ "Ahmed Alghamdi",
+ "Saeed Alghamdi",
+ "Salem Alhazmi",
+ "Hani Hanjour",
+ "Mohamed Atta",
+ "Ziad Jarrah",
+ "Ahmed Al Haznawi",
+ "Fayez Ahmed",
+ "Ahmed Alnami",
+ "Khalid Al-Mihdhar",
+ "Majed Moqed",
+ "Abdul Aziz Al-Omari",
+ "Waleed Alshehri",
+ "Wail Alshehri",
+ "Satam Suqami"};
+
+ typedef pair < unsigned, unsigned >Edge;
+ Edge edge_array[] = {
+ Edge(0,1), Edge(0,3), Edge(0,4), Edge(0,5), Edge(0,10),
+ Edge(1,5), Edge(1,6), Edge(1,7), Edge(1,12), Edge(1,13),
+ Edge(2,8), Edge(2,9), Edge(2,11), Edge(2,15),
+ Edge(3,11),
+ Edge(5,10), Edge(5,12),
+ Edge(7,13), Edge(7,14),
+ Edge(8,9), Edge(8,15),
+ Edge(9,10),
+ Edge(15,16),
+ Edge(16,17), Edge(16,18),
+ Edge(17,18)
+ };
+ double g=10;
+ CompoundConstraints scy;
+ scy.push_back(new SeparationConstraint(0,10,g));
+ scy.push_back(new SeparationConstraint(0,3,g));
+ scy.push_back(new SeparationConstraint(0,4,g));
+ scy.push_back(new SeparationConstraint(0,12,g));
+ scy.push_back(new SeparationConstraint(0,5,g));
+ scy.push_back(new SeparationConstraint(1,12,g));
+ scy.push_back(new SeparationConstraint(1,5,g));
+ scy.push_back(new SeparationConstraint(1,13,g));
+ scy.push_back(new SeparationConstraint(1,6,g));
+ scy.push_back(new SeparationConstraint(1,7,g));
+ scy.push_back(new SeparationConstraint(2,8,g));
+ scy.push_back(new SeparationConstraint(2,9,g));
+ scy.push_back(new SeparationConstraint(2,15,g));
+ scy.push_back(new SeparationConstraint(2,11,g));
+ scy.push_back(new SeparationConstraint(5,12,g));
+ scy.push_back(new SeparationConstraint(7,13,g));
+ scy.push_back(new SeparationConstraint(7,14,g));
+ scy.push_back(new SeparationConstraint(16,17,g));
+ scy.push_back(new SeparationConstraint(16,18,g));
+ const std::size_t E = sizeof(edge_array) / sizeof(Edge);
+ es.resize(E);
+ copy(edge_array,edge_array+E,es.begin());
+ double width=100;
+ double height=100;
+ for(unsigned i=0;i<V;i++) {
+ double x=getRand(width), y=getRand(height);
+ rs.push_back(new vpsc::Rectangle(x,x+17,y,y+10));
+ }
+
+ RectangularCluster c;
+ c.nodes.push_back(0);
+ c.nodes.push_back(1);
+ RectangularCluster d;
+ d.nodes.push_back(3);
+ d.nodes.push_back(11);
+ RectangularCluster e;
+ e.nodes.push_back(8);
+ e.nodes.push_back(9);
+ e.nodes.push_back(10);
+ e.nodes.push_back(15);
+ e.nodes.push_back(16);
+ RectangularCluster f;
+ f.nodes.push_back(17);
+ f.nodes.push_back(18);
+ root.clusters.push_back(&c);
+ root.clusters.push_back(&d);
+ root.clusters.push_back(&e);
+ root.clusters.push_back(&f);
+ OutputFile of(rs,es,&root,"containment2.svg",true,true);
+ //of.setLabels(V,labels);
+ CheckProgress test(0.0001,100);
+ ConstrainedMajorizationLayout alg(rs,es,&root,30,nullptr,test);
+ alg.setScaling(false);
+ //alg.setYSeparationConstraints(&scy);
+ //alg.run();
+ alg.setAvoidOverlaps();
+ alg.run();
+ of.generate();
+ for(unsigned i=0;i<V;i++) {
+ delete rs[i];
+ }
+ return 0;
+}
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=4:softtabstop=4:textwidth=99 :
diff --git a/src/3rdparty/adaptagrams/libcola/tests/convex_hull.cpp b/src/3rdparty/adaptagrams/libcola/tests/convex_hull.cpp
new file mode 100644
index 0000000..38b6629
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/convex_hull.cpp
@@ -0,0 +1,180 @@
+/*
+ * vim: ts=4 sw=4 et tw=0 wm=0
+ *
+ * libcola - A library providing force-directed network layout using the
+ * stress-majorization method subject to separation constraints.
+ *
+ * Copyright (C) 2006-2008 Monash University
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library in the file LICENSE; if not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place,
+ * Suite 330, Boston, MA 02111-1307 USA
+ *
+*/
+
+/**
+ * Really basic regression test of convex hull implementation
+ * declared in libcola/convex_hull.h
+ */
+#include <valarray>
+#include <algorithm>
+#include <libcola/convex_hull.h>
+#include "graphlayouttest.h"
+
+#include <string>
+#include <iostream>
+#include <cairomm/context.h>
+#include <cairomm/surface.h>
+
+/* M_PI is defined in math.h in the case of Microsoft Visual C++ */
+#if defined(_MSC_VER)
+#define _USE_MATH_DEFINES
+#include <math.h>
+#endif
+using namespace std;
+
+typedef vector<unsigned> Hull;
+/**
+ * generates a random set of n points in X and Y.
+ */
+void randTest(unsigned n, valarray<double>& X, valarray<double>& Y) {
+ X.resize(n);
+ Y.resize(n);
+ srand(time(nullptr));
+ for(unsigned i=0;i<n;i++) {
+ X[i]=getRand(1.);
+ Y[i]=getRand(1.);
+ }
+}
+/**
+ * generates a set of 8 points (actually the vertices of two rectangles)
+ * which lineup horizontally. The expected hull are the lower-left and
+ * top-left corners of the left rectangle and the top-right/lower-right
+ * corners of the right rectangle.
+ */
+void tworects(valarray<double>& X, valarray<double>& Y, Hull& expectedHull) {
+ const unsigned n=8;
+ X.resize(n);
+ Y.resize(n);
+ X[0]=330.011898, Y[0]=203.250425;
+ X[1]=330.011898, Y[1]=237.250425;
+ X[2]=276.011898, Y[2]=237.250425;
+ X[3]=276.011898, Y[3]=203.250425;
+ X[4]=459.998300, Y[4]=203.250425;
+ X[5]=459.998300, Y[5]=237.250425;
+ X[6]=405.998300, Y[6]=237.250425;
+ X[7]=405.998300, Y[7]=203.250425;
+ unsigned hull[]={3,4,5,2};
+ unsigned m=sizeof(hull)/sizeof(unsigned);
+ expectedHull.resize(m);
+ copy(hull,hull+m,expectedHull.begin());
+}
+
+int drawCairo(const string& fname,
+ const valarray<double>& X, const valarray<double>& Y,
+ const Hull& hull);
+
+int main(int argc, char** argv) {
+ valarray<double> X, Y;
+ Hull h,expectedHull;
+ tworects(X,Y,expectedHull);
+ hull::convex(X,Y,h);
+ printf("hull size=%d\n",h.size());
+ pair<Hull::iterator,Hull::iterator> r
+ =mismatch(h.begin(),h.end(),expectedHull.begin());
+ assert(r.first==h.end());
+ drawCairo("convex_tworects.svg",X,Y,h);
+
+ randTest(20,X,Y);
+ hull::convex(X,Y,h);
+ drawCairo("convex_hull_random.svg",X,Y,h);
+ return 0;
+}
+
+/***********CAIRO CODE***************************************************/
+double width = 600;
+double height = 400;
+double border=10;
+void dot(Cairo::RefPtr<Cairo::Context> & cr, double x, double y) {
+ cr->arc(x, y,
+ 2., 0.0, 2.0 * M_PI);
+ cr->stroke();
+}
+
+double xcoord(double x) {
+ return border+x*width;
+}
+double ycoord(double y) {
+ return border+y*height;
+}
+int drawCairo(const string& fname,
+ const valarray<double>& Xin, const valarray<double>& Yin,
+ const Hull& hull) {
+#ifdef CAIRO_HAS_SVG_SURFACE
+ unsigned n=Xin.size();
+ assert(Yin.size()==n);
+
+ // normalise coords to range 0-1
+ valarray<double> X=Xin, Y=Yin;
+ X-=X.min();
+ Y-=Y.min();
+ X/=X.max();
+ Y/=Y.max();
+
+ Cairo::RefPtr<Cairo::SvgSurface> surface =
+ Cairo::SvgSurface::create(fname, width+2*border, height+2*border);
+
+ Cairo::RefPtr<Cairo::Context> cr = Cairo::Context::create(surface);
+
+ cr->save(); // save the state of the context
+ cr->set_source_rgba(0.0, 0.0, 0.0, 0.7);
+ // draw a circle at each coordinate
+ for(unsigned i=0;i<n;i++) {
+ dot(cr,xcoord(X[i]),ycoord(Y[i]));
+ }
+
+ cr->set_source_rgba(0.0, 0.0, 0.0, 0.3);
+ cr->move_to(xcoord(X[hull[0]]),ycoord(Y[hull[0]]));
+ for(unsigned i=1;i<hull.size();i++) {
+ cr->line_to(xcoord(X[hull[i]]),ycoord(Y[hull[i]]));
+ }
+ cr->line_to(xcoord(X[hull[0]]),ycoord(Y[hull[0]]));
+ cr->stroke();
+ cr->set_source_rgba(0.0, 0.0, 0.0, 1.);
+ for(vector<unsigned>::const_iterator i=hull.begin();i!=hull.end();++i) {
+ unsigned j=*i;
+ stringstream ss;
+ ss<<j;
+ printf("p[%d]=(%f,%f)\n",j,X[j],Y[j]);
+ cr->move_to(xcoord(X[j]),ycoord(Y[j]));
+ cr->show_text(ss.str());
+ cr->stroke();
+ }
+ cr->restore();
+
+ cr->show_page();
+
+ cout << "Wrote SVG file \"" << fname << "\"" << endl;
+ return 0;
+
+#else
+
+ cout << "You must compile cairo with SVG support for this example to work."
+ << endl;
+ return 1;
+
+#endif
+
+}
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=4:softtabstop=4 :
diff --git a/src/3rdparty/adaptagrams/libcola/tests/cycle_detector.cpp b/src/3rdparty/adaptagrams/libcola/tests/cycle_detector.cpp
new file mode 100644
index 0000000..3b9a0a4
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/cycle_detector.cpp
@@ -0,0 +1,386 @@
+/*
+ * vim: ts=4 sw=4 et tw=0 wm=0
+ *
+ * libcola - A library providing force-directed network layout using the
+ * stress-majorization method subject to separation constraints.
+ *
+ * Copyright (C) 2006-2008 Monash University
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library in the file LICENSE; if not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place,
+ * Suite 330, Boston, MA 02111-1307 USA
+ *
+*/
+
+#include <iostream>
+#include <vector>
+#include <assert.h>
+#include <libcola/cola.h>
+#include <libcola/cycle_detector.h>
+#include "graphlayouttest.h"
+
+using namespace std;
+using namespace cola;
+using namespace cycle_detector;
+using vpsc::Rectangle;
+
+int main() {
+ CycleDetector *cd;
+ Edges case_a, case_b, case_c, case_d, case_e, case_f, case_g;
+
+ CyclicEdges *cycles = nullptr;
+ vector<Rectangle *> rs;
+ unsigned V;
+
+ // create case A
+ // case A consists of a basic graph where the start point is a source
+ cout << endl << "ENTERING CASE A" << endl;
+ V = 5;
+ case_a.push_back(Edge(0, 1));
+ case_a.push_back(Edge(1, 2));
+ case_a.push_back(Edge(2, 3));
+ case_a.push_back(Edge(3, 4));
+ case_a.push_back(Edge(4, 1));
+
+ // detect the cycles
+ cd = new CycleDetector(V, &case_a);
+ cycles = cd->detect_cycles();
+
+ if (cycles != nullptr) {
+ cout << "cycles->size(): " << cycles->size() << endl;
+ for (unsigned i = 0; i < case_a.size(); i++) {
+ // print out the cycles
+ if ((*cycles)[i]) cout << "Cyclic edge found: (" << case_a[i].first << ", " << case_a[i].second << ")" << endl;
+ }
+
+ cout << endl;
+
+ // output a picture
+ rs.push_back(new Rectangle(10,10+5,10,10+5));
+ rs.push_back(new Rectangle(30,30+5,30,30+5));
+ rs.push_back(new Rectangle(30,30+5,60,60+5));
+ rs.push_back(new Rectangle(65,65+5,60,60+5));
+ rs.push_back(new Rectangle(65,65+5,30,30+5));
+
+ assert(rs.size() == V);
+
+ output_svg(rs, case_a, "cycle_detector_case_a.svg", false, true, cycles);
+ for (unsigned i = 0; i < rs.size(); i++) { delete rs[i]; }
+ rs.clear();
+ delete cycles;
+ }
+ else {
+ cout << "No cycles found" << endl;
+ }
+
+ // create case B
+ // case B is the same graph of case A but with more elements
+ cout << endl << "ENTERING CASE B" << endl;
+ V = 7;
+ case_b.push_back(Edge(0, 1));
+ case_b.push_back(Edge(1, 2));
+ case_b.push_back(Edge(2, 3));
+ case_b.push_back(Edge(3, 4));
+ case_b.push_back(Edge(4, 1));
+ case_b.push_back(Edge(5, 2));
+ case_b.push_back(Edge(6, 5));
+
+ // detect the cycles
+ cd->mod_graph(V, &case_b);
+ cycles = cd->detect_cycles();
+
+ if (cycles != nullptr) {
+ cout << "cycles->size(): " << cycles->size() << endl;
+ for (unsigned i = 0; i < case_b.size(); i++) {
+ // print out the cycles
+ if ((*cycles)[i]) cout << "Cyclic edge found: (" << case_b[i].first << ", " << case_b[i].second << ")" << endl;
+ }
+
+ cout << endl;
+
+ // output a picture
+ rs.push_back(new Rectangle(10,10+5,10,10+5));
+ rs.push_back(new Rectangle(30,30+5,30,30+5));
+ rs.push_back(new Rectangle(30,30+5,60,60+5));
+ rs.push_back(new Rectangle(65,65+5,60,60+5));
+ rs.push_back(new Rectangle(65,65+5,30,30+5));
+ rs.push_back(new Rectangle(30,30+5,90,90+5));
+ rs.push_back(new Rectangle(65,65+5,90,90+5));
+
+ assert(rs.size() == V);
+
+ output_svg(rs, case_b, "cycle_detector_case_b.svg", false, true, cycles);
+ for (unsigned i = 0; i < rs.size(); i++) { delete rs[i]; }
+ rs.clear();
+ delete cycles;
+ }
+
+ // create case C
+ // case C is a more complicated graph with nested cycles
+ cout << endl << "ENTERING CASE C" << endl;
+ V = 14;
+ case_c.push_back(Edge(0, 1));
+ case_c.push_back(Edge(0, 5));
+ case_c.push_back(Edge(0, 6));
+ case_c.push_back(Edge(2, 0));
+ case_c.push_back(Edge(3, 5));
+ case_c.push_back(Edge(4, 3));
+ case_c.push_back(Edge(5, 4));
+ case_c.push_back(Edge(5, 13));
+ case_c.push_back(Edge(6, 2));
+ case_c.push_back(Edge(6, 9));
+ case_c.push_back(Edge(7, 6));
+ case_c.push_back(Edge(8, 7));
+ case_c.push_back(Edge(9, 10));
+ case_c.push_back(Edge(9, 11));
+ case_c.push_back(Edge(9, 12));
+ case_c.push_back(Edge(10, 6));
+ case_c.push_back(Edge(12, 10));
+ case_c.push_back(Edge(13, 4));
+
+ // detect the cycles
+ //cd = new CycleDetector(V, &case_c);
+ cd->mod_graph(V, &case_c);
+ cycles = cd->detect_cycles();
+ if (cycles != nullptr) {
+ cout << "cycles->size(): " << cycles->size() << endl;
+ for (unsigned i = 0; i < case_c.size(); i++) {
+ // print out the cycles
+ if ((*cycles)[i]) cout << "Cyclic edge found: (" << case_c[i].first << ", " << case_c[i].second << ")" << endl;
+ }
+
+ cout << endl;
+
+ // output a picture
+ rs.push_back(new Rectangle(10,10+5,10,10+5)); // node 0
+ rs.push_back(new Rectangle(20,20+5,40,40+5)); // node 1
+ rs.push_back(new Rectangle(40,40+5,30,30+5)); // node 2
+ rs.push_back(new Rectangle(30,30+5,60,60+5)); // node 3
+ rs.push_back(new Rectangle(60,60+5,60,60+5)); // node 4
+ rs.push_back(new Rectangle(10,10+5,90,90+5)); // node 5
+ rs.push_back(new Rectangle(80,80+5,15,15+5)); // node 6
+ rs.push_back(new Rectangle(110,110+5,15,15+5)); // node 7
+ rs.push_back(new Rectangle(140,140+5,15,15+5)); // node 8
+ rs.push_back(new Rectangle(110,110+5,60,60+5)); // node 9
+ rs.push_back(new Rectangle(100,100+5,85,85+5)); // node 10
+ rs.push_back(new Rectangle(140,140+5,50,50+5)); // node 11
+ rs.push_back(new Rectangle(140,140+5,70,70+5)); // node 12
+ rs.push_back(new Rectangle(45,45+5,90,90+5)); // node 13
+
+ assert(rs.size() == V);
+
+ output_svg(rs, case_c, "cycle_detector_case_c.svg", false, true, cycles);
+ for(int i = 0; i < V; i++) { delete rs[i]; }
+ rs.clear();
+ delete cycles;
+ }
+
+ // create case D
+ // case D consists of the same graph as case A but with a different starting location
+ cout << endl << "ENTERING CASE D" << endl;
+ V = 5;
+ case_d.push_back(Edge(0, 1));
+ case_d.push_back(Edge(1, 2));
+ case_d.push_back(Edge(2, 3));
+ case_d.push_back(Edge(3, 0));
+ case_d.push_back(Edge(4, 1));
+
+ // detect the cycles
+ cd->mod_graph(V, &case_d);
+ cycles = cd->detect_cycles();
+
+ if (cycles != nullptr) {
+ cout << "cycles->size(): " << cycles->size() << endl;
+ for (unsigned i = 0; i < case_d.size(); i++) {
+ // print out the cycles
+ if ((*cycles)[i]) cout << "Cyclic edge found: (" << case_d[i].first << ", " << case_d[i].second << ")" << endl;
+ }
+
+ cout << endl;
+
+ // output a picture
+ rs.push_back(new Rectangle(65,65+5,60,60+5));
+ rs.push_back(new Rectangle(65,65+5,30,30+5));
+ rs.push_back(new Rectangle(30,30+5,30,30+5));
+ rs.push_back(new Rectangle(30,30+5,60,60+5));
+ rs.push_back(new Rectangle(10,10+5,10,10+5));
+
+ assert(rs.size() == V);
+
+ output_svg(rs, case_d, "cycle_detector_case_d.svg", false, true, cycles);
+ for (unsigned i = 0; i < rs.size(); i++) { delete rs[i]; }
+ rs.clear();
+ delete cycles;
+ }
+ else {
+ cout << "No cycles found" << endl;
+ }
+
+ // create case E
+ // case E is a reordering of case C
+ cout << endl << "ENTERING CASE E" << endl;
+ V = 14;
+ case_e.push_back(Edge(0, 6));
+ case_e.push_back(Edge(0, 9));
+ case_e.push_back(Edge(1, 4));
+ case_e.push_back(Edge(3, 10));
+ case_e.push_back(Edge(4, 3));
+ case_e.push_back(Edge(5, 0));
+ case_e.push_back(Edge(6, 7));
+ case_e.push_back(Edge(7, 0));
+ case_e.push_back(Edge(7, 2));
+ case_e.push_back(Edge(7, 10));
+ case_e.push_back(Edge(8, 5));
+ case_e.push_back(Edge(9, 12));
+ case_e.push_back(Edge(9, 11));
+ case_e.push_back(Edge(9, 13));
+ case_e.push_back(Edge(10, 1));
+ case_e.push_back(Edge(10, 4));
+ case_e.push_back(Edge(12, 0));
+ case_e.push_back(Edge(11, 12));
+
+ // detect the cycles
+ cd->mod_graph(V, &case_e);
+ cycles = cd->detect_cycles();
+ if (cycles != nullptr) {
+ cout << "cycles->size(): " << cycles->size() << endl;
+ for (unsigned i = 0; i < case_e.size(); i++) {
+ // print out the cycles
+ if ((*cycles)[i]) cout << "Cyclic edge found: (" << case_e[i].first << ", " << case_e[i].second << ")" << endl;
+ }
+
+ cout << endl;
+
+ // output a picture
+ rs.push_back(new Rectangle(80,80+5,15,15+5)); // node 6
+ rs.push_back(new Rectangle(45,45+5,90,90+5)); // node 13
+ rs.push_back(new Rectangle(20,20+5,40,40+5)); // node 1
+ rs.push_back(new Rectangle(30,30+5,60,60+5)); // node 3
+ rs.push_back(new Rectangle(60,60+5,60,60+5)); // node 4
+ rs.push_back(new Rectangle(110,110+5,15,15+5)); // node 7
+ rs.push_back(new Rectangle(40,40+5,30,30+5)); // node 2
+ rs.push_back(new Rectangle(10,10+5,10,10+5)); // node 0
+ rs.push_back(new Rectangle(140,140+5,15,15+5)); // node 8
+ rs.push_back(new Rectangle(110,110+5,60,60+5)); // node 9
+ rs.push_back(new Rectangle(10,10+5,90,90+5)); // node 5
+ rs.push_back(new Rectangle(140,140+5,70,70+5)); // node 12
+ rs.push_back(new Rectangle(100,100+5,85,85+5)); // node 10
+ rs.push_back(new Rectangle(140,140+5,50,50+5)); // node 11
+
+ assert(rs.size() == V);
+
+ output_svg(rs, case_e, "cycle_detector_case_e.svg", false, true, cycles);
+ for(int i = 0; i < V; i++) { delete rs[i]; }
+ rs.clear();
+ delete cycles;
+ }
+
+ // create case F
+ // case F consists of the same graph with sinks
+ cout << endl << "ENTERING CASE F" << endl;
+ V = 3;
+ case_f.push_back(Edge(0, 1));
+ case_f.push_back(Edge(0, 2));
+ case_f.push_back(Edge(1, 2));
+
+ // detect the cycles
+ cd->mod_graph(V, &case_f);
+ cycles = cd->detect_cycles();
+
+ if (cycles != nullptr) {
+ // output a picture
+ rs.push_back(new Rectangle(10,10+5,10,10+5));
+ rs.push_back(new Rectangle(40,40+5,30,30+5));
+ rs.push_back(new Rectangle(15,15+5,60,60+5));
+
+ assert(rs.size() == V);
+
+ output_svg(rs, case_f, "cycle_detector_case_f.svg", false, true, cycles);
+ for (unsigned i = 0; i < rs.size(); i++) { delete rs[i]; }
+ rs.clear();
+
+ cout << "No cycles found" << endl;
+ }
+
+ // This tests the cycle detectors ability to cycle through a chain of cyclic ancestors
+ cout << endl << "ENTERING CYCLIC ANCESTOR TEST" << endl;
+ Node a(1), b(2), c(3), d(4), e(5), f(6);
+ // set up the chain
+ f.cyclicAncestor = &e;
+ e.cyclicAncestor = &d;
+ d.cyclicAncestor = &c;
+ c.cyclicAncestor = &b;
+ b.cyclicAncestor = &a;
+ a.cyclicAncestor = &a;
+
+ Node *ca = cd->get_highest_ca(&f);
+ if (ca != nullptr) { cout << "Highest cyclic ancestor found at vertex(" << ca->id << ")" << endl; }
+
+ // create case G
+ // case G hows the ability to find nested cycles and to reassign cyclic ancestors
+ cout << endl << "ENTERING CASE G" << endl;
+ V = 7;
+ case_g.push_back(Edge(0, 1));
+ case_g.push_back(Edge(1, 2));
+ case_g.push_back(Edge(2, 3));
+ case_g.push_back(Edge(3, 4));
+ case_g.push_back(Edge(4, 5));
+ case_g.push_back(Edge(5, 6));
+ case_g.push_back(Edge(6, 5));
+ case_g.push_back(Edge(5, 4));
+ case_g.push_back(Edge(4, 3));
+ case_g.push_back(Edge(3, 2));
+ case_g.push_back(Edge(2, 1));
+ case_g.push_back(Edge(1, 0));
+ case_g.push_back(Edge(0, 6));
+
+ // detect the cycles
+ cd->mod_graph(V, &case_g);
+ cycles = cd->detect_cycles();
+
+ if (cycles != nullptr) {
+ cout << "cycles->size(): " << cycles->size() << endl;
+ for (unsigned i = 0; i < case_g.size(); i++) {
+ // print out the cycles
+ if ((*cycles)[i]) cout << "Cyclic edge found: (" << case_g[i].first << ", " << case_g[i].second << ")" << endl;
+ }
+
+ cout << endl;
+
+ // output a picture
+ cout << "No picture generated" << endl;
+
+ /*rs.push_back(new Rectangle(50,50+5,10,10+5));
+ rs.push_back(new Rectangle(50,50+5,30,30+5));
+ rs.push_back(new Rectangle(50,50+5,60,60+5));
+ rs.push_back(new Rectangle(10,10+5,70,70+5));
+ rs.push_back(new Rectangle(50,50+5,100,100+5));
+ rs.push_back(new Rectangle(10,10+5,40,40+5));
+
+ assert(rs.size() == V);
+
+ output_svg(rs, case_a, "cycle_detector_case_g.svg", false, true, cycles);
+ for (unsigned i = 0; i < rs.size(); i++) { delete rs[i]; }
+ rs.clear();*/
+ delete cycles;
+ }
+ else {
+ cout << "No cycles found" << endl;
+ }
+
+ // END TEST
+ delete cd;
+
+ return 0;
+}
diff --git a/src/3rdparty/adaptagrams/libcola/tests/data/1138_bus.txt b/src/3rdparty/adaptagrams/libcola/tests/data/1138_bus.txt
new file mode 100644
index 0000000..fb63ec3
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/data/1138_bus.txt
@@ -0,0 +1,1458 @@
+4 0
+562 0
+9 1
+562 1
+10 2
+33 2
+34 2
+103 2
+474 2
+6 3
+26 3
+100 3
+101 3
+102 3
+8 4
+6 5
+36 5
+97 5
+102 5
+36 6
+100 6
+101 6
+102 6
+25 7
+34 7
+723 7
+9 8
+103 8
+103 9
+11 10
+37 10
+565 10
+33 12
+103 12
+412 13
+15 14
+16 14
+17 14
+18 14
+410 14
+20 19
+36 19
+101 19
+21 20
+22 20
+23 20
+24 20
+34 25
+27 26
+28 26
+29 26
+100 26
+31 30
+99 30
+99 31
+99 32
+103 33
+552 33
+103 34
+709 34
+710 35
+101 36
+38 37
+97 37
+411 37
+98 38
+40 39
+42 39
+44 39
+41 40
+43 40
+145 42
+485 43
+48 44
+47 45
+47 46
+53 47
+505 47
+49 48
+52 48
+50 49
+51 49
+124 51
+53 52
+54 52
+424 53
+444 53
+446 53
+62 55
+65 56
+69 57
+66 58
+67 59
+129 60
+128 61
+63 62
+64 62
+70 63
+130 63
+225 63
+1094 64
+66 65
+67 65
+73 65
+182 65
+225 65
+67 66
+68 66
+73 67
+89 67
+200 67
+69 68
+181 69
+195 69
+1062 69
+1064 69
+1073 69
+71 70
+72 71
+120 71
+74 73
+75 73
+77 73
+79 73
+118 73
+203 74
+809 74
+917 74
+76 75
+77 75
+126 75
+1049 76
+78 77
+451 77
+415 78
+416 78
+453 78
+80 79
+446 79
+451 79
+447 80
+449 80
+463 80
+93 81
+93 82
+94 83
+86 84
+125 84
+86 85
+240 85
+250 85
+252 85
+266 85
+268 85
+282 85
+290 85
+292 85
+293 85
+301 85
+314 85
+87 86
+104 88
+114 88
+90 89
+91 90
+107 90
+114 90
+115 90
+92 91
+93 92
+251 92
+263 92
+270 92
+287 92
+291 92
+292 92
+293 92
+321 92
+322 92
+323 92
+324 92
+325 92
+95 93
+263 93
+317 93
+324 93
+96 94
+261 94
+267 94
+299 94
+144 95
+703 95
+704 95
+267 96
+412 98
+724 99
+731 99
+101 100
+102 100
+102 101
+477 102
+105 104
+108 104
+107 106
+109 107
+1028 108
+110 109
+327 109
+366 109
+369 109
+366 110
+367 110
+700 110
+112 111
+369 111
+685 111
+113 112
+114 112
+689 112
+1008 113
+116 115
+125 115
+118 117
+122 118
+120 119
+121 120
+503 120
+122 121
+123 121
+124 122
+124 123
+126 123
+125 124
+128 124
+545 124
+128 125
+127 126
+132 129
+172 129
+212 129
+131 130
+132 130
+135 130
+143 131
+741 131
+133 132
+135 134
+138 134
+739 134
+140 135
+138 136
+140 136
+760 136
+140 137
+876 137
+881 137
+139 138
+828 139
+829 139
+257 141
+365 141
+143 142
+742 142
+744 142
+825 142
+826 143
+317 144
+702 144
+146 145
+147 146
+165 148
+172 149
+174 150
+179 151
+182 152
+206 153
+197 154
+212 155
+218 156
+225 157
+181 158
+204 158
+171 159
+232 159
+221 160
+742 160
+162 161
+168 161
+208 161
+222 161
+231 161
+185 162
+200 162
+226 162
+165 163
+165 164
+166 164
+174 164
+193 164
+191 165
+200 165
+217 165
+174 166
+179 167
+208 167
+186 168
+187 169
+193 169
+177 170
+216 170
+172 171
+221 171
+754 171
+183 172
+210 173
+215 173
+178 174
+176 175
+177 175
+206 175
+206 176
+213 177
+216 177
+202 178
+208 179
+182 180
+182 181
+204 181
+220 181
+183 182
+200 182
+225 182
+192 183
+212 183
+186 184
+186 185
+217 185
+187 186
+205 186
+208 186
+210 188
+215 188
+198 189
+194 190
+196 190
+197 190
+210 190
+198 191
+217 191
+219 191
+197 192
+198 192
+207 192
+215 193
+210 194
+211 196
+200 199
+201 199
+217 200
+202 201
+220 204
+215 205
+207 206
+223 206
+214 209
+216 209
+217 209
+211 210
+503 212
+216 213
+217 215
+219 218
+229 218
+221 220
+224 220
+224 221
+232 221
+742 221
+231 222
+1025 223
+227 226
+228 227
+230 227
+231 227
+231 230
+235 233
+306 233
+235 234
+242 234
+269 234
+271 234
+297 234
+298 234
+285 235
+260 236
+286 236
+308 236
+365 236
+701 236
+238 237
+269 237
+269 238
+280 238
+258 239
+241 240
+245 240
+252 240
+256 240
+265 240
+274 240
+278 240
+288 240
+290 240
+291 240
+292 240
+293 240
+298 240
+309 240
+320 240
+326 240
+243 241
+244 241
+271 243
+297 244
+309 245
+247 246
+254 246
+254 247
+281 248
+256 249
+262 249
+288 249
+316 249
+266 250
+309 251
+312 251
+254 253
+284 253
+257 254
+259 254
+262 254
+289 255
+316 255
+320 255
+260 257
+326 257
+277 258
+288 259
+267 261
+275 261
+313 261
+310 263
+275 264
+299 264
+306 265
+281 266
+283 266
+301 266
+269 267
+300 267
+283 268
+274 269
+278 269
+279 269
+317 269
+319 269
+273 272
+302 272
+314 272
+311 273
+284 276
+288 276
+308 277
+291 282
+290 287
+297 294
+296 295
+298 296
+695 299
+313 300
+311 302
+304 303
+314 303
+328 303
+314 304
+321 305
+322 307
+325 310
+314 311
+315 314
+318 314
+322 314
+321 315
+703 317
+328 318
+324 323
+334 329
+335 330
+336 331
+349 332
+349 333
+336 334
+336 335
+337 336
+338 336
+339 336
+339 337
+339 338
+340 339
+341 339
+341 340
+342 341
+343 341
+344 341
+369 341
+345 342
+345 343
+345 344
+346 345
+348 345
+366 345
+347 346
+348 347
+349 348
+365 350
+352 351
+407 351
+408 351
+362 352
+381 352
+381 353
+382 353
+374 354
+382 355
+397 355
+393 356
+394 356
+478 357
+473 358
+714 359
+478 360
+479 360
+402 361
+713 361
+363 362
+364 362
+372 362
+373 362
+387 362
+394 362
+406 362
+473 362
+698 365
+367 366
+371 366
+370 368
+371 370
+375 374
+376 374
+377 374
+378 374
+379 374
+380 374
+388 374
+403 374
+383 382
+384 382
+385 382
+386 382
+391 382
+388 387
+389 387
+390 387
+394 387
+400 387
+404 387
+394 391
+473 392
+478 392
+394 393
+397 394
+398 394
+404 394
+405 394
+406 394
+473 394
+405 395
+715 395
+716 395
+715 396
+716 396
+472 399
+401 400
+713 400
+408 403
+478 405
+482 405
+715 405
+716 405
+410 409
+411 409
+730 409
+475 410
+476 410
+485 410
+412 411
+477 411
+708 411
+723 411
+430 413
+432 413
+431 414
+432 414
+432 415
+461 415
+432 416
+461 416
+418 417
+544 417
+420 419
+421 419
+469 419
+424 422
+515 422
+465 423
+515 423
+425 424
+426 424
+465 424
+436 425
+518 425
+428 427
+429 427
+430 427
+431 427
+433 432
+509 432
+563 432
+509 434
+533 435
+437 436
+438 436
+440 436
+457 436
+439 438
+459 438
+441 440
+443 442
+469 442
+505 442
+515 442
+457 443
+445 444
+446 444
+448 446
+536 446
+463 447
+449 448
+450 449
+452 451
+454 453
+456 455
+563 455
+458 457
+459 457
+460 459
+462 461
+464 463
+544 463
+967 464
+466 465
+543 467
+542 468
+471 470
+477 470
+480 470
+491 470
+706 470
+707 470
+473 472
+709 474
+723 474
+481 475
+477 476
+707 477
+708 477
+479 478
+713 478
+725 478
+483 480
+484 480
+490 480
+491 480
+732 480
+482 481
+708 483
+732 483
+490 484
+730 485
+490 486
+490 487
+491 488
+491 489
+491 490
+733 490
+706 491
+706 492
+504 493
+512 494
+520 495
+521 496
+522 497
+499 498
+818 498
+913 498
+501 500
+504 500
+506 500
+520 500
+530 500
+535 500
+606 501
+608 501
+612 501
+936 501
+506 502
+512 502
+552 502
+504 503
+520 504
+525 504
+577 504
+507 506
+508 506
+514 506
+520 506
+521 506
+546 506
+618 507
+638 507
+780 507
+510 508
+514 508
+519 508
+533 508
+519 509
+913 510
+925 510
+519 511
+513 512
+539 512
+789 513
+794 513
+515 514
+516 514
+517 514
+535 514
+546 514
+992 516
+994 516
+956 518
+966 518
+521 520
+522 521
+581 522
+769 522
+778 522
+801 522
+532 523
+984 523
+1000 523
+567 524
+526 525
+530 525
+920 526
+932 526
+1067 526
+1072 526
+1073 526
+1123 526
+528 527
+808 527
+818 527
+577 529
+582 529
+779 529
+796 529
+802 529
+531 530
+533 530
+553 531
+646 531
+651 531
+662 531
+667 531
+671 531
+672 531
+676 531
+907 531
+911 531
+917 531
+1046 531
+534 533
+535 533
+541 533
+884 534
+536 535
+537 535
+538 535
+541 535
+808 537
+913 537
+947 537
+952 537
+963 537
+799 539
+542 540
+542 541
+544 541
+545 541
+543 542
+550 547
+562 548
+565 549
+551 550
+554 550
+565 550
+557 551
+559 551
+560 552
+709 552
+573 553
+908 553
+555 554
+556 554
+563 554
+565 554
+558 555
+578 555
+620 555
+902 555
+557 556
+978 557
+979 557
+985 557
+988 557
+990 557
+997 557
+999 557
+578 558
+979 559
+561 560
+565 560
+562 561
+566 562
+566 564
+566 565
+772 567
+794 567
+784 568
+578 569
+775 570
+782 571
+795 572
+580 574
+581 575
+783 575
+785 576
+801 576
+1089 576
+779 577
+579 578
+781 578
+782 578
+894 578
+926 578
+586 579
+775 580
+795 580
+796 580
+798 580
+779 582
+802 582
+584 583
+1067 583
+606 584
+612 584
+658 584
+596 585
+597 586
+613 586
+594 587
+596 587
+590 588
+594 589
+615 589
+600 590
+610 591
+603 592
+599 593
+596 595
+602 595
+606 595
+1104 598
+600 599
+781 599
+601 600
+632 600
+639 601
+603 602
+604 602
+1091 602
+611 603
+614 603
+606 604
+609 605
+609 607
+1100 607
+1067 608
+614 610
+1122 616
+628 617
+638 617
+619 618
+631 619
+623 620
+1060 620
+624 621
+640 621
+638 622
+641 622
+637 623
+634 624
+633 625
+634 625
+638 626
+630 627
+641 627
+636 628
+642 628
+630 629
+634 629
+795 629
+633 631
+640 631
+635 634
+1093 635
+651 643
+661 643
+649 644
+1059 644
+663 645
+1050 645
+1040 646
+677 647
+1041 647
+671 648
+1054 648
+652 649
+669 650
+1044 650
+652 651
+662 651
+665 651
+667 651
+675 651
+1053 651
+1047 652
+676 653
+1056 653
+656 654
+664 654
+677 655
+1054 656
+670 657
+671 657
+676 658
+1049 659
+1057 659
+676 660
+671 661
+1055 663
+681 664
+680 665
+1050 666
+678 668
+1057 668
+1120 669
+678 670
+672 671
+681 671
+1048 671
+1049 671
+1051 671
+1057 671
+1120 671
+674 673
+1045 673
+1049 674
+1042 675
+677 676
+1040 676
+1058 676
+1046 679
+1056 679
+1052 680
+688 682
+688 683
+690 684
+686 685
+687 685
+688 687
+693 687
+698 687
+699 687
+701 687
+692 688
+690 689
+693 689
+696 689
+691 690
+694 690
+694 692
+694 693
+697 696
+699 698
+706 705
+725 706
+708 707
+723 710
+733 710
+713 711
+713 712
+714 713
+733 713
+716 715
+723 717
+723 718
+723 719
+723 720
+723 721
+723 722
+724 723
+733 723
+727 726
+730 726
+730 727
+729 728
+730 728
+730 729
+742 734
+741 735
+742 736
+741 737
+743 738
+740 739
+741 739
+743 739
+748 740
+758 740
+742 741
+745 742
+755 743
+745 744
+747 746
+757 746
+756 747
+752 748
+750 749
+758 749
+756 751
+761 751
+756 753
+764 753
+763 754
+756 755
+760 759
+765 760
+766 760
+762 761
+767 765
+768 767
+771 767
+822 769
+771 770
+773 772
+794 772
+800 772
+801 772
+775 774
+780 774
+780 775
+795 775
+796 775
+1126 775
+792 776
+794 776
+799 776
+778 777
+779 778
+786 778
+796 779
+948 779
+782 781
+801 783
+785 784
+787 784
+795 784
+796 784
+801 784
+1127 785
+948 786
+788 787
+795 787
+1131 787
+1093 788
+790 789
+794 789
+798 791
+1109 791
+793 792
+824 792
+794 793
+799 793
+798 795
+797 796
+802 796
+804 796
+1118 796
+1113 797
+1136 801
+803 802
+1137 804
+820 805
+886 806
+896 807
+919 808
+810 809
+917 809
+908 811
+884 812
+939 812
+1121 812
+814 813
+908 813
+917 813
+816 815
+926 815
+817 816
+906 816
+819 818
+887 820
+896 820
+920 820
+879 821
+884 821
+934 821
+824 823
+836 827
+837 827
+873 827
+832 828
+838 828
+832 829
+839 829
+840 830
+868 830
+841 831
+868 831
+842 832
+843 833
+873 833
+844 834
+861 834
+845 835
+868 835
+858 837
+859 837
+847 846
+872 847
+853 848
+862 848
+863 848
+854 849
+872 849
+855 850
+857 850
+856 851
+868 851
+875 852
+872 857
+860 859
+862 861
+868 862
+864 863
+868 863
+868 865
+876 865
+877 866
+868 867
+870 867
+876 867
+869 868
+870 869
+876 869
+881 871
+881 872
+877 873
+875 874
+881 874
+877 876
+882 876
+881 878
+881 880
+936 883
+1122 883
+913 884
+917 884
+894 885
+926 885
+936 885
+895 886
+896 886
+923 887
+916 888
+890 889
+907 889
+916 889
+892 891
+898 891
+926 891
+920 893
+935 893
+1125 893
+1124 894
+896 895
+912 896
+916 896
+943 896
+913 897
+925 897
+899 898
+907 898
+912 900
+1128 900
+905 901
+986 902
+904 903
+938 903
+943 903
+921 905
+938 905
+922 906
+911 907
+916 907
+926 907
+909 908
+911 910
+934 913
+937 913
+962 913
+925 914
+990 915
+917 916
+929 916
+918 917
+1129 917
+939 918
+922 920
+923 920
+926 920
+932 920
+936 920
+929 921
+1132 921
+924 923
+927 926
+936 926
+928 927
+936 927
+930 929
+948 931
+933 932
+941 932
+946 934
+936 935
+1133 935
+953 939
+953 940
+943 942
+960 944
+964 945
+951 947
+954 947
+956 947
+957 947
+963 947
+950 949
+954 949
+955 949
+964 950
+968 950
+974 950
+959 951
+954 952
+958 953
+957 956
+966 956
+972 956
+972 959
+961 960
+962 960
+967 960
+965 961
+971 962
+967 964
+968 964
+970 965
+969 968
+971 970
+982 973
+976 975
+988 975
+1000 975
+988 977
+982 978
+981 980
+983 980
+997 980
+985 982
+986 984
+988 984
+998 986
+992 987
+994 987
+989 988
+991 990
+993 992
+996 994
+997 994
+996 995
+997 996
+1026 1001
+1034 1002
+1031 1003
+1038 1004
+1006 1005
+1012 1005
+1018 1005
+1020 1005
+1029 1005
+1034 1005
+1022 1007
+1009 1008
+1017 1008
+1018 1008
+1020 1008
+1021 1008
+1039 1008
+1039 1010
+1039 1011
+1022 1012
+1028 1012
+1029 1012
+1036 1012
+1037 1012
+1038 1012
+1038 1013
+1028 1014
+1023 1015
+1033 1015
+1028 1016
+1032 1018
+1020 1019
+1023 1022
+1024 1022
+1026 1022
+1033 1023
+1027 1024
+1026 1025
+1027 1026
+1034 1026
+1030 1029
+1033 1031
+1035 1031
+1035 1034
+1049 1042
+1049 1043
+1052 1043
+1046 1044
+1057 1045
+1053 1048
+1050 1049
+1051 1049
+1055 1050
+1055 1054
+1057 1054
+1060 1058
+1071 1061
+1084 1061
+1073 1062
+1074 1063
+1086 1063
+1076 1064
+1079 1064
+1067 1065
+1070 1066
+1068 1067
+1091 1067
+1085 1068
+1076 1069
+1112 1069
+1087 1070
+1074 1071
+1073 1072
+1074 1073
+1080 1073
+1085 1073
+1081 1074
+1076 1075
+1077 1076
+1079 1076
+1087 1076
+1094 1076
+1083 1077
+1084 1077
+1116 1078
+1086 1082
+1105 1088
+1111 1088
+1090 1089
+1092 1090
+1107 1090
+1097 1092
+1095 1094
+1099 1094
+1104 1094
+1112 1094
+1102 1095
+1106 1095
+1111 1095
+1099 1096
+1098 1097
+1100 1099
+1119 1100
+1111 1101
+1117 1103
+1118 1103
+1108 1105
+1113 1109
+1118 1110
+1114 1113
+1115 1113
+1119 1116
+1135 1121
+1134 1123
+1134 1128
+1135 1130
diff --git a/src/3rdparty/adaptagrams/libcola/tests/data/uetzNetworkGSC-all.gml b/src/3rdparty/adaptagrams/libcola/tests/data/uetzNetworkGSC-all.gml
new file mode 100644
index 0000000..99c4053
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/data/uetzNetworkGSC-all.gml
@@ -0,0 +1,26139 @@
+graph [
+ directed 1
+ node [
+ id 1
+ pajek_id 1
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1294.0522048684777
+ y 1122.6497967871214
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 2
+ pajek_id 2
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2055.718178872795
+ y 1059.2791761907554
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 3
+ pajek_id 3
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1256.6354129633914
+ y 1695.6123461841953
+ w 20.0
+ h 20.0
+ fill "#FFFF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 4
+ pajek_id 4
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1184.7211808078375
+ y 935.8910996786233
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 5
+ pajek_id 5
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2298.0954772536134
+ y 1437.502173559352
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 6
+ pajek_id 6
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1897.6814785435922
+ y 550.7159507323732
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 7
+ pajek_id 7
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1901.322129497895
+ y 1044.3438487090452
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 8
+ pajek_id 8
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2780.868057459027
+ y 880.0661109912785
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 9
+ pajek_id 9
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1538.3317441868267
+ y 1411.5744527134639
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 10
+ pajek_id 10
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 396.0152636117873
+ y 1131.0468905861571
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 11
+ pajek_id 11
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2807.6418756553476
+ y 1965.421804479885
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 12
+ pajek_id 12
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1483.7207919217562
+ y 1613.0999970511837
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 13
+ pajek_id 13
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 254.92863023355244
+ y 592.4142543364859
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 14
+ pajek_id 14
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2356.3555481078492
+ y 762.7982298395269
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 15
+ pajek_id 15
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 358.86149369612554
+ y 718.6522617063977
+ w 20.0
+ h 20.0
+ fill "#FFFF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 16
+ pajek_id 16
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1989.7728584457432
+ y 593.5406100260483
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 17
+ pajek_id 17
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1176.0589697518428
+ y 274.6599182522517
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 18
+ pajek_id 18
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 815.4286293876028
+ y 1519.2372285089286
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 19
+ pajek_id 19
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1292.8058349907271
+ y 1534.9166231756176
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 20
+ pajek_id 20
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1712.1139015143726
+ y 1743.9840389531971
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 21
+ pajek_id 21
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1159.0926195442978
+ y 60.0
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 22
+ pajek_id 22
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1698.8281996861965
+ y 938.1788913033595
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 23
+ pajek_id 23
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2117.1960623698105
+ y 377.3080137329175
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 24
+ pajek_id 24
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1988.5172976949088
+ y 1626.9118171301184
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 25
+ pajek_id 25
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1951.0677192239534
+ y 1227.8213042650113
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 26
+ pajek_id 26
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1209.2907663600151
+ y 571.9488583740487
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 27
+ pajek_id 27
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1553.217522639471
+ y 514.0779699887444
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 28
+ pajek_id 28
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1216.2131040787344
+ y 1306.3244872331861
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 29
+ pajek_id 29
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2495.910234238144
+ y 1509.2542926345884
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 30
+ pajek_id 30
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2589.368846133916
+ y 902.4410855851487
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 31
+ pajek_id 31
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1900.4466132863522
+ y 960.4878587369396
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 32
+ pajek_id 32
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1480.404193494587
+ y 503.45364906241434
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 33
+ pajek_id 33
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1786.4697371577445
+ y 2321.7848119927116
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 34
+ pajek_id 34
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1609.213005284541
+ y 1590.2108893694465
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 35
+ pajek_id 35
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 600.5008950141041
+ y 1277.5609673161835
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 36
+ pajek_id 36
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 60.0
+ y 768.8625017780407
+ w 20.0
+ h 20.0
+ fill "#FFFF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 37
+ pajek_id 37
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 382.9141452731493
+ y 1259.7726277058914
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 38
+ pajek_id 38
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 687.2063369120657
+ y 1082.3933671094655
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 39
+ pajek_id 39
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1027.5033292569951
+ y 1088.9830040963775
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 40
+ pajek_id 40
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1632.4747876484166
+ y 710.5037615118014
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 41
+ pajek_id 41
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 748.4550588733631
+ y 1062.8651339361004
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 42
+ pajek_id 42
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 963.8979533416527
+ y 1723.250139029375
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 43
+ pajek_id 43
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1411.3947986828978
+ y 1157.8550891438708
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 44
+ pajek_id 44
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2648.6214914664592
+ y 360.6532255567197
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 45
+ pajek_id 45
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1012.524198351514
+ y 1566.9080651878785
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 46
+ pajek_id 46
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1673.0588337518445
+ y 1520.3103374282064
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 47
+ pajek_id 47
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2292.062233641057
+ y 807.7075902196876
+ w 20.0
+ h 20.0
+ fill "#FFFF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 48
+ pajek_id 48
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2077.483685032171
+ y 1214.6266410102694
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 49
+ pajek_id 49
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1250.7982377330313
+ y 984.2480480318932
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 50
+ pajek_id 50
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 826.5624689443126
+ y 1458.2342219655006
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 51
+ pajek_id 51
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1043.503156998524
+ y 1914.4120411204835
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 52
+ pajek_id 52
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1097.4841298080655
+ y 608.9543419822743
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 53
+ pajek_id 53
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1151.8669553096083
+ y 1688.783506135614
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 54
+ pajek_id 54
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1100.1774339936296
+ y 449.9360013393336
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 55
+ pajek_id 55
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1797.1270429940496
+ y 517.7947984237063
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 56
+ pajek_id 56
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1958.7774891972645
+ y 951.067065374911
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 57
+ pajek_id 57
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1320.7173946510097
+ y 666.953428346941
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 58
+ pajek_id 58
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 409.511718757674
+ y 754.8270051102944
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 59
+ pajek_id 59
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 456.52944375010406
+ y 1644.5489937771122
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 60
+ pajek_id 60
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1650.4029796871373
+ y 1281.9794653489726
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 61
+ pajek_id 61
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2203.5059215970086
+ y 1103.986465771347
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 62
+ pajek_id 62
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1648.5790338469196
+ y 1619.5713910478498
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 63
+ pajek_id 63
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1441.449939123268
+ y 278.4421140050705
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 64
+ pajek_id 64
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1646.3755592037082
+ y 1867.8552090742746
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 65
+ pajek_id 65
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1690.4064173252282
+ y 1106.6596200585911
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 66
+ pajek_id 66
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1375.2079396723311
+ y 1567.1239230162141
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 67
+ pajek_id 67
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1381.6936762897983
+ y 930.9429010096588
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 68
+ pajek_id 68
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2246.515691754706
+ y 1228.672822112808
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 69
+ pajek_id 69
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2513.1221976499774
+ y 2123.5607442911432
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 70
+ pajek_id 70
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 325.1248018822786
+ y 1301.1300387216584
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 71
+ pajek_id 71
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 905.4567507395766
+ y 1635.3403866013616
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 72
+ pajek_id 72
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1409.3758774490468
+ y 2445.8494772528247
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 73
+ pajek_id 73
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 270.55209645867626
+ y 1976.484880612065
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 74
+ pajek_id 74
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1846.104723102188
+ y 2357.13888536703
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 75
+ pajek_id 75
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1931.8467589445268
+ y 1416.3573716456167
+ w 20.0
+ h 20.0
+ fill "#FFFF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 76
+ pajek_id 76
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 219.41564456563447
+ y 351.74606877700694
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 77
+ pajek_id 77
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1574.267945560331
+ y 994.005057804803
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 78
+ pajek_id 78
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2258.765897434142
+ y 975.7865089151361
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 79
+ pajek_id 79
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1003.0168039671166
+ y 818.3149905376152
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 80
+ pajek_id 80
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2162.351384651877
+ y 639.3742942428671
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 81
+ pajek_id 81
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1175.3498984884113
+ y 205.4073989675603
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 82
+ pajek_id 82
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1025.8732247508035
+ y 146.60499318409438
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 83
+ pajek_id 83
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 784.8316721743003
+ y 739.8886774008013
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 84
+ pajek_id 84
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2358.3905436512314
+ y 1757.8833117002607
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 85
+ pajek_id 85
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 187.0231231288874
+ y 464.9030131392583
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 86
+ pajek_id 86
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1680.1684155817545
+ y 989.3992861143759
+ w 20.0
+ h 20.0
+ fill "#FFFF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 87
+ pajek_id 87
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1592.5433115122046
+ y 1133.073079548351
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 88
+ pajek_id 88
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 984.0210982272379
+ y 1907.6496174273066
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 89
+ pajek_id 89
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1908.2544551347682
+ y 1953.0395792102486
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 90
+ pajek_id 90
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1760.6396933740039
+ y 454.1561397683437
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 91
+ pajek_id 91
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1510.4214829476575
+ y 255.4247158499462
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 92
+ pajek_id 92
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2156.911158437812
+ y 1737.2936541047445
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 93
+ pajek_id 93
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2330.4433111549088
+ y 1066.919264412134
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 94
+ pajek_id 94
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1489.0049739638976
+ y 1102.8420420131365
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 95
+ pajek_id 95
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1381.821327085725
+ y 1425.799958792195
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 96
+ pajek_id 96
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2026.5031721150344
+ y 1195.03677714938
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 97
+ pajek_id 97
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1566.5985533781122
+ y 2134.591986800821
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 98
+ pajek_id 98
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1866.8579043433465
+ y 496.54994132044186
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 99
+ pajek_id 99
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1709.8596572466934
+ y 1537.0985557194695
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 100
+ pajek_id 100
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1058.888749291412
+ y 1423.3219452240978
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 101
+ pajek_id 101
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1026.841049144297
+ y 1526.2197338662158
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 102
+ pajek_id 102
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1234.128325564796
+ y 1058.423971642138
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 103
+ pajek_id 103
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2269.604004829725
+ y 1961.2578434564753
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 104
+ pajek_id 104
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1204.604308471341
+ y 331.2782608195139
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 105
+ pajek_id 105
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1456.5954783621391
+ y 2393.969680005851
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 106
+ pajek_id 106
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1030.6221217055054
+ y 1655.7105879228054
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 107
+ pajek_id 107
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1825.2038903621162
+ y 1764.5225692398108
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 108
+ pajek_id 108
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 855.344393246044
+ y 1581.4397578617163
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 109
+ pajek_id 109
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2290.109859607357
+ y 1866.4142704202714
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 110
+ pajek_id 110
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2016.9300946422195
+ y 1800.0828289087844
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 111
+ pajek_id 111
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2311.298477488912
+ y 1203.9224047333146
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 112
+ pajek_id 112
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2173.9918013172064
+ y 1358.97529576786
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 113
+ pajek_id 113
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 402.8249532029572
+ y 2005.0535234158124
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 114
+ pajek_id 114
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1370.447752295795
+ y 1698.544524957459
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 115
+ pajek_id 115
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 824.5410187470699
+ y 2203.3482170965663
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 116
+ pajek_id 116
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1899.5312814624624
+ y 341.64788217907767
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 117
+ pajek_id 117
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1275.5334231652173
+ y 435.5539332588777
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 118
+ pajek_id 118
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1799.057369842763
+ y 898.644722551811
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 119
+ pajek_id 119
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 936.3882990544396
+ y 542.1677084693897
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 120
+ pajek_id 120
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2035.2157086365958
+ y 549.5503878259726
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 121
+ pajek_id 121
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2306.5008116638155
+ y 2172.8922465255055
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 122
+ pajek_id 122
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 794.0600584680333
+ y 1767.0092661358444
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 123
+ pajek_id 123
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 967.8528471899847
+ y 1305.606206649742
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 124
+ pajek_id 124
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2478.6497152538377
+ y 1203.6776389496872
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 125
+ pajek_id 125
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1997.321116636319
+ y 2192.367195588601
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 126
+ pajek_id 126
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1177.3434085029842
+ y 778.6424846605535
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 127
+ pajek_id 127
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1585.5048018331465
+ y 1455.2573996761384
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 128
+ pajek_id 128
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 472.28484900676176
+ y 718.0672675218485
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 129
+ pajek_id 129
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 794.0849295823707
+ y 1371.6459663216558
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 130
+ pajek_id 130
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2008.8851806591924
+ y 1293.0028606195688
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 131
+ pajek_id 131
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1441.295381525302
+ y 564.6073812973832
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 132
+ pajek_id 132
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1861.1042483735764
+ y 1523.2486386191717
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 133
+ pajek_id 133
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 957.7655245033009
+ y 114.39870152004505
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 134
+ pajek_id 134
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1961.9942877269461
+ y 124.43728726767961
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 135
+ pajek_id 135
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2317.512327717449
+ y 924.258173136443
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 136
+ pajek_id 136
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1800.1506277595804
+ y 2261.975902475042
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 137
+ pajek_id 137
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 595.234814691012
+ y 1025.317899636531
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 138
+ pajek_id 138
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 964.840641154222
+ y 247.01750927240698
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 139
+ pajek_id 139
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 588.9999815953205
+ y 2079.3235704527674
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 140
+ pajek_id 140
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2110.3560493557006
+ y 505.8109983485984
+ w 20.0
+ h 20.0
+ fill "#FFFF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 141
+ pajek_id 141
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1399.3112848730054
+ y 1227.804800096851
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 142
+ pajek_id 142
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1334.1378233999883
+ y 1813.8827309253875
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 143
+ pajek_id 143
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1805.918047276415
+ y 624.9341989045439
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 144
+ pajek_id 144
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1467.2887831794974
+ y 1491.092756875548
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 145
+ pajek_id 145
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1369.2679808531936
+ y 1127.5618294352796
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 146
+ pajek_id 146
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2025.2400562476682
+ y 1570.3163109170114
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 147
+ pajek_id 147
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2055.8364822532835
+ y 684.3901430356791
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 148
+ pajek_id 148
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2458.5244327113796
+ y 1391.3830145494958
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 149
+ pajek_id 149
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1552.825479830451
+ y 1252.8654366828728
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 150
+ pajek_id 150
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2642.703200490143
+ y 873.2840758651536
+ w 20.0
+ h 20.0
+ fill "#FFFF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 151
+ pajek_id 151
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2493.621315614442
+ y 1057.6778103427564
+ w 20.0
+ h 20.0
+ fill "#FFFF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 152
+ pajek_id 152
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2048.524265153669
+ y 2396.6375817898183
+ w 20.0
+ h 20.0
+ fill "#FFFF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 153
+ pajek_id 153
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1295.8980767195865
+ y 1281.8240646387455
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 154
+ pajek_id 154
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 948.0256773985192
+ y 874.4275219392624
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 155
+ pajek_id 155
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1060.558142370161
+ y 2121.7015632861817
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 156
+ pajek_id 156
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1588.0692311325395
+ y 2419.735277431223
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 157
+ pajek_id 157
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1399.2208755506806
+ y 668.8198477332975
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 158
+ pajek_id 158
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1580.2791211407448
+ y 894.9665199234698
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 159
+ pajek_id 159
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1585.445364428028
+ y 1518.9113878761736
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 160
+ pajek_id 160
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2149.623427593962
+ y 1585.663447804202
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 161
+ pajek_id 161
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1073.2288913412556
+ y 1374.5854206557112
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 162
+ pajek_id 162
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 493.61694579516404
+ y 1365.494793302807
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 163
+ pajek_id 163
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1286.2369050296045
+ y 1067.3473338636227
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 164
+ pajek_id 164
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 927.1316689881887
+ y 1385.503225606381
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 165
+ pajek_id 165
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2193.2522202024475
+ y 1206.1206658070653
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 166
+ pajek_id 166
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 772.1411120215096
+ y 1970.8119423759322
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 167
+ pajek_id 167
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1145.792529275603
+ y 1177.4939749954644
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 168
+ pajek_id 168
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 782.4194952141179
+ y 2042.5751921467117
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 169
+ pajek_id 169
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1254.116200428233
+ y 2594.759114678682
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 170
+ pajek_id 170
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2678.2734809510507
+ y 2096.8291622390625
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 171
+ pajek_id 171
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2400.4372550336543
+ y 1652.7179946898918
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 172
+ pajek_id 172
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1386.2112759254533
+ y 1638.7948048718672
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 173
+ pajek_id 173
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 943.8883491218697
+ y 1073.7919591358736
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 174
+ pajek_id 174
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1179.1603874552718
+ y 1122.3817446803446
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 175
+ pajek_id 175
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2233.8795632906877
+ y 1527.7817714192893
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 176
+ pajek_id 176
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2163.4669644146798
+ y 1260.955553479491
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 177
+ pajek_id 177
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1869.4250586602952
+ y 2472.448020780895
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 178
+ pajek_id 178
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1112.7457233061032
+ y 1329.0846670907608
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 179
+ pajek_id 179
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1118.8056866951574
+ y 852.6869706221119
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 180
+ pajek_id 180
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1307.2508861643091
+ y 2462.7701746985686
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 181
+ pajek_id 181
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1380.5745060829129
+ y 1076.2706855348051
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 182
+ pajek_id 182
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2036.4065621255
+ y 2529.571297575046
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 183
+ pajek_id 183
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1074.9510652351762
+ y 801.3658771409633
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 184
+ pajek_id 184
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 255.45722686156626
+ y 1805.532111761012
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 185
+ pajek_id 185
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2342.5052901155595
+ y 1982.0954207181567
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 186
+ pajek_id 186
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1178.1746215798703
+ y 871.8443836872366
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 187
+ pajek_id 187
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1537.0518689637947
+ y 1540.5124880929002
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 188
+ pajek_id 188
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1236.2077456256104
+ y 1534.272658840872
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 189
+ pajek_id 189
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1621.2397812102838
+ y 1400.4425940981625
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 190
+ pajek_id 190
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 766.3905805597286
+ y 886.402470142523
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 191
+ pajek_id 191
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2168.7884396974873
+ y 550.016818013951
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 192
+ pajek_id 192
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 993.9061877291988
+ y 1029.772643432917
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 193
+ pajek_id 193
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 463.0359831362713
+ y 1022.0861273460611
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 194
+ pajek_id 194
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 639.0038131671084
+ y 555.7612618656989
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 195
+ pajek_id 195
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1814.9683409976778
+ y 2445.753076164031
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 196
+ pajek_id 196
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1686.4439166148054
+ y 1938.4699461276296
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 197
+ pajek_id 197
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 930.0951591923147
+ y 1241.663890087508
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 198
+ pajek_id 198
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 520.2346633262122
+ y 1199.2357895089199
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 199
+ pajek_id 199
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1971.6382604373562
+ y 343.1014653785635
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 200
+ pajek_id 200
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2027.0179357401762
+ y 1349.107156613678
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 201
+ pajek_id 201
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2087.081528540994
+ y 802.4499939958602
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 202
+ pajek_id 202
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 625.0171226735023
+ y 1914.7856839077308
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 203
+ pajek_id 203
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1899.9652173985933
+ y 2072.1438307043504
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 204
+ pajek_id 204
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1606.0783659797662
+ y 1837.1508274695605
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 205
+ pajek_id 205
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 901.3919870421247
+ y 1513.1982896128998
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 206
+ pajek_id 206
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2538.1638433893568
+ y 1616.7551606942914
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 207
+ pajek_id 207
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1866.691494571614
+ y 2114.4934954074397
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 208
+ pajek_id 208
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1028.2574487173333
+ y 973.0790458888064
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 209
+ pajek_id 209
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1753.7616445481387
+ y 928.4269154425315
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 210
+ pajek_id 210
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 434.8320641528154
+ y 900.7941512774352
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 211
+ pajek_id 211
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1197.692612238198
+ y 1656.3283202472192
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 212
+ pajek_id 212
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2262.872473159019
+ y 855.5192882246674
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 213
+ pajek_id 213
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2005.7033668568552
+ y 1687.3129033516693
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 214
+ pajek_id 214
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2005.4330911080656
+ y 1248.6067376996575
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 215
+ pajek_id 215
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1497.6387156758587
+ y 409.988817350047
+ w 20.0
+ h 20.0
+ fill "#FFFF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 216
+ pajek_id 216
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1511.6499513985573
+ y 2019.1033155888222
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 217
+ pajek_id 217
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1832.9845660337855
+ y 1594.9330492361391
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 218
+ pajek_id 218
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2124.163466904739
+ y 1121.7594517130105
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 219
+ pajek_id 219
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2114.0594425877107
+ y 879.072087899176
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 220
+ pajek_id 220
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2060.685078868419
+ y 1835.1973884802942
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 221
+ pajek_id 221
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2250.360824827312
+ y 908.8247250753682
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 222
+ pajek_id 222
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1619.44524541997
+ y 1208.958636465997
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 223
+ pajek_id 223
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1420.5578431824722
+ y 1022.1078286320392
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 224
+ pajek_id 224
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1804.5906551872706
+ y 1356.7859367888193
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 225
+ pajek_id 225
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1182.3901258139676
+ y 1078.275091742608
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 226
+ pajek_id 226
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 939.5649257137159
+ y 750.6386331311932
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 227
+ pajek_id 227
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1227.5697565955718
+ y 1194.722525770867
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 228
+ pajek_id 228
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1677.315636418083
+ y 818.1002681824733
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 229
+ pajek_id 229
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1969.8218697907696
+ y 2124.400924405766
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 230
+ pajek_id 230
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1346.0361911089835
+ y 591.0926251849802
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 231
+ pajek_id 231
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1937.4480655403545
+ y 1484.3086656977262
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 232
+ pajek_id 232
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 913.1080893674856
+ y 2448.9010701058382
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 233
+ pajek_id 233
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 980.1355123328368
+ y 2143.0193206720637
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 234
+ pajek_id 234
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2468.507735819624
+ y 680.6867726745393
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 235
+ pajek_id 235
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 961.6345650781091
+ y 965.0860824711237
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 236
+ pajek_id 236
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 492.09673495414074
+ y 284.8975707321614
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 237
+ pajek_id 237
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1446.3792419244076
+ y 1813.9029462286976
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 238
+ pajek_id 238
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1813.9462106455926
+ y 947.4822230702299
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 239
+ pajek_id 239
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1428.5911518460912
+ y 1609.8340596280282
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 240
+ pajek_id 240
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1005.3650634855937
+ y 882.2530156601648
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 241
+ pajek_id 241
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1970.4155162426391
+ y 1125.8976010185038
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 242
+ pajek_id 242
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 240.57076448405542
+ y 1473.723263945339
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 243
+ pajek_id 243
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2046.1993784054494
+ y 950.6121816835345
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 244
+ pajek_id 244
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2808.307733786458
+ y 1514.739154198832
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 245
+ pajek_id 245
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1882.8938446652257
+ y 1459.0281000095843
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 246
+ pajek_id 246
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1723.9114037847546
+ y 2365.644132764209
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 247
+ pajek_id 247
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1936.717394034969
+ y 1594.3192138208242
+ w 20.0
+ h 20.0
+ fill "#FFFF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 248
+ pajek_id 248
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1971.7509493535508
+ y 1179.4845850946012
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 249
+ pajek_id 249
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1058.6250365444143
+ y 859.7134012319751
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 250
+ pajek_id 250
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1875.0949016123318
+ y 2018.8968281970356
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 251
+ pajek_id 251
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 802.2218018782783
+ y 830.0503347776802
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 252
+ pajek_id 252
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 813.0528123889172
+ y 1656.3453211681867
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 253
+ pajek_id 253
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1273.6722755380645
+ y 562.4903627029978
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 254
+ pajek_id 254
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 738.6225904711797
+ y 1832.437257453023
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 255
+ pajek_id 255
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2123.755229836545
+ y 2672.877537298277
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 256
+ pajek_id 256
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 766.238178017943
+ y 627.4085851267696
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 257
+ pajek_id 257
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1129.8317234871274
+ y 1757.6767114954823
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 258
+ pajek_id 258
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2009.7762232303267
+ y 2041.0971651622217
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 259
+ pajek_id 259
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1736.9465300050063
+ y 1793.4455313056224
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 260
+ pajek_id 260
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 648.0899197694613
+ y 1133.071910642336
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 261
+ pajek_id 261
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2673.608535682633
+ y 1969.3166527926637
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 262
+ pajek_id 262
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1190.4241821550581
+ y 1456.8778384709221
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 263
+ pajek_id 263
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1773.3304812765168
+ y 1171.6981943217245
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 264
+ pajek_id 264
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2455.8689870091684
+ y 1698.2588839027976
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 265
+ pajek_id 265
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1572.4184904317372
+ y 1079.9405584556314
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 266
+ pajek_id 266
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 930.5993117411441
+ y 932.4301787306301
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 267
+ pajek_id 267
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1241.016109181929
+ y 1641.851386078472
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 268
+ pajek_id 268
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1778.3112226979574
+ y 1527.5198182466306
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 269
+ pajek_id 269
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1997.6945206439827
+ y 1435.167335502786
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 270
+ pajek_id 270
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2928.2834579168007
+ y 1108.202244706911
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 271
+ pajek_id 271
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1549.1458457473145
+ y 592.3498910478805
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 272
+ pajek_id 272
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2567.1609182049815
+ y 349.9728983492399
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 273
+ pajek_id 273
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1790.3664691634244
+ y 2391.926302478362
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 274
+ pajek_id 274
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1156.9233946634465
+ y 1363.0451223083915
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 275
+ pajek_id 275
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 856.1024353157368
+ y 2058.0580043741106
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 276
+ pajek_id 276
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2007.3448524911623
+ y 955.2249749444019
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 277
+ pajek_id 277
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1867.826843063508
+ y 1168.1178614284738
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 278
+ pajek_id 278
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1849.7065836818551
+ y 1931.1333235795955
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 279
+ pajek_id 279
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1260.0763722109286
+ y 655.2169595822215
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 280
+ pajek_id 280
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1899.1104082490497
+ y 1614.8129891919102
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 281
+ pajek_id 281
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2378.43114046961
+ y 2184.529789498435
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 282
+ pajek_id 282
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2040.929028434561
+ y 2329.0083925520726
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 283
+ pajek_id 283
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1329.822091272441
+ y 817.7805081038614
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 284
+ pajek_id 284
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1916.5095601095395
+ y 1315.8369929397447
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 285
+ pajek_id 285
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1540.8732018426379
+ y 1757.2830276053164
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 286
+ pajek_id 286
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1497.5518877310492
+ y 2332.209587716714
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 287
+ pajek_id 287
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1820.876610989953
+ y 1705.7800792711614
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 288
+ pajek_id 288
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2053.621424690008
+ y 137.4950984709352
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 289
+ pajek_id 289
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2288.638168809773
+ y 1661.1373438648448
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 290
+ pajek_id 290
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2521.628031511117
+ y 1112.8442155271284
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 291
+ pajek_id 291
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2621.075261275747
+ y 1040.7003954194217
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 292
+ pajek_id 292
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1489.7226658046911
+ y 1212.598420726727
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 293
+ pajek_id 293
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1344.039251806568
+ y 765.4921416388333
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 294
+ pajek_id 294
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2783.106085646018
+ y 1011.1576483698651
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 295
+ pajek_id 295
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 666.034857878941
+ y 1196.1544941612838
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 296
+ pajek_id 296
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1069.4593629564115
+ y 1627.9059240200613
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 297
+ pajek_id 297
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1798.2247140891636
+ y 1428.1375539568382
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 298
+ pajek_id 298
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1934.1343683875075
+ y 2404.2315045912405
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 299
+ pajek_id 299
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2699.851785344458
+ y 427.8558563028148
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 300
+ pajek_id 300
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 834.2031874852718
+ y 250.70469068286297
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 301
+ pajek_id 301
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1004.0710874574961
+ y 1280.167160042513
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 302
+ pajek_id 302
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1750.4516583745296
+ y 1471.2162955489407
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 303
+ pajek_id 303
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2401.7820655598725
+ y 2272.1863557268275
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 304
+ pajek_id 304
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1814.6823768957051
+ y 2071.5062836539637
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 305
+ pajek_id 305
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2520.536274654057
+ y 992.8636618688267
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 306
+ pajek_id 306
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2265.0881548319567
+ y 2065.5837863656484
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 307
+ pajek_id 307
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1257.8172960656739
+ y 803.4108171125971
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 308
+ pajek_id 308
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 776.7856178664061
+ y 1694.4563434703907
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 309
+ pajek_id 309
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1440.886631358504
+ y 1532.750033969016
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 310
+ pajek_id 310
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1989.010230552772
+ y 259.2322753906619
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 311
+ pajek_id 311
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 793.6486929322533
+ y 1180.108345062422
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 312
+ pajek_id 312
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1917.539646877893
+ y 2281.8557999514537
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 313
+ pajek_id 313
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 867.9822424379655
+ y 1709.027298137467
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 314
+ pajek_id 314
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1484.2011650524655
+ y 1345.1479429348788
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 315
+ pajek_id 315
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1076.084829910138
+ y 996.0235144558553
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 316
+ pajek_id 316
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1693.090850412172
+ y 2090.5966253636116
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 317
+ pajek_id 317
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2037.1290633056465
+ y 369.80076511683393
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 318
+ pajek_id 318
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1007.8277192737382
+ y 1754.1325273022699
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 319
+ pajek_id 319
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2172.028629136008
+ y 1461.0364064098994
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 320
+ pajek_id 320
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2257.1227609527
+ y 1310.8862977736107
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 321
+ pajek_id 321
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1300.745991888025
+ y 2187.297908294803
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 322
+ pajek_id 322
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2204.6686322693918
+ y 1410.994870895594
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 323
+ pajek_id 323
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 864.8355633586339
+ y 1982.7204827008345
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 324
+ pajek_id 324
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 800.0003105548103
+ y 1923.7791435231852
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 325
+ pajek_id 325
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1024.7502660900132
+ y 1366.1758015615299
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 326
+ pajek_id 326
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2050.7149391093694
+ y 1257.3982758996383
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 327
+ pajek_id 327
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 960.7821525481202
+ y 1584.4968382633942
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 328
+ pajek_id 328
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1124.4061711877166
+ y 1046.726994002646
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 329
+ pajek_id 329
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1108.4893044148541
+ y 1194.3431578903087
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 330
+ pajek_id 330
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1100.133655193655
+ y 1137.6918022343907
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 331
+ pajek_id 331
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1760.6862781934046
+ y 1320.6513715309195
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 332
+ pajek_id 332
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1200.2523322538245
+ y 1002.7964728390644
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 333
+ pajek_id 333
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1181.4892595539825
+ y 1225.6989123360675
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 334
+ pajek_id 334
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1868.4127438749463
+ y 1117.6967188028786
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 335
+ pajek_id 335
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2168.6794851454647
+ y 1162.2427344452735
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 336
+ pajek_id 336
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1920.9638225147678
+ y 876.5150707247215
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 337
+ pajek_id 337
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2920.808088394186
+ y 892.3685934633982
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 338
+ pajek_id 338
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1645.909927183584
+ y 1471.9956590731072
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 339
+ pajek_id 339
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1447.1109049135396
+ y 1746.1534799232427
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 340
+ pajek_id 340
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1303.087697302223
+ y 1599.75182872408
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 341
+ pajek_id 341
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1404.1964183968635
+ y 1732.988309973422
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 342
+ pajek_id 342
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 188.7586938483705
+ y 732.4710661793797
+ w 20.0
+ h 20.0
+ fill "#FFFF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 343
+ pajek_id 343
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 237.5145668340565
+ y 798.209667685809
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 344
+ pajek_id 344
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 655.6090365411286
+ y 768.8237020380398
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 345
+ pajek_id 345
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1239.593772491194
+ y 142.24994629451373
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 346
+ pajek_id 346
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 668.4582174721975
+ y 1570.710895937615
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 347
+ pajek_id 347
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 704.1732692312117
+ y 1623.8128247520694
+ w 20.0
+ h 20.0
+ fill "#FFFF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 348
+ pajek_id 348
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1806.5024342076917
+ y 1845.9002776470725
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 349
+ pajek_id 349
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1572.0491307665409
+ y 1632.2321415433307
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 350
+ pajek_id 350
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2170.491596866099
+ y 252.15493902189132
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 351
+ pajek_id 351
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2236.6106720779644
+ y 313.9614539100346
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 352
+ pajek_id 352
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1956.787709026074
+ y 478.6286472297293
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 353
+ pajek_id 353
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1521.6247356278914
+ y 651.1377056441239
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 354
+ pajek_id 354
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2673.4749982408534
+ y 1517.3687949519558
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 355
+ pajek_id 355
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2462.8285772682266
+ y 853.132399611773
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 356
+ pajek_id 356
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2723.74809870115
+ y 928.6302426931661
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 357
+ pajek_id 357
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1370.7051182886262
+ y 1487.7369332080375
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 358
+ pajek_id 358
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 468.7736750192556
+ y 1245.6923887724063
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 359
+ pajek_id 359
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 769.1240346507418
+ y 1297.5083732935518
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 360
+ pajek_id 360
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1281.6747231335723
+ y 1222.571355135779
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 361
+ pajek_id 361
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2579.810673602955
+ y 486.0242869026378
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 362
+ pajek_id 362
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1625.153907135859
+ y 1657.7991036276171
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 363
+ pajek_id 363
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1685.4668204197178
+ y 1675.1432793501972
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 364
+ pajek_id 364
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1649.065379741583
+ y 1710.3631889761837
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 365
+ pajek_id 365
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1735.2434575622904
+ y 1652.0103910358575
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 366
+ pajek_id 366
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1546.6380216667462
+ y 1660.4291808801559
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 367
+ pajek_id 367
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1592.959070056042
+ y 1701.930864398132
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 368
+ pajek_id 368
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2000.4352383965368
+ y 1758.4816008564803
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 369
+ pajek_id 369
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1468.5107210693257
+ y 1274.5523522286858
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 370
+ pajek_id 370
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1343.841518355971
+ y 868.6992458482348
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 371
+ pajek_id 371
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 956.4416724575727
+ y 1542.5109738519532
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 372
+ pajek_id 372
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1033.5848153857899
+ y 2047.0346481519837
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 373
+ pajek_id 373
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1145.9845954789732
+ y 2010.3598901708774
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 374
+ pajek_id 374
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 966.9695596108811
+ y 2038.5494954424362
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 375
+ pajek_id 375
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1101.5378289239488
+ y 2056.772094668872
+ w 20.0
+ h 20.0
+ fill "#FFFF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 376
+ pajek_id 376
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1015.5518645355227
+ y 498.21676713384437
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 377
+ pajek_id 377
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1108.5018026732564
+ y 1836.2444968902573
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 378
+ pajek_id 378
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1050.8064474323255
+ y 1820.5838099325315
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 379
+ pajek_id 379
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1022.4653344068506
+ y 1715.6126995231655
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 380
+ pajek_id 380
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 973.3911705488091
+ y 1656.6045446044554
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 381
+ pajek_id 381
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 980.1312729019277
+ y 1790.1875755402975
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 382
+ pajek_id 382
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1165.9502913921285
+ y 1848.0553893620186
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 383
+ pajek_id 383
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1847.4512820966625
+ y 997.8047505299883
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 384
+ pajek_id 384
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1834.8709235195802
+ y 1082.3420824375842
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 385
+ pajek_id 385
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1926.272882956845
+ y 1130.2140856000237
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 386
+ pajek_id 386
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2019.5057069987238
+ y 1083.2924715168538
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 387
+ pajek_id 387
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 340.467937490798
+ y 1722.2588619668122
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 388
+ pajek_id 388
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 613.237652883032
+ y 1579.9427905965279
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 389
+ pajek_id 389
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1655.1932187894404
+ y 1782.2310536598284
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 390
+ pajek_id 390
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1637.2667690847445
+ y 952.3525949687174
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 391
+ pajek_id 391
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2630.804204930251
+ y 2213.7673865428937
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 392
+ pajek_id 392
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1080.8078508715175
+ y 1570.3664421378583
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 393
+ pajek_id 393
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2234.068836486567
+ y 1160.6502978141489
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 394
+ pajek_id 394
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1086.7948765031201
+ y 76.91119774421213
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 395
+ pajek_id 395
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2461.9112093928975
+ y 1766.6838415805391
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 396
+ pajek_id 396
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 113.1199288710568
+ y 369.28510273478156
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 397
+ pajek_id 397
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1776.1814775671203
+ y 1971.90651207382
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 398
+ pajek_id 398
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1707.0558465571435
+ y 1296.0087781780164
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 399
+ pajek_id 399
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1417.7718529314445
+ y 1350.7244506853776
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 400
+ pajek_id 400
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2125.52060844245
+ y 1048.4849048770884
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 401
+ pajek_id 401
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1552.3770468848625
+ y 2260.559438155617
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 402
+ pajek_id 402
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1874.1651337345234
+ y 1245.0945400298474
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 403
+ pajek_id 403
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1256.6383628219503
+ y 1450.7738470869801
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 404
+ pajek_id 404
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2259.967596935999
+ y 2120.7466929344328
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 405
+ pajek_id 405
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2500.5496931980915
+ y 1966.736685021926
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 406
+ pajek_id 406
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2347.7927648395157
+ y 2091.6701739856917
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 407
+ pajek_id 407
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2392.889146581768
+ y 2044.8922015795006
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 408
+ pajek_id 408
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2417.761515347872
+ y 1975.5515523680338
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 409
+ pajek_id 409
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1793.9182626491624
+ y 1627.666690778881
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 410
+ pajek_id 410
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 719.1430254147674
+ y 1486.956454607635
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 411
+ pajek_id 411
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 724.2454716778103
+ y 1551.3831943720716
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 412
+ pajek_id 412
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2447.6879968351877
+ y 1876.5514180960204
+ w 20.0
+ h 20.0
+ fill "#FFFF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 413
+ pajek_id 413
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2091.9643045079483
+ y 1974.8640522416667
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 414
+ pajek_id 414
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2028.15537010984
+ y 1956.056476995101
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 415
+ pajek_id 415
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1984.2252245737018
+ y 1908.623346940285
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 416
+ pajek_id 416
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2119.7472033124163
+ y 1865.6311815257598
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 417
+ pajek_id 417
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2130.68571853772
+ y 1928.6302578749373
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 418
+ pajek_id 418
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2122.510896875806
+ y 1780.9007711280406
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 419
+ pajek_id 419
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2066.857133577992
+ y 1911.002176703526
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 420
+ pajek_id 420
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2174.073650971839
+ y 1808.4465867530826
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 421
+ pajek_id 421
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2173.188445315479
+ y 1879.1912761247552
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 422
+ pajek_id 422
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2445.130066970032
+ y 1152.7800567449078
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 423
+ pajek_id 423
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2355.4692035510784
+ y 1402.5903362442382
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 424
+ pajek_id 424
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2415.2373515095965
+ y 1088.9498827129119
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 425
+ pajek_id 425
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2039.5995058528129
+ y 1430.5751740405808
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 426
+ pajek_id 426
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 322.6815092460105
+ y 2116.2903817807914
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 427
+ pajek_id 427
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 268.5119994462548
+ y 2056.087634484369
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 428
+ pajek_id 428
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1146.757825786496
+ y 364.2656095233129
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 429
+ pajek_id 429
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1489.2719624004453
+ y 693.8971583258162
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 430
+ pajek_id 430
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1827.8677422310066
+ y 766.7899007728367
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 431
+ pajek_id 431
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1798.3747778112622
+ y 1215.8365936661658
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 432
+ pajek_id 432
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 804.3580561584004
+ y 501.9583186324991
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 433
+ pajek_id 433
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 849.2647555481542
+ y 434.2847659573615
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 434
+ pajek_id 434
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2328.3994872753374
+ y 2321.663189777115
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 435
+ pajek_id 435
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 618.9825732416654
+ y 1813.9348120438804
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 436
+ pajek_id 436
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 700.4298252161705
+ y 1333.1902810428091
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 437
+ pajek_id 437
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1395.7113829826137
+ y 1284.9840905117753
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 438
+ pajek_id 438
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2630.3138122865585
+ y 1172.8988923967477
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 439
+ pajek_id 439
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2615.848167339149
+ y 1246.8020908359208
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 440
+ pajek_id 440
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 469.43123730699017
+ y 854.8438020056724
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 441
+ pajek_id 441
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2116.96992696925
+ y 1379.4358280316942
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 442
+ pajek_id 442
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2081.349871481623
+ y 1329.7245666590386
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 443
+ pajek_id 443
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2424.702556920728
+ y 768.839004481539
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 444
+ pajek_id 444
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 890.6313761901736
+ y 115.79231393666316
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 445
+ pajek_id 445
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 857.1356243649586
+ y 174.88311586144653
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 446
+ pajek_id 446
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 512.8629774244184
+ y 2201.527945647691
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 447
+ pajek_id 447
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 677.7488039882435
+ y 1909.537866326766
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 448
+ pajek_id 448
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1338.956871819991
+ y 1010.8829829830978
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 449
+ pajek_id 449
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1324.088243934198
+ y 1729.0798093126218
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 450
+ pajek_id 450
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1724.263819989563
+ y 504.51288018417335
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 451
+ pajek_id 451
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1910.6105654550115
+ y 630.6123921072538
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 452
+ pajek_id 452
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1710.4548801725487
+ y 647.7553354187357
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 453
+ pajek_id 453
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1702.9391298385015
+ y 563.411307161135
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 454
+ pajek_id 454
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1826.116078147204
+ y 450.3392482519506
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 455
+ pajek_id 455
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2011.5270490887758
+ y 760.825852289636
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 456
+ pajek_id 456
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2101.9753242282413
+ y 581.5866515110404
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 457
+ pajek_id 457
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2603.3686351996375
+ y 1409.84659720882
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 458
+ pajek_id 458
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2438.056345618056
+ y 1523.7553993407314
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 459
+ pajek_id 459
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2331.6849268576207
+ y 1134.766411504912
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 460
+ pajek_id 460
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1059.0576214306932
+ y 2264.1041145319637
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 461
+ pajek_id 461
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1458.141237363875
+ y 755.4394205573406
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 462
+ pajek_id 462
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 424.1436855406298
+ y 1477.224543730106
+ w 20.0
+ h 20.0
+ fill "#FFFF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 463
+ pajek_id 463
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 378.7154942468852
+ y 1401.5037756061158
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 464
+ pajek_id 464
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 314.0529479996145
+ y 1373.0410118674613
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 465
+ pajek_id 465
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 353.0119560198315
+ y 1455.904690398989
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 466
+ pajek_id 466
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 834.3766918623855
+ y 1291.1793247114124
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 467
+ pajek_id 467
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 893.5300096467302
+ y 1847.377115763661
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 468
+ pajek_id 468
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 716.2809799836317
+ y 2178.244847004791
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 469
+ pajek_id 469
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2541.4812097684
+ y 2043.553501917624
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 470
+ pajek_id 470
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1119.6037534804425
+ y 1102.2487155380616
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 471
+ pajek_id 471
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1007.8554543482325
+ y 1148.2192014655018
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 472
+ pajek_id 472
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2355.376017232971
+ y 1455.616264520982
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 473
+ pajek_id 473
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2394.6586276164862
+ y 1491.7526626843892
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 474
+ pajek_id 474
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2248.1811205504373
+ y 1647.7634009017388
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 475
+ pajek_id 475
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2337.1166010827837
+ y 1520.6716608448314
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 476
+ pajek_id 476
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2420.759607231811
+ y 1589.229118968443
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 477
+ pajek_id 477
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2314.5533268916042
+ y 1604.0297855841632
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 478
+ pajek_id 478
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2364.2202931300694
+ y 1575.671922904723
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 479
+ pajek_id 479
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2194.5964587031503
+ y 1638.225011658421
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 480
+ pajek_id 480
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1065.4992788010986
+ y 1464.6555423148318
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 481
+ pajek_id 481
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 968.0925172159282
+ y 1354.4290172504502
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 482
+ pajek_id 482
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1126.8845029318243
+ y 1435.5731026238109
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 483
+ pajek_id 483
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1213.8500385478933
+ y 1383.2655755080937
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 484
+ pajek_id 484
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1391.466199058675
+ y 2589.0242705868145
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 485
+ pajek_id 485
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1324.9339892036385
+ y 2618.7726752706
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 486
+ pajek_id 486
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1447.1572287025065
+ y 927.5802766521502
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 487
+ pajek_id 487
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2147.787079263979
+ y 2593.4264109946484
+ w 20.0
+ h 20.0
+ fill "#FFFF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 488
+ pajek_id 488
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2020.4864930201384
+ y 2667.000204943657
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 489
+ pajek_id 489
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2455.283559589994
+ y 2086.657483037342
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 490
+ pajek_id 490
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1682.851876497575
+ y 1583.6120931079872
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 491
+ pajek_id 491
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1161.1187083008704
+ y 1611.7393863381692
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 492
+ pajek_id 492
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1041.2626018954427
+ y 1598.954971993218
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 493
+ pajek_id 493
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2297.354570397635
+ y 534.3652679637769
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 494
+ pajek_id 494
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 526.5370388426392
+ y 485.54459385039985
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 495
+ pajek_id 495
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 560.2941765427282
+ y 402.56083072436417
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 496
+ pajek_id 496
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 377.08394387788996
+ y 1333.3317088869094
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 497
+ pajek_id 497
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 489.3047686961877
+ y 1939.8674034964001
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 498
+ pajek_id 498
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 527.233322511409
+ y 2017.0516767470162
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 499
+ pajek_id 499
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1605.5668452162006
+ y 1992.166283565707
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 500
+ pajek_id 500
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1546.0840293799524
+ y 1955.4015275314973
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 501
+ pajek_id 501
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2656.759269426316
+ y 1685.5061982513696
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 502
+ pajek_id 502
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1728.2354096255438
+ y 1051.4437767810607
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 503
+ pajek_id 503
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 317.98253615853616
+ y 835.2488823603016
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 504
+ pajek_id 504
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1227.6068253899532
+ y 1819.6331253463359
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 505
+ pajek_id 505
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1574.3747014862265
+ y 289.21933118032086
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 506
+ pajek_id 506
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1436.7167412577667
+ y 2136.3809474284844
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 507
+ pajek_id 507
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1928.2290848617536
+ y 1695.8756254197222
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 508
+ pajek_id 508
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2229.8166656736694
+ y 1842.5176093374575
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 509
+ pajek_id 509
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2191.4931676161536
+ y 1969.3723460631686
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 510
+ pajek_id 510
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2404.7934790895088
+ y 917.1422166878989
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 511
+ pajek_id 511
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2395.2429436891007
+ y 834.027810518057
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 512
+ pajek_id 512
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1638.416583359785
+ y 1075.9248111470263
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 513
+ pajek_id 513
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1117.2425662770952
+ y 945.1325831390579
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 514
+ pajek_id 514
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1071.8339051492999
+ y 667.2084929230319
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 515
+ pajek_id 515
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2080.1550476846883
+ y 2248.7722822540536
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 516
+ pajek_id 516
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 941.7035591125789
+ y 2315.12355349285
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 517
+ pajek_id 517
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 864.0401900606075
+ y 854.7476458360196
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 518
+ pajek_id 518
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1451.1619559522182
+ y 1947.3205327227465
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 519
+ pajek_id 519
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1481.5993172162407
+ y 1688.7490679204407
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 520
+ pajek_id 520
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 132.29183753554184
+ y 1549.9709751408773
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 521
+ pajek_id 521
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 201.92596700389458
+ y 1601.853692109065
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 522
+ pajek_id 522
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2153.1192264901847
+ y 822.9210553334786
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 523
+ pajek_id 523
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 640.2772506993291
+ y 1675.9420021748028
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 524
+ pajek_id 524
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1320.8511741047305
+ y 408.77871976114494
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 525
+ pajek_id 525
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2213.924926553872
+ y 2763.501088516637
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 526
+ pajek_id 526
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2074.4442713188187
+ y 2170.28081217305
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 527
+ pajek_id 527
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1907.281150461828
+ y 1756.8956641399836
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 528
+ pajek_id 528
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2125.030039415664
+ y 2128.3283642176266
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 529
+ pajek_id 529
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1748.248950250427
+ y 1911.7557662270228
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 530
+ pajek_id 530
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1150.8356799670266
+ y 1544.1121345992892
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 531
+ pajek_id 531
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1477.1689178603895
+ y 1147.0096180737971
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 532
+ pajek_id 532
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1458.9597650345672
+ y 1060.9858986563445
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 533
+ pajek_id 533
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1495.8280010142782
+ y 989.2245050486312
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 534
+ pajek_id 534
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 784.4777027529236
+ y 948.7566853266054
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 535
+ pajek_id 535
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2110.665526987148
+ y 1497.723078348779
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 536
+ pajek_id 536
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 3038.33263338064
+ y 1192.8113918381189
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 537
+ pajek_id 537
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1603.7304792610369
+ y 454.1950074099879
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 538
+ pajek_id 538
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1801.2035133048555
+ y 2119.4411185171184
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 539
+ pajek_id 539
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1950.4501795255455
+ y 2049.3079413070072
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 540
+ pajek_id 540
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1757.897607156828
+ y 2049.7669278996045
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 541
+ pajek_id 541
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1854.7360726993138
+ y 1393.7369312635797
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 542
+ pajek_id 542
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1415.8484373759234
+ y 1900.9653905466644
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 543
+ pajek_id 543
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1497.5005911357582
+ y 2480.683702039123
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 544
+ pajek_id 544
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 719.9288183455253
+ y 236.78163159716667
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 545
+ pajek_id 545
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2509.6237885742785
+ y 2373.522488677848
+ w 20.0
+ h 20.0
+ fill "#FF3333"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 546
+ pajek_id 546
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2436.169862983399
+ y 2416.0522801899683
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 547
+ pajek_id 547
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 647.1888372458554
+ y 1741.9224475898036
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 548
+ pajek_id 548
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 681.8502532202343
+ y 1799.6304470782582
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 549
+ pajek_id 549
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1985.5267000858494
+ y 2369.7344325668428
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 550
+ pajek_id 550
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1991.106100021963
+ y 2440.329057425812
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 551
+ pajek_id 551
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1931.1619344063192
+ y 2470.578249185151
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 552
+ pajek_id 552
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1875.3109201344084
+ y 2408.7968384052087
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 553
+ pajek_id 553
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1587.9274187718331
+ y 1318.0146867000844
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 554
+ pajek_id 554
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 930.2559142741628
+ y 1891.3731392078669
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 555
+ pajek_id 555
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1227.5755919224916
+ y 2306.541693351298
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 556
+ pajek_id 556
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1304.4750058932211
+ y 2321.289347146842
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 557
+ pajek_id 557
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 2217.1358311583554
+ y 1273.7535975697697
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ node [
+ id 558
+ pajek_id 558
+ label ""
+ labelgraphics [
+ anchor "c"
+ fontName "Tahoma"
+ alignment "left"
+ fontSize 13
+ fontStyle "plain"
+ color "#000000"
+ type "text"
+ ]
+ graphics [
+ x 1066.387215640596
+ y 1714.3761855178568
+ w 20.0
+ h 20.0
+ fill "#00FF00"
+ outline "#000000"
+ frameThickness 3.0
+ rounding 5.0
+ gradient 0.0
+ type "oval"
+ ]
+ ]
+ edge [
+ id 1
+ source 1
+ target 87
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 2
+ source 1
+ target 223
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 3
+ source 1
+ target 266
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 4
+ source 1
+ target 328
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 5
+ source 1
+ target 329
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 6
+ source 1
+ target 330
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 7
+ source 1
+ target 331
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 8
+ source 1
+ target 332
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 9
+ source 1
+ target 333
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 10
+ source 2
+ target 334
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 11
+ source 2
+ target 335
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 12
+ source 3
+ target 172
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 13
+ source 3
+ target 188
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 14
+ source 3
+ target 257
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 15
+ source 4
+ target 225
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 16
+ source 5
+ target 175
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 17
+ source 6
+ target 143
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 18
+ source 7
+ target 118
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 19
+ source 7
+ target 284
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 20
+ source 7
+ target 336
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 21
+ source 8
+ target 30
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 22
+ source 8
+ target 337
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 23
+ source 9
+ target 338
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 24
+ source 10
+ target 198
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 25
+ source 11
+ target 261
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 26
+ source 12
+ target 66
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 27
+ source 12
+ target 114
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 28
+ source 12
+ target 144
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 29
+ source 12
+ target 189
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 30
+ source 12
+ target 237
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 31
+ source 12
+ target 239
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 32
+ source 12
+ target 267
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 33
+ source 12
+ target 268
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 34
+ source 12
+ target 339
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 35
+ source 12
+ target 340
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 36
+ source 12
+ target 341
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 37
+ source 13
+ target 15
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 38
+ source 13
+ target 85
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 39
+ source 14
+ target 212
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 40
+ source 15
+ target 342
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 41
+ source 15
+ target 343
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 42
+ source 15
+ target 344
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 43
+ source 16
+ target 143
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 44
+ source 16
+ target 191
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 45
+ source 17
+ target 54
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 46
+ source 17
+ target 345
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 47
+ source 18
+ target 100
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 48
+ source 18
+ target 346
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 49
+ source 18
+ target 347
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 50
+ source 19
+ target 267
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 51
+ source 20
+ target 348
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 52
+ source 20
+ target 349
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 53
+ source 21
+ target 81
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 54
+ source 22
+ target 65
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 55
+ source 23
+ target 140
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 56
+ source 23
+ target 350
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 57
+ source 23
+ target 351
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 58
+ source 23
+ target 352
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 59
+ source 24
+ target 217
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 60
+ source 25
+ target 284
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 61
+ source 26
+ target 119
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 62
+ source 26
+ target 353
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 63
+ source 27
+ target 353
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 64
+ source 28
+ target 178
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 65
+ source 29
+ target 148
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 66
+ source 29
+ target 175
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 67
+ source 29
+ target 206
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 68
+ source 29
+ target 354
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 69
+ source 30
+ target 212
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 70
+ source 30
+ target 294
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 71
+ source 30
+ target 355
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 72
+ source 30
+ target 356
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 73
+ source 31
+ target 334
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 74
+ source 32
+ target 353
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 75
+ source 33
+ target 312
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 76
+ source 34
+ target 217
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 77
+ source 34
+ target 220
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 78
+ source 34
+ target 262
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 79
+ source 34
+ target 357
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 80
+ source 35
+ target 358
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 81
+ source 35
+ target 359
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 82
+ source 36
+ target 342
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 83
+ source 37
+ target 162
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 84
+ source 38
+ target 311
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 85
+ source 39
+ target 174
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 86
+ source 40
+ target 228
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 87
+ source 41
+ target 311
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 88
+ source 42
+ target 53
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 89
+ source 43
+ target 265
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 90
+ source 43
+ target 360
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 91
+ source 44
+ target 361
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 92
+ source 45
+ target 53
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 93
+ source 46
+ target 118
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 94
+ source 46
+ target 285
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 95
+ source 46
+ target 362
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 96
+ source 46
+ target 363
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 97
+ source 46
+ target 364
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 98
+ source 46
+ target 365
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 99
+ source 46
+ target 366
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 100
+ source 46
+ target 367
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 101
+ source 46
+ target 368
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 102
+ source 46
+ target 369
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 103
+ source 47
+ target 78
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 104
+ source 48
+ target 284
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 105
+ source 49
+ target 167
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 106
+ source 49
+ target 370
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 107
+ source 50
+ target 371
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 108
+ source 51
+ target 155
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 109
+ source 51
+ target 233
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 110
+ source 51
+ target 325
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 111
+ source 51
+ target 372
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 112
+ source 51
+ target 373
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 113
+ source 51
+ target 374
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 114
+ source 51
+ target 375
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 115
+ source 52
+ target 126
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 116
+ source 52
+ target 376
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 117
+ source 53
+ target 62
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 118
+ source 53
+ target 66
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 119
+ source 53
+ target 371
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 120
+ source 53
+ target 377
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 121
+ source 53
+ target 378
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 122
+ source 53
+ target 379
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 123
+ source 53
+ target 380
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 124
+ source 53
+ target 381
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 125
+ source 53
+ target 382
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 126
+ source 54
+ target 126
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 127
+ source 54
+ target 138
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 128
+ source 55
+ target 143
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 129
+ source 56
+ target 147
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 130
+ source 56
+ target 383
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 131
+ source 56
+ target 384
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 132
+ source 56
+ target 385
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 133
+ source 56
+ target 386
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 134
+ source 57
+ target 283
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 135
+ source 58
+ target 210
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 136
+ source 59
+ target 387
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 137
+ source 59
+ target 388
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 138
+ source 60
+ target 189
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 139
+ source 61
+ target 93
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 140
+ source 61
+ target 326
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 141
+ source 62
+ target 110
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 142
+ source 62
+ target 265
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 143
+ source 62
+ target 278
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 144
+ source 62
+ target 338
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 145
+ source 62
+ target 389
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 146
+ source 63
+ target 215
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 147
+ source 64
+ target 97
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 148
+ source 64
+ target 99
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 149
+ source 65
+ target 158
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 150
+ source 65
+ target 222
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 151
+ source 65
+ target 297
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 152
+ source 65
+ target 390
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 153
+ source 66
+ target 127
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 154
+ source 66
+ target 340
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 155
+ source 67
+ target 181
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 156
+ source 68
+ target 326
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 157
+ source 69
+ target 185
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 158
+ source 69
+ target 391
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 159
+ source 70
+ target 162
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 160
+ source 71
+ target 327
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 161
+ source 71
+ target 392
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 162
+ source 72
+ target 286
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 163
+ source 73
+ target 113
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 164
+ source 74
+ target 312
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 165
+ source 75
+ target 247
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 166
+ source 75
+ target 284
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 167
+ source 75
+ target 302
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 168
+ source 75
+ target 326
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 169
+ source 76
+ target 85
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 170
+ source 77
+ target 87
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 171
+ source 78
+ target 393
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 172
+ source 79
+ target 315
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 173
+ source 80
+ target 147
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 174
+ source 81
+ target 117
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 175
+ source 81
+ target 394
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 176
+ source 82
+ target 138
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 177
+ source 83
+ target 194
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 178
+ source 83
+ target 235
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 179
+ source 84
+ target 171
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 180
+ source 84
+ target 395
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 181
+ source 85
+ target 396
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 182
+ source 86
+ target 209
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 183
+ source 87
+ target 118
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 184
+ source 87
+ target 145
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 185
+ source 87
+ target 284
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 186
+ source 87
+ target 369
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 187
+ source 88
+ target 318
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 188
+ source 89
+ target 397
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 189
+ source 90
+ target 143
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 190
+ source 91
+ target 215
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 191
+ source 92
+ target 110
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 192
+ source 93
+ target 111
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 193
+ source 94
+ target 126
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 194
+ source 94
+ target 302
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 195
+ source 95
+ target 392
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 196
+ source 95
+ target 398
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 197
+ source 95
+ target 399
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 198
+ source 96
+ target 111
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 199
+ source 96
+ target 284
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 200
+ source 96
+ target 398
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 201
+ source 96
+ target 400
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 202
+ source 97
+ target 286
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 203
+ source 97
+ target 401
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 204
+ source 98
+ target 143
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 205
+ source 99
+ target 204
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 206
+ source 99
+ target 222
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 207
+ source 99
+ target 402
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 208
+ source 100
+ target 129
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 209
+ source 100
+ target 227
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 210
+ source 100
+ target 340
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 211
+ source 100
+ target 403
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 212
+ source 101
+ target 318
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 213
+ source 101
+ target 325
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 214
+ source 102
+ target 227
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 215
+ source 103
+ target 121
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 216
+ source 103
+ target 280
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 217
+ source 103
+ target 404
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 218
+ source 103
+ target 405
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 219
+ source 103
+ target 406
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 220
+ source 103
+ target 407
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 221
+ source 103
+ target 408
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 222
+ source 104
+ target 117
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 223
+ source 105
+ target 156
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 224
+ source 106
+ target 188
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 225
+ source 106
+ target 252
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 226
+ source 106
+ target 257
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 227
+ source 106
+ target 318
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 228
+ source 107
+ target 409
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 229
+ source 108
+ target 267
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 230
+ source 108
+ target 388
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 231
+ source 108
+ target 410
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 232
+ source 108
+ target 411
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 233
+ source 109
+ target 220
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 234
+ source 109
+ target 412
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 235
+ source 110
+ target 217
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 236
+ source 110
+ target 278
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 237
+ source 110
+ target 289
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 238
+ source 110
+ target 413
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 239
+ source 110
+ target 414
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 240
+ source 110
+ target 415
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 241
+ source 110
+ target 416
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 242
+ source 110
+ target 417
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 243
+ source 110
+ target 418
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 244
+ source 110
+ target 419
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 245
+ source 110
+ target 420
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 246
+ source 110
+ target 421
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 247
+ source 111
+ target 422
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 248
+ source 111
+ target 423
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 249
+ source 111
+ target 424
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 250
+ source 112
+ target 425
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 251
+ source 113
+ target 202
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 252
+ source 113
+ target 426
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 253
+ source 113
+ target 427
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 254
+ source 114
+ target 142
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 255
+ source 114
+ target 239
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 256
+ source 115
+ target 275
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 257
+ source 116
+ target 352
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 258
+ source 117
+ target 253
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 259
+ source 117
+ target 428
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 260
+ source 117
+ target 429
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 261
+ source 118
+ target 143
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 262
+ source 118
+ target 212
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 263
+ source 118
+ target 276
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 264
+ source 118
+ target 352
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 265
+ source 118
+ target 353
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 266
+ source 118
+ target 429
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 267
+ source 118
+ target 430
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 268
+ source 118
+ target 431
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 269
+ source 119
+ target 256
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 270
+ source 119
+ target 432
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 271
+ source 119
+ target 433
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 272
+ source 120
+ target 147
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 273
+ source 121
+ target 434
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 274
+ source 122
+ target 202
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 275
+ source 122
+ target 392
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 276
+ source 122
+ target 435
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 277
+ source 123
+ target 129
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 278
+ source 123
+ target 436
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 279
+ source 123
+ target 437
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 280
+ source 124
+ target 393
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 281
+ source 124
+ target 438
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 282
+ source 124
+ target 439
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 283
+ source 125
+ target 258
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 284
+ source 126
+ target 235
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 285
+ source 127
+ target 141
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 286
+ source 127
+ target 217
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 287
+ source 127
+ target 239
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 288
+ source 127
+ target 284
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 289
+ source 127
+ target 309
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 290
+ source 128
+ target 440
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 291
+ source 129
+ target 162
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 292
+ source 130
+ target 263
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 293
+ source 130
+ target 320
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 294
+ source 130
+ target 441
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 295
+ source 130
+ target 442
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 296
+ source 131
+ target 429
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 297
+ source 132
+ target 302
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 298
+ source 133
+ target 138
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 299
+ source 134
+ target 310
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 300
+ source 135
+ target 234
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 301
+ source 135
+ target 326
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 302
+ source 135
+ target 443
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 303
+ source 136
+ target 312
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 304
+ source 137
+ target 210
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 305
+ source 137
+ target 311
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 306
+ source 138
+ target 300
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 307
+ source 138
+ target 444
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 308
+ source 138
+ target 445
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 309
+ source 139
+ target 446
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 310
+ source 139
+ target 447
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 311
+ source 140
+ target 147
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 312
+ source 141
+ target 227
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 313
+ source 141
+ target 448
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 314
+ source 142
+ target 237
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 315
+ source 142
+ target 239
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 316
+ source 142
+ target 267
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 317
+ source 142
+ target 321
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 318
+ source 142
+ target 339
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 319
+ source 142
+ target 340
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 320
+ source 142
+ target 341
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 321
+ source 142
+ target 449
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 322
+ source 143
+ target 228
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 323
+ source 143
+ target 450
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 324
+ source 143
+ target 451
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 325
+ source 143
+ target 452
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 326
+ source 143
+ target 453
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 327
+ source 143
+ target 454
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 328
+ source 144
+ target 239
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 329
+ source 145
+ target 174
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 330
+ source 146
+ target 220
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 331
+ source 146
+ target 284
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 332
+ source 147
+ target 455
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 333
+ source 147
+ target 456
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 334
+ source 148
+ target 320
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 335
+ source 148
+ target 457
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 336
+ source 148
+ target 458
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 337
+ source 149
+ target 314
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 338
+ source 150
+ target 305
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 339
+ source 151
+ target 291
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 340
+ source 151
+ target 459
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 341
+ source 152
+ target 312
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 342
+ source 153
+ target 188
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 343
+ source 153
+ target 448
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 344
+ source 154
+ target 315
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 345
+ source 155
+ target 460
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 346
+ source 156
+ target 246
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 347
+ source 157
+ target 461
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 348
+ source 158
+ target 461
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 349
+ source 159
+ target 349
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 350
+ source 160
+ target 175
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 351
+ source 161
+ target 357
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 352
+ source 161
+ target 359
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 353
+ source 162
+ target 436
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 354
+ source 162
+ target 462
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 355
+ source 162
+ target 463
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 356
+ source 162
+ target 464
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 357
+ source 162
+ target 465
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 358
+ source 163
+ target 227
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 359
+ source 164
+ target 262
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 360
+ source 164
+ target 359
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 361
+ source 164
+ target 466
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 362
+ source 165
+ target 326
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 363
+ source 166
+ target 467
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 364
+ source 167
+ target 325
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 365
+ source 168
+ target 467
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 366
+ source 168
+ target 468
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 367
+ source 169
+ target 180
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 368
+ source 170
+ target 469
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 369
+ source 171
+ target 175
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 370
+ source 171
+ target 206
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 371
+ source 171
+ target 395
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 372
+ source 172
+ target 187
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 373
+ source 173
+ target 470
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 374
+ source 174
+ target 266
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 375
+ source 174
+ target 369
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 376
+ source 174
+ target 471
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 377
+ source 175
+ target 280
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 378
+ source 175
+ target 331
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 379
+ source 175
+ target 458
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 380
+ source 175
+ target 472
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 381
+ source 175
+ target 473
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 382
+ source 175
+ target 474
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 383
+ source 175
+ target 475
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 384
+ source 175
+ target 476
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 385
+ source 175
+ target 477
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 386
+ source 175
+ target 478
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 387
+ source 175
+ target 479
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 388
+ source 176
+ target 326
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 389
+ source 177
+ target 312
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 390
+ source 178
+ target 225
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 391
+ source 178
+ target 227
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 392
+ source 178
+ target 296
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 393
+ source 178
+ target 480
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 394
+ source 178
+ target 481
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 395
+ source 178
+ target 482
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 396
+ source 178
+ target 483
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 397
+ source 179
+ target 315
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 398
+ source 180
+ target 321
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 399
+ source 180
+ target 484
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 400
+ source 180
+ target 485
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 401
+ source 181
+ target 222
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 402
+ source 181
+ target 225
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 403
+ source 181
+ target 227
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 404
+ source 181
+ target 486
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 405
+ source 182
+ target 255
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 406
+ source 182
+ target 312
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 407
+ source 182
+ target 487
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 408
+ source 182
+ target 488
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 409
+ source 183
+ target 315
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 410
+ source 184
+ target 387
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 411
+ source 185
+ target 306
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 412
+ source 185
+ target 368
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 413
+ source 185
+ target 469
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 414
+ source 185
+ target 489
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 415
+ source 186
+ target 315
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 416
+ source 187
+ target 302
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 417
+ source 187
+ target 357
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 418
+ source 187
+ target 490
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 419
+ source 188
+ target 280
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 420
+ source 188
+ target 467
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 421
+ source 188
+ target 470
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 422
+ source 188
+ target 491
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 423
+ source 188
+ target 492
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 424
+ source 189
+ target 239
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 425
+ source 189
+ target 334
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 426
+ source 190
+ target 266
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 427
+ source 191
+ target 493
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 428
+ source 192
+ target 470
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 429
+ source 193
+ target 198
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 430
+ source 193
+ target 440
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 431
+ source 194
+ target 494
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 432
+ source 194
+ target 495
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 433
+ source 195
+ target 312
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 434
+ source 196
+ target 259
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 435
+ source 197
+ target 325
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 436
+ source 198
+ target 359
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 437
+ source 198
+ target 496
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 438
+ source 199
+ target 352
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 439
+ source 200
+ target 284
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 440
+ source 201
+ target 243
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 441
+ source 202
+ target 467
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 442
+ source 202
+ target 497
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 443
+ source 202
+ target 498
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 444
+ source 203
+ target 278
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 445
+ source 204
+ target 216
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 446
+ source 204
+ target 259
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 447
+ source 204
+ target 499
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 448
+ source 204
+ target 500
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 449
+ source 205
+ target 492
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 450
+ source 206
+ target 458
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 451
+ source 206
+ target 476
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 452
+ source 206
+ target 501
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 453
+ source 207
+ target 278
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 454
+ source 208
+ target 470
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 455
+ source 209
+ target 502
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 456
+ source 210
+ target 503
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 457
+ source 211
+ target 296
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 458
+ source 211
+ target 403
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 459
+ source 211
+ target 504
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 460
+ source 212
+ target 355
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 461
+ source 213
+ target 280
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 462
+ source 214
+ target 284
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 463
+ source 215
+ target 429
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 464
+ source 215
+ target 505
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 465
+ source 216
+ target 506
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 466
+ source 217
+ target 231
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 467
+ source 217
+ target 245
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 468
+ source 217
+ target 507
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 469
+ source 218
+ target 326
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 470
+ source 219
+ target 243
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 471
+ source 219
+ target 276
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 472
+ source 220
+ target 258
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 473
+ source 220
+ target 306
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 474
+ source 220
+ target 508
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 475
+ source 220
+ target 509
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 476
+ source 221
+ target 276
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 477
+ source 221
+ target 510
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 478
+ source 221
+ target 511
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 479
+ source 222
+ target 502
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 480
+ source 222
+ target 512
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 481
+ source 223
+ target 265
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 482
+ source 224
+ target 302
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 483
+ source 225
+ target 315
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 484
+ source 225
+ target 513
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 485
+ source 226
+ target 266
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 486
+ source 226
+ target 514
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 487
+ source 227
+ target 315
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 488
+ source 227
+ target 437
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 489
+ source 228
+ target 265
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 490
+ source 229
+ target 258
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 491
+ source 229
+ target 278
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 492
+ source 229
+ target 515
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 493
+ source 230
+ target 293
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 494
+ source 231
+ target 284
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 495
+ source 232
+ target 516
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 496
+ source 233
+ target 516
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 497
+ source 234
+ target 361
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 498
+ source 235
+ target 325
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 499
+ source 235
+ target 517
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 500
+ source 236
+ target 495
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 501
+ source 237
+ target 518
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 502
+ source 238
+ target 502
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 503
+ source 239
+ target 267
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 504
+ source 239
+ target 339
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 505
+ source 239
+ target 340
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 506
+ source 239
+ target 341
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 507
+ source 239
+ target 349
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 508
+ source 239
+ target 449
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 509
+ source 239
+ target 519
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 510
+ source 240
+ target 315
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 511
+ source 241
+ target 284
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 512
+ source 242
+ target 496
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 513
+ source 242
+ target 520
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 514
+ source 242
+ target 521
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 515
+ source 243
+ target 402
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 516
+ source 243
+ target 522
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 517
+ source 244
+ target 354
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 518
+ source 245
+ target 284
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 519
+ source 246
+ target 312
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 520
+ source 247
+ target 284
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 521
+ source 247
+ target 302
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 522
+ source 247
+ target 312
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 523
+ source 247
+ target 326
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 524
+ source 248
+ target 284
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 525
+ source 249
+ target 315
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 526
+ source 250
+ target 397
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 527
+ source 251
+ target 266
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 528
+ source 252
+ target 523
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 529
+ source 253
+ target 307
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 530
+ source 253
+ target 524
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 531
+ source 254
+ target 308
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 532
+ source 255
+ target 525
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 533
+ source 256
+ target 344
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 534
+ source 257
+ target 318
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 535
+ source 258
+ target 312
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 536
+ source 258
+ target 526
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 537
+ source 258
+ target 527
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 538
+ source 258
+ target 528
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 539
+ source 259
+ target 302
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 540
+ source 259
+ target 397
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 541
+ source 259
+ target 529
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 542
+ source 260
+ target 311
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 543
+ source 261
+ target 405
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 544
+ source 262
+ target 301
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 545
+ source 262
+ target 392
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 546
+ source 262
+ target 530
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 547
+ source 263
+ target 265
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 548
+ source 264
+ target 289
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 549
+ source 265
+ target 429
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 550
+ source 265
+ target 531
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 551
+ source 265
+ target 532
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 552
+ source 265
+ target 533
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 553
+ source 266
+ target 344
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 554
+ source 266
+ target 534
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 555
+ source 267
+ target 340
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 556
+ source 268
+ target 425
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 557
+ source 269
+ target 284
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 558
+ source 269
+ target 535
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 559
+ source 270
+ target 294
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 560
+ source 270
+ target 536
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 561
+ source 271
+ target 461
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 562
+ source 271
+ target 537
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 563
+ source 272
+ target 361
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 564
+ source 273
+ target 312
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 565
+ source 274
+ target 325
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 566
+ source 274
+ target 403
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 567
+ source 275
+ target 467
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 568
+ source 276
+ target 334
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 569
+ source 277
+ target 431
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 570
+ source 278
+ target 287
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 571
+ source 278
+ target 538
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 572
+ source 278
+ target 539
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 573
+ source 278
+ target 540
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 574
+ source 279
+ target 429
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 575
+ source 279
+ target 514
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 576
+ source 280
+ target 284
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 577
+ source 281
+ target 306
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 578
+ source 282
+ target 312
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 579
+ source 283
+ target 448
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 580
+ source 284
+ target 393
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 581
+ source 284
+ target 425
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 582
+ source 284
+ target 431
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 583
+ source 284
+ target 437
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 584
+ source 284
+ target 442
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 585
+ source 284
+ target 459
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 586
+ source 284
+ target 541
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 587
+ source 285
+ target 542
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 588
+ source 286
+ target 543
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 589
+ source 287
+ target 302
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 590
+ source 288
+ target 310
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 591
+ source 289
+ target 423
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 592
+ source 290
+ target 291
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 593
+ source 290
+ target 459
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 594
+ source 291
+ target 305
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 595
+ source 292
+ target 437
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 596
+ source 293
+ target 448
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 597
+ source 294
+ target 356
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 598
+ source 295
+ target 311
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 599
+ source 296
+ target 467
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 600
+ source 297
+ target 527
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 601
+ source 298
+ target 312
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 602
+ source 299
+ target 361
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 603
+ source 300
+ target 544
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 604
+ source 301
+ target 311
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 605
+ source 302
+ target 409
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 606
+ source 302
+ target 431
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 607
+ source 302
+ target 541
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 608
+ source 303
+ target 306
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 609
+ source 303
+ target 545
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 610
+ source 303
+ target 546
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 611
+ source 304
+ target 397
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 612
+ source 305
+ target 459
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 613
+ source 306
+ target 509
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 614
+ source 307
+ target 461
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 615
+ source 307
+ target 470
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 616
+ source 308
+ target 325
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 617
+ source 308
+ target 447
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 618
+ source 308
+ target 547
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 619
+ source 308
+ target 548
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 620
+ source 309
+ target 340
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 621
+ source 310
+ target 352
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 622
+ source 311
+ target 325
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 623
+ source 312
+ target 549
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 624
+ source 312
+ target 550
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 625
+ source 312
+ target 551
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 626
+ source 312
+ target 552
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 627
+ source 313
+ target 327
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 628
+ source 314
+ target 325
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 629
+ source 314
+ target 326
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 630
+ source 314
+ target 403
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 631
+ source 314
+ target 553
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 632
+ source 315
+ target 325
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 633
+ source 316
+ target 397
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 634
+ source 317
+ target 352
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 635
+ source 318
+ target 492
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 636
+ source 318
+ target 554
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 637
+ source 319
+ target 425
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 638
+ source 320
+ target 335
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 639
+ source 321
+ target 555
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 640
+ source 321
+ target 556
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 641
+ source 322
+ target 425
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 642
+ source 323
+ target 467
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 643
+ source 324
+ target 467
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 644
+ source 325
+ target 327
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 645
+ source 326
+ target 557
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+ edge [
+ id 646
+ source 327
+ target 558
+ pajek [
+ dir 0.0
+ weight 1.0
+ ]
+ graphics [
+ fill "#000000"
+ outline "#000000"
+ frameThickness 1.0
+ rounding 5.0
+ gradient 0.0
+ arrow "none"
+ thickness 1.0
+ ]
+ ]
+]
diff --git a/src/3rdparty/adaptagrams/libcola/tests/gml_graph.cpp b/src/3rdparty/adaptagrams/libcola/tests/gml_graph.cpp
new file mode 100644
index 0000000..6a280cf
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/gml_graph.cpp
@@ -0,0 +1,257 @@
+/*
+ * vim: ts=4 sw=4 et tw=0 wm=0
+ *
+ * libcola - A library providing force-directed network layout using the
+ * stress-majorization method subject to separation constraints.
+ *
+ * Copyright (C) 2006-2008 Monash University
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library in the file LICENSE; if not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place,
+ * Suite 330, Boston, MA 02111-1307 USA
+ *
+*/
+
+#include <fstream>
+#include <iostream>
+#include <string>
+#include <sstream>
+#include <boost/regex.hpp>
+#include "graphlayouttest.h"
+
+using namespace std;
+using namespace cola;
+
+typedef map<unsigned,unsigned> NodeIdMap;
+typedef map<string,list<unsigned> > Partitions;
+
+Edge readEdge(ifstream &f) {
+ string l;
+ int indent=1;
+ unsigned source, target;
+ boost::regex sourceRE(".*source\\s+(\\d+).*");
+ boost::regex targetRE(".*target\\s+(\\d+).*");
+ boost::smatch matches;
+ while(!getline(f,l).eof()) {
+ if(boost::regex_match(l,matches,sourceRE)) {
+ std::istringstream i(matches[1]);
+ i>>source;
+ }
+ if(boost::regex_match(l,matches,targetRE)) {
+ std::istringstream i(matches[1]);
+ i>>target;
+ }
+ if(l.find("[")!=string::npos) {
+ indent++;
+ }
+ if(l.find("]")!=string::npos) {
+ indent--;
+ if(indent==0) {
+ return make_pair(source,target);
+ }
+ }
+ }
+ cerr << "Incomplete edge definition!" << endl;
+ return make_pair(0,0);
+}
+
+unsigned readNode(ifstream &f, NodeIdMap &nodeIdMap,
+ Partitions &partitions) {
+ static unsigned nodeCtr=0;
+ int indent=1;
+ string l;
+ boost::regex idRE("\\s*id\\s+(\\d+).*");
+ boost::regex fillRE(".*fill\\s+\"#(.+)\".*");
+ boost::smatch matches;
+ unsigned id;
+ while(!getline(f,l).eof()) {
+ if(boost::regex_match(l,matches,idRE)) {
+ std::istringstream i(matches[1]);
+ i>>id;
+ nodeIdMap[id]=nodeCtr++;
+ }
+ if(boost::regex_match(l,matches,fillRE)) {
+ string partition(matches[1]);
+ Partitions::iterator i=partitions.find(partition);
+ partitions[partition].push_back(nodeIdMap[id]);
+ }
+ if(l.find("[")!=string::npos) {
+ indent++;
+ }
+ if(l.find("]")!=string::npos) {
+ indent--;
+ if(indent==0) {
+ return nodeCtr;
+ }
+ }
+ }
+ cerr << "Incomplete node definition!" << endl;
+ return 0;
+}
+
+struct PostIteration : TestConvergence {
+ PostIteration(vector<vpsc::Rectangle*> &rs, vector<list<unsigned> > &ps, vector<double> &bs, const double d,const unsigned i) : TestConvergence(d,i), rs(rs), ps(ps), bs(bs) {}
+ bool operator()(const double new_stress, valarray<double> & X, valarray<double> & Y) {
+ static int iterations=0;
+ unsigned n=X.size();
+ double centreX=0,centreY=0;
+ for(unsigned i=0;i<n;i++) {
+ centreX+=X[i];
+ centreY+=Y[i];
+ }
+ centreX/=(double)n;
+ centreY/=(double)n;
+ //printf("centre=(%f,%f)\n",centreX,centreY);
+ for(unsigned i=0;i<ps.size();i++) {
+ for(list<unsigned>::iterator v=ps[i].begin();v!=ps[i].end();v++) {
+ double dx=X[*v]-centreX, dy=Y[*v]-centreY;
+ double l=sqrt(dx*dx+dy*dy);
+ if(i>0) {
+ double r=bs[i-1]+10;
+ if(l<r) {
+ double dx1=dx*(r/l), dy1=dy*(r/l);
+ X[*v]=centreX+dx1;
+ Y[*v]=centreY+dy1;
+ }
+ }
+ if(i<ps.size()-1) {
+ double r=bs[i]-10;
+ if(l>r) {
+ double dx1=dx*(r/l), dy1=dy*(r/l);
+ X[*v]=centreX+dx1;
+ Y[*v]=centreY+dy1;
+ }
+ }
+ }
+ }
+ for(unsigned i=0;i<rs.size();i++) {
+ rs[i]->moveCentre(X[i],Y[i]);
+ }
+ cout << iterations++ << ":stress="<<new_stress<<endl;
+ return TestConvergence::operator()(new_stress,X,Y);
+ }
+ vector<vpsc::Rectangle*> &rs;
+ vector<list<unsigned> > &ps;
+ vector<double> &bs;
+};
+int main() {
+ //const char *fname="data/test.gml";
+ string fname("data/uetzNetworkGSC-all.gml");
+ ifstream f(fname.c_str());
+ if(!f.is_open()) {
+ cout << "Error opening file: " << fname << endl;
+ exit(1);
+ }
+ unsigned V = 0;
+ double defaultEdgeLength=40;
+ vector<Edge> es;
+ CompoundConstraints cx,cy;
+ NodeIdMap nodeIdMap;
+ Partitions partitions;
+ string l;
+ boost::regex nodeRE(".*node\\s+\\[.*");
+ boost::regex edgeRE(".*edge\\s+\\[.*");
+ while(!getline(f,l).eof()) {
+ if(boost::regex_match(l,nodeRE)) {
+ V=readNode(f,nodeIdMap,partitions);
+ }
+ if(boost::regex_match(l,edgeRE)) {
+ pair<unsigned,unsigned> e=readEdge(f);
+ unsigned start=nodeIdMap[e.first];
+ unsigned end=nodeIdMap[e.second];
+ //printf("edge (%d,%d)\n",start,end);
+ es.push_back(make_pair(start,end));
+ //cy.push_back(
+ //new SeparationConstraint(start,end,defaultEdgeLength/3));
+ }
+ }
+ assert(V==nodeIdMap.size());
+ /*
+ unsigned p1=V++;
+ unsigned p2=V++;
+ // red at the top
+ list<unsigned> &p=partitions[string("FF3333")];
+ //double cgap=defaultEdgeLength/3;
+ double cgap=0;
+ for(list<unsigned>::iterator j=p.begin();j!=p.end();j++) {
+ cy.push_back(
+ new SeparationConstraint(*j,p1,cgap));
+ }
+ // yellow in the middle
+ p=partitions[string("FFFF00")];
+ for(list<unsigned>::iterator j=p.begin();j!=p.end();j++) {
+ cy.push_back(
+ new SeparationConstraint(p1,*j,cgap));
+ cy.push_back(
+ new SeparationConstraint(*j,p2,cgap));
+ }
+ // green at the bottom
+ p=partitions[string("00FF00")];
+ for(list<unsigned>::iterator j=p.begin();j!=p.end();j++) {
+ cy.push_back(
+ new SeparationConstraint(p2,*j,cgap));
+ }
+ */
+ cout << "V="<<V<<endl;
+ double width=1000;
+ double height=1000;
+ vector<vpsc::Rectangle*> rs;
+ cout << "|V|=" << V << endl;
+ //srand(time(nullptr));
+ for(unsigned i=0;i<V;i++) {
+ double x=getRand(width), y=getRand(height);
+ rs.push_back(new vpsc::Rectangle(x,x+1,y,y+1));
+ }
+ vector<list<unsigned> > ps;
+ ps.push_back(partitions[string("FF3333")]);
+ ps.push_back(partitions[string("FFFF00")]);
+ ps.push_back(partitions[string("00FF00")]);
+ vector<double> bs;
+ bs.push_back(80);
+ bs.push_back(120);
+ PostIteration test(rs,ps,bs,0.0001,200);
+ ConstrainedMajorizationLayout alg(rs,es,nullptr,defaultEdgeLength,nullptr,test);
+ //ConstrainedFDLayout alg(rs,es,nullptr,defaultEdgeLength,nullptr,test);
+ //alg.setConstrainedLayout(true);
+ //alg.setScaling(true);
+ //alg.setXConstraints(&cx);
+ //alg.setYConstraints(&cy);
+ alg.run();
+ /*
+ vector<ColourRGBA> colours(V);
+ list<unsigned> &p=partitions[string("FF3333")];
+ for(list<unsigned>::iterator i=p.begin();i!=p.end();i++) {
+ //colours[*i]=ColourRGBA(1.,0,0.3,1.);
+ colours[*i]=ColourRGBA(0,0,0,1.);
+ }
+ p=partitions[string("FFFF00")];
+ for(list<unsigned>::iterator i=p.begin();i!=p.end();i++) {
+ //colours[*i]=ColourRGBA((unsigned)255,162,99,255);
+ colours[*i]=ColourRGBA(0,0,0,1.);
+ }
+ p=partitions[string("00FF00")];
+ for(list<unsigned>::iterator i=p.begin();i!=p.end();i++) {
+ //colours[*i]=ColourRGBA((unsigned)24,157,0,255);
+ colours[*i]=ColourRGBA(0,0,0,1.);
+ }
+ */
+ OutputFile of(rs,es,nullptr,"gml_graph-constrained.svg",false,true);
+ //of.colours=&colours;
+ of.generate();
+ for(unsigned i=0;i<V;i++) {
+ delete rs[i];
+ }
+ return 0;
+}
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=4:softtabstop=4:textwidth=99 :
diff --git a/src/3rdparty/adaptagrams/libcola/tests/graphlayouttest.h b/src/3rdparty/adaptagrams/libcola/tests/graphlayouttest.h
new file mode 100644
index 0000000..2cc51e7
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/graphlayouttest.h
@@ -0,0 +1,275 @@
+/*
+ * vim: ts=4 sw=4 et tw=0 wm=0
+ *
+ * libcola - A library providing force-directed network layout using the
+ * stress-majorization method subject to separation constraints.
+ *
+ * Copyright (C) 2006-2008 Monash University
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library in the file LICENSE; if not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place,
+ * Suite 330, Boston, MA 02111-1307 USA
+ *
+*/
+
+#include <sstream>
+#include <ctime>
+
+#include <libvpsc/rectangle.h>
+#include <libcola/cola.h>
+#include <libtopology/topology_graph.h>
+#include <libcola/output_svg.h>
+
+inline double getRand(double range) {
+ return range*rand()/RAND_MAX;
+}
+
+namespace DFS {
+using namespace std;
+using namespace cola;
+struct Node {
+ unsigned id;
+ bool visited;
+ typedef vector<Node*> PNodes;
+ PNodes neighbours;
+ void visit(vector<unsigned> &order) {
+ visited=true;
+ unsigned mid=neighbours.size()/2;
+ for(unsigned i=0;i<mid;i++) {
+ if(!neighbours[i]->visited) {
+ neighbours[i]->visit(order);
+ }
+ }
+ order.push_back(id);
+ for(unsigned i=mid;i<neighbours.size();i++) {
+ if(!neighbours[i]->visited) {
+ neighbours[i]->visit(order);
+ }
+ }
+ }
+ void visit_leaves(vector<unsigned> &order) {
+ unsigned mid=neighbours.size()/2;
+ Node *v;
+ for(unsigned i=0;i<mid;i++) {
+ v=neighbours[i];
+ if(v->neighbours.size()==0) {
+ order.push_back(v->id);
+ }
+ }
+ order.push_back(id);
+ for(unsigned i=mid;i<neighbours.size();i++) {
+ v=neighbours[i];
+ if(v->neighbours.size()==0) {
+ order.push_back(v->id);
+ }
+ }
+ }
+};
+
+struct Graph {
+ typedef vector<Edge> Edges;
+ typedef vector<Node> Nodes;
+ Nodes nodes;
+ vector<unsigned> order;
+ vector<vector<unsigned> > leaves;
+ Graph(unsigned n,vector<Edge> &edges) {
+ nodes.resize(n);
+ order.resize(0);
+ leaves.resize(n);
+ for(Edges::iterator i=edges.begin();i!=edges.end();i++) {
+ nodes[i->first].neighbours.push_back(&nodes[i->second]);
+ }
+ for(unsigned i=0;i<nodes.size();i++) {
+ nodes[i].id=i;
+ nodes[i].visited=false;
+ }
+ for(Nodes::iterator i=nodes.begin();i!=nodes.end();i++) {
+ if(!i->visited) {
+ i->visit(order);
+ }
+ }
+ for(unsigned i=0;i<nodes.size();i++) {
+ leaves[i].resize(0);
+ nodes[i].visit_leaves(leaves[i]);
+ }
+ assert(order.size()==nodes.size());
+ }
+};
+} // namespace DFS
+using namespace cola;
+using namespace std;
+struct CheckProgress : TestConvergence {
+ CheckProgress(const double d,const unsigned i) : TestConvergence(d,i) {}
+ bool operator()(const double new_stress, valarray<double> & X, valarray<double> & Y) {
+ cout << "stress="<<new_stress<<" iteration="<<iterations<<endl;
+ return TestConvergence::operator()(new_stress,X,Y);
+ }
+};
+
+enum SolverType { CG, UGP, SGP, IP };
+void run_test(
+ vector<pair<double,double> > const &startpos,
+ vector<Edge> const &es,
+ const double defaultEdgeLength,
+ CompoundConstraints &ccs,
+ const SolverType s,
+ const bool constrained,
+ const char *fname,
+ const char *testdesc) {
+ vector<vpsc::Rectangle*> rs;
+ unsigned V=startpos.size();
+ cout << "|V|=" << V << endl;
+ //srand(time(nullptr));
+ for(unsigned i=0;i<V;i++) {
+ double x=startpos[i].first, y=startpos[i].second;
+ rs.push_back(new vpsc::Rectangle(x,x+1,y,y+1));
+ }
+ CheckProgress test(0.001,100);
+ clock_t starttime=clock();
+ ConstrainedMajorizationLayout alg(rs,es,nullptr,defaultEdgeLength,
+ StandardEdgeLengths,&test);
+ switch(s) {
+ cout << "Solver: ";
+ case SGP:
+ cout << "Scaled GP" << endl;
+ alg.setConstrainedLayout(true);
+ alg.setScaling(true);
+ break;
+ case UGP:
+ cout << "Unscaled GP" << endl;
+ alg.setConstrainedLayout(true);
+ alg.setScaling(false);
+ break;
+ case CG:
+ cout << "Conjugate Gradient" << endl;
+ alg.setConstrainedLayout(false);
+ break;
+ case IP:
+ cout << "Interior Point" << endl;
+ alg.setExternalSolver(true);
+ alg.setConstrainedLayout(true);
+ break;
+ }
+ if(!constrained) {
+ cout << "Unconstrained layout" << endl;
+ } else {
+ cout << "Constrained layout" << endl;
+ printf("|CompoundConstraints|=%u\n",(unsigned)ccs.size());
+ alg.setConstraints(&ccs);
+ }
+ alg.run();
+ double t=double(clock()-starttime)/double(CLOCKS_PER_SEC);
+ ostringstream ss;
+ ss << fname << "_" << V << "_" << testdesc << ".svg";
+
+ cout<<ss.str()<<" Time="<<t<<endl;
+ OutputFile of(rs,es,nullptr,ss.str().c_str(),false,true);
+ of.generate();
+ for(unsigned i=0;i<V;i++) {
+ delete rs[i];
+ }
+}
+void writeFile(const topology::Nodes& vs, const topology::Edges& es, const string& outputFileName) {
+ const unsigned n=vs.size();
+ vector<cola::Edge> cedges;
+
+ for(unsigned i=0;i<es.size();i++) {
+ cedges.push_back(make_pair(1,2));
+ }
+
+ vector<straightener::Route*> routes;
+ for(topology::Edges::const_iterator e=es.begin();e!=es.end();++e) {
+ routes.push_back((*e)->getRoute());
+ }
+
+ vector<string> labels(n);
+ for(unsigned i=0;i<n;++i) {
+ stringstream ss;
+ ss << i;
+ labels[i]=ss.str();
+ }
+
+ vector<vpsc::Rectangle*> rs;
+ for(topology::Nodes::const_iterator i=vs.begin();i!=vs.end();++i) {
+ rs.push_back((*i)->rect);
+ }
+ OutputFile of(rs,cedges,nullptr,outputFileName,true,false);
+ of.setLabels(labels);
+ of.routes=&routes;
+ of.generate();
+
+ for_each(routes.begin(),routes.end(),delete_object());
+}
+
+void writeDunnartFile(const topology::Nodes& vs, const vector<std::pair<unsigned int, unsigned int> >& es, const string& outputFileName) {
+ FILE *fp = fopen(outputFileName.c_str(), "w");
+ assert (fp != nullptr);
+
+ fprintf(fp, "<svg xmlns:dunnart=\"http://www.csse.monash.edu.au/~mwybrow/dunnart.dtd\">\n");
+ for(unsigned int i = 0; i < vs.size(); ++i) {
+ vpsc::Rectangle *rect = vs[i]->rect;
+
+ int id = i + 1;
+ fprintf(fp, "<rect id=\"%d\" dunnart:label=\"\" dunnart:width=\"20\" "
+ "dunnart:height=\"20\" dunnart:xPos=\"%f\" "
+ "dunnart:yPos=\"%f\" dunnart:type=\"rect\" />\n", id,
+ rect->getCentreX(), rect->getCentreY());
+ }
+
+ for(unsigned int i = 0; i < es.size(); ++i) {
+ const std::pair<unsigned int, unsigned int>& edge = es[i];
+
+ int id = i + 1 + vs.size();
+ fprintf(fp, "<path id=\"%d\" dunnart:srcID=\"%d\" "
+ "dunnart:srcFlags=\"544\" dunnart:dstID=\"%d\" "
+ "dunnart:dstFlags=\"544\" dunnart:directed=\"1\" "
+ "dunnart:type=\"connAvoidPoly\" />\n", id,
+ edge.first + 1, edge.second + 1);
+ }
+
+ fprintf(fp, "</svg>\n");
+
+ fclose(fp);
+
+#if 0
+ for(unsigned i=0;i<es.size();i++) {
+ cedges.push_back(make_pair(1,2));
+ }
+
+ vector<straightener::Route*> routes;
+ for(topology::Edges::const_iterator e=es.begin();e!=es.end();++e) {
+ routes.push_back((*e)->getRoute());
+ }
+
+ vector<string> labels(n);
+ for(unsigned i=0;i<n;++i) {
+ stringstream ss;
+ ss << i;
+ labels[i]=ss.str();
+ }
+
+ vector<vpsc::Rectangle*> rs;
+ for(topology::Nodes::const_iterator i=vs.begin();i!=vs.end();++i) {
+ rs.push_back((*i)->rect);
+ }
+ OutputFile of(rs,cedges,nullptr,outputFileName,true,false);
+ of.setLabels(labels);
+ of.routes=&routes;
+ of.generate();
+
+ for_each(routes.begin(),routes.end(),delete_object());
+#endif
+}
+
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=4:softtabstop=4:
diff --git a/src/3rdparty/adaptagrams/libcola/tests/initialOverlap.cpp b/src/3rdparty/adaptagrams/libcola/tests/initialOverlap.cpp
new file mode 100644
index 0000000..4f0a8bf
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/initialOverlap.cpp
@@ -0,0 +1,168 @@
+// Check that rectangles that start at same position don't get stuck on top of each other
+// during force-directed layout.
+#include <vector>
+#include <utility>
+#include "libcola/cola.h"
+#include "libcola/pseudorandom.h"
+
+using namespace cola;
+
+int main(void) {
+ CompoundConstraints ccs;
+ std::vector<Edge> es;
+ EdgeLengths eLengths;
+ double defaultEdgeLength=1;
+ std::vector<vpsc::Rectangle*> rs;
+ vpsc::Rectangle *rect = nullptr;
+
+ rect = new vpsc::Rectangle(0, 100, 0, 60);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(0, 100, 0, 60);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(0, 100, 0, 60);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(0, 20, 0, 20);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(0, 60, 0, 60);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(0, 60, 0, 60);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(0, 60, 0, 60);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(0, 60, 0, 60);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(0, 20, 0, 20);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(0, 60, 0, 60);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(0, 60, 0, 60);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(0, 20, 0, 20);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(0, 100, 0, 60);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(0, 20, 0, 20);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(0, 20, 0, 20);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(0, 60, 0, 60);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(0, 60, 0, 60);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(0, 60, 0, 60);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(0, 60, 0, 60);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(0, 100, 0, 60);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(0, 100, 0, 60);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(0, 100, 0, 60);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(0, 100, 0, 60);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(0, 100, 0, 60);
+ rs.push_back(rect);
+
+ es.push_back(std::make_pair(0, 3));
+ es.push_back(std::make_pair(1, 3));
+ es.push_back(std::make_pair(2, 3));
+ es.push_back(std::make_pair(2, 8));
+ es.push_back(std::make_pair(2, 11));
+ es.push_back(std::make_pair(3, 4));
+ es.push_back(std::make_pair(3, 5));
+ es.push_back(std::make_pair(6, 8));
+ es.push_back(std::make_pair(7, 8));
+ es.push_back(std::make_pair(8, 22));
+ es.push_back(std::make_pair(8, 23));
+ es.push_back(std::make_pair(9, 11));
+ es.push_back(std::make_pair(10, 11));
+ es.push_back(std::make_pair(11, 12));
+ es.push_back(std::make_pair(11, 23));
+ es.push_back(std::make_pair(12, 13));
+ es.push_back(std::make_pair(12, 14));
+ es.push_back(std::make_pair(13, 17));
+ es.push_back(std::make_pair(13, 18));
+ es.push_back(std::make_pair(13, 19));
+ es.push_back(std::make_pair(13, 20));
+ es.push_back(std::make_pair(14, 15));
+ es.push_back(std::make_pair(14, 16));
+ es.push_back(std::make_pair(14, 20));
+ es.push_back(std::make_pair(14, 21));
+
+ eLengths.resize(25);
+ eLengths[0] = 100;
+ eLengths[1] = 100;
+ eLengths[2] = 100;
+ eLengths[3] = 100;
+ eLengths[4] = 100;
+ eLengths[5] = 100;
+ eLengths[6] = 100;
+ eLengths[7] = 100;
+ eLengths[8] = 100;
+ eLengths[9] = 100;
+ eLengths[10] = 100;
+ eLengths[11] = 100;
+ eLengths[12] = 100;
+ eLengths[13] = 100;
+ eLengths[14] = 100;
+ eLengths[15] = 100;
+ eLengths[16] = 100;
+ eLengths[17] = 100;
+ eLengths[18] = 100;
+ eLengths[19] = 100;
+ eLengths[20] = 100;
+ eLengths[21] = 100;
+ eLengths[22] = 100;
+ eLengths[23] = 100;
+ eLengths[24] = 100;
+
+ ConstrainedFDLayout alg(rs, es, defaultEdgeLength, eLengths);
+ alg.run();
+ //alg.outputInstanceToSVG("initialOverlap");
+
+ bool overlaps = false;
+
+ for (size_t i = 0; i < rs.size(); ++i)
+ {
+ for (size_t j = i + 1; j < rs.size(); ++j)
+ {
+ overlaps |= ((rs[i]->overlapD(0, rs[j]) > 0) && (rs[i]->overlapD(1, rs[j]) > 0));
+ if (overlaps)
+ {
+ break;
+ }
+ }
+ if (overlaps)
+ {
+ break;
+ }
+ }
+
+ alg.freeAssociatedObjects();
+
+ return (overlaps) ? 1 : 0;
+};
diff --git a/src/3rdparty/adaptagrams/libcola/tests/invalid.cpp b/src/3rdparty/adaptagrams/libcola/tests/invalid.cpp
new file mode 100644
index 0000000..175a6b7
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/invalid.cpp
@@ -0,0 +1,80 @@
+/*
+ * vim: ts=4 sw=4 et tw=0 wm=0
+ *
+ * libcola - A library providing force-directed network layout using the
+ * stress-majorization method subject to separation constraints.
+ *
+ * Copyright (C) 2006-2008 Monash University
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library in the file LICENSE; if not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place,
+ * Suite 330, Boston, MA 02111-1307 USA
+ *
+*/
+
+
+/** \file
+ * Interface between Inkscape code (SPItem) and graphlayout functions.
+ *
+ * Authors:
+ * Tim Dwyer <tgdwyer@gmail.com>
+ */
+#include <iostream>
+
+#include <vector>
+#include <algorithm>
+#include <float.h>
+#include <libcola/cola.h>
+//#include <libvspc/exceptions.h>
+#include <libvpsc/constraint.h>
+#include "graphlayouttest.h"
+
+using namespace std;
+using namespace cola;
+int main() {
+
+ const unsigned V = 2;
+ typedef pair < unsigned, unsigned >Edge;
+ Edge edge_array[] = { Edge(0, 1) };
+ unsigned E = sizeof(edge_array) / sizeof(Edge);
+ vector<Edge> es(edge_array,edge_array+E);
+ double width=100;
+ double height=100;
+ vector<vpsc::Rectangle*> rs;
+ for(unsigned i=0;i<V;i++) {
+ double x=getRand(width), y=getRand(height);
+ rs.push_back(new vpsc::Rectangle(x,x+5,y,y+5));
+ }
+ ConstrainedFDLayout alg(rs, es, width/2);
+ CompoundConstraints ccs;
+ AlignmentConstraint ac(vpsc::YDIM);
+ ccs.push_back(&ac);
+ ac.addShape(0,0);
+ ac.addShape(5,0);
+ alg.setConstraints(ccs);
+ try {
+ alg.run();
+ } catch (cola::InvalidVariableIndexException& e) {
+ cerr << e.what() << endl;
+ return 0;
+ }
+ //assert(fabs(rs[0]->getCentreX()-rs[3]->getCentreX())<0.001);
+ cout<<rs[0]->getCentreX()<<","<<rs[1]->getCentreX()<<endl;
+ //output_svg(rs,es,"unsatisfiable.svg");
+ for(unsigned i=0;i<V;i++) {
+ delete rs[i];
+ }
+ return 1;
+}
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=4:softtabstop=4:textwidth=99 :
diff --git a/src/3rdparty/adaptagrams/libcola/tests/large_graph.cpp b/src/3rdparty/adaptagrams/libcola/tests/large_graph.cpp
new file mode 100644
index 0000000..a236991
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/large_graph.cpp
@@ -0,0 +1,144 @@
+/*
+ * vim: ts=4 sw=4 et tw=0 wm=0
+ *
+ * libcola - A library providing force-directed network layout using the
+ * stress-majorization method subject to separation constraints.
+ *
+ * Copyright (C) 2006-2008 Monash University
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library in the file LICENSE; if not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place,
+ * Suite 330, Boston, MA 02111-1307 USA
+ *
+*/
+
+// Loads a graph from a text file, generates constraints for each edge requiring them
+// to point downwards, and proceeds to produce a layout using libcola.
+// The input file format is 2 numeric node labels per line separated by a space,
+// each pair representing a directed edge. Node labels are simply used as array
+// offsets so they should start from 0.
+// The graph should be connected.
+// Default input file is the matrix market 1138_bus graph.
+// Running times:
+// no constraints - steepest descent solver: 149 seconds
+// no constraints - mosek: 49.47 seconds
+// no constraints - conjugate gradient solver: 12.2 seconds
+// dir-edge constraints - mosek: 214.2 seconds
+//
+// V=1138
+#include<iostream>
+#include<iomanip>
+#include<fstream>
+#include<vector>
+#include<valarray>
+#include <libvpsc/linesegment.h>
+#include "graphlayouttest.h"
+
+using namespace std;
+using namespace cola;
+
+int countCrossings(vpsc::Rectangles& rs, vector<cola::Edge>& es) {
+ int crossings=0;
+ for(unsigned i=0;i<es.size()-1;++i) {
+ for(unsigned j=i+1;j<es.size();++j) {
+ Edge e1=es[i], e2=es[j];
+ Rectangle *e1a=rs[e1.first],
+ *e1b=rs[e1.second],
+ *e2a=rs[e2.first],
+ *e2b=rs[e2.second];
+ linesegment::LineSegment s1(
+ linesegment::Vector(e1a->getCentreX(),e1a->getCentreY()),
+ linesegment::Vector(e1b->getCentreX(),e1b->getCentreY()));
+ linesegment::LineSegment s2(
+ linesegment::Vector(e2a->getCentreX(),e2a->getCentreY()),
+ linesegment::Vector(e2b->getCentreX(),e2b->getCentreY()));
+ linesegment::Vector point;
+ if(s1.Intersect(s2,point)==linesegment::LineSegment::INTERSECTING) {
+ ++crossings;
+ }
+ }
+ }
+ return crossings;
+}
+int main() {
+ const char *fname="data/1138_bus.txt"; //"data/dg_850.txt";
+ ifstream f(fname);
+ if(!f.is_open()) {
+ cout << "Error opening file: " << fname << endl;
+ exit(1);
+ }
+ string startlabel, endlabel;
+ unsigned V = 0;
+ double defaultEdgeLength=40;
+ vector<Edge> es;
+ CompoundConstraints cx,cy;
+ while(!getline(f,startlabel,' ').eof()) {
+ getline(f,endlabel);
+ unsigned start = atoi(startlabel.c_str()),
+ end = atoi(endlabel.c_str());
+ es.push_back(make_pair(start,end));
+ cy.push_back(
+ new SeparationConstraint(end,start,defaultEdgeLength/3));
+ V=max(V,max(start,end));
+ }
+ V++;
+ /*
+ DFS::Graph dfs(V,es);
+ for(unsigned i=1;i<dfs.order.size();i++) {
+ cx.push_back(
+ new SeparationConstraint(dfs.order[i-1],dfs.order[i],0));
+ }
+ */
+ cout << "V="<<V<<endl;
+ double width=1000;
+ double height=1000;
+ vector<pair<double,double> > startpos(V);
+ //srand(time(nullptr));
+ for(unsigned i=0;i<V;i++) {
+ double x=getRand(width), y=getRand(height);
+ startpos[i]=make_pair(x,y);
+ }
+ //const char *testname="large_graph";
+ //run_test(startpos,es,defaultEdgeLength,cx,cy,CG,false,testname,"cg");
+ //run_test(startpos,es,defaultEdgeLength,cx,cy,IP,false,testname,"ip");
+ //run_test(startpos,es,defaultEdgeLength,cx,cy,UGP,false,testname,"ugp");
+ //run_test(startpos,es,defaultEdgeLength,cx,cy,SGP,false,testname,"sgp");
+ //run_test(startpos,es,defaultEdgeLength,cx,cy,IP,true,testname,"cip");
+ //run_test(startpos,es,defaultEdgeLength,cx,cy,UGP,true,testname,"cugp");
+ //run_test(startpos,es,defaultEdgeLength,cx,cy,SGP,true,testname,"csgp");
+ vector<vpsc::Rectangle*> rs;
+ for(unsigned i=0;i<V;i++) {
+ double x=getRand(width), y=getRand(height);
+ rs.push_back(new vpsc::Rectangle(x,x+5,y,y+5));
+ }
+ cout<<"Initial crossings="<<countCrossings(rs,es)<<endl;
+ CheckProgress test(0.0001,200);
+ ConstrainedMajorizationLayout alg(rs,es,nullptr,defaultEdgeLength,nullptr,test);
+ alg.setYConstraints(&cy);
+ alg.run();
+ cout<<"Majorization crossings="<<countCrossings(rs,es)<<endl;
+ OutputFile output1(rs,es,nullptr,"large_graph-majorization.pdf");
+ output1.generate();
+ ConstrainedFDLayout alg2(rs,es,defaultEdgeLength,nullptr,test);
+ alg2.setYConstraints(&cy);
+ alg2.run();
+ cout<<"PStress crossings="<<countCrossings(rs,es)<<endl;
+ OutputFile output(rs,es,nullptr,"large_graph.pdf");
+ output.generate();
+ for(unsigned i=0;i<V;i++) {
+ delete rs[i];
+ }
+ return 0;
+}
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=4:softtabstop=4:textwidth=99 :
diff --git a/src/3rdparty/adaptagrams/libcola/tests/makefeasible.cpp b/src/3rdparty/adaptagrams/libcola/tests/makefeasible.cpp
new file mode 100644
index 0000000..4bfb082
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/makefeasible.cpp
@@ -0,0 +1,368 @@
+/*
+ * vim: ts=4 sw=4 et tw=0 wm=0
+ *
+ * libcola - A library providing force-directed network layout using the
+ * stress-majorization method subject to separation constraints.
+ *
+ * Copyright (C) 2006-2008 Monash University
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library in the file LICENSE; if not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place,
+ * Suite 330, Boston, MA 02111-1307 USA
+ *
+*/
+
+#include <iostream>
+#include <vector>
+#include <cmath>
+#include <time.h>
+#include <valarray>
+#include <fstream>
+#include <sstream>
+
+#include <libavoid/libavoid.h>
+#include <libavoid/router.h>
+
+#include "graphlayouttest.h"
+
+using namespace std;
+using namespace cola;
+using namespace vpsc;
+
+/*
+// |V|=12, |E|=23
+static const unsigned DAGDEPTH = 3;
+static const unsigned BRANCHFACTOR = 3;
+static const double EXTRAEDGEPROB = 0.5;
+*/
+/*
+// |V|=26, |E|=61
+static const unsigned DAGDEPTH = 3;
+static const unsigned BRANCHFACTOR = 4;
+static const double EXTRAEDGEPROB = 0.1;
+*/
+
+/*
+// |V|=62, |E|=85
+static const unsigned DAGDEPTH = 4;
+static const unsigned BRANCHFACTOR = 4;
+static const double EXTRAEDGEPROB = 0.01;
+*/
+/*
+// |V|=131, |E|=166
+static const unsigned DAGDEPTH = 5;
+static const unsigned BRANCHFACTOR = 4;
+static const double EXTRAEDGEPROB = 0.005;
+*/
+
+static const unsigned DAGDEPTH = 6;
+static const unsigned BRANCHFACTOR = 4;
+static const double EXTRAEDGEPROB = 0.002;
+/*
+// |V|=343, |E|=487
+seed=1208390913;
+static const unsigned DAGDEPTH = 6;
+static const unsigned BRANCHFACTOR = 4;
+static const double EXTRAEDGEPROB = 0.002;
+*/
+
+void makeEdge(unsigned u, unsigned v,
+ vector<Edge> &edges, CompoundConstraints &ccs) {
+ edges.push_back(make_pair(u,v));
+ ccs.push_back(new SeparationConstraint(vpsc::YDIM, u,v,5));
+}
+vector<Edge> random_dag(unsigned depth, unsigned maxbranch, unsigned &V,
+ CompoundConstraints &ccs) {
+ printf("DAG depth=%d\nmaxbranch=%d\nextraedgeprob%f\n",depth,maxbranch,EXTRAEDGEPROB);
+ vector<Edge> edges;
+ unsigned lstart=0, lend=1;
+ V=0;
+ for(unsigned i=0;i<depth;i++) {
+ for(unsigned j=lstart;j<lend;j++) {
+ //makeEdge(j,++V,edges,cy);
+ //makeEdge(j,++V,edges,cy);
+ for(unsigned k=0;k<maxbranch;k++) {
+ double r=(double)rand()/(double)RAND_MAX;
+ if(r < 0.5) {
+ makeEdge(j,++V,edges,ccs);
+ }
+ }
+ }
+ lstart=lend;
+ lend=V+1;
+ }
+ V++;
+ /*
+ DFS::Graph dfs(V,edges);
+ for(unsigned i=1;i<dfs.order.size();i++) {
+ cx.push_back(
+ new SeparationConstraint(dfs.order[i-1],dfs.order[i],0.5));
+ }
+ */
+ for(unsigned i=0;i<V;++i) {
+ for(unsigned j=i+1;j<V;++j) {
+ double r=(double)rand()/(double)RAND_MAX;
+ if(r < EXTRAEDGEPROB) {
+ makeEdge(i,j,edges,ccs);
+ }
+ }
+ }
+ /*
+ for(unsigned i=0;i<dfs.leaves.size();i++) {
+ for(unsigned j=1;j<dfs.leaves[i].size();j++) {
+ cx.push_back( new SeparationConstraint(dfs.leaves[i][j-1],dfs.leaves[i][j],10));
+ }
+ }
+ */
+ return edges;
+}
+void removeoverlaps(vpsc::Rectangles &rs, bool bothaxes) {
+ double xBorder=0, yBorder=0;
+ static const double EXTRA_GAP=1e-5;
+ unsigned n=rs.size();
+ try {
+ // The extra gap avoids numerical imprecision problems
+ Rectangle::setXBorder(xBorder+EXTRA_GAP);
+ Rectangle::setYBorder(yBorder+EXTRA_GAP);
+ vpsc::Variables vs(n);
+ unsigned i=0;
+ for(Variables::iterator v=vs.begin();v!=vs.end();++v,++i) {
+ *v=new Variable(i,0,1);
+ }
+ vpsc::Constraints cs;
+ vpsc::generateXConstraints(rs,vs,cs,bothaxes);
+ vpsc::IncSolver vpsc_x(vs,cs);
+ vpsc_x.solve();
+ vpsc::Rectangles::iterator r=rs.begin();
+ for(Variables::iterator v=vs.begin();v!=vs.end();++v,++r) {
+ assert((*v)->finalPosition==(*v)->finalPosition);
+ (*r)->moveCentreX((*v)->finalPosition);
+ }
+ assert(r==rs.end());
+ for_each(cs.begin(),cs.end(),vpsc::delete_object());
+ cs.clear();
+ if(bothaxes) {
+ // Removing the extra gap here ensures things that were moved to be adjacent to one another above are not considered overlapping
+ Rectangle::setXBorder(Rectangle::xBorder-EXTRA_GAP);
+ vpsc::generateYConstraints(rs,vs,cs);
+ vpsc::IncSolver vpsc_y(vs,cs);
+ vpsc_y.solve();
+ r=rs.begin();
+ for(Variables::iterator v=vs.begin();v!=vs.end();++v,++r) {
+ (*r)->moveCentreY((*v)->finalPosition);
+ }
+ for_each(cs.begin(),cs.end(),vpsc::delete_object());
+ cs.clear();
+ Rectangle::setYBorder(Rectangle::yBorder-EXTRA_GAP);
+ vpsc::generateXConstraints(rs,vs,cs,false);
+ vpsc::IncSolver vpsc_x2(vs,cs);
+ vpsc_x2.solve();
+ r=rs.begin();
+ for(Variables::iterator v=vs.begin();v!=vs.end();++v,++r) {
+ (*r)->moveCentreX((*v)->finalPosition);
+ }
+ for_each(cs.begin(),cs.end(),vpsc::delete_object());
+ }
+ for_each(vs.begin(),vs.end(),vpsc::delete_object());
+ } catch (char *str) {
+ std::cerr<<str<<std::endl;
+ for(vpsc::Rectangles::iterator r=rs.begin();r!=rs.end();++r) {
+ std::cerr << **r <<std::endl;
+ }
+ }
+ Rectangle::setXBorder(xBorder);
+ Rectangle::setYBorder(yBorder);
+}
+/*
+void writeTextFile(vector<cola::Edge>& edges) {
+ ofstream outfile("new.txt",ofstream::binary);
+ for(vector<cola::Edge>::iterator e=edges.begin();e!=edges.end();++e) {
+ outfile<<"node"<<e->first<<",node"<<e->second<<endl;
+ }
+ outfile.close();
+}
+*/
+/*
+ * Make feasible:
+ * - remove overlaps between rectangular boundaries of nodes/clusters
+ * (respecting structural constraints)
+ * - perform routing (preserve previous topology using rubber banding)
+ */
+void makeFeasible(vpsc::Rectangles& rs, vector<cola::Edge>& edges,
+ std::vector<topology::Edge*>& routes,
+ std::vector<topology::Node*>& topologyNodes, double defaultEdgeLength) {
+ printf("Removing overlaps...\n");
+ removeoverlaps(rs,false);
+ printf("done.\n");
+ printf("Running libavoid to compute routes...\n");
+ clock_t libavoidstarttime=clock();
+ // find feasible routes for edges
+ Avoid::Router *router = new Avoid::Router(Avoid::PolyLineRouting);
+ // Use rotational sweep for point visibility
+ router->UseLeesAlgorithm = true;
+ // Don't use invisibility graph.
+ router->InvisibilityGrph = false;
+ double g=0; // make shape that libavoid sees slightly smaller
+ for(unsigned i=0;i<rs.size();++i) {
+ vpsc::Rectangle* r=rs[i];
+ double x=r->getMinX()+g;
+ double X=r->getMaxX()-g;
+ double y=r->getMinY()+g;
+ double Y=r->getMaxY()-g;
+ // Create the ShapeRef:
+ Avoid::Polygon shapePoly(4);
+ // AntiClockwise!
+ shapePoly.ps[0] = Avoid::Point(X,y);
+ shapePoly.ps[1] = Avoid::Point(X,Y);
+ shapePoly.ps[2] = Avoid::Point(x,Y);
+ shapePoly.ps[3] = Avoid::Point(x,y);
+ //if(i==4||i==13||i==9) {
+ //printf("rect[%d]:{%f,%f,%f,%f}\n",i,x,y,X,Y);
+ //}
+ unsigned int shapeID = i + 1;
+ Avoid::ShapeRef *shapeRef = new Avoid::ShapeRef(router, shapePoly,
+ shapeID);
+ // ShapeRef constructor makes a copy of polygon so we can free it:
+ router->addShape(shapeRef);
+ }
+ for(unsigned i=0;i<edges.size();++i) {
+ cola::Edge e=edges[i];
+ Avoid::ConnRef *connRef;
+ unsigned int connID = i + rs.size() + 1;
+ Rectangle* r0=rs[e.first], *r1=rs[e.second];
+ Avoid::Point srcPt(r0->getCentreX(),r0->getCentreY());
+ Avoid::Point dstPt(r1->getCentreX(),r1->getCentreY());
+ connRef = new Avoid::ConnRef(router, srcPt, dstPt, connID);
+ router->processTransaction();
+ const Avoid::Polygon& route = connRef->route();
+ vector<topology::EdgePoint*> eps;
+ eps.push_back( new topology::EdgePoint( topologyNodes[e.first],
+ topology::EdgePoint::CENTRE));
+ for(size_t j=1;j+1<route.size();j++) {
+ const Avoid::Point& p = route.ps[j];
+ const unsigned nodeID=p.id-1;
+ topology::Node* node=topologyNodes[nodeID];
+ topology::EdgePoint::RectIntersect ri;
+ switch(p.vn) {
+ case 0: ri=topology::EdgePoint::BR;
+ break;
+ case 1: ri=topology::EdgePoint::TR;
+ break;
+ case 2: ri=topology::EdgePoint::TL;
+ break;
+ case 3: ri=topology::EdgePoint::BL;
+ break;
+ default: ri=topology::EdgePoint::CENTRE;
+ }
+ eps.push_back(new topology::EdgePoint(node,ri));
+ }
+ eps.push_back(new topology::EdgePoint(topologyNodes[e.second],
+ topology::EdgePoint::CENTRE));
+ topology::Edge* edgeRoute=new topology::Edge(i,defaultEdgeLength, eps);
+ edgeRoute->assertConvexBends();
+ routes.push_back(edgeRoute);
+
+ }
+ writeFile(topologyNodes,routes,"beautify0.svg");
+ assert(topology::assertNoSegmentRectIntersection(topologyNodes,routes));
+ double libavoidtime=double(clock()-libavoidstarttime)/double(CLOCKS_PER_SEC);
+ cout << "done. Libavoid ran in " << libavoidtime << " seconds" << endl;
+ delete router;
+}
+int main() {
+ unsigned V;
+ CompoundConstraints ccs;
+
+ int seed = time(nullptr);
+ //seed=1207906420;
+ //seed=1207920674;
+ //seed=1207982613;
+ //seed=1207984219;
+ seed=1207984299;
+ //seed=1207984743;
+ //seed=1207985027; // very short edge which seems to cause problems
+ //seed=1207986026; // error if we don't check neighbour is actually on scanline when determining visibility when generating straight constraints
+ //seed=1207991731;
+ //seed=1208303930;
+ //seed=1208304508;
+ //seed=1208316284;
+ //seed=1208319019;
+ //seed=1208321702;
+ printf("random seed=%d\n",seed);
+ srand(seed);
+ vector<Edge> es = random_dag(DAGDEPTH,BRANCHFACTOR,V,ccs);
+ double defaultEdgeLength=40;
+
+ cout << "V="<<V<<endl;
+ cout << "E="<<es.size()<<endl;
+ double width=700;
+ double height=700;
+ vector<pair<double,double> > startpos(V);
+ for(unsigned i=0;i<V;i++) {
+ double x=getRand(width), y=getRand(height);
+ startpos[i]=make_pair(x,y);
+ }
+ vector<vpsc::Rectangle*> rs;
+ vector<topology::Node*> topologyNodes;
+ vector<topology::Edge*> routes;
+ for(unsigned i=0;i<V;i++) {
+ double x=getRand(width), y=getRand(height);
+ vpsc::Rectangle* r =new vpsc::Rectangle(x,x+30,y,y+10);
+ rs.push_back(r);
+ topologyNodes.push_back(new topology::Node(i,r));
+ }
+ CheckProgress test(0.01,100);
+ clock_t unconstrainedstarttime=clock();
+ //writeTextFile(es);
+ es.clear();
+ ConstrainedFDLayout alg2(rs,es,defaultEdgeLength,nullptr,test);
+ //alg2.setConstraints(&ccs);
+
+ alg2.makeFeasible(true);
+ alg2.run();
+
+ alg2.outputInstanceToSVG();
+#if 0
+ double totaltime=0;
+ double unconstrainedtime=double(clock()-unconstrainedstarttime)/double(CLOCKS_PER_SEC);
+ totaltime+=unconstrainedstarttime;
+ cout<<"unconstrained layout ran in "<<unconstrainedtime<<" seconds"<<endl;
+ clock_t makefeasiblestarttime=clock();
+ makeFeasible(rs,es,routes,topologyNodes,defaultEdgeLength);
+ double makefeasibletime=double(clock()-makefeasiblestarttime)/double(CLOCKS_PER_SEC);
+ totaltime+=makefeasibletime;
+ cout<<"makefeasible ran in "<<makefeasibletime<<" seconds"<<endl;
+ clock_t beautifystarttime=clock();
+ test.reset();
+ alg2.setTopology(&topologyNodes, &routes);
+ writeFile(topologyNodes,routes,"beautify1.svg");
+ std::stringstream dunnartfile;
+ dunnartfile << "v" << V << "e" << (int) es.size() << ".svg";
+ writeDunnartFile(topologyNodes,es,dunnartfile.str().c_str());
+
+ alg2.run();
+ double beautifytime=double(clock()-beautifystarttime)/double(CLOCKS_PER_SEC);
+ totaltime+=beautifytime;
+ cout<<"beautify ran in "<<beautifytime<<" seconds"<<endl;
+ cout<<"TOTAL="<<totaltime<<endl;
+ cout <<"---------------------------------------------"<< endl;
+ cout <<V<<" & "<<es.size()<<" & "<<unconstrainedtime<<" & "<<makefeasibletime<<" & "<<beautifytime<<" & "<<totaltime<<" \\\\ % Seed: "<< seed <<endl;
+ writeFile(topologyNodes,routes,"beautify2.svg");
+#endif
+ for(unsigned i=0;i<V;i++) {
+ delete rs[i];
+ }
+ return 0;
+}
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=4:softtabstop=4:textwidth=99 :
diff --git a/src/3rdparty/adaptagrams/libcola/tests/makefeasible02.cpp b/src/3rdparty/adaptagrams/libcola/tests/makefeasible02.cpp
new file mode 100755
index 0000000..82d55b7
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/makefeasible02.cpp
@@ -0,0 +1,932 @@
+#include <vector>
+#include "libcola/cola.h"
+using namespace cola;
+int main(void) {
+ CompoundConstraints ccs;
+ std::vector<Edge> es;
+ double defaultEdgeLength=40;
+ std::vector<vpsc::Rectangle*> rs;
+ vpsc::Rectangle *rect = nullptr;
+
+ rect = new vpsc::Rectangle(252, 272, 930, 950);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(109, 129, 898, 918);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(252, 272, 951, 971);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(99, 139, 931, 971);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(593, 665, 212.5, 459.5);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(398, 518, 52, 96);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(341, 361, 899, 919);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(450, 470, 930, 950);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(402, 422, 930, 950);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(394, 414, 861, 881);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(394, 414, 840, 860);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(282, 302, 852, 872);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(173, 193, 852, 872);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(521, 541, 851, 871);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(313, 401, 739, 783);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(446, 466, 757, 777);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(446, 466, 688, 708);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(447, 467, 616, 636);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(421, 441, 471, 491);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(196.5, 359.5, 575, 619);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(366, 386, 437, 457);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(446, 466, 391, 411);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(446, 466, 325, 345);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(393, 413, 325, 345);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(515, 535, 182, 202);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(446, 466, 255, 275);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(446, 466, 160, 180);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(366, 386, 289, 309);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(211, 231, 270, 290);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(211, 231, 289, 309);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(320, 340, 256, 276);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(270, 290, 256, 276);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(144, 164, 251, 271);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(211, 231, 214, 234);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(211, 231, 195, 215);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(279, 299, 173, 193);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(306, 326, 141, 161);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(306, 326, 120, 140);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(34.5, 295.5, 39.5, 74.5);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(225, 245, 895, 915);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(446, 466, 543, 563);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(211, 231, 233, 253);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(211, 231, 308, 328);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(144, 164, 347, 367);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(144, 164, 373, 393);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(254, 274, 346, 366);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(254, 274, 372, 392);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(554, 594, 173, 213);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(436, 476, 121, 161);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(436, 476, 642, 682);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(134, 174, 206, 246);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(134, 174, 279, 319);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(285, 325, 426, 466);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(285, 325, 279, 319);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(436, 476, 208, 248);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(436, 476, 281, 321);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(436, 476, 714, 754);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(436, 476, 570, 610);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(436, 476, 498, 538);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(580, 620, 841, 881);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(267, 307, 884, 924);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(503, 543, 931, 971);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(436, 476, 841, 881);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(331, 371, 841, 881);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(331, 371, 798, 838);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(99, 139, 841, 881);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(331, 371, 931, 971);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(218, 258, 841, 881);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(165, 205, 884, 924);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(436, 476, 351, 391);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(85, 125, 336, 376);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(192, 232, 336, 376);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(192, 232, 362, 402);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(85, 125, 362, 402);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(20.5, 77.5, 716, 880);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(167, 187, 713, 733);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(99, 139, 714, 754);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(402, 422, 951, 971);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(167, 187, 734, 754);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(450, 470, 951, 971);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(532.5, 669.5, 899.5, 934.5);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(471, 491, 471, 491);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(545, 565, 512, 532);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(518, 538, 531, 551);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(252, 272, 782, 802);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(495, 515, 512, 532);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(351, 391, 534, 574);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(400, 420, 573, 593);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(401, 421, 509, 529);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(436, 476, 426, 466);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(234, 290, 970, 1010);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(29, 85, 888, 928);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(234, 290, 991, 1031);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(261, 317, 889, 929);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(432, 488, 870, 910);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(384, 440, 970, 1010);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(314, 370, 851, 891);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(438, 494, 830, 870);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(202, 258, 842, 882);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(155, 211, 792, 832);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(503, 559, 791, 831);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(490, 546, 747, 787);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(366, 422, 678, 718);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(367, 423, 606, 646);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(341, 397, 461, 501);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(348, 404, 377, 417);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(490, 546, 381, 421);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(490, 546, 315, 355);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(375, 431, 365, 405);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(497, 553, 122, 162);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(490, 546, 245, 285);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(366, 422, 150, 190);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(348, 404, 229, 269);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(193, 249, 210, 250);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(193, 249, 229, 269);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(364, 420, 246, 286);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(190, 246, 246, 286);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(64, 120, 241, 281);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(193, 249, 154, 194);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(193, 249, 135, 175);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(261, 317, 213, 253);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(288, 344, 81, 121);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(288, 344, 160, 200);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(207, 263, 835, 875);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(366, 422, 533, 573);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(193, 249, 173, 213);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(193, 249, 248, 288);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(126, 182, 287, 327);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(126, 182, 413, 453);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(236, 292, 286, 326);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(236, 292, 412, 452);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(149, 205, 653, 693);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(384, 440, 891, 931);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(149, 205, 674, 714);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(432, 488, 991, 1031);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(515, 571, 461, 501);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(527, 583, 452, 492);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(500, 556, 571, 611);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(234, 290, 722, 762);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(539, 595, 502, 542);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(382, 438, 613, 653);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(383, 439, 449, 489);
+ rs.push_back(rect);
+
+#if 1
+ AlignmentConstraint *alignment2424608 = new AlignmentConstraint((vpsc::Dim) 0, 0);
+ alignment2424608->addShape(0, 0);
+ alignment2424608->addShape(2, 0);
+ alignment2424608->addShape(45, 0);
+ alignment2424608->addShape(46, 0);
+ alignment2424608->addShape(84, 0);
+ alignment2424608->addShape(90, 0);
+ alignment2424608->addShape(92, 0);
+ alignment2424608->addShape(129, 0);
+ alignment2424608->addShape(130, 0);
+ alignment2424608->addShape(138, 0);
+ ccs.push_back(alignment2424608);
+ AlignmentConstraint *alignment2424744 = new AlignmentConstraint((vpsc::Dim) 0, 0);
+ alignment2424744->addShape(1, 0);
+ alignment2424744->addShape(3, 0);
+ alignment2424744->addShape(65, 0);
+ alignment2424744->addShape(76, 0);
+ ccs.push_back(alignment2424744);
+ AlignmentConstraint *alignment1216038856 = new AlignmentConstraint((vpsc::Dim) 0, 0);
+ alignment1216038856->addShape(4, 0);
+ ccs.push_back(alignment1216038856);
+ AlignmentConstraint *alignment1216038920 = new AlignmentConstraint((vpsc::Dim) 0, 0);
+ alignment1216038920->addShape(5, 0);
+ alignment1216038920->addShape(7, 0);
+ alignment1216038920->addShape(15, 0);
+ alignment1216038920->addShape(16, 0);
+ alignment1216038920->addShape(17, 0);
+ alignment1216038920->addShape(21, 0);
+ alignment1216038920->addShape(22, 0);
+ alignment1216038920->addShape(25, 0);
+ alignment1216038920->addShape(26, 0);
+ alignment1216038920->addShape(40, 0);
+ alignment1216038920->addShape(48, 0);
+ alignment1216038920->addShape(49, 0);
+ alignment1216038920->addShape(54, 0);
+ alignment1216038920->addShape(55, 0);
+ alignment1216038920->addShape(56, 0);
+ alignment1216038920->addShape(57, 0);
+ alignment1216038920->addShape(58, 0);
+ alignment1216038920->addShape(62, 0);
+ alignment1216038920->addShape(69, 0);
+ alignment1216038920->addShape(79, 0);
+ alignment1216038920->addShape(89, 0);
+ alignment1216038920->addShape(94, 0);
+ alignment1216038920->addShape(134, 0);
+ ccs.push_back(alignment1216038920);
+ AlignmentConstraint *alignment1216038984 = new AlignmentConstraint((vpsc::Dim) 0, 0);
+ alignment1216038984->addShape(6, 0);
+ alignment1216038984->addShape(63, 0);
+ alignment1216038984->addShape(64, 0);
+ alignment1216038984->addShape(66, 0);
+ ccs.push_back(alignment1216038984);
+ AlignmentConstraint *alignment1216039048 = new AlignmentConstraint((vpsc::Dim) 0, 0);
+ alignment1216039048->addShape(8, 0);
+ alignment1216039048->addShape(77, 0);
+ alignment1216039048->addShape(87, 0);
+ alignment1216039048->addShape(88, 0);
+ alignment1216039048->addShape(95, 0);
+ alignment1216039048->addShape(132, 0);
+ alignment1216039048->addShape(140, 0);
+ alignment1216039048->addShape(141, 0);
+ ccs.push_back(alignment1216039048);
+ AlignmentConstraint *alignment1216039112 = new AlignmentConstraint((vpsc::Dim) 0, 0);
+ alignment1216039112->addShape(9, 0);
+ alignment1216039112->addShape(10, 0);
+ alignment1216039112->addShape(23, 0);
+ alignment1216039112->addShape(108, 0);
+ ccs.push_back(alignment1216039112);
+ AlignmentConstraint *alignment1216039176 = new AlignmentConstraint((vpsc::Dim) 0, 0);
+ alignment1216039176->addShape(11, 0);
+ alignment1216039176->addShape(35, 0);
+ alignment1216039176->addShape(60, 0);
+ alignment1216039176->addShape(93, 0);
+ alignment1216039176->addShape(120, 0);
+ ccs.push_back(alignment1216039176);
+ AlignmentConstraint *alignment1216039240 = new AlignmentConstraint((vpsc::Dim) 0, 0);
+ alignment1216039240->addShape(12, 0);
+ alignment1216039240->addShape(68, 0);
+ alignment1216039240->addShape(99, 0);
+ ccs.push_back(alignment1216039240);
+ AlignmentConstraint *alignment1216039304 = new AlignmentConstraint((vpsc::Dim) 0, 0);
+ alignment1216039304->addShape(13, 0);
+ alignment1216039304->addShape(83, 0);
+ alignment1216039304->addShape(100, 0);
+ alignment1216039304->addShape(137, 0);
+ ccs.push_back(alignment1216039304);
+ AlignmentConstraint *alignment1216040464 = new AlignmentConstraint((vpsc::Dim) 0, 0);
+ alignment1216040464->addShape(14, 0);
+ ccs.push_back(alignment1216040464);
+ AlignmentConstraint *alignment1216040528 = new AlignmentConstraint((vpsc::Dim) 0, 0);
+ alignment1216040528->addShape(18, 0);
+ ccs.push_back(alignment1216040528);
+ AlignmentConstraint *alignment1216040592 = new AlignmentConstraint((vpsc::Dim) 0, 0);
+ alignment1216040592->addShape(19, 0);
+ alignment1216040592->addShape(31, 0);
+ ccs.push_back(alignment1216040592);
+ AlignmentConstraint *alignment1216040656 = new AlignmentConstraint((vpsc::Dim) 0, 0);
+ alignment1216040656->addShape(20, 0);
+ alignment1216040656->addShape(27, 0);
+ alignment1216040656->addShape(86, 0);
+ alignment1216040656->addShape(105, 0);
+ alignment1216040656->addShape(112, 0);
+ ccs.push_back(alignment1216040656);
+ AlignmentConstraint *alignment1216040720 = new AlignmentConstraint((vpsc::Dim) 0, 0);
+ alignment1216040720->addShape(24, 0);
+ alignment1216040720->addShape(61, 0);
+ alignment1216040720->addShape(109, 0);
+ ccs.push_back(alignment1216040720);
+ AlignmentConstraint *alignment1216040784 = new AlignmentConstraint((vpsc::Dim) 0, 0);
+ alignment1216040784->addShape(28, 0);
+ alignment1216040784->addShape(29, 0);
+ alignment1216040784->addShape(33, 0);
+ alignment1216040784->addShape(34, 0);
+ alignment1216040784->addShape(41, 0);
+ alignment1216040784->addShape(42, 0);
+ alignment1216040784->addShape(113, 0);
+ alignment1216040784->addShape(114, 0);
+ alignment1216040784->addShape(116, 0);
+ alignment1216040784->addShape(118, 0);
+ alignment1216040784->addShape(119, 0);
+ alignment1216040784->addShape(125, 0);
+ alignment1216040784->addShape(126, 0);
+ ccs.push_back(alignment1216040784);
+ AlignmentConstraint *alignment1216034032 = new AlignmentConstraint((vpsc::Dim) 0, 0);
+ alignment1216034032->addShape(30, 0);
+ ccs.push_back(alignment1216034032);
+ AlignmentConstraint *alignment1216035736 = new AlignmentConstraint((vpsc::Dim) 0, 0);
+ alignment1216035736->addShape(32, 0);
+ alignment1216035736->addShape(43, 0);
+ alignment1216035736->addShape(44, 0);
+ alignment1216035736->addShape(50, 0);
+ alignment1216035736->addShape(51, 0);
+ alignment1216035736->addShape(127, 0);
+ alignment1216035736->addShape(128, 0);
+ ccs.push_back(alignment1216035736);
+ AlignmentConstraint *alignment1216035800 = new AlignmentConstraint((vpsc::Dim) 0, 0);
+ alignment1216035800->addShape(36, 0);
+ alignment1216035800->addShape(37, 0);
+ alignment1216035800->addShape(121, 0);
+ alignment1216035800->addShape(122, 0);
+ ccs.push_back(alignment1216035800);
+ AlignmentConstraint *alignment1216035864 = new AlignmentConstraint((vpsc::Dim) 0, 0);
+ alignment1216035864->addShape(38, 0);
+ ccs.push_back(alignment1216035864);
+ AlignmentConstraint *alignment1216035928 = new AlignmentConstraint((vpsc::Dim) 0, 0);
+ alignment1216035928->addShape(39, 0);
+ alignment1216035928->addShape(67, 0);
+ alignment1216035928->addShape(98, 0);
+ alignment1216035928->addShape(123, 0);
+ ccs.push_back(alignment1216035928);
+ AlignmentConstraint *alignment1216035992 = new AlignmentConstraint((vpsc::Dim) 0, 0);
+ alignment1216035992->addShape(47, 0);
+ ccs.push_back(alignment1216035992);
+ AlignmentConstraint *alignment1216036056 = new AlignmentConstraint((vpsc::Dim) 0, 0);
+ alignment1216036056->addShape(52, 0);
+ alignment1216036056->addShape(53, 0);
+ ccs.push_back(alignment1216036056);
+ AlignmentConstraint *alignment1216036120 = new AlignmentConstraint((vpsc::Dim) 0, 0);
+ alignment1216036120->addShape(59, 0);
+ alignment1216036120->addShape(80, 0);
+ ccs.push_back(alignment1216036120);
+ AlignmentConstraint *alignment1216036184 = new AlignmentConstraint((vpsc::Dim) 0, 0);
+ alignment1216036184->addShape(70, 0);
+ alignment1216036184->addShape(73, 0);
+ ccs.push_back(alignment1216036184);
+ AlignmentConstraint *alignment1216036248 = new AlignmentConstraint((vpsc::Dim) 0, 0);
+ alignment1216036248->addShape(71, 0);
+ alignment1216036248->addShape(72, 0);
+ ccs.push_back(alignment1216036248);
+ AlignmentConstraint *alignment1216036312 = new AlignmentConstraint((vpsc::Dim) 0, 0);
+ alignment1216036312->addShape(74, 0);
+ ccs.push_back(alignment1216036312);
+ AlignmentConstraint *alignment1216036376 = new AlignmentConstraint((vpsc::Dim) 0, 0);
+ alignment1216036376->addShape(75, 0);
+ alignment1216036376->addShape(78, 0);
+ alignment1216036376->addShape(131, 0);
+ alignment1216036376->addShape(133, 0);
+ ccs.push_back(alignment1216036376);
+ AlignmentConstraint *alignment1216036440 = new AlignmentConstraint((vpsc::Dim) 0, 0);
+ alignment1216036440->addShape(81, 0);
+ ccs.push_back(alignment1216036440);
+ AlignmentConstraint *alignment1216036504 = new AlignmentConstraint((vpsc::Dim) 0, 0);
+ alignment1216036504->addShape(82, 0);
+ alignment1216036504->addShape(136, 0);
+ ccs.push_back(alignment1216036504);
+ AlignmentConstraint *alignment1216036568 = new AlignmentConstraint((vpsc::Dim) 0, 0);
+ alignment1216036568->addShape(85, 0);
+ ccs.push_back(alignment1216036568);
+ AlignmentConstraint *alignment1216036632 = new AlignmentConstraint((vpsc::Dim) 0, 0);
+ alignment1216036632->addShape(91, 0);
+ ccs.push_back(alignment1216036632);
+ AlignmentConstraint *alignment1216034712 = new AlignmentConstraint((vpsc::Dim) 0, 0);
+ alignment1216034712->addShape(96, 0);
+ ccs.push_back(alignment1216034712);
+ AlignmentConstraint *alignment1216034776 = new AlignmentConstraint((vpsc::Dim) 0, 0);
+ alignment1216034776->addShape(97, 0);
+ ccs.push_back(alignment1216034776);
+ AlignmentConstraint *alignment1216034840 = new AlignmentConstraint((vpsc::Dim) 0, 0);
+ alignment1216034840->addShape(101, 0);
+ alignment1216034840->addShape(106, 0);
+ alignment1216034840->addShape(107, 0);
+ alignment1216034840->addShape(110, 0);
+ ccs.push_back(alignment1216034840);
+ AlignmentConstraint *alignment1216034904 = new AlignmentConstraint((vpsc::Dim) 0, 0);
+ alignment1216034904->addShape(102, 0);
+ alignment1216034904->addShape(103, 0);
+ alignment1216034904->addShape(111, 0);
+ alignment1216034904->addShape(115, 0);
+ alignment1216034904->addShape(124, 0);
+ ccs.push_back(alignment1216034904);
+ AlignmentConstraint *alignment1216034968 = new AlignmentConstraint((vpsc::Dim) 0, 0);
+ alignment1216034968->addShape(104, 0);
+ ccs.push_back(alignment1216034968);
+ AlignmentConstraint *alignment1216035032 = new AlignmentConstraint((vpsc::Dim) 0, 0);
+ alignment1216035032->addShape(117, 0);
+ ccs.push_back(alignment1216035032);
+ AlignmentConstraint *alignment1216035096 = new AlignmentConstraint((vpsc::Dim) 0, 0);
+ alignment1216035096->addShape(135, 0);
+ ccs.push_back(alignment1216035096);
+ AlignmentConstraint *alignment1216035160 = new AlignmentConstraint((vpsc::Dim) 0, 0);
+ alignment1216035160->addShape(139, 0);
+ ccs.push_back(alignment1216035160);
+#endif
+
+#if 1
+ AlignmentConstraint *alignment1216035224 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216035224->addShape(0, 0);
+ alignment1216035224->addShape(7, 0);
+ alignment1216035224->addShape(8, 0);
+ ccs.push_back(alignment1216035224);
+ AlignmentConstraint *alignment1216035288 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216035288->addShape(1, 0);
+ alignment1216035288->addShape(6, 0);
+ alignment1216035288->addShape(39, 0);
+ alignment1216035288->addShape(60, 0);
+ alignment1216035288->addShape(68, 0);
+ alignment1216035288->addShape(91, 0);
+ alignment1216035288->addShape(93, 0);
+ alignment1216035288->addShape(132, 0);
+ ccs.push_back(alignment1216035288);
+ AlignmentConstraint *alignment1216035352 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216035352->addShape(2, 0);
+ alignment1216035352->addShape(77, 0);
+ alignment1216035352->addShape(79, 0);
+ ccs.push_back(alignment1216035352);
+ AlignmentConstraint *alignment1216035416 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216035416->addShape(3, 0);
+ alignment1216035416->addShape(61, 0);
+ alignment1216035416->addShape(66, 0);
+ ccs.push_back(alignment1216035416);
+ AlignmentConstraint *alignment1216035480 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216035480->addShape(4, 0);
+ alignment1216035480->addShape(22, 0);
+ alignment1216035480->addShape(23, 0);
+ alignment1216035480->addShape(107, 0);
+ ccs.push_back(alignment1216035480);
+ AlignmentConstraint *alignment1216035544 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216035544->addShape(5, 0);
+ ccs.push_back(alignment1216035544);
+ AlignmentConstraint *alignment1216035608 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216035608->addShape(9, 0);
+ alignment1216035608->addShape(96, 0);
+ ccs.push_back(alignment1216035608);
+ AlignmentConstraint *alignment1216042672 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216042672->addShape(10, 0);
+ alignment1216042672->addShape(97, 0);
+ alignment1216042672->addShape(123, 0);
+ ccs.push_back(alignment1216042672);
+ AlignmentConstraint *alignment1216042736 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216042736->addShape(11, 0);
+ alignment1216042736->addShape(12, 0);
+ alignment1216042736->addShape(13, 0);
+ alignment1216042736->addShape(59, 0);
+ alignment1216042736->addShape(62, 0);
+ alignment1216042736->addShape(63, 0);
+ alignment1216042736->addShape(65, 0);
+ alignment1216042736->addShape(67, 0);
+ alignment1216042736->addShape(98, 0);
+ ccs.push_back(alignment1216042736);
+ AlignmentConstraint *alignment1216042800 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216042800->addShape(14, 0);
+ ccs.push_back(alignment1216042800);
+ AlignmentConstraint *alignment1216042864 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216042864->addShape(15, 0);
+ alignment1216042864->addShape(101, 0);
+ ccs.push_back(alignment1216042864);
+ AlignmentConstraint *alignment1216042928 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216042928->addShape(16, 0);
+ alignment1216042928->addShape(102, 0);
+ alignment1216042928->addShape(133, 0);
+ ccs.push_back(alignment1216042928);
+ AlignmentConstraint *alignment1216042992 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216042992->addShape(17, 0);
+ alignment1216042992->addShape(103, 0);
+ ccs.push_back(alignment1216042992);
+ AlignmentConstraint *alignment1216043056 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216043056->addShape(18, 0);
+ alignment1216043056->addShape(81, 0);
+ alignment1216043056->addShape(104, 0);
+ alignment1216043056->addShape(135, 0);
+ ccs.push_back(alignment1216043056);
+ AlignmentConstraint *alignment1216043120 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216043120->addShape(19, 0);
+ ccs.push_back(alignment1216043120);
+ AlignmentConstraint *alignment1216043184 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216043184->addShape(20, 0);
+ alignment1216043184->addShape(52, 0);
+ alignment1216043184->addShape(89, 0);
+ ccs.push_back(alignment1216043184);
+ AlignmentConstraint *alignment1216043248 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216043248->addShape(21, 0);
+ alignment1216043248->addShape(105, 0);
+ alignment1216043248->addShape(106, 0);
+ ccs.push_back(alignment1216043248);
+ AlignmentConstraint *alignment1216043312 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216043312->addShape(24, 0);
+ alignment1216043312->addShape(47, 0);
+ alignment1216043312->addShape(125, 0);
+ ccs.push_back(alignment1216043312);
+ AlignmentConstraint *alignment1216043376 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216043376->addShape(25, 0);
+ alignment1216043376->addShape(30, 0);
+ alignment1216043376->addShape(31, 0);
+ alignment1216043376->addShape(32, 0);
+ alignment1216043376->addShape(110, 0);
+ alignment1216043376->addShape(115, 0);
+ alignment1216043376->addShape(116, 0);
+ alignment1216043376->addShape(117, 0);
+ alignment1216043376->addShape(126, 0);
+ ccs.push_back(alignment1216043376);
+ AlignmentConstraint *alignment1216043440 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216043440->addShape(26, 0);
+ alignment1216043440->addShape(111, 0);
+ alignment1216043440->addShape(118, 0);
+ ccs.push_back(alignment1216043440);
+ AlignmentConstraint *alignment1216043504 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216043504->addShape(27, 0);
+ alignment1216043504->addShape(29, 0);
+ alignment1216043504->addShape(51, 0);
+ alignment1216043504->addShape(53, 0);
+ alignment1216043504->addShape(55, 0);
+ ccs.push_back(alignment1216043504);
+ AlignmentConstraint *alignment1216043568 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216043568->addShape(28, 0);
+ ccs.push_back(alignment1216043568);
+ AlignmentConstraint *alignment1216043632 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216043632->addShape(33, 0);
+ alignment1216043632->addShape(50, 0);
+ alignment1216043632->addShape(54, 0);
+ ccs.push_back(alignment1216043632);
+ AlignmentConstraint *alignment1216043696 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216043696->addShape(34, 0);
+ ccs.push_back(alignment1216043696);
+ AlignmentConstraint *alignment1216043760 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216043760->addShape(35, 0);
+ alignment1216043760->addShape(122, 0);
+ ccs.push_back(alignment1216043760);
+ AlignmentConstraint *alignment1216043824 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216043824->addShape(36, 0);
+ alignment1216043824->addShape(119, 0);
+ ccs.push_back(alignment1216043824);
+ AlignmentConstraint *alignment1216043888 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216043888->addShape(37, 0);
+ ccs.push_back(alignment1216043888);
+ AlignmentConstraint *alignment1216043952 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216043952->addShape(38, 0);
+ ccs.push_back(alignment1216043952);
+ AlignmentConstraint *alignment1216044016 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216044016->addShape(40, 0);
+ alignment1216044016->addShape(86, 0);
+ alignment1216044016->addShape(124, 0);
+ ccs.push_back(alignment1216044016);
+ AlignmentConstraint *alignment1216044080 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216044080->addShape(41, 0);
+ ccs.push_back(alignment1216044080);
+ AlignmentConstraint *alignment1216044144 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216044144->addShape(42, 0);
+ ccs.push_back(alignment1216044144);
+ AlignmentConstraint *alignment1216044208 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216044208->addShape(43, 0);
+ alignment1216044208->addShape(45, 0);
+ alignment1216044208->addShape(70, 0);
+ alignment1216044208->addShape(71, 0);
+ ccs.push_back(alignment1216044208);
+ AlignmentConstraint *alignment1216044272 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216044272->addShape(44, 0);
+ alignment1216044272->addShape(46, 0);
+ alignment1216044272->addShape(72, 0);
+ alignment1216044272->addShape(73, 0);
+ alignment1216044272->addShape(108, 0);
+ ccs.push_back(alignment1216044272);
+ AlignmentConstraint *alignment1216044336 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216044336->addShape(48, 0);
+ alignment1216044336->addShape(109, 0);
+ ccs.push_back(alignment1216044336);
+ AlignmentConstraint *alignment1216044400 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216044400->addShape(49, 0);
+ ccs.push_back(alignment1216044400);
+ AlignmentConstraint *alignment1216044464 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216044464->addShape(56, 0);
+ alignment1216044464->addShape(76, 0);
+ ccs.push_back(alignment1216044464);
+ AlignmentConstraint *alignment1216044528 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216044528->addShape(57, 0);
+ alignment1216044528->addShape(137, 0);
+ ccs.push_back(alignment1216044528);
+ AlignmentConstraint *alignment1216044592 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216044592->addShape(58, 0);
+ alignment1216044592->addShape(82, 0);
+ alignment1216044592->addShape(85, 0);
+ alignment1216044592->addShape(88, 0);
+ alignment1216044592->addShape(139, 0);
+ ccs.push_back(alignment1216044592);
+ AlignmentConstraint *alignment1216021552 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216021552->addShape(64, 0);
+ ccs.push_back(alignment1216021552);
+ AlignmentConstraint *alignment1216021616 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216021616->addShape(69, 0);
+ ccs.push_back(alignment1216021616);
+ AlignmentConstraint *alignment1216021680 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216021680->addShape(74, 0);
+ ccs.push_back(alignment1216021680);
+ AlignmentConstraint *alignment1216021744 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216021744->addShape(75, 0);
+ ccs.push_back(alignment1216021744);
+ AlignmentConstraint *alignment1216021808 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216021808->addShape(78, 0);
+ alignment1216021808->addShape(138, 0);
+ ccs.push_back(alignment1216021808);
+ AlignmentConstraint *alignment1216021872 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216021872->addShape(80, 0);
+ ccs.push_back(alignment1216021872);
+ AlignmentConstraint *alignment1216021936 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216021936->addShape(83, 0);
+ ccs.push_back(alignment1216021936);
+ AlignmentConstraint *alignment1216022000 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216022000->addShape(84, 0);
+ ccs.push_back(alignment1216022000);
+ AlignmentConstraint *alignment1216022064 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216022064->addShape(87, 0);
+ ccs.push_back(alignment1216022064);
+ AlignmentConstraint *alignment1216022128 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216022128->addShape(90, 0);
+ alignment1216022128->addShape(95, 0);
+ ccs.push_back(alignment1216022128);
+ AlignmentConstraint *alignment1216022192 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216022192->addShape(92, 0);
+ alignment1216022192->addShape(134, 0);
+ ccs.push_back(alignment1216022192);
+ AlignmentConstraint *alignment1216022256 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216022256->addShape(94, 0);
+ ccs.push_back(alignment1216022256);
+ AlignmentConstraint *alignment1216022320 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216022320->addShape(99, 0);
+ alignment1216022320->addShape(100, 0);
+ ccs.push_back(alignment1216022320);
+ AlignmentConstraint *alignment1216022384 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216022384->addShape(112, 0);
+ alignment1216022384->addShape(114, 0);
+ ccs.push_back(alignment1216022384);
+ AlignmentConstraint *alignment1216022448 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216022448->addShape(113, 0);
+ alignment1216022448->addShape(120, 0);
+ ccs.push_back(alignment1216022448);
+ AlignmentConstraint *alignment1216022512 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216022512->addShape(121, 0);
+ ccs.push_back(alignment1216022512);
+ AlignmentConstraint *alignment1216022576 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216022576->addShape(127, 0);
+ alignment1216022576->addShape(129, 0);
+ ccs.push_back(alignment1216022576);
+ AlignmentConstraint *alignment1216022640 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216022640->addShape(128, 0);
+ alignment1216022640->addShape(130, 0);
+ ccs.push_back(alignment1216022640);
+ AlignmentConstraint *alignment1216022704 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216022704->addShape(131, 0);
+ ccs.push_back(alignment1216022704);
+ AlignmentConstraint *alignment1216022768 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216022768->addShape(136, 0);
+ alignment1216022768->addShape(141, 0);
+ ccs.push_back(alignment1216022768);
+ AlignmentConstraint *alignment1216022832 = new AlignmentConstraint((vpsc::Dim) 1, 0);
+ alignment1216022832->addShape(140, 0);
+ ccs.push_back(alignment1216022832);
+#endif
+
+ ConstrainedFDLayout alg(rs, es, defaultEdgeLength);
+ alg.setAvoidNodeOverlaps(true);
+ alg.setConstraints(ccs);
+ alg.makeFeasible();
+ alg.outputInstanceToSVG();
+ //alg.run();
+ return 0;
+};
diff --git a/src/3rdparty/adaptagrams/libcola/tests/makemovie.sh b/src/3rdparty/adaptagrams/libcola/tests/makemovie.sh
new file mode 100644
index 0000000..cd571f9
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/makemovie.sh
@@ -0,0 +1,10 @@
+pattern=containment
+width=200
+height=260
+rm ${pattern}*.pdf
+for file in ${pattern}*.svg
+do
+ echo adding $file...
+ inkscape -w$width -h$height -A ${file%.svg}.pdf $file 2> /dev/null
+done
+convert -page ${width}x${height} -delay 15 ${pattern}*.pdf $pattern.gif
diff --git a/src/3rdparty/adaptagrams/libcola/tests/max_acyclic_subgraph.cpp b/src/3rdparty/adaptagrams/libcola/tests/max_acyclic_subgraph.cpp
new file mode 100644
index 0000000..cb2eb38
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/max_acyclic_subgraph.cpp
@@ -0,0 +1,346 @@
+/*
+ * vim: ts=4 sw=4 et tw=0 wm=0
+ *
+ * libcola - A library providing force-directed network layout using the
+ * stress-majorization method subject to separation constraints.
+ *
+ * Copyright (C) 2006-2008 Monash University
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library in the file LICENSE; if not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place,
+ * Suite 330, Boston, MA 02111-1307 USA
+ *
+*/
+
+#include <iostream>
+#include <vector>
+#include <assert.h>
+#include <libcola/cola.h>
+#include <libcola/max_acyclic_subgraph.h>
+#include "graphlayouttest.h"
+
+using namespace std;
+using namespace cola;
+using vpsc::Rectangle;
+
+int main() {
+ MaxAcyclicSubgraph *mas;
+ Edges case_a, case_b, case_c, case_d, case_e, case_f;
+ Edges *subgraph = nullptr;
+
+ vector<Rectangle *> rs;
+ unsigned V;
+
+ // create case A
+ // case A consists of a basic graph where the start point is a source
+ cout << endl << "ENTERING CASE A" << endl;
+ V = 5;
+ case_a.push_back(Edge(0, 1));
+ case_a.push_back(Edge(1, 2));
+ case_a.push_back(Edge(2, 3));
+ case_a.push_back(Edge(3, 4));
+ case_a.push_back(Edge(4, 1));
+
+ // detect the subgraph
+ mas = new MaxAcyclicSubgraph(V, &case_a);
+ subgraph = mas->find_subgraph();
+
+ if (subgraph != nullptr) {
+ cout << "subgraph->size(): " << subgraph->size() << endl;
+ cout << "Ea: ";
+ for (unsigned i = 0; i < subgraph->size(); i++) {
+ // print out the subgraph
+ cout << "(" << (*subgraph)[i].first << ", " << (*subgraph)[i].second << ") ";
+ }
+
+ cout << endl;
+
+ // output a picture
+ rs.push_back(new Rectangle(10,10+5,10,10+5));
+ rs.push_back(new Rectangle(30,30+5,30,30+5));
+ rs.push_back(new Rectangle(30,30+5,60,60+5));
+ rs.push_back(new Rectangle(65,65+5,60,60+5));
+ rs.push_back(new Rectangle(65,65+5,30,30+5));
+
+ assert(rs.size() == V);
+
+ output_svg(rs, case_a, "mas_case_a.svg", false, true, subgraph);
+ for (unsigned i = 0; i < rs.size(); i++) { delete rs[i]; }
+ rs.clear();
+
+ delete subgraph;
+ }
+ else {
+ cout << "No subgraph found" << endl;
+ }
+
+ // create case B
+ // case B is the same graph of case A but with more elements
+ cout << endl << "ENTERING CASE B" << endl;
+ V = 7;
+ case_b.push_back(Edge(0, 1));
+ case_b.push_back(Edge(1, 2));
+ case_b.push_back(Edge(2, 3));
+ case_b.push_back(Edge(3, 4));
+ case_b.push_back(Edge(4, 1));
+ case_b.push_back(Edge(5, 2));
+ case_b.push_back(Edge(6, 5));
+
+ // detect the subgraph
+ mas->mod_graph(V, &case_b);
+ subgraph = mas->find_subgraph();
+
+ if (subgraph != nullptr) {
+ cout << "subgraph->size(): " << subgraph->size() << endl;
+ cout << "Ea: ";
+ for (unsigned i = 0; i < subgraph->size(); i++) {
+ // print out the subgraph
+ cout << "(" << (*subgraph)[i].first << ", " << (*subgraph)[i].second << ") ";
+ }
+
+ cout << endl;
+
+ // output a picture
+ rs.push_back(new Rectangle(10,10+5,10,10+5));
+ rs.push_back(new Rectangle(30,30+5,30,30+5));
+ rs.push_back(new Rectangle(30,30+5,60,60+5));
+ rs.push_back(new Rectangle(65,65+5,60,60+5));
+ rs.push_back(new Rectangle(65,65+5,30,30+5));
+ rs.push_back(new Rectangle(30,30+5,90,90+5));
+ rs.push_back(new Rectangle(65,65+5,90,90+5));
+
+ assert(rs.size() == V);
+
+ output_svg(rs, case_b, "mas_case_b.svg", false, true, subgraph);
+ for (unsigned i = 0; i < rs.size(); i++) { delete rs[i]; }
+ rs.clear();
+
+ delete subgraph;
+ }
+ else {
+ cout << "No subgraph found" << endl;
+ }
+
+ // create case C
+ // case C is a more complicated graph with nested subgraph
+ cout << endl << "ENTERING CASE C" << endl;
+ V = 14;
+ case_c.push_back(Edge(0, 1));
+ case_c.push_back(Edge(0, 5));
+ case_c.push_back(Edge(0, 6));
+ case_c.push_back(Edge(2, 0));
+ case_c.push_back(Edge(3, 5));
+ case_c.push_back(Edge(4, 3));
+ case_c.push_back(Edge(5, 4));
+ case_c.push_back(Edge(5, 13));
+ case_c.push_back(Edge(6, 2));
+ case_c.push_back(Edge(6, 9));
+ case_c.push_back(Edge(7, 6));
+ case_c.push_back(Edge(8, 7));
+ case_c.push_back(Edge(9, 10));
+ case_c.push_back(Edge(9, 11));
+ case_c.push_back(Edge(9, 12));
+ case_c.push_back(Edge(10, 6));
+ case_c.push_back(Edge(12, 10));
+ case_c.push_back(Edge(13, 4));
+
+ // detect the subgraph
+ mas->mod_graph(V, &case_c);
+ subgraph = mas->find_subgraph();
+
+ if (subgraph != nullptr) {
+ cout << "subgraph->size(): " << subgraph->size() << endl;
+ cout << "Ea: ";
+ for (unsigned i = 0; i < subgraph->size(); i++) {
+ // print out the subgraph
+ cout << "(" << (*subgraph)[i].first << ", " << (*subgraph)[i].second << ") ";
+ }
+
+ cout << endl;
+
+ // output a picture
+ rs.push_back(new Rectangle(10,10+5,10,10+5)); // node 0
+ rs.push_back(new Rectangle(20,20+5,40,40+5)); // node 1
+ rs.push_back(new Rectangle(40,40+5,30,30+5)); // node 2
+ rs.push_back(new Rectangle(30,30+5,60,60+5)); // node 3
+ rs.push_back(new Rectangle(60,60+5,60,60+5)); // node 4
+ rs.push_back(new Rectangle(10,10+5,90,90+5)); // node 5
+ rs.push_back(new Rectangle(80,80+5,15,15+5)); // node 6
+ rs.push_back(new Rectangle(110,110+5,15,15+5)); // node 7
+ rs.push_back(new Rectangle(140,140+5,15,15+5)); // node 8
+ rs.push_back(new Rectangle(110,110+5,60,60+5)); // node 9
+ rs.push_back(new Rectangle(100,100+5,85,85+5)); // node 10
+ rs.push_back(new Rectangle(140,140+5,50,50+5)); // node 11
+ rs.push_back(new Rectangle(140,140+5,70,70+5)); // node 12
+ rs.push_back(new Rectangle(45,45+5,90,90+5)); // node 13
+
+ assert(rs.size() == V);
+
+ output_svg(rs, case_c, "mas_case_c.svg", false, true, subgraph);
+ for(int i = 0; i < V; i++) { delete rs[i]; }
+ rs.clear();
+ delete subgraph;
+ }
+ else {
+ cout << "No subgraph found" << endl;
+ }
+
+ // create case D
+ // case D consists of the same graph as case A but with a different starting location
+ cout << endl << "ENTERING CASE D" << endl;
+ V = 5;
+ case_d.push_back(Edge(0, 1));
+ case_d.push_back(Edge(1, 2));
+ case_d.push_back(Edge(2, 3));
+ case_d.push_back(Edge(3, 0));
+ case_d.push_back(Edge(4, 1));
+
+ // detect the subgraph
+ mas->mod_graph(V, &case_d);
+ subgraph = mas->find_subgraph();
+
+ if (subgraph != nullptr) {
+ cout << "subgraph->size(): " << subgraph->size() << endl;
+ cout << "Ea: ";
+ for (unsigned i = 0; i < subgraph->size(); i++) {
+ // print out the subgraph
+ cout << "(" << (*subgraph)[i].first << ", " << (*subgraph)[i].second << ") ";
+ }
+
+ cout << endl;
+
+ // output a picture
+ rs.push_back(new Rectangle(65,65+5,60,60+5));
+ rs.push_back(new Rectangle(65,65+5,30,30+5));
+ rs.push_back(new Rectangle(30,30+5,30,30+5));
+ rs.push_back(new Rectangle(30,30+5,60,60+5));
+ rs.push_back(new Rectangle(10,10+5,10,10+5));
+
+ assert(rs.size() == V);
+
+ output_svg(rs, case_d, "mas_case_d.svg", false, true, subgraph);
+ for (unsigned i = 0; i < rs.size(); i++) { delete rs[i]; }
+ rs.clear();
+ delete subgraph;
+ }
+ else {
+ cout << "No subgraph found" << endl;
+ }
+
+ // create case E
+ // case E is a reordering of case C
+ cout << endl << "ENTERING CASE E" << endl;
+ V = 14;
+ case_e.push_back(Edge(0, 6));
+ case_e.push_back(Edge(0, 9));
+ case_e.push_back(Edge(1, 4));
+ case_e.push_back(Edge(3, 10));
+ case_e.push_back(Edge(4, 3));
+ case_e.push_back(Edge(5, 0));
+ case_e.push_back(Edge(6, 7));
+ case_e.push_back(Edge(7, 0));
+ case_e.push_back(Edge(7, 2));
+ case_e.push_back(Edge(7, 10));
+ case_e.push_back(Edge(8, 5));
+ case_e.push_back(Edge(9, 12));
+ case_e.push_back(Edge(9, 11));
+ case_e.push_back(Edge(9, 13));
+ case_e.push_back(Edge(10, 1));
+ case_e.push_back(Edge(10, 4));
+ case_e.push_back(Edge(12, 0));
+ case_e.push_back(Edge(11, 12));
+
+ // detect the subgraph
+ mas->mod_graph(V, &case_e);
+ subgraph = mas->find_subgraph();
+ if (subgraph != nullptr) {
+ cout << "subgraph->size(): " << subgraph->size() << endl;
+ cout << "Ea: ";
+ for (unsigned i = 0; i < subgraph->size(); i++) {
+ // print out the subgraph
+ cout << "(" << (*subgraph)[i].first << ", " << (*subgraph)[i].second << ") ";
+ }
+
+ cout << endl;
+
+ // output a picture
+ rs.push_back(new Rectangle(80,80+5,15,15+5)); // node 6
+ rs.push_back(new Rectangle(45,45+5,90,90+5)); // node 13
+ rs.push_back(new Rectangle(20,20+5,40,40+5)); // node 1
+ rs.push_back(new Rectangle(30,30+5,60,60+5)); // node 3
+ rs.push_back(new Rectangle(60,60+5,60,60+5)); // node 4
+ rs.push_back(new Rectangle(110,110+5,15,15+5)); // node 7
+ rs.push_back(new Rectangle(40,40+5,30,30+5)); // node 2
+ rs.push_back(new Rectangle(10,10+5,10,10+5)); // node 0
+ rs.push_back(new Rectangle(140,140+5,15,15+5)); // node 8
+ rs.push_back(new Rectangle(110,110+5,60,60+5)); // node 9
+ rs.push_back(new Rectangle(10,10+5,90,90+5)); // node 5
+ rs.push_back(new Rectangle(140,140+5,70,70+5)); // node 12
+ rs.push_back(new Rectangle(100,100+5,85,85+5)); // node 10
+ rs.push_back(new Rectangle(140,140+5,50,50+5)); // node 11
+
+ assert(rs.size() == V);
+
+ output_svg(rs, case_e, "mas_case_e.svg", false, true, subgraph);
+ for(int i = 0; i < V; i++) { delete rs[i]; }
+ rs.clear();
+ delete subgraph;
+ }
+ else {
+ cout << "No subgraph found" << endl;
+ }
+
+ // create case F
+ // case F consists of the same graph with sinks
+ cout << endl << "ENTERING CASE F" << endl;
+ V = 3;
+ case_f.push_back(Edge(0, 1));
+ case_f.push_back(Edge(0, 2));
+ case_f.push_back(Edge(1, 2));
+
+ // detect the subgraph
+ mas->mod_graph(V, &case_f);
+ subgraph = mas->find_subgraph();
+
+ if (subgraph != nullptr) {
+ cout << "subgraph->size(): " << subgraph->size() << endl;
+ cout << "Ea: ";
+ for (unsigned i = 0; i < subgraph->size(); i++) {
+ // print out the subgraph
+ cout << "(" << (*subgraph)[i].first << ", " << (*subgraph)[i].second << ") ";
+ }
+
+ cout << endl;
+
+ // output a picture
+ rs.push_back(new Rectangle(10,10+5,10,10+5));
+ rs.push_back(new Rectangle(40,40+5,30,30+5));
+ rs.push_back(new Rectangle(15,15+5,60,60+5));
+
+ assert(rs.size() == V);
+
+ output_svg(rs, case_f, "mas_case_f.svg", false, true, subgraph);
+ for (unsigned i = 0; i < rs.size(); i++) { delete rs[i]; }
+ rs.clear();
+ delete subgraph;
+ }
+ else {
+ cout << "No subgraph found" << endl;
+ }
+
+ // END TEST
+ delete mas;
+
+ return 0;
+}
diff --git a/src/3rdparty/adaptagrams/libcola/tests/overlappingClusters01.cpp b/src/3rdparty/adaptagrams/libcola/tests/overlappingClusters01.cpp
new file mode 100644
index 0000000..6031c71
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/overlappingClusters01.cpp
@@ -0,0 +1,333 @@
+// Based on debug file from Christoph Daniel Schulze
+// cgraph_3_after_layout.svg
+#include <vector>
+#include <utility>
+#include "libcola/cola.h"
+using namespace cola;
+int main(void) {
+ CompoundConstraints ccs;
+ std::vector<Edge> es;
+ EdgeLengths eLengths;
+ double defaultEdgeLength=50;
+ std::vector<vpsc::Rectangle*> rs;
+ vpsc::Rectangle *rect = nullptr;
+
+ rect = new vpsc::Rectangle(245.517, 247.517, 279.574, 281.574);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(222.742, 224.742, 318.708, 320.708);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(460.345, 462.345, 716.936, 718.936);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(607.846, 609.846, 665.496, 667.496);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(640.191, 642.191, 637.391, 639.391);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(743.519, 745.519, 865.48, 867.48);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(807.112, 809.112, 759.798, 761.798);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(807.112, 809.112, 699.132, 701.132);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(121.997, 123.997, 221.049, 223.049);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(224.354, 226.354, 80, 82);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(448.583, 450.583, 517.722, 519.722);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(460.345, 462.345, 639.516, 641.516);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(607.846, 609.846, 583.991, 585.991);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(607.846, 609.846, 684.476, 686.476);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(625.623, 627.623, 602.774, 604.774);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(289.325, 291.325, 455.243, 457.243);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(207.785, 209.785, 222.762, 224.762);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(159.658, 161.658, 254.197, 256.197);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(650.816, 652.816, 809.48, 811.48);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(685.012, 687.012, 795.932, 797.932);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(751.112, 753.112, 643.132, 645.132);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(751.112, 753.112, 608.903, 610.903);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(320.184, 322.184, 377.132, 379.132);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(336.233, 338.233, 382.124, 384.124);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(153.571, 155.571, 391.657, 393.657);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(405.396, 407.396, 745.874, 747.874);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(460.345, 462.345, 727.442, 729.442);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(551.846, 553.846, 527.991, 529.991);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(669.714, 671.714, 583.991, 585.991);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(171.168, 221.168, 258.197, 308.197);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(110.328, 160.328, 266.708, 316.708);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(217.18, 267.18, 109.481, 159.481);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(632.075, 682.075, 858.531, 908.531);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(689.012, 739.012, 813.48, 863.48);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(755.112, 805.112, 647.132, 697.132);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(786.403, 836.403, 560.258, 610.258);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(261.651, 311.651, 247.06, 297.06);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(304.164, 354.164, 322.708, 372.708);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(70, 120, 325.132, 375.132);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(353.92, 403.92, 770.169, 820.169);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(464.345, 514.345, 749.874, 799.874);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(555.846, 605.846, 531.991, 581.991);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(696.038, 746.038, 531.991, 581.991);
+ rs.push_back(rect);
+
+ es.push_back(std::make_pair(0, 1));
+ es.push_back(std::make_pair(0, 22));
+ es.push_back(std::make_pair(1, 23));
+ es.push_back(std::make_pair(1, 24));
+ es.push_back(std::make_pair(2, 3));
+ es.push_back(std::make_pair(2, 25));
+ es.push_back(std::make_pair(3, 4));
+ es.push_back(std::make_pair(3, 26));
+ es.push_back(std::make_pair(3, 27));
+ es.push_back(std::make_pair(4, 28));
+ es.push_back(std::make_pair(5, 6));
+ es.push_back(std::make_pair(5, 18));
+ es.push_back(std::make_pair(6, 7));
+ es.push_back(std::make_pair(6, 19));
+ es.push_back(std::make_pair(6, 20));
+ es.push_back(std::make_pair(7, 21));
+ es.push_back(std::make_pair(8, 17));
+ es.push_back(std::make_pair(9, 31));
+ es.push_back(std::make_pair(10, 11));
+ es.push_back(std::make_pair(10, 12));
+ es.push_back(std::make_pair(10, 13));
+ es.push_back(std::make_pair(10, 14));
+ es.push_back(std::make_pair(10, 15));
+ es.push_back(std::make_pair(10, 22));
+ es.push_back(std::make_pair(10, 23));
+ es.push_back(std::make_pair(11, 12));
+ es.push_back(std::make_pair(11, 25));
+ es.push_back(std::make_pair(11, 26));
+ es.push_back(std::make_pair(12, 27));
+ es.push_back(std::make_pair(12, 28));
+ es.push_back(std::make_pair(13, 14));
+ es.push_back(std::make_pair(13, 18));
+ es.push_back(std::make_pair(13, 19));
+ es.push_back(std::make_pair(14, 20));
+ es.push_back(std::make_pair(14, 21));
+ es.push_back(std::make_pair(15, 24));
+ es.push_back(std::make_pair(16, 17));
+ es.push_back(std::make_pair(16, 36));
+ es.push_back(std::make_pair(17, 29));
+ es.push_back(std::make_pair(17, 30));
+ es.push_back(std::make_pair(18, 32));
+ es.push_back(std::make_pair(19, 33));
+ es.push_back(std::make_pair(20, 34));
+ es.push_back(std::make_pair(21, 35));
+ es.push_back(std::make_pair(22, 36));
+ es.push_back(std::make_pair(23, 37));
+ es.push_back(std::make_pair(24, 38));
+ es.push_back(std::make_pair(25, 39));
+ es.push_back(std::make_pair(26, 40));
+ es.push_back(std::make_pair(27, 41));
+ es.push_back(std::make_pair(28, 42));
+ es.push_back(std::make_pair(31, 36));
+ es.push_back(std::make_pair(32, 33));
+ es.push_back(std::make_pair(34, 35));
+ es.push_back(std::make_pair(36, 37));
+ es.push_back(std::make_pair(39, 40));
+ es.push_back(std::make_pair(41, 42));
+
+ double padding = 6;
+ ConstrainedFDLayout alg(rs, es, defaultEdgeLength, eLengths);
+ alg.setAvoidNodeOverlaps(true);
+ RootCluster *cluster140389150311456 = new RootCluster();
+ cluster140389150311456->addChildNode(0);
+ cluster140389150311456->addChildNode(1);
+ cluster140389150311456->addChildNode(2);
+ cluster140389150311456->addChildNode(3);
+ cluster140389150311456->addChildNode(4);
+ cluster140389150311456->addChildNode(5);
+ cluster140389150311456->addChildNode(6);
+ cluster140389150311456->addChildNode(7);
+ cluster140389150311456->addChildNode(8);
+ cluster140389150311456->addChildNode(9);
+ cluster140389150311456->addChildNode(10);
+ cluster140389150311456->addChildNode(11);
+ cluster140389150311456->addChildNode(12);
+ cluster140389150311456->addChildNode(13);
+ cluster140389150311456->addChildNode(14);
+ cluster140389150311456->addChildNode(15);
+ cluster140389150311456->addChildNode(16);
+ cluster140389150311456->addChildNode(17);
+ cluster140389150311456->addChildNode(18);
+ cluster140389150311456->addChildNode(19);
+ cluster140389150311456->addChildNode(20);
+ cluster140389150311456->addChildNode(21);
+ cluster140389150311456->addChildNode(22);
+ cluster140389150311456->addChildNode(23);
+ cluster140389150311456->addChildNode(24);
+ cluster140389150311456->addChildNode(25);
+ cluster140389150311456->addChildNode(26);
+ cluster140389150311456->addChildNode(27);
+ cluster140389150311456->addChildNode(28);
+ RectangularCluster *cluster140389152494880 = new RectangularCluster();
+ cluster140389152494880->setPadding(padding);
+ cluster140389152494880->addChildNode(36);
+ cluster140389150311456->addChildCluster(cluster140389152494880);
+ RectangularCluster *cluster140389150048048 = new RectangularCluster();
+ cluster140389150048048->setPadding(padding);
+ cluster140389150048048->addChildNode(38);
+ cluster140389150048048->addChildNode(37);
+ cluster140389150311456->addChildCluster(cluster140389150048048);
+ RectangularCluster *cluster140389150180400 = new RectangularCluster();
+ cluster140389150180400->setPadding(padding);
+ cluster140389150180400->addChildNode(30);
+ cluster140389150180400->addChildNode(29);
+ cluster140389150311456->addChildCluster(cluster140389150180400);
+ RectangularCluster *cluster140389150298288 = new RectangularCluster();
+ cluster140389150298288->setPadding(padding);
+ cluster140389150298288->addChildNode(39);
+ cluster140389150311456->addChildCluster(cluster140389150298288);
+ RectangularCluster *cluster140389150179600 = new RectangularCluster();
+ cluster140389150179600->setPadding(padding);
+ cluster140389150179600->addChildNode(41);
+ cluster140389150179600->addChildNode(40);
+ cluster140389150311456->addChildCluster(cluster140389150179600);
+ RectangularCluster *cluster140389150131760 = new RectangularCluster();
+ cluster140389150131760->setPadding(padding);
+ cluster140389150131760->addChildNode(42);
+ cluster140389150311456->addChildCluster(cluster140389150131760);
+ RectangularCluster *cluster140389150091712 = new RectangularCluster();
+ cluster140389150091712->setPadding(padding);
+ cluster140389150091712->addChildNode(32);
+ cluster140389150311456->addChildCluster(cluster140389150091712);
+ RectangularCluster *cluster140389152581264 = new RectangularCluster();
+ cluster140389152581264->setPadding(padding);
+ cluster140389152581264->addChildNode(34);
+ cluster140389152581264->addChildNode(33);
+ cluster140389150311456->addChildCluster(cluster140389152581264);
+ RectangularCluster *cluster140389144224352 = new RectangularCluster();
+ cluster140389144224352->setPadding(padding);
+ cluster140389144224352->addChildNode(35);
+ cluster140389150311456->addChildCluster(cluster140389144224352);
+ RectangularCluster *cluster140389144198304 = new RectangularCluster();
+ cluster140389144198304->setPadding(padding);
+ cluster140389144198304->addChildNode(30);
+ cluster140389144198304->addChildNode(29);
+ cluster140389150311456->addChildCluster(cluster140389144198304);
+ RectangularCluster *cluster140389144177184 = new RectangularCluster();
+ cluster140389144177184->setPadding(padding);
+ cluster140389144177184->addChildNode(31);
+ cluster140389150311456->addChildCluster(cluster140389144177184);
+ RectangularCluster *cluster140389144168944 = new RectangularCluster();
+ cluster140389144168944->setPadding(padding);
+ cluster140389144168944->addChildNode(36);
+ cluster140389144168944->addChildNode(37);
+ cluster140389150311456->addChildCluster(cluster140389144168944);
+ RectangularCluster *cluster140389144228288 = new RectangularCluster();
+ cluster140389144228288->setPadding(padding);
+ cluster140389144228288->addChildNode(39);
+ cluster140389144228288->addChildNode(40);
+ cluster140389150311456->addChildCluster(cluster140389144228288);
+ RectangularCluster *cluster140389144244064 = new RectangularCluster();
+ cluster140389144228288->setPadding(padding);
+ cluster140389144244064->addChildNode(42);
+ cluster140389144244064->addChildNode(41);
+ cluster140389150311456->addChildCluster(cluster140389144244064);
+ RectangularCluster *cluster140389144206000 = new RectangularCluster();
+ cluster140389144206000->setPadding(padding);
+ cluster140389144206000->addChildNode(32);
+ cluster140389144206000->addChildNode(33);
+ cluster140389150311456->addChildCluster(cluster140389144206000);
+ RectangularCluster *cluster140389144175920 = new RectangularCluster();
+ cluster140389144175920->setPadding(padding);
+ cluster140389144175920->addChildNode(35);
+ cluster140389144175920->addChildNode(34);
+ cluster140389150311456->addChildCluster(cluster140389144175920);
+ RectangularCluster *cluster140389144214752 = new RectangularCluster();
+ cluster140389144214752->setPadding(padding);
+ cluster140389144214752->addChildNode(38);
+ cluster140389150311456->addChildCluster(cluster140389144214752);
+ alg.setClusterHierarchy(cluster140389150311456);
+ alg.setConstraints(ccs);
+
+ UnsatisfiableConstraintInfos unsatisfiableX, unsatisfiableY;
+ alg.setUnsatisfiableConstraintInfo(&unsatisfiableX, &unsatisfiableY);
+
+ //alg.makeFeasible();
+ alg.run();
+ //alg.outputInstanceToSVG("overlappingClusters01");
+
+ for (size_t i = 0; i < unsatisfiableX.size(); ++i)
+ {
+ printf("%s\n", unsatisfiableX[i]->toString().c_str());
+ }
+ for (size_t i = 0; i < unsatisfiableY.size(); ++i)
+ {
+ printf("%s\n", unsatisfiableY[i]->toString().c_str());
+ }
+ alg.freeAssociatedObjects();
+ return (unsatisfiableX.empty() && unsatisfiableY.empty()) ? 0 : 1;
+};
diff --git a/src/3rdparty/adaptagrams/libcola/tests/overlappingClusters02.cpp b/src/3rdparty/adaptagrams/libcola/tests/overlappingClusters02.cpp
new file mode 100644
index 0000000..a6bdaf2
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/overlappingClusters02.cpp
@@ -0,0 +1,100 @@
+// Based on Euler Diagram generation example discussed with Aidan Delaney.
+//
+// B
+// +-----------------------------+
+// A | 2 C |
+// +-----------+----------------+ +---+ |
+// | | 1 | | 0 | |
+// | | | +---+ |
+// | 3 +----------------+------------+
+// | |
+// | | 4
+// +----------------------------+
+//
+
+#include <vector>
+#include <utility>
+#include <cstdlib>
+#include "libcola/cola.h"
+using namespace cola;
+int main(void) {
+ CompoundConstraints ccs;
+ std::vector<Edge> es;
+ EdgeLengths eLengths;
+ double defaultEdgeLength=10;
+ std::vector<vpsc::Rectangle*> rs;
+ vpsc::Rectangle *rect = nullptr;
+
+ double width = 5;
+ double height = 5;
+ double pos = 0;
+
+ size_t nodes = 5;
+ for (size_t i = 0; i < nodes; ++i)
+ {
+ rect = new vpsc::Rectangle(pos, pos +width, pos, pos +height);
+ rs.push_back(rect);
+
+ // XXX randomness is needed because COLA doesn't currently untangle
+ // the graph properly if all the nodes begin at the same position.
+ pos += (rand() % 10) - 5;
+ }
+
+ // Euler dual graph (optional)
+ es.push_back(std::make_pair(2, 4));
+ es.push_back(std::make_pair(3, 4));
+ es.push_back(std::make_pair(1, 3));
+ es.push_back(std::make_pair(2, 1));
+ es.push_back(std::make_pair(2, 0));
+
+ // Padding around the inside of clusters.
+ double padding = 3;
+
+ ConstrainedFDLayout alg(rs, es, defaultEdgeLength, eLengths);
+ alg.setAvoidNodeOverlaps(true);
+ RootCluster *rootCluster = new RootCluster();
+
+ // A contains 1, 3
+ RectangularCluster *clusterA = new RectangularCluster();
+ clusterA->setPadding(padding);
+ clusterA->addChildNode(1);
+ clusterA->addChildNode(3);
+
+ // C contains 0
+ RectangularCluster *clusterC = new RectangularCluster();
+ clusterC->setPadding(padding);
+ clusterC->addChildNode(0);
+
+ // B contains 1, 2, C
+ RectangularCluster *clusterB = new RectangularCluster();
+ clusterB->setPadding(padding);
+ clusterB->addChildNode(1);
+ clusterB->addChildNode(2);
+ clusterB->addChildCluster(clusterC);
+
+ // node 4 is in the empty set.
+
+ rootCluster->addChildCluster(clusterA);
+ rootCluster->addChildCluster(clusterB);
+
+ alg.setConstraints(ccs);
+
+ UnsatisfiableConstraintInfos unsatisfiableX, unsatisfiableY;
+ alg.setUnsatisfiableConstraintInfo(&unsatisfiableX, &unsatisfiableY);
+
+ alg.setClusterHierarchy(rootCluster);
+ //alg.makeFeasible();
+ alg.run();
+ alg.outputInstanceToSVG("overlappingClusters02");
+
+ for (size_t i = 0; i < unsatisfiableX.size(); ++i)
+ {
+ printf("%s\n", unsatisfiableX[i]->toString().c_str());
+ }
+ for (size_t i = 0; i < unsatisfiableY.size(); ++i)
+ {
+ printf("%s\n", unsatisfiableY[i]->toString().c_str());
+ }
+ alg.freeAssociatedObjects();
+ return (unsatisfiableX.empty() && unsatisfiableY.empty()) ? 0 : 1;
+};
diff --git a/src/3rdparty/adaptagrams/libcola/tests/overlappingClusters04.cpp b/src/3rdparty/adaptagrams/libcola/tests/overlappingClusters04.cpp
new file mode 100644
index 0000000..45a06ff
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/overlappingClusters04.cpp
@@ -0,0 +1,61 @@
+// From Aidan Delaney: a_b_ab_abc.json.svg
+// Regression test for SEGFAULT caused by specifing an invalid node index 7
+// in cluster description.
+#include <vector>
+#include <utility>
+#include "libcola/cola.h"
+using namespace cola;
+int main(void) {
+ CompoundConstraints ccs;
+ std::vector<Edge> es;
+ EdgeLengths eLengths;
+ double defaultEdgeLength=10;
+ std::vector<vpsc::Rectangle*> rs;
+ vpsc::Rectangle *rect = nullptr;
+
+ rect = new vpsc::Rectangle(0, 5, 0, 5);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(-2, 3, -2, 3);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(-1, 4, -1, 4);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(1, 6, 1, 6);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(1, 6, 1, 6);
+ rs.push_back(rect);
+
+
+ ConstrainedFDLayout alg(rs, es, defaultEdgeLength, eLengths);
+ alg.setAvoidNodeOverlaps(true);
+
+ RootCluster *cluster33771480 = new RootCluster();
+ RectangularCluster *cluster33771952 = new RectangularCluster();
+ cluster33771952->setPadding(Box(2));
+ cluster33771952->addChildNode(1);
+ cluster33771952->addChildNode(3);
+ cluster33771952->addChildNode(7);
+ cluster33771480->addChildCluster(cluster33771952);
+
+ RectangularCluster *cluster33772496 = new RectangularCluster();
+ cluster33772496->setPadding(Box(2));
+ cluster33772496->addChildNode(2);
+ cluster33772496->addChildNode(3);
+ cluster33772496->addChildNode(7);
+ cluster33771480->addChildCluster(cluster33772496);
+
+ RectangularCluster *cluster33773040 = new RectangularCluster();
+ cluster33773040->setPadding(Box(2));
+ cluster33773040->addChildNode(7);
+ cluster33771480->addChildCluster(cluster33773040);
+
+ alg.setClusterHierarchy(cluster33771480);
+
+ alg.setConstraints(ccs);
+ alg.makeFeasible();
+ //alg.outputInstanceToSVG("overlappingCLusters04");
+ alg.freeAssociatedObjects();
+};
diff --git a/src/3rdparty/adaptagrams/libcola/tests/page_bounds.cpp b/src/3rdparty/adaptagrams/libcola/tests/page_bounds.cpp
new file mode 100644
index 0000000..b753cbf
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/page_bounds.cpp
@@ -0,0 +1,102 @@
+/*
+ * vim: ts=4 sw=4 et tw=0 wm=0
+ *
+ * libcola - A library providing force-directed network layout using the
+ * stress-majorization method subject to separation constraints.
+ *
+ * Copyright (C) 2006-2008 Monash University
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library in the file LICENSE; if not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place,
+ * Suite 330, Boston, MA 02111-1307 USA
+ *
+*/
+
+/**
+ * \file page_bounds.cpp
+ *
+ * test/example showing the use of page boundary constraints
+ */
+#include<iostream>
+#include<vector>
+#include <cmath>
+#include <time.h>
+#include <valarray>
+
+#include "graphlayouttest.h"
+
+vector<Edge> random_graph(unsigned n) {
+ vector<Edge> edges;
+ for(unsigned i=1;i<n;i++) {
+ edges.push_back(make_pair(i-1,i));
+ }
+ for(unsigned i=0;i<n;i++) {
+ for(unsigned j=i+1;j<n;j++) {
+ double r=(double)rand()/(double)RAND_MAX;
+ if(r < 1./(double)n) {
+ edges.push_back(make_pair(i,j));
+ }
+ }
+ }
+
+ return edges;
+}
+int main() {
+ unsigned V=30;
+ CompoundConstraints ccs;
+ vector<Edge> es = random_graph(V);
+ double defaultEdgeLength=40;
+ cola::PageBoundaryConstraints* pbc =
+ new cola::PageBoundaryConstraints(0,200,0,200,100);
+
+ double w=2.0, h=2.0;
+ for(unsigned i=0;i<V;i++) {
+ pbc->addShape(i, w/2, h/2);
+ }
+ ccs.push_back(pbc);
+
+ cout << "V="<<V<<endl;
+ double width=1000;
+ double height=1000;
+ //srand(time(nullptr));
+ vector<pair<double,double> > startpos(V);
+ for(unsigned i=0;i<V;i++) {
+ double x=getRand(width), y=getRand(height);
+ startpos[i]=make_pair(x,y);
+ }
+
+ /*void run_test(
+ vector<pair<double,double> > const &startpos,
+ vector<Edge> const &es,
+ const double defaultEdgeLength,
+ CompoundConstraints &cx,
+ CompoundConstraints &cy,
+ const SolverType s,
+ const bool constrained,
+ const char *fname,
+ const char *testdesc) {
+ */
+
+/*
+ run_test(startpos,es,defaultEdgeLength,cx,cy,CG,false,"random","cg");
+ run_test(startpos,es,defaultEdgeLength,cx,cy,IP,false,"random", "ip");
+ run_test(startpos,es,defaultEdgeLength,cx,cy,UGP,false,"random", "ugp");
+ run_test(startpos,es,defaultEdgeLength,cx,cy,SGP,false,"random", "sgp");
+ run_test(startpos,es,defaultEdgeLength,cx,cy,IP,true,"random", "cip");
+ run_test(startpos,es,defaultEdgeLength,cx,cy,SGP,true,"random", "csgp");
+ */
+ run_test(startpos,es,defaultEdgeLength,ccs,UGP,true,"random", "cugp");
+ return 0;
+}
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=4:softtabstop=4:textwidth=99 :
diff --git a/src/3rdparty/adaptagrams/libcola/tests/planar.cpp b/src/3rdparty/adaptagrams/libcola/tests/planar.cpp
new file mode 100644
index 0000000..f5eae9c
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/planar.cpp
@@ -0,0 +1,287 @@
+/*
+ * vim: ts=4 sw=4 et tw=0 wm=0
+ *
+ * libcola - A library providing force-directed network layout using the
+ * stress-majorization method subject to separation constraints.
+ *
+ * Copyright (C) 2006-2008 Monash University
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library in the file LICENSE; if not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place,
+ * Suite 330, Boston, MA 02111-1307 USA
+ *
+*/
+
+/** \file topology.cpp
+ *
+ * tests topology preserving layout. graph is a triangle.
+ * We have a fourth disconnected node starting inside the triangle.
+ * We give the disconnected node a desired position outside the triangle
+ * and begin layout. Layout should converge to near zero stress as all
+ * edges should be able to reach their desired lengths, and disconnected
+ * node should still be inside the triangle at the end.
+ */
+/*
+* Authors:
+* Tim Dwyer <tgdwyer@gmail.com>
+*/
+#include <iostream>
+#include <iomanip>
+#include <fstream>
+
+#include <vector>
+#include <valarray>
+#include <algorithm>
+#include <float.h>
+#include <libcola/cola.h>
+#include <libtopology/topology_graph.h>
+#include "graphlayouttest.h"
+using namespace std;
+using namespace cola;
+
+struct TestCase {
+ topology::Nodes vs;
+ topology::Edges tes;
+ topology::EdgePoints ps;
+ vector<vpsc::Rectangle*> rs;
+ vector<Edge> es;
+ void addNode(double minX, double minY, double w, double h) {
+ vpsc::Rectangle* r = new Rectangle(minX, minX+w, minY, minY+h);
+ rs.push_back(r);
+ topology::Node *v = new topology::Node(vs.size(), r);
+ vs.push_back(v);
+ }
+ void addToPath(unsigned vID, topology::EdgePoint::RectIntersect i) {
+ ps.push_back(new topology::EdgePoint(vs[vID],i));
+ }
+ void addEdge(double l) {
+ tes.push_back(new topology::Edge(l, ps));
+ es.push_back(make_pair(ps[0]->node->id,ps[ps.size()-1]->node->id));
+ ps.clear();
+ }
+ ~TestCase() {
+ for_each(rs.begin(),rs.end(),delete_object());
+ for_each(tes.begin(),tes.end(),delete_object());
+ for_each(vs.begin(),vs.end(),delete_object());
+ }
+};
+void writeFile(const topology::Nodes& vs, const topology::Edges& es, const char *outputFileName) {
+ const unsigned n=vs.size();
+ vector<cola::Edge> cedges;
+
+ for(unsigned i=0;i<es.size();i++) {
+ cedges.push_back(make_pair(1,2));
+ }
+
+ vector<straightener::Route*> routes;
+ for(topology::Edges::const_iterator e=es.begin();e!=es.end();++e) {
+ routes.push_back((*e)->getRoute());
+ }
+
+ vector<string> labels(n);
+ for(unsigned i=0;i<n;++i) {
+ stringstream ss;
+ ss << i;
+ labels[i]=ss.str();
+ }
+
+ vector<vpsc::Rectangle*> rs;
+ for(topology::Nodes::const_iterator i=vs.begin();i!=vs.end();++i) {
+ rs.push_back((*i)->rect);
+ }
+ OutputFile of(rs,cedges,nullptr,outputFileName,true,false);
+ of.setLabels(labels);
+ of.routes=&routes;
+ of.generate();
+
+ for_each(routes.begin(),routes.end(),delete_object());
+}
+struct Test : TestConvergence {
+ Test(const double d,const unsigned i,topology::Nodes& vs, topology::Edges& es) : TestConvergence(d,i), vs(vs), es(es) {}
+ bool operator()(const double new_stress, valarray<double> & X, valarray<double> & Y) {
+ cout << "stress="<<new_stress<<" iteration="<<iterations<<endl;
+ stringstream ss;
+ ss << "planar-" << setfill('0') << setw(3) << ++iterations << ".svg";
+ writeFile(vs,es,ss.str().c_str());
+ if(iterations<100) {
+ return false;
+ }
+ return true;
+ return TestConvergence::operator()(new_stress,X,Y);
+ }
+ double lastStress;
+ topology::Nodes& vs;
+ topology::Edges& es;
+};
+void test() {
+ TestCase t;
+t.addNode(144.000000,511.000000,8.000000,8.000000);
+t.addNode(413.000000,155.000000,8.000000,8.000000);
+t.addNode(437.000000,169.000000,8.000000,8.000000);
+t.addNode(436.000000,122.000000,8.000000,8.000000);
+t.addNode(460.000000,150.000000,8.000000,8.000000);
+t.addNode(466.000000,178.000000,8.000000,8.000000);
+t.addNode(469.000000,198.000000,8.000000,8.000000);
+t.addNode(378.000000,332.000000,8.000000,8.000000);
+t.addNode(368.000000,315.000000,8.000000,8.000000);
+t.addNode(332.000000,341.000000,8.000000,8.000000);
+t.addNode(282.000000,374.000000,8.000000,8.000000);
+t.addNode(329.000000,364.000000,8.000000,8.000000);
+t.addNode(346.000000,390.000000,8.000000,8.000000);
+t.addNode(375.000000,402.000000,8.000000,8.000000);
+t.addNode(357.000000,438.000000,8.000000,8.000000);
+t.addNode(382.000000,422.000000,8.000000,8.000000);
+t.addNode(453.000000,280.000000,8.000000,8.000000);
+t.addNode(452.000000,258.000000,8.000000,8.000000);
+t.addNode(530.000000,449.000000,8.000000,8.000000);
+t.addNode(576.000000,431.000000,8.000000,8.000000);
+t.addNode(577.000000,408.000000,8.000000,8.000000);
+t.addNode(606.000000,438.000000,8.000000,8.000000);
+t.addNode(624.000000,467.000000,8.000000,8.000000);
+t.addNode(620.000000,492.000000,8.000000,8.000000);
+t.addNode(681.000000,492.000000,8.000000,8.000000);
+t.addNode(729.000000,528.000000,8.000000,8.000000);
+t.addNode(765.000000,515.000000,8.000000,8.000000);
+t.addNode(765.000000,492.000000,8.000000,8.000000);
+t.addNode(858.000000,538.000000,8.000000,8.000000);
+t.addNode(2.000000,544.000000,8.000000,8.000000);
+t.addToPath(28,(topology::EdgePoint::RectIntersect)4);
+t.addToPath(27,(topology::EdgePoint::RectIntersect)4);
+t.addEdge(70.000000);
+t.addToPath(28,(topology::EdgePoint::RectIntersect)4);
+t.addToPath(26,(topology::EdgePoint::RectIntersect)4);
+t.addEdge(70.000000);
+t.addToPath(25,(topology::EdgePoint::RectIntersect)4);
+t.addToPath(28,(topology::EdgePoint::RectIntersect)4);
+t.addEdge(70.000000);
+t.addToPath(25,(topology::EdgePoint::RectIntersect)4);
+t.addToPath(29,(topology::EdgePoint::RectIntersect)4);
+t.addEdge(70.000000);
+t.addToPath(17,(topology::EdgePoint::RectIntersect)4);
+t.addToPath(24,(topology::EdgePoint::RectIntersect)4);
+t.addEdge(70.000000);
+t.addToPath(16,(topology::EdgePoint::RectIntersect)4);
+//t.addToPath(20,(topology::EdgePoint::RectIntersect)1);
+t.addToPath(24,(topology::EdgePoint::RectIntersect)4);
+t.addEdge(70.000000);
+t.addToPath(16,(topology::EdgePoint::RectIntersect)4);
+t.addToPath(7,(topology::EdgePoint::RectIntersect)4);
+t.addEdge(70.000000);
+t.addToPath(24,(topology::EdgePoint::RectIntersect)4);
+t.addToPath(25,(topology::EdgePoint::RectIntersect)4);
+t.addEdge(70.000000);
+t.addToPath(22,(topology::EdgePoint::RectIntersect)4);
+t.addToPath(24,(topology::EdgePoint::RectIntersect)4);
+t.addEdge(70.000000);
+t.addToPath(22,(topology::EdgePoint::RectIntersect)4);
+t.addToPath(0,(topology::EdgePoint::RectIntersect)4);
+t.addEdge(70.000000);
+t.addToPath(22,(topology::EdgePoint::RectIntersect)4);
+t.addToPath(23,(topology::EdgePoint::RectIntersect)4);
+t.addEdge(70.000000);
+t.addToPath(22,(topology::EdgePoint::RectIntersect)4);
+t.addToPath(18,(topology::EdgePoint::RectIntersect)4);
+t.addEdge(70.000000);
+t.addToPath(21,(topology::EdgePoint::RectIntersect)4);
+t.addToPath(20,(topology::EdgePoint::RectIntersect)4);
+t.addEdge(70.000000);
+t.addToPath(20,(topology::EdgePoint::RectIntersect)4);
+t.addToPath(19,(topology::EdgePoint::RectIntersect)4);
+t.addEdge(70.000000);
+t.addToPath(18,(topology::EdgePoint::RectIntersect)4);
+t.addToPath(20,(topology::EdgePoint::RectIntersect)4);
+t.addEdge(70.000000);
+t.addToPath(18,(topology::EdgePoint::RectIntersect)4);
+t.addToPath(16,(topology::EdgePoint::RectIntersect)4);
+t.addEdge(70.000000);
+t.addToPath(14,(topology::EdgePoint::RectIntersect)4);
+t.addToPath(18,(topology::EdgePoint::RectIntersect)4);
+t.addEdge(70.000000);
+t.addToPath(13,(topology::EdgePoint::RectIntersect)4);
+t.addToPath(14,(topology::EdgePoint::RectIntersect)4);
+t.addEdge(70.000000);
+t.addToPath(15,(topology::EdgePoint::RectIntersect)4);
+t.addToPath(14,(topology::EdgePoint::RectIntersect)4);
+t.addEdge(70.000000);
+t.addToPath(12,(topology::EdgePoint::RectIntersect)4);
+t.addToPath(13,(topology::EdgePoint::RectIntersect)4);
+t.addEdge(70.000000);
+t.addToPath(12,(topology::EdgePoint::RectIntersect)4);
+t.addToPath(10,(topology::EdgePoint::RectIntersect)4);
+t.addEdge(70.000000);
+t.addToPath(11,(topology::EdgePoint::RectIntersect)4);
+t.addToPath(12,(topology::EdgePoint::RectIntersect)4);
+t.addEdge(70.000000);
+t.addToPath(10,(topology::EdgePoint::RectIntersect)4);
+t.addToPath(11,(topology::EdgePoint::RectIntersect)4);
+t.addEdge(70.000000);
+t.addToPath(9,(topology::EdgePoint::RectIntersect)4);
+t.addToPath(13,(topology::EdgePoint::RectIntersect)4);
+t.addEdge(70.000000);
+t.addToPath(9,(topology::EdgePoint::RectIntersect)4);
+t.addToPath(10,(topology::EdgePoint::RectIntersect)4);
+t.addEdge(70.000000);
+t.addToPath(6,(topology::EdgePoint::RectIntersect)4);
+//t.addToPath(8,(topology::EdgePoint::RectIntersect)2);
+t.addToPath(9,(topology::EdgePoint::RectIntersect)4);
+t.addEdge(70.000000);
+t.addToPath(6,(topology::EdgePoint::RectIntersect)4);
+t.addToPath(7,(topology::EdgePoint::RectIntersect)4);
+t.addEdge(70.000000);
+t.addToPath(8,(topology::EdgePoint::RectIntersect)4);
+t.addToPath(7,(topology::EdgePoint::RectIntersect)4);
+t.addEdge(70.000000);
+t.addToPath(6,(topology::EdgePoint::RectIntersect)4);
+t.addToPath(25,(topology::EdgePoint::RectIntersect)4);
+t.addEdge(70.000000);
+t.addToPath(5,(topology::EdgePoint::RectIntersect)4);
+t.addToPath(10,(topology::EdgePoint::RectIntersect)4);
+t.addEdge(70.000000);
+t.addToPath(5,(topology::EdgePoint::RectIntersect)4);
+t.addToPath(29,(topology::EdgePoint::RectIntersect)4);
+t.addEdge(70.000000);
+t.addToPath(29,(topology::EdgePoint::RectIntersect)4);
+t.addToPath(1,(topology::EdgePoint::RectIntersect)4);
+t.addEdge(70.000000);
+t.addToPath(3,(topology::EdgePoint::RectIntersect)4);
+t.addToPath(2,(topology::EdgePoint::RectIntersect)4);
+t.addEdge(70.000000);
+t.addToPath(5,(topology::EdgePoint::RectIntersect)4);
+t.addToPath(6,(topology::EdgePoint::RectIntersect)4);
+t.addEdge(70.000000);
+t.addToPath(4,(topology::EdgePoint::RectIntersect)4);
+t.addToPath(5,(topology::EdgePoint::RectIntersect)4);
+t.addEdge(70.000000);
+t.addToPath(3,(topology::EdgePoint::RectIntersect)4);
+t.addToPath(4,(topology::EdgePoint::RectIntersect)4);
+t.addEdge(70.000000);
+t.addToPath(29,(topology::EdgePoint::RectIntersect)4);
+//t.addToPath(1,(topology::EdgePoint::RectIntersect)2);
+t.addToPath(3,(topology::EdgePoint::RectIntersect)4);
+t.addEdge(70.000000);
+ writeFile(t.vs,t.tes,"planar-000.svg");
+ Test test(0.00001,100,t.vs,t.tes);
+ ConstrainedFDLayout alg(t.rs,t.es,70.0,nullptr,test,nullptr);
+ alg.setTopology(&t.vs,&t.tes);
+ alg.run(true,true);
+ double finalStress=alg.computeStress();
+ printf("finalStress=%f\n",finalStress);
+
+ //assert(finalStress<1e-5);
+}
+int main() {
+ test();
+ return 0;
+}
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=4:softtabstop=4:textwidth=80 :
diff --git a/src/3rdparty/adaptagrams/libcola/tests/random_graph.cpp b/src/3rdparty/adaptagrams/libcola/tests/random_graph.cpp
new file mode 100644
index 0000000..68e2ee1
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/random_graph.cpp
@@ -0,0 +1,113 @@
+/*
+ * vim: ts=4 sw=4 et tw=0 wm=0
+ *
+ * libcola - A library providing force-directed network layout using the
+ * stress-majorization method subject to separation constraints.
+ *
+ * Copyright (C) 2006-2008 Monash University
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library in the file LICENSE; if not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place,
+ * Suite 330, Boston, MA 02111-1307 USA
+ *
+*/
+
+#include<iostream>
+#include<vector>
+#include <cmath>
+#include <time.h>
+#include <valarray>
+
+#include "graphlayouttest.h"
+
+vector<Edge> random_graph(unsigned n) {
+ vector<Edge> edges;
+ for(unsigned i=1;i<n;i++) {
+ edges.push_back(make_pair(i-1,i));
+ }
+ for(unsigned i=0;i<n;i++) {
+ for(unsigned j=i+1;j<n;j++) {
+ double r=(double)rand()/(double)RAND_MAX;
+ if(r < 1./(double)n) {
+ edges.push_back(make_pair(i,j));
+ }
+ }
+ }
+
+ return edges;
+}
+int main() {
+ unsigned V=100;
+ CompoundConstraints ccs;
+ vector<Edge> es = random_graph(V);
+ double defaultEdgeLength=40;
+ for(unsigned i=0;i<es.size();i++) {
+ unsigned start=es[i].first, end=es[i].second;
+ ccs.push_back(
+ new SeparationConstraint(vpsc::YDIM, start,end,-10));
+ }
+
+ cout << "V="<<V<<endl;
+ double width=1000;
+ double height=1000;
+ //srand(time(nullptr));
+ vector<pair<double,double> > startpos(V);
+ for(unsigned i=0;i<V;i++) {
+ double x=getRand(width), y=getRand(height);
+ startpos[i]=make_pair(x,y);
+ }
+
+ /*void run_test(
+ vector<pair<double,double> > const &startpos,
+ vector<Edge> const &es,
+ const double defaultEdgeLength,
+ CompoundConstraints &cx,
+ CompoundConstraints &cy,
+ const SolverType s,
+ const bool constrained,
+ const char *fname,
+ const char *testdesc) {
+ */
+
+/*
+ run_test(startpos,es,defaultEdgeLength,cx,cy,CG,false,"random","cg");
+ run_test(startpos,es,defaultEdgeLength,cx,cy,IP,false,"random", "ip");
+ run_test(startpos,es,defaultEdgeLength,cx,cy,UGP,false,"random", "ugp");
+ run_test(startpos,es,defaultEdgeLength,cx,cy,SGP,false,"random", "sgp");
+ run_test(startpos,es,defaultEdgeLength,cx,cy,IP,true,"random", "cip");
+ run_test(startpos,es,defaultEdgeLength,cx,cy,UGP,true,"random", "cugp");
+ run_test(startpos,es,defaultEdgeLength,cx,cy,SGP,true,"random", "csgp");
+ */
+ vector<vpsc::Rectangle*> rs;
+ for(unsigned i=0;i<V;i++) {
+ double x=getRand(width), y=getRand(height);
+ rs.push_back(new vpsc::Rectangle(x,x+5,y,y+5));
+ }
+ CheckProgress test(0.0001,200);
+ ConstrainedMajorizationLayout alg(rs,es,nullptr,defaultEdgeLength,
+ StandardEdgeLengths,&test);
+ //alg.setYConstraints(&cy);
+ alg.run();
+ ConstrainedFDLayout alg2(rs,es,defaultEdgeLength,
+ StandardEdgeLengths, &test);
+ //alg2.setYConstraints(&cy);
+ alg2.run();
+ OutputFile output(rs,es,nullptr,"random.pdf");
+ output.generate();
+ for(unsigned i=0;i<V;i++) {
+ delete rs[i];
+ }
+ return 0;
+}
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=4:softtabstop=4:textwidth=99 :
diff --git a/src/3rdparty/adaptagrams/libcola/tests/rectangularClusters01.cpp b/src/3rdparty/adaptagrams/libcola/tests/rectangularClusters01.cpp
new file mode 100644
index 0000000..4269b3b
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/rectangularClusters01.cpp
@@ -0,0 +1,1135 @@
+#include <vector>
+#include <utility>
+#include "libcola/cola.h"
+using namespace cola;
+int main(void) {
+ CompoundConstraints ccs;
+ std::vector<Edge> es;
+ EdgeLengths eLengths;
+ double defaultEdgeLength=1;
+ std::vector<vpsc::Rectangle*> rs;
+ vpsc::Rectangle *rect = nullptr;
+
+ rect = new vpsc::Rectangle(56.4457, 117.446, 954.77, 1043.77);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(119.446, 127.446, 992.02, 1000.02);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(119.446, 127.446, 1004.27, 1012.27);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(119.446, 127.446, 1016.52, 1024.52);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(46.4457, 54.4457, 1004.27, 1012.27);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(2165.45, 2239.45, 976.562, 1065.56);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(2155.45, 2163.45, 1026.06, 1034.06);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(-106.554, 6.44565, 955.683, 1044.68);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(8.44565, 16.4457, 1005.18, 1013.18);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(331.446, 412.446, 1015.55, 1104.55);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(414.446, 422.446, 1065.05, 1073.05);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(356.112, 364.112, 1106.55, 1114.55);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(339.779, 347.779, 1106.55, 1114.55);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(321.446, 329.446, 1073.22, 1081.22);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(321.446, 329.446, 1056.88, 1064.88);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(477.446, 559.446, 948.569, 1037.57);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(561.446, 569.446, 998.069, 1006.07);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(503.946, 511.946, 1039.57, 1047.57);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(467.446, 475.446, 998.069, 1006.07);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(56.4457, 127.446, 863.77, 952.77);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(129.446, 137.446, 913.27, 921.27);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(46.4457, 54.4457, 913.27, 921.27);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(177.446, 281.446, 922.444, 1011.44);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(283.446, 291.446, 971.944, 979.944);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(167.446, 175.446, 986.644, 994.644);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(167.446, 175.446, 976.844, 984.844);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(167.446, 175.446, 967.044, 975.044);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(167.446, 175.446, 957.244, 965.244);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(331.446, 427.446, 924.551, 1013.55);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(429.446, 437.446, 974.051, 982.051);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(321.446, 329.446, 974.051, 982.051);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(609.446, 730.446, 936.692, 1025.69);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(732.446, 740.446, 971.492, 979.492);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(732.446, 740.446, 981.292, 989.292);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(732.446, 740.446, 991.092, 999.092);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(732.446, 740.446, 1000.89, 1008.89);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(599.446, 607.446, 986.192, 994.192);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(780.446, 846.446, 838.172, 932.172);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(848.446, 856.446, 890.172, 898.172);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(770.446, 778.446, 890.172, 898.172);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(780.446, 846.446, 934.172, 1028.17);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(848.446, 856.446, 986.172, 994.172);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(770.446, 778.446, 986.172, 994.172);
+ rs.push_back(rect);
+
+ // rect-43
+ rect = new vpsc::Rectangle(941.446, 1155.45, 922.958, 1025.96);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(1147.45, 1155.45, 979.458, 987.458);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(941.446, 949.446, 998.358, 1006.36);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(941.446, 949.446, 985.757, 993.757);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(941.446, 949.446, 973.158, 981.158);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(941.446, 949.446, 960.558, 968.558);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(780.446, 846.446, 1030.17, 1124.17);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(848.446, 856.446, 1082.17, 1090.17);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(770.446, 778.446, 1082.17, 1090.17);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(1195.45, 1263.45, 938.653, 1017.65);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(1265.45, 1273.45, 983.153, 991.153);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(1185.45, 1193.45, 989.653, 997.653);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(1185.45, 1193.45, 976.653, 984.653);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(1313.45, 1374.45, 934.988, 1013.99);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(1376.45, 1384.45, 979.488, 987.488);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(1303.45, 1311.45, 979.488, 987.488);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(1586.45, 1660.45, 855.704, 944.704);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(1576.45, 1584.45, 905.204, 913.204);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(1424.45, 1536.45, 866.456, 945.456);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(1538.45, 1546.45, 910.956, 918.956);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(1414.45, 1422.45, 910.956, 918.956);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(1445.45, 1515.45, 947.456, 1036.46);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(1517.45, 1525.45, 996.956, 1004.96);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(1471.95, 1479.95, 1038.46, 1046.46);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(1435.45, 1443.45, 996.956, 1004.96);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(1699.45, 1748.45, 970.163, 1059.16);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(1750.45, 1758.45, 1019.66, 1027.66);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(1689.45, 1697.45, 1027.83, 1035.83);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(1689.45, 1697.45, 1011.5, 1019.5);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(1811.45, 1898.45, 1010.04, 1099.04);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(1900.45, 1908.45, 1059.54, 1067.54);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(1801.45, 1809.45, 1067.7, 1075.7);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(1801.45, 1809.45, 1051.37, 1059.37);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(1699.45, 1761.45, 1061.16, 1134.16);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(1763.45, 1771.45, 1102.66, 1110.66);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(1689.45, 1697.45, 1102.66, 1110.66);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(2053.45, 2115.45, 985.999, 1080);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(2117.45, 2125.45, 1038, 1046);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(2080.11, 2088.11, 1082, 1090);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(2062.78, 2070.78, 1082, 1090);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(2043.45, 2051.45, 1038, 1046);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(1948.45, 2003.45, 996.147, 1090.15);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(2005.45, 2013.45, 1048.15, 1056.15);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(1975.11, 1983.11, 1092.15, 1100.15);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(1957.78, 1965.78, 1092.15, 1100.15);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(1938.45, 1946.45, 1048.15, 1056.15);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(1565.45, 1649.45, 951.936, 1040.94);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(1651.45, 1659.45, 1001.44, 1009.44);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(1555.45, 1563.45, 1001.44, 1009.44);
+ rs.push_back(rect);
+
+ es.push_back(std::make_pair(0, 1));
+ es.push_back(std::make_pair(0, 2));
+ es.push_back(std::make_pair(0, 3));
+ es.push_back(std::make_pair(0, 4));
+ es.push_back(std::make_pair(1, 26));
+ es.push_back(std::make_pair(2, 25));
+ es.push_back(std::make_pair(3, 6));
+ es.push_back(std::make_pair(3, 24));
+ es.push_back(std::make_pair(4, 8));
+ es.push_back(std::make_pair(5, 6));
+ es.push_back(std::make_pair(6, 80));
+ es.push_back(std::make_pair(7, 8));
+ es.push_back(std::make_pair(9, 10));
+ es.push_back(std::make_pair(9, 11));
+ es.push_back(std::make_pair(9, 12));
+ es.push_back(std::make_pair(9, 13));
+ es.push_back(std::make_pair(9, 14));
+ es.push_back(std::make_pair(10, 17));
+ es.push_back(std::make_pair(15, 16));
+ es.push_back(std::make_pair(15, 17));
+ es.push_back(std::make_pair(15, 18));
+ es.push_back(std::make_pair(16, 36));
+ es.push_back(std::make_pair(16, 67));
+ es.push_back(std::make_pair(18, 29));
+ es.push_back(std::make_pair(19, 20));
+ es.push_back(std::make_pair(19, 21));
+ es.push_back(std::make_pair(20, 27));
+ es.push_back(std::make_pair(22, 23));
+ es.push_back(std::make_pair(22, 24));
+ es.push_back(std::make_pair(22, 25));
+ es.push_back(std::make_pair(22, 26));
+ es.push_back(std::make_pair(22, 27));
+ es.push_back(std::make_pair(23, 30));
+ es.push_back(std::make_pair(28, 29));
+ es.push_back(std::make_pair(28, 30));
+ es.push_back(std::make_pair(31, 32));
+ es.push_back(std::make_pair(31, 33));
+ es.push_back(std::make_pair(31, 34));
+ es.push_back(std::make_pair(31, 35));
+ es.push_back(std::make_pair(31, 36));
+ es.push_back(std::make_pair(32, 39));
+ es.push_back(std::make_pair(32, 48));
+ es.push_back(std::make_pair(34, 42));
+ es.push_back(std::make_pair(35, 51));
+ es.push_back(std::make_pair(35, 54));
+ es.push_back(std::make_pair(37, 38));
+ es.push_back(std::make_pair(37, 39));
+ es.push_back(std::make_pair(38, 47));
+ es.push_back(std::make_pair(40, 41));
+ es.push_back(std::make_pair(40, 42));
+ es.push_back(std::make_pair(41, 46));
+ es.push_back(std::make_pair(43, 44));
+ es.push_back(std::make_pair(43, 45));
+ es.push_back(std::make_pair(43, 46));
+ es.push_back(std::make_pair(43, 47));
+ es.push_back(std::make_pair(43, 48));
+ es.push_back(std::make_pair(44, 55));
+ es.push_back(std::make_pair(45, 50));
+ es.push_back(std::make_pair(49, 50));
+ es.push_back(std::make_pair(49, 51));
+ es.push_back(std::make_pair(52, 53));
+ es.push_back(std::make_pair(52, 54));
+ es.push_back(std::make_pair(52, 55));
+ es.push_back(std::make_pair(53, 58));
+ es.push_back(std::make_pair(56, 57));
+ es.push_back(std::make_pair(56, 58));
+ es.push_back(std::make_pair(57, 63));
+ es.push_back(std::make_pair(57, 66));
+ es.push_back(std::make_pair(59, 60));
+ es.push_back(std::make_pair(60, 62));
+ es.push_back(std::make_pair(61, 62));
+ es.push_back(std::make_pair(61, 63));
+ es.push_back(std::make_pair(64, 65));
+ es.push_back(std::make_pair(64, 66));
+ es.push_back(std::make_pair(64, 67));
+ es.push_back(std::make_pair(65, 91));
+ es.push_back(std::make_pair(68, 69));
+ es.push_back(std::make_pair(68, 70));
+ es.push_back(std::make_pair(68, 71));
+ es.push_back(std::make_pair(69, 75));
+ es.push_back(std::make_pair(70, 85));
+ es.push_back(std::make_pair(71, 90));
+ es.push_back(std::make_pair(72, 73));
+ es.push_back(std::make_pair(72, 74));
+ es.push_back(std::make_pair(72, 75));
+ es.push_back(std::make_pair(73, 88));
+ es.push_back(std::make_pair(75, 77));
+ es.push_back(std::make_pair(76, 77));
+ es.push_back(std::make_pair(76, 78));
+ es.push_back(std::make_pair(79, 80));
+ es.push_back(std::make_pair(79, 81));
+ es.push_back(std::make_pair(79, 82));
+ es.push_back(std::make_pair(79, 83));
+ es.push_back(std::make_pair(83, 85));
+ es.push_back(std::make_pair(84, 85));
+ es.push_back(std::make_pair(84, 86));
+ es.push_back(std::make_pair(84, 87));
+ es.push_back(std::make_pair(84, 88));
+ es.push_back(std::make_pair(89, 90));
+ es.push_back(std::make_pair(89, 91));
+
+ eLengths.resize(100);
+ eLengths[0] = 59.6059;
+ eLengths[1] = 59.6059;
+ eLengths[2] = 59.6059;
+ eLengths[3] = 59.6059;
+ eLengths[4] = 63.5296;
+ eLengths[5] = 77.5769;
+ eLengths[6] = 65.8274;
+ eLengths[7] = 65.8274;
+ eLengths[8] = 65.8274;
+ eLengths[9] = 65.8274;
+ eLengths[10] = 65.8274;
+ eLengths[11] = 66.1651;
+ eLengths[12] = 66.1651;
+ eLengths[13] = 66.1651;
+ eLengths[14] = 62.5822;
+ eLengths[15] = 62.5822;
+ eLengths[16] = 74.0984;
+ eLengths[17] = 74.0984;
+ eLengths[18] = 74.0984;
+ eLengths[19] = 74.0984;
+ eLengths[20] = 74.0984;
+ eLengths[21] = 71.111;
+ eLengths[22] = 71.111;
+ eLengths[23] = 80.7601;
+ eLengths[24] = 80.7601;
+ eLengths[25] = 80.7601;
+ eLengths[26] = 80.7601;
+ eLengths[27] = 80.7601;
+ eLengths[28] = 63.0851;
+ eLengths[29] = 63.0851;
+ eLengths[30] = 63.0851;
+ eLengths[31] = 63.0851;
+ eLengths[32] = 115.481;
+ eLengths[33] = 115.481;
+ eLengths[34] = 115.481;
+ eLengths[35] = 115.481;
+ eLengths[36] = 115.481;
+ eLengths[37] = 63.0851;
+ eLengths[38] = 63.0851;
+ eLengths[39] = 57.7745;
+ eLengths[40] = 57.7745;
+ eLengths[41] = 57.7745;
+ eLengths[42] = 55.5618;
+ eLengths[43] = 55.5618;
+ eLengths[44] = 63.5296;
+ eLengths[45] = 74.186;
+ eLengths[46] = 74.186;
+ eLengths[47] = 62.2718;
+ eLengths[48] = 62.2718;
+ eLengths[49] = 62.2718;
+ eLengths[50] = 56.4555;
+ eLengths[51] = 56.4555;
+ eLengths[52] = 56.4555;
+ eLengths[53] = 67.8863;
+ eLengths[54] = 67.8863;
+ eLengths[55] = 67.8863;
+ eLengths[56] = 53.5447;
+ eLengths[57] = 53.5447;
+ eLengths[58] = 61.9596;
+ eLengths[59] = 61.9596;
+ eLengths[60] = 61.9596;
+ eLengths[61] = 61.9596;
+ eLengths[62] = 60.111;
+ eLengths[63] = 60.111;
+ eLengths[64] = 60.111;
+ eLengths[65] = 60.111;
+ eLengths[66] = 66.8471;
+ eLengths[67] = 66.8471;
+ eLengths[68] = 18.3712;
+ eLengths[69] = 18.3712;
+ eLengths[70] = 18.3712;
+ eLengths[71] = 18.3712;
+ eLengths[72] = 10.6066;
+ eLengths[73] = 10.6066;
+ eLengths[74] = 15;
+ eLengths[75] = 15;
+ eLengths[76] = 15;
+ eLengths[77] = 10.6066;
+ eLengths[78] = 10.6066;
+ eLengths[79] = 23.7171;
+ eLengths[80] = 30;
+ eLengths[81] = 23.7171;
+ eLengths[82] = 23.7171;
+ eLengths[83] = 25.9808;
+ eLengths[84] = 21.2132;
+ eLengths[85] = 21.2132;
+ eLengths[86] = 15;
+ eLengths[87] = 21.2132;
+ eLengths[88] = 10.6066;
+ eLengths[89] = 15;
+ eLengths[90] = 15;
+ eLengths[91] = 10.6066;
+ eLengths[92] = 10.6066;
+ eLengths[93] = 15;
+ eLengths[94] = 10.6066;
+ eLengths[95] = 15;
+ eLengths[96] = 15;
+ eLengths[97] = 15;
+ eLengths[98] = 18.3712;
+ eLengths[99] = 15;
+
+ SeparationConstraint *separation479625808 = new SeparationConstraint(vpsc::XDIM, 0, 1, 36.5, true);
+ ccs.push_back(separation479625808);
+
+ SeparationConstraint *separation479626000 = new SeparationConstraint(vpsc::YDIM, 0, 1, -3.25, true);
+ ccs.push_back(separation479626000);
+
+ SeparationConstraint *separation479625936 = new SeparationConstraint(vpsc::XDIM, 0, 2, 36.5, true);
+ ccs.push_back(separation479625936);
+
+ SeparationConstraint *separation479626128 = new SeparationConstraint(vpsc::YDIM, 0, 2, 9, true);
+ ccs.push_back(separation479626128);
+
+ SeparationConstraint *separation479626064 = new SeparationConstraint(vpsc::XDIM, 0, 3, 36.5, true);
+ ccs.push_back(separation479626064);
+
+ SeparationConstraint *separation479626256 = new SeparationConstraint(vpsc::YDIM, 0, 3, 21.25, true);
+ ccs.push_back(separation479626256);
+
+ SeparationConstraint *separation479626192 = new SeparationConstraint(vpsc::XDIM, 0, 4, -36.5, true);
+ ccs.push_back(separation479626192);
+
+ SeparationConstraint *separation479626384 = new SeparationConstraint(vpsc::YDIM, 0, 4, 9, true);
+ ccs.push_back(separation479626384);
+
+ SeparationConstraint *separation479626320 = new SeparationConstraint(vpsc::XDIM, 5, 6, -43, true);
+ ccs.push_back(separation479626320);
+
+ SeparationConstraint *separation479626512 = new SeparationConstraint(vpsc::YDIM, 5, 6, 9, true);
+ ccs.push_back(separation479626512);
+
+ SeparationConstraint *separation479626448 = new SeparationConstraint(vpsc::XDIM, 7, 8, 62.5, true);
+ ccs.push_back(separation479626448);
+
+ SeparationConstraint *separation479626640 = new SeparationConstraint(vpsc::YDIM, 7, 8, 9, true);
+ ccs.push_back(separation479626640);
+
+ SeparationConstraint *separation479626576 = new SeparationConstraint(vpsc::XDIM, 9, 10, 46.5, true);
+ ccs.push_back(separation479626576);
+
+ SeparationConstraint *separation479626768 = new SeparationConstraint(vpsc::YDIM, 9, 10, 9, true);
+ ccs.push_back(separation479626768);
+
+ SeparationConstraint *separation479626704 = new SeparationConstraint(vpsc::XDIM, 9, 11, -11.8333, true);
+ ccs.push_back(separation479626704);
+
+ SeparationConstraint *separation479626896 = new SeparationConstraint(vpsc::YDIM, 9, 11, 50.5, true);
+ ccs.push_back(separation479626896);
+
+ SeparationConstraint *separation479626832 = new SeparationConstraint(vpsc::XDIM, 9, 12, -28.1667, true);
+ ccs.push_back(separation479626832);
+
+ SeparationConstraint *separation479627024 = new SeparationConstraint(vpsc::YDIM, 9, 12, 50.5, true);
+ ccs.push_back(separation479627024);
+
+ SeparationConstraint *separation479626960 = new SeparationConstraint(vpsc::XDIM, 9, 13, -46.5, true);
+ ccs.push_back(separation479626960);
+
+ SeparationConstraint *separation479627152 = new SeparationConstraint(vpsc::YDIM, 9, 13, 17.1667, true);
+ ccs.push_back(separation479627152);
+
+ SeparationConstraint *separation479627088 = new SeparationConstraint(vpsc::XDIM, 9, 14, -46.5, true);
+ ccs.push_back(separation479627088);
+
+ SeparationConstraint *separation479627280 = new SeparationConstraint(vpsc::YDIM, 9, 14, 0.833333, true);
+ ccs.push_back(separation479627280);
+
+ SeparationConstraint *separation479627216 = new SeparationConstraint(vpsc::XDIM, 15, 16, 47, true);
+ ccs.push_back(separation479627216);
+
+ SeparationConstraint *separation479627408 = new SeparationConstraint(vpsc::YDIM, 15, 16, 9, true);
+ ccs.push_back(separation479627408);
+
+ SeparationConstraint *separation479627344 = new SeparationConstraint(vpsc::XDIM, 15, 17, -10.5, true);
+ ccs.push_back(separation479627344);
+
+ SeparationConstraint *separation479627536 = new SeparationConstraint(vpsc::YDIM, 15, 17, 50.5, true);
+ ccs.push_back(separation479627536);
+
+ SeparationConstraint *separation479627472 = new SeparationConstraint(vpsc::XDIM, 15, 18, -47, true);
+ ccs.push_back(separation479627472);
+
+ SeparationConstraint *separation479627664 = new SeparationConstraint(vpsc::YDIM, 15, 18, 9, true);
+ ccs.push_back(separation479627664);
+
+ SeparationConstraint *separation479627600 = new SeparationConstraint(vpsc::XDIM, 19, 20, 41.5, true);
+ ccs.push_back(separation479627600);
+
+ SeparationConstraint *separation479627792 = new SeparationConstraint(vpsc::YDIM, 19, 20, 9, true);
+ ccs.push_back(separation479627792);
+
+ SeparationConstraint *separation479627728 = new SeparationConstraint(vpsc::XDIM, 19, 21, -41.5, true);
+ ccs.push_back(separation479627728);
+
+ SeparationConstraint *separation479627920 = new SeparationConstraint(vpsc::YDIM, 19, 21, 9, true);
+ ccs.push_back(separation479627920);
+
+ SeparationConstraint *separation479627856 = new SeparationConstraint(vpsc::XDIM, 22, 23, 58, true);
+ ccs.push_back(separation479627856);
+
+ SeparationConstraint *separation479628048 = new SeparationConstraint(vpsc::YDIM, 22, 23, 9, true);
+ ccs.push_back(separation479628048);
+
+ SeparationConstraint *separation479627984 = new SeparationConstraint(vpsc::XDIM, 22, 24, -58, true);
+ ccs.push_back(separation479627984);
+
+ SeparationConstraint *separation479628176 = new SeparationConstraint(vpsc::YDIM, 22, 24, 23.7, true);
+ ccs.push_back(separation479628176);
+
+ SeparationConstraint *separation479628112 = new SeparationConstraint(vpsc::XDIM, 22, 25, -58, true);
+ ccs.push_back(separation479628112);
+
+ SeparationConstraint *separation479628304 = new SeparationConstraint(vpsc::YDIM, 22, 25, 13.9, true);
+ ccs.push_back(separation479628304);
+
+ SeparationConstraint *separation479628240 = new SeparationConstraint(vpsc::XDIM, 22, 26, -58, true);
+ ccs.push_back(separation479628240);
+
+ SeparationConstraint *separation479628432 = new SeparationConstraint(vpsc::YDIM, 22, 26, 4.1, true);
+ ccs.push_back(separation479628432);
+
+ SeparationConstraint *separation479628368 = new SeparationConstraint(vpsc::XDIM, 22, 27, -58, true);
+ ccs.push_back(separation479628368);
+
+ SeparationConstraint *separation479628560 = new SeparationConstraint(vpsc::YDIM, 22, 27, -5.7, true);
+ ccs.push_back(separation479628560);
+
+ SeparationConstraint *separation479628496 = new SeparationConstraint(vpsc::XDIM, 28, 29, 54, true);
+ ccs.push_back(separation479628496);
+
+ SeparationConstraint *separation479628688 = new SeparationConstraint(vpsc::YDIM, 28, 29, 9, true);
+ ccs.push_back(separation479628688);
+
+ SeparationConstraint *separation479628624 = new SeparationConstraint(vpsc::XDIM, 28, 30, -54, true);
+ ccs.push_back(separation479628624);
+
+ SeparationConstraint *separation479628816 = new SeparationConstraint(vpsc::YDIM, 28, 30, 9, true);
+ ccs.push_back(separation479628816);
+
+ SeparationConstraint *separation479628752 = new SeparationConstraint(vpsc::XDIM, 31, 32, 66.5, true);
+ ccs.push_back(separation479628752);
+
+ SeparationConstraint *separation479622736 = new SeparationConstraint(vpsc::YDIM, 31, 32, -5.7, true);
+ ccs.push_back(separation479622736);
+
+ SeparationConstraint *separation479622800 = new SeparationConstraint(vpsc::XDIM, 31, 33, 66.5, true);
+ ccs.push_back(separation479622800);
+
+ SeparationConstraint *separation479622864 = new SeparationConstraint(vpsc::YDIM, 31, 33, 4.1, true);
+ ccs.push_back(separation479622864);
+
+ SeparationConstraint *separation479622928 = new SeparationConstraint(vpsc::XDIM, 31, 34, 66.5, true);
+ ccs.push_back(separation479622928);
+
+ SeparationConstraint *separation479622992 = new SeparationConstraint(vpsc::YDIM, 31, 34, 13.9, true);
+ ccs.push_back(separation479622992);
+
+ SeparationConstraint *separation479623056 = new SeparationConstraint(vpsc::XDIM, 31, 35, 66.5, true);
+ ccs.push_back(separation479623056);
+
+ SeparationConstraint *separation479623120 = new SeparationConstraint(vpsc::YDIM, 31, 35, 23.7, true);
+ ccs.push_back(separation479623120);
+
+ SeparationConstraint *separation479623184 = new SeparationConstraint(vpsc::XDIM, 31, 36, -66.5, true);
+ ccs.push_back(separation479623184);
+
+ SeparationConstraint *separation479623248 = new SeparationConstraint(vpsc::YDIM, 31, 36, 9, true);
+ ccs.push_back(separation479623248);
+
+ SeparationConstraint *separation479623312 = new SeparationConstraint(vpsc::XDIM, 37, 38, 39, true);
+ ccs.push_back(separation479623312);
+
+ SeparationConstraint *separation479623440 = new SeparationConstraint(vpsc::YDIM, 37, 38, 9, true);
+ ccs.push_back(separation479623440);
+
+ SeparationConstraint *separation479623504 = new SeparationConstraint(vpsc::XDIM, 37, 39, -39, true);
+ ccs.push_back(separation479623504);
+
+ SeparationConstraint *separation479623568 = new SeparationConstraint(vpsc::YDIM, 37, 39, 9, true);
+ ccs.push_back(separation479623568);
+
+ SeparationConstraint *separation479623632 = new SeparationConstraint(vpsc::XDIM, 40, 41, 39, true);
+ ccs.push_back(separation479623632);
+
+ SeparationConstraint *separation479623696 = new SeparationConstraint(vpsc::YDIM, 40, 41, 9, true);
+ ccs.push_back(separation479623696);
+
+ SeparationConstraint *separation479623760 = new SeparationConstraint(vpsc::XDIM, 40, 42, -39, true);
+ ccs.push_back(separation479623760);
+
+ SeparationConstraint *separation479623888 = new SeparationConstraint(vpsc::YDIM, 40, 42, 9, true);
+ ccs.push_back(separation479623888);
+
+ SeparationConstraint *separation479623952 = new SeparationConstraint(vpsc::XDIM, 43, 44, 103, true);
+ ccs.push_back(separation479623952);
+
+ SeparationConstraint *separation479624016 = new SeparationConstraint(vpsc::YDIM, 43, 44, 9, true);
+ ccs.push_back(separation479624016);
+
+ SeparationConstraint *separation479624080 = new SeparationConstraint(vpsc::XDIM, 43, 45, -103, true);
+ ccs.push_back(separation479624080);
+
+ SeparationConstraint *separation479624144 = new SeparationConstraint(vpsc::YDIM, 43, 45, 27.9, true);
+ ccs.push_back(separation479624144);
+
+ SeparationConstraint *separation479624208 = new SeparationConstraint(vpsc::XDIM, 43, 46, -103, true);
+ ccs.push_back(separation479624208);
+
+ SeparationConstraint *separation479624272 = new SeparationConstraint(vpsc::YDIM, 43, 46, 15.3, true);
+ ccs.push_back(separation479624272);
+
+ SeparationConstraint *separation479624336 = new SeparationConstraint(vpsc::XDIM, 43, 47, -103, true);
+ ccs.push_back(separation479624336);
+
+ SeparationConstraint *separation479624400 = new SeparationConstraint(vpsc::YDIM, 43, 47, 2.7, true);
+ ccs.push_back(separation479624400);
+
+ SeparationConstraint *separation479624528 = new SeparationConstraint(vpsc::XDIM, 43, 48, -103, true);
+ ccs.push_back(separation479624528);
+
+ SeparationConstraint *separation479624592 = new SeparationConstraint(vpsc::YDIM, 43, 48, -9.9, true);
+ ccs.push_back(separation479624592);
+
+ SeparationConstraint *separation479624656 = new SeparationConstraint(vpsc::XDIM, 49, 50, 39, true);
+ ccs.push_back(separation479624656);
+
+ SeparationConstraint *separation479624720 = new SeparationConstraint(vpsc::YDIM, 49, 50, 9, true);
+ ccs.push_back(separation479624720);
+
+ SeparationConstraint *separation479624784 = new SeparationConstraint(vpsc::XDIM, 49, 51, -39, true);
+ ccs.push_back(separation479624784);
+
+ SeparationConstraint *separation479624848 = new SeparationConstraint(vpsc::YDIM, 49, 51, 9, true);
+ ccs.push_back(separation479624848);
+
+ SeparationConstraint *separation479624912 = new SeparationConstraint(vpsc::XDIM, 52, 53, 40, true);
+ ccs.push_back(separation479624912);
+
+ SeparationConstraint *separation479624976 = new SeparationConstraint(vpsc::YDIM, 52, 53, 9, true);
+ ccs.push_back(separation479624976);
+
+ SeparationConstraint *separation479625040 = new SeparationConstraint(vpsc::XDIM, 52, 54, -40, true);
+ ccs.push_back(separation479625040);
+
+ SeparationConstraint *separation479625104 = new SeparationConstraint(vpsc::YDIM, 52, 54, 15.5, true);
+ ccs.push_back(separation479625104);
+
+ SeparationConstraint *separation479625168 = new SeparationConstraint(vpsc::XDIM, 52, 55, -40, true);
+ ccs.push_back(separation479625168);
+
+ SeparationConstraint *separation479625232 = new SeparationConstraint(vpsc::YDIM, 52, 55, 2.5, true);
+ ccs.push_back(separation479625232);
+
+ SeparationConstraint *separation479625296 = new SeparationConstraint(vpsc::XDIM, 56, 57, 36.5, true);
+ ccs.push_back(separation479625296);
+
+ SeparationConstraint *separation479625360 = new SeparationConstraint(vpsc::YDIM, 56, 57, 9, true);
+ ccs.push_back(separation479625360);
+
+ SeparationConstraint *separation479625424 = new SeparationConstraint(vpsc::XDIM, 56, 58, -36.5, true);
+ ccs.push_back(separation479625424);
+
+ SeparationConstraint *separation479625552 = new SeparationConstraint(vpsc::YDIM, 56, 58, 9, true);
+ ccs.push_back(separation479625552);
+
+ SeparationConstraint *separation479625616 = new SeparationConstraint(vpsc::XDIM, 59, 60, -43, true);
+ ccs.push_back(separation479625616);
+
+ SeparationConstraint *separation479625680 = new SeparationConstraint(vpsc::YDIM, 59, 60, 9, true);
+ ccs.push_back(separation479625680);
+
+ SeparationConstraint *separation479625744 = new SeparationConstraint(vpsc::XDIM, 61, 62, 62, true);
+ ccs.push_back(separation479625744);
+
+ SeparationConstraint *separation479625488 = new SeparationConstraint(vpsc::YDIM, 61, 62, 9, true);
+ ccs.push_back(separation479625488);
+
+ SeparationConstraint *separation479624464 = new SeparationConstraint(vpsc::XDIM, 61, 63, -62, true);
+ ccs.push_back(separation479624464);
+
+ SeparationConstraint *separation479623824 = new SeparationConstraint(vpsc::YDIM, 61, 63, 9, true);
+ ccs.push_back(separation479623824);
+
+ SeparationConstraint *separation479623376 = new SeparationConstraint(vpsc::XDIM, 64, 65, 41, true);
+ ccs.push_back(separation479623376);
+
+ SeparationConstraint *separation479628944 = new SeparationConstraint(vpsc::YDIM, 64, 65, 9, true);
+ ccs.push_back(separation479628944);
+
+ SeparationConstraint *separation479628880 = new SeparationConstraint(vpsc::XDIM, 64, 66, -4.5, true);
+ ccs.push_back(separation479628880);
+
+ SeparationConstraint *separation479629008 = new SeparationConstraint(vpsc::YDIM, 64, 66, 50.5, true);
+ ccs.push_back(separation479629008);
+
+ SeparationConstraint *separation479629072 = new SeparationConstraint(vpsc::XDIM, 64, 67, -41, true);
+ ccs.push_back(separation479629072);
+
+ SeparationConstraint *separation479629136 = new SeparationConstraint(vpsc::YDIM, 64, 67, 9, true);
+ ccs.push_back(separation479629136);
+
+ SeparationConstraint *separation479629200 = new SeparationConstraint(vpsc::XDIM, 68, 69, 30.5, true);
+ ccs.push_back(separation479629200);
+
+ SeparationConstraint *separation479629264 = new SeparationConstraint(vpsc::YDIM, 68, 69, 9, true);
+ ccs.push_back(separation479629264);
+
+ SeparationConstraint *separation479629328 = new SeparationConstraint(vpsc::XDIM, 68, 70, -30.5, true);
+ ccs.push_back(separation479629328);
+
+ SeparationConstraint *separation479629392 = new SeparationConstraint(vpsc::YDIM, 68, 70, 17.1667, true);
+ ccs.push_back(separation479629392);
+
+ SeparationConstraint *separation479629456 = new SeparationConstraint(vpsc::XDIM, 68, 71, -30.5, true);
+ ccs.push_back(separation479629456);
+
+ SeparationConstraint *separation479629520 = new SeparationConstraint(vpsc::YDIM, 68, 71, 0.833333, true);
+ ccs.push_back(separation479629520);
+
+ SeparationConstraint *separation479629584 = new SeparationConstraint(vpsc::XDIM, 72, 73, 49.5, true);
+ ccs.push_back(separation479629584);
+
+ SeparationConstraint *separation479629648 = new SeparationConstraint(vpsc::YDIM, 72, 73, 9, true);
+ ccs.push_back(separation479629648);
+
+ SeparationConstraint *separation479629712 = new SeparationConstraint(vpsc::XDIM, 72, 74, -49.5, true);
+ ccs.push_back(separation479629712);
+
+ SeparationConstraint *separation479629776 = new SeparationConstraint(vpsc::YDIM, 72, 74, 17.1667, true);
+ ccs.push_back(separation479629776);
+
+ SeparationConstraint *separation479629840 = new SeparationConstraint(vpsc::XDIM, 72, 75, -49.5, true);
+ ccs.push_back(separation479629840);
+
+ SeparationConstraint *separation479629904 = new SeparationConstraint(vpsc::YDIM, 72, 75, 0.833333, true);
+ ccs.push_back(separation479629904);
+
+ SeparationConstraint *separation479629968 = new SeparationConstraint(vpsc::XDIM, 76, 77, 37, true);
+ ccs.push_back(separation479629968);
+
+ SeparationConstraint *separation479630032 = new SeparationConstraint(vpsc::YDIM, 76, 77, 9, true);
+ ccs.push_back(separation479630032);
+
+ SeparationConstraint *separation479630096 = new SeparationConstraint(vpsc::XDIM, 76, 78, -37, true);
+ ccs.push_back(separation479630096);
+
+ SeparationConstraint *separation479630160 = new SeparationConstraint(vpsc::YDIM, 76, 78, 9, true);
+ ccs.push_back(separation479630160);
+
+ SeparationConstraint *separation479630224 = new SeparationConstraint(vpsc::XDIM, 79, 80, 37, true);
+ ccs.push_back(separation479630224);
+
+ SeparationConstraint *separation479630288 = new SeparationConstraint(vpsc::YDIM, 79, 80, 9, true);
+ ccs.push_back(separation479630288);
+
+ SeparationConstraint *separation479630352 = new SeparationConstraint(vpsc::XDIM, 79, 81, -0.333334, true);
+ ccs.push_back(separation479630352);
+
+ SeparationConstraint *separation479630416 = new SeparationConstraint(vpsc::YDIM, 79, 81, 53, true);
+ ccs.push_back(separation479630416);
+
+ SeparationConstraint *separation477486176 = new SeparationConstraint(vpsc::XDIM, 79, 82, -17.6667, true);
+ ccs.push_back(separation477486176);
+
+ SeparationConstraint *separation477486240 = new SeparationConstraint(vpsc::YDIM, 79, 82, 53, true);
+ ccs.push_back(separation477486240);
+
+ SeparationConstraint *separation477486304 = new SeparationConstraint(vpsc::XDIM, 79, 83, -37, true);
+ ccs.push_back(separation477486304);
+
+ SeparationConstraint *separation477486368 = new SeparationConstraint(vpsc::YDIM, 79, 83, 9, true);
+ ccs.push_back(separation477486368);
+
+ SeparationConstraint *separation477486432 = new SeparationConstraint(vpsc::XDIM, 84, 85, 33.5, true);
+ ccs.push_back(separation477486432);
+
+ SeparationConstraint *separation477486496 = new SeparationConstraint(vpsc::YDIM, 84, 85, 9, true);
+ ccs.push_back(separation477486496);
+
+ SeparationConstraint *separation477486560 = new SeparationConstraint(vpsc::XDIM, 84, 86, 3.16667, true);
+ ccs.push_back(separation477486560);
+
+ SeparationConstraint *separation477486624 = new SeparationConstraint(vpsc::YDIM, 84, 86, 53, true);
+ ccs.push_back(separation477486624);
+
+ SeparationConstraint *separation477486688 = new SeparationConstraint(vpsc::XDIM, 84, 87, -14.1667, true);
+ ccs.push_back(separation477486688);
+
+ SeparationConstraint *separation477486752 = new SeparationConstraint(vpsc::YDIM, 84, 87, 53, true);
+ ccs.push_back(separation477486752);
+
+ SeparationConstraint *separation477486816 = new SeparationConstraint(vpsc::XDIM, 84, 88, -33.5, true);
+ ccs.push_back(separation477486816);
+
+ SeparationConstraint *separation477486880 = new SeparationConstraint(vpsc::YDIM, 84, 88, 9, true);
+ ccs.push_back(separation477486880);
+
+ SeparationConstraint *separation477486944 = new SeparationConstraint(vpsc::XDIM, 89, 90, 48, true);
+ ccs.push_back(separation477486944);
+
+ SeparationConstraint *separation477487008 = new SeparationConstraint(vpsc::YDIM, 89, 90, 9, true);
+ ccs.push_back(separation477487008);
+
+ SeparationConstraint *separation477487072 = new SeparationConstraint(vpsc::XDIM, 89, 91, -48, true);
+ ccs.push_back(separation477487072);
+
+ SeparationConstraint *separation477487136 = new SeparationConstraint(vpsc::YDIM, 89, 91, 9, true);
+ ccs.push_back(separation477487136);
+
+ SeparationConstraint *separation477487200 = new SeparationConstraint(vpsc::XDIM, 7, 0, 137, false);
+ ccs.push_back(separation477487200);
+
+ SeparationConstraint *separation477487264 = new SeparationConstraint(vpsc::XDIM, 0, 5, 118.5, false);
+ ccs.push_back(separation477487264);
+
+ SeparationConstraint *separation477487328 = new SeparationConstraint(vpsc::XDIM, 79, 5, 118, false);
+ ccs.push_back(separation477487328);
+
+ SeparationConstraint *separation477487392 = new SeparationConstraint(vpsc::XDIM, 9, 15, 146.5, false);
+ ccs.push_back(separation477487392);
+
+ SeparationConstraint *separation477487456 = new SeparationConstraint(vpsc::XDIM, 28, 15, 139, false);
+ ccs.push_back(separation477487456);
+
+ SeparationConstraint *separation477487520 = new SeparationConstraint(vpsc::XDIM, 0, 22, 142.5, false);
+ ccs.push_back(separation477487520);
+
+ SeparationConstraint *separation477487584 = new SeparationConstraint(vpsc::XDIM, 0, 22, 142.5, false);
+ ccs.push_back(separation477487584);
+
+ SeparationConstraint *separation477487648 = new SeparationConstraint(vpsc::XDIM, 0, 22, 142.5, false);
+ ccs.push_back(separation477487648);
+
+ SeparationConstraint *separation477487712 = new SeparationConstraint(vpsc::XDIM, 19, 22, 137.5, false);
+ ccs.push_back(separation477487712);
+
+ SeparationConstraint *separation477487776 = new SeparationConstraint(vpsc::XDIM, 22, 28, 150, false);
+ ccs.push_back(separation477487776);
+
+ SeparationConstraint *separation477487840 = new SeparationConstraint(vpsc::XDIM, 15, 31, 151.5, false);
+ ccs.push_back(separation477487840);
+
+ SeparationConstraint *separation477487904 = new SeparationConstraint(vpsc::XDIM, 31, 37, 143.5, false);
+ ccs.push_back(separation477487904);
+
+ SeparationConstraint *separation477487968 = new SeparationConstraint(vpsc::XDIM, 31, 40, 143.5, false);
+ ccs.push_back(separation477487968);
+
+ SeparationConstraint *separation477488032 = new SeparationConstraint(vpsc::XDIM, 31, 43, 207.5, false);
+ ccs.push_back(separation477488032);
+
+ SeparationConstraint *separation477488096 = new SeparationConstraint(vpsc::XDIM, 37, 43, 235, false);
+ ccs.push_back(separation477488096);
+
+ SeparationConstraint *separation477488160 = new SeparationConstraint(vpsc::XDIM, 40, 43, 235, false);
+ ccs.push_back(separation477488160);
+
+ SeparationConstraint *separation477488224 = new SeparationConstraint(vpsc::XDIM, 49, 43, 235, false);
+ ccs.push_back(separation477488224);
+
+ SeparationConstraint *separation477488288 = new SeparationConstraint(vpsc::XDIM, 31, 49, 143.5, false);
+ ccs.push_back(separation477488288);
+
+ SeparationConstraint *separation477488352 = new SeparationConstraint(vpsc::XDIM, 31, 52, 217.5, false);
+ ccs.push_back(separation477488352);
+
+ SeparationConstraint *separation477488416 = new SeparationConstraint(vpsc::XDIM, 43, 52, 181, false);
+ ccs.push_back(separation477488416);
+
+ SeparationConstraint *separation477488480 = new SeparationConstraint(vpsc::XDIM, 52, 56, 114.5, false);
+ ccs.push_back(separation477488480);
+
+ SeparationConstraint *separation477488544 = new SeparationConstraint(vpsc::XDIM, 61, 59, 143, false);
+ ccs.push_back(separation477488544);
+
+ SeparationConstraint *separation477488608 = new SeparationConstraint(vpsc::XDIM, 56, 61, 136.5, false);
+ ccs.push_back(separation477488608);
+
+ SeparationConstraint *separation477488672 = new SeparationConstraint(vpsc::XDIM, 15, 64, 126, false);
+ ccs.push_back(separation477488672);
+
+ SeparationConstraint *separation477488736 = new SeparationConstraint(vpsc::XDIM, 56, 64, 136.5, false);
+ ccs.push_back(separation477488736);
+
+ SeparationConstraint *separation477488800 = new SeparationConstraint(vpsc::XDIM, 89, 68, 116.5, false);
+ ccs.push_back(separation477488800);
+
+ SeparationConstraint *separation477488864 = new SeparationConstraint(vpsc::XDIM, 68, 72, 131, false);
+ ccs.push_back(separation477488864);
+
+ SeparationConstraint *separation477488928 = new SeparationConstraint(vpsc::XDIM, 76, 72, 124.5, false);
+ ccs.push_back(separation477488928);
+
+ SeparationConstraint *separation477488992 = new SeparationConstraint(vpsc::XDIM, 84, 79, 108.5, false);
+ ccs.push_back(separation477488992);
+
+ SeparationConstraint *separation477489056 = new SeparationConstraint(vpsc::XDIM, 72, 84, 121, false);
+ ccs.push_back(separation477489056);
+
+ SeparationConstraint *separation477489120 = new SeparationConstraint(vpsc::XDIM, 64, 89, 127, false);
+ ccs.push_back(separation477489120);
+
+ cola::Box margin = cola::Box(10, 30, 30, 60); //30
+ cola::Box padding = cola::Box(); // cola::Box(10, 30, 30, 60); //10
+ ConstrainedFDLayout alg(rs, es, defaultEdgeLength, eLengths);
+ RootCluster *cluster476902600 = new RootCluster();
+ cluster476902600->addChildNode(0);
+ cluster476902600->addChildNode(1);
+ cluster476902600->addChildNode(2);
+ cluster476902600->addChildNode(3);
+ cluster476902600->addChildNode(4);
+ cluster476902600->addChildNode(5);
+ cluster476902600->addChildNode(6);
+ cluster476902600->addChildNode(7);
+ cluster476902600->addChildNode(8);
+ cluster476902600->addChildNode(9);
+ cluster476902600->addChildNode(10);
+ cluster476902600->addChildNode(11);
+ cluster476902600->addChildNode(12);
+ cluster476902600->addChildNode(13);
+ cluster476902600->addChildNode(14);
+ cluster476902600->addChildNode(15);
+ cluster476902600->addChildNode(16);
+ cluster476902600->addChildNode(17);
+ cluster476902600->addChildNode(18);
+ cluster476902600->addChildNode(19);
+ cluster476902600->addChildNode(20);
+ cluster476902600->addChildNode(21);
+ cluster476902600->addChildNode(22);
+ cluster476902600->addChildNode(23);
+ cluster476902600->addChildNode(24);
+ cluster476902600->addChildNode(25);
+ cluster476902600->addChildNode(26);
+ cluster476902600->addChildNode(27);
+ cluster476902600->addChildNode(28);
+ cluster476902600->addChildNode(29);
+ cluster476902600->addChildNode(30);
+ RectangularCluster *cluster417213744 = new RectangularCluster();
+ cluster417213744->setMargin(margin);
+ cluster417213744->setPadding(padding);
+ cluster417213744->addChildNode(59);
+ cluster417213744->addChildNode(60);
+ cluster417213744->addChildNode(61);
+ cluster417213744->addChildNode(62);
+ cluster417213744->addChildNode(63);
+ cluster417213744->addChildNode(64);
+ cluster417213744->addChildNode(65);
+ cluster417213744->addChildNode(66);
+ cluster417213744->addChildNode(67);
+ cluster417213744->addChildNode(89);
+ cluster417213744->addChildNode(90);
+ cluster417213744->addChildNode(91);
+ RectangularCluster *cluster417215984 = new RectangularCluster();
+ cluster417215984->setMargin(margin);
+ cluster417215984->setPadding(padding);
+ cluster417215984->addChildNode(31);
+ cluster417215984->addChildNode(32);
+ cluster417215984->addChildNode(33);
+ cluster417215984->addChildNode(34);
+ cluster417215984->addChildNode(35);
+ cluster417215984->addChildNode(36);
+ cluster417215984->addChildNode(37);
+ cluster417215984->addChildNode(38);
+ cluster417215984->addChildNode(39);
+ cluster417215984->addChildNode(40);
+ cluster417215984->addChildNode(41);
+ cluster417215984->addChildNode(42);
+ cluster417215984->addChildNode(43);
+ cluster417215984->addChildNode(44);
+ cluster417215984->addChildNode(45);
+ cluster417215984->addChildNode(46);
+ cluster417215984->addChildNode(47);
+ cluster417215984->addChildNode(48);
+ cluster417215984->addChildNode(49);
+ cluster417215984->addChildNode(50);
+ cluster417215984->addChildNode(51);
+ cluster417215984->addChildNode(52);
+ cluster417215984->addChildNode(53);
+ cluster417215984->addChildNode(54);
+ cluster417215984->addChildNode(55);
+ cluster417215984->addChildNode(56);
+ cluster417215984->addChildNode(57);
+ cluster417215984->addChildNode(58);
+ cluster417213744->addChildCluster(cluster417215984);
+ RectangularCluster *cluster417215760 = new RectangularCluster();
+ cluster417215760->setMargin(margin);
+ cluster417215760->setPadding(padding);
+ cluster417215760->addChildNode(68);
+ cluster417215760->addChildNode(69);
+ cluster417215760->addChildNode(70);
+ cluster417215760->addChildNode(71);
+ cluster417215760->addChildNode(72);
+ cluster417215760->addChildNode(73);
+ cluster417215760->addChildNode(74);
+ cluster417215760->addChildNode(75);
+ cluster417215760->addChildNode(76);
+ cluster417215760->addChildNode(77);
+ cluster417215760->addChildNode(78);
+ cluster417215760->addChildNode(79);
+ cluster417215760->addChildNode(80);
+ cluster417215760->addChildNode(81);
+ cluster417215760->addChildNode(82);
+ cluster417215760->addChildNode(83);
+ cluster417215760->addChildNode(84);
+ cluster417215760->addChildNode(85);
+ cluster417215760->addChildNode(86);
+ cluster417215760->addChildNode(87);
+ cluster417215760->addChildNode(88);
+ cluster417213744->addChildCluster(cluster417215760);
+ cluster476902600->addChildCluster(cluster417213744);
+ alg.setClusterHierarchy(cluster476902600);
+ alg.setConstraints(ccs);
+
+ UnsatisfiableConstraintInfos unsatisfiableX, unsatisfiableY;
+ alg.setUnsatisfiableConstraintInfo(&unsatisfiableX, &unsatisfiableY);
+
+ // rect-43 and associated port rects.
+ cola::NodeIndexes nonOverlapExemptGroup;
+ nonOverlapExemptGroup.push_back(44);
+ nonOverlapExemptGroup.push_back(45);
+ nonOverlapExemptGroup.push_back(46);
+ nonOverlapExemptGroup.push_back(47);
+ nonOverlapExemptGroup.push_back(48);
+ nonOverlapExemptGroup.push_back(43);
+
+ std::vector<cola::NodeIndexes> nonOverlapExemptGroupList;
+ nonOverlapExemptGroupList.push_back(nonOverlapExemptGroup);
+ alg.setAvoidNodeOverlaps(true, nonOverlapExemptGroupList);
+
+ //alg.makeFeasible();
+ alg.run();
+ alg.outputInstanceToSVG("rectangularClusters01");
+
+ for (size_t i = 0; i < unsatisfiableX.size(); ++i)
+ {
+ printf("%s\n", unsatisfiableX[i]->toString().c_str());
+ }
+ for (size_t i = 0; i < unsatisfiableY.size(); ++i)
+ {
+ printf("%s\n", unsatisfiableY[i]->toString().c_str());
+ }
+ alg.freeAssociatedObjects();
+ return (unsatisfiableX.empty() && unsatisfiableY.empty()) ? 0 : 1;
+};
diff --git a/src/3rdparty/adaptagrams/libcola/tests/rectclustershapecontainment.cpp b/src/3rdparty/adaptagrams/libcola/tests/rectclustershapecontainment.cpp
new file mode 100644
index 0000000..3c3d704
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/rectclustershapecontainment.cpp
@@ -0,0 +1,2173 @@
+#include <vector>
+#include "libcola/cola.h"
+using namespace cola;
+int main(void) {
+ CompoundConstraints ccs;
+ std::vector<Edge> es;
+ double defaultEdgeLength=40;
+ std::vector<vpsc::Rectangle*> rs;
+ vpsc::Rectangle *rect = nullptr;
+
+ rect = new vpsc::Rectangle(478, 488, 399, 409);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(284, 294, 938, 948);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(141, 151, 906, 916);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(284, 294, 959, 969);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(131, 161, 938, 968);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(550, 762, 155.5, 522.5);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(430, 540, -6, 158);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(373, 383, 907, 917);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(482, 492, 938, 948);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(434, 444, 938, 948);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(426, 436, 869, 879);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(426, 436, 848, 858);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(314, 324, 860, 870);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(205, 215, 860, 870);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(553, 563, 859, 869);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(345, 423, 746, 780);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(478, 488, 765, 775);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(-34.5, 162.5, 723, 877);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(478, 488, 696, 706);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(478, 488, 624, 634);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(453, 463, 479, 489);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(154.5, 457.5, 574, 624);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(398, 408, 445, 455);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(453, 463, 331, 341);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(403, 413, 331, 341);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(547, 557, 191, 201);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(478, 488, 260, 270);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(478, 488, 168, 178);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(380, 390, 297, 307);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(228, 238, 286, 296);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(228, 238, 307, 317);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(352, 362, 259, 269);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(302, 312, 259, 269);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(176, 186, 259, 269);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(228, 238, 234, 244);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(228, 238, 213, 223);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(311, 321, 181, 191);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(338, 348, 149, 159);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(338, 348, 128, 138);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(40.5, 291.5, 45.5, 70.5);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(257, 267, 903, 913);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(478, 488, 551, 561);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(276, 286, 213, 223);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(276, 286, 286, 296);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(176, 186, 355, 365);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(176, 186, 381, 391);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(286, 296, 354, 364);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(286, 296, 380, 390);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(586, 616, 180, 210);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(468, 498, 128, 158);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(468, 498, 649, 679);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(166, 196, 213, 243);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(166, 196, 286, 316);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(317, 347, 433, 463);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(317, 347, 286, 316);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(468, 498, 215, 245);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(468, 498, 288, 318);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(468, 498, 721, 751);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(468, 498, 577, 607);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(468, 498, 505, 535);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(612, 642, 848, 878);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(299, 329, 891, 921);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(535, 565, 938, 968);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(468, 498, 848, 878);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(363, 393, 848, 878);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(131, 161, 848, 878);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(363, 393, 938, 968);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(250, 280, 848, 878);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(197, 227, 891, 921);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(468, 498, 358, 388);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(117, 147, 344, 374);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(224, 254, 344, 374);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(224, 254, 370, 400);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(117, 147, 370, 400);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(363, 393, 805, 835);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(181, 227, 711, 741);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(131, 161, 721, 751);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(434, 444, 959, 969);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(199, 209, 742, 752);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(482, 492, 959, 969);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(565.5, 692.5, 842.5, 997.5);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(503, 513, 479, 489);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(577, 587, 520, 530);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(550, 560, 539, 549);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(284, 294, 790, 800);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(527, 537, 520, 530);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(383, 413, 541, 571);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(432, 442, 581, 591);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(433, 443, 517, 527);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(468, 498, 433, 463);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(91, 101, 906, 916);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(503, 513, 331, 341);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(276, 286, 234, 244);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(276, 286, 307, 317);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(522, 568, 389, 419);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(266, 312, 878, 908);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(185, 231, 896, 926);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(266, 312, 899, 929);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(417, 463, 897, 927);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(464, 510, 878, 908);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(416, 462, 878, 908);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(470, 516, 859, 889);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(470, 516, 838, 868);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(358, 404, 850, 880);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(187, 233, 800, 830);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(535, 581, 799, 829);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(522, 568, 755, 785);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(522, 568, 686, 716);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(522, 568, 614, 644);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(497, 543, 469, 499);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(380, 426, 385, 415);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(497, 543, 321, 351);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(385, 431, 271, 301);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(529, 575, 131, 161);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(522, 568, 250, 280);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(522, 568, 158, 188);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(362, 408, 237, 267);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(210, 256, 226, 256);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(210, 256, 247, 277);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(396, 442, 249, 279);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(346, 392, 249, 279);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(220, 266, 249, 279);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(210, 256, 174, 204);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(210, 256, 153, 183);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(293, 339, 121, 151);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(320, 366, 89, 119);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(320, 366, 68, 98);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(239, 285, 843, 873);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(522, 568, 541, 571);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(258, 304, 153, 183);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(258, 304, 226, 256);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(158, 204, 295, 325);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(158, 204, 321, 351);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(268, 314, 294, 324);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(268, 314, 320, 350);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(416, 462, 899, 929);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(181, 227, 682, 712);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(464, 510, 899, 929);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(547, 593, 469, 499);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(559, 605, 460, 490);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(532, 578, 479, 509);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(266, 312, 730, 760);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(571, 617, 510, 540);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(414, 460, 521, 551);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(415, 461, 457, 487);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(73, 119, 846, 876);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(547, 593, 321, 351);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(258, 304, 174, 204);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(258, 304, 247, 277);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(550.5, 600.5, 304.5, 334.5);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(550.5, 600.5, 344.5, 374.5);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(621.5, 651.5, 473, 523);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(661.5, 691.5, 473, 523);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(470.5, 500.5, 108.5, 158.5);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(113, 163, 765.5, 795.5);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(113, 163, 805.5, 835.5);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(408, 458, 584.5, 614.5);
+ rs.push_back(rect);
+
+ rect = new vpsc::Rectangle(614.5, 644.5, 843, 893);
+ rs.push_back(rect);
+
+ AlignmentConstraint *alignment140664475503328 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475503328->addShape(0, 0);
+ alignment140664475503328->addShape(16, 0);
+ alignment140664475503328->addShape(18, 0);
+ alignment140664475503328->addShape(19, 0);
+ alignment140664475503328->addShape(26, 0);
+ alignment140664475503328->addShape(27, 0);
+ alignment140664475503328->addShape(41, 0);
+ alignment140664475503328->addShape(49, 0);
+ alignment140664475503328->addShape(50, 0);
+ alignment140664475503328->addShape(55, 0);
+ alignment140664475503328->addShape(56, 0);
+ alignment140664475503328->addShape(57, 0);
+ alignment140664475503328->addShape(58, 0);
+ alignment140664475503328->addShape(59, 0);
+ alignment140664475503328->addShape(63, 0);
+ alignment140664475503328->addShape(69, 0);
+ alignment140664475503328->addShape(89, 0);
+ ccs.push_back(alignment140664475503328);
+
+ AlignmentConstraint *alignment140664481097440 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664481097440->addShape(1, 0);
+ alignment140664481097440->addShape(3, 0);
+ alignment140664481097440->addShape(46, 0);
+ alignment140664481097440->addShape(47, 0);
+ alignment140664481097440->addShape(84, 0);
+ ccs.push_back(alignment140664481097440);
+
+ AlignmentConstraint *alignment140664483416688 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664483416688->addShape(2, 0);
+ alignment140664483416688->addShape(4, 0);
+ alignment140664483416688->addShape(65, 0);
+ alignment140664483416688->addShape(76, 0);
+ ccs.push_back(alignment140664483416688);
+
+ AlignmentConstraint *alignment140664481096784 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664481096784->addShape(3, 0);
+ alignment140664481096784->addShape(46, 0);
+ alignment140664481096784->addShape(47, 0);
+ alignment140664481096784->addShape(84, 0);
+ ccs.push_back(alignment140664481096784);
+
+ AlignmentConstraint *alignment140664475503952 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475503952->addShape(4, 0);
+ alignment140664475503952->addShape(65, 0);
+ alignment140664475503952->addShape(76, 0);
+ ccs.push_back(alignment140664475503952);
+
+ AlignmentConstraint *alignment140664475504304 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475504304->addShape(7, 0);
+ alignment140664475504304->addShape(64, 0);
+ alignment140664475504304->addShape(66, 0);
+ alignment140664475504304->addShape(74, 0);
+ ccs.push_back(alignment140664475504304);
+
+ AlignmentConstraint *alignment140664475504496 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475504496->addShape(8, 0);
+ alignment140664475504496->addShape(79, 0);
+ ccs.push_back(alignment140664475504496);
+
+ AlignmentConstraint *alignment140664475504720 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475504720->addShape(9, 0);
+ alignment140664475504720->addShape(77, 0);
+ alignment140664475504720->addShape(87, 0);
+ alignment140664475504720->addShape(88, 0);
+ ccs.push_back(alignment140664475504720);
+
+ AlignmentConstraint *alignment140664483418000 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664483418000->addShape(10, 0);
+ alignment140664483418000->addShape(11, 0);
+ ccs.push_back(alignment140664483418000);
+
+ AlignmentConstraint *alignment140664483418368 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664483418368->addShape(11, 0);
+ ccs.push_back(alignment140664483418368);
+
+ AlignmentConstraint *alignment140664483418496 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664483418496->addShape(12, 0);
+ ccs.push_back(alignment140664483418496);
+
+ AlignmentConstraint *alignment140664483418656 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664483418656->addShape(13, 0);
+ alignment140664483418656->addShape(68, 0);
+ ccs.push_back(alignment140664483418656);
+
+ AlignmentConstraint *alignment140664483418880 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664483418880->addShape(14, 0);
+ ccs.push_back(alignment140664483418880);
+
+ AlignmentConstraint *alignment140664483419008 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664483419008->addShape(16, 0);
+ alignment140664483419008->addShape(18, 0);
+ alignment140664483419008->addShape(19, 0);
+ alignment140664483419008->addShape(26, 0);
+ alignment140664483419008->addShape(27, 0);
+ alignment140664483419008->addShape(41, 0);
+ alignment140664483419008->addShape(49, 0);
+ alignment140664483419008->addShape(50, 0);
+ alignment140664483419008->addShape(55, 0);
+ alignment140664483419008->addShape(56, 0);
+ alignment140664483419008->addShape(57, 0);
+ alignment140664483419008->addShape(58, 0);
+ alignment140664483419008->addShape(59, 0);
+ alignment140664483419008->addShape(63, 0);
+ alignment140664483419008->addShape(69, 0);
+ alignment140664483419008->addShape(89, 0);
+ ccs.push_back(alignment140664483419008);
+
+ AlignmentConstraint *alignment140664476991552 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664476991552->addShape(18, 0);
+ alignment140664476991552->addShape(19, 0);
+ alignment140664476991552->addShape(26, 0);
+ alignment140664476991552->addShape(27, 0);
+ alignment140664476991552->addShape(41, 0);
+ alignment140664476991552->addShape(49, 0);
+ alignment140664476991552->addShape(50, 0);
+ alignment140664476991552->addShape(55, 0);
+ alignment140664476991552->addShape(56, 0);
+ alignment140664476991552->addShape(57, 0);
+ alignment140664476991552->addShape(58, 0);
+ alignment140664476991552->addShape(59, 0);
+ alignment140664476991552->addShape(63, 0);
+ alignment140664476991552->addShape(69, 0);
+ alignment140664476991552->addShape(89, 0);
+ ccs.push_back(alignment140664476991552);
+
+ AlignmentConstraint *alignment140664476992272 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664476992272->addShape(19, 0);
+ alignment140664476992272->addShape(26, 0);
+ alignment140664476992272->addShape(27, 0);
+ alignment140664476992272->addShape(41, 0);
+ alignment140664476992272->addShape(49, 0);
+ alignment140664476992272->addShape(50, 0);
+ alignment140664476992272->addShape(55, 0);
+ alignment140664476992272->addShape(56, 0);
+ alignment140664476992272->addShape(57, 0);
+ alignment140664476992272->addShape(58, 0);
+ alignment140664476992272->addShape(59, 0);
+ alignment140664476992272->addShape(63, 0);
+ alignment140664476992272->addShape(69, 0);
+ alignment140664476992272->addShape(89, 0);
+ ccs.push_back(alignment140664476992272);
+
+ AlignmentConstraint *alignment140664476992960 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664476992960->addShape(20, 0);
+ alignment140664476992960->addShape(23, 0);
+ ccs.push_back(alignment140664476992960);
+
+ AlignmentConstraint *alignment140664476993456 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664476993456->addShape(22, 0);
+ ccs.push_back(alignment140664476993456);
+
+ AlignmentConstraint *alignment140664476993584 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664476993584->addShape(23, 0);
+ ccs.push_back(alignment140664476993584);
+
+ AlignmentConstraint *alignment140664476993744 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664476993744->addShape(24, 0);
+ ccs.push_back(alignment140664476993744);
+
+ AlignmentConstraint *alignment140664476993904 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664476993904->addShape(25, 0);
+ alignment140664476993904->addShape(62, 0);
+ ccs.push_back(alignment140664476993904);
+
+ AlignmentConstraint *alignment140664476994128 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664476994128->addShape(26, 0);
+ alignment140664476994128->addShape(27, 0);
+ alignment140664476994128->addShape(41, 0);
+ alignment140664476994128->addShape(49, 0);
+ alignment140664476994128->addShape(50, 0);
+ alignment140664476994128->addShape(55, 0);
+ alignment140664476994128->addShape(56, 0);
+ alignment140664476994128->addShape(57, 0);
+ alignment140664476994128->addShape(58, 0);
+ alignment140664476994128->addShape(59, 0);
+ alignment140664476994128->addShape(63, 0);
+ alignment140664476994128->addShape(69, 0);
+ alignment140664476994128->addShape(89, 0);
+ ccs.push_back(alignment140664476994128);
+
+ AlignmentConstraint *alignment140664476994608 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664476994608->addShape(27, 0);
+ alignment140664476994608->addShape(41, 0);
+ alignment140664476994608->addShape(49, 0);
+ alignment140664476994608->addShape(50, 0);
+ alignment140664476994608->addShape(55, 0);
+ alignment140664476994608->addShape(56, 0);
+ alignment140664476994608->addShape(57, 0);
+ alignment140664476994608->addShape(58, 0);
+ alignment140664476994608->addShape(59, 0);
+ alignment140664476994608->addShape(63, 0);
+ alignment140664476994608->addShape(69, 0);
+ alignment140664476994608->addShape(89, 0);
+ ccs.push_back(alignment140664476994608);
+
+ AlignmentConstraint *alignment140664476995232 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664476995232->addShape(28, 0);
+ ccs.push_back(alignment140664476995232);
+
+ AlignmentConstraint *alignment140664476995392 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664476995392->addShape(29, 0);
+ alignment140664476995392->addShape(30, 0);
+ alignment140664476995392->addShape(34, 0);
+ alignment140664476995392->addShape(35, 0);
+ ccs.push_back(alignment140664476995392);
+
+ AlignmentConstraint *alignment140664476995616 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664476995616->addShape(30, 0);
+ alignment140664476995616->addShape(34, 0);
+ alignment140664476995616->addShape(35, 0);
+ ccs.push_back(alignment140664476995616);
+
+ AlignmentConstraint *alignment140664476995888 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664476995888->addShape(31, 0);
+ ccs.push_back(alignment140664476995888);
+
+ AlignmentConstraint *alignment140664476996016 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664476996016->addShape(32, 0);
+ ccs.push_back(alignment140664476996016);
+
+ AlignmentConstraint *alignment140664476996176 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664476996176->addShape(33, 0);
+ alignment140664476996176->addShape(44, 0);
+ alignment140664476996176->addShape(45, 0);
+ alignment140664476996176->addShape(51, 0);
+ alignment140664476996176->addShape(52, 0);
+ ccs.push_back(alignment140664476996176);
+
+ AlignmentConstraint *alignment140664476996480 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664476996480->addShape(34, 0);
+ alignment140664476996480->addShape(35, 0);
+ ccs.push_back(alignment140664476996480);
+
+ AlignmentConstraint *alignment140664476996704 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664476996704->addShape(35, 0);
+ ccs.push_back(alignment140664476996704);
+
+ AlignmentConstraint *alignment140664476996832 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664476996832->addShape(36, 0);
+ alignment140664476996832->addShape(61, 0);
+ ccs.push_back(alignment140664476996832);
+
+ AlignmentConstraint *alignment140664476997056 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664476997056->addShape(37, 0);
+ alignment140664476997056->addShape(38, 0);
+ ccs.push_back(alignment140664476997056);
+
+ AlignmentConstraint *alignment140664476993184 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664476993184->addShape(38, 0);
+ ccs.push_back(alignment140664476993184);
+
+ AlignmentConstraint *alignment140664476993312 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664476993312->addShape(40, 0);
+ ccs.push_back(alignment140664476993312);
+
+ AlignmentConstraint *alignment140664476997808 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664476997808->addShape(41, 0);
+ alignment140664476997808->addShape(49, 0);
+ alignment140664476997808->addShape(50, 0);
+ alignment140664476997808->addShape(55, 0);
+ alignment140664476997808->addShape(56, 0);
+ alignment140664476997808->addShape(57, 0);
+ alignment140664476997808->addShape(58, 0);
+ alignment140664476997808->addShape(59, 0);
+ alignment140664476997808->addShape(63, 0);
+ alignment140664476997808->addShape(69, 0);
+ alignment140664476997808->addShape(89, 0);
+ ccs.push_back(alignment140664476997808);
+
+ AlignmentConstraint *alignment140664476998480 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664476998480->addShape(42, 0);
+ alignment140664476998480->addShape(43, 0);
+ alignment140664476998480->addShape(92, 0);
+ alignment140664476998480->addShape(93, 0);
+ ccs.push_back(alignment140664476998480);
+
+ AlignmentConstraint *alignment140664476998704 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664476998704->addShape(43, 0);
+ alignment140664476998704->addShape(92, 0);
+ alignment140664476998704->addShape(93, 0);
+ ccs.push_back(alignment140664476998704);
+
+ AlignmentConstraint *alignment140664476998976 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664476998976->addShape(44, 0);
+ alignment140664476998976->addShape(45, 0);
+ alignment140664476998976->addShape(51, 0);
+ alignment140664476998976->addShape(52, 0);
+ ccs.push_back(alignment140664476998976);
+
+ AlignmentConstraint *alignment140664476999216 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664476999216->addShape(45, 0);
+ alignment140664476999216->addShape(51, 0);
+ alignment140664476999216->addShape(52, 0);
+ ccs.push_back(alignment140664476999216);
+
+ AlignmentConstraint *alignment140664476999488 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664476999488->addShape(46, 0);
+ alignment140664476999488->addShape(47, 0);
+ alignment140664476999488->addShape(84, 0);
+ ccs.push_back(alignment140664476999488);
+
+ AlignmentConstraint *alignment140664476999728 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664476999728->addShape(47, 0);
+ alignment140664476999728->addShape(84, 0);
+ ccs.push_back(alignment140664476999728);
+
+ AlignmentConstraint *alignment140664476999920 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664476999920->addShape(48, 0);
+ ccs.push_back(alignment140664476999920);
+
+ AlignmentConstraint *alignment140664477000048 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664477000048->addShape(49, 0);
+ alignment140664477000048->addShape(50, 0);
+ alignment140664477000048->addShape(55, 0);
+ alignment140664477000048->addShape(56, 0);
+ alignment140664477000048->addShape(57, 0);
+ alignment140664477000048->addShape(58, 0);
+ alignment140664477000048->addShape(59, 0);
+ alignment140664477000048->addShape(63, 0);
+ alignment140664477000048->addShape(69, 0);
+ alignment140664477000048->addShape(89, 0);
+ ccs.push_back(alignment140664477000048);
+
+ AlignmentConstraint *alignment140664477000656 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664477000656->addShape(50, 0);
+ alignment140664477000656->addShape(55, 0);
+ alignment140664477000656->addShape(56, 0);
+ alignment140664477000656->addShape(57, 0);
+ alignment140664477000656->addShape(58, 0);
+ alignment140664477000656->addShape(59, 0);
+ alignment140664477000656->addShape(63, 0);
+ alignment140664477000656->addShape(69, 0);
+ alignment140664477000656->addShape(89, 0);
+ ccs.push_back(alignment140664477000656);
+
+ AlignmentConstraint *alignment140664477001184 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664477001184->addShape(51, 0);
+ alignment140664477001184->addShape(52, 0);
+ ccs.push_back(alignment140664477001184);
+
+ AlignmentConstraint *alignment140664477001408 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664477001408->addShape(52, 0);
+ ccs.push_back(alignment140664477001408);
+
+ AlignmentConstraint *alignment140664477001536 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664477001536->addShape(53, 0);
+ alignment140664477001536->addShape(54, 0);
+ ccs.push_back(alignment140664477001536);
+
+ AlignmentConstraint *alignment140664477001760 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664477001760->addShape(54, 0);
+ ccs.push_back(alignment140664477001760);
+
+ AlignmentConstraint *alignment140664477001888 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664477001888->addShape(55, 0);
+ alignment140664477001888->addShape(56, 0);
+ alignment140664477001888->addShape(57, 0);
+ alignment140664477001888->addShape(58, 0);
+ alignment140664477001888->addShape(59, 0);
+ alignment140664477001888->addShape(63, 0);
+ alignment140664477001888->addShape(69, 0);
+ alignment140664477001888->addShape(89, 0);
+ ccs.push_back(alignment140664477001888);
+
+ AlignmentConstraint *alignment140664477002240 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664477002240->addShape(56, 0);
+ alignment140664477002240->addShape(57, 0);
+ alignment140664477002240->addShape(58, 0);
+ alignment140664477002240->addShape(59, 0);
+ alignment140664477002240->addShape(63, 0);
+ alignment140664477002240->addShape(69, 0);
+ alignment140664477002240->addShape(89, 0);
+ ccs.push_back(alignment140664477002240);
+
+ AlignmentConstraint *alignment140664477002640 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664477002640->addShape(57, 0);
+ alignment140664477002640->addShape(58, 0);
+ alignment140664477002640->addShape(59, 0);
+ alignment140664477002640->addShape(63, 0);
+ alignment140664477002640->addShape(69, 0);
+ alignment140664477002640->addShape(89, 0);
+ ccs.push_back(alignment140664477002640);
+
+ AlignmentConstraint *alignment140664477003008 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664477003008->addShape(58, 0);
+ alignment140664477003008->addShape(59, 0);
+ alignment140664477003008->addShape(63, 0);
+ alignment140664477003008->addShape(69, 0);
+ alignment140664477003008->addShape(89, 0);
+ ccs.push_back(alignment140664477003008);
+
+ AlignmentConstraint *alignment140664477003344 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664477003344->addShape(59, 0);
+ alignment140664477003344->addShape(63, 0);
+ alignment140664477003344->addShape(69, 0);
+ alignment140664477003344->addShape(89, 0);
+ ccs.push_back(alignment140664477003344);
+
+ AlignmentConstraint *alignment140664477003568 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664477003568->addShape(60, 0);
+ ccs.push_back(alignment140664477003568);
+
+ AlignmentConstraint *alignment140664477003728 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664477003728->addShape(61, 0);
+ ccs.push_back(alignment140664477003728);
+
+ AlignmentConstraint *alignment140664477003888 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664477003888->addShape(62, 0);
+ ccs.push_back(alignment140664477003888);
+
+ AlignmentConstraint *alignment140664477004048 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664477004048->addShape(63, 0);
+ alignment140664477004048->addShape(69, 0);
+ alignment140664477004048->addShape(89, 0);
+ ccs.push_back(alignment140664477004048);
+
+ AlignmentConstraint *alignment140664477004320 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664477004320->addShape(64, 0);
+ alignment140664477004320->addShape(66, 0);
+ alignment140664477004320->addShape(74, 0);
+ ccs.push_back(alignment140664477004320);
+
+ AlignmentConstraint *alignment140664477004560 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664477004560->addShape(65, 0);
+ alignment140664477004560->addShape(76, 0);
+ ccs.push_back(alignment140664477004560);
+
+ AlignmentConstraint *alignment140664477004752 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664477004752->addShape(66, 0);
+ alignment140664477004752->addShape(74, 0);
+ ccs.push_back(alignment140664477004752);
+
+ AlignmentConstraint *alignment140664477004944 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664477004944->addShape(67, 0);
+ ccs.push_back(alignment140664477004944);
+
+ AlignmentConstraint *alignment140664477005072 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664477005072->addShape(68, 0);
+ ccs.push_back(alignment140664477005072);
+
+ AlignmentConstraint *alignment140664477005232 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664477005232->addShape(69, 0);
+ alignment140664477005232->addShape(89, 0);
+ ccs.push_back(alignment140664477005232);
+
+ AlignmentConstraint *alignment140664477005456 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664477005456->addShape(70, 0);
+ alignment140664477005456->addShape(73, 0);
+ ccs.push_back(alignment140664477005456);
+
+ AlignmentConstraint *alignment140664477005648 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664477005648->addShape(71, 0);
+ alignment140664477005648->addShape(72, 0);
+ ccs.push_back(alignment140664477005648);
+
+ AlignmentConstraint *alignment140664476997248 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664476997248->addShape(72, 0);
+ ccs.push_back(alignment140664476997248);
+
+ AlignmentConstraint *alignment140664476997376 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664476997376->addShape(73, 0);
+ ccs.push_back(alignment140664476997376);
+
+ AlignmentConstraint *alignment140664476997536 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664476997536->addShape(74, 0);
+ ccs.push_back(alignment140664476997536);
+
+ AlignmentConstraint *alignment140664475640112 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475640112->addShape(76, 0);
+ ccs.push_back(alignment140664475640112);
+
+ AlignmentConstraint *alignment140664475640272 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475640272->addShape(77, 0);
+ alignment140664475640272->addShape(87, 0);
+ alignment140664475640272->addShape(88, 0);
+ ccs.push_back(alignment140664475640272);
+
+ AlignmentConstraint *alignment140664475640544 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475640544->addShape(78, 0);
+ ccs.push_back(alignment140664475640544);
+
+ AlignmentConstraint *alignment140664475640672 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475640672->addShape(79, 0);
+ ccs.push_back(alignment140664475640672);
+
+ AlignmentConstraint *alignment140664475640832 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475640832->addShape(81, 0);
+ alignment140664475640832->addShape(91, 0);
+ ccs.push_back(alignment140664475640832);
+
+ AlignmentConstraint *alignment140664475641056 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475641056->addShape(82, 0);
+ ccs.push_back(alignment140664475641056);
+
+ AlignmentConstraint *alignment140664475641184 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475641184->addShape(83, 0);
+ ccs.push_back(alignment140664475641184);
+
+ AlignmentConstraint *alignment140664475641344 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475641344->addShape(84, 0);
+ ccs.push_back(alignment140664475641344);
+
+ AlignmentConstraint *alignment140664475641504 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475641504->addShape(85, 0);
+ ccs.push_back(alignment140664475641504);
+
+ AlignmentConstraint *alignment140664475641664 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475641664->addShape(86, 0);
+ ccs.push_back(alignment140664475641664);
+
+ AlignmentConstraint *alignment140664475641824 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475641824->addShape(87, 0);
+ alignment140664475641824->addShape(88, 0);
+ ccs.push_back(alignment140664475641824);
+
+ AlignmentConstraint *alignment140664475642048 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475642048->addShape(88, 0);
+ ccs.push_back(alignment140664475642048);
+
+ AlignmentConstraint *alignment140664475642176 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475642176->addShape(89, 0);
+ ccs.push_back(alignment140664475642176);
+
+ AlignmentConstraint *alignment140664475642336 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475642336->addShape(90, 0);
+ ccs.push_back(alignment140664475642336);
+
+ AlignmentConstraint *alignment140664475642496 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475642496->addShape(91, 0);
+ ccs.push_back(alignment140664475642496);
+
+ AlignmentConstraint *alignment140664475642656 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475642656->addShape(92, 0);
+ alignment140664475642656->addShape(93, 0);
+ ccs.push_back(alignment140664475642656);
+
+ AlignmentConstraint *alignment140664475642880 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475642880->addShape(93, 0);
+ ccs.push_back(alignment140664475642880);
+
+ SeparationConstraint *separation140664475644192 = new SeparationConstraint(vpsc::XDIM, alignment140664475642336, alignment140664476997376, 36, false);
+ ccs.push_back(separation140664475644192);
+
+ SeparationConstraint *separation140664481097840 = new SeparationConstraint(vpsc::XDIM, alignment140664476997376, alignment140664475640112, 14, false);
+ ccs.push_back(separation140664481097840);
+
+ SeparationConstraint *separation140664476990640 = new SeparationConstraint(vpsc::XDIM, alignment140664475640112, alignment140664477001408, 35, false);
+ ccs.push_back(separation140664476990640);
+
+ SeparationConstraint *separation140664481098032 = new SeparationConstraint(vpsc::XDIM, alignment140664477001408, alignment140664475640544, 23, false);
+ ccs.push_back(separation140664481098032);
+
+ SeparationConstraint *separation140664481098176 = new SeparationConstraint(vpsc::XDIM, alignment140664475640544, alignment140664483418656, 7, false);
+ ccs.push_back(separation140664481098176);
+
+ SeparationConstraint *separation140664481098320 = new SeparationConstraint(vpsc::XDIM, alignment140664477005072, alignment140664476996704, 21, false);
+ ccs.push_back(separation140664481098320);
+
+ SeparationConstraint *separation140664481098496 = new SeparationConstraint(vpsc::XDIM, alignment140664476996704, alignment140664476997248, 6, false);
+ ccs.push_back(separation140664481098496);
+
+ SeparationConstraint *separation140664481098672 = new SeparationConstraint(vpsc::XDIM, alignment140664476997248, alignment140664476993312, 23, false);
+ ccs.push_back(separation140664481098672);
+
+ SeparationConstraint *separation140664476989584 = new SeparationConstraint(vpsc::XDIM, alignment140664476993312, alignment140664477004944, 3, false);
+ ccs.push_back(separation140664476989584);
+
+ SeparationConstraint *separation140664476989760 = new SeparationConstraint(vpsc::XDIM, alignment140664477004944, alignment140664475642880, 16, false);
+ ccs.push_back(separation140664476989760);
+
+ SeparationConstraint *separation140664476989936 = new SeparationConstraint(vpsc::XDIM, alignment140664475642880, alignment140664475641344, 8, false);
+ ccs.push_back(separation140664476989936);
+
+ SeparationConstraint *separation140664476990112 = new SeparationConstraint(vpsc::XDIM, alignment140664476999488, alignment140664476996016, 16.6667, false);
+ ccs.push_back(separation140664476990112);
+
+ SeparationConstraint *separation140664476990288 = new SeparationConstraint(vpsc::XDIM, alignment140664476996016, alignment140664477003728, 7, false);
+ ccs.push_back(separation140664476990288);
+
+ SeparationConstraint *separation140664476990464 = new SeparationConstraint(vpsc::XDIM, alignment140664476996832, alignment140664483418496, 4, false);
+ ccs.push_back(separation140664476990464);
+
+ SeparationConstraint *separation140664475645632 = new SeparationConstraint(vpsc::XDIM, alignment140664483418496, alignment140664477001760, 13, false);
+ ccs.push_back(separation140664475645632);
+
+ SeparationConstraint *separation140664475645808 = new SeparationConstraint(vpsc::XDIM, alignment140664477001760, alignment140664476993184, 11, false);
+ ccs.push_back(separation140664475645808);
+
+ SeparationConstraint *separation140664475645984 = new SeparationConstraint(vpsc::XDIM, alignment140664476993184, alignment140664476995888, 14, false);
+ ccs.push_back(separation140664475645984);
+
+ SeparationConstraint *separation140664475646160 = new SeparationConstraint(vpsc::XDIM, alignment140664476995888, alignment140664476997536, 21, false);
+ ccs.push_back(separation140664475646160);
+
+ SeparationConstraint *separation140664475646336 = new SeparationConstraint(vpsc::XDIM, alignment140664476997536, alignment140664476995232, 7, false);
+ ccs.push_back(separation140664475646336);
+
+ SeparationConstraint *separation140664475646512 = new SeparationConstraint(vpsc::XDIM, alignment140664476995232, alignment140664475641664, 13, false);
+ ccs.push_back(separation140664475646512);
+
+ SeparationConstraint *separation140664475646688 = new SeparationConstraint(vpsc::XDIM, alignment140664475641664, alignment140664476993456, 5, false);
+ ccs.push_back(separation140664475646688);
+
+ SeparationConstraint *separation140664475646864 = new SeparationConstraint(vpsc::XDIM, alignment140664476993456, alignment140664476993744, 5, false);
+ ccs.push_back(separation140664475646864);
+
+ SeparationConstraint *separation140664475647040 = new SeparationConstraint(vpsc::XDIM, alignment140664476993744, alignment140664483418368, 23, false);
+ ccs.push_back(separation140664475647040);
+
+ SeparationConstraint *separation140664475647216 = new SeparationConstraint(vpsc::XDIM, alignment140664483418368, alignment140664475641824, 6.5, false);
+ ccs.push_back(separation140664475647216);
+
+ SeparationConstraint *separation140664475647392 = new SeparationConstraint(vpsc::XDIM, alignment140664475504720, alignment140664476993584, 19.75, false);
+ ccs.push_back(separation140664475647392);
+
+ SeparationConstraint *separation140664475647568 = new SeparationConstraint(vpsc::XDIM, alignment140664476993584, alignment140664475642176, 25, false);
+ ccs.push_back(separation140664475647568);
+
+ SeparationConstraint *separation140664475647744 = new SeparationConstraint(vpsc::XDIM, alignment140664475642176, alignment140664475640672, 4, false);
+ ccs.push_back(separation140664475647744);
+
+ SeparationConstraint *separation140664475647920 = new SeparationConstraint(vpsc::XDIM, alignment140664475640672, alignment140664475642496, 21, false);
+ ccs.push_back(separation140664475647920);
+
+ SeparationConstraint *separation140664475648096 = new SeparationConstraint(vpsc::XDIM, alignment140664475642496, alignment140664475641504, 24, false);
+ ccs.push_back(separation140664475648096);
+
+ SeparationConstraint *separation140664475648272 = new SeparationConstraint(vpsc::XDIM, alignment140664475641504, alignment140664477003888, 18, false);
+ ccs.push_back(separation140664475648272);
+
+ SeparationConstraint *separation140664475648448 = new SeparationConstraint(vpsc::XDIM, alignment140664476993904, alignment140664475641184, 4, false);
+ ccs.push_back(separation140664475648448);
+
+ SeparationConstraint *separation140664475648624 = new SeparationConstraint(vpsc::XDIM, alignment140664475641184, alignment140664483418880, 3, false);
+ ccs.push_back(separation140664475648624);
+
+ SeparationConstraint *separation140664475648800 = new SeparationConstraint(vpsc::XDIM, alignment140664483418880, alignment140664475641056, 24, false);
+ ccs.push_back(separation140664475648800);
+
+ SeparationConstraint *separation140664475648976 = new SeparationConstraint(vpsc::XDIM, alignment140664475641056, alignment140664476999920, 19, false);
+ ccs.push_back(separation140664475648976);
+
+ SeparationConstraint *separation140664475649152 = new SeparationConstraint(vpsc::XDIM, alignment140664476999920, alignment140664477003568, 26, false);
+ ccs.push_back(separation140664475649152);
+
+ AlignmentConstraint *alignment140664475649328 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475649328->addShape(0, 0);
+ ccs.push_back(alignment140664475649328);
+
+ AlignmentConstraint *alignment140664475649488 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475649488->addShape(1, 0);
+ alignment140664475649488->addShape(8, 0);
+ alignment140664475649488->addShape(9, 0);
+ ccs.push_back(alignment140664475649488);
+
+ AlignmentConstraint *alignment140664475649760 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475649760->addShape(2, 0);
+ alignment140664475649760->addShape(7, 0);
+ alignment140664475649760->addShape(90, 0);
+ ccs.push_back(alignment140664475649760);
+
+ AlignmentConstraint *alignment140664475650000 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475650000->addShape(3, 0);
+ alignment140664475650000->addShape(77, 0);
+ alignment140664475650000->addShape(79, 0);
+ ccs.push_back(alignment140664475650000);
+
+ AlignmentConstraint *alignment140664475650240 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475650240->addShape(4, 0);
+ alignment140664475650240->addShape(62, 0);
+ alignment140664475650240->addShape(66, 0);
+ ccs.push_back(alignment140664475650240);
+
+ AlignmentConstraint *alignment140664475650480 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475650480->addShape(7, 0);
+ alignment140664475650480->addShape(90, 0);
+ ccs.push_back(alignment140664475650480);
+
+ AlignmentConstraint *alignment140664475650672 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475650672->addShape(8, 0);
+ alignment140664475650672->addShape(9, 0);
+ ccs.push_back(alignment140664475650672);
+
+ AlignmentConstraint *alignment140664475650864 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475650864->addShape(9, 0);
+ ccs.push_back(alignment140664475650864);
+
+ AlignmentConstraint *alignment140664475639072 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475639072->addShape(10, 0);
+ ccs.push_back(alignment140664475639072);
+
+ AlignmentConstraint *alignment140664475639232 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475639232->addShape(11, 0);
+ ccs.push_back(alignment140664475639232);
+
+ AlignmentConstraint *alignment140664475639392 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475639392->addShape(12, 0);
+ alignment140664475639392->addShape(13, 0);
+ alignment140664475639392->addShape(14, 0);
+ alignment140664475639392->addShape(60, 0);
+ alignment140664475639392->addShape(63, 0);
+ alignment140664475639392->addShape(64, 0);
+ alignment140664475639392->addShape(65, 0);
+ alignment140664475639392->addShape(67, 0);
+ ccs.push_back(alignment140664475639392);
+
+ AlignmentConstraint *alignment140664475639872 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475639872->addShape(13, 0);
+ alignment140664475639872->addShape(14, 0);
+ alignment140664475639872->addShape(60, 0);
+ alignment140664475639872->addShape(63, 0);
+ alignment140664475639872->addShape(64, 0);
+ alignment140664475639872->addShape(65, 0);
+ alignment140664475639872->addShape(67, 0);
+ ccs.push_back(alignment140664475639872);
+
+ AlignmentConstraint *alignment140664475653264 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475653264->addShape(14, 0);
+ alignment140664475653264->addShape(60, 0);
+ alignment140664475653264->addShape(63, 0);
+ alignment140664475653264->addShape(64, 0);
+ alignment140664475653264->addShape(65, 0);
+ alignment140664475653264->addShape(67, 0);
+ ccs.push_back(alignment140664475653264);
+
+ AlignmentConstraint *alignment140664475653632 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475653632->addShape(16, 0);
+ ccs.push_back(alignment140664475653632);
+
+ AlignmentConstraint *alignment140664475653792 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475653792->addShape(18, 0);
+ ccs.push_back(alignment140664475653792);
+
+ AlignmentConstraint *alignment140664475653952 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475653952->addShape(19, 0);
+ ccs.push_back(alignment140664475653952);
+
+ AlignmentConstraint *alignment140664475654112 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475654112->addShape(20, 0);
+ alignment140664475654112->addShape(81, 0);
+ ccs.push_back(alignment140664475654112);
+
+ AlignmentConstraint *alignment140664475654336 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475654336->addShape(22, 0);
+ alignment140664475654336->addShape(53, 0);
+ alignment140664475654336->addShape(89, 0);
+ ccs.push_back(alignment140664475654336);
+
+ AlignmentConstraint *alignment140664475654528 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475654528->addShape(23, 0);
+ alignment140664475654528->addShape(24, 0);
+ alignment140664475654528->addShape(91, 0);
+ ccs.push_back(alignment140664475654528);
+
+ AlignmentConstraint *alignment140664475654720 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475654720->addShape(24, 0);
+ alignment140664475654720->addShape(91, 0);
+ ccs.push_back(alignment140664475654720);
+
+ AlignmentConstraint *alignment140664475654912 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475654912->addShape(25, 0);
+ alignment140664475654912->addShape(48, 0);
+ ccs.push_back(alignment140664475654912);
+
+ AlignmentConstraint *alignment140664475655104 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475655104->addShape(26, 0);
+ alignment140664475655104->addShape(31, 0);
+ alignment140664475655104->addShape(32, 0);
+ alignment140664475655104->addShape(33, 0);
+ ccs.push_back(alignment140664475655104);
+
+ AlignmentConstraint *alignment140664475655344 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475655344->addShape(27, 0);
+ ccs.push_back(alignment140664475655344);
+
+ AlignmentConstraint *alignment140664475655504 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475655504->addShape(28, 0);
+ alignment140664475655504->addShape(52, 0);
+ alignment140664475655504->addShape(54, 0);
+ alignment140664475655504->addShape(56, 0);
+ ccs.push_back(alignment140664475655504);
+
+ AlignmentConstraint *alignment140664475655776 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475655776->addShape(29, 0);
+ alignment140664475655776->addShape(43, 0);
+ ccs.push_back(alignment140664475655776);
+
+ AlignmentConstraint *alignment140664475656000 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475656000->addShape(30, 0);
+ alignment140664475656000->addShape(93, 0);
+ ccs.push_back(alignment140664475656000);
+
+ AlignmentConstraint *alignment140664475656192 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475656192->addShape(31, 0);
+ alignment140664475656192->addShape(32, 0);
+ alignment140664475656192->addShape(33, 0);
+ ccs.push_back(alignment140664475656192);
+
+ AlignmentConstraint *alignment140664475656432 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475656432->addShape(32, 0);
+ alignment140664475656432->addShape(33, 0);
+ ccs.push_back(alignment140664475656432);
+
+ AlignmentConstraint *alignment140664475656624 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475656624->addShape(33, 0);
+ ccs.push_back(alignment140664475656624);
+
+ AlignmentConstraint *alignment140664475656752 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475656752->addShape(34, 0);
+ alignment140664475656752->addShape(92, 0);
+ ccs.push_back(alignment140664475656752);
+
+ AlignmentConstraint *alignment140664475656976 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475656976->addShape(35, 0);
+ alignment140664475656976->addShape(42, 0);
+ ccs.push_back(alignment140664475656976);
+
+ AlignmentConstraint *alignment140664475657168 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475657168->addShape(36, 0);
+ ccs.push_back(alignment140664475657168);
+
+ AlignmentConstraint *alignment140664475657296 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475657296->addShape(37, 0);
+ ccs.push_back(alignment140664475657296);
+
+ AlignmentConstraint *alignment140664475657456 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475657456->addShape(38, 0);
+ ccs.push_back(alignment140664475657456);
+
+ AlignmentConstraint *alignment140664475657616 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475657616->addShape(40, 0);
+ alignment140664475657616->addShape(61, 0);
+ alignment140664475657616->addShape(68, 0);
+ ccs.push_back(alignment140664475657616);
+
+ AlignmentConstraint *alignment140664475657888 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475657888->addShape(41, 0);
+ alignment140664475657888->addShape(86, 0);
+ ccs.push_back(alignment140664475657888);
+
+ AlignmentConstraint *alignment140664475658080 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475658080->addShape(42, 0);
+ ccs.push_back(alignment140664475658080);
+
+ AlignmentConstraint *alignment140664475658208 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475658208->addShape(43, 0);
+ ccs.push_back(alignment140664475658208);
+
+ AlignmentConstraint *alignment140664475658368 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475658368->addShape(44, 0);
+ alignment140664475658368->addShape(46, 0);
+ alignment140664475658368->addShape(70, 0);
+ alignment140664475658368->addShape(71, 0);
+ ccs.push_back(alignment140664475658368);
+
+ AlignmentConstraint *alignment140664475658640 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475658640->addShape(45, 0);
+ alignment140664475658640->addShape(47, 0);
+ alignment140664475658640->addShape(72, 0);
+ alignment140664475658640->addShape(73, 0);
+ ccs.push_back(alignment140664475658640);
+
+ AlignmentConstraint *alignment140664475658912 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475658912->addShape(46, 0);
+ alignment140664475658912->addShape(70, 0);
+ alignment140664475658912->addShape(71, 0);
+ ccs.push_back(alignment140664475658912);
+
+ AlignmentConstraint *alignment140664475659184 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475659184->addShape(47, 0);
+ alignment140664475659184->addShape(72, 0);
+ alignment140664475659184->addShape(73, 0);
+ ccs.push_back(alignment140664475659184);
+
+ AlignmentConstraint *alignment140664475659424 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475659424->addShape(48, 0);
+ ccs.push_back(alignment140664475659424);
+
+ AlignmentConstraint *alignment140664475659552 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475659552->addShape(49, 0);
+ ccs.push_back(alignment140664475659552);
+
+ AlignmentConstraint *alignment140664475659712 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475659712->addShape(50, 0);
+ ccs.push_back(alignment140664475659712);
+
+ AlignmentConstraint *alignment140664475659872 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475659872->addShape(51, 0);
+ alignment140664475659872->addShape(55, 0);
+ ccs.push_back(alignment140664475659872);
+
+ AlignmentConstraint *alignment140664475660096 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475660096->addShape(52, 0);
+ alignment140664475660096->addShape(54, 0);
+ alignment140664475660096->addShape(56, 0);
+ ccs.push_back(alignment140664475660096);
+
+ AlignmentConstraint *alignment140664475660336 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475660336->addShape(53, 0);
+ alignment140664475660336->addShape(89, 0);
+ ccs.push_back(alignment140664475660336);
+
+ AlignmentConstraint *alignment140664475660528 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475660528->addShape(54, 0);
+ alignment140664475660528->addShape(56, 0);
+ ccs.push_back(alignment140664475660528);
+
+ AlignmentConstraint *alignment140664475660720 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475660720->addShape(55, 0);
+ ccs.push_back(alignment140664475660720);
+
+ AlignmentConstraint *alignment140664475660848 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475660848->addShape(56, 0);
+ ccs.push_back(alignment140664475660848);
+
+ AlignmentConstraint *alignment140664475661008 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475661008->addShape(57, 0);
+ alignment140664475661008->addShape(76, 0);
+ ccs.push_back(alignment140664475661008);
+
+ AlignmentConstraint *alignment140664475661232 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475661232->addShape(58, 0);
+ ccs.push_back(alignment140664475661232);
+
+ AlignmentConstraint *alignment140664475661360 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475661360->addShape(59, 0);
+ alignment140664475661360->addShape(88, 0);
+ ccs.push_back(alignment140664475661360);
+
+ AlignmentConstraint *alignment140664475661584 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475661584->addShape(60, 0);
+ alignment140664475661584->addShape(63, 0);
+ alignment140664475661584->addShape(64, 0);
+ alignment140664475661584->addShape(65, 0);
+ alignment140664475661584->addShape(67, 0);
+ ccs.push_back(alignment140664475661584);
+
+ AlignmentConstraint *alignment140664475661936 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475661936->addShape(61, 0);
+ alignment140664475661936->addShape(68, 0);
+ ccs.push_back(alignment140664475661936);
+
+ AlignmentConstraint *alignment140664475662160 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475662160->addShape(62, 0);
+ alignment140664475662160->addShape(66, 0);
+ ccs.push_back(alignment140664475662160);
+
+ AlignmentConstraint *alignment140664475662352 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475662352->addShape(63, 0);
+ alignment140664475662352->addShape(64, 0);
+ alignment140664475662352->addShape(65, 0);
+ alignment140664475662352->addShape(67, 0);
+ ccs.push_back(alignment140664475662352);
+
+ AlignmentConstraint *alignment140664475662544 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475662544->addShape(64, 0);
+ alignment140664475662544->addShape(65, 0);
+ alignment140664475662544->addShape(67, 0);
+ ccs.push_back(alignment140664475662544);
+
+ AlignmentConstraint *alignment140664475662816 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475662816->addShape(65, 0);
+ alignment140664475662816->addShape(67, 0);
+ ccs.push_back(alignment140664475662816);
+
+ AlignmentConstraint *alignment140664475663008 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475663008->addShape(66, 0);
+ ccs.push_back(alignment140664475663008);
+
+ AlignmentConstraint *alignment140664475663136 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475663136->addShape(67, 0);
+ ccs.push_back(alignment140664475663136);
+
+ AlignmentConstraint *alignment140664475663296 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475663296->addShape(68, 0);
+ ccs.push_back(alignment140664475663296);
+
+ AlignmentConstraint *alignment140664475663456 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475663456->addShape(69, 0);
+ ccs.push_back(alignment140664475663456);
+
+ AlignmentConstraint *alignment140664475663616 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475663616->addShape(70, 0);
+ alignment140664475663616->addShape(71, 0);
+ ccs.push_back(alignment140664475663616);
+
+ AlignmentConstraint *alignment140664475663840 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475663840->addShape(71, 0);
+ ccs.push_back(alignment140664475663840);
+
+ AlignmentConstraint *alignment140664475663968 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475663968->addShape(72, 0);
+ alignment140664475663968->addShape(73, 0);
+ ccs.push_back(alignment140664475663968);
+
+ AlignmentConstraint *alignment140664475664192 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475664192->addShape(73, 0);
+ ccs.push_back(alignment140664475664192);
+
+ AlignmentConstraint *alignment140664475664320 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475664320->addShape(74, 0);
+ ccs.push_back(alignment140664475664320);
+
+ AlignmentConstraint *alignment140664475664480 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475664480->addShape(76, 0);
+ ccs.push_back(alignment140664475664480);
+
+ AlignmentConstraint *alignment140664475664640 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475664640->addShape(77, 0);
+ alignment140664475664640->addShape(79, 0);
+ ccs.push_back(alignment140664475664640);
+
+ AlignmentConstraint *alignment140664475664864 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475664864->addShape(78, 0);
+ ccs.push_back(alignment140664475664864);
+
+ AlignmentConstraint *alignment140664475664992 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475664992->addShape(79, 0);
+ ccs.push_back(alignment140664475664992);
+
+ AlignmentConstraint *alignment140664475665152 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475665152->addShape(81, 0);
+ ccs.push_back(alignment140664475665152);
+
+ AlignmentConstraint *alignment140664475665312 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475665312->addShape(82, 0);
+ alignment140664475665312->addShape(85, 0);
+ ccs.push_back(alignment140664475665312);
+
+ AlignmentConstraint *alignment140664475665536 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475665536->addShape(83, 0);
+ ccs.push_back(alignment140664475665536);
+
+ AlignmentConstraint *alignment140664475665664 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475665664->addShape(84, 0);
+ ccs.push_back(alignment140664475665664);
+
+ AlignmentConstraint *alignment140664475665824 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475665824->addShape(85, 0);
+ ccs.push_back(alignment140664475665824);
+
+ AlignmentConstraint *alignment140664475665984 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475665984->addShape(86, 0);
+ ccs.push_back(alignment140664475665984);
+
+ AlignmentConstraint *alignment140664475666144 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475666144->addShape(87, 0);
+ ccs.push_back(alignment140664475666144);
+
+ AlignmentConstraint *alignment140664475666304 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475666304->addShape(88, 0);
+ ccs.push_back(alignment140664475666304);
+
+ AlignmentConstraint *alignment140664475666464 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475666464->addShape(89, 0);
+ ccs.push_back(alignment140664475666464);
+
+ AlignmentConstraint *alignment140664475666624 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475666624->addShape(90, 0);
+ ccs.push_back(alignment140664475666624);
+
+ AlignmentConstraint *alignment140664475666784 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475666784->addShape(91, 0);
+ ccs.push_back(alignment140664475666784);
+
+ AlignmentConstraint *alignment140664475666944 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475666944->addShape(92, 0);
+ ccs.push_back(alignment140664475666944);
+
+ AlignmentConstraint *alignment140664475667104 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475667104->addShape(93, 0);
+ ccs.push_back(alignment140664475667104);
+
+ SeparationConstraint *separation140664475667264 = new SeparationConstraint(vpsc::YDIM, alignment140664475657456, alignment140664475659552, 10, false);
+ ccs.push_back(separation140664475667264);
+
+ SeparationConstraint *separation140664475667440 = new SeparationConstraint(vpsc::YDIM, alignment140664475659552, alignment140664475657296, 11, false);
+ ccs.push_back(separation140664475667440);
+
+ SeparationConstraint *separation140664475667616 = new SeparationConstraint(vpsc::YDIM, alignment140664475657296, alignment140664475655344, 19, false);
+ ccs.push_back(separation140664475667616);
+
+ SeparationConstraint *separation140664475667792 = new SeparationConstraint(vpsc::YDIM, alignment140664475655344, alignment140664475657168, 13, false);
+ ccs.push_back(separation140664475667792);
+
+ SeparationConstraint *separation140664475667968 = new SeparationConstraint(vpsc::YDIM, alignment140664475657168, alignment140664475659424, 9, false);
+ ccs.push_back(separation140664475667968);
+
+ SeparationConstraint *separation140664475668144 = new SeparationConstraint(vpsc::YDIM, alignment140664475654912, alignment140664475658080, 22.5, false);
+ ccs.push_back(separation140664475668144);
+
+ SeparationConstraint *separation140664475668320 = new SeparationConstraint(vpsc::YDIM, alignment140664475658080, alignment140664475659872, 11, false);
+ ccs.push_back(separation140664475668320);
+
+ SeparationConstraint *separation140664475668496 = new SeparationConstraint(vpsc::YDIM, alignment140664475660720, alignment140664475666944, 9, false);
+ ccs.push_back(separation140664475668496);
+
+ SeparationConstraint *separation140664475668672 = new SeparationConstraint(vpsc::YDIM, alignment140664475666944, alignment140664475656624, 25, false);
+ ccs.push_back(separation140664475668672);
+
+ SeparationConstraint *separation140664475668848 = new SeparationConstraint(vpsc::YDIM, alignment140664475655104, alignment140664475658208, 26.75, false);
+ ccs.push_back(separation140664475668848);
+
+ SeparationConstraint *separation140664475669024 = new SeparationConstraint(vpsc::YDIM, alignment140664475658208, alignment140664475660096, 10.6667, false);
+ ccs.push_back(separation140664475669024);
+
+ SeparationConstraint *separation140664475669200 = new SeparationConstraint(vpsc::YDIM, alignment140664475660848, alignment140664475667104, 9, false);
+ ccs.push_back(separation140664475669200);
+
+ SeparationConstraint *separation140664475669376 = new SeparationConstraint(vpsc::YDIM, alignment140664475667104, alignment140664475666784, 24, false);
+ ccs.push_back(separation140664475669376);
+
+ SeparationConstraint *separation140664475669552 = new SeparationConstraint(vpsc::YDIM, alignment140664475666784, alignment140664475663840, 23, false);
+ ccs.push_back(separation140664475669552);
+
+ SeparationConstraint *separation140664475669728 = new SeparationConstraint(vpsc::YDIM, alignment140664475658368, alignment140664475663456, 13.75, false);
+ ccs.push_back(separation140664475669728);
+
+ SeparationConstraint *separation140664475669904 = new SeparationConstraint(vpsc::YDIM, alignment140664475663456, alignment140664475664192, 12, false);
+ ccs.push_back(separation140664475669904);
+
+ SeparationConstraint *separation140664475670080 = new SeparationConstraint(vpsc::YDIM, alignment140664475658640, alignment140664475649328, 18.75, false);
+ ccs.push_back(separation140664475670080);
+
+ SeparationConstraint *separation140664475670256 = new SeparationConstraint(vpsc::YDIM, alignment140664475649328, alignment140664475666464, 44, false);
+ ccs.push_back(separation140664475670256);
+
+ SeparationConstraint *separation140664475670432 = new SeparationConstraint(vpsc::YDIM, alignment140664475654336, alignment140664475665152, 35.3333, false);
+ ccs.push_back(separation140664475670432);
+
+ SeparationConstraint *separation140664475670608 = new SeparationConstraint(vpsc::YDIM, alignment140664475665152, alignment140664475661360, 37, false);
+ ccs.push_back(separation140664475670608);
+
+ SeparationConstraint *separation140664475670784 = new SeparationConstraint(vpsc::YDIM, alignment140664475666304, alignment140664475665824, 3, false);
+ ccs.push_back(separation140664475670784);
+
+ SeparationConstraint *separation140664475670960 = new SeparationConstraint(vpsc::YDIM, alignment140664475665824, alignment140664475665536, 19, false);
+ ccs.push_back(separation140664475670960);
+
+ SeparationConstraint *separation140664475671136 = new SeparationConstraint(vpsc::YDIM, alignment140664475665536, alignment140664475665984, 12, false);
+ ccs.push_back(separation140664475671136);
+
+ SeparationConstraint *separation140664475671312 = new SeparationConstraint(vpsc::YDIM, alignment140664475665984, alignment140664475666144, 30, false);
+ ccs.push_back(separation140664475671312);
+
+ SeparationConstraint *separation140664475671488 = new SeparationConstraint(vpsc::YDIM, alignment140664475666144, alignment140664475661232, 6, false);
+ ccs.push_back(separation140664475671488);
+
+ SeparationConstraint *separation140664475671664 = new SeparationConstraint(vpsc::YDIM, alignment140664475661232, alignment140664475653952, 37, false);
+ ccs.push_back(separation140664475671664);
+
+ SeparationConstraint *separation140664475508000 = new SeparationConstraint(vpsc::YDIM, alignment140664475653952, alignment140664475659712, 35, false);
+ ccs.push_back(separation140664475508000);
+
+ SeparationConstraint *separation140664475508176 = new SeparationConstraint(vpsc::YDIM, alignment140664475659712, alignment140664475653792, 37, false);
+ ccs.push_back(separation140664475508176);
+
+ SeparationConstraint *separation140664475508352 = new SeparationConstraint(vpsc::YDIM, alignment140664475653792, alignment140664475664480, 35, false);
+ ccs.push_back(separation140664475508352);
+
+ SeparationConstraint *separation140664475508528 = new SeparationConstraint(vpsc::YDIM, alignment140664475664480, alignment140664475664864, 11, false);
+ ccs.push_back(separation140664475508528);
+
+ SeparationConstraint *separation140664475508704 = new SeparationConstraint(vpsc::YDIM, alignment140664475664864, alignment140664475653632, 23, false);
+ ccs.push_back(separation140664475508704);
+
+ SeparationConstraint *separation140664475508880 = new SeparationConstraint(vpsc::YDIM, alignment140664475653632, alignment140664475665664, 25, false);
+ ccs.push_back(separation140664475508880);
+
+ SeparationConstraint *separation140664475509056 = new SeparationConstraint(vpsc::YDIM, alignment140664475665664, alignment140664475664320, 25, false);
+ ccs.push_back(separation140664475509056);
+
+ SeparationConstraint *separation140664475509232 = new SeparationConstraint(vpsc::YDIM, alignment140664475664320, alignment140664475639232, 33, false);
+ ccs.push_back(separation140664475509232);
+
+ SeparationConstraint *separation140664475509408 = new SeparationConstraint(vpsc::YDIM, alignment140664475639232, alignment140664475663136, 10, false);
+ ccs.push_back(separation140664475509408);
+
+ SeparationConstraint *separation140664475509584 = new SeparationConstraint(vpsc::YDIM, alignment140664475639392, alignment140664475639072, 10.375, false);
+ ccs.push_back(separation140664475509584);
+
+ SeparationConstraint *separation140664475509760 = new SeparationConstraint(vpsc::YDIM, alignment140664475639072, alignment140664475663296, 32, false);
+ ccs.push_back(separation140664475509760);
+
+ SeparationConstraint *separation140664475509936 = new SeparationConstraint(vpsc::YDIM, alignment140664475657616, alignment140664475666624, 4.33333, false);
+ ccs.push_back(separation140664475509936);
+
+ SeparationConstraint *separation140664475510112 = new SeparationConstraint(vpsc::YDIM, alignment140664475650480, alignment140664475650864, 31.5, false);
+ ccs.push_back(separation140664475510112);
+
+ SeparationConstraint *separation140664475510288 = new SeparationConstraint(vpsc::YDIM, alignment140664475650864, alignment140664475663008, 10, false);
+ ccs.push_back(separation140664475510288);
+
+ SeparationConstraint *separation140664475510464 = new SeparationConstraint(vpsc::YDIM, alignment140664475663008, alignment140664475664992, 11, false);
+ ccs.push_back(separation140664475510464);
+
+ AlignmentConstraint *alignment140664475511088 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475511088->addShape(75, 0);
+ alignment140664475511088->addShape(75, 0);
+ ccs.push_back(alignment140664475511088);
+
+ SeparationConstraint *separation140664475511312 = new SeparationConstraint(vpsc::YDIM, 75, 75, -50, true);
+ ccs.push_back(separation140664475511312);
+
+ AlignmentConstraint *alignment140664475511456 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475511456->addShape(0, 0);
+ alignment140664475511456->addShape(94, 0);
+ ccs.push_back(alignment140664475511456);
+
+ SeparationConstraint *separation140664475511680 = new SeparationConstraint(vpsc::XDIM, 0, 94, 62, true);
+ ccs.push_back(separation140664475511680);
+
+ AlignmentConstraint *alignment140664475511824 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475511824->addShape(1, 0);
+ alignment140664475511824->addShape(95, 0);
+ ccs.push_back(alignment140664475511824);
+
+ SeparationConstraint *separation140664475512048 = new SeparationConstraint(vpsc::YDIM, 1, 95, -50, true);
+ ccs.push_back(separation140664475512048);
+
+ AlignmentConstraint *alignment140664475512192 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475512192->addShape(2, 0);
+ alignment140664475512192->addShape(96, 0);
+ ccs.push_back(alignment140664475512192);
+
+ SeparationConstraint *separation140664475512416 = new SeparationConstraint(vpsc::XDIM, 2, 96, 62, true);
+ ccs.push_back(separation140664475512416);
+
+ AlignmentConstraint *alignment140664475512560 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475512560->addShape(3, 0);
+ alignment140664475512560->addShape(97, 0);
+ ccs.push_back(alignment140664475512560);
+
+ SeparationConstraint *separation140664475512784 = new SeparationConstraint(vpsc::YDIM, 3, 97, -50, true);
+ ccs.push_back(separation140664475512784);
+
+ AlignmentConstraint *alignment140664475650992 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475650992->addShape(7, 0);
+ alignment140664475650992->addShape(98, 0);
+ ccs.push_back(alignment140664475650992);
+
+ SeparationConstraint *separation140664475651216 = new SeparationConstraint(vpsc::XDIM, 7, 98, 62, true);
+ ccs.push_back(separation140664475651216);
+
+ AlignmentConstraint *alignment140664475651360 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475651360->addShape(8, 0);
+ alignment140664475651360->addShape(99, 0);
+ ccs.push_back(alignment140664475651360);
+
+ SeparationConstraint *separation140664475651584 = new SeparationConstraint(vpsc::YDIM, 8, 99, -50, true);
+ ccs.push_back(separation140664475651584);
+
+ AlignmentConstraint *alignment140664475651728 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475651728->addShape(9, 0);
+ alignment140664475651728->addShape(100, 0);
+ ccs.push_back(alignment140664475651728);
+
+ SeparationConstraint *separation140664475651952 = new SeparationConstraint(vpsc::YDIM, 9, 100, -50, true);
+ ccs.push_back(separation140664475651952);
+
+ AlignmentConstraint *alignment140664475652096 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475652096->addShape(10, 0);
+ alignment140664475652096->addShape(101, 0);
+ ccs.push_back(alignment140664475652096);
+
+ SeparationConstraint *separation140664475652320 = new SeparationConstraint(vpsc::XDIM, 10, 101, 62, true);
+ ccs.push_back(separation140664475652320);
+
+ AlignmentConstraint *alignment140664475652464 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475652464->addShape(11, 0);
+ alignment140664475652464->addShape(102, 0);
+ ccs.push_back(alignment140664475652464);
+
+ SeparationConstraint *separation140664475652688 = new SeparationConstraint(vpsc::XDIM, 11, 102, 62, true);
+ ccs.push_back(separation140664475652688);
+
+ AlignmentConstraint *alignment140664475652832 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475652832->addShape(12, 0);
+ alignment140664475652832->addShape(103, 0);
+ ccs.push_back(alignment140664475652832);
+
+ SeparationConstraint *separation140664475517040 = new SeparationConstraint(vpsc::XDIM, 12, 103, 62, true);
+ ccs.push_back(separation140664475517040);
+
+ AlignmentConstraint *alignment140664475517184 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475517184->addShape(13, 0);
+ alignment140664475517184->addShape(104, 0);
+ ccs.push_back(alignment140664475517184);
+
+ SeparationConstraint *separation140664475517408 = new SeparationConstraint(vpsc::YDIM, 13, 104, -50, true);
+ ccs.push_back(separation140664475517408);
+
+ AlignmentConstraint *alignment140664475517552 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475517552->addShape(14, 0);
+ alignment140664475517552->addShape(105, 0);
+ ccs.push_back(alignment140664475517552);
+
+ SeparationConstraint *separation140664475517776 = new SeparationConstraint(vpsc::YDIM, 14, 105, -50, true);
+ ccs.push_back(separation140664475517776);
+
+ AlignmentConstraint *alignment140664475517920 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475517920->addShape(16, 0);
+ alignment140664475517920->addShape(106, 0);
+ ccs.push_back(alignment140664475517920);
+
+ SeparationConstraint *separation140664475518144 = new SeparationConstraint(vpsc::XDIM, 16, 106, 62, true);
+ ccs.push_back(separation140664475518144);
+
+ AlignmentConstraint *alignment140664475518288 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475518288->addShape(18, 0);
+ alignment140664475518288->addShape(107, 0);
+ ccs.push_back(alignment140664475518288);
+
+ SeparationConstraint *separation140664475518512 = new SeparationConstraint(vpsc::XDIM, 18, 107, 62, true);
+ ccs.push_back(separation140664475518512);
+
+ AlignmentConstraint *alignment140664475518656 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475518656->addShape(19, 0);
+ alignment140664475518656->addShape(108, 0);
+ ccs.push_back(alignment140664475518656);
+
+ SeparationConstraint *separation140664475518880 = new SeparationConstraint(vpsc::XDIM, 19, 108, 62, true);
+ ccs.push_back(separation140664475518880);
+
+ AlignmentConstraint *alignment140664475519024 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475519024->addShape(20, 0);
+ alignment140664475519024->addShape(109, 0);
+ ccs.push_back(alignment140664475519024);
+
+ SeparationConstraint *separation140664475519248 = new SeparationConstraint(vpsc::XDIM, 20, 109, 62, true);
+ ccs.push_back(separation140664475519248);
+
+ AlignmentConstraint *alignment140664475519392 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475519392->addShape(22, 0);
+ alignment140664475519392->addShape(110, 0);
+ ccs.push_back(alignment140664475519392);
+
+ SeparationConstraint *separation140664475519616 = new SeparationConstraint(vpsc::YDIM, 22, 110, -50, true);
+ ccs.push_back(separation140664475519616);
+
+ AlignmentConstraint *alignment140664475519760 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475519760->addShape(23, 0);
+ alignment140664475519760->addShape(111, 0);
+ ccs.push_back(alignment140664475519760);
+
+ SeparationConstraint *separation140664475519984 = new SeparationConstraint(vpsc::XDIM, 23, 111, 62, true);
+ ccs.push_back(separation140664475519984);
+
+ AlignmentConstraint *alignment140664475520128 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475520128->addShape(24, 0);
+ alignment140664475520128->addShape(112, 0);
+ ccs.push_back(alignment140664475520128);
+
+ SeparationConstraint *separation140664475520352 = new SeparationConstraint(vpsc::YDIM, 24, 112, -50, true);
+ ccs.push_back(separation140664475520352);
+
+ AlignmentConstraint *alignment140664475520496 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475520496->addShape(25, 0);
+ alignment140664475520496->addShape(113, 0);
+ ccs.push_back(alignment140664475520496);
+
+ SeparationConstraint *separation140664475520720 = new SeparationConstraint(vpsc::YDIM, 25, 113, -50, true);
+ ccs.push_back(separation140664475520720);
+
+ AlignmentConstraint *alignment140664475520864 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475520864->addShape(26, 0);
+ alignment140664475520864->addShape(114, 0);
+ ccs.push_back(alignment140664475520864);
+
+ SeparationConstraint *separation140664475521088 = new SeparationConstraint(vpsc::XDIM, 26, 114, 62, true);
+ ccs.push_back(separation140664475521088);
+
+ AlignmentConstraint *alignment140664475521232 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475521232->addShape(27, 0);
+ alignment140664475521232->addShape(115, 0);
+ ccs.push_back(alignment140664475521232);
+
+ SeparationConstraint *separation140664475521456 = new SeparationConstraint(vpsc::XDIM, 27, 115, 62, true);
+ ccs.push_back(separation140664475521456);
+
+ AlignmentConstraint *alignment140664475521600 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475521600->addShape(28, 0);
+ alignment140664475521600->addShape(116, 0);
+ ccs.push_back(alignment140664475521600);
+
+ SeparationConstraint *separation140664475521824 = new SeparationConstraint(vpsc::YDIM, 28, 116, -50, true);
+ ccs.push_back(separation140664475521824);
+
+ AlignmentConstraint *alignment140664475521968 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475521968->addShape(29, 0);
+ alignment140664475521968->addShape(117, 0);
+ ccs.push_back(alignment140664475521968);
+
+ SeparationConstraint *separation140664475522192 = new SeparationConstraint(vpsc::YDIM, 29, 117, -50, true);
+ ccs.push_back(separation140664475522192);
+
+ AlignmentConstraint *alignment140664475522336 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475522336->addShape(30, 0);
+ alignment140664475522336->addShape(118, 0);
+ ccs.push_back(alignment140664475522336);
+
+ SeparationConstraint *separation140664475522560 = new SeparationConstraint(vpsc::YDIM, 30, 118, -50, true);
+ ccs.push_back(separation140664475522560);
+
+ AlignmentConstraint *alignment140664475522704 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475522704->addShape(31, 0);
+ alignment140664475522704->addShape(119, 0);
+ ccs.push_back(alignment140664475522704);
+
+ SeparationConstraint *separation140664475522928 = new SeparationConstraint(vpsc::XDIM, 31, 119, 62, true);
+ ccs.push_back(separation140664475522928);
+
+ AlignmentConstraint *alignment140664475523072 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475523072->addShape(32, 0);
+ alignment140664475523072->addShape(120, 0);
+ ccs.push_back(alignment140664475523072);
+
+ SeparationConstraint *separation140664475523296 = new SeparationConstraint(vpsc::XDIM, 32, 120, 62, true);
+ ccs.push_back(separation140664475523296);
+
+ AlignmentConstraint *alignment140664475523440 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475523440->addShape(33, 0);
+ alignment140664475523440->addShape(121, 0);
+ ccs.push_back(alignment140664475523440);
+
+ SeparationConstraint *separation140664475523664 = new SeparationConstraint(vpsc::XDIM, 33, 121, 62, true);
+ ccs.push_back(separation140664475523664);
+
+ AlignmentConstraint *alignment140664475523808 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475523808->addShape(34, 0);
+ alignment140664475523808->addShape(122, 0);
+ ccs.push_back(alignment140664475523808);
+
+ SeparationConstraint *separation140664475524032 = new SeparationConstraint(vpsc::YDIM, 34, 122, -50, true);
+ ccs.push_back(separation140664475524032);
+
+ AlignmentConstraint *alignment140664475524176 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475524176->addShape(35, 0);
+ alignment140664475524176->addShape(123, 0);
+ ccs.push_back(alignment140664475524176);
+
+ SeparationConstraint *separation140664475524400 = new SeparationConstraint(vpsc::YDIM, 35, 123, -50, true);
+ ccs.push_back(separation140664475524400);
+
+ AlignmentConstraint *alignment140664475524544 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475524544->addShape(36, 0);
+ alignment140664475524544->addShape(124, 0);
+ ccs.push_back(alignment140664475524544);
+
+ SeparationConstraint *separation140664475524768 = new SeparationConstraint(vpsc::YDIM, 36, 124, -50, true);
+ ccs.push_back(separation140664475524768);
+
+ AlignmentConstraint *alignment140664475524912 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475524912->addShape(37, 0);
+ alignment140664475524912->addShape(125, 0);
+ ccs.push_back(alignment140664475524912);
+
+ SeparationConstraint *separation140664475525136 = new SeparationConstraint(vpsc::YDIM, 37, 125, -50, true);
+ ccs.push_back(separation140664475525136);
+
+ AlignmentConstraint *alignment140664475525280 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475525280->addShape(38, 0);
+ alignment140664475525280->addShape(126, 0);
+ ccs.push_back(alignment140664475525280);
+
+ SeparationConstraint *separation140664475525504 = new SeparationConstraint(vpsc::YDIM, 38, 126, -50, true);
+ ccs.push_back(separation140664475525504);
+
+ AlignmentConstraint *alignment140664475525648 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475525648->addShape(40, 0);
+ alignment140664475525648->addShape(127, 0);
+ ccs.push_back(alignment140664475525648);
+
+ SeparationConstraint *separation140664475525872 = new SeparationConstraint(vpsc::YDIM, 40, 127, -50, true);
+ ccs.push_back(separation140664475525872);
+
+ AlignmentConstraint *alignment140664475526016 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475526016->addShape(41, 0);
+ alignment140664475526016->addShape(128, 0);
+ ccs.push_back(alignment140664475526016);
+
+ SeparationConstraint *separation140664475526240 = new SeparationConstraint(vpsc::XDIM, 41, 128, 62, true);
+ ccs.push_back(separation140664475526240);
+
+ AlignmentConstraint *alignment140664475526384 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475526384->addShape(42, 0);
+ alignment140664475526384->addShape(129, 0);
+ ccs.push_back(alignment140664475526384);
+
+ SeparationConstraint *separation140664475526608 = new SeparationConstraint(vpsc::YDIM, 42, 129, -50, true);
+ ccs.push_back(separation140664475526608);
+
+ AlignmentConstraint *alignment140664475526752 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475526752->addShape(43, 0);
+ alignment140664475526752->addShape(130, 0);
+ ccs.push_back(alignment140664475526752);
+
+ SeparationConstraint *separation140664475526976 = new SeparationConstraint(vpsc::YDIM, 43, 130, -50, true);
+ ccs.push_back(separation140664475526976);
+
+ AlignmentConstraint *alignment140664475527120 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475527120->addShape(44, 0);
+ alignment140664475527120->addShape(131, 0);
+ ccs.push_back(alignment140664475527120);
+
+ SeparationConstraint *separation140664475527344 = new SeparationConstraint(vpsc::YDIM, 44, 131, -50, true);
+ ccs.push_back(separation140664475527344);
+
+ AlignmentConstraint *alignment140664475527488 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475527488->addShape(45, 0);
+ alignment140664475527488->addShape(132, 0);
+ ccs.push_back(alignment140664475527488);
+
+ SeparationConstraint *separation140664475527712 = new SeparationConstraint(vpsc::YDIM, 45, 132, -50, true);
+ ccs.push_back(separation140664475527712);
+
+ AlignmentConstraint *alignment140664475527856 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475527856->addShape(46, 0);
+ alignment140664475527856->addShape(133, 0);
+ ccs.push_back(alignment140664475527856);
+
+ SeparationConstraint *separation140664475528080 = new SeparationConstraint(vpsc::YDIM, 46, 133, -50, true);
+ ccs.push_back(separation140664475528080);
+
+ AlignmentConstraint *alignment140664475528224 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475528224->addShape(47, 0);
+ alignment140664475528224->addShape(134, 0);
+ ccs.push_back(alignment140664475528224);
+
+ SeparationConstraint *separation140664475528448 = new SeparationConstraint(vpsc::YDIM, 47, 134, -50, true);
+ ccs.push_back(separation140664475528448);
+
+ AlignmentConstraint *alignment140664475528592 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475528592->addShape(77, 0);
+ alignment140664475528592->addShape(135, 0);
+ ccs.push_back(alignment140664475528592);
+
+ SeparationConstraint *separation140664475528816 = new SeparationConstraint(vpsc::YDIM, 77, 135, -50, true);
+ ccs.push_back(separation140664475528816);
+
+ AlignmentConstraint *alignment140664475528960 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475528960->addShape(78, 0);
+ alignment140664475528960->addShape(136, 0);
+ ccs.push_back(alignment140664475528960);
+
+ SeparationConstraint *separation140664475529184 = new SeparationConstraint(vpsc::YDIM, 78, 136, -50, true);
+ ccs.push_back(separation140664475529184);
+
+ AlignmentConstraint *alignment140664475529328 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475529328->addShape(79, 0);
+ alignment140664475529328->addShape(137, 0);
+ ccs.push_back(alignment140664475529328);
+
+ SeparationConstraint *separation140664475529552 = new SeparationConstraint(vpsc::YDIM, 79, 137, -50, true);
+ ccs.push_back(separation140664475529552);
+
+ AlignmentConstraint *alignment140664475529696 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475529696->addShape(81, 0);
+ alignment140664475529696->addShape(138, 0);
+ ccs.push_back(alignment140664475529696);
+
+ SeparationConstraint *separation140664475529920 = new SeparationConstraint(vpsc::XDIM, 81, 138, 62, true);
+ ccs.push_back(separation140664475529920);
+
+ AlignmentConstraint *alignment140664475530064 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475530064->addShape(82, 0);
+ alignment140664475530064->addShape(139, 0);
+ ccs.push_back(alignment140664475530064);
+
+ SeparationConstraint *separation140664475530288 = new SeparationConstraint(vpsc::YDIM, 82, 139, -50, true);
+ ccs.push_back(separation140664475530288);
+
+ AlignmentConstraint *alignment140664475530432 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475530432->addShape(83, 0);
+ alignment140664475530432->addShape(140, 0);
+ ccs.push_back(alignment140664475530432);
+
+ SeparationConstraint *separation140664475530656 = new SeparationConstraint(vpsc::YDIM, 83, 140, -50, true);
+ ccs.push_back(separation140664475530656);
+
+ AlignmentConstraint *alignment140664475530800 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475530800->addShape(84, 0);
+ alignment140664475530800->addShape(141, 0);
+ ccs.push_back(alignment140664475530800);
+
+ SeparationConstraint *separation140664475531024 = new SeparationConstraint(vpsc::YDIM, 84, 141, -50, true);
+ ccs.push_back(separation140664475531024);
+
+ AlignmentConstraint *alignment140664475531168 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475531168->addShape(85, 0);
+ alignment140664475531168->addShape(142, 0);
+ ccs.push_back(alignment140664475531168);
+
+ SeparationConstraint *separation140664475531392 = new SeparationConstraint(vpsc::XDIM, 85, 142, 62, true);
+ ccs.push_back(separation140664475531392);
+
+ AlignmentConstraint *alignment140664475531536 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475531536->addShape(87, 0);
+ alignment140664475531536->addShape(143, 0);
+ ccs.push_back(alignment140664475531536);
+
+ SeparationConstraint *separation140664475531760 = new SeparationConstraint(vpsc::YDIM, 87, 143, -50, true);
+ ccs.push_back(separation140664475531760);
+
+ AlignmentConstraint *alignment140664475531904 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475531904->addShape(88, 0);
+ alignment140664475531904->addShape(144, 0);
+ ccs.push_back(alignment140664475531904);
+
+ SeparationConstraint *separation140664475532128 = new SeparationConstraint(vpsc::YDIM, 88, 144, -50, true);
+ ccs.push_back(separation140664475532128);
+
+ AlignmentConstraint *alignment140664475532272 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475532272->addShape(90, 0);
+ alignment140664475532272->addShape(145, 0);
+ ccs.push_back(alignment140664475532272);
+
+ SeparationConstraint *separation140664475532496 = new SeparationConstraint(vpsc::YDIM, 90, 145, -50, true);
+ ccs.push_back(separation140664475532496);
+
+ AlignmentConstraint *alignment140664475532640 = new AlignmentConstraint(vpsc::YDIM, 0);
+ alignment140664475532640->addShape(91, 0);
+ alignment140664475532640->addShape(146, 0);
+ ccs.push_back(alignment140664475532640);
+
+ SeparationConstraint *separation140664475532864 = new SeparationConstraint(vpsc::XDIM, 91, 146, 62, true);
+ ccs.push_back(separation140664475532864);
+
+ AlignmentConstraint *alignment140664475533008 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475533008->addShape(92, 0);
+ alignment140664475533008->addShape(147, 0);
+ ccs.push_back(alignment140664475533008);
+
+ SeparationConstraint *separation140664475533232 = new SeparationConstraint(vpsc::YDIM, 92, 147, -50, true);
+ ccs.push_back(separation140664475533232);
+
+ AlignmentConstraint *alignment140664475533376 = new AlignmentConstraint(vpsc::XDIM, 0);
+ alignment140664475533376->addShape(93, 0);
+ alignment140664475533376->addShape(148, 0);
+ ccs.push_back(alignment140664475533376);
+
+ SeparationConstraint *separation140664475533600 = new SeparationConstraint(vpsc::YDIM, 93, 148, -50, true);
+ ccs.push_back(separation140664475533600);
+
+ RootCluster *cluster140664475533920 = new RootCluster();
+
+ RectangularCluster *cluster140664475534416 = new RectangularCluster(5);
+ cluster140664475534416->addChildNode(149);
+ cluster140664475534416->addChildNode(150);
+ cluster140664475534416->addChildNode(151);
+ cluster140664475534416->addChildNode(152);
+ cluster140664475533920->addChildCluster(cluster140664475534416);
+
+ RectangularCluster *cluster140664475535040 = new RectangularCluster(6);
+ cluster140664475535040->addChildNode(153);
+ cluster140664475533920->addChildCluster(cluster140664475535040);
+
+ RectangularCluster *cluster140664475535648 = new RectangularCluster(15);
+ cluster140664475533920->addChildCluster(cluster140664475535648);
+
+ RectangularCluster *cluster140664475535952 = new RectangularCluster(17);
+ cluster140664475535952->addChildNode(154);
+ cluster140664475535952->addChildNode(155);
+ cluster140664475533920->addChildCluster(cluster140664475535952);
+
+ RectangularCluster *cluster140664475536320 = new RectangularCluster(21);
+ cluster140664475536320->addChildNode(156);
+ cluster140664475533920->addChildCluster(cluster140664475536320);
+
+ RectangularCluster *cluster140664475536720 = new RectangularCluster(39);
+ cluster140664475533920->addChildCluster(cluster140664475536720);
+
+ RectangularCluster *cluster140664475537056 = new RectangularCluster(80);
+ cluster140664475537056->addChildNode(157);
+ cluster140664475533920->addChildCluster(cluster140664475537056);
+
+ ConstrainedFDLayout alg(rs, es, defaultEdgeLength);
+ alg.setAvoidNodeOverlaps(true);
+ alg.setClusterHierarchy(cluster140664475533920);
+ alg.setConstraints(ccs);
+ alg.makeFeasible();
+
+ alg.outputInstanceToSVG("test-rectclustershapecontainment");
+ //alg.run();
+ alg.freeAssociatedObjects();
+
+ return 0;
+};
diff --git a/src/3rdparty/adaptagrams/libcola/tests/resize.cpp b/src/3rdparty/adaptagrams/libcola/tests/resize.cpp
new file mode 100644
index 0000000..97c2e9d
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/resize.cpp
@@ -0,0 +1,132 @@
+/*
+ * vim: ts=4 sw=4 et tw=0 wm=0
+ *
+ * libcola - A library providing force-directed network layout using the
+ * stress-majorization method subject to separation constraints.
+ *
+ * Copyright (C) 2006-2008 Monash University
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library in the file LICENSE; if not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place,
+ * Suite 330, Boston, MA 02111-1307 USA
+ *
+*/
+
+/** \file nodedragging.cpp
+ *
+ * tests interaction with layout and solver. We have a number of disconnected
+ * shapes. One shape is "dragged" through the others. Overlaps should be
+ * avoided.
+ */
+/*
+* Authors:
+* Tim Dwyer <tgdwyer@gmail.com>
+*/
+#include <iostream>
+#include <iomanip>
+#include <fstream>
+
+#include <vector>
+#include <valarray>
+#include <algorithm>
+#include <float.h>
+#include <libcola/cola.h>
+#include <libtopology/topology_graph.h>
+#include <libproject/project.h>
+#include "graphlayouttest.h"
+using namespace std;
+using namespace cola;
+
+string outFName="resize";
+
+topology::Node* addNode(
+ topology::Nodes& vs, vpsc::Rectangle* r) {
+ topology::Node *v = new topology::Node(vs.size(), r);
+ vs.push_back(v);
+ return v;
+}
+void addToPath(topology::EdgePoints& ps, topology::Node *v, topology::EdgePoint::RectIntersect i) {
+ ps.push_back(new topology::EdgePoint(v,i));
+}
+struct Test : TestConvergence {
+ Test(const double d,const unsigned i,topology::Nodes& vs, topology::Edges& es) : TestConvergence(d,i), vs(vs), es(es), iter(1) {}
+ bool operator()(const double new_stress, valarray<double> & X, valarray<double> & Y) {
+ bool converged = TestConvergence::operator()(new_stress,X,Y);
+ if(converged) {
+ cout << "stress="<<new_stress<<" iteration="<<iter<<endl;
+ stringstream ss;
+ ss<<outFName<<"-"<< setfill('0') << setw(3) << iter++ << ".svg";
+ writeFile(vs,es,ss.str());
+ }
+ return converged;
+ }
+ double lastStress;
+ topology::Nodes& vs;
+ topology::Edges& es;
+ int iter;
+};
+
+void resize() {
+//printf(
+//"tests resizing of a shape. We have a number of disconnected"
+//"shapes. One shape is 'enlarged'. Overlaps should be"
+//"avoided."
+//"\n");
+ const unsigned V = 9;
+ Edge edge_array[] = { Edge(0, 1), Edge(1, 2), Edge(2, 0) };
+ const std::size_t E = sizeof(edge_array) / sizeof(Edge);
+ vector<Edge> es(edge_array,edge_array+E);
+ vector<vpsc::Rectangle*> rs;
+ const double w=54, h=34;
+ const double
+ x[]={406, 444, 474, 406, 441, 375, 408, 373, 339},
+ y[]={279, 224, 179, 92, 135, 135, 179, 226, 179};
+ const unsigned resizeID=6;
+ for(unsigned i=0;i<V;++i) {
+ rs.push_back(new vpsc::Rectangle(x[i],x[i]+w,y[i],y[i]+h));
+ }
+ double idealLength=60;
+ // set up topology graph
+ topology::Nodes vs;
+ for(vector<Rectangle*>::iterator i = rs.begin(); i!=rs.end();++i) {
+ addNode(vs,*i);
+ }
+ topology::Edges tes;
+ writeFile(vs,tes,outFName+"-000.svg");
+
+ Resizes resize;
+ vpsc::Rectangle* r=rs[resizeID];
+ resize.push_back(Resize(resizeID,r->getCentreX()-30, r->getCentreY()-30,
+ r->width()+60,r->height()+60));
+ PreIteration preIteration(resize);
+ Test test(0.00001,100,vs,tes);
+ ConstrainedFDLayout alg(rs,es,idealLength,nullptr,test,&preIteration);
+ alg.setTopology(&vs,&tes);
+
+ alg.run(true,true);
+
+ double finalStress=alg.computeStress();
+ printf("finalStress=%f\n",finalStress);
+
+ //assert(finalStress<1e-5);
+ for_each(rs.begin(),rs.end(),delete_object());
+ for_each(tes.begin(),tes.end(),delete_object());
+ for_each(vs.begin(),vs.end(),delete_object());
+}
+int main() {
+ resize();
+ return 0;
+}
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=4:softtabstop=4:textwidth=80 :
+
diff --git a/src/3rdparty/adaptagrams/libcola/tests/runtest.sh b/src/3rdparty/adaptagrams/libcola/tests/runtest.sh
new file mode 100755
index 0000000..2ee1526
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/runtest.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+r=0
+while [ $r == 0 ]
+do
+ ./beautify
+ r=$?
+ echo result=$r
+done
diff --git a/src/3rdparty/adaptagrams/libcola/tests/scale_free.cpp b/src/3rdparty/adaptagrams/libcola/tests/scale_free.cpp
new file mode 100644
index 0000000..d9c2934
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/scale_free.cpp
@@ -0,0 +1,135 @@
+/*
+ * vim: ts=4 sw=4 et tw=0 wm=0
+ *
+ * libcola - A library providing force-directed network layout using the
+ * stress-majorization method subject to separation constraints.
+ *
+ * Copyright (C) 2006-2008 Monash University
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library in the file LICENSE; if not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place,
+ * Suite 330, Boston, MA 02111-1307 USA
+ *
+*/
+
+// generates a random graph with a power-law distribution of node degrees
+// the algorithm is pretty much the Barabasi-Albert model but with an extra step
+// so that I can guarantee the number of nodes in the graph.
+// We begin with an initial chain of m nodes.
+// Then, we add new nodes, connecting them to existing nodes v with probability
+// degree(v)/(sum all degrees)
+// We perform an extra step, looking for disconnected nodes, connecting them
+// to other nodes again with probability dependent on degree
+#include<iostream>
+#include<vector>
+#include <cmath>
+#include <time.h>
+#include <valarray>
+
+#include "graphlayouttest.h"
+
+void scale_free(const unsigned n = 50) {
+ const unsigned m = 3; // begin with a chain of m nodes
+ const double g=0.08; // edge density, every time we add a node we add 1+g*rand(0-1) edges
+ // connecting them to existing nodes with probability based on degree
+ unsigned d[n];
+ double defaultEdgeLength=100;
+ vector<Edge> es;
+ CompoundConstraints cx,cy;
+ for(unsigned i=0;i<n;i++) {
+ d[i]=0;
+ }
+ unsigned sumdegree=0;
+ for(unsigned i=1;i<m;i++) {
+ es.push_back(make_pair(i-1,i));
+ d[i]++;d[i-1]++;
+ sumdegree+=2;
+ }
+ srand(3);
+ for(unsigned i=2;i<n;i++) {
+ for(unsigned j=0;j<i;j++) {
+ double p=(double)d[j]/(double)sumdegree;
+ double r=(double)rand()/(double)RAND_MAX;
+ if(r*p>g) {
+ es.push_back(make_pair(j,i));
+ d[j]++;d[i]++;
+ sumdegree+=2;
+ }
+ }
+ }
+ for(unsigned i=0;i<n;i++) {
+ if(d[i]==0) {
+ double maxP=0;
+ unsigned end=0;
+ for(unsigned j=0;j<n;j++) {
+ if(j==i) continue;
+ double p=(double)d[j]/(double)sumdegree;
+ double r=(double)rand()/(double)RAND_MAX;
+ if(r*p>maxP) {
+ maxP=r*p;
+ end=j;
+ }
+ }
+ if(end>i) {
+ es.push_back(make_pair(i,end));
+ } else {
+ es.push_back(make_pair(end,i));
+ }
+ d[end]++;d[i]++;
+ sumdegree+=2;
+ }
+ }
+ valarray<double> eweights(es.size());
+ sort(d,d+n);
+ unsigned degree=0,ctr=0;
+ printf("degree distribution:\n");
+ for(unsigned i=0;i<n;i++) {
+ if(degree!=d[i]) {
+ if(degree!=0) printf("%d,%d\n",degree,ctr);
+ degree=d[i];
+ ctr=0;
+ }
+ ctr++;
+ }
+ printf("%d,%d\n",degree,ctr);
+ for(unsigned i=0;i<es.size();i++) {
+ unsigned a=es[i].first, b=es[i].second;
+ eweights[i]=1;
+ cy.push_back(new SeparationConstraint(a,b,defaultEdgeLength/3));
+ }
+
+ cout << "|V|="<<n<<endl;
+ double width=1000;
+ double height=1000;
+ vector<pair<double,double> > startpos(n);
+ for(unsigned i=0;i<n;i++) {
+ double x=getRand(width), y=getRand(height);
+ startpos[i]=make_pair(x,y);
+ }
+ const char *f="scalefree";
+ //run_test(startpos,es,defaultEdgeLength,cx,cy,CG,false,f,"cg");
+ //run_test(startpos,es,defaultEdgeLength,cx,cy,IP,false,f,"ip");
+ //run_test(startpos,es,defaultEdgeLength,cx,cy,UGP,false,f,"ugp");
+ //run_test(startpos,es,defaultEdgeLength,cx,cy,SGP,false,f,"sgp");
+ //run_test(startpos,es,defaultEdgeLength,cx,cy,IP,true,f,"cip");
+ //run_test(startpos,es,defaultEdgeLength,cx,cy,UGP,true,f,"cugp");
+ run_test(startpos,es,defaultEdgeLength,cx,cy,SGP,true,f,"csgp");
+}
+int main() {
+ for(unsigned i=1;i<2;i++) {
+ scale_free(i*50);
+ }
+ return 0;
+}
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=4:softtabstop=4:textwidth=99 :
diff --git a/src/3rdparty/adaptagrams/libcola/tests/shortest_paths.cpp b/src/3rdparty/adaptagrams/libcola/tests/shortest_paths.cpp
new file mode 100644
index 0000000..617f136
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/shortest_paths.cpp
@@ -0,0 +1,140 @@
+/*
+ * vim: ts=4 sw=4 et tw=0 wm=0
+ *
+ * libcola - A library providing force-directed network layout using the
+ * stress-majorization method subject to separation constraints.
+ *
+ * Copyright (C) 2006-2008 Monash University
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library in the file LICENSE; if not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place,
+ * Suite 330, Boston, MA 02111-1307 USA
+ *
+*/
+
+#include <fstream>
+#include <iostream>
+#include <iomanip>
+//#define TEST_AGAINST_BOOST
+#ifdef TEST_AGAINST_BOOST
+#include <boost/config.hpp>
+#include <boost/property_map.hpp>
+#include <boost/graph/adjacency_list.hpp>
+#include <boost/graph/graphviz.hpp>
+#include <boost/graph/johnson_all_pairs_shortest.hpp>
+using namespace boost;
+#endif // TEST_AGAINST_BOOST
+#include <libcola/shortest_paths.h>
+#include <cmath>
+#include <time.h>
+#include <assert.h>
+
+using namespace std;
+// creates a (not necessarily connected random graph) with n nodes.
+vector<shortest_paths::Edge> random_graph(unsigned n) {
+ vector<shortest_paths::Edge> edges;
+ for(unsigned i=0;i<n;i++) {
+ for(unsigned j=i+1;j<n;j++) {
+ double r=(double)rand()/(double)RAND_MAX;
+ if(r < 0.1) {
+ edges.push_back(make_pair(i,j));
+ }
+ }
+ }
+
+ return edges;
+}
+clock_t lastTime;
+static void resetClock() {
+ lastTime=clock();
+}
+static double getRunTime() {
+ clock_t time = clock()-lastTime;
+ return (double)time/(double)CLOCKS_PER_SEC;
+}
+
+int
+main(void)
+{
+ bool dump=false;
+ srand(time(0));
+#ifdef TEST_AGAINST_BOOST
+ typedef adjacency_list<vecS, vecS, undirectedS, no_property,
+ property< edge_weight_t, double, property< edge_weight2_t, double > > > Graph;
+ Graph g;
+#endif
+ unsigned V = 100;
+ vector<shortest_paths::Edge> es = random_graph(V);
+ unsigned E=es.size();
+ cout << " Test graph |V|="<<V<<",|E|="<<E<<endl;
+ valarray<double> weights(E);
+ for(unsigned i=0;i<E;i++) {
+ weights[i]=round((static_cast<double>(rand())/static_cast<double>(RAND_MAX))*10);
+#ifdef TEST_AGAINST_BOOST
+ add_edge(es[i].first,es[i].second,weights[i],g);
+#endif
+ }
+
+#ifdef TEST_AGAINST_BOOST
+ vector < double >d(V, (numeric_limits < double >::max)());
+ typedef vector<double> weight_vec;
+ vector<weight_vec> D(V,weight_vec(V));
+ cout<<"Running boost::johnson_all_pairs_shortest_paths..."<<endl;
+ resetClock();
+ johnson_all_pairs_shortest_paths(g, D, distance_map(&d[0]));
+ cout<<" ...done, time="<<getRunTime()<<endl;
+#endif
+ double** D1=new double*[V];
+ for(unsigned i=0;i<V;i++) {
+ D1[i]=new double[V];
+ }
+ cout<<"Running shortest_paths::johnsons..."<<endl;
+ resetClock();
+ shortest_paths::johnsons(V,D1,es,weights);
+ cout<<" ...done, time="<<getRunTime()<<endl;
+ double** D2=new double*[V];
+ for(unsigned i=0;i<V;i++) {
+ D2[i]=new double[V];
+ }
+ cout<<"Running shortest_paths::floyd_warshall..."<<endl;
+ resetClock();
+ shortest_paths::floyd_warshall(V,D2,es,weights);
+ cout<<" ...done, time="<<getRunTime()<<endl;
+
+ for (unsigned int i = 0; i < V; ++i) {
+ if(dump) cout << i << " -> ";
+ for (unsigned int j = 0; j < V; ++j) {
+ if(dump) cout << setw(5) << D1[i][j];
+ assert(D1[i][j]==D2[i][j]);
+#ifdef TEST_AGAINST_BOOST
+ assert(D[i][j]==D2[i][j]);
+#endif
+ }
+ if(dump) cout << endl;
+ }
+#ifdef TEST_AGAINST_BOOST
+ if(dump) {
+ ofstream fout("figs/johnson-eg.dot");
+ fout << "graph A {\n" << "node[shape=\"circle\"]\n";
+
+ graph_traits < Graph >::edge_iterator ei, ei_end;
+ for (tie(ei, ei_end) = edges(g); ei != ei_end; ++ei)
+ fout << source(*ei, g) << " -- " << target(*ei, g)
+ << "[label=" << get(edge_weight, g)[*ei] << "]\n";
+
+ fout << "}\n";
+ }
+#endif
+ return 0;
+}
diff --git a/src/3rdparty/adaptagrams/libcola/tests/small_graph.cpp b/src/3rdparty/adaptagrams/libcola/tests/small_graph.cpp
new file mode 100644
index 0000000..53103c9
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/small_graph.cpp
@@ -0,0 +1,111 @@
+/*
+ * vim: ts=4 sw=4 et tw=0 wm=0
+ *
+ * libcola - A library providing force-directed network layout using the
+ * stress-majorization method subject to separation constraints.
+ *
+ * Copyright (C) 2006-2008 Monash University
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library in the file LICENSE; if not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place,
+ * Suite 330, Boston, MA 02111-1307 USA
+ *
+*/
+
+// Loads a graph from a text file, generates constraints for each edge requiring them
+// to point downwards, and proceeds to produce a layout using libcola.
+// The input file format is 2 numeric node labels per line separated by a space,
+// each pair representing a directed edge. Node labels are simply used as array
+// offsets so they should start from 0.
+// The graph should be connected.
+// Default input file is the matrix market 1138_bus graph.
+// Running times:
+// no constraints - steepest descent solver: 149 seconds
+// no constraints - conjugate gradient solver: 21.7 seconds
+// dir-edge constraints - conj grad. solver: 155.69 seconds
+#include<iostream>
+#include<iomanip>
+#include<fstream>
+#include<vector>
+#include<valarray>
+#include<libcola/output_svg.h>
+#include<graphlayouttest.h>
+
+using namespace std;
+using namespace cola;
+
+struct CheckProgress : TestConvergence {
+ CheckProgress(const double d,const unsigned i) : TestConvergence(d,i) {}
+ bool operator()(const double new_stress, valarray<double> & X, valarray<double> & Y) {
+ cout << "stress="<<new_stress<<endl;
+ return TestConvergence::operator()(new_stress,X,Y);
+ }
+};
+int main() {
+ const char *fname="data/wheel.txt"; //"data/dg_850.txt";
+ ifstream f(fname);
+ if(!f.is_open()) {
+ cout << "Error opening file: " << fname << endl;
+ exit(1);
+ }
+ string startlabel, endlabel;
+ unsigned V = 0;
+ double defaultEdgeLength=40;
+ vector<Edge> es;
+ CompoundConstraints cy;
+ //CompoundConstraints cx;
+ while(!getline(f,startlabel,' ').eof()) {
+ getline(f,endlabel);
+ unsigned start = atoi(startlabel.c_str()),
+ end = atoi(endlabel.c_str());
+ es.push_back(make_pair(start,end));
+ //cx.push_back(
+ //new SeparationConstraint(start,end,defaultEdgeLength/3));
+ cy.push_back(
+ new SeparationConstraint(start,end,defaultEdgeLength/3));
+ V=max(V,max(start,end));
+ }
+ V++;
+ cout << "V="<<V<<endl;
+ double width=1000;
+ double height=1000;
+ vector<vpsc::Rectangle*> rs;
+ //srand(time(nullptr));
+ for(unsigned i=0;i<V;i++) {
+ double x=getRand(width), y=getRand(height);
+ rs.push_back(new vpsc::Rectangle(x,x+1,y,y+1));
+ }
+ CheckProgress test(0.001,100);
+ clock_t starttime=clock();
+ ConstrainedMajorizationLayout alg(rs,es,nullptr,defaultEdgeLength,nullptr,test);
+ bool constrained=false;
+ if(!constrained) {
+ cout << "Unconstrained layout" << endl;
+ alg.setConstrainedLayout(true);
+ alg.run();
+ } else {
+ cout << "Constrained layout" << endl;
+ //alg.setXConstraints(&cx);
+ alg.setYConstraints(&cy);
+ alg.run();
+ }
+ double t=double(clock()-starttime)/double(CLOCKS_PER_SEC);
+ cout<<"Time="<<t<<endl;
+ output_svg(rs,es,nullptr,"small_graph.svg",true);
+ for(unsigned i=0;i<V;i++) {
+ delete rs[i];
+ }
+ return 0;
+}
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=4:softtabstop=4:textwidth=99 :
diff --git a/src/3rdparty/adaptagrams/libcola/tests/sparse_matrix.cpp b/src/3rdparty/adaptagrams/libcola/tests/sparse_matrix.cpp
new file mode 100644
index 0000000..099fcf3
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/sparse_matrix.cpp
@@ -0,0 +1,88 @@
+/*
+ * vim: ts=4 sw=4 et tw=0 wm=0
+ *
+ * libcola - A library providing force-directed network layout using the
+ * stress-majorization method subject to separation constraints.
+ *
+ * Copyright (C) 2006-2008 Monash University
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library in the file LICENSE; if not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place,
+ * Suite 330, Boston, MA 02111-1307 USA
+ *
+*/
+
+#include <map>
+#include <valarray>
+#include <libcola/sparse_matrix.h>
+#include <boost/numeric/ublas/matrix_sparse.hpp>
+#include <boost/numeric/ublas/vector.hpp>
+#include <boost/numeric/ublas/io.hpp>
+#include <time.h>
+#include <cmath>
+
+using namespace boost::numeric::ublas;
+int sparse_test(const unsigned n, cola::SparseMatrix::SparseMap& cm, mapped_matrix<double>& bm) {
+ printf("Sparse test...");
+ srand(time(0));
+ for (unsigned i = 0; i < n; ++ i) {
+ for (unsigned j = 0; j < n; ++ j) {
+ double r=(double)rand()/(double)RAND_MAX;
+ double s=(double)rand()/(double)RAND_MAX;
+ if(r < 0.2) {
+ cm[std::make_pair(i,j)] = s;
+ bm (i, j) = s;
+ }
+ }
+ }
+}
+int dense_test(const unsigned n, cola::SparseMatrix::SparseMap& cm, mapped_matrix<double>& bm) {
+ printf("Dense test...");
+ for (unsigned i = 0; i < n; ++ i) {
+ for (unsigned j = 0; j < n; ++ j) {
+ bm (i, j) = n * i + j;
+ cm[std::make_pair(i,j)]=bm(i,j);
+ }
+ }
+}
+
+void test(int (*generate)(const unsigned, cola::SparseMatrix::SparseMap&, mapped_matrix<double>&)) {
+ using std::valarray;
+ const unsigned n = 20;
+ mapped_matrix<double> bm (n, n, n * n);
+ cola::SparseMatrix::SparseMap cm;
+ generate(n,cm,bm);
+ vector<double> bv (n);
+ valarray<double> cv(n);
+ for (unsigned i = 0; i < n; ++ i) {
+ bv(i) = i;
+ cv[i] = i;
+ }
+ vector<double> br(n);
+ valarray<double> cr(n);
+ cola::SparseMatrix a(cm,n);
+ br=prod(bm,bv);
+ a.rightMultiply(cv,cr);
+ for (unsigned i = 0; i < n; ++ i) {
+ assert(fabs(cr[i]-br(i))<0.000001);
+ }
+ printf(" passed!\n");
+}
+int main() {
+ test(&dense_test);
+ test(&sparse_test);
+ return 0;
+}
+
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=4:softtabstop=4 :
diff --git a/src/3rdparty/adaptagrams/libcola/tests/test_cg.cpp b/src/3rdparty/adaptagrams/libcola/tests/test_cg.cpp
new file mode 100644
index 0000000..13e7d02
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/test_cg.cpp
@@ -0,0 +1,164 @@
+/*
+ * vim: ts=4 sw=4 et tw=0 wm=0
+ *
+ * libcola - A library providing force-directed network layout using the
+ * stress-majorization method subject to separation constraints.
+ *
+ * Copyright (C) 2006-2008 Monash University
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library in the file LICENSE; if not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place,
+ * Suite 330, Boston, MA 02111-1307 USA
+ *
+*/
+
+#include <stdio.h>
+#include <cassert>
+#include <libcola/conjugate_gradient.h>
+#include <gsl/gsl_linalg.h>
+
+using std::valarray;
+
+static valarray<double>
+outer_prod(valarray<double> x, valarray<double> y) {
+ valarray<double> result(x.size()*y.size());
+ for(int j = 0; j < x.size(); j++) {
+ for(int i = 0; i < y.size(); i++) {
+ result[j*y.size() + i] = x[j]*y[i];
+ }
+ }
+ return result;
+}
+
+static double
+uniform() {
+ return double(rand())/ RAND_MAX;
+}
+
+static void
+matrix_times_vector(valarray<double> const &matrix, /* m * n */
+ valarray<double> const &vec, /* n */
+ valarray<double> &result) /* m */
+{
+ unsigned n = vec.size();
+ unsigned m = result.size();
+ assert(m*n == matrix.size());
+ const double* mp = &matrix[0];
+ for (unsigned i = 0; i < m; i++) {
+ double res = 0;
+ for (unsigned j = 0; j < n; j++)
+ res += *mp++ * vec[j];
+ result[i] = res;
+ }
+}
+
+static double
+Linfty(valarray<double> const &vec) {
+ return std::max(vec.max(), -vec.min());
+}
+
+int
+main (void)
+{
+ double tolerance = 1e-6;
+ for(int iters = 0; iters < 100; iters++) {
+ const unsigned N = unsigned(uniform()*40) + 1;
+ double A_data[N*N];
+ printf("%ux%u matrix\n", N,N);
+ for(int r = 0; r < N; r++) {
+ for(int c = 0; c <= r; c++) {
+ A_data[r*N + c] = A_data[c*N + r] = fabs(uniform());
+ }
+ }
+
+ double * A_c[N];
+ for(int i = 0; i < N; i++)
+ A_c[i] = &A_data[N*i];
+
+ double b_data[N];
+ for(int i = 0; i < N; i++)
+ b_data[i] = uniform()*3;
+ std::valarray<double> b(b_data, N), xx(0.0, N);
+ std::valarray<double> A(A_data, N*N);
+
+ conjugate_gradient(A, xx, b, N, tolerance, 2*N);
+
+ gsl_matrix_view m
+ = gsl_matrix_view_array (A_data, N, N);
+ gsl_vector_view bgsl
+ = gsl_vector_view_array (b_data, N);
+
+ gsl_vector *xgsl = gsl_vector_alloc (N);
+
+ int s;
+
+ gsl_permutation * p = gsl_permutation_alloc (N);
+
+ gsl_linalg_LU_decomp (&m.matrix, p, &s);
+
+ gsl_linalg_LU_solve (&m.matrix, p, &bgsl.vector, xgsl);
+
+ std::valarray<double> gsl_xx(0.0, N);
+ for(unsigned i = 0; i < xx.size(); i++) {
+ gsl_xx[i] = gsl_vector_get(xgsl, i);
+ }
+
+ double err = Linfty(xx - gsl_xx);
+ printf ("|xx-nxgsl|_infty = %g\n", err);
+ if(err > tolerance) {
+#if 0 //dubious value
+ for(int r = 0; r < N; r++) {
+ for(int c = 0; c < N; c++) {
+ printf("%g ", A_data[r*N + c]);
+ }
+ printf("\n");
+ }
+#endif
+ printf("\nx njh-cg = \n");
+ for(unsigned i = 0; i < xx.size(); i++)
+ printf("%g ", xx[i]);
+ printf("\nxgsl = ");
+ for(unsigned i = 0; i < xx.size(); i++)
+ printf("%g ", gsl_xx[i]);
+ printf("\n");
+ valarray<double> result(0.0,N);
+ matrix_times_vector(A, xx, result);
+ result -= b;
+ printf("\nA xx -b = ");
+ for(unsigned i = 0; i < xx.size(); i++)
+ printf("%g ", result[i]);
+ printf("\n");
+ matrix_times_vector(A, gsl_xx, result);
+ result -= b;
+ printf("\nA gsl_xx -b = ");
+ for(unsigned i = 0; i < xx.size(); i++)
+ printf("%g ", result[i]);
+ printf("\n");
+
+ printf("FAILED!!!!!!!!!!!!!!!!!!!!!!!!\n");
+ exit(1);
+ }
+ }
+ return 0;
+}
+/*
+ Local Variables:
+ mode:c++
+ c-file-style:"stroustrup"
+ c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
+ indent-tabs-mode:nil
+ fill-column:99
+ End:
+*/
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=4:softtabstop=4
diff --git a/src/3rdparty/adaptagrams/libcola/tests/topology.cpp b/src/3rdparty/adaptagrams/libcola/tests/topology.cpp
new file mode 100644
index 0000000..4c94ef7
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/topology.cpp
@@ -0,0 +1,177 @@
+/*
+ * vim: ts=4 sw=4 et tw=0 wm=0
+ *
+ * libcola - A library providing force-directed network layout using the
+ * stress-majorization method subject to separation constraints.
+ *
+ * Copyright (C) 2006-2008 Monash University
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library in the file LICENSE; if not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place,
+ * Suite 330, Boston, MA 02111-1307 USA
+ *
+*/
+
+/** \file topology.cpp
+ *
+ * tests topology preserving layout. graph is a triangle.
+ * We have a fourth disconnected node starting inside the triangle.
+ * We give the disconnected node a desired position outside the triangle
+ * and begin layout. Layout should converge to near zero stress as all
+ * edges should be able to reach their desired lengths, and disconnected
+ * node should still be inside the triangle at the end.
+ *
+ *
+ * Authors:
+ * Tim Dwyer <tgdwyer@gmail.com>
+ */
+#include <iostream>
+#include <iomanip>
+#include <fstream>
+
+#include <vector>
+#include <valarray>
+#include <algorithm>
+#include <float.h>
+#include <libcola/cola.h>
+#include <libtopology/topology_graph.h>
+#include "graphlayouttest.h"
+using namespace std;
+using namespace cola;
+
+topology::Node* addNode(
+ topology::Nodes& vs, vpsc::Rectangle* r) {
+ topology::Node *v = new topology::Node(vs.size(), r);
+ vs.push_back(v);
+ return v;
+}
+void addToPath(topology::EdgePoints& ps, topology::Node *v, topology::EdgePoint::RectIntersect i) {
+ ps.push_back(new topology::EdgePoint(v,i));
+}
+struct SetDesiredPos : public PreIteration {
+ SetDesiredPos(Locks& locks) : PreIteration(locks) {}
+ bool operator()() {
+ return true;
+ }
+};
+void writeFile(const topology::Nodes& vs, const topology::Edges& es, const char *outputFileName) {
+ const unsigned n=vs.size();
+ vector<cola::Edge> cedges;
+
+ for(unsigned i=0;i<es.size();i++) {
+ cedges.push_back(make_pair(1,2));
+ }
+
+ vector<straightener::Route*> routes;
+ for(topology::Edges::const_iterator e=es.begin();e!=es.end();++e) {
+ routes.push_back((*e)->getRoute());
+ }
+
+ vector<string> labels(n);
+ for(unsigned i=0;i<n;++i) {
+ stringstream ss;
+ ss << i;
+ labels[i]=ss.str();
+ }
+
+ vector<vpsc::Rectangle*> rs;
+ for(topology::Nodes::const_iterator i=vs.begin();i!=vs.end();++i) {
+ rs.push_back((*i)->rect);
+ }
+ OutputFile of(rs,cedges,nullptr,outputFileName,true,false);
+ of.setLabels(labels);
+ of.routes=&routes;
+ of.generate();
+
+ for_each(routes.begin(),routes.end(),delete_object());
+}
+struct Test : TestConvergence {
+ Test(const double d,const unsigned i,topology::Nodes& vs, topology::Edges& es) : TestConvergence(d,i), vs(vs), es(es) {}
+ bool operator()(const double new_stress, valarray<double> & X, valarray<double> & Y) {
+ cout << "stress="<<new_stress<<" iteration="<<iterations<<endl;
+ stringstream ss;
+ ss << "topology-" << setfill('0') << setw(3) << ++iterations << ".svg";
+ writeFile(vs,es,ss.str().c_str());
+ if(iterations<100) {
+ return false;
+ }
+ return true;
+ return TestConvergence::operator()(new_stress,X,Y);
+ }
+ double lastStress;
+ topology::Nodes& vs;
+ topology::Edges& es;
+};
+void randomMove(int i) {
+ printf("We have a triangle of three connected nodes and a fourth disconnected node. We set the fourth node's desired position at a point some random direction outside the triangle.\n");
+ printf("Using srand=%d\n",i);
+ srand(i);
+ const unsigned V = 4;
+ Edge edge_array[] = { Edge(0, 1), Edge(1, 2), Edge(2, 0) };
+ const std::size_t E = sizeof(edge_array) / sizeof(Edge);
+ vector<Edge> es(edge_array,edge_array+E);
+ vector<vpsc::Rectangle*> rs;
+ double x[]={200,250,300,250},y[]={200,250,200,225},size=10;
+ for(unsigned i=0;i<V;++i) {
+ rs.push_back(new vpsc::Rectangle(x[i],x[i]+size,y[i],y[i]+size));
+ }
+ double idealLength=60;
+ // set up topology graph
+ topology::Nodes vs;
+ for(vector<Rectangle*>::iterator i = rs.begin(); i!=rs.end();++i) {
+ addNode(vs,*i);
+ }
+ topology::Edges tes;
+ unsigned eID=0;
+ for(vector<Edge>::iterator e=es.begin();e!=es.end();++e, ++eID) {
+ topology::EdgePoints ps;
+ addToPath(ps,vs[e->first],topology::EdgePoint::CENTRE);
+ addToPath(ps,vs[e->second],topology::EdgePoint::CENTRE);
+ tes.push_back(new topology::Edge(eID, idealLength, ps));
+ }
+ writeFile(vs,tes,"topology-000.svg");
+ Locks locks;
+ // we move the 4th node somewhere outside the triangle. The triangle should be
+ // dragged along!
+ const double PI = 2.0*acos(0.0);
+ double angle = getRand(2.0*PI);
+ double dx=150*cos(angle), dy=150*sin(angle);
+
+ double lx=rs[3]->getCentreX()+dx,
+ ly=rs[3]->getCentreY()+dy;
+ //double lx=353.886210, ly=342.789705;
+ locks.push_back(Lock(3,lx,ly));
+ printf(" Lock: %f,%f\n",lx,ly);
+ SetDesiredPos preIteration(locks);
+ Test test(0.00001,100,vs,tes);
+ ConstrainedFDLayout alg(rs,es,idealLength,nullptr,test,&preIteration);
+
+ alg.setTopology(&vs,&tes);
+ alg.run(true,true);
+ double finalStress=alg.computeStress();
+ printf("finalStress=%f\n",finalStress);
+
+ //assert(finalStress<1e-5);
+ for_each(rs.begin(),rs.end(),delete_object());
+ for_each(tes.begin(),tes.end(),delete_object());
+ for_each(vs.begin(),vs.end(),delete_object());
+}
+int main() {
+ unsigned i=0;
+ for(;i<1;i++) {
+ randomMove(i);
+ }
+ return 0;
+}
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=4:softtabstop=4:textwidth=80 :
diff --git a/src/3rdparty/adaptagrams/libcola/tests/trees.cpp b/src/3rdparty/adaptagrams/libcola/tests/trees.cpp
new file mode 100644
index 0000000..72fb296
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/trees.cpp
@@ -0,0 +1,103 @@
+/*
+ * vim: ts=4 sw=4 et tw=0 wm=0
+ *
+ * libcola - A library providing force-directed network layout using the
+ * stress-majorization method subject to separation constraints.
+ *
+ * Copyright (C) 2006-2008 Monash University
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library in the file LICENSE; if not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place,
+ * Suite 330, Boston, MA 02111-1307 USA
+ *
+*/
+
+#include<iostream>
+#include<vector>
+#include <cmath>
+#include <time.h>
+#include <valarray>
+
+#include "graphlayouttest.h"
+
+using namespace std;
+using namespace cola;
+
+void makeEdge(unsigned u, unsigned v,
+ vector<Edge> &edges, CompoundConstraints &cy) {
+ edges.push_back(make_pair(u,v));
+ cy.push_back(new SeparationConstraint(u,v,20));
+}
+vector<Edge> random_tree(unsigned depth, unsigned maxbranch, unsigned &V,
+ CompoundConstraints &cx, CompoundConstraints &cy) {
+ vector<Edge> edges;
+ unsigned lstart=0, lend=1;
+ V=0;
+ for(unsigned i=0;i<depth;i++) {
+ for(unsigned j=lstart;j<lend;j++) {
+ //makeEdge(j,++V,edges,cy);
+ //makeEdge(j,++V,edges,cy);
+ for(unsigned k=0;k<maxbranch;k++) {
+ double r=(double)rand()/(double)RAND_MAX;
+ if(r < 0.5) {
+ makeEdge(j,++V,edges,cy);
+ }
+ }
+ }
+ lstart=lend;
+ lend=V+1;
+ }
+ V++;
+ DFS::Graph dfs(V,edges);
+ for(unsigned i=1;i<dfs.order.size();i++) {
+ cx.push_back(
+ new SeparationConstraint(dfs.order[i-1],dfs.order[i],0.5));
+ }
+ /*
+ for(unsigned i=0;i<dfs.leaves.size();i++) {
+ for(unsigned j=1;j<dfs.leaves[i].size();j++) {
+ cx.push_back(
+ new SeparationConstraint(dfs.leaves[i][j-1],dfs.leaves[i][j],10));
+ }
+ }
+ */
+ return edges;
+}
+int main() {
+ unsigned V;
+ CompoundConstraints cx,cy;
+ //srand(time(nullptr));
+ srand(3);
+ vector<Edge> es = random_tree(7,4,V,cx,cy);
+ double defaultEdgeLength=40;
+
+ cout << "V="<<V<<endl;
+ double width=1000;
+ double height=1000;
+ vector<pair<double,double> > startpos(V);
+ for(unsigned i=0;i<V;i++) {
+ double x=getRand(width), y=getRand(height);
+ startpos[i]=make_pair(x,y);
+ }
+ const char *testname="trees";
+ run_test(startpos,es,defaultEdgeLength,cx,cy,CG,false,testname,"cg");
+ run_test(startpos,es,defaultEdgeLength,cx,cy,IP,false,testname,"ip");
+ run_test(startpos,es,defaultEdgeLength,cx,cy,SGP,false,testname,"sgp");
+ run_test(startpos,es,defaultEdgeLength,cx,cy,UGP,false,testname,"ugp");
+ run_test(startpos,es,defaultEdgeLength,cx,cy,IP,true,testname,"cip");
+ run_test(startpos,es,defaultEdgeLength,cx,cy,SGP,true,testname,"csgp");
+ run_test(startpos,es,defaultEdgeLength,cx,cy,UGP,true,testname,"cugp");
+ return 0;
+}
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=4:softtabstop=4:textwidth=99 :
diff --git a/src/3rdparty/adaptagrams/libcola/tests/unconstrained.cpp b/src/3rdparty/adaptagrams/libcola/tests/unconstrained.cpp
new file mode 100644
index 0000000..f6f112b
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/unconstrained.cpp
@@ -0,0 +1,71 @@
+/*
+ * vim: ts=4 sw=4 et tw=0 wm=0
+ *
+ * libcola - A library providing force-directed network layout using the
+ * stress-majorization method subject to separation constraints.
+ *
+ * Copyright (C) 2006-2008 Monash University
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library in the file LICENSE; if not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place,
+ * Suite 330, Boston, MA 02111-1307 USA
+ *
+*/
+
+/** \file unconstrained.cpp
+ *
+ * Unconstrained graph layout test. Simple graph with 4 nodes and 4 edges,
+ * a triangle with a dangle. Final stress checked.
+ *
+ *
+ * Authors:
+ * Tim Dwyer <tgdwyer@gmail.com>
+ */
+#include <iostream>
+#include <fstream>
+
+#include <vector>
+#include <valarray>
+#include <algorithm>
+#include <float.h>
+#include "graphlayouttest.h"
+using namespace std;
+
+using namespace cola;
+int main() {
+
+ const unsigned V = 4;
+ Edge edge_array[] = { Edge(0, 1), Edge(1, 2), Edge(2, 3), Edge(1, 3) };
+ const std::size_t E = sizeof(edge_array) / sizeof(Edge);
+ vector<Edge> es(E);
+ copy(edge_array,edge_array+E,es.begin());
+ double width=100;
+ double height=100;
+ vector<vpsc::Rectangle*> rs;
+ for(unsigned i=0;i<V;i++) {
+ double x=getRand(width), y=getRand(height);
+ rs.push_back(new vpsc::Rectangle(x,x+5,y,y+5));
+ }
+ CheckProgress test(1e-9,100);
+ ConstrainedFDLayout alg(rs,es,width/2,nullptr,&test);
+ alg.run();
+ double stress = alg.computeStress();
+ assert(stress < 0.0013);
+ OutputFile output(rs,es,nullptr,"unconstrained.svg");
+ output.generate();
+ for(unsigned i=0;i<V;i++) {
+ delete rs[i];
+ }
+ return 0;
+}
diff --git a/src/3rdparty/adaptagrams/libcola/tests/unsatisfiable.cpp b/src/3rdparty/adaptagrams/libcola/tests/unsatisfiable.cpp
new file mode 100644
index 0000000..4e768f7
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/unsatisfiable.cpp
@@ -0,0 +1,85 @@
+/*
+ * vim: ts=4 sw=4 et tw=0 wm=0
+ *
+ * libcola - A library providing force-directed network layout using the
+ * stress-majorization method subject to separation constraints.
+ *
+ * Copyright (C) 2006-2008 Monash University
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library in the file LICENSE; if not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place,
+ * Suite 330, Boston, MA 02111-1307 USA
+ *
+*/
+
+
+/** \file
+ * Interface between Inkscape code (SPItem) and graphlayout functions.
+ *
+ * Authors:
+ * Tim Dwyer <tgdwyer@gmail.com>
+ */
+#include <iostream>
+
+#include <vector>
+#include <algorithm>
+#include <float.h>
+#include <libcola/cola.h>
+#include <libvpsc/exceptions.h>
+#include <libvpsc/constraint.h>
+#include "graphlayouttest.h"
+
+using namespace std;
+using namespace cola;
+int main() {
+
+ const unsigned V = 2;
+ typedef pair < unsigned, unsigned >Edge;
+ Edge edge_array[] = { Edge(0, 1) };
+ unsigned E = sizeof(edge_array) / sizeof(Edge);
+ vector<Edge> es(edge_array,edge_array+E);
+ double width=100;
+ double height=100;
+ vector<vpsc::Rectangle*> rs;
+ for(unsigned i=0;i<V;i++) {
+ double x=getRand(width), y=getRand(height);
+ rs.push_back(new vpsc::Rectangle(x,x+5,y,y+5));
+ }
+ ConstrainedFDLayout alg(rs,es,width/2);
+ CompoundConstraints ccs;
+ AlignmentConstraint ac(vpsc::YDIM, 1);
+ ccs.push_back(&ac);
+ ac.addShape(0,0);
+ ac.addShape(1,0);
+ ccs.push_back(new SeparationConstraint(vpsc::YDIM, 0,1,10));
+ alg.setConstraints(ccs);
+ try {
+ alg.run();
+ } catch (vpsc::UnsatisfiableException& e) {
+ cerr << "Unsatisfiable" << endl;
+ for(vector<vpsc::Constraint*>::iterator i=e.path.begin();
+ i!=e.path.end();i++) {
+ cout << **i << endl;
+ }
+ exit(1);
+ }
+ //assert(fabs(rs[0]->getCentreX()-rs[3]->getCentreX())<0.001);
+ cout<<rs[0]->getCentreX()<<","<<rs[1]->getCentreX()<<endl;
+ //output_svg(rs,es,"unsatisfiable.svg");
+ for(unsigned i=0;i<V;i++) {
+ delete rs[i];
+ }
+ return 0;
+}
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=4:softtabstop=4:textwidth=99 :
diff --git a/src/3rdparty/adaptagrams/libcola/tests/view_cd_output.sh b/src/3rdparty/adaptagrams/libcola/tests/view_cd_output.sh
new file mode 100755
index 0000000..cb74ae8
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/view_cd_output.sh
@@ -0,0 +1,43 @@
+#! /bin/bash
+
+if [ $# -lt 1 ] ; then
+ echo "Need case letter (eg: A) or ALL for all cases (CLEAN to delete)"
+ exit
+else
+ CASE=$1
+ shift
+fi
+
+cd /home/kierans/libcola3/libcola/tests
+
+if [ $CASE == 'a' -o $CASE == 'A' ] ; then
+ inkview cycle_detector_case_a.svg
+fi
+
+if [ $CASE == 'b' -o $CASE == 'B' ] ; then
+ inkview cycle_detector_case_b.svg
+fi
+
+if [ $CASE == 'c' -o $CASE == 'C' ] ; then
+ inkview cycle_detector_case_c.svg
+fi
+
+if [ $CASE == 'd' -o $CASE == 'D' ] ; then
+ inkview cycle_detector_case_d.svg
+fi
+
+if [ $CASE == 'e' -o $CASE == 'E' ] ; then
+ inkview cycle_detector_case_e.svg
+fi
+
+if [ $CASE == 'f' -o $CASE == 'F' ] ; then
+ inkview cycle_detector_case_f.svg
+fi
+
+if [ $CASE == 'all' -o $CASE == 'ALL' ] ; then
+ inkview cycle_detector_case_a.svg cycle_detector_case_b.svg cycle_detector_case_c.svg cycle_detector_case_d.svg cycle_detector_case_e.svg cycle_detector_case_f.svg
+fi
+
+if [ $CASE == 'clean' ] ; then
+ rm cycle_detector_case* -fv
+fi
diff --git a/src/3rdparty/adaptagrams/libcola/tests/view_mas_output.sh b/src/3rdparty/adaptagrams/libcola/tests/view_mas_output.sh
new file mode 100755
index 0000000..11f5a8a
--- /dev/null
+++ b/src/3rdparty/adaptagrams/libcola/tests/view_mas_output.sh
@@ -0,0 +1,43 @@
+#! /bin/bash
+
+if [ $# -lt 1 ] ; then
+ echo "Need case letter (eg: A) or ALL for all cases (CLEAN to delete)"
+ exit
+else
+ CASE=$1
+ shift
+fi
+
+cd /home/kierans/libcola3/libcola/tests
+
+if [ $CASE == 'a' -o $CASE == 'A' ] ; then
+ inkview mas_case_a.svg
+fi
+
+if [ $CASE == 'b' -o $CASE == 'B' ] ; then
+ inkview mas_case_b.svg
+fi
+
+if [ $CASE == 'c' -o $CASE == 'C' ] ; then
+ inkview mas_case_c.svg
+fi
+
+if [ $CASE == 'd' -o $CASE == 'D' ] ; then
+ inkview mas_case_d.svg
+fi
+
+if [ $CASE == 'e' -o $CASE == 'E' ] ; then
+ inkview mas_case_e.svg
+fi
+
+if [ $CASE == 'f' -o $CASE == 'F' ] ; then
+ inkview mas_case_f.svg
+fi
+
+if [ $CASE == 'all' -o $CASE == 'ALL' ] ; then
+ inkview mas_case_a.svg mas_case_b.svg mas_case_c.svg mas_case_d.svg mas_case_e.svg mas_case_f.svg
+fi
+
+if [ $CASE == 'clean' ] ; then
+ rm mas_case* -fv
+fi