#N canvas 0 16 999 675 10; #X obj 912 -2 table \$0tng; #X obj 912 19 table \$0cur; #X obj 873 61 loadbang; #X msg 873 181 \; \$1tng resize \$2 \; \$1cur resize \$2 \;; #X obj 873 159 pack f f; #X obj 873 135 \$0; #X obj 924 136 * \$2; #X obj 873 93 t b b; #X obj 924 114 \$1; #X msg 935 61 bang; #N canvas 17 168 979 522 make-grid 0; #X obj 6 6 inlet; #X text 128 6 bang me to make the grid; #X obj 54 290 f; #X obj 6 442 pack f f s f; #X obj 329 244 \$0; #X obj 329 222 loadbang; #X obj 41 352 * 10; #X obj 6 352 * 10; #X msg 6 465 \; \$4grid obj \$1 \$2 tgl 8 0 \$3out \$3in empty 0 -6 0 8 -262144 -1 -1 0 1 \;; #X obj 291 335 * 20; #X obj 226 361 +; #X obj 242 335 * \$1; #X obj 275 375 +; #X obj 200 330 t f f; #X obj 269 354 * 20; #X obj 344 317 \$0; #X obj 344 340 makefilename pd-%dgridrecs; #X obj 6 30 t b b; #X obj 599 460 pack f f f; #X obj 599 437 \$0; #X obj 599 374 t b f; #X obj 664 435 * 10; #X obj 631 435 * 10; #X msg 599 480 \; \$1grid donecanvasdialog 1 -1 1 0 -1 0 0 \$2 \$3 0 0; #X obj 631 413 + 1; #X obj 664 413 + 3; #X obj 6 375 + 1; #X obj 41 375 + 21; #X msg 226 424 \; \$4 obj 10 \$3 cell-receive \$2out \$1 \$5; #X obj 226 403 pack f s f s f; #X obj 6 96 until; #X obj 6 120 f; #X obj 33 120 + 1; #X msg 36 75 0; #X obj 6 51 t b b; #X obj 6 183 until; #X obj 6 204 f; #X obj 33 204 + 1; #X msg 36 162 0; #X obj 6 141 t b b f; #X obj 6 162 \$1; #X obj 6 75 \$2; #X obj 110 229 f; #X obj 6 227 f; #X obj 6 250 t f b b f; #X obj 33 316 \$0; #N canvas 0 0 521 310 makename 0; #X obj 21 16 inlet; #X obj 140 15 inlet; #X obj 288 17 inlet; #X obj 289 166 outlet; #X obj 289 142 makefilename; #X obj 289 101 makefilename; #X msg 289 80 set \$1; #X msg 289 122 set \$1; #X obj 289 59 makefilename %%%%dx%%dy%d; #X connect 0 0 4 0; #X connect 1 0 5 0; #X connect 2 0 8 0; #X connect 4 0 3 0; #X connect 5 0 7 0; #X connect 6 0 5 0; #X connect 7 0 4 0; #X connect 8 0 6 0; #X restore 96 359 pd makename; #X connect 0 0 17 0; #X connect 2 0 46 1; #X connect 3 0 8 0; #X connect 4 0 3 3; #X connect 5 0 4 0; #X connect 6 0 27 0; #X connect 7 0 26 0; #X connect 9 0 12 1; #X connect 10 0 29 0; #X connect 11 0 10 1; #X connect 12 0 29 2; #X connect 13 0 10 0; #X connect 13 1 14 0; #X connect 14 0 12 0; #X connect 15 0 16 0; #X connect 15 0 29 4; #X connect 16 0 29 3; #X connect 17 0 34 0; #X connect 17 1 15 0; #X connect 18 0 23 0; #X connect 19 0 18 0; #X connect 20 0 19 0; #X connect 20 1 24 0; #X connect 21 0 18 2; #X connect 22 0 18 1; #X connect 24 0 22 0; #X connect 25 0 21 0; #X connect 26 0 3 0; #X connect 27 0 3 1; #X connect 29 0 28 0; #X connect 30 0 31 0; #X connect 31 0 32 0; #X connect 31 0 39 0; #X connect 32 0 31 1; #X connect 33 0 31 1; #X connect 34 0 41 0; #X connect 34 1 33 0; #X connect 35 0 36 0; #X connect 36 0 37 0; #X connect 36 0 43 0; #X connect 37 0 36 1; #X connect 38 0 36 1; #X connect 39 0 40 0; #X connect 39 1 38 0; #X connect 39 2 42 0; #X connect 40 0 35 0; #X connect 41 0 30 0; #X connect 42 0 2 1; #X connect 42 0 6 0; #X connect 42 0 9 0; #X connect 42 0 11 0; #X connect 42 0 25 0; #X connect 43 0 20 0; #X connect 43 0 44 0; #X connect 44 0 7 0; #X connect 44 0 13 0; #X connect 44 1 45 0; #X connect 44 2 2 0; #X connect 44 3 46 2; #X connect 45 0 46 0; #X connect 46 0 3 2; #X connect 46 0 29 1; #X restore 865 581 pd make-grid; #X obj 865 541 loadbang; #X msg 930 541 bang; #X obj 865 611 namecanvas \$0grid; #N canvas 41 31 444 615 2082gridrecs 0; #X restore 865 634 pd \$0gridrecs; #X obj 352 354 inlet; #X obj 725 351 inlet; #X obj 720 591 outlet; #X text 525 262 args: [width] [height]; #N canvas 0 0 867 691 life-iteration 0; #X msg 67 78 0; #X obj 41 140 f; #X obj 73 140 + 1; #X obj 5 2 inlet; #X obj 41 120 until; #X obj 41 78 \$1; #X obj 41 99 * \$2; #X msg 10 613 0; #X msg 61 613 1; #X obj 12 528 pack f f; #X obj 12 505 f; #X obj 12 459 t b f; #X obj 12 552 route 0 1; #X text 86 554 live cell or dead cell?; #X obj 12 579 select 3; #X obj 75 579 select 0 1 2 3; #X obj 28 482 tabread \$0cur; #X text 104 612 What to do \, depending on neighbours; #X obj 10 669 tabwrite \$0tng; #X msg 108 105 \; \$1tng const 0 \;; #X obj 108 78 \$0; #X obj 124 245 until; #X obj 124 266 f; #X obj 152 266 + 1; #X obj 186 397 0; #X obj 243 331 * -1; #X obj 378 235 \$1; #X obj 254 397 0; #X obj 202 373 - 1; #X obj 224 397 0; #X obj 381 398 0; #X obj 449 398 0; #X obj 465 375 + 1; #X obj 396 373 - 1; #X obj 419 398 0; #X obj 378 212 loadbang; #X obj 124 306 select 0 1 2 3 4 5 6 7; #X msg 340 212 bang; #X obj 417 266 * \$2; #X obj 352 453 +; #X obj 352 551 f; #X obj 352 505 tabread \$0cur; #X obj 41 168 t b f f f; #X obj 383 551 + 1; #X obj 593 371 pack f s; #X msg 593 394 \; \$2 \$1 \;; #X obj 5 23 t b b b b; #X obj 5 50 s \$0redraw; #X obj 593 21 r \$0redraw; #X msg 623 68 0; #X obj 593 130 f; #X obj 625 130 + 1; #X obj 593 110 until; #X obj 593 68 \$1; #X obj 593 89 * \$2; #X obj 593 45 t b b; #X obj 593 174 tabread \$0tng; #X obj 643 220 mod \$1; #X obj 691 220 / \$1; #X obj 691 241 int; #X obj 691 262 change; #X obj 336 580 f; #X obj 102 200 t b b b; #X obj 352 484 mod; #X obj 272 372 + 1; #X msg 342 397 1; #X msg 307 397 -1; #X obj 352 528 select 1; #X msg 154 223 0; #X obj 124 286 - 1; #X msg 124 223 9; #X obj 593 153 t f b f f; #N canvas 0 0 521 310 makename 0; #X obj 21 16 inlet; #X obj 140 15 inlet; #X obj 288 17 inlet; #X obj 289 166 outlet; #X obj 289 142 makefilename; #X obj 289 101 makefilename; #X msg 289 80 set \$1; #X msg 289 122 set \$1; #X obj 289 59 makefilename %%%%dx%dy%%din; #X connect 0 0 4 0; #X connect 1 0 5 0; #X connect 2 0 8 0; #X connect 4 0 3 0; #X connect 5 0 7 0; #X connect 6 0 5 0; #X connect 7 0 4 0; #X connect 8 0 6 0; #X restore 644 313 pd makename; #X obj 612 256 \$0; #X connect 0 0 1 1; #X connect 1 0 2 0; #X connect 1 0 42 0; #X connect 2 0 1 1; #X connect 3 0 46 0; #X connect 4 0 1 0; #X connect 5 0 6 0; #X connect 6 0 4 0; #X connect 7 0 18 0; #X connect 8 0 18 0; #X connect 9 0 12 0; #X connect 10 0 9 0; #X connect 11 0 10 0; #X connect 11 1 9 1; #X connect 12 0 14 0; #X connect 12 1 15 0; #X connect 14 0 8 0; #X connect 15 0 7 0; #X connect 15 1 7 0; #X connect 15 2 8 0; #X connect 15 3 8 0; #X connect 15 4 7 0; #X connect 16 0 10 1; #X connect 20 0 19 0; #X connect 21 0 22 0; #X connect 22 0 23 0; #X connect 22 0 69 0; #X connect 23 0 22 1; #X connect 24 0 39 0; #X connect 25 0 28 0; #X connect 25 0 29 1; #X connect 25 0 64 0; #X connect 26 0 25 0; #X connect 26 0 33 0; #X connect 26 0 34 1; #X connect 26 0 32 0; #X connect 26 0 38 0; #X connect 27 0 39 0; #X connect 28 0 24 1; #X connect 29 0 39 0; #X connect 30 0 39 0; #X connect 31 0 39 0; #X connect 32 0 31 1; #X connect 33 0 30 1; #X connect 34 0 39 0; #X connect 35 0 26 0; #X connect 36 0 24 0; #X connect 36 1 29 0; #X connect 36 2 27 0; #X connect 36 3 66 0; #X connect 36 4 65 0; #X connect 36 5 30 0; #X connect 36 6 34 0; #X connect 36 7 31 0; #X connect 37 0 26 0; #X connect 38 0 63 1; #X connect 39 0 63 0; #X connect 40 0 43 0; #X connect 41 0 67 0; #X connect 42 0 62 0; #X connect 42 1 16 0; #X connect 42 2 18 1; #X connect 42 3 39 1; #X connect 43 0 40 1; #X connect 43 0 61 1; #X connect 44 0 45 0; #X connect 46 0 47 0; #X connect 46 1 5 0; #X connect 46 2 0 0; #X connect 46 3 20 0; #X connect 48 0 55 0; #X connect 49 0 50 1; #X connect 50 0 51 0; #X connect 50 0 71 0; #X connect 51 0 50 1; #X connect 52 0 50 0; #X connect 53 0 54 0; #X connect 54 0 52 0; #X connect 55 0 53 0; #X connect 55 1 49 0; #X connect 56 0 44 0; #X connect 57 0 72 1; #X connect 58 0 59 0; #X connect 59 0 60 0; #X connect 60 0 72 2; #X connect 61 0 11 0; #X connect 62 0 61 0; #X connect 62 1 70 0; #X connect 62 2 68 0; #X connect 63 0 41 0; #X connect 64 0 27 1; #X connect 65 0 39 0; #X connect 66 0 39 0; #X connect 67 0 40 0; #X connect 68 0 22 1; #X connect 68 0 40 1; #X connect 68 0 61 1; #X connect 69 0 36 0; #X connect 70 0 21 0; #X connect 71 0 56 0; #X connect 71 1 73 0; #X connect 71 2 57 0; #X connect 71 3 58 0; #X connect 72 0 44 1; #X connect 73 0 72 0; #X restore 352 385 pd life-iteration; #X text 723 333 Bang me to output all values; #X text 352 332 Bang me to do proceed one generation; #X obj 747 442 until; #X obj 747 396 \$1; #X obj 747 418 * \$2; #X obj 747 464 f; #X obj 774 464 + 1; #X msg 776 396 0; #X obj 747 485 tabread \$0cur; #X obj 720 565 list; #X obj 725 372 t b b b; #X obj 743 514 list prepend; #X obj 834 514 t l; #N canvas 212 221 507 438 save 0; #X obj 58 10 r SSSAD_SAVE; #X obj 53 250 outlet; #X obj 80 103 until; #X obj 80 57 \$1; #X obj 80 79 * \$2; #X obj 80 125 f; #X obj 107 125 + 1; #X msg 109 57 0; #X obj 80 146 tabread \$0cur; #X obj 53 226 list; #X obj 58 33 t b b b; #X obj 76 175 list prepend; #X obj 167 175 t l; #X connect 0 0 10 0; #X connect 2 0 5 0; #X connect 3 0 4 0; #X connect 4 0 2 0; #X connect 5 0 6 0; #X connect 5 0 8 0; #X connect 6 0 5 1; #X connect 7 0 5 1; #X connect 8 0 11 0; #X connect 9 0 1 0; #X connect 10 0 9 0; #X connect 10 0 11 1; #X connect 10 1 3 0; #X connect 10 2 7 0; #X connect 11 0 12 0; #X connect 11 0 9 1; #X connect 12 0 11 1; #X restore 527 560 pd save; #N canvas 64 35 650 643 load 0; #X obj 40 6 inlet; #X obj 62 168 s \$0tng; #X obj 40 193 s \$0redraw; #X obj 62 145 list prepend; #X obj 40 74 t b l b; #X msg 91 97 0; #X connect 0 0 4 0; #X connect 3 0 1 0; #X connect 4 0 2 0; #X connect 4 1 3 0; #X connect 4 2 5 0; #X connect 5 0 3 1; #X restore 392 606 pd load; #X text 389 546 Save with [sssad]; #X obj 392 582 sssad/sssad \$3/state; #X obj 920 360 inlet; #X connect 2 0 7 0; #X connect 4 0 3 0; #X connect 5 0 4 0; #X connect 6 0 4 1; #X connect 7 0 5 0; #X connect 7 1 8 0; #X connect 8 0 6 0; #X connect 9 0 7 0; #X connect 11 0 10 0; #X connect 12 0 10 0; #X connect 15 0 19 0; #X connect 16 0 30 0; #X connect 22 0 25 0; #X connect 23 0 24 0; #X connect 24 0 22 0; #X connect 25 0 26 0; #X connect 25 0 28 0; #X connect 26 0 25 1; #X connect 27 0 25 1; #X connect 28 0 31 0; #X connect 29 0 17 0; #X connect 30 0 29 0; #X connect 30 0 31 1; #X connect 30 1 23 0; #X connect 30 2 27 0; #X connect 31 0 32 0; #X connect 31 0 29 1; #X connect 32 0 31 1; #X connect 33 0 36 1; #X connect 36 0 34 0; #X connect 37 0 34 0; #X coords 0 -1 1 0 80 100 1 0 0;