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