diff SwordSounds2/SwordAuto.pd @ 165:6aaeb2789f99

Start of sword with presets
author Rod Selfridge <r.selfridge@qmul.ac.uk>
date Tue, 02 Feb 2016 10:56:55 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SwordSounds2/SwordAuto.pd	Tue Feb 02 10:56:55 2016 +0000
@@ -0,0 +1,613 @@
+#N canvas 114 83 1440 714 10;
+#X obj 581 -63 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0;
+#X obj 644 -63 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0;
+#X text 641 -154 Gain;
+#X obj 580 -180 loadbang;
+#N canvas 865 368 284 318 opLevels 0;
+#X obj 85 188 dac~;
+#X obj 30 70 catch~ l;
+#X obj 155 76 catch~ r;
+#X obj 155 106 *~ 0.45;
+#X obj 30 104 *~ 0.45;
+#X obj 30 210 prvu~;
+#X obj 155 213 prvu~;
+#X obj 100 69 / 127;
+#X obj 100 34 inlet;
+#X obj 30 239 outlet;
+#X obj 155 241 outlet;
+#X obj 155 132 /~ 1;
+#X obj 30 131 /~ 1;
+#X obj 204 29 inlet;
+#X connect 1 0 4 0;
+#X connect 2 0 3 0;
+#X connect 3 0 11 0;
+#X connect 4 0 12 0;
+#X connect 5 0 9 0;
+#X connect 6 0 10 0;
+#X connect 7 0 3 1;
+#X connect 7 0 4 1;
+#X connect 8 0 7 0;
+#X connect 11 0 0 1;
+#X connect 11 0 6 0;
+#X connect 12 0 0 0;
+#X connect 12 0 5 0;
+#X connect 13 0 12 1;
+#X connect 13 0 11 1;
+#X restore 580 -106 pd opLevels;
+#X msg 580 -157 5;
+#X msg 54 -185 1;
+#X obj 54 -162 s bladeLen;
+#X obj -148 -153 s NoOfSources;
+#X obj -110 242 s topSpeed;
+#X obj -162 216 hsl 100 20 0 100 0 0 empty empty empty -2 -8 0 10 -262144
+-1 -1 2475 1;
+#X floatatom -165 242 8 0 0 0 - - -;
+#X text 87 -186 Blade Length;
+#X text 86 -120 Arm Length;
+#X text -120 -176 Number of Sources;
+#X text -54 220 Top Speed;
+#X obj 132 35 hsl 100 20 -180 180 0 0 empty empty empty -2 -8 0 10
+-262144 -1 -1 7425 1;
+#X floatatom 129 67 8 0 0 0 - - -;
+#N canvas 528 427 426 335 thickCalc 0;
+#X obj 173 139 r NoOfSources;
+#X obj 158 115 -;
+#X obj 158 164 /;
+#X floatatom 126 147 5 0 0 0 - - -;
+#X floatatom 94 189 8 0 0 0 - - -;
+#X obj 173 72 t f b;
+#X obj 200 95 delay 9;
+#X text 58 237 Calculates the difference in thickness between sources
+;
+#X text 59 254 based on the blade tapering in a straight line;
+#X obj 158 19 r hiltThick;
+#X obj 173 44 r tipThick;
+#X obj 158 187 s deltaThick;
+#X connect 0 0 2 1;
+#X connect 1 0 2 0;
+#X connect 1 0 3 0;
+#X connect 2 0 4 0;
+#X connect 2 0 11 0;
+#X connect 5 0 1 1;
+#X connect 5 1 6 0;
+#X connect 6 0 1 0;
+#X connect 9 0 1 0;
+#X connect 10 0 5 0;
+#X restore 412 -83 pd thickCalc;
+#X obj -168 303 hsl 100 20 0 0.03 0 0 empty empty empty -2 -8 0 10
+-262144 -1 -1 6600 1;
+#X obj -169 388 hsl 100 20 0.0001 0.01 0 0 empty empty empty -2 -8
+0 10 -262144 -1 -1 5900 1;
+#X floatatom -171 333 8 0 0 0 - - -;
+#X obj -117 332 s hiltThick;
+#X floatatom -172 416 8 0 0 0 - - -;
+#X obj -114 415 s tipThick;
+#X text -54 305 Hilt Thickness;
+#X text -62 389 Tip Thickness;
+#X obj 254 -140 bng 50 250 50 0 empty empty empty 17 7 0 10 -4034 -1
+-1;
+#X obj 254 -87 s GO;
+#X obj 254 -186 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1
+0 1;
+#X obj 254 -167 metro 200;
+#X obj 308 -191 hsl 100 20 500 30 0 0 empty empty empty -2 -8 0 10
+-262144 -1 -1 0 1;
+#X obj 194 -140 bng 50 250 50 0 empty empty empty 17 7 0 10 -257985
+-1 -1;
+#X obj 194 -87 s setUp;
+#X obj -218 190 r setUp;
+#X obj 71 15 r setUp;
+#X obj -222 280 r setUp;
+#X obj -223 368 r setUp;
+#N canvas 303 28 1094 768 angleCalc 0;
+#X obj -129 105 * 0.75;
+#X obj 325 234 * 0.25;
+#X obj -129 145 /;
+#X obj -144 199 * 1000;
+#X obj 263 254 delay \$1;
+#X obj 236 202 f;
+#X obj 236 159 r GO;
+#X obj 236 228 t f b;
+#X msg 227 367 0;
+#X obj 325 276 /;
+#X obj 325 298 * 1000;
+#X obj -127 225 s \$0_thisDe;
+#X obj 251 181 r \$0_thisDe;
+#X obj 145 237 r sweepAngle;
+#X obj -129 81 r maxCirc;
+#X obj 325 212 r maxCirc;
+#X obj -114 124 r topSpeed;
+#X obj 340 255 r topSpeed;
+#X obj 644 360 delay \$1;
+#X obj 646 302 f;
+#X obj 639 248 r GO;
+#X obj 646 328 t f b;
+#X obj 682 208 r maxCirc;
+#X obj 697 230 r topSpeed;
+#X obj 682 254 /;
+#X obj 682 276 * 1000;
+#X obj 644 407 s end;
+#X obj -77 312 r end;
+#X obj 145 260 * -0.25;
+#X text -193 45 0.75 represents the ratio of swing that;
+#X text 200 118 0.25 represents the ratio of swing that;
+#X text 200 132 the sword is decelerating;
+#X text -102 149 Time taken for acceleration;
+#X text -54 221 Send as a delay;
+#X text 280 160 Recieve as a delay;
+#X text -36 312 Reset angle;
+#X text -38 325 once swing complete;
+#X text 622 426 Send bang message at the;
+#X text 623 438 end of the swing to reset;
+#X text 379 296 Time for last;
+#X text 381 307 1/4 of swing;
+#X text -193 59 the sword is before 0 degrees;
+#X text -121 700 Output of complete swing \, split into 75% before
+0 degrees and 25% past 0 degrees;
+#X text 568 517 Once delay from start to 0 degrees complete;
+#X text 564 535 count down from 0 to finish the total swing angle;
+#X text 98 9 Patch that calculates the angle between 0 degrees for
+the full length of the swing;
+#X obj -144 482 line~;
+#X obj 86 601 metro 10;
+#X obj 86 632 snapshot~;
+#X floatatom 85 656 8 0 0 0 - - -;
+#X obj 172 397 line~;
+#X msg 172 350 \$1 \$2;
+#X obj 151 319 pack;
+#X obj 86 570 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X floatatom -108 266 5 0 0 0 - - -;
+#X msg -90 438 \$1;
+#X obj -48 365 r sweepAngle;
+#X obj -48 387 * 0.75;
+#X msg -144 427 0 \$1;
+#X obj -62 341 r setUp;
+#X obj 151 294 f;
+#X obj -4 549 +~;
+#X obj 227 342 r setUp;
+#X floatatom -63 474 5 0 0 0 - - -;
+#X text 11 464 comment;
+#X obj -63 409 f;
+#X floatatom -26 434 5 0 0 0 - - -;
+#X obj 286 343 r end;
+#X obj 632 276 delay 9;
+#X obj 644 383 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj -144 174 f;
+#X obj -163 143 r GO;
+#X obj -4 633 s~ swordAngle;
+#X text 241 325 Set to 0 at end;
+#X obj 86 545 loadbang;
+#X obj 68 509 r obsAngle;
+#X obj -4 576 +~ 1;
+#X text 141 470 Adding in the observer angle here offsets the swing
+angle by the angle the observer is at. This makes all the future calculations
+as if the observer is positioned at 0 degrees to the swordSwing.;
+#X connect 0 0 2 0;
+#X connect 1 0 9 0;
+#X connect 2 0 70 1;
+#X connect 3 0 11 0;
+#X connect 3 0 54 0;
+#X connect 3 0 58 0;
+#X connect 4 0 60 0;
+#X connect 5 0 7 0;
+#X connect 6 0 5 0;
+#X connect 7 0 4 1;
+#X connect 7 1 4 0;
+#X connect 8 0 50 0;
+#X connect 9 0 10 0;
+#X connect 10 0 52 1;
+#X connect 12 0 5 1;
+#X connect 13 0 28 0;
+#X connect 14 0 0 0;
+#X connect 15 0 1 0;
+#X connect 16 0 2 1;
+#X connect 17 0 9 1;
+#X connect 18 0 69 0;
+#X connect 19 0 21 0;
+#X connect 20 0 68 0;
+#X connect 21 0 18 1;
+#X connect 21 1 18 0;
+#X connect 22 0 24 0;
+#X connect 23 0 24 1;
+#X connect 24 0 25 0;
+#X connect 25 0 19 1;
+#X connect 27 0 65 0;
+#X connect 28 0 60 1;
+#X connect 46 0 61 0;
+#X connect 47 0 48 0;
+#X connect 48 0 49 0;
+#X connect 50 0 61 1;
+#X connect 51 0 50 0;
+#X connect 52 0 51 0;
+#X connect 53 0 47 0;
+#X connect 55 0 46 0;
+#X connect 55 0 63 0;
+#X connect 56 0 57 0;
+#X connect 57 0 65 1;
+#X connect 57 0 66 0;
+#X connect 58 0 46 0;
+#X connect 59 0 65 0;
+#X connect 60 0 52 0;
+#X connect 61 0 76 0;
+#X connect 62 0 8 0;
+#X connect 65 0 55 0;
+#X connect 67 0 8 0;
+#X connect 68 0 19 0;
+#X connect 69 0 26 0;
+#X connect 70 0 3 0;
+#X connect 71 0 70 0;
+#X connect 74 0 53 0;
+#X connect 75 0 76 1;
+#X connect 76 0 72 0;
+#X connect 76 0 48 0;
+#X restore 411 -116 pd angleCalc;
+#X obj 583 -135 hsl 100 25 0.1 1000 1 0 empty empty empty -2 -8 0 10
+-262144 -1 -1 9155 1;
+#X obj 54 -209 loadbang;
+#X obj 52 -140 loadbang;
+#X obj -148 -198 loadbang;
+#X obj -165 190 r thisTS;
+#X obj -171 280 r thisHT;
+#X obj -172 368 r thisTT;
+#X obj 528 -155 r thisG;
+#X obj -201 -196 r setUp;
+#X obj 3 -142 r setUp;
+#X obj 2 -207 r setUp;
+#X text 819 -28 Presets;
+#X obj 882 -190 loadbang;
+#X obj 194 -192 loadbang;
+#X obj 194 -168 delay 13;
+#X obj 822 -89 t b;
+#X obj 822 -47 s setUp;
+#X obj 130 113 hsl 100 20 -180 180 0 0 empty empty empty -2 -8 0 10
+-262144 -1 -1 0 1;
+#X floatatom 127 145 8 0 0 0 - - -;
+#X obj 69 93 r setUp;
+#X obj 125 226 hsl 100 20 -90 90 0 0 empty empty empty -2 -8 0 10 -262144
+-1 -1 7700 1;
+#X floatatom 122 258 8 0 0 0 - - -;
+#X obj 64 206 r setUp;
+#X obj 123 304 hsl 100 20 -90 90 0 0 empty empty empty -2 -8 0 10 -262144
+-1 -1 0 1;
+#X floatatom 120 336 8 0 0 0 - - -;
+#X obj 62 284 r setUp;
+#N canvas 569 109 689 650 allSource 0;
+#X obj 187 127 r distance;
+#X obj 170 106 r angle;
+#X obj 153 65 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 153 37 r setUp;
+#X obj 204 147 r elev;
+#X msg 153 84 10;
+#X obj 153 170 tenSource;
+#X connect 0 0 6 2;
+#X connect 1 0 6 1;
+#X connect 2 0 5 0;
+#X connect 3 0 2 0;
+#X connect 4 0 6 3;
+#X connect 5 0 6 0;
+#X restore 411 -55 pd allSource;
+#X obj 177 257 s presweepElev;
+#X obj 271 279 s postsweepElev;
+#X text 236 227 pre-sweep elevation;
+#X text 234 304 post-sweep elevation;
+#X text 243 36 pre-sweep azimuth;
+#X text 241 114 post-sweep azimuth;
+#X obj 184 66 s presweepAzim;
+#X obj 277 88 s postsweepAzim;
+#X obj 52 -98 s start_armLength;
+#X msg 52 -119 0.35;
+#X obj 430 -30 sweepTime;
+#X obj 692 -163 hsl 100 25 1 100 0 0 empty empty empty -2 -8 0 10 -262144
+-1 -1 400 1;
+#X floatatom 708 -123 5 0 0 0 - - -;
+#X msg -148 -176 10;
+#X obj 689 -207 loadbang;
+#X msg 689 -184 5;
+#N canvas 72 23 1360 722 maxCircCalc 0;
+#X obj 440 104 +;
+#X obj 468 128 s length;
+#X obj 153 86 r presweepAzim;
+#X obj 644 76 bng 50 250 50 0 empty empty empty 17 7 0 10 -4034 -1
+-1;
+#X obj 644 129 s GO;
+#X obj 584 76 bng 50 250 50 0 empty empty empty 17 7 0 10 -257985 -1
+-1;
+#X obj 584 129 s setUp;
+#X obj 153 132 * 6.28312;
+#X obj 153 110 / 360;
+#X obj 153 174 *;
+#X floatatom 91 198 5 0 0 0 - - -;
+#X text 194 175 Circumference of the nearest source on blade;
+#X text 307 191 up to 0 azimuth;
+#X obj 153 200 s minPreCirc;
+#X obj 437 279 * 6.28312;
+#X obj 437 257 / 360;
+#X obj 437 321 *;
+#X floatatom 375 345 5 0 0 0 - - -;
+#X text 478 322 Circumference of the nearest source on blade;
+#X obj 437 233 r postsweepAzim;
+#X obj 437 347 s minPostCirc;
+#X obj 149 252 r presweepAzim;
+#X obj 149 276 / 360;
+#X obj 149 342 *;
+#X floatatom 85 364 8 0 0 0 - - -;
+#X obj 440 57 r bladeLen;
+#X obj 455 81 r start_armLength;
+#X obj 437 434 * 6.28312;
+#X obj 437 412 / 360;
+#X obj 437 478 *;
+#X floatatom 399 501 5 0 0 0 - - -;
+#X obj 437 388 r postsweepAzim;
+#X obj 164 362 r minPreCirc;
+#X obj 149 383 -;
+#X obj 149 426 /;
+#X floatatom 111 454 5 0 0 0 - - -;
+#X obj 164 403 r NoOfSources;
+#X obj 149 454 s deltaPreCirc;
+#X obj 437 519 -;
+#X obj 437 562 /;
+#X obj 452 539 r NoOfSources;
+#X obj 452 498 r minPostCirc;
+#X obj 437 590 s deltaPostCirc;
+#X floatatom 397 591 5 0 0 0 - - -;
+#X text 33 334 Max Circumference;
+#X text 323 472 Max Circumference;
+#X obj 1076 361 r presweepElev;
+#X obj 1091 384 r postsweepElev;
+#X obj 1076 419 +;
+#X obj 1076 441 * 0.5;
+#X obj 1075 488 * 6.28312;
+#X obj 1075 466 / 360;
+#X obj 1074 514 cos;
+#X floatatom 1020 613 5 0 0 0 - - -;
+#X floatatom 1126 425 5 0 0 0 - - -;
+#X obj 1074 536 *;
+#X floatatom 531 128 5 0 0 0 - - -;
+#X obj 1101 514 r start_armLength;
+#X obj 149 298 * 6.28319;
+#X obj 1074 562 s compSrcRadius;
+#X obj 452 300 r compSrcRadius;
+#X obj 168 153 r compSrcRadius;
+#X obj 364 101 r arcConst;
+#X obj 425 129 *;
+#X floatatom 387 153 5 0 0 0 - - -;
+#X obj 994 538 s arcConst;
+#X obj 425 153 s compRadius;
+#X obj 164 320 r compRadius;
+#X obj 452 456 r compRadius;
+#X connect 0 0 1 0;
+#X connect 0 0 56 0;
+#X connect 0 0 63 1;
+#X connect 2 0 8 0;
+#X connect 3 0 4 0;
+#X connect 5 0 6 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 9 0 10 0;
+#X connect 9 0 13 0;
+#X connect 14 0 16 0;
+#X connect 15 0 14 0;
+#X connect 16 0 17 0;
+#X connect 16 0 20 0;
+#X connect 19 0 15 0;
+#X connect 21 0 22 0;
+#X connect 22 0 58 0;
+#X connect 23 0 24 0;
+#X connect 23 0 33 0;
+#X connect 25 0 0 0;
+#X connect 26 0 0 1;
+#X connect 27 0 29 0;
+#X connect 28 0 27 0;
+#X connect 29 0 30 0;
+#X connect 29 0 38 0;
+#X connect 31 0 28 0;
+#X connect 32 0 33 1;
+#X connect 33 0 34 0;
+#X connect 34 0 35 0;
+#X connect 34 0 37 0;
+#X connect 36 0 34 1;
+#X connect 38 0 39 0;
+#X connect 39 0 42 0;
+#X connect 39 0 43 0;
+#X connect 40 0 39 1;
+#X connect 41 0 38 1;
+#X connect 46 0 48 0;
+#X connect 47 0 48 1;
+#X connect 48 0 49 0;
+#X connect 48 0 54 0;
+#X connect 49 0 51 0;
+#X connect 50 0 52 0;
+#X connect 51 0 50 0;
+#X connect 52 0 55 0;
+#X connect 52 0 65 0;
+#X connect 55 0 53 0;
+#X connect 55 0 59 0;
+#X connect 57 0 55 1;
+#X connect 58 0 23 0;
+#X connect 60 0 16 1;
+#X connect 61 0 9 1;
+#X connect 62 0 63 0;
+#X connect 63 0 64 0;
+#X connect 63 0 66 0;
+#X connect 67 0 23 1;
+#X connect 68 0 29 1;
+#X restore 402 -6 pd maxCircCalc;
+#X msg 198 12 80;
+#X obj 408 37 centreAngles;
+#X obj -163 -74 hsl 100 20 -50 50 0 0 empty empty empty -2 -8 0 10
+-262144 -1 -1 4950 1;
+#X obj -164 20 hsl 100 20 -50 50 0 0 empty empty empty -2 -8 0 10 -262144
+-1 -1 5247 1;
+#X obj -164 111 hsl 100 20 -50 50 0 0 empty empty empty -2 -8 0 10
+-262144 -1 -1 4950 1;
+#X obj -166 -51 s Xobs;
+#X obj -167 40 s Yobs;
+#X obj -167 138 s Zobs;
+#X floatatom -206 -51 5 0 0 0 - - -;
+#X floatatom -206 41 5 0 0 0 - - -;
+#X floatatom -207 133 5 0 0 0 - - -;
+#X msg -158 -98 0;
+#X msg -158 85 0;
+#X msg -160 -4 0.7;
+#X obj -211 -100 r setUp;
+#X obj -216 -3 r setUp;
+#X obj -220 88 r setUp;
+#X msg -108 -5 0;
+#X msg 247 8 90;
+#X msg -116 85 4;
+#X msg -119 -97 4;
+#X msg 190 203 0;
+#X msg 200 94 -60;
+#X msg 237 203 50;
+#X msg 190 281 -30;
+#X msg -59 -6 1.034;
+#X msg -16 -6 2.034;
+#X msg 30 -4 3;
+#X msg -97 187 0.5;
+#X msg -77 -102 0.2;
+#X msg -84 84 0.2;
+#X text 753 373 Take Sword10_D2 and keep the elevation and azimuth
+as equal and opposite on each side \, always crossing 0;
+#X obj 277 64 * -1;
+#X obj 271 257 * -1;
+#X floatatom 539 -104 5 0 0 0 - - -;
+#X msg -93 278 0.02;
+#X msg -99 362 0.008;
+#X msg -30 191 35;
+#X obj 882 187 s thisXobs;
+#X obj -166 -119 r thisXobs;
+#X obj 899 166 s thisYobs;
+#X obj -167 -27 r thisYobs;
+#X obj -167 66 r thisZobs;
+#X obj 917 144 s thisZobs;
+#X obj 934 121 s thisTS;
+#X obj 952 100 s thisHT;
+#X obj 970 80 s thisTT;
+#X obj 987 58 s thisPrA;
+#X obj 1005 39 s thisPrE;
+#X obj 129 14 r thisPrA;
+#X obj 127 92 r thisPoA;
+#X obj 122 205 r thisPrE;
+#X obj 120 283 r thisPoE;
+#X obj 882 -5 unpack f f f f f f f f f;
+#X obj 1023 18 s thisG;
+#X obj 822 -68 delay 9;
+#X msg 882 -161 0 0 0 25 0.02 0.006 80 50 500;
+#X msg 286 9 10;
+#X msg 317 8 0;
+#X msg 894 -138 0 0 4 25 0.02 0.006 80 50 500;
+#X msg 905 -115 4 0 4 25 0.02 0.006 80 50 500;
+#X msg 920 -50 0 0 0 25 0.03 0.01 45 0 500;
+#X msg 916 -77 0 0 0 35 0.005 0.003 45 10 150;
+#X connect 3 0 5 0;
+#X connect 4 0 0 0;
+#X connect 4 1 1 0;
+#X connect 5 0 39 0;
+#X connect 6 0 7 0;
+#X connect 10 0 9 0;
+#X connect 10 0 11 0;
+#X connect 16 0 17 0;
+#X connect 16 0 72 0;
+#X connect 16 0 115 0;
+#X connect 19 0 21 0;
+#X connect 19 0 22 0;
+#X connect 20 0 23 0;
+#X connect 20 0 24 0;
+#X connect 27 0 28 0;
+#X connect 29 0 30 0;
+#X connect 30 0 27 0;
+#X connect 31 0 30 1;
+#X connect 32 0 33 0;
+#X connect 34 0 10 0;
+#X connect 35 0 16 0;
+#X connect 36 0 19 0;
+#X connect 37 0 20 0;
+#X connect 39 0 4 0;
+#X connect 39 0 117 0;
+#X connect 40 0 6 0;
+#X connect 41 0 75 0;
+#X connect 42 0 79 0;
+#X connect 43 0 10 0;
+#X connect 44 0 19 0;
+#X connect 45 0 20 0;
+#X connect 46 0 39 0;
+#X connect 47 0 79 0;
+#X connect 48 0 75 0;
+#X connect 49 0 6 0;
+#X connect 51 0 139 0;
+#X connect 52 0 53 0;
+#X connect 53 0 32 0;
+#X connect 54 0 138 0;
+#X connect 56 0 57 0;
+#X connect 58 0 56 0;
+#X connect 59 0 60 0;
+#X connect 59 0 66 0;
+#X connect 59 0 116 0;
+#X connect 61 0 59 0;
+#X connect 62 0 63 0;
+#X connect 64 0 62 0;
+#X connect 75 0 74 0;
+#X connect 77 0 4 1;
+#X connect 77 0 78 0;
+#X connect 79 0 8 0;
+#X connect 80 0 81 0;
+#X connect 81 0 77 0;
+#X connect 83 0 16 0;
+#X connect 85 0 88 0;
+#X connect 85 0 91 0;
+#X connect 86 0 89 0;
+#X connect 86 0 92 0;
+#X connect 87 0 90 0;
+#X connect 87 0 93 0;
+#X connect 94 0 85 0;
+#X connect 95 0 87 0;
+#X connect 96 0 86 0;
+#X connect 97 0 85 0;
+#X connect 98 0 86 0;
+#X connect 99 0 87 0;
+#X connect 100 0 86 0;
+#X connect 101 0 16 0;
+#X connect 102 0 87 0;
+#X connect 103 0 85 0;
+#X connect 104 0 59 0;
+#X connect 105 0 56 0;
+#X connect 106 0 59 0;
+#X connect 107 0 62 0;
+#X connect 108 0 86 0;
+#X connect 109 0 86 0;
+#X connect 110 0 86 0;
+#X connect 111 0 10 0;
+#X connect 112 0 85 0;
+#X connect 113 0 87 0;
+#X connect 115 0 73 0;
+#X connect 116 0 67 0;
+#X connect 118 0 19 0;
+#X connect 119 0 20 0;
+#X connect 120 0 10 0;
+#X connect 122 0 85 0;
+#X connect 124 0 86 0;
+#X connect 125 0 87 0;
+#X connect 132 0 16 0;
+#X connect 134 0 59 0;
+#X connect 135 0 62 0;
+#X connect 136 0 121 0;
+#X connect 136 1 123 0;
+#X connect 136 2 126 0;
+#X connect 136 3 127 0;
+#X connect 136 4 128 0;
+#X connect 136 5 129 0;
+#X connect 136 6 130 0;
+#X connect 136 7 131 0;
+#X connect 136 8 137 0;
+#X connect 138 0 55 0;
+#X connect 139 0 54 0;
+#X connect 139 0 136 0;
+#X connect 140 0 16 0;
+#X connect 141 0 16 0;
+#X connect 142 0 136 0;
+#X connect 143 0 136 0;
+#X connect 144 0 136 0;
+#X connect 145 0 136 0;