aboutsummaryrefslogtreecommitdiff
path: root/examples/01_boundingrect+pmpd_ambient/01_boundingrect+pmpd_ambient.pd
diff options
context:
space:
mode:
Diffstat (limited to 'examples/01_boundingrect+pmpd_ambient/01_boundingrect+pmpd_ambient.pd')
-rwxr-xr-xexamples/01_boundingrect+pmpd_ambient/01_boundingrect+pmpd_ambient.pd739
1 files changed, 739 insertions, 0 deletions
diff --git a/examples/01_boundingrect+pmpd_ambient/01_boundingrect+pmpd_ambient.pd b/examples/01_boundingrect+pmpd_ambient/01_boundingrect+pmpd_ambient.pd
new file mode 100755
index 0000000..08bd136
--- /dev/null
+++ b/examples/01_boundingrect+pmpd_ambient/01_boundingrect+pmpd_ambient.pd
@@ -0,0 +1,739 @@
+<<<<<<< HEAD
+#N canvas 556 25 1099 664 12;
+=======
+#N canvas 556 80 1099 664 12;
+#X declare -path ../..;
+>>>>>>> 09729232bf1a52aa509cf5341d4186ba42576589
+#N canvas 310 102 970 684 structure 0;
+#X obj 124 43 pd_mass -0.7 0.7 \$0;
+#X obj 189 113 pd_link \$0;
+#X obj 27 290 pd_mass -1 0 \$0;
+#X obj 123 558 pd_mass -0.7 -0.7 \$0;
+#X obj 399 624 pd_mass 0 -1 \$0;
+#X obj 436 16 pd_mass 0 1 \$0;
+#X obj 680 64 pd_mass 0.7 0.7 \$0;
+#X obj 766 285 pd_mass 1 0 \$0;
+#X obj 748 552 pd_mass 0.7 -0.7 \$0;
+#X obj 407 274 pd_mass 0 0 \$0;
+#X obj 124 314 pd_link \$0;
+#X obj 49 445 pd_link \$0;
+#X obj 198 502 pd_link \$0;
+#X obj 69 161 pd_link \$0;
+#X obj 201 187 pd_link \$0;
+#X obj 213 373 pd_link \$0;
+#X obj 279 598 pd_link \$0;
+#X obj 410 562 pd_link \$0;
+#X obj 580 585 pd_link \$0;
+#X obj 310 327 pd_link \$0;
+#X obj 388 330 pd_link \$0;
+#X obj 468 330 pd_link \$0;
+#X obj 338 427 pd_link \$0;
+#X obj 509 422 pd_link \$0;
+#X obj 304 26 pd_link \$0;
+#X obj 441 57 pd_link \$0;
+#X obj 347 129 pd_link \$0;
+#X obj 308 231 pd_link \$0;
+#X obj 304 280 pd_link \$0;
+#X obj 393 227 pd_link \$0;
+#X obj 475 227 pd_link \$0;
+#X obj 529 278 pd_link \$0;
+#X obj 604 358 pd_link \$0;
+#X obj 678 291 pd_link \$0;
+#X obj 604 221 pd_link \$0;
+#X obj 499 135 pd_link \$0;
+#X obj 571 43 pd_link \$0;
+#X obj 612 101 pd_link \$0;
+#X obj 749 179 pd_link \$0;
+#X obj 763 429 pd_link \$0;
+#X obj 671 510 pd_link \$0;
+#X connect 0 0 10 0;
+#X connect 0 0 13 1;
+#X connect 0 0 15 0;
+#X connect 0 0 24 0;
+#X connect 0 0 25 0;
+#X connect 0 0 27 0;
+#X connect 0 0 35 0;
+#X connect 1 0 2 0;
+#X connect 1 1 5 0;
+#X connect 2 0 1 0;
+#X connect 2 0 11 0;
+#X connect 2 0 12 0;
+#X connect 2 0 13 0;
+#X connect 2 0 22 0;
+#X connect 2 0 26 0;
+#X connect 2 0 28 0;
+#X connect 3 0 10 1;
+#X connect 3 0 11 1;
+#X connect 3 0 14 1;
+#X connect 3 0 16 0;
+#X connect 3 0 17 0;
+#X connect 3 0 19 0;
+#X connect 3 0 23 0;
+#X connect 4 0 12 1;
+#X connect 4 0 15 1;
+#X connect 4 0 16 1;
+#X connect 4 0 18 0;
+#X connect 4 0 20 1;
+#X connect 4 0 32 0;
+#X connect 4 0 40 0;
+#X connect 5 0 1 1;
+#X connect 5 0 14 0;
+#X connect 5 0 24 1;
+#X connect 5 0 29 1;
+#X connect 5 0 34 0;
+#X connect 5 0 36 0;
+#X connect 5 0 37 0;
+#X connect 6 0 25 1;
+#X connect 6 0 26 1;
+#X connect 6 0 30 1;
+#X connect 6 0 32 1;
+#X connect 6 0 33 1;
+#X connect 6 0 36 1;
+#X connect 6 0 38 0;
+#X connect 7 0 23 1;
+#X connect 7 0 31 1;
+#X connect 7 0 35 1;
+#X connect 7 0 37 1;
+#X connect 7 0 38 1;
+#X connect 7 0 39 0;
+#X connect 7 0 40 1;
+#X connect 8 0 17 1;
+#X connect 8 0 18 1;
+#X connect 8 0 21 1;
+#X connect 8 0 22 1;
+#X connect 8 0 33 0;
+#X connect 8 0 34 1;
+#X connect 8 0 39 1;
+#X connect 9 0 19 1;
+#X connect 9 0 20 0;
+#X connect 9 0 21 0;
+#X connect 9 0 27 1;
+#X connect 9 0 28 1;
+#X connect 9 0 29 0;
+#X connect 9 0 30 0;
+#X connect 9 0 31 0;
+#X connect 10 0 0 0;
+#X connect 10 1 3 0;
+#X connect 11 0 2 0;
+#X connect 11 1 3 0;
+#X connect 12 0 2 0;
+#X connect 12 1 4 0;
+#X connect 13 0 2 0;
+#X connect 13 1 0 0;
+#X connect 14 0 5 0;
+#X connect 14 1 3 0;
+#X connect 15 0 0 0;
+#X connect 15 1 4 0;
+#X connect 16 0 3 0;
+#X connect 16 1 4 0;
+#X connect 17 0 3 0;
+#X connect 17 1 8 0;
+#X connect 18 0 4 0;
+#X connect 18 1 8 0;
+#X connect 19 0 3 0;
+#X connect 19 1 9 0;
+#X connect 20 0 9 0;
+#X connect 20 1 4 0;
+#X connect 21 0 9 0;
+#X connect 21 1 8 0;
+#X connect 22 0 2 0;
+#X connect 22 1 8 0;
+#X connect 23 0 3 0;
+#X connect 23 1 7 0;
+#X connect 24 0 0 0;
+#X connect 24 1 5 0;
+#X connect 25 0 0 0;
+#X connect 25 1 6 0;
+#X connect 26 0 2 0;
+#X connect 26 1 6 0;
+#X connect 27 0 0 0;
+#X connect 27 1 9 0;
+#X connect 28 0 2 0;
+#X connect 28 1 9 0;
+#X connect 29 0 9 0;
+#X connect 29 1 5 0;
+#X connect 30 0 9 0;
+#X connect 30 1 6 0;
+#X connect 31 0 9 0;
+#X connect 31 1 7 0;
+#X connect 32 0 4 0;
+#X connect 32 1 6 0;
+#X connect 33 0 8 0;
+#X connect 33 1 6 0;
+#X connect 34 0 5 0;
+#X connect 34 1 8 0;
+#X connect 35 0 0 0;
+#X connect 35 1 7 0;
+#X connect 36 0 5 0;
+#X connect 36 1 6 0;
+#X connect 37 0 5 0;
+#X connect 37 1 7 0;
+#X connect 38 0 6 0;
+#X connect 38 1 7 0;
+#X connect 39 0 7 0;
+#X connect 39 1 8 0;
+#X connect 40 0 4 0;
+#X connect 40 1 7 0;
+#X restore 272 322 pd structure;
+#N canvas 623 135 504 293 init 0;
+#X msg 200 169 setK \$1;
+#X msg 274 143 setD \$1;
+#X msg 416 115 setM \$1;
+#X floatatom 200 94 5 -10 200 0 - - -;
+#X floatatom 274 92 5 0 0 0 - - -;
+#X floatatom 416 92 5 0 0 0 - - -;
+#X obj 200 143 / 10;
+#X obj 200 117 + 1;
+#X obj 274 116 / 10;
+#X msg 200 67 100;
+#X msg 274 68 25;
+#X msg 416 66 50;
+#X floatatom 341 92 5 0 0 0 - - -;
+#X obj 341 116 / 10;
+#X msg 341 143 setD2 \$1;
+#X msg 341 68 1;
+#X obj 200 201 s \$0-link;
+#X obj 416 143 s \$0-mass;
+#X obj 42 50 loadbang;
+#X obj 44 202 s \$0-mass;
+#X msg 44 84 setXmin -3.8;
+#X msg 57 109 setXmax 3.8;
+#X msg 75 133 setYmin -3.8;
+#X msg 88 159 setYmax 3.8;
+#X connect 0 0 16 0;
+#X connect 1 0 16 0;
+#X connect 2 0 17 0;
+#X connect 3 0 7 0;
+#X connect 4 0 8 0;
+#X connect 5 0 2 0;
+#X connect 6 0 0 0;
+#X connect 7 0 6 0;
+#X connect 8 0 1 0;
+#X connect 9 0 3 0;
+#X connect 10 0 4 0;
+#X connect 11 0 5 0;
+#X connect 12 0 13 0;
+#X connect 13 0 14 0;
+#X connect 14 0 16 0;
+#X connect 15 0 12 0;
+#X connect 18 0 20 0;
+#X connect 18 0 21 0;
+#X connect 18 0 22 0;
+#X connect 18 0 23 0;
+#X connect 20 0 19 0;
+#X connect 21 0 19 0;
+#X connect 22 0 19 0;
+#X connect 23 0 19 0;
+#X restore 272 295 pd init;
+#X obj 287 1761 pix_texture;
+#X obj 287 1789 square 4;
+#X obj 287 831 pix_separator;
+#X obj 492 804 pix_separator;
+#X obj 492 1748 pix_texture;
+#X obj 492 1776 square 4;
+#X obj 665 798 r reset;
+#X obj 18 27 cnv 15 600 90 empty empty empty 20 12 0 14 -260097 -66577
+0;
+#X text 41 66 1.- Create the Gem Window;
+#X msg 526 62 0 \, destroy;
+#X msg 492 37 reset \, create \, 1;
+#X obj 492 90 gemwin;
+#X text 627 38 <- 1;
+#X obj 18 131 cnv 15 600 90 empty empty empty 20 12 0 14 -260097 -66577
+0;
+#X obj 447 222 t b b;
+#X obj 447 138 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X obj 525 153 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 548 170 loadbang;
+#X obj 479 299 s \$0-link;
+#X obj 447 327 s \$0-mass;
+#X msg 576 226 reset;
+#X msg 550 250 resetL;
+#X msg 525 271 resetF;
+#X obj 525 199 t b b b;
+#X obj 447 195 metro 50;
+#X obj 479 356 iAmbient2D \$0-mass 0 -1;
+#X obj 571 302 s reset;
+#X obj 458 255 s metro;
+#X text 471 136 <- 2;
+#X text 27 233 inside init and structure subpatches you have all the
+pmpd magics \, Thanks to Cyrille Henry for the models !!!;
+#X text 72 308 You don't need to open them.;
+#X obj 24 440 cnv 15 600 90 empty empty empty 20 12 0 14 -260097 -66577
+0;
+#X msg 483 449 force2D 0 5;
+#X msg 539 475 force2D 5 0;
+#X msg 485 503 force2D 0 -5;
+#X msg 384 476 force2D -5 0;
+#X obj 484 535 s \$0-mass;
+#X obj 539 420 loadbang;
+#X text 576 449 <- UP;
+#X text 578 505 <- DOWN;
+#X text 625 477 <- RIGHT;
+#X text 476 476 <- LEFT;
+#X text 24 181 IMPORTANT :: for this to work you must have the pd_mass
+and pd_link abstraction patches in same folder as this one.;
+#X text 40 155 2.- Start the Physical Modeling rendering;
+#X text 46 461 3.- Test the Physical Modeling interaction;
+#X text 75 482 ( move the structure );
+#X obj 493 774 pix_rgba;
+#X obj 26 589 cnv 15 600 180 empty empty empty 20 12 0 14 -260097 -66577
+0;
+#X text 49 628 2.- Setup your camera;
+#X obj 493 732 pix_video;
+#X obj 493 616 gemhead;
+#X msg 384 680 colorspace RGBA;
+#X msg 636 619 dialog;
+#X msg 636 684 device /dev/dv1394-0;
+#X msg 636 661 driver 1;
+#X text 633 644 only linuxDV;
+#X text 635 603 MACOSX;
+#X text 634 704 video 4 linux;
+#X msg 637 721 driver 0;
+#X msg 637 744 device /dev/video0;
+#X text 244 798 resize video input to save CPU ->;
+#X text 546 147 <- here you can RESET ALL;
+#X obj 24 863 cnv 15 650 250 empty empty empty 20 12 0 14 -258113 -66577
+0;
+#X floatatom 602 1047 5 0 0 0 - - -;
+#X obj 493 1083 pix_opencv_contours_boundingrect;
+#X floatatom 657 893 5 0 0 0 - - -;
+#X obj 493 893 pix_opencv_bgsubstract;
+#X msg 665 830 set;
+#X obj 493 942 pix_opencv_morphology;
+#X floatatom 658 943 5 0 0 0 - - -;
+#X obj 493 988 pix_opencv_morphology;
+#X floatatom 658 989 5 0 0 0 - - -;
+#X msg 602 1024 1000;
+#X obj 647 1023 loadbang;
+#X msg 657 869 24;
+#X msg 658 918 -2;
+#X msg 659 965 2;
+#X obj 689 869 loadbang;
+#X obj 689 917 loadbang;
+#X obj 690 964 loadbang;
+#X msg 930 1448 setXmin \$1;
+#X msg 930 1470 setXmax \$1;
+#X msg 1012 1473 setYmin \$1;
+#X msg 1013 1447 setYmax \$1;
+#X floatatom 996 1235 5 0 0 0 - - -;
+#X floatatom 1054 1234 5 0 0 0 - - -;
+#X floatatom 1104 1234 5 0 0 0 - - -;
+#X floatatom 1155 1233 5 0 0 0 - - -;
+#X floatatom 996 1336 5 0 0 0 - - -;
+#X floatatom 1055 1338 5 0 0 0 - - -;
+#X floatatom 1104 1326 5 0 0 0 - - -;
+#X floatatom 1155 1326 5 0 0 0 - - -;
+#X obj 994 1367 +;
+#X floatatom 994 1395 5 0 0 0 - - -;
+#X floatatom 1055 1393 5 0 0 0 - - -;
+#X obj 1055 1313 * -1;
+#X obj 1055 1366 -;
+#X obj 1054 1260 - 72;
+#X obj 996 1260 - 90;
+#X obj 1054 1289 / 18;
+#X obj 996 1293 / 22.5;
+#X obj 1104 1283 / 22.5;
+#X obj 1155 1283 / 18;
+#X msg 1089 1175 0 0 0 0 0;
+#X obj 916 1502 iAmbient2D \$0-mass 0 13 0 0 0 -4 0 -4 -2;
+#X obj 916 1419 r metro;
+#X text 1103 1205 Xorigin Yorigin Width Height;
+#X obj 1166 1175 r reset;
+#X obj 996 1205 unpack 0 0 0 0;
+#X obj 603 1127 route 0 1 2 3 4;
+#X msg 1292 1450 setXmin \$1;
+#X msg 1292 1472 setXmax \$1;
+#X msg 1374 1475 setYmin \$1;
+#X msg 1375 1449 setYmax \$1;
+#X floatatom 1358 1237 5 0 0 0 - - -;
+#X floatatom 1416 1236 5 0 0 0 - - -;
+#X floatatom 1466 1236 5 0 0 0 - - -;
+#X floatatom 1517 1235 5 0 0 0 - - -;
+#X floatatom 1358 1340 5 0 0 0 - - -;
+#X floatatom 1417 1340 5 0 0 0 - - -;
+#X floatatom 1466 1328 5 0 0 0 - - -;
+#X floatatom 1517 1328 5 0 0 0 - - -;
+#X obj 1356 1369 +;
+#X floatatom 1356 1397 5 0 0 0 - - -;
+#X floatatom 1417 1395 5 0 0 0 - - -;
+#X obj 1417 1315 * -1;
+#X obj 1417 1368 -;
+#X obj 1416 1262 - 72;
+#X obj 1358 1262 - 90;
+#X obj 1416 1291 / 18;
+#X obj 1358 1295 / 22.5;
+#X obj 1466 1285 / 22.5;
+#X obj 1517 1285 / 18;
+#X msg 1451 1177 0 0 0 0 0;
+#X obj 1278 1504 iAmbient2D \$0-mass 0 13 0 0 0 -4 0 -4 -2;
+#X obj 1278 1421 r metro;
+#X text 1465 1207 Xorigin Yorigin Width Height;
+#X obj 1528 1177 r reset;
+#X obj 1358 1207 unpack 0 0 0 0;
+#X msg 1685 1446 setXmin \$1;
+#X msg 1685 1468 setXmax \$1;
+#X msg 1767 1471 setYmin \$1;
+#X msg 1768 1445 setYmax \$1;
+#X floatatom 1751 1233 5 0 0 0 - - -;
+#X floatatom 1809 1232 5 0 0 0 - - -;
+#X floatatom 1859 1232 5 0 0 0 - - -;
+#X floatatom 1910 1231 5 0 0 0 - - -;
+#X floatatom 1751 1334 5 0 0 0 - - -;
+#X floatatom 1810 1336 5 0 0 0 - - -;
+#X floatatom 1859 1324 5 0 0 0 - - -;
+#X floatatom 1910 1324 5 0 0 0 - - -;
+#X obj 1749 1365 +;
+#X floatatom 1749 1393 5 0 0 0 - - -;
+#X floatatom 1810 1391 5 0 0 0 - - -;
+#X obj 1810 1311 * -1;
+#X obj 1810 1364 -;
+#X obj 1809 1258 - 72;
+#X obj 1751 1258 - 90;
+#X obj 1809 1287 / 18;
+#X obj 1751 1291 / 22.5;
+#X obj 1859 1281 / 22.5;
+#X obj 1910 1281 / 18;
+#X msg 1844 1173 0 0 0 0 0;
+#X obj 1671 1500 iAmbient2D \$0-mass 0 13 0 0 0 -4 0 -4 -2;
+#X obj 1671 1417 r metro;
+#X text 1858 1203 Xorigin Yorigin Width Height;
+#X obj 1921 1173 r reset;
+#X obj 1751 1203 unpack 0 0 0 0;
+#X obj 698 894 cnv 15 310 20 empty empty empty 20 12 0 14 -258113 -66577
+0;
+<<<<<<< HEAD
+#X text 698 893 <- threshold fo the background substraction;
+=======
+>>>>>>> 09729232bf1a52aa509cf5341d4186ba42576589
+#X obj 699 941 cnv 15 310 20 empty empty empty 20 12 0 14 -258113 -66577
+0;
+#X obj 700 987 cnv 15 310 20 empty empty empty 20 12 0 14 -258113 -66577
+0;
+#X text 700 941 <- erode to avoid noise (negative values);
+#X text 701 987 <- dilate contours (positive values);
+#X obj 698 830 cnv 15 310 20 empty empty empty 20 12 0 14 -258113 -66577
+0;
+#X text 698 829 <- set the background;
+#X obj 700 1047 cnv 15 310 20 empty empty empty 20 12 0 14 -258113
+-66577 0;
+#X text 701 1047 <- set minimal area to detect to avoid noisy things
+;
+#X obj 22 1182 cnv 15 800 250 empty empty empty 20 12 0 14 -261234
+-66577 0;
+#X floatatom 603 1239 5 0 0 0 - - -;
+#X floatatom 661 1238 5 0 0 0 - - -;
+#X floatatom 711 1238 5 0 0 0 - - -;
+#X floatatom 762 1237 5 0 0 0 - - -;
+#X floatatom 603 1342 5 0 0 0 - - -;
+#X floatatom 662 1342 5 0 0 0 - - -;
+#X floatatom 711 1330 5 0 0 0 - - -;
+#X floatatom 762 1330 5 0 0 0 - - -;
+#X obj 601 1371 +;
+#X floatatom 601 1399 5 0 0 0 - - -;
+#X floatatom 662 1397 5 0 0 0 - - -;
+#X obj 662 1317 * -1;
+#X obj 662 1370 -;
+#X obj 661 1264 - 72;
+#X obj 603 1264 - 90;
+#X obj 661 1293 / 18;
+#X obj 603 1297 / 22.5;
+#X obj 711 1287 / 22.5;
+#X obj 762 1287 / 18;
+#X msg 696 1179 0 0 0 0 0;
+#X obj 523 1423 r metro;
+#X text 710 1209 Xorigin Yorigin Width Height;
+#X obj 773 1179 r reset;
+#X obj 603 1209 unpack 0 0 0 0;
+#X text 44 1205 this is coordinate conversions maths to pass from pix
+coordinates to gem coordinates.;
+#X obj 23 1448 cnv 15 800 150 empty empty empty 20 12 0 14 -261234
+-66577 0;
+#X msg 537 1452 setXmin \$1;
+#X msg 537 1474 setXmax \$1;
+#X msg 619 1477 setYmin \$1;
+#X msg 620 1451 setYmax \$1;
+#X obj 523 1506 iAmbient2D \$0-mass 0 13 0 0 0 -4 0 -4 -2;
+#X text 41 1461 iAmbient2D defines a place with force from bottom to
+top. like a ball in wather. With the setX/Ymax/min we define a rectangle
+where this force is applied for each of our detected contours.;
+#X text 45 1543 think also in possible uses of;
+#X obj 265 1543 iLine2D;
+#X obj 329 1544 iSeg2D;
+#X obj 385 1545 iCircle2D;
+#X text 918 1546 We do the same for so many contours as the number
+of them we want to be able to interact with our structure;
+#X obj 22 1631 cnv 15 650 60 empty empty empty 20 12 0 14 -258113 -66577
+0;
+#X obj 287 1668 spigot;
+#X obj 326 1643 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1
+<<<<<<< HEAD
+1 1;
+=======
+0 1;
+>>>>>>> 09729232bf1a52aa509cf5341d4186ba42576589
+#X text 46 886 4.- Setup the parameters for your analysis;
+#X text 44 1654 5.- hide the analysis;
+#X text 347 1641 <- click here to chow the original video image;
+#X obj 492 1719 translateXYZ 0 0 -0.1;
+#X obj 491 1695 separator;
+#X obj 287 1697 separator;
+#X floatatom 654 1718 5 0 0 0 - - -;
+#X obj 288 1724 translateXYZ 0 0 -0.05;
+#X obj 492 834 pix_resize 180 144;
+<<<<<<< HEAD
+#X connect 2 0 3 0;
+#X connect 4 0 219 0;
+#X connect 5 0 229 0;
+=======
+#X obj 764 243 declare -path ../..;
+#X text 698 893 <- threshold of the background substraction;
+#X connect 2 0 3 0;
+#X connect 4 0 218 0;
+#X connect 5 0 228 0;
+>>>>>>> 09729232bf1a52aa509cf5341d4186ba42576589
+#X connect 6 0 7 0;
+#X connect 8 0 69 0;
+#X connect 11 0 13 0;
+#X connect 12 0 13 0;
+#X connect 16 0 21 0;
+#X connect 16 1 20 0;
+#X connect 16 1 27 0;
+#X connect 16 1 29 0;
+#X connect 17 0 26 0;
+#X connect 18 0 25 0;
+#X connect 19 0 25 0;
+#X connect 22 0 21 0;
+#X connect 23 0 20 0;
+#X connect 24 0 20 0;
+#X connect 25 0 24 0;
+#X connect 25 1 23 0;
+#X connect 25 2 22 0;
+#X connect 25 2 28 0;
+#X connect 26 0 16 0;
+#X connect 34 0 38 0;
+#X connect 35 0 38 0;
+#X connect 36 0 38 0;
+#X connect 37 0 38 0;
+#X connect 39 0 35 0;
+#X connect 48 0 5 0;
+#X connect 48 0 4 0;
+#X connect 51 0 48 0;
+#X connect 52 0 51 0;
+#X connect 53 0 51 0;
+#X connect 54 0 51 0;
+#X connect 55 0 51 0;
+#X connect 56 0 51 0;
+#X connect 60 0 51 0;
+#X connect 61 0 51 0;
+#X connect 65 0 66 1;
+<<<<<<< HEAD
+#X connect 66 0 225 0;
+=======
+#X connect 66 0 224 0;
+>>>>>>> 09729232bf1a52aa509cf5341d4186ba42576589
+#X connect 66 1 111 0;
+#X connect 67 0 68 1;
+#X connect 68 0 70 0;
+#X connect 69 0 68 0;
+#X connect 70 0 72 0;
+#X connect 71 0 70 1;
+#X connect 72 0 66 0;
+#X connect 73 0 72 1;
+#X connect 74 0 65 0;
+#X connect 75 0 74 0;
+#X connect 76 0 67 0;
+#X connect 77 0 71 0;
+#X connect 78 0 73 0;
+#X connect 79 0 76 0;
+#X connect 80 0 77 0;
+#X connect 81 0 78 0;
+#X connect 82 0 106 0;
+#X connect 83 0 106 0;
+#X connect 84 0 106 0;
+#X connect 85 0 106 0;
+#X connect 86 0 100 0;
+#X connect 87 0 99 0;
+#X connect 88 0 103 0;
+#X connect 89 0 104 0;
+#X connect 90 0 82 0;
+#X connect 90 0 94 0;
+#X connect 91 0 98 0;
+#X connect 91 0 85 0;
+#X connect 92 0 94 1;
+#X connect 93 0 98 1;
+#X connect 94 0 83 0;
+#X connect 94 0 95 0;
+#X connect 97 0 91 0;
+#X connect 98 0 96 0;
+#X connect 98 0 84 0;
+#X connect 99 0 101 0;
+#X connect 100 0 102 0;
+#X connect 101 0 97 0;
+#X connect 102 0 90 0;
+#X connect 103 0 92 0;
+#X connect 104 0 93 0;
+#X connect 105 0 110 0;
+#X connect 107 0 106 0;
+#X connect 109 0 105 0;
+#X connect 110 0 86 0;
+#X connect 110 1 87 0;
+#X connect 110 2 88 0;
+#X connect 110 3 89 0;
+<<<<<<< HEAD
+#X connect 111 0 204 0;
+=======
+#X connect 111 0 203 0;
+>>>>>>> 09729232bf1a52aa509cf5341d4186ba42576589
+#X connect 111 1 110 0;
+#X connect 111 2 140 0;
+#X connect 111 3 169 0;
+#X connect 112 0 136 0;
+#X connect 113 0 136 0;
+#X connect 114 0 136 0;
+#X connect 115 0 136 0;
+#X connect 116 0 130 0;
+#X connect 117 0 129 0;
+#X connect 118 0 133 0;
+#X connect 119 0 134 0;
+#X connect 120 0 112 0;
+#X connect 120 0 124 0;
+#X connect 121 0 128 0;
+#X connect 121 0 115 0;
+#X connect 122 0 124 1;
+#X connect 123 0 128 1;
+#X connect 124 0 113 0;
+#X connect 124 0 125 0;
+#X connect 127 0 121 0;
+#X connect 128 0 126 0;
+#X connect 128 0 114 0;
+#X connect 129 0 131 0;
+#X connect 130 0 132 0;
+#X connect 131 0 127 0;
+#X connect 132 0 120 0;
+#X connect 133 0 122 0;
+#X connect 134 0 123 0;
+#X connect 135 0 140 0;
+#X connect 137 0 136 0;
+#X connect 139 0 135 0;
+#X connect 140 0 116 0;
+#X connect 140 1 117 0;
+#X connect 140 2 118 0;
+#X connect 140 3 119 0;
+#X connect 141 0 165 0;
+#X connect 142 0 165 0;
+#X connect 143 0 165 0;
+#X connect 144 0 165 0;
+#X connect 145 0 159 0;
+#X connect 146 0 158 0;
+#X connect 147 0 162 0;
+#X connect 148 0 163 0;
+#X connect 149 0 141 0;
+#X connect 149 0 153 0;
+#X connect 150 0 157 0;
+#X connect 150 0 144 0;
+#X connect 151 0 153 1;
+#X connect 152 0 157 1;
+#X connect 153 0 142 0;
+#X connect 153 0 154 0;
+#X connect 156 0 150 0;
+#X connect 157 0 155 0;
+#X connect 157 0 143 0;
+#X connect 158 0 160 0;
+#X connect 159 0 161 0;
+#X connect 160 0 156 0;
+#X connect 161 0 149 0;
+#X connect 162 0 151 0;
+#X connect 163 0 152 0;
+#X connect 164 0 169 0;
+#X connect 166 0 165 0;
+#X connect 168 0 164 0;
+#X connect 169 0 145 0;
+#X connect 169 1 146 0;
+#X connect 169 2 147 0;
+#X connect 169 3 148 0;
+<<<<<<< HEAD
+#X connect 181 0 195 0;
+#X connect 182 0 194 0;
+#X connect 183 0 198 0;
+#X connect 184 0 199 0;
+#X connect 185 0 189 0;
+#X connect 185 0 207 0;
+#X connect 186 0 193 0;
+#X connect 186 0 210 0;
+#X connect 187 0 189 1;
+#X connect 188 0 193 1;
+#X connect 189 0 190 0;
+#X connect 189 0 208 0;
+#X connect 192 0 186 0;
+#X connect 193 0 191 0;
+#X connect 193 0 209 0;
+#X connect 194 0 196 0;
+#X connect 195 0 197 0;
+#X connect 196 0 192 0;
+#X connect 197 0 185 0;
+#X connect 198 0 187 0;
+#X connect 199 0 188 0;
+#X connect 200 0 204 0;
+#X connect 201 0 211 0;
+#X connect 203 0 200 0;
+#X connect 204 0 181 0;
+#X connect 204 1 182 0;
+#X connect 204 2 183 0;
+#X connect 204 3 184 0;
+#X connect 207 0 211 0;
+#X connect 208 0 211 0;
+#X connect 209 0 211 0;
+#X connect 210 0 211 0;
+#X connect 219 0 226 0;
+#X connect 220 0 219 1;
+#X connect 224 0 6 0;
+#X connect 225 0 224 0;
+#X connect 226 0 228 0;
+#X connect 227 0 224 3;
+#X connect 228 0 2 0;
+#X connect 229 0 68 0;
+=======
+#X connect 180 0 194 0;
+#X connect 181 0 193 0;
+#X connect 182 0 197 0;
+#X connect 183 0 198 0;
+#X connect 184 0 188 0;
+#X connect 184 0 206 0;
+#X connect 185 0 192 0;
+#X connect 185 0 209 0;
+#X connect 186 0 188 1;
+#X connect 187 0 192 1;
+#X connect 188 0 189 0;
+#X connect 188 0 207 0;
+#X connect 191 0 185 0;
+#X connect 192 0 190 0;
+#X connect 192 0 208 0;
+#X connect 193 0 195 0;
+#X connect 194 0 196 0;
+#X connect 195 0 191 0;
+#X connect 196 0 184 0;
+#X connect 197 0 186 0;
+#X connect 198 0 187 0;
+#X connect 199 0 203 0;
+#X connect 200 0 210 0;
+#X connect 202 0 199 0;
+#X connect 203 0 180 0;
+#X connect 203 1 181 0;
+#X connect 203 2 182 0;
+#X connect 203 3 183 0;
+#X connect 206 0 210 0;
+#X connect 207 0 210 0;
+#X connect 208 0 210 0;
+#X connect 209 0 210 0;
+#X connect 218 0 225 0;
+#X connect 219 0 218 1;
+#X connect 223 0 6 0;
+#X connect 224 0 223 0;
+#X connect 225 0 227 0;
+#X connect 226 0 223 3;
+#X connect 227 0 2 0;
+#X connect 228 0 68 0;
+>>>>>>> 09729232bf1a52aa509cf5341d4186ba42576589