+ Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+ $nspots = 0;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+ $nspots = 1;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+ $nspots = 2;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+ $nspots = 3;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+ $nspots = 4;
+ translate(token_pitch * [ 0.0, 0.0 ]) Token_L();
+ };
+}
+module Base_1xOne(){ ////toplevel
+// Base 1xOne total= 1 rowsz=1 nrows=1
+ union(){
+ Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+ $nspots = 0;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+ $nspots = 1;
+ translate(token_pitch * [ 0.0, 0.0 ]) Token_L();
+ };
+ union(){
+ Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+ $nspots = 2;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+ $nspots = 3;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+ $nspots = 4;
+ };
+}
+module Base_1xThree(){ ////toplevel
+// Base 1xThree total= 1 rowsz=1 nrows=1
+ union(){
+ Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+ $nspots = 0;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+ $nspots = 1;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+ $nspots = 2;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+ $nspots = 3;
+ translate(token_pitch * [ 0.0, 0.0 ]) Token_L();
+ };
+ union(){
+ Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+ $nspots = 4;
+ };
+}
+module Base_1xTwo(){ ////toplevel
+// Base 1xTwo total= 1 rowsz=1 nrows=1
+ union(){
+ Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+ $nspots = 0;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+ $nspots = 1;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+ $nspots = 2;
+ translate(token_pitch * [ 0.0, 0.0 ]) Token_L();
+ };
+ union(){
+ Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+ $nspots = 3;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+ $nspots = 4;
+ };
+}
+module Base_1xZero(){ ////toplevel
+// Base 1xZero total= 1 rowsz=1 nrows=1
+ union(){
+ Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+ $nspots = 0;
+ translate(token_pitch * [ 0.0, 0.0 ]) Token_L();
+ };
+ union(){
+ Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+ $nspots = 1;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+ $nspots = 2;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+ $nspots = 3;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+ $nspots = 4;
+ };
+}
+module Base_2xFour(){ ////toplevel
+// Base 2xFour total= 2 rowsz=2 nrows=1
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+ $nspots = 0;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+ $nspots = 1;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+ $nspots = 2;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+ $nspots = 3;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+ $nspots = 4;
+ translate(token_pitch * [ -0.5, 0.0 ]) Token_L();
+ translate(token_pitch * [ 0.5, 0.0 ]) Token_L();
+ };
+}
+module Base_2xOne(){ ////toplevel
+// Base 2xOne total= 2 rowsz=2 nrows=1
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+ $nspots = 0;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+ $nspots = 1;
+ translate(token_pitch * [ -0.5, 0.0 ]) Token_L();
+ translate(token_pitch * [ 0.5, 0.0 ]) Token_L();
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+ $nspots = 2;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+ $nspots = 3;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+ $nspots = 4;
+ };
+}
+module Base_2xThree(){ ////toplevel
+// Base 2xThree total= 2 rowsz=2 nrows=1
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+ $nspots = 0;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+ $nspots = 1;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+ $nspots = 2;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+ $nspots = 3;
+ translate(token_pitch * [ -0.5, 0.0 ]) Token_L();
+ translate(token_pitch * [ 0.5, 0.0 ]) Token_L();
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+ $nspots = 4;
+ };
+}
+module Base_2xTwo(){ ////toplevel
+// Base 2xTwo total= 2 rowsz=2 nrows=1
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+ $nspots = 0;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+ $nspots = 1;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+ $nspots = 2;
+ translate(token_pitch * [ -0.5, 0.0 ]) Token_L();
+ translate(token_pitch * [ 0.5, 0.0 ]) Token_L();
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+ $nspots = 3;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+ $nspots = 4;
+ };
+}
+module Base_2xZero(){ ////toplevel
+// Base 2xZero total= 2 rowsz=2 nrows=1
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+ $nspots = 0;
+ translate(token_pitch * [ -0.5, 0.0 ]) Token_L();
+ translate(token_pitch * [ 0.5, 0.0 ]) Token_L();
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+ $nspots = 1;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+ $nspots = 2;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+ $nspots = 3;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+ $nspots = 4;
+ };
+}
+module Base_3xFour(){ ////toplevel
+// Base 3xFour total= 3 rowsz=2 nrows=2
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+ $nspots = 0;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+ $nspots = 1;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+ $nspots = 2;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+ $nspots = 3;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+ $nspots = 4;
+ translate(token_pitch * [ -0.5, -0.5 ]) Token_L();
+ translate(token_pitch * [ -0.5, 0.5 ]) Token_L();
+ translate(token_pitch * [ 0.5, -0.5 ]) Token_L();
+ };
+}
+module Base_3xOne(){ ////toplevel
+// Base 3xOne total= 3 rowsz=2 nrows=2
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+ $nspots = 0;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+ $nspots = 1;
+ translate(token_pitch * [ -0.5, -0.5 ]) Token_L();
+ translate(token_pitch * [ -0.5, 0.5 ]) Token_L();
+ translate(token_pitch * [ 0.5, -0.5 ]) Token_L();
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+ $nspots = 2;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+ $nspots = 3;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+ $nspots = 4;
+ };
+}
+module Base_3xThree(){ ////toplevel
+// Base 3xThree total= 3 rowsz=2 nrows=2
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+ $nspots = 0;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+ $nspots = 1;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+ $nspots = 2;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+ $nspots = 3;
+ translate(token_pitch * [ -0.5, -0.5 ]) Token_L();
+ translate(token_pitch * [ -0.5, 0.5 ]) Token_L();
+ translate(token_pitch * [ 0.5, -0.5 ]) Token_L();
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+ $nspots = 4;
+ };
+}
+module Base_3xTwo(){ ////toplevel
+// Base 3xTwo total= 3 rowsz=2 nrows=2
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+ $nspots = 0;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+ $nspots = 1;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+ $nspots = 2;
+ translate(token_pitch * [ -0.5, -0.5 ]) Token_L();
+ translate(token_pitch * [ -0.5, 0.5 ]) Token_L();
+ translate(token_pitch * [ 0.5, -0.5 ]) Token_L();
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+ $nspots = 3;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+ $nspots = 4;
+ };
+}
+module Base_3xZero(){ ////toplevel
+// Base 3xZero total= 3 rowsz=2 nrows=2
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+ $nspots = 0;
+ translate(token_pitch * [ -0.5, -0.5 ]) Token_L();
+ translate(token_pitch * [ -0.5, 0.5 ]) Token_L();
+ translate(token_pitch * [ 0.5, -0.5 ]) Token_L();
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+ $nspots = 1;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+ $nspots = 2;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+ $nspots = 3;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+ $nspots = 4;
+ };
+}
+module Base_Black(){ ////toplevel
+// Base Black total=18 rowsz=5 nrows=4
+ union(){
+ Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+ $nspots = 0;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+ $nspots = 1;
+ translate(token_pitch * [ -2.0, -1.5 ]) Token_L();
+ translate(token_pitch * [ -2.0, -0.5 ]) Token_L();
+ translate(token_pitch * [ -2.0, 0.5 ]) Token_L();
+ translate(token_pitch * [ -2.0, 1.5 ]) Token_L();
+ translate(token_pitch * [ -1.0, -1.5 ]) Token_L();
+ translate(token_pitch * [ -1.0, -0.5 ]) Token_L();
+ translate(token_pitch * [ -1.0, 0.5 ]) Token_L();
+ translate(token_pitch * [ -1.0, 1.5 ]) Token_L();
+ translate(token_pitch * [ 0.0, -1.5 ]) Token_L();
+ translate(token_pitch * [ 0.0, -0.5 ]) Token_L();
+ translate(token_pitch * [ 0.0, 0.5 ]) Token_L();
+ translate(token_pitch * [ 0.0, 1.5 ]) Token_L();
+ translate(token_pitch * [ 1.0, -1.5 ]) Token_L();
+ translate(token_pitch * [ 1.0, -0.5 ]) Token_L();
+ translate(token_pitch * [ 1.0, 0.5 ]) Token_L();
+ translate(token_pitch * [ 1.0, 1.5 ]) Token_L();
+ translate(token_pitch * [ 2.0, -1.5 ]) Token_L();
+ translate(token_pitch * [ 2.0, -0.5 ]) Token_L();
+ };
+ union(){
+ Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+ $nspots = 2;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+ $nspots = 3;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+ $nspots = 4;
+ };
+}
+module Base_Blue(){ ////toplevel
+// Base Blue total=34 rowsz=6 nrows=6
+ union(){
+ Frame($phase, token_pitch * [ 6 + 1.00, 6 + 0.50 ]);
+ $nspots = 0;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 6 + 1.00, 6 + 0.50 ]);
+ $nspots = 1;
+ translate(token_pitch * [ -2.5, -2.5 ]) Token_L();
+ translate(token_pitch * [ -2.5, -1.5 ]) Token_L();
+ translate(token_pitch * [ -2.5, -0.5 ]) Token_L();
+ translate(token_pitch * [ -2.5, 0.5 ]) Token_L();
+ translate(token_pitch * [ -2.5, 1.5 ]) Token_L();
+ translate(token_pitch * [ -2.5, 2.5 ]) Token_L();
+ translate(token_pitch * [ -1.5, -2.5 ]) Token_L();
+ translate(token_pitch * [ -1.5, -1.5 ]) Token_L();
+ translate(token_pitch * [ -1.5, -0.5 ]) Token_L();
+ translate(token_pitch * [ -1.5, 0.5 ]) Token_L();
+ translate(token_pitch * [ -1.5, 1.5 ]) Token_L();
+ translate(token_pitch * [ -1.5, 2.5 ]) Token_L();
+ translate(token_pitch * [ -0.5, -2.5 ]) Token_L();
+ translate(token_pitch * [ -0.5, -1.5 ]) Token_L();
+ };
+ union(){
+ Frame($phase, token_pitch * [ 6 + 1.00, 6 + 0.50 ]);
+ $nspots = 2;
+ translate(token_pitch * [ -0.5, -0.5 ]) Token_L();
+ translate(token_pitch * [ -0.5, 0.5 ]) Token_L();
+ translate(token_pitch * [ -0.5, 1.5 ]) Token_L();
+ translate(token_pitch * [ -0.5, 2.5 ]) Token_L();
+ translate(token_pitch * [ 0.5, -2.5 ]) Token_L();
+ translate(token_pitch * [ 0.5, -1.5 ]) Token_L();
+ translate(token_pitch * [ 0.5, -0.5 ]) Token_L();
+ translate(token_pitch * [ 0.5, 0.5 ]) Token_L();
+ translate(token_pitch * [ 0.5, 1.5 ]) Token_L();
+ translate(token_pitch * [ 0.5, 2.5 ]) Token_L();
+ };
+ union(){
+ Frame($phase, token_pitch * [ 6 + 1.00, 6 + 0.50 ]);
+ $nspots = 3;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 6 + 1.00, 6 + 0.50 ]);
+ $nspots = 4;
+ translate(token_pitch * [ 1.5, -2.5 ]) Token_L();
+ translate(token_pitch * [ 1.5, -1.5 ]) Token_L();
+ translate(token_pitch * [ 1.5, -0.5 ]) Token_L();
+ translate(token_pitch * [ 1.5, 0.5 ]) Token_L();
+ translate(token_pitch * [ 1.5, 1.5 ]) Token_L();
+ translate(token_pitch * [ 1.5, 2.5 ]) Token_L();
+ translate(token_pitch * [ 2.5, -2.5 ]) Token_L();
+ translate(token_pitch * [ 2.5, -1.5 ]) Token_L();
+ translate(token_pitch * [ 2.5, -0.5 ]) Token_L();
+ translate(token_pitch * [ 2.5, 0.5 ]) Token_L();
+ };
+}
+module Base_Green(){ ////toplevel
+// Base Green total=38 rowsz=7 nrows=6
+ union(){
+ Frame($phase, token_pitch * [ 7 + 1.00, 6 + 0.50 ]);
+ $nspots = 0;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 7 + 1.00, 6 + 0.50 ]);
+ $nspots = 1;
+ translate(token_pitch * [ -3.0, -2.5 ]) Token_L();
+ translate(token_pitch * [ -3.0, -1.5 ]) Token_L();
+ translate(token_pitch * [ -3.0, -0.5 ]) Token_L();
+ translate(token_pitch * [ -3.0, 0.5 ]) Token_L();
+ translate(token_pitch * [ -3.0, 1.5 ]) Token_L();
+ translate(token_pitch * [ -3.0, 2.5 ]) Token_L();
+ translate(token_pitch * [ -2.0, -2.5 ]) Token_L();
+ translate(token_pitch * [ -2.0, -1.5 ]) Token_L();
+ translate(token_pitch * [ -2.0, -0.5 ]) Token_L();
+ translate(token_pitch * [ -2.0, 0.5 ]) Token_L();
+ translate(token_pitch * [ -2.0, 1.5 ]) Token_L();
+ translate(token_pitch * [ -2.0, 2.5 ]) Token_L();
+ translate(token_pitch * [ -1.0, -2.5 ]) Token_L();
+ translate(token_pitch * [ -1.0, -1.5 ]) Token_L();
+ translate(token_pitch * [ -1.0, -0.5 ]) Token_L();
+ };
+ union(){
+ Frame($phase, token_pitch * [ 7 + 1.00, 6 + 0.50 ]);
+ $nspots = 2;
+ translate(token_pitch * [ -1.0, 0.5 ]) Token_L();
+ translate(token_pitch * [ -1.0, 1.5 ]) Token_L();
+ translate(token_pitch * [ -1.0, 2.5 ]) Token_L();
+ translate(token_pitch * [ 0.0, -2.5 ]) Token_L();
+ translate(token_pitch * [ 0.0, -1.5 ]) Token_L();
+ translate(token_pitch * [ 0.0, -0.5 ]) Token_L();
+ translate(token_pitch * [ 0.0, 0.5 ]) Token_L();
+ translate(token_pitch * [ 0.0, 1.5 ]) Token_L();
+ translate(token_pitch * [ 0.0, 2.5 ]) Token_L();
+ translate(token_pitch * [ 1.0, -2.5 ]) Token_L();
+ };
+ union(){
+ Frame($phase, token_pitch * [ 7 + 1.00, 6 + 0.50 ]);
+ $nspots = 3;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 7 + 1.00, 6 + 0.50 ]);
+ $nspots = 4;
+ translate(token_pitch * [ 1.0, -1.5 ]) Token_L();
+ translate(token_pitch * [ 1.0, -0.5 ]) Token_L();
+ translate(token_pitch * [ 1.0, 0.5 ]) Token_L();
+ translate(token_pitch * [ 1.0, 1.5 ]) Token_L();
+ translate(token_pitch * [ 1.0, 2.5 ]) Token_L();
+ translate(token_pitch * [ 2.0, -2.5 ]) Token_L();
+ translate(token_pitch * [ 2.0, -1.5 ]) Token_L();
+ translate(token_pitch * [ 2.0, -0.5 ]) Token_L();
+ translate(token_pitch * [ 2.0, 0.5 ]) Token_L();
+ translate(token_pitch * [ 2.0, 1.5 ]) Token_L();
+ translate(token_pitch * [ 2.0, 2.5 ]) Token_L();
+ translate(token_pitch * [ 3.0, -2.5 ]) Token_L();
+ translate(token_pitch * [ 3.0, -1.5 ]) Token_L();
+ };
+}
+module Base_Orange(){ ////toplevel
+// Base Orange total=20 rowsz=5 nrows=4
+ union(){
+ Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+ $nspots = 0;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+ $nspots = 1;
+ translate(token_pitch * [ -2.0, -1.5 ]) Token_L();
+ translate(token_pitch * [ -2.0, -0.5 ]) Token_L();
+ translate(token_pitch * [ -2.0, 0.5 ]) Token_L();
+ translate(token_pitch * [ -2.0, 1.5 ]) Token_L();
+ translate(token_pitch * [ -1.0, -1.5 ]) Token_L();
+ translate(token_pitch * [ -1.0, -0.5 ]) Token_L();
+ translate(token_pitch * [ -1.0, 0.5 ]) Token_L();
+ translate(token_pitch * [ -1.0, 1.5 ]) Token_L();
+ translate(token_pitch * [ 0.0, -1.5 ]) Token_L();
+ translate(token_pitch * [ 0.0, -0.5 ]) Token_L();
+ translate(token_pitch * [ 0.0, 0.5 ]) Token_L();
+ translate(token_pitch * [ 0.0, 1.5 ]) Token_L();
+ translate(token_pitch * [ 1.0, -1.5 ]) Token_L();
+ translate(token_pitch * [ 1.0, -0.5 ]) Token_L();
+ translate(token_pitch * [ 1.0, 0.5 ]) Token_L();
+ translate(token_pitch * [ 1.0, 1.5 ]) Token_L();
+ translate(token_pitch * [ 2.0, -1.5 ]) Token_L();
+ translate(token_pitch * [ 2.0, -0.5 ]) Token_L();
+ translate(token_pitch * [ 2.0, 0.5 ]) Token_L();
+ translate(token_pitch * [ 2.0, 1.5 ]) Token_L();
+ };
+ union(){
+ Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+ $nspots = 2;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+ $nspots = 3;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+ $nspots = 4;
+ };
+}
+module Base_Purple(){ ////toplevel
+// Base Purple total=15 rowsz=4 nrows=4
+ union(){
+ Frame($phase, token_pitch * [ 4 + 1.00, 4 + 0.50 ]);
+ $nspots = 0;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 4 + 1.00, 4 + 0.50 ]);
+ $nspots = 1;
+ translate(token_pitch * [ -1.5, -1.5 ]) Token_L();
+ translate(token_pitch * [ -1.5, -0.5 ]) Token_L();
+ translate(token_pitch * [ -1.5, 0.5 ]) Token_L();
+ translate(token_pitch * [ -1.5, 1.5 ]) Token_L();
+ translate(token_pitch * [ -0.5, -1.5 ]) Token_L();
+ translate(token_pitch * [ -0.5, -0.5 ]) Token_L();
+ translate(token_pitch * [ -0.5, 0.5 ]) Token_L();
+ translate(token_pitch * [ -0.5, 1.5 ]) Token_L();
+ translate(token_pitch * [ 0.5, -1.5 ]) Token_L();
+ translate(token_pitch * [ 0.5, -0.5 ]) Token_L();
+ translate(token_pitch * [ 0.5, 0.5 ]) Token_L();
+ translate(token_pitch * [ 0.5, 1.5 ]) Token_L();
+ translate(token_pitch * [ 1.5, -1.5 ]) Token_L();
+ translate(token_pitch * [ 1.5, -0.5 ]) Token_L();
+ translate(token_pitch * [ 1.5, 0.5 ]) Token_L();
+ };
+ union(){
+ Frame($phase, token_pitch * [ 4 + 1.00, 4 + 0.50 ]);
+ $nspots = 2;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 4 + 1.00, 4 + 0.50 ]);
+ $nspots = 3;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 4 + 1.00, 4 + 0.50 ]);
+ $nspots = 4;
+ };
+}
+module Base_Red(){ ////toplevel
+// Base Red total=30 rowsz=6 nrows=5
+ union(){
+ Frame($phase, token_pitch * [ 6 + 1.00, 5 + 0.50 ]);
+ $nspots = 0;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 6 + 1.00, 5 + 0.50 ]);
+ $nspots = 1;