Please report any bugs or errors to H.G. Muller

Syntax Error on line 987

e3 d3 c3 b3 is not a valid expression, because e3 is not a recognized piece, coordinate, command, or subroutine.

Edit the Settings File for Grand Apothecary Chess 1

For the sake of debugging, here is the full GAME Code program that this error occurred in. The lines have been properly indented to help you spot scope errors.

   0 include /membergraphics/MSgame-code-generation/betza.txt
   1 set legdefs
(0
1  1  1  1     2
1  1 -1  1     2
1 -1  0  1   8388609
1  1  1  1     4
1  1 -1  1     4
0
1  1 -1 -1     2
1  1  1 -1     2
1 -1  0 -1   8388609
1  1 -1 -1     4
1  1  1 -1     4
0
1 -1  1  1     1
1 -1 -1  1     1
1  1  0  1     2
1  1  0  1     4
0
1 -1 -1 -1     1
1 -1  1 -1     1
1  1  0 -1     2
1  1  0 -1     4
0
1  1  0  1     3
1  1  1  1     3
1  1  1  0     3
1  1  1 -1     3
1  1  0 -1     3
1  1 -1 -1     3
1  1 -1  0     3
1  1 -1  1     3
2 99  1  0    72
1  3  0     9
2 99 -1  0    72
1 -3  0     9
2 99  1  0    72
1  4  0     9
2 99 -1  0    72
1 -4  0     9
2 99  1  0   33554504
1  2  0     9
2 99 -1  0   33554504
1 -2  0     9
0 99  1  0   33554504
1  3  0     9
2 99 -1  0   33554504
1 -3  0     9
0
1 99  0  1     3
1 99  1  0     3
1 99  0 -1     3
1 99 -1  0     3
0
1 99  0  1     3
1 99  1  1     3
1 99  1  0     3
1 99  1 -1     3
1 99  0 -1     3
1 99 -1 -1     3
1 99 -1  0     3
1 99 -1  1     3
0
1 99  1  1     3
1 99  1 -1     3
1 99 -1 -1     3
1 99 -1  1     3
0
1  1  1  2     3
1  1  2  1     3
1  1  2 -1     3
1  1  1 -2     3
1  1 -1 -2     3
1  1 -2 -1     3
1  1 -2  1     3
1  1 -1  2     3
1  1  1  3     1
1  1  3  1     1
1  1  3 -1     1
1  1  1 -3     1
1  1 -1 -3     1
1  1 -3 -1     1
1  1 -3  1     1
1  1 -1  3     1
0
1  1  0  3     3
1  1  3  0     3
1  1  0 -3     3
1  1 -3  0     3
1  1  1  1     3
1  1  1 -1     3
1  1 -1 -1     3
1  1 -1  1     3
1  1  0  2     3
1  1  2  0     3
1  1  0 -2     3
1  1 -2  0     3
0
1  1  0  1     3
1  1  1  0     3
1  1  0 -1     3
1  1 -1  0     3
1  1  2  3     3
1  1  3  2     3
1  1  3 -2     3
1  1  2 -3     3
1  1 -2 -3     3
1  1 -3 -2     3
1  1 -3  2     3
1  1 -2  3     3
0
1 99  0  1     1
1 99  1  0     1
1 99  0 -1     1
1 99 -1  0     1
2 99  0  1    16
99  0  1     2
2 99  1  0    16
99  1  0     2
2 99  0 -1    16
99  0 -1     2
2 99 -1  0    16
99 -1  0     2
0
1 99  1  2     3
1 99  2  1     3
1 99  2 -1     3
1 99  1 -2     3
1 99 -1 -2     3
1 99 -2 -1     3
1 99 -2  1     3
1 99 -1  2     3
0
1  1  0  2     3
1  1  2  0     3
1  1  0 -2     3
1  1 -2  0     3
3  1  0  1    17
1  0  1    33
99  1  1     3
3  1  1  0    17
1  1  0    33
99  1 -1     3
3  1  0 -1    17
1  0 -1    33
99 -1 -1     3
3  1 -1  0    17
1 -1  0    33
99 -1  1     3
3  1  0  1    17
1  0  1    33
99 -1  1     3
3  1  1  0    17
1  1  0    33
99  1  1     3
3  1  0 -1    17
1  0 -1    33
99  1 -1     3
3  1 -1  0    17
1 -1  0    33
99 -1 -1     3
0
4  1  0  1     1
1  0  1     1
1  0  1     1
1  1  1     3
4  1  1  1     1
1  1  1     1
1  1  1     1
1  1  0     3
4  1  1  0     1
1  1  0     1
1  1  0     1
1  1 -1     3
4  1  1 -1     1
1  1 -1     1
1  1 -1     1
1  0 -1     3
4  1  0 -1     1
1  0 -1     1
1  0 -1     1
1 -1 -1     3
4  1 -1 -1     1
1 -1 -1     1
1 -1 -1     1
1 -1  0     3
4  1 -1  0     1
1 -1  0     1
1 -1  0     1
1 -1  1     3
4  1 -1  1     1
1 -1  1     1
1 -1  1     1
1  0  1     3
4  1  0  1     1
1  0  1     1
1  0  1     1
1 -1  1     3
4  1  1  1     1
1  1  1     1
1  1  1     1
1  0  1     3
4  1  1  0     1
1  1  0     1
1  1  0     1
1  1  1     3
4  1  1 -1     1
1  1 -1     1
1  1 -1     1
1  1  0     3
4  1  0 -1     1
1  0 -1     1
1  0 -1     1
1  1 -1     3
4  1 -1 -1     1
1 -1 -1     1
1 -1 -1     1
1  0 -1     3
4  1 -1  0     1
1 -1  0     1
1 -1  0     1
1 -1 -1     3
4  1 -1  1     1
1 -1  1     1
1 -1  1     1
1 -1  0     3
4  1  0  1     1
1  1  1     1
1  1  1     1
1  1  1     3
4  1  1  1     1
1  1  0     1
1  1  0     1
1  1  0     3
4  1  1  0     1
1  1 -1     1
1  1 -1     1
1  1 -1     3
4  1  1 -1     1
1  0 -1     1
1  0 -1     1
1  0 -1     3
4  1  0 -1     1
1 -1 -1     1
1 -1 -1     1
1 -1 -1     3
4  1 -1 -1     1
1 -1  0     1
1 -1  0     1
1 -1  0     3
4  1 -1  0     1
1 -1  1     1
1 -1  1     1
1 -1  1     3
4  1 -1  1     1
1  0  1     1
1  0  1     1
1  0  1     3
4  1  0  1     1
1 -1  1     1
1 -1  1     1
1 -1  1     3
4  1  1  1     1
1  0  1     1
1  0  1     1
1  0  1     3
4  1  1  0     1
1  1  1     1
1  1  1     1
1  1  1     3
4  1  1 -1     1
1  1  0     1
1  1  0     1
1  1  0     3
4  1  0 -1     1
1  1 -1     1
1  1 -1     1
1  1 -1     3
4  1 -1 -1     1
1  0 -1     1
1  0 -1     1
1  0 -1     3
4  1 -1  0     1
1 -1 -1     1
1 -1 -1     1
1 -1 -1     3
4  1 -1  1     1
1 -1  0     1
1 -1  0     1
1 -1  0     3
4  1  0  1     1
1  0  1     1
1  1  1     1
1  0  1     3
4  1  1  1     1
1  1  1     1
1  1  0     1
1  1  1     3
4  1  1  0     1
1  1  0     1
1  1 -1     1
1  1  0     3
4  1  1 -1     1
1  1 -1     1
1  0 -1     1
1  1 -1     3
4  1  0 -1     1
1  0 -1     1
1 -1 -1     1
1  0 -1     3
4  1 -1 -1     1
1 -1 -1     1
1 -1  0     1
1 -1 -1     3
4  1 -1  0     1
1 -1  0     1
1 -1  1     1
1 -1  0     3
4  1 -1  1     1
1 -1  1     1
1  0  1     1
1 -1  1     3
4  1  0  1     1
1  0  1     1
1 -1  1     1
1  0  1     3
4  1  1  1     1
1  1  1     1
1  0  1     1
1  1  1     3
4  1  1  0     1
1  1  0     1
1  1  1     1
1  1  0     3
4  1  1 -1     1
1  1 -1     1
1  1  0     1
1  1 -1     3
4  1  0 -1     1
1  0 -1     1
1  1 -1     1
1  0 -1     3
4  1 -1 -1     1
1 -1 -1     1
1  0 -1     1
1 -1 -1     3
4  1 -1  0     1
1 -1  0     1
1 -1 -1     1
1 -1  0     3
4  1 -1  1     1
1 -1  1     1
1 -1  0     1
1 -1  1     3
4  1  0  1     1
1  1  1     1
1  0  1     1
1  0  1     3
4  1  1  1     1
1  1  0     1
1  1  1     1
1  1  1     3
4  1  1  0     1
1  1 -1     1
1  1  0     1
1  1  0     3
4  1  1 -1     1
1  0 -1     1
1  1 -1     1
1  1 -1     3
4  1  0 -1     1
1 -1 -1     1
1  0 -1     1
1  0 -1     3
4  1 -1 -1     1
1 -1  0     1
1 -1 -1     1
1 -1 -1     3
4  1 -1  0     1
1 -1  1     1
1 -1  0     1
1 -1  0     3
4  1 -1  1     1
1  0  1     1
1 -1  1     1
1 -1  1     3
4  1  0  1     1
1 -1  1     1
1  0  1     1
1  0  1     3
4  1  1  1     1
1  0  1     1
1  1  1     1
1  1  1     3
4  1  1  0     1
1  1  1     1
1  1  0     1
1  1  0     3
4  1  1 -1     1
1  1  0     1
1  1 -1     1
1  1 -1     3
4  1  0 -1     1
1  1 -1     1
1  0 -1     1
1  0 -1     3
4  1 -1 -1     1
1  0 -1     1
1 -1 -1     1
1 -1 -1     3
4  1 -1  0     1
1 -1 -1     1
1 -1  0     1
1 -1  0     3
4  1 -1  1     1
1 -1  0     1
1 -1  1     1
1 -1  1     3
1  1  0  3     1
1  1  3  0     1
1  1  0 -3     1
1  1 -3  0     1
0
1  -2  0  1   16777219
0
1  -2  0 -1   16777219
0
1 99  1  1     3
1 99  1 -1     3
1 99 -1 -1     3
1 99 -1  1     3
1  1  0  3     1
1  1  3  0     1
1  1  0 -3     1
1  1 -3  0     1
4  1  0  1     1
1  0  1     1
1  0  1     1
1  1  1     3
4  1  1  1     1
1  1  1     1
1  1  1     1
1  1  0     3
4  1  1  0     1
1  1  0     1
1  1  0     1
1  1 -1     3
4  1  1 -1     1
1  1 -1     1
1  1 -1     1
1  0 -1     3
4  1  0 -1     1
1  0 -1     1
1  0 -1     1
1 -1 -1     3
4  1 -1 -1     1
1 -1 -1     1
1 -1 -1     1
1 -1  0     3
4  1 -1  0     1
1 -1  0     1
1 -1  0     1
1 -1  1     3
4  1 -1  1     1
1 -1  1     1
1 -1  1     1
1  0  1     3
4  1  0  1     1
1  0  1     1
1  0  1     1
1 -1  1     3
4  1  1  1     1
1  1  1     1
1  1  1     1
1  0  1     3
4  1  1  0     1
1  1  0     1
1  1  0     1
1  1  1     3
4  1  1 -1     1
1  1 -1     1
1  1 -1     1
1  1  0     3
4  1  0 -1     1
1  0 -1     1
1  0 -1     1
1  1 -1     3
4  1 -1 -1     1
1 -1 -1     1
1 -1 -1     1
1  0 -1     3
4  1 -1  0     1
1 -1  0     1
1 -1  0     1
1 -1 -1     3
4  1 -1  1     1
1 -1  1     1
1 -1  1     1
1 -1  0     3
4  1  0  1     1
1  1  1     1
1  1  1     1
1  1  1     3
4  1  1  1     1
1  1  0     1
1  1  0     1
1  1  0     3
4  1  1  0     1
1  1 -1     1
1  1 -1     1
1  1 -1     3
4  1  1 -1     1
1  0 -1     1
1  0 -1     1
1  0 -1     3
4  1  0 -1     1
1 -1 -1     1
1 -1 -1     1
1 -1 -1     3
4  1 -1 -1     1
1 -1  0     1
1 -1  0     1
1 -1  0     3
4  1 -1  0     1
1 -1  1     1
1 -1  1     1
1 -1  1     3
4  1 -1  1     1
1  0  1     1
1  0  1     1
1  0  1     3
4  1  0  1     1
1 -1  1     1
1 -1  1     1
1 -1  1     3
4  1  1  1     1
1  0  1     1
1  0  1     1
1  0  1     3
4  1  1  0     1
1  1  1     1
1  1  1     1
1  1  1     3
4  1  1 -1     1
1  1  0     1
1  1  0     1
1  1  0     3
4  1  0 -1     1
1  1 -1     1
1  1 -1     1
1  1 -1     3
4  1 -1 -1     1
1  0 -1     1
1  0 -1     1
1  0 -1     3
4  1 -1  0     1
1 -1 -1     1
1 -1 -1     1
1 -1 -1     3
4  1 -1  1     1
1 -1  0     1
1 -1  0     1
1 -1  0     3
4  1  0  1     1
1  0  1     1
1  1  1     1
1  0  1     3
4  1  1  1     1
1  1  1     1
1  1  0     1
1  1  1     3
4  1  1  0     1
1  1  0     1
1  1 -1     1
1  1  0     3
4  1  1 -1     1
1  1 -1     1
1  0 -1     1
1  1 -1     3
4  1  0 -1     1
1  0 -1     1
1 -1 -1     1
1  0 -1     3
4  1 -1 -1     1
1 -1 -1     1
1 -1  0     1
1 -1 -1     3
4  1 -1  0     1
1 -1  0     1
1 -1  1     1
1 -1  0     3
4  1 -1  1     1
1 -1  1     1
1  0  1     1
1 -1  1     3
4  1  0  1     1
1  0  1     1
1 -1  1     1
1  0  1     3
4  1  1  1     1
1  1  1     1
1  0  1     1
1  1  1     3
4  1  1  0     1
1  1  0     1
1  1  1     1
1  1  0     3
4  1  1 -1     1
1  1 -1     1
1  1  0     1
1  1 -1     3
4  1  0 -1     1
1  0 -1     1
1  1 -1     1
1  0 -1     3
4  1 -1 -1     1
1 -1 -1     1
1  0 -1     1
1 -1 -1     3
4  1 -1  0     1
1 -1  0     1
1 -1 -1     1
1 -1  0     3
4  1 -1  1     1
1 -1  1     1
1 -1  0     1
1 -1  1     3
4  1  0  1     1
1  1  1     1
1  0  1     1
1  0  1     3
4  1  1  1     1
1  1  0     1
1  1  1     1
1  1  1     3
4  1  1  0     1
1  1 -1     1
1  1  0     1
1  1  0     3
4  1  1 -1     1
1  0 -1     1
1  1 -1     1
1  1 -1     3
4  1  0 -1     1
1 -1 -1     1
1  0 -1     1
1  0 -1     3
4  1 -1 -1     1
1 -1  0     1
1 -1 -1     1
1 -1 -1     3
4  1 -1  0     1
1 -1  1     1
1 -1  0     1
1 -1  0     3
4  1 -1  1     1
1  0  1     1
1 -1  1     1
1 -1  1     3
4  1  0  1     1
1 -1  1     1
1  0  1     1
1  0  1     3
4  1  1  1     1
1  0  1     1
1  1  1     1
1  1  1     3
4  1  1  0     1
1  1  1     1
1  1  0     1
1  1  0     3
4  1  1 -1     1
1  1  0     1
1  1 -1     1
1  1 -1     3
4  1  0 -1     1
1  1 -1     1
1  0 -1     1
1  0 -1     3
4  1 -1 -1     1
1  0 -1     1
1 -1 -1     1
1 -1 -1     3
4  1 -1  0     1
1 -1 -1     1
1 -1  0     1
1 -1  0     3
4  1 -1  1     1
1 -1  0     1
1 -1  1     1
1 -1  1     3
1  1  0  3     1
1  1  3  0     1
1  1  0 -3     1
1  1 -3  0     1
0
1 99  0  1     3
1 99  1  0     3
1 99  0 -1     3
1 99 -1  0     3
2 99  0  1    16
99  0  1     2
2 99  1  0    16
99  1  0     2
2 99  0 -1    16
99  0 -1     2
2 99 -1  0    16
99 -1  0     2
1  1  1  1     3
1  1  1 -1     3
1  1 -1 -1     3
1  1 -1  1     3
0
1 99  0  1     3
1 99  1  0     3
1 99  0 -1     3
1 99 -1  0     3
1 99  1  2     3
1 99  2  1     3
1 99  2 -1     3
1 99  1 -2     3
1 99 -1 -2     3
1 99 -2 -1     3
1 99 -2  1     3
1 99 -1  2     3
0
1 99  1  1     3
1 99  1 -1     3
1 99 -1 -1     3
1 99 -1  1     3
1 99  1  2     3
1 99  2  1     3
1 99  2 -1     3
1 99  1 -2     3
1 99 -1 -2     3
1 99 -2 -1     3
1 99 -2  1     3
1 99 -1  2     3
0
1  1  0  1    1
1  1  1  1    2
1  1 -1  1    2
0
1  1  0  -1    1
1  1  1  -1    2
1  1 -1  -1    2
0
1  1  0  1    2
1  1  1  1    1
1  1 -1  1    1
0
1  1  0  -1    2
1  1  1  -1    1
1  1 -1  -1    1
0
)
   2 def P cond #0 1 11
   3 def p cond #0 27 37
   4 def X cond #0 53 68
   5 def x cond #0 74 89
   6 def K cond #0 95 135
   7 def k cond #0 95 135
   8 def R cond #0 208 0
   9 def r cond #0 208 0
  10 def Q cond #0 229 0
  11 def q cond #0 229 0
  12 def B cond #0 270 0
  13 def b cond #0 270 0
  14 def N cond #0 291 0
  15 def n cond #0 291 0
  16 def G cond #0 372 0
  17 def g cond #0 372 0
  18 def W cond #0 433 0
  19 def w cond #0 433 0
  20 def Z cond #0 494 0
  21 def z cond #0 494 0
  22 def Y cond #0 551 0
  23 def y cond #0 551 0
  24 def O cond #0 592 0
  25 def o cond #0 592 0
  26 def F cond #0 717 0
  27 def f cond #0 717 0
  28 def J cond #0 1826 0
  29 def j cond #0 1832 0
  30 def I cond #0 1838 0
  31 def i cond #0 1838 0
  32 def M cond #0 2987 0
  33 def m cond #0 2987 0
  34 def V cond #0 3064 0
  35 def v cond #0 3064 0
  36 def U cond #0 3125 0
  37 def u cond #0 3125 0
  38 def D cond #0 3186 0
  39 def d cond #0 3202 0
  40 def H cond #0 3218 0
  41 def h cond #0 3234 0
  42 set extinction 1
  43 set partners (b2 k2 b13 k13 a2 l2 a13 l13)
  44 set rooks (b2 k2 b13 k13)
  45 set badCannon (e2 i2 e13 i13)
  46 set badRook (c2 k2 c13 k13)
  47 def BadZone #locust and match #locust #partners and cond match #locust #rooks match #dest #badRook match #dest #badCannon =O =dest =locust =D =P
  48 set zonal true
  49 set promotables (P p X x)
  50 set supply (P 10 p 10 X 10 x 10 Q 1 q 1 R 1 r 1 Y 1 y 1 B 2 b 2 G 1 g 1 N 1 n 1)
  51 set promotab (
0
(q v u i m r j y o f b n z g w)
(self r j y o f b n z g w)
(self b n z g w)
0
0
0
0
0
0
(self B N Z G W)
(self R J Y O F B N Z G W)
(Q V U I M R J Y O F B N Z G W)
0
)
  52 set brouhaha (a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 a14 b14 c14 d14 e14 f14 g14 h14 i14 j14 k14 l14)
  53 set imitators (J j)
  54 include /membergraphics/MSplay-test-applet-for-chess-variants/shuffle.txt
  55 set shufflespecs (
(F)
(B N G)
0
(Q V U)
0
0
(M I)
0
0
(Y)
(W)
0
0
)
  56 gosub ShuffleSetup
  57 set mypieces assoc
P "wpawn.gif" p "bpawn.gif"
X "wberolinapawn.gif" x "bberolinapawn.gif"
K "wking.gif" k "bking.gif"
R "wrook.gif" r "brook.gif"
Q "wqueen.gif" q "bqueen.gif"
B "wbishop.gif" b "bbishop.gif"
N "wknight.gif" n "bknight.gif"
G "wkangaroo.gif" g "bkangaroo.gif"
W "../alfaeriemisc/compounds/wzebrawazir.gif"
w "../alfaeriemisc/compounds/bzebrawazir.gif"
Z "wcannon.gif" z "bcannon.gif"
Y "wnightrider.gif" y "bnightrider.gif"
O "wbird2.gif" o "bbird2.gif"
F "wbird.gif" f "bbird.gif"
J "wfool.gif" j "bfool.gif"
I "wpegasus.gif" i "bpegasus.gif"
M "wtank.gif" m "btank.gif"
V "wchancellorrider.gif" v "bchancellorrider.gif"
U "wcardinalrider.gif" u "bcardinalrider.gif"
D "wcamel2.gif" d "bcamel2.gif"
H "welephant2.gif" h "belephant2.gif"
  58 setsystem dir "/graphics.dir/alfaerie/"
  59 setsystem pieces #mypieces
  60 setsystem flipped #mypieces
  61 set pseudo 1
  62 sub postauto1
  63   gosub HandleMove false
  64   set toimitate cond == #toimitate p d #toimitate
  65   set toimitate cond == #toimitate x h #toimitate
  66 endsub
  67 sub postauto2
  68   gosub HandleMove true
  69   set toimitate cond == #toimitate P D #toimitate
  70   set toimitate cond == #toimitate X H #toimitate
  71 endsub
  72 gosub GameEnd true
  73 end
  74 
  75 lib /membergraphics/MSgame-code-generation/betza.txt
  76 if == thismove null
  77   say This rule-enforcing preset was created through the Play-Test Applet
  78 endif
  79 echo Please report any bugs or errors to H.G. Muller
  80 setsystem maxmove 4
  81 setsystem omitmoves 1
  82 ban commands
  83 allow pass 2 pass 3
  84 set pseudo 0
  85 set zonal 0
  86 set repeats 3
  87 set reploses 0
  88 set rulemoves 100
  89 set resetpieces (P p)
  90 set staledraw 1
  91 set checkrule 1
  92 set extinction 0
  93 set nullban 1
  94 set wroyal (K)
  95 set broyal (k)
  96 set iron array
  97 set protected array
  98 set restricted array
  99 set counterstrike array
 100 set negligible array
 101 set opaque array
 102 set brouhaha array
 103 set imitators array
 104 set inducers array
 105 set shooters array
 106 set morphers array
 107 set promotables array
 108 set inocheck (K k)
 109 set conversion array
 110 set method 1
 111 set dropdown 1
 112 set crappy 0
 113 set cap array
 114 set tempiron array
 115 set epsqrs 0
 116 set strike 0
 117 set traded 0
 118 set nopvc 0
 119 set toimitate p
 120 set lastfen 0
 121 set epmask 4
 122 set many ep 0 suicide 0 freedrop 0
 123 set converted 0
 124 set hist . "zzz," fencode
 125 def friends cond #0 (onlylower) (onlyupper)
 126 sub FastCastle start dx dy
 127   verify not flag #start
 128   my k r sqr cornr rook
 129   set r ray #start #dx #dy
 130   set k dec count #r
 131   set cornr elem #k #r
 132   set rook space #cornr
 133   verify != @ #rook and not flag #cornr
 134   do while #k
 135     dec k
 136     set sqr elem #k #r
 137     if == @ space #sqr
 138       if == 0 #k
 139         set realto #sqr
 140         set sqr #cornr
 141       endif
 142       gosub GotMove #start #sqr #cornr #start #rook 1
 143     endif
 144   loop
 145 endsub
 146 sub Promote player piece desti
 147   my choice r across
 148   verify mln
 149   set r rank #desti
 150   set across - lastrank * 2 #r
 151   if == #player < #across 0
 152     return
 153   endif
 154   if match #piece #promotables
 155     set choice elem #r #promotab
 156     if #choice
 157       if match self #choice
 158         push choice #piece
 159       endif
 160       set cap mergeall #cap #supply
 161       set choice intersection #cap #choice
 162     endif
 163   else
 164     set choice 0
 165   endif
 166   if #promo
 167     if not #choice
 168       die "You cannot promote on this move"
 169     elseif not match #promo #choice
 170       die "You cannot promote to such a piece"
 171     endif
 172   elseif #choice and not $answered
 173     askpromote #choice
 174   endif
 175 endsub
 176 sub GotMove orisqr destsqr locustsqr dropsqr unload implied
 177   if == 2 #zonal
 178     set k space #orisqr
 179     gosub GetMorph #k #destsqr
 180     verify != barred #k
 181   endif
 182   switch #task
 183     case 1
 184     set halfhit or #halfhit and #crappy and == #orisqr #ori == #locustsqr #desti
 185     verify == #orisqr #ori and == #destsqr #desti
 186     if == 1 #zonal
 187       verify not fn BadZone #orisqr #destsqr #locustsqr #dropsqr #unload
 188     endif
 189     if != 1 #implied
 190       if #firstpart
 191         set pseudohit + #pseudohit #crappy
 192         set autolocust #locustsqr
 193         set autodrop #dropsqr
 194         set dropped #unload
 195       endif
 196       if #sideeffect
 197         verify == #sideeffect #dropsqr
or == #sideeffect #locustsqr
 198         set suicide #locustsqr
 199         set freedrop #dropsqr
 200         set dropped #unload
 201       else
 202         verify == #locustsqr #suicide
 203         verify == #dropsqr #freedrop
 204         verify == #unload #dropped or not #dropsqr
 205       endif
 206     else
 207       verify not #suicide and not #freedrop
 208       if #locustsqr
 209         capture #locustsqr
 210         set imp 1
 211       endif
 212       set impliedkill #locustsqr
 213       set implieddrop #dropsqr
 214       set dropped #unload
 215     endif
 216     set neweps #eps
 217     set ep #destsqr
 218     set ok 1
 219     set desc #mv
 220     break
 221     case 2
 222     if == 1 #zonal
 223       verify not fn BadZone #orisqr #destsqr #locustsqr #dropsqr #unload
 224     endif
 225     if #locustsqr or #dropsqr and #dropdown and not #implied
 226       set m . space #orisqr . ws . #orisqr . chr 45 . #destsqr . chr 59 ws
 227       if #locustsqr
 228         set m . #m . "@-" #locustsqr
 229       elseif #dropsqr
 230         set m . #m . #unload . chr 45 #dropsqr
 231       endif
 232       push xtl #m
 233     else
 234       setlegal #orisqr #destsqr
 235     endif
 236     break
 237     case 9
 238     if == #locustsqr #kpos
 239       push checks #ss
 240       push checks #mv
 241       setelem #locustsqr 0 1
 242     endif
 243     break
 244     case 10
 245     case 7
 246     case 3
 247     set hit cond match space #destsqr #royal #orisqr #hit
 248     if != Xdummy space #locustsqr and #locustsqr
 249       set hit cond match space #locustsqr #royal Ughh #hit
 250     endif
 251     break
 252     case 12
 253     verify count var #orisqr
 254     case 11
 255     if & 1 elem 0 var #destsqr
and == #orisqr #kpos
 256       break
 257     endif
 258     case 4
 259     case 8
 260     if == 1 #zonal
 261       verify not fn BadZone #orisqr #destsqr #locustsqr #dropsqr #unload
 262     endif
 263     my victim locustvictim
 264     set victim space #destsqr
 265     set locustvictim space #locustsqr
 266     if #locustsqr
 267       empty #locustsqr
 268     endif
 269     move #orisqr #destsqr
 270     if #dropsqr
 271       add #unload #dropsqr
 272     endif
 273     dec task
 274     set hit 0
 275     if == 10 #task
 276       if #checked
 277         gosub GenAttacks checks
 278       endif
 279       gosub GenAttacks #orisqr
 280       gosub GenAttacks #destsqr
 281       if #locustsqr
 282         gosub GenAttacks #locustsqr
 283       endif
 284       if #dropsqr
 285         gosub GenAttacks #dropsqr
 286       endif
 287     else
 288       if #threat and != #threat Ughh
 289         set checker space #threat
 290         if cond #xside islower #checker isupper #checker
 291           gosub GenMoves #checker #threat 1
 292         endif
 293       endif
 294       if not #hit
 295         gosub GenAll #xside
 296       endif
 297     endif
 298     inc task
 299     move #destsqr #orisqr
 300     if != #dropsqr #orisqr and #dropsqr
 301       empty #dropsqr
 302     endif
 303     if #locustsqr
 304       add #locustvictim #locustsqr
 305     endif
 306     add #victim #destsqr
 307     if == 4 #task
 308       set threat #hit
 309       set hit not #hit
 310     elseif #hit
 311       set hit 0
 312     elseif #locustsqr or #dropsqr and #dropdown and not #implied
 313       set m . space #orisqr . ws . #orisqr . chr 45 . #destsqr . chr 59 ws
 314       if #locustsqr
 315         if match #mover #shooters
 316           set m . #m . "@-" #locustsqr
 317         else
 318           set m . space #orisqr . ws . #orisqr . chr 45 . #locustsqr . chr 59 ws
 319           set m . #m . space #orisqr . ws . #locustsqr . chr 45 #destsqr
 320         endif
 321       elseif #dropsqr
 322         set m . #m . #unload . chr 45 #dropsqr
 323       endif
 324       push xtl #m
 325     else
 326       setlegal #orisqr #destsqr
 327     endif
 328     break
 329     case 5
 330     verify == #locustsqr #desti
 331     setlegal #locustsqr #destsqr
 332     break
 333     case 6
 334     verify == #ori #orisqr and == #desti #destsqr
 335     if #dropsqr
 336       setlegal #desti #dropsqr
 337     elseif #locustsqr
 338       setlegal #desti #locustsqr
 339     endif
 340     break
 341     case 13
 342     verify not #dropsqr and #locustsqr or not empty #destsqr
 343     set hit 1
 344     break
 345   endswitch
 346 endsub
 347 sub NextLeg togo legindex startsqr cursqr locustsqr dropsqr iso
 348   my rng dx dy mode to tosqrs k len newindex hx hy side r fratricide stopper
 349   set rng elem #legindex #legdefs
 350   set dx elem + 1 #legindex #legdefs
 351   set dy elem + 2 #legindex #legdefs
 352   set mode elem + 3 #legindex #legdefs
 353   if & 64 #mode
 354     verify not flag #startsqr
 355     if match space #startsqr #inocheck
 356       verify != #task 11 or not #checked
 357       push eps #startsqr
 358     endif
 359   endif
 360   if > 0 #rng
 361     switch #rng
 362       case -1
 363       set rng cond < 0 #dy rank #cursqr - lastrank rank #cursqr
 364       set rng - >> lastrank 1 #rng
 365       set rng max 1 #rng
 366       set eps array
 367       set mode | << 1 23 #mode
 368       break
 369       case -2
 370       gosub GenMoves #toimitate #startsqr 1
 371       return
 372       case -3
 373       gosub #mode #startsqr #dx #dy
 374       return
 375     endswitch
 376   endif
 377   set tosqrs ride #cursqr #dx #dy
 378   set r count #tosqrs
 379   if not #r
 380     if & #mode << 1 27
 381       gosub GotMove #startsqr #cursqr #locustsqr #dropsqr 0 0
 382     else
 383       return
 384     endif
 385   endif
 386   set r min #rng #r
 387   if & 128 #mode
 388     set hx >> + 8 * 5 #dx 4
 389     set hy >> + 8 * 5 #dy 4
 390     set k ride #startsqr #hx #hy
 391     set len count #k
 392     set len * #len + abs #hx abs #hy
 393     set len / #len + abs #dx abs #dy
 394     if < #len #r
 395       set r #len
 396       if == 9 #task
 397         pop k to
 398         push #to #ss
 399         push #to #mv
 400       endif
 401     endif
 402     verify #len
 403     if & << 1 14 #mode
 404       set eps array
 405       set to where #cursqr #dx #dy
 406       set k #cursqr
 407       do while != #to #k and onboard #k
 408         set k where #k #hx #hy
 409         if != #k #to
 410           push eps #k
 411         endif
 412       loop
 413     endif
 414   endif
 415   dec togo
 416   if & << 1 21 #mode
 417     set dropsqr #cursqr
 418   endif
 419   if & << 1 15 #mode
 420     verify >= #r #iso
 421     set r #iso
 422   elseif < 1 #r
 423     if & 1 #mode
 424       set k 1
 425       do while < #k #r
 426         set to elem dec #k #tosqrs
 427         if #togo
 428           set newindex + 4 #legindex
 429           gosub NextLeg #togo #newindex #startsqr #to #locustsqr #dropsqr #k
 430         else
 431           gosub GotMove #startsqr #to #locustsqr #dropsqr 0 0
 432         endif
 433         if & << 1 23 #mode
 434           push eps #to
 435         endif
 436         inc k
 437         verify not #hit
 438       loop
 439     endif
 440     if & #epmask #mode
 441       set k 1
 442       do while < #k #r
 443         set to elem dec #k #tosqrs
 444         if match #to #epsqrs
 445           if #togo
 446             set newindex + 4 #legindex
 447             gosub NextLeg #togo #newindex #startsqr #to #ep #dropsqr #k
 448           else
 449             gosub GotMove #startsqr #to #ep #dropsqr 0 1
 450           endif
 451         endif
 452         inc k
 453       loop
 454     endif
 455     if & 18 #mode and == 9 #task
 456       set k 1
 457       do while < #k #r
 458         set to elem dec #k #tosqrs
 459         if #togo
 460           push #to #ss
 461           push #to #mv
 462         endif
 463         if & 2 #mode
 464           if #togo
 465             if == #to #kpos
 466               set newindex + 4 #legindex
 467               gosub NextLeg #togo #newindex #startsqr #to #to #dropsqr #k
 468             endif
 469           else
 470             setelem #to 0 | 1 elem 0 var #to
 471             if == #to #kpos
 472               push checks #ss
 473               push checks #mv
 474             endif
 475           endif
 476         endif
 477         inc k
 478       loop
 479     endif
 480   endif
 481   set len cond == 1 #rng #iso #r
 482   set to elem dec #r #tosqrs
 483   if == 9 #task
 484     if cond empty #to
(& 18 #mode and #togo)
(not & << 1 15 #mode and
!= #r #rng and
or & 2 #mode #togo or
and & 1 #mode
#togo)
 485       push #to #ss
 486       push #to #mv
 487     endif
 488     if & + 2 << 1 13 #mode and == #to #kpos
 489       if #togo
 490         set newindex + 4 #legindex
 491         gosub NextLeg #togo #newindex #startsqr #to #to #dropsqr #len
 492       else
 493         push checks #ss
 494         push checks #mv
 495       endif
 496     endif
 497     if & 2 #mode and not #togo
 498       setelem #to 0 | 1 elem 0 var #to
 499     endif
 500   endif
 501   if match #to #epsqrs and & #epmask #mode
 502     if #togo
 503       set newindex + 4 #legindex
 504       gosub NextLeg #togo #newindex #startsqr #to #ep #dropsqr #len
 505     else
 506       gosub GotMove #startsqr #to #ep 0 0 1
 507     endif
 508   endif
 509   set stopper cond != #to #startsqr space #to @
 510   if == @ #stopper
 511     verify & 1 #mode
 512   else
 513     if & 16 #mode
 514       if not match #stopper #opaque or
not match space #startsqr #opaque
 515         set newindex + 4 #legindex
 516         gosub NextLeg #togo #newindex #startsqr #to #locustsqr #dropsqr #len
 517       endif
 518     endif
 519     set side islower space #startsqr
 520     set fratricide cond #side islower #stopper isupper #stopper
 521     if #fratricide
 522       if & 8 #mode
 523         verify match #to #partners
 524         verify not flag #to
 525         set locustsqr #to
 526         set to where #startsqr elem + 5 #legindex #legdefs 0
 527         set dropsqr where #to - 0 #dx #dy
 528         set eps array
 529         set k #startsqr
 530         do while != #k #to
 531           push eps #k
 532           set k where #k #dx 0
 533         loop
 534         set realto #to
 535         gosub GotMove #startsqr #to #locustsqr #dropsqr #stopper 1
 536         return
 537       elseif & 2048 #mode
 538         if #togo
 539           set newindex + 4 #legindex
 540           gosub NextLeg #togo #newindex #to #to 0 0 #len
 541         elseif != #stopper space #startsqr
 542           gosub GenMoves #stopper #startsqr 1
 543         endif
 544       endif
 545       verify & 4096 #mode
 546     else
 547       verify match #stopper #royal and
& << 1 13 #mode or & 2 #mode
 548       verify not match #stopper #tempiron
 549     endif
 550     if #togo
 551       set locustsqr #to
 552     endif
 553   endif
 554   if #togo
 555     set newindex + 4 #legindex
 556     gosub NextLeg #togo #newindex #startsqr #to #locustsqr #dropsqr #len
 557   else
 558     gosub GotMove #startsqr #to #locustsqr #dropsqr #stopper 0
 559   endif
 560 endsub
 561 sub GenMoves piece sqr all
 562   my index legcount startindex
 563   set side islower #piece
 564   set ss #sqr
 565   set index fn #piece #all
 566   do
 567     set legcount elem #index #legdefs
 568     verify #legcount
 569     set mv #index
 570     inc index
 571     if flag #sqr or not match #piece #conversion
or not & cond #side #converted << #converted 2
+ 64 & 64 elem + 3 #index #legdefs
 572       set eps 0
 573       gosub NextLeg #legcount #index #sqr #sqr 0 0 1
 574     endif
 575     set index + #index * 4 #legcount
 576   loop until #hit
 577 endsub
 578 sub GenAttacks sqr
 579   my k n togo leg piece
 580   set k 1
 581   set n count var #sqr
 582   do while < #k #n
 583     set start elem #k var #sqr
 584     inc k
 585     set leg elem #k var #sqr
 586     inc k
 587     set piece space #start
 588     if not cond #xside
(islower #piece)
(isupper #piece)
 589       continue
 590     endif
 591     set togo elem #leg #legdefs
 592     inc leg
 593     gosub NextLeg #togo #leg #start #start 0 0 1
 594   loop
 595 endsub
 596 sub GenAll player
 597   my from piece
 598   set hit false
 599   for (from piece) fn friends #player
 600     gosub GenMoves #piece #from 1
 601     verify not #hit
 602   next
 603 endsub
 604 sub GetRoyals player
 605   my i nr type myroyal cnt
 606   set myroyal cond #player (#broyal) (#wroyal)
 607   set many i 0 nr 0 hit 0
 608   set royal array
 609   set troy array
 610   do while < #i count #myroyal
 611     set type elem #i #myroyal
 612     set cnt elem #type piececount
 613     if + 0 #cnt
 614       set nr + #nr #cnt
 615       push royal #type
 616       push troy #cnt
 617     endif
 618     inc i
 619   loop
 620   set dead count #royal and not #nr
 621   if < 1 #nr and #extinction
 622     set royal array
 623   endif
 624 endsub
 625 sub InCheck player
 626   GetRoyals #player
 627   set task 3
 628   verify count #royal
 629   if #traded
 630     add Xdummy #desti
 631     push royal Xdummy
 632   endif
 633   if count #epsqrs and
match space #ep #royal
 634     set epmask 6
 635   endif
 636   set player not #player
 637   gosub GenAll #player
 638   set epmask 4
 639   if #traded
 640     add #traded #desti
 641   endif
 642 endsub
 643 sub ParseMove player
 644   my i j parts sqrs sqr
 645   set many suicide 0 freedrop 0 promo 0 sideeffect 0
 646   set mvs explode chr 59 thismove
 647   set parts explode ws trim elem 0 #mvs
 648   set i count #parts
 649   if > #i 2
 650     die "move must be piece ID plus board step"
 651   endif
 652   set sqrs explode chr 45 trim elem dec #i #parts
 653   if != 2 count #sqrs
 654     if == resign thismove
 655       resign
 656     elseif == drawn thismove
 657       drawn
 658     endif
 659     die "board step does not mention two squares"
 660   endif
 661   set ori elem 0 #sqrs
 662   set desti elem 1 #sqrs
 663   if not onboard #desti
 664     set msg join #desti " is not a valid square"
 665     die #msg
 666   endif
 667   if not onboard #ori
 668     set msg join #ori " is not a valid square"
 669     die #msg
 670   endif
 671   set mover space #ori
 672   if not cond #player islower #mover isupper #mover
 673     set msg cond == @ #mover (. #ori " is empty")
("you cannot move opponent pieces")
 674     die #msg
 675   endif
 676   set firstpart 1
 677   set j 1
 678   do while < #j count #mvs
 679     set parts trim elem #j #mvs
 680     if == "pass" #parts or == "skip" #parts
 681       set firstpart 0
 682       inc j
 683       continue
 684     endif
 685     set parts explode ws trim #parts
 686     set i dec count #parts
 687     set sqrs explode chr 45 trim elem #i #parts
 688     if != 2 count #sqrs
 689       set msg join elem #i #parts " is malformed"
 690       die #msg
 691     endif
 692     set sqr elem 1 #sqrs
 693     set sqr cond == "dest" #sqr #desti #sqr
 694     if not onboard #sqr
 695       set msg join #sqr " is not a valid square"
 696       die #msg
 697     elseif onboard elem 0 #sqrs
 698       if != #desti elem 0 #sqrs
 699         die "you can only continue with same piece"
 700       endif
 701       set firstpart 0
 702       if match #mover #shooters
 703         set sideeffect #sqr
 704         return
 705       endif
 706       if #suicide
 707         die "cannot have more than one locust victim"
 708       endif
 709       set suicide #desti
 710       set desti #sqr
 711     elseif == #desti #sqr
 712       set promo elem 0 #sqrs
 713     elseif == @ elem 0 #sqrs
 714       if empty #sqr
 715         set msg . "there is nothing on " . #sqr " to capture"
 716         die #msg
 717       endif
 718       if #suicide
 719         die "cannot have more than one locust victim"
 720       endif
 721       set suicide #sqr
 722       set firstpart 0
 723     else
 724       if #freedrop
 725         die "cannot kick more than one piece"
 726       endif
 727       set dropped elem 0 #sqrs
 728       set freedrop #sqr
 729       set firstpart 0
 730     endif
 731     inc j
 732   loop
 733 endsub
 734 sub HandleMove player
 735   set stm #player
 736   gosub ParseMove #player
 737   set all == mln $maxmln
 738   set many ok 0 hit 0 task 1 halfhit 0 implieddrop 0 imp 0 neweps 0
 739   set pseudohit 0
 740   set realto 0
 741   set k #all or not flag #ori and match #mover #conversion
 742   gosub GenMoves #mover #ori #k
 743   if not match #mover #shooters
and #firstpart and #halfhit
 744     set ok 2
 745     set task 5
 746     gosub GenMoves #mover #ori 1
 747     set msg . "Enter second leg or pass"
 748     remind #msg
 749   elseif #all
 750     set cap unique keys capturedpieces
 751     set lastfen fencode
 752     if not #ok
 753       set pseudohit 0
 754       gosub GenAll #player
 755     endif
 756     if #sideeffect
 757       rewritemove . elem 0 #mvs . "; " . cond #freedrop #dropped @ . chr 45 #sideeffect
 758       set sideeffect 0
 759       gosub ParseMove #player
 760     endif
 761     if match #mover #shooters and < 1 #pseudohit
 762       set ok 2
 763       set task 6
 764       gosub GenAll #player
 765       if #hit
 766         set msg . "Type side effect of move, or pass"
 767       else
 768         set msg . "Type side effect of move"
 769       endif
 770       remind #msg
 771     elseif not #ok
 772       if == 1 #pseudohit
 773         if #autolocust
 774           appendmove join "@-" #autolocust
 775         endif
 776         if #autodrop
 777           appendmove join #dropped join chr 45 #autodrop
 778         endif
 779         gosub ParseMove #player
 780       elseif #pseudohit
 781         set msg . "Type side effects of move"
 782         remind #msg
 783         continuemove
 784         return
 785       else
 786         set msg . thismove . " is not even pseudo-legal for a " toupper #mover
 787         die #msg
 788       endif
 789     endif
 790   endif
 791   set victim cond != #desti #ori space #desti @
 792   set traded cond and or match space #suicide #negligible
not #suicide
and match #victim #protected
match #mover #restricted #mover 0
 793   set strike and match #victim #counterstrike
not match #mover #counterstrike
 794   set k 0
 795   do while < var k count var mvs
 796     eval join "MOVE: " trim elem var k var mvs
 797     inc k
 798   loop
 799   if != #ori #freedrop and match #ori #brouhaha
 800     delete #ori
 801   endif
 802   if #implieddrop
 803     add #dropped #implieddrop
 804     if == #desti #impliedkill
 805       move #desti #realto
 806     endif
 807   endif
 808   set tempiron #iron
 809   if #strike
 810     set tempiron mergeall #tempiron #counterstrike
 811   endif
 812   set toimitate flipcase cond match #mover #imitators #toimitate #mover
 813   setflag #desti
 814   set posvar join cond #player "w" "b" fencode
 815   inc #posvar
 816   inc nopvc
 817   if #imp
 818     set hist . #hist . "," mln
 819   endif
 820   if #suicide and not #freedrop or #promo
or != @ #victim or match #mover #resetpieces
 821     set nopvc 0
 822   endif
 823   set epsqrs #neweps
 824   if not flag #ori and match #mover #conversion
 825     set k + 64 & 64 elem + 4 #desc #legdefs
 826     set k cond #player #k >> #k 2
 827     if & #k #converted
 828       die This move violates the conversion rule that applies to this piece.
 829     endif
 830     set converted + #converted #k
 831   endif
 832   gosub GetMorph #mover #desti
 833   if #k
 834     add #k #desti
 835   endif
 836 endsub
 837 sub GetMorph piece sqr
 838   set k 0
 839   if match #piece #morphers
 840     set i elem #piece #morphs
 841     set j rank #sqr
 842     if not islower #piece
 843       set j - lastrank #j
 844     endif
 845     if >= #j count #i
 846       return
 847     endif
 848     set i elem #j #i
 849     if #i
 850       if == All elem 0 #i
 851         set k elem 1 #i
 852       else
 853         set k elem file #sqr #i
 854       endif
 855     endif
 856   endif
 857 endsub
 858 sub GameEnd player
 859   my side
 860   if == 2 #ok
 861     continuemove
 862     return
 863   endif
 864   set side not #player
 865   gosub GetRoyals #side
 866   if #dead
 867     set msg join cond #player "White" "Black" " lost by absence of royalty!"
 868     say #msg
 869     won
 870   elseif == #lastfen fencode and #nullban
 871     die "This is a null move!"
 872   endif
 873   gosub InCheck #player
 874   if == #hit Xdummy
 875     die "Trading of this piece is not allowed"
 876   elseif #checkrule and #hit
 877     if == #hit Ughh
 878       die "That moves through or out of check"
 879     else
 880       die "This exposes your royal piece to capture"
 881     endif
 882   endif
 883   if >= 1 count fn friends #player and #baring
 884     if >= 1 count fn friends #side
 885       say Draw by mutual baring
 886       drawn
 887     else
 888       set msg . cond #player "Black" "White" " loses by baring"
 889       say #msg
 890       lost
 891     endif
 892     return
 893   endif
 894   gosub Promote #player #mover #desti
 895   gosub GetRoyals #side
 896   if count #royal
and #checkrule
 897     set task 4
 898     set xside #player
 899     set threat 0
 900     gosub GenAll #side
 901     if not #hit
 902       if #staledraw
 903         dec task
 904         gosub GenAll #player
 905         if #hit
 906           say Checkmate!
 907           won
 908         else
 909           say Stalemate!
 910           drawn
 911         endif
 912       else
 913         say Mate!
 914         won
 915       endif
 916       return
 917     endif
 918   endif
 919   set posvar join cond #player "w" "b" fencode
 920   if >= var #posvar #repeats
 921     if #reploses
 922       set msg join cond #player "Black" "White" " loses by repetition!"
 923       say #msg
 924       lost
 925     else
 926       say "Draw by repetition!"
 927       drawn
 928     endif
 929   elseif >= #nopvc #rulemoves
 930     say "Game declared draw due to prolongued lack of progress!"
 931     drawn
 932   endif
 933   set ltst #checkrule and count #royal and not #pseudo
 934   set xtl array
 935   if == 1 #method and #ltst
 936     for sqr spaces
 937       set #sqr array 0
 938     next
 939     set task 9
 940     set king elem 0 #royal
 941     set kpos search #king $space
 942     empty #kpos
 943     set checks array 0
 944     gosub GenAll #player
 945     add #king #kpos
 946     set checked & 1 elem 0 var #kpos
 947     if #checked
 948       say "check!"
 949     endif
 950     set task 11
 951     gosub GenAll #side
 952   else
 953     set task cond #ltst 8 2
 954     gosub GenAll #side
 955   endif
 956   setjsvar impmoves #hist
 957   setsystem legalmoves merge $legalmoves #xtl
 958 endsub
 959 set posvar join "w" fencode
 960 inc #posvar
 961 endlib
 962 lib /membergraphics/MSplay-test-applet-for-chess-variants/shuffle.txt
 963 sub GetSquares toshuffle
 964   my sqr piece
 965   set left array
 966   set light array
 967   set dark array
 968   for (sqr piece) $space
 969     if match var piece #toshuffle
 970       if < * 2 file #sqr lastfile
 971         push left #sqr
 972       endif
 973       if & 1 + file #sqr rank #sqr
 974         push dark #sqr
 975       else
 976         push light #sqr
 977       endif
 978     endif
 979   next
 980 endsub
 981 sub ShuffleWings sym others
 982   my toshuffle sqr piece rsqr p s allsqrs
 983   set toshuffle mergeall #sym #others
 984   gosub GetSquares #toshuffle
 985   verify < 1 count #left
 986   set allsqrs mergeall #dark #light
 987   eval merge #left "shuffle"
 988   for sqr #left
 989     set piece space #sqr
 990     if match #piece #sym
 991       set rsqr join chr + 97 - lastfile file #sqr substr #sqr 1 0
 992       verify match #rsqr #allsqrs
 993       set p space #rsqr
 994       if != #p #piece
 995         for s #allsqrs
 996           if not match #s #left
and == #piece space #s
 997             swap #s #rsqr
 998             break
 999           endif
1000         next
1001       endif
1002     endif
1003   next
1004   gosub GetSquares #others
1005   set dark mergeall #dark #light
1006   eval merge #dark "shuffle"
1007 endsub
1008 sub ShuffleOne shaded others
1009   my toshuffle
1010   set toshuffle mergeall #shaded #others
1011   gosub GetSquares #toshuffle
1012   if count #shaded
1013     eval merge #light "shuffle"
1014     eval merge #dark "shuffle"
1015     gosub GetSquares #others
1016   endif
1017   set dark mergeall #dark #light
1018   eval merge #dark "shuffle"
1019 endsub
1020 sub CenterKing types
1021   verify count #types
1022   my mid s royal right
1023   gosub GetSquares #types
1024   set dark sort merge #dark #light
1025   set royal elem 0 #types
1026   pop dark right
1027   pop dark mid
1028   pop dark left
1029   if != #royal space #mid
1030     set s cond == #royal space #left #left #right
1031     swap #s #mid
1032   endif
1033 endsub
1034 sub Symmetrize
1035   my sqr piece
1036   for (sqr piece) onlyupper
1037     set s join substr #sqr 0 1 + - 1 rank "a1" - lastrank rank #sqr
1038     copy #sqr #s
1039     flip #s
1040   next
1041 endsub
1042 sub ShuffleOnePlayer otherset symset shadeset
1043   if count #symset
1044     gosub ShuffleWings #symset #otherset
1045   else
1046     gosub ShuffleOne #shadeset #otherset
1047   endif
1048 endsub
1049 set shaded array
1050 set symmetrized array
1051 set centralize array
1052 set blackset array
1053 set blacksym array
1054 set blackshaded array
1055 set shufflespecs 0
1056 sub ShuffleSetup
1057   if isconst startshuffle
1058     setsystem space @startshuffle
1059   else
1060     if #shufflespecs
1061       my i a b c
1062       set i 0
1063       do while < #i count #shufflespecs
1064         set a elem #i #shufflespecs
1065         if not #a
1066           gosub Symmetrize
1067           break
1068         endif
1069         set b elem inc #i #shufflespecs
1070         set c elem + 2 #i #shufflespecs
1071         if not #b
1072           set b array
1073         endif
1074         if not #c
1075           set c array
1076         endif
1077         gosub ShuffleOnePlayer #a #b #c
1078         set i + 3 #i
1079       loop
1080     else
1081       gosub ShuffleOnePlayer #shuffleset #symmetrized #shaded
1082       if count #blackset
1083         gosub ShuffleOnePlayer #blackset #blacksym #blackshaded
1084       else
1085         gosub CenterKing #centralize
1086         gosub Symmetrize
1087       endif
1088     endif
1089     setconst startshuffle $space
1090   endif
1091 endsub
1092 endlib

functions

Array ( [friends] => Array ( [0] => cond [1] => #0 [2] => Array ( [0] => onlylower ) [3] => Array ( [0] => onlyupper ) ) [P] => Array ( [0] => cond [1] => #0 [2] => 1 [3] => 11 ) [p] => Array ( [0] => cond [1] => #0 [2] => 27 [3] => 37 ) [X] => Array ( [0] => cond [1] => #0 [2] => 53 [3] => 68 ) [x] => Array ( [0] => cond [1] => #0 [2] => 74 [3] => 89 ) [K] => Array ( [0] => cond [1] => #0 [2] => 95 [3] => 135 ) [k] => Array ( [0] => cond [1] => #0 [2] => 95 [3] => 135 ) [R] => Array ( [0] => cond [1] => #0 [2] => 208 [3] => 0 ) [r] => Array ( [0] => cond [1] => #0 [2] => 208 [3] => 0 ) [Q] => Array ( [0] => cond [1] => #0 [2] => 229 [3] => 0 ) [q] => Array ( [0] => cond [1] => #0 [2] => 229 [3] => 0 ) [B] => Array ( [0] => cond [1] => #0 [2] => 270 [3] => 0 ) [b] => Array ( [0] => cond [1] => #0 [2] => 270 [3] => 0 ) [N] => Array ( [0] => cond [1] => #0 [2] => 291 [3] => 0 ) [n] => Array ( [0] => cond [1] => #0 [2] => 291 [3] => 0 ) [G] => Array ( [0] => cond [1] => #0 [2] => 372 [3] => 0 ) [g] => Array ( [0] => cond [1] => #0 [2] => 372 [3] => 0 ) [W] => Array ( [0] => cond [1] => #0 [2] => 433 [3] => 0 ) [w] => Array ( [0] => cond [1] => #0 [2] => 433 [3] => 0 ) [Z] => Array ( [0] => cond [1] => #0 [2] => 494 [3] => 0 ) [z] => Array ( [0] => cond [1] => #0 [2] => 494 [3] => 0 ) [Y] => Array ( [0] => cond [1] => #0 [2] => 551 [3] => 0 ) [y] => Array ( [0] => cond [1] => #0 [2] => 551 [3] => 0 ) [O] => Array ( [0] => cond [1] => #0 [2] => 592 [3] => 0 ) [o] => Array ( [0] => cond [1] => #0 [2] => 592 [3] => 0 ) [F] => Array ( [0] => cond [1] => #0 [2] => 717 [3] => 0 ) [f] => Array ( [0] => cond [1] => #0 [2] => 717 [3] => 0 ) [J] => Array ( [0] => cond [1] => #0 [2] => 1826 [3] => 0 ) [j] => Array ( [0] => cond [1] => #0 [2] => 1832 [3] => 0 ) [I] => Array ( [0] => cond [1] => #0 [2] => 1838 [3] => 0 ) [i] => Array ( [0] => cond [1] => #0 [2] => 1838 [3] => 0 ) [M] => Array ( [0] => cond [1] => #0 [2] => 2987 [3] => 0 ) [m] => Array ( [0] => cond [1] => #0 [2] => 2987 [3] => 0 ) [V] => Array ( [0] => cond [1] => #0 [2] => 3064 [3] => 0 ) [v] => Array ( [0] => cond [1] => #0 [2] => 3064 [3] => 0 ) [U] => Array ( [0] => cond [1] => #0 [2] => 3125 [3] => 0 ) [u] => Array ( [0] => cond [1] => #0 [2] => 3125 [3] => 0 ) [D] => Array ( [0] => cond [1] => #0 [2] => 3186 [3] => 0 ) [d] => Array ( [0] => cond [1] => #0 [2] => 3202 [3] => 0 ) [H] => Array ( [0] => cond [1] => #0 [2] => 3218 [3] => 0 ) [h] => Array ( [0] => cond [1] => #0 [2] => 3234 [3] => 0 ) [BadZone] => Array ( [0] => #locust [1] => and [2] => match [3] => #locust [4] => #partners [5] => and [6] => cond [7] => match [8] => #locust [9] => #rooks [10] => match [11] => #dest [12] => #badRook [13] => match [14] => #dest [15] => #badCannon [16] => =O [17] => =dest [18] => =locust [19] => =D [20] => =P ) )

uservar

Array ( [0] => Array ( [main] => Array ( [pseudo] => 0 [zonal] => 1 [repeats] => 3 [reploses] => 0 [rulemoves] => 100 [resetpieces] => Array ( [0] => P [1] => p ) [staledraw] => 1 [checkrule] => 1 [extinction] => 1 [nullban] => 1 [wroyal] => Array ( [0] => K ) [broyal] => Array ( [0] => k ) [iron] => Array ( ) [protected] => Array ( ) [restricted] => Array ( ) [counterstrike] => Array ( ) [negligible] => Array ( ) [opaque] => Array ( ) [brouhaha] => Array ( [0] => a1 [1] => b1 [2] => c1 [3] => d1 [4] => e1 [5] => f1 [6] => g1 [7] => h1 [8] => i1 [9] => j1 [10] => k1 [11] => l1 [12] => a14 [13] => b14 [14] => c14 [15] => d14 [16] => e14 [17] => f14 [18] => g14 [19] => h14 [20] => i14 [21] => j14 [22] => k14 [23] => l14 ) [imitators] => Array ( [0] => J [1] => j ) [inducers] => Array ( ) [shooters] => Array ( ) [morphers] => Array ( ) [promotables] => Array ( [0] => P [1] => p [2] => X [3] => x ) [inocheck] => Array ( [0] => K [1] => k ) [conversion] => Array ( ) [method] => 1 [dropdown] => 1 [crappy] => 0 [cap] => Array ( ) [tempiron] => Array ( ) [epsqrs] => 0 [strike] => 0 [traded] => 0 [nopvc] => 0 [toimitate] => p [lastfen] => 0 [epmask] => 4 [ep] => 0 [suicide] => 0 [freedrop] => 0 [converted] => 0 [hist] => zzz,----jooj----zrywuqkvwyrzrnbfgimgfbnrxppppppppppxp1x2pp2x1p48P1X2PP2X1PXPPPPPPPPPPXRNBFGIMGFBNRZRYWUQKVWYRZ----JOOJ---- [posvar] => w----jooj----zrywuqkvwyrzrnbfgimgfbnrxppppppppppxp1x2pp2x1p48P1X2PP2X1PXPPPPPPPPPPXRNBFGIMGFBNRZRYWUQKVWYRZ----JOOJ---- [w----jooj----zrywuqkvwyrzrnbfgimgfbnrxppppppppppxp1x2pp2x1p48P1X2PP2X1PXPPPPPPPPPPXRNBFGIMGFBNRZRYWUQKVWYRZ----JOOJ----] => 1 [legdefs] => Array ( [0] => 0 [1] => 1 [2] => 1 [3] => 1 [4] => 1 [5] => 2 [6] => 1 [7] => 1 [8] => -1 [9] => 1 [10] => 2 [11] => 1 [12] => -1 [13] => 0 [14] => 1 [15] => 8388609 [16] => 1 [17] => 1 [18] => 1 [19] => 1 [20] => 4 [21] => 1 [22] => 1 [23] => -1 [24] => 1 [25] => 4 [26] => 0 [27] => 1 [28] => 1 [29] => -1 [30] => -1 [31] => 2 [32] => 1 [33] => 1 [34] => 1 [35] => -1 [36] => 2 [37] => 1 [38] => -1 [39] => 0 [40] => -1 [41] => 8388609 [42] => 1 [43] => 1 [44] => -1 [45] => -1 [46] => 4 [47] => 1 [48] => 1 [49] => 1 [50] => -1 [51] => 4 [52] => 0 [53] => 1 [54] => -1 [55] => 1 [56] => 1 [57] => 1 [58] => 1 [59] => -1 [60] => -1 [61] => 1 [62] => 1 [63] => 1 [64] => 1 [65] => 0 [66] => 1 [67] => 2 [68] => 1 [69] => 1 [70] => 0 [71] => 1 [72] => 4 [73] => 0 [74] => 1 [75] => -1 [76] => -1 [77] => -1 [78] => 1 [79] => 1 [80] => -1 [81] => 1 [82] => -1 [83] => 1 [84] => 1 [85] => 1 [86] => 0 [87] => -1 [88] => 2 [89] => 1 [90] => 1 [91] => 0 [92] => -1 [93] => 4 [94] => 0 [95] => 1 [96] => 1 [97] => 0 [98] => 1 [99] => 3 [100] => 1 [101] => 1 [102] => 1 [103] => 1 [104] => 3 [105] => 1 [106] => 1 [107] => 1 [108] => 0 [109] => 3 [110] => 1 [111] => 1 [112] => 1 [113] => -1 [114] => 3 [115] => 1 [116] => 1 [117] => 0 [118] => -1 [119] => 3 [120] => 1 [121] => 1 [122] => -1 [123] => -1 [124] => 3 [125] => 1 [126] => 1 [127] => -1 [128] => 0 [129] => 3 [130] => 1 [131] => 1 [132] => -1 [133] => 1 [134] => 3 [135] => 2 [136] => 99 [137] => 1 [138] => 0 [139] => 72 [140] => 1 [141] => 3 [142] => 0 [143] => 9 [144] => 2 [145] => 99 [146] => -1 [147] => 0 [148] => 72 [149] => 1 [150] => -3 [151] => 0 [152] => 9 [153] => 2 [154] => 99 [155] => 1 [156] => 0 [157] => 72 [158] => 1 [159] => 4 [160] => 0 [161] => 9 [162] => 2 [163] => 99 [164] => -1 [165] => 0 [166] => 72 [167] => 1 [168] => -4 [169] => 0 [170] => 9 [171] => 2 [172] => 99 [173] => 1 [174] => 0 [175] => 33554504 [176] => 1 [177] => 2 [178] => 0 [179] => 9 [180] => 2 [181] => 99 [182] => -1 [183] => 0 [184] => 33554504 [185] => 1 [186] => -2 [187] => 0 [188] => 9 [189] => 0 [190] => 99 [191] => 1 [192] => 0 [193] => 33554504 [194] => 1 [195] => 3 [196] => 0 [197] => 9 [198] => 2 [199] => 99 [200] => -1 [201] => 0 [202] => 33554504 [203] => 1 [204] => -3 [205] => 0 [206] => 9 [207] => 0 [208] => 1 [209] => 99 [210] => 0 [211] => 1 [212] => 3 [213] => 1 [214] => 99 [215] => 1 [216] => 0 [217] => 3 [218] => 1 [219] => 99 [220] => 0 [221] => -1 [222] => 3 [223] => 1 [224] => 99 [225] => -1 [226] => 0 [227] => 3 [228] => 0 [229] => 1 [230] => 99 [231] => 0 [232] => 1 [233] => 3 [234] => 1 [235] => 99 [236] => 1 [237] => 1 [238] => 3 [239] => 1 [240] => 99 [241] => 1 [242] => 0 [243] => 3 [244] => 1 [245] => 99 [246] => 1 [247] => -1 [248] => 3 [249] => 1 [250] => 99 [251] => 0 [252] => -1 [253] => 3 [254] => 1 [255] => 99 [256] => -1 [257] => -1 [258] => 3 [259] => 1 [260] => 99 [261] => -1 [262] => 0 [263] => 3 [264] => 1 [265] => 99 [266] => -1 [267] => 1 [268] => 3 [269] => 0 [270] => 1 [271] => 99 [272] => 1 [273] => 1 [274] => 3 [275] => 1 [276] => 99 [277] => 1 [278] => -1 [279] => 3 [280] => 1 [281] => 99 [282] => -1 [283] => -1 [284] => 3 [285] => 1 [286] => 99 [287] => -1 [288] => 1 [289] => 3 [290] => 0 [291] => 1 [292] => 1 [293] => 1 [294] => 2 [295] => 3 [296] => 1 [297] => 1 [298] => 2 [299] => 1 [300] => 3 [301] => 1 [302] => 1 [303] => 2 [304] => -1 [305] => 3 [306] => 1 [307] => 1 [308] => 1 [309] => -2 [310] => 3 [311] => 1 [312] => 1 [313] => -1 [314] => -2 [315] => 3 [316] => 1 [317] => 1 [318] => -2 [319] => -1 [320] => 3 [321] => 1 [322] => 1 [323] => -2 [324] => 1 [325] => 3 [326] => 1 [327] => 1 [328] => -1 [329] => 2 [330] => 3 [331] => 1 [332] => 1 [333] => 1 [334] => 3 [335] => 1 [336] => 1 [337] => 1 [338] => 3 [339] => 1 [340] => 1 [341] => 1 [342] => 1 [343] => 3 [344] => -1 [345] => 1 [346] => 1 [347] => 1 [348] => 1 [349] => -3 [350] => 1 [351] => 1 [352] => 1 [353] => -1 [354] => -3 [355] => 1 [356] => 1 [357] => 1 [358] => -3 [359] => -1 [360] => 1 [361] => 1 [362] => 1 [363] => -3 [364] => 1 [365] => 1 [366] => 1 [367] => 1 [368] => -1 [369] => 3 [370] => 1 [371] => 0 [372] => 1 [373] => 1 [374] => 0 [375] => 3 [376] => 3 [377] => 1 [378] => 1 [379] => 3 [380] => 0 [381] => 3 [382] => 1 [383] => 1 [384] => 0 [385] => -3 [386] => 3 [387] => 1 [388] => 1 [389] => -3 [390] => 0 [391] => 3 [392] => 1 [393] => 1 [394] => 1 [395] => 1 [396] => 3 [397] => 1 [398] => 1 [399] => 1 [400] => -1 [401] => 3 [402] => 1 [403] => 1 [404] => -1 [405] => -1 [406] => 3 [407] => 1 [408] => 1 [409] => -1 [410] => 1 [411] => 3 [412] => 1 [413] => 1 [414] => 0 [415] => 2 [416] => 3 [417] => 1 [418] => 1 [419] => 2 [420] => 0 [421] => 3 [422] => 1 [423] => 1 [424] => 0 [425] => -2 [426] => 3 [427] => 1 [428] => 1 [429] => -2 [430] => 0 [431] => 3 [432] => 0 [433] => 1 [434] => 1 [435] => 0 [436] => 1 [437] => 3 [438] => 1 [439] => 1 [440] => 1 [441] => 0 [442] => 3 [443] => 1 [444] => 1 [445] => 0 [446] => -1 [447] => 3 [448] => 1 [449] => 1 [450] => -1 [451] => 0 [452] => 3 [453] => 1 [454] => 1 [455] => 2 [456] => 3 [457] => 3 [458] => 1 [459] => 1 [460] => 3 [461] => 2 [462] => 3 [463] => 1 [464] => 1 [465] => 3 [466] => -2 [467] => 3 [468] => 1 [469] => 1 [470] => 2 [471] => -3 [472] => 3 [473] => 1 [474] => 1 [475] => -2 [476] => -3 [477] => 3 [478] => 1 [479] => 1 [480] => -3 [481] => -2 [482] => 3 [483] => 1 [484] => 1 [485] => -3 [486] => 2 [487] => 3 [488] => 1 [489] => 1 [490] => -2 [491] => 3 [492] => 3 [493] => 0 [494] => 1 [495] => 99 [496] => 0 [497] => 1 [498] => 1 [499] => 1 [500] => 99 [501] => 1 [502] => 0 [503] => 1 [504] => 1 [505] => 99 [506] => 0 [507] => -1 [508] => 1 [509] => 1 [510] => 99 [511] => -1 [512] => 0 [513] => 1 [514] => 2 [515] => 99 [516] => 0 [517] => 1 [518] => 16 [519] => 99 [520] => 0 [521] => 1 [522] => 2 [523] => 2 [524] => 99 [525] => 1 [526] => 0 [527] => 16 [528] => 99 [529] => 1 [530] => 0 [531] => 2 [532] => 2 [533] => 99 [534] => 0 [535] => -1 [536] => 16 [537] => 99 [538] => 0 [539] => -1 [540] => 2 [541] => 2 [542] => 99 [543] => -1 [544] => 0 [545] => 16 [546] => 99 [547] => -1 [548] => 0 [549] => 2 [550] => 0 [551] => 1 [552] => 99 [553] => 1 [554] => 2 [555] => 3 [556] => 1 [557] => 99 [558] => 2 [559] => 1 [560] => 3 [561] => 1 [562] => 99 [563] => 2 [564] => -1 [565] => 3 [566] => 1 [567] => 99 [568] => 1 [569] => -2 [570] => 3 [571] => 1 [572] => 99 [573] => -1 [574] => -2 [575] => 3 [576] => 1 [577] => 99 [578] => -2 [579] => -1 [580] => 3 [581] => 1 [582] => 99 [583] => -2 [584] => 1 [585] => 3 [586] => 1 [587] => 99 [588] => -1 [589] => 2 [590] => 3 [591] => 0 [592] => 1 [593] => 1 [594] => 0 [595] => 2 [596] => 3 [597] => 1 [598] => 1 [599] => 2 [600] => 0 [601] => 3 [602] => 1 [603] => 1 [604] => 0 [605] => -2 [606] => 3 [607] => 1 [608] => 1 [609] => -2 [610] => 0 [611] => 3 [612] => 3 [613] => 1 [614] => 0 [615] => 1 [616] => 17 [617] => 1 [618] => 0 [619] => 1 [620] => 33 [621] => 99 [622] => 1 [623] => 1 [624] => 3 [625] => 3 [626] => 1 [627] => 1 [628] => 0 [629] => 17 [630] => 1 [631] => 1 [632] => 0 [633] => 33 [634] => 99 [635] => 1 [636] => -1 [637] => 3 [638] => 3 [639] => 1 [640] => 0 [641] => -1 [642] => 17 [643] => 1 [644] => 0 [645] => -1 [646] => 33 [647] => 99 [648] => -1 [649] => -1 [650] => 3 [651] => 3 [652] => 1 [653] => -1 [654] => 0 [655] => 17 [656] => 1 [657] => -1 [658] => 0 [659] => 33 [660] => 99 [661] => -1 [662] => 1 [663] => 3 [664] => 3 [665] => 1 [666] => 0 [667] => 1 [668] => 17 [669] => 1 [670] => 0 [671] => 1 [672] => 33 [673] => 99 [674] => -1 [675] => 1 [676] => 3 [677] => 3 [678] => 1 [679] => 1 [680] => 0 [681] => 17 [682] => 1 [683] => 1 [684] => 0 [685] => 33 [686] => 99 [687] => 1 [688] => 1 [689] => 3 [690] => 3 [691] => 1 [692] => 0 [693] => -1 [694] => 17 [695] => 1 [696] => 0 [697] => -1 [698] => 33 [699] => 99 [700] => 1 [701] => -1 [702] => 3 [703] => 3 [704] => 1 [705] => -1 [706] => 0 [707] => 17 [708] => 1 [709] => -1 [710] => 0 [711] => 33 [712] => 99 [713] => -1 [714] => -1 [715] => 3 [716] => 0 [717] => 4 [718] => 1 [719] => 0 [720] => 1 [721] => 1 [722] => 1 [723] => 0 [724] => 1 [725] => 1 [726] => 1 [727] => 0 [728] => 1 [729] => 1 [730] => 1 [731] => 1 [732] => 1 [733] => 3 [734] => 4 [735] => 1 [736] => 1 [737] => 1 [738] => 1 [739] => 1 [740] => 1 [741] => 1 [742] => 1 [743] => 1 [744] => 1 [745] => 1 [746] => 1 [747] => 1 [748] => 1 [749] => 0 [750] => 3 [751] => 4 [752] => 1 [753] => 1 [754] => 0 [755] => 1 [756] => 1 [757] => 1 [758] => 0 [759] => 1 [760] => 1 [761] => 1 [762] => 0 [763] => 1 [764] => 1 [765] => 1 [766] => -1 [767] => 3 [768] => 4 [769] => 1 [770] => 1 [771] => -1 [772] => 1 [773] => 1 [774] => 1 [775] => -1 [776] => 1 [777] => 1 [778] => 1 [779] => -1 [780] => 1 [781] => 1 [782] => 0 [783] => -1 [784] => 3 [785] => 4 [786] => 1 [787] => 0 [788] => -1 [789] => 1 [790] => 1 [791] => 0 [792] => -1 [793] => 1 [794] => 1 [795] => 0 [796] => -1 [797] => 1 [798] => 1 [799] => -1 [800] => -1 [801] => 3 [802] => 4 [803] => 1 [804] => -1 [805] => -1 [806] => 1 [807] => 1 [808] => -1 [809] => -1 [810] => 1 [811] => 1 [812] => -1 [813] => -1 [814] => 1 [815] => 1 [816] => -1 [817] => 0 [818] => 3 [819] => 4 [820] => 1 [821] => -1 [822] => 0 [823] => 1 [824] => 1 [825] => -1 [826] => 0 [827] => 1 [828] => 1 [829] => -1 [830] => 0 [831] => 1 [832] => 1 [833] => -1 [834] => 1 [835] => 3 [836] => 4 [837] => 1 [838] => -1 [839] => 1 [840] => 1 [841] => 1 [842] => -1 [843] => 1 [844] => 1 [845] => 1 [846] => -1 [847] => 1 [848] => 1 [849] => 1 [850] => 0 [851] => 1 [852] => 3 [853] => 4 [854] => 1 [855] => 0 [856] => 1 [857] => 1 [858] => 1 [859] => 0 [860] => 1 [861] => 1 [862] => 1 [863] => 0 [864] => 1 [865] => 1 [866] => 1 [867] => -1 [868] => 1 [869] => 3 [870] => 4 [871] => 1 [872] => 1 [873] => 1 [874] => 1 [875] => 1 [876] => 1 [877] => 1 [878] => 1 [879] => 1 [880] => 1 [881] => 1 [882] => 1 [883] => 1 [884] => 0 [885] => 1 [886] => 3 [887] => 4 [888] => 1 [889] => 1 [890] => 0 [891] => 1 [892] => 1 [893] => 1 [894] => 0 [895] => 1 [896] => 1 [897] => 1 [898] => 0 [899] => 1 [900] => 1 [901] => 1 [902] => 1 [903] => 3 [904] => 4 [905] => 1 [906] => 1 [907] => -1 [908] => 1 [909] => 1 [910] => 1 [911] => -1 [912] => 1 [913] => 1 [914] => 1 [915] => -1 [916] => 1 [917] => 1 [918] => 1 [919] => 0 [920] => 3 [921] => 4 [922] => 1 [923] => 0 [924] => -1 [925] => 1 [926] => 1 [927] => 0 [928] => -1 [929] => 1 [930] => 1 [931] => 0 [932] => -1 [933] => 1 [934] => 1 [935] => 1 [936] => -1 [937] => 3 [938] => 4 [939] => 1 [940] => -1 [941] => -1 [942] => 1 [943] => 1 [944] => -1 [945] => -1 [946] => 1 [947] => 1 [948] => -1 [949] => -1 [950] => 1 [951] => 1 [952] => 0 [953] => -1 [954] => 3 [955] => 4 [956] => 1 [957] => -1 [958] => 0 [959] => 1 [960] => 1 [961] => -1 [962] => 0 [963] => 1 [964] => 1 [965] => -1 [966] => 0 [967] => 1 [968] => 1 [969] => -1 [970] => -1 [971] => 3 [972] => 4 [973] => 1 [974] => -1 [975] => 1 [976] => 1 [977] => 1 [978] => -1 [979] => 1 [980] => 1 [981] => 1 [982] => -1 [983] => 1 [984] => 1 [985] => 1 [986] => -1 [987] => 0 [988] => 3 [989] => 4 [990] => 1 [991] => 0 [992] => 1 [993] => 1 [994] => 1 [995] => 1 [996] => 1 [997] => 1 [998] => 1 [999] => 1 [1000] => 1 [1001] => 1 [1002] => 1 [1003] => 1 [1004] => 1 [1005] => 3 [1006] => 4 [1007] => 1 [1008] => 1 [1009] => 1 [1010] => 1 [1011] => 1 [1012] => 1 [1013] => 0 [1014] => 1 [1015] => 1 [1016] => 1 [1017] => 0 [1018] => 1 [1019] => 1 [1020] => 1 [1021] => 0 [1022] => 3 [1023] => 4 [1024] => 1 [1025] => 1 [1026] => 0 [1027] => 1 [1028] => 1 [1029] => 1 [1030] => -1 [1031] => 1 [1032] => 1 [1033] => 1 [1034] => -1 [1035] => 1 [1036] => 1 [1037] => 1 [1038] => -1 [1039] => 3 [1040] => 4 [1041] => 1 [1042] => 1 [1043] => -1 [1044] => 1 [1045] => 1 [1046] => 0 [1047] => -1 [1048] => 1 [1049] => 1 [1050] => 0 [1051] => -1 [1052] => 1 [1053] => 1 [1054] => 0 [1055] => -1 [1056] => 3 [1057] => 4 [1058] => 1 [1059] => 0 [1060] => -1 [1061] => 1 [1062] => 1 [1063] => -1 [1064] => -1 [1065] => 1 [1066] => 1 [1067] => -1 [1068] => -1 [1069] => 1 [1070] => 1 [1071] => -1 [1072] => -1 [1073] => 3 [1074] => 4 [1075] => 1 [1076] => -1 [1077] => -1 [1078] => 1 [1079] => 1 [1080] => -1 [1081] => 0 [1082] => 1 [1083] => 1 [1084] => -1 [1085] => 0 [1086] => 1 [1087] => 1 [1088] => -1 [1089] => 0 [1090] => 3 [1091] => 4 [1092] => 1 [1093] => -1 [1094] => 0 [1095] => 1 [1096] => 1 [1097] => -1 [1098] => 1 [1099] => 1 [1100] => 1 [1101] => -1 [1102] => 1 [1103] => 1 [1104] => 1 [1105] => -1 [1106] => 1 [1107] => 3 [1108] => 4 [1109] => 1 [1110] => -1 [1111] => 1 [1112] => 1 [1113] => 1 [1114] => 0 [1115] => 1 [1116] => 1 [1117] => 1 [1118] => 0 [1119] => 1 [1120] => 1 [1121] => 1 [1122] => 0 [1123] => 1 [1124] => 3 [1125] => 4 [1126] => 1 [1127] => 0 [1128] => 1 [1129] => 1 [1130] => 1 [1131] => -1 [1132] => 1 [1133] => 1 [1134] => 1 [1135] => -1 [1136] => 1 [1137] => 1 [1138] => 1 [1139] => -1 [1140] => 1 [1141] => 3 [1142] => 4 [1143] => 1 [1144] => 1 [1145] => 1 [1146] => 1 [1147] => 1 [1148] => 0 [1149] => 1 [1150] => 1 [1151] => 1 [1152] => 0 [1153] => 1 [1154] => 1 [1155] => 1 [1156] => 0 [1157] => 1 [1158] => 3 [1159] => 4 [1160] => 1 [1161] => 1 [1162] => 0 [1163] => 1 [1164] => 1 [1165] => 1 [1166] => 1 [1167] => 1 [1168] => 1 [1169] => 1 [1170] => 1 [1171] => 1 [1172] => 1 [1173] => 1 [1174] => 1 [1175] => 3 [1176] => 4 [1177] => 1 [1178] => 1 [1179] => -1 [1180] => 1 [1181] => 1 [1182] => 1 [1183] => 0 [1184] => 1 [1185] => 1 [1186] => 1 [1187] => 0 [1188] => 1 [1189] => 1 [1190] => 1 [1191] => 0 [1192] => 3 [1193] => 4 [1194] => 1 [1195] => 0 [1196] => -1 [1197] => 1 [1198] => 1 [1199] => 1 [1200] => -1 [1201] => 1 [1202] => 1 [1203] => 1 [1204] => -1 [1205] => 1 [1206] => 1 [1207] => 1 [1208] => -1 [1209] => 3 [1210] => 4 [1211] => 1 [1212] => -1 [1213] => -1 [1214] => 1 [1215] => 1 [1216] => 0 [1217] => -1 [1218] => 1 [1219] => 1 [1220] => 0 [1221] => -1 [1222] => 1 [1223] => 1 [1224] => 0 [1225] => -1 [1226] => 3 [1227] => 4 [1228] => 1 [1229] => -1 [1230] => 0 [1231] => 1 [1232] => 1 [1233] => -1 [1234] => -1 [1235] => 1 [1236] => 1 [1237] => -1 [1238] => -1 [1239] => 1 [1240] => 1 [1241] => -1 [1242] => -1 [1243] => 3 [1244] => 4 [1245] => 1 [1246] => -1 [1247] => 1 [1248] => 1 [1249] => 1 [1250] => -1 [1251] => 0 [1252] => 1 [1253] => 1 [1254] => -1 [1255] => 0 [1256] => 1 [1257] => 1 [1258] => -1 [1259] => 0 [1260] => 3 [1261] => 4 [1262] => 1 [1263] => 0 [1264] => 1 [1265] => 1 [1266] => 1 [1267] => 0 [1268] => 1 [1269] => 1 [1270] => 1 [1271] => 1 [1272] => 1 [1273] => 1 [1274] => 1 [1275] => 0 [1276] => 1 [1277] => 3 [1278] => 4 [1279] => 1 [1280] => 1 [1281] => 1 [1282] => 1 [1283] => 1 [1284] => 1 [1285] => 1 [1286] => 1 [1287] => 1 [1288] => 1 [1289] => 0 [1290] => 1 [1291] => 1 [1292] => 1 [1293] => 1 [1294] => 3 [1295] => 4 [1296] => 1 [1297] => 1 [1298] => 0 [1299] => 1 [1300] => 1 [1301] => 1 [1302] => 0 [1303] => 1 [1304] => 1 [1305] => 1 [1306] => -1 [1307] => 1 [1308] => 1 [1309] => 1 [1310] => 0 [1311] => 3 [1312] => 4 [1313] => 1 [1314] => 1 [1315] => -1 [1316] => 1 [1317] => 1 [1318] => 1 [1319] => -1 [1320] => 1 [1321] => 1 [1322] => 0 [1323] => -1 [1324] => 1 [1325] => 1 [1326] => 1 [1327] => -1 [1328] => 3 [1329] => 4 [1330] => 1 [1331] => 0 [1332] => -1 [1333] => 1 [1334] => 1 [1335] => 0 [1336] => -1 [1337] => 1 [1338] => 1 [1339] => -1 [1340] => -1 [1341] => 1 [1342] => 1 [1343] => 0 [1344] => -1 [1345] => 3 [1346] => 4 [1347] => 1 [1348] => -1 [1349] => -1 [1350] => 1 [1351] => 1 [1352] => -1 [1353] => -1 [1354] => 1 [1355] => 1 [1356] => -1 [1357] => 0 [1358] => 1 [1359] => 1 [1360] => -1 [1361] => -1 [1362] => 3 [1363] => 4 [1364] => 1 [1365] => -1 [1366] => 0 [1367] => 1 [1368] => 1 [1369] => -1 [1370] => 0 [1371] => 1 [1372] => 1 [1373] => -1 [1374] => 1 [1375] => 1 [1376] => 1 [1377] => -1 [1378] => 0 [1379] => 3 [1380] => 4 [1381] => 1 [1382] => -1 [1383] => 1 [1384] => 1 [1385] => 1 [1386] => -1 [1387] => 1 [1388] => 1 [1389] => 1 [1390] => 0 [1391] => 1 [1392] => 1 [1393] => 1 [1394] => -1 [1395] => 1 [1396] => 3 [1397] => 4 [1398] => 1 [1399] => 0 [1400] => 1 [1401] => 1 [1402] => 1 [1403] => 0 [1404] => 1 [1405] => 1 [1406] => 1 [1407] => -1 [1408] => 1 [1409] => 1 [1410] => 1 [1411] => 0 [1412] => 1 [1413] => 3 [1414] => 4 [1415] => 1 [1416] => 1 [1417] => 1 [1418] => 1 [1419] => 1 [1420] => 1 [1421] => 1 [1422] => 1 [1423] => 1 [1424] => 0 [1425] => 1 [1426] => 1 [1427] => 1 [1428] => 1 [1429] => 1 [1430] => 3 [1431] => 4 [1432] => 1 [1433] => 1 [1434] => 0 [1435] => 1 [1436] => 1 [1437] => 1 [1438] => 0 [1439] => 1 [1440] => 1 [1441] => 1 [1442] => 1 [1443] => 1 [1444] => 1 [1445] => 1 [1446] => 0 [1447] => 3 [1448] => 4 [1449] => 1 [1450] => 1 [1451] => -1 [1452] => 1 [1453] => 1 [1454] => 1 [1455] => -1 [1456] => 1 [1457] => 1 [1458] => 1 [1459] => 0 [1460] => 1 [1461] => 1 [1462] => 1 [1463] => -1 [1464] => 3 [1465] => 4 [1466] => 1 [1467] => 0 [1468] => -1 [1469] => 1 [1470] => 1 [1471] => 0 [1472] => -1 [1473] => 1 [1474] => 1 [1475] => 1 [1476] => -1 [1477] => 1 [1478] => 1 [1479] => 0 [1480] => -1 [1481] => 3 [1482] => 4 [1483] => 1 [1484] => -1 [1485] => -1 [1486] => 1 [1487] => 1 [1488] => -1 [1489] => -1 [1490] => 1 [1491] => 1 [1492] => 0 [1493] => -1 [1494] => 1 [1495] => 1 [1496] => -1 [1497] => -1 [1498] => 3 [1499] => 4 [1500] => 1 [1501] => -1 [1502] => 0 [1503] => 1 [1504] => 1 [1505] => -1 [1506] => 0 [1507] => 1 [1508] => 1 [1509] => -1 [1510] => -1 [1511] => 1 [1512] => 1 [1513] => -1 [1514] => 0 [1515] => 3 [1516] => 4 [1517] => 1 [1518] => -1 [1519] => 1 [1520] => 1 [1521] => 1 [1522] => -1 [1523] => 1 [1524] => 1 [1525] => 1 [1526] => -1 [1527] => 0 [1528] => 1 [1529] => 1 [1530] => -1 [1531] => 1 [1532] => 3 [1533] => 4 [1534] => 1 [1535] => 0 [1536] => 1 [1537] => 1 [1538] => 1 [1539] => 1 [1540] => 1 [1541] => 1 [1542] => 1 [1543] => 0 [1544] => 1 [1545] => 1 [1546] => 1 [1547] => 0 [1548] => 1 [1549] => 3 [1550] => 4 [1551] => 1 [1552] => 1 [1553] => 1 [1554] => 1 [1555] => 1 [1556] => 1 [1557] => 0 [1558] => 1 [1559] => 1 [1560] => 1 [1561] => 1 [1562] => 1 [1563] => 1 [1564] => 1 [1565] => 1 [1566] => 3 [1567] => 4 [1568] => 1 [1569] => 1 [1570] => 0 [1571] => 1 [1572] => 1 [1573] => 1 [1574] => -1 [1575] => 1 [1576] => 1 [1577] => 1 [1578] => 0 [1579] => 1 [1580] => 1 [1581] => 1 [1582] => 0 [1583] => 3 [1584] => 4 [1585] => 1 [1586] => 1 [1587] => -1 [1588] => 1 [1589] => 1 [1590] => 0 [1591] => -1 [1592] => 1 [1593] => 1 [1594] => 1 [1595] => -1 [1596] => 1 [1597] => 1 [1598] => 1 [1599] => -1 [1600] => 3 [1601] => 4 [1602] => 1 [1603] => 0 [1604] => -1 [1605] => 1 [1606] => 1 [1607] => -1 [1608] => -1 [1609] => 1 [1610] => 1 [1611] => 0 [1612] => -1 [1613] => 1 [1614] => 1 [1615] => 0 [1616] => -1 [1617] => 3 [1618] => 4 [1619] => 1 [1620] => -1 [1621] => -1 [1622] => 1 [1623] => 1 [1624] => -1 [1625] => 0 [1626] => 1 [1627] => 1 [1628] => -1 [1629] => -1 [1630] => 1 [1631] => 1 [1632] => -1 [1633] => -1 [1634] => 3 [1635] => 4 [1636] => 1 [1637] => -1 [1638] => 0 [1639] => 1 [1640] => 1 [1641] => -1 [1642] => 1 [1643] => 1 [1644] => 1 [1645] => -1 [1646] => 0 [1647] => 1 [1648] => 1 [1649] => -1 [1650] => 0 [1651] => 3 [1652] => 4 [1653] => 1 [1654] => -1 [1655] => 1 [1656] => 1 [1657] => 1 [1658] => 0 [1659] => 1 [1660] => 1 [1661] => 1 [1662] => -1 [1663] => 1 [1664] => 1 [1665] => 1 [1666] => -1 [1667] => 1 [1668] => 3 [1669] => 4 [1670] => 1 [1671] => 0 [1672] => 1 [1673] => 1 [1674] => 1 [1675] => -1 [1676] => 1 [1677] => 1 [1678] => 1 [1679] => 0 [1680] => 1 [1681] => 1 [1682] => 1 [1683] => 0 [1684] => 1 [1685] => 3 [1686] => 4 [1687] => 1 [1688] => 1 [1689] => 1 [1690] => 1 [1691] => 1 [1692] => 0 [1693] => 1 [1694] => 1 [1695] => 1 [1696] => 1 [1697] => 1 [1698] => 1 [1699] => 1 [1700] => 1 [1701] => 1 [1702] => 3 [1703] => 4 [1704] => 1 [1705] => 1 [1706] => 0 [1707] => 1 [1708] => 1 [1709] => 1 [1710] => 1 [1711] => 1 [1712] => 1 [1713] => 1 [1714] => 0 [1715] => 1 [1716] => 1 [1717] => 1 [1718] => 0 [1719] => 3 [1720] => 4 [1721] => 1 [1722] => 1 [1723] => -1 [1724] => 1 [1725] => 1 [1726] => 1 [1727] => 0 [1728] => 1 [1729] => 1 [1730] => 1 [1731] => -1 [1732] => 1 [1733] => 1 [1734] => 1 [1735] => -1 [1736] => 3 [1737] => 4 [1738] => 1 [1739] => 0 [1740] => -1 [1741] => 1 [1742] => 1 [1743] => 1 [1744] => -1 [1745] => 1 [1746] => 1 [1747] => 0 [1748] => -1 [1749] => 1 [1750] => 1 [1751] => 0 [1752] => -1 [1753] => 3 [1754] => 4 [1755] => 1 [1756] => -1 [1757] => -1 [1758] => 1 [1759] => 1 [1760] => 0 [1761] => -1 [1762] => 1 [1763] => 1 [1764] => -1 [1765] => -1 [1766] => 1 [1767] => 1 [1768] => -1 [1769] => -1 [1770] => 3 [1771] => 4 [1772] => 1 [1773] => -1 [1774] => 0 [1775] => 1 [1776] => 1 [1777] => -1 [1778] => -1 [1779] => 1 [1780] => 1 [1781] => -1 [1782] => 0 [1783] => 1 [1784] => 1 [1785] => -1 [1786] => 0 [1787] => 3 [1788] => 4 [1789] => 1 [1790] => -1 [1791] => 1 [1792] => 1 [1793] => 1 [1794] => -1 [1795] => 0 [1796] => 1 [1797] => 1 [1798] => -1 [1799] => 1 [1800] => 1 [1801] => 1 [1802] => -1 [1803] => 1 [1804] => 3 [1805] => 1 [1806] => 1 [1807] => 0 [1808] => 3 [1809] => 1 [1810] => 1 [1811] => 1 [1812] => 3 [1813] => 0 [1814] => 1 [1815] => 1 [1816] => 1 [1817] => 0 [1818] => -3 [1819] => 1 [1820] => 1 [1821] => 1 [1822] => -3 [1823] => 0 [1824] => 1 [1825] => 0 [1826] => 1 [1827] => -2 [1828] => 0 [1829] => 1 [1830] => 16777219 [1831] => 0 [1832] => 1 [1833] => -2 [1834] => 0 [1835] => -1 [1836] => 16777219 [1837] => 0 [1838] => 1 [1839] => 99 [1840] => 1 [1841] => 1 [1842] => 3 [1843] => 1 [1844] => 99 [1845] => 1 [1846] => -1 [1847] => 3 [1848] => 1 [1849] => 99 [1850] => -1 [1851] => -1 [1852] => 3 [1853] => 1 [1854] => 99 [1855] => -1 [1856] => 1 [1857] => 3 [1858] => 1 [1859] => 1 [1860] => 0 [1861] => 3 [1862] => 1 [1863] => 1 [1864] => 1 [1865] => 3 [1866] => 0 [1867] => 1 [1868] => 1 [1869] => 1 [1870] => 0 [1871] => -3 [1872] => 1 [1873] => 1 [1874] => 1 [1875] => -3 [1876] => 0 [1877] => 1 [1878] => 4 [1879] => 1 [1880] => 0 [1881] => 1 [1882] => 1 [1883] => 1 [1884] => 0 [1885] => 1 [1886] => 1 [1887] => 1 [1888] => 0 [1889] => 1 [1890] => 1 [1891] => 1 [1892] => 1 [1893] => 1 [1894] => 3 [1895] => 4 [1896] => 1 [1897] => 1 [1898] => 1 [1899] => 1 [1900] => 1 [1901] => 1 [1902] => 1 [1903] => 1 [1904] => 1 [1905] => 1 [1906] => 1 [1907] => 1 [1908] => 1 [1909] => 1 [1910] => 0 [1911] => 3 [1912] => 4 [1913] => 1 [1914] => 1 [1915] => 0 [1916] => 1 [1917] => 1 [1918] => 1 [1919] => 0 [1920] => 1 [1921] => 1 [1922] => 1 [1923] => 0 [1924] => 1 [1925] => 1 [1926] => 1 [1927] => -1 [1928] => 3 [1929] => 4 [1930] => 1 [1931] => 1 [1932] => -1 [1933] => 1 [1934] => 1 [1935] => 1 [1936] => -1 [1937] => 1 [1938] => 1 [1939] => 1 [1940] => -1 [1941] => 1 [1942] => 1 [1943] => 0 [1944] => -1 [1945] => 3 [1946] => 4 [1947] => 1 [1948] => 0 [1949] => -1 [1950] => 1 [1951] => 1 [1952] => 0 [1953] => -1 [1954] => 1 [1955] => 1 [1956] => 0 [1957] => -1 [1958] => 1 [1959] => 1 [1960] => -1 [1961] => -1 [1962] => 3 [1963] => 4 [1964] => 1 [1965] => -1 [1966] => -1 [1967] => 1 [1968] => 1 [1969] => -1 [1970] => -1 [1971] => 1 [1972] => 1 [1973] => -1 [1974] => -1 [1975] => 1 [1976] => 1 [1977] => -1 [1978] => 0 [1979] => 3 [1980] => 4 [1981] => 1 [1982] => -1 [1983] => 0 [1984] => 1 [1985] => 1 [1986] => -1 [1987] => 0 [1988] => 1 [1989] => 1 [1990] => -1 [1991] => 0 [1992] => 1 [1993] => 1 [1994] => -1 [1995] => 1 [1996] => 3 [1997] => 4 [1998] => 1 [1999] => -1 [2000] => 1 [2001] => 1 [2002] => 1 [2003] => -1 [2004] => 1 [2005] => 1 [2006] => 1 [2007] => -1 [2008] => 1 [2009] => 1 [2010] => 1 [2011] => 0 [2012] => 1 [2013] => 3 [2014] => 4 [2015] => 1 [2016] => 0 [2017] => 1 [2018] => 1 [2019] => 1 [2020] => 0 [2021] => 1 [2022] => 1 [2023] => 1 [2024] => 0 [2025] => 1 [2026] => 1 [2027] => 1 [2028] => -1 [2029] => 1 [2030] => 3 [2031] => 4 [2032] => 1 [2033] => 1 [2034] => 1 [2035] => 1 [2036] => 1 [2037] => 1 [2038] => 1 [2039] => 1 [2040] => 1 [2041] => 1 [2042] => 1 [2043] => 1 [2044] => 1 [2045] => 0 [2046] => 1 [2047] => 3 [2048] => 4 [2049] => 1 [2050] => 1 [2051] => 0 [2052] => 1 [2053] => 1 [2054] => 1 [2055] => 0 [2056] => 1 [2057] => 1 [2058] => 1 [2059] => 0 [2060] => 1 [2061] => 1 [2062] => 1 [2063] => 1 [2064] => 3 [2065] => 4 [2066] => 1 [2067] => 1 [2068] => -1 [2069] => 1 [2070] => 1 [2071] => 1 [2072] => -1 [2073] => 1 [2074] => 1 [2075] => 1 [2076] => -1 [2077] => 1 [2078] => 1 [2079] => 1 [2080] => 0 [2081] => 3 [2082] => 4 [2083] => 1 [2084] => 0 [2085] => -1 [2086] => 1 [2087] => 1 [2088] => 0 [2089] => -1 [2090] => 1 [2091] => 1 [2092] => 0 [2093] => -1 [2094] => 1 [2095] => 1 [2096] => 1 [2097] => -1 [2098] => 3 [2099] => 4 [2100] => 1 [2101] => -1 [2102] => -1 [2103] => 1 [2104] => 1 [2105] => -1 [2106] => -1 [2107] => 1 [2108] => 1 [2109] => -1 [2110] => -1 [2111] => 1 [2112] => 1 [2113] => 0 [2114] => -1 [2115] => 3 [2116] => 4 [2117] => 1 [2118] => -1 [2119] => 0 [2120] => 1 [2121] => 1 [2122] => -1 [2123] => 0 [2124] => 1 [2125] => 1 [2126] => -1 [2127] => 0 [2128] => 1 [2129] => 1 [2130] => -1 [2131] => -1 [2132] => 3 [2133] => 4 [2134] => 1 [2135] => -1 [2136] => 1 [2137] => 1 [2138] => 1 [2139] => -1 [2140] => 1 [2141] => 1 [2142] => 1 [2143] => -1 [2144] => 1 [2145] => 1 [2146] => 1 [2147] => -1 [2148] => 0 [2149] => 3 [2150] => 4 [2151] => 1 [2152] => 0 [2153] => 1 [2154] => 1 [2155] => 1 [2156] => 1 [2157] => 1 [2158] => 1 [2159] => 1 [2160] => 1 [2161] => 1 [2162] => 1 [2163] => 1 [2164] => 1 [2165] => 1 [2166] => 3 [2167] => 4 [2168] => 1 [2169] => 1 [2170] => 1 [2171] => 1 [2172] => 1 [2173] => 1 [2174] => 0 [2175] => 1 [2176] => 1 [2177] => 1 [2178] => 0 [2179] => 1 [2180] => 1 [2181] => 1 [2182] => 0 [2183] => 3 [2184] => 4 [2185] => 1 [2186] => 1 [2187] => 0 [2188] => 1 [2189] => 1 [2190] => 1 [2191] => -1 [2192] => 1 [2193] => 1 [2194] => 1 [2195] => -1 [2196] => 1 [2197] => 1 [2198] => 1 [2199] => -1 [2200] => 3 [2201] => 4 [2202] => 1 [2203] => 1 [2204] => -1 [2205] => 1 [2206] => 1 [2207] => 0 [2208] => -1 [2209] => 1 [2210] => 1 [2211] => 0 [2212] => -1 [2213] => 1 [2214] => 1 [2215] => 0 [2216] => -1 [2217] => 3 [2218] => 4 [2219] => 1 [2220] => 0 [2221] => -1 [2222] => 1 [2223] => 1 [2224] => -1 [2225] => -1 [2226] => 1 [2227] => 1 [2228] => -1 [2229] => -1 [2230] => 1 [2231] => 1 [2232] => -1 [2233] => -1 [2234] => 3 [2235] => 4 [2236] => 1 [2237] => -1 [2238] => -1 [2239] => 1 [2240] => 1 [2241] => -1 [2242] => 0 [2243] => 1 [2244] => 1 [2245] => -1 [2246] => 0 [2247] => 1 [2248] => 1 [2249] => -1 [2250] => 0 [2251] => 3 [2252] => 4 [2253] => 1 [2254] => -1 [2255] => 0 [2256] => 1 [2257] => 1 [2258] => -1 [2259] => 1 [2260] => 1 [2261] => 1 [2262] => -1 [2263] => 1 [2264] => 1 [2265] => 1 [2266] => -1 [2267] => 1 [2268] => 3 [2269] => 4 [2270] => 1 [2271] => -1 [2272] => 1 [2273] => 1 [2274] => 1 [2275] => 0 [2276] => 1 [2277] => 1 [2278] => 1 [2279] => 0 [2280] => 1 [2281] => 1 [2282] => 1 [2283] => 0 [2284] => 1 [2285] => 3 [2286] => 4 [2287] => 1 [2288] => 0 [2289] => 1 [2290] => 1 [2291] => 1 [2292] => -1 [2293] => 1 [2294] => 1 [2295] => 1 [2296] => -1 [2297] => 1 [2298] => 1 [2299] => 1 [2300] => -1 [2301] => 1 [2302] => 3 [2303] => 4 [2304] => 1 [2305] => 1 [2306] => 1 [2307] => 1 [2308] => 1 [2309] => 0 [2310] => 1 [2311] => 1 [2312] => 1 [2313] => 0 [2314] => 1 [2315] => 1 [2316] => 1 [2317] => 0 [2318] => 1 [2319] => 3 [2320] => 4 [2321] => 1 [2322] => 1 [2323] => 0 [2324] => 1 [2325] => 1 [2326] => 1 [2327] => 1 [2328] => 1 [2329] => 1 [2330] => 1 [2331] => 1 [2332] => 1 [2333] => 1 [2334] => 1 [2335] => 1 [2336] => 3 [2337] => 4 [2338] => 1 [2339] => 1 [2340] => -1 [2341] => 1 [2342] => 1 [2343] => 1 [2344] => 0 [2345] => 1 [2346] => 1 [2347] => 1 [2348] => 0 [2349] => 1 [2350] => 1 [2351] => 1 [2352] => 0 [2353] => 3 [2354] => 4 [2355] => 1 [2356] => 0 [2357] => -1 [2358] => 1 [2359] => 1 [2360] => 1 [2361] => -1 [2362] => 1 [2363] => 1 [2364] => 1 [2365] => -1 [2366] => 1 [2367] => 1 [2368] => 1 [2369] => -1 [2370] => 3 [2371] => 4 [2372] => 1 [2373] => -1 [2374] => -1 [2375] => 1 [2376] => 1 [2377] => 0 [2378] => -1 [2379] => 1 [2380] => 1 [2381] => 0 [2382] => -1 [2383] => 1 [2384] => 1 [2385] => 0 [2386] => -1 [2387] => 3 [2388] => 4 [2389] => 1 [2390] => -1 [2391] => 0 [2392] => 1 [2393] => 1 [2394] => -1 [2395] => -1 [2396] => 1 [2397] => 1 [2398] => -1 [2399] => -1 [2400] => 1 [2401] => 1 [2402] => -1 [2403] => -1 [2404] => 3 [2405] => 4 [2406] => 1 [2407] => -1 [2408] => 1 [2409] => 1 [2410] => 1 [2411] => -1 [2412] => 0 [2413] => 1 [2414] => 1 [2415] => -1 [2416] => 0 [2417] => 1 [2418] => 1 [2419] => -1 [2420] => 0 [2421] => 3 [2422] => 4 [2423] => 1 [2424] => 0 [2425] => 1 [2426] => 1 [2427] => 1 [2428] => 0 [2429] => 1 [2430] => 1 [2431] => 1 [2432] => 1 [2433] => 1 [2434] => 1 [2435] => 1 [2436] => 0 [2437] => 1 [2438] => 3 [2439] => 4 [2440] => 1 [2441] => 1 [2442] => 1 [2443] => 1 [2444] => 1 [2445] => 1 [2446] => 1 [2447] => 1 [2448] => 1 [2449] => 1 [2450] => 0 [2451] => 1 [2452] => 1 [2453] => 1 [2454] => 1 [2455] => 3 [2456] => 4 [2457] => 1 [2458] => 1 [2459] => 0 [2460] => 1 [2461] => 1 [2462] => 1 [2463] => 0 [2464] => 1 [2465] => 1 [2466] => 1 [2467] => -1 [2468] => 1 [2469] => 1 [2470] => 1 [2471] => 0 [2472] => 3 [2473] => 4 [2474] => 1 [2475] => 1 [2476] => -1 [2477] => 1 [2478] => 1 [2479] => 1 [2480] => -1 [2481] => 1 [2482] => 1 [2483] => 0 [2484] => -1 [2485] => 1 [2486] => 1 [2487] => 1 [2488] => -1 [2489] => 3 [2490] => 4 [2491] => 1 [2492] => 0 [2493] => -1 [2494] => 1 [2495] => 1 [2496] => 0 [2497] => -1 [2498] => 1 [2499] => 1 [2500] => -1 [2501] => -1 [2502] => 1 [2503] => 1 [2504] => 0 [2505] => -1 [2506] => 3 [2507] => 4 [2508] => 1 [2509] => -1 [2510] => -1 [2511] => 1 [2512] => 1 [2513] => -1 [2514] => -1 [2515] => 1 [2516] => 1 [2517] => -1 [2518] => 0 [2519] => 1 [2520] => 1 [2521] => -1 [2522] => -1 [2523] => 3 [2524] => 4 [2525] => 1 [2526] => -1 [2527] => 0 [2528] => 1 [2529] => 1 [2530] => -1 [2531] => 0 [2532] => 1 [2533] => 1 [2534] => -1 [2535] => 1 [2536] => 1 [2537] => 1 [2538] => -1 [2539] => 0 [2540] => 3 [2541] => 4 [2542] => 1 [2543] => -1 [2544] => 1 [2545] => 1 [2546] => 1 [2547] => -1 [2548] => 1 [2549] => 1 [2550] => 1 [2551] => 0 [2552] => 1 [2553] => 1 [2554] => 1 [2555] => -1 [2556] => 1 [2557] => 3 [2558] => 4 [2559] => 1 [2560] => 0 [2561] => 1 [2562] => 1 [2563] => 1 [2564] => 0 [2565] => 1 [2566] => 1 [2567] => 1 [2568] => -1 [2569] => 1 [2570] => 1 [2571] => 1 [2572] => 0 [2573] => 1 [2574] => 3 [2575] => 4 [2576] => 1 [2577] => 1 [2578] => 1 [2579] => 1 [2580] => 1 [2581] => 1 [2582] => 1 [2583] => 1 [2584] => 1 [2585] => 0 [2586] => 1 [2587] => 1 [2588] => 1 [2589] => 1 [2590] => 1 [2591] => 3 [2592] => 4 [2593] => 1 [2594] => 1 [2595] => 0 [2596] => 1 [2597] => 1 [2598] => 1 [2599] => 0 [2600] => 1 [2601] => 1 [2602] => 1 [2603] => 1 [2604] => 1 [2605] => 1 [2606] => 1 [2607] => 0 [2608] => 3 [2609] => 4 [2610] => 1 [2611] => 1 [2612] => -1 [2613] => 1 [2614] => 1 [2615] => 1 [2616] => -1 [2617] => 1 [2618] => 1 [2619] => 1 [2620] => 0 [2621] => 1 [2622] => 1 [2623] => 1 [2624] => -1 [2625] => 3 [2626] => 4 [2627] => 1 [2628] => 0 [2629] => -1 [2630] => 1 [2631] => 1 [2632] => 0 [2633] => -1 [2634] => 1 [2635] => 1 [2636] => 1 [2637] => -1 [2638] => 1 [2639] => 1 [2640] => 0 [2641] => -1 [2642] => 3 [2643] => 4 [2644] => 1 [2645] => -1 [2646] => -1 [2647] => 1 [2648] => 1 [2649] => -1 [2650] => -1 [2651] => 1 [2652] => 1 [2653] => 0 [2654] => -1 [2655] => 1 [2656] => 1 [2657] => -1 [2658] => -1 [2659] => 3 [2660] => 4 [2661] => 1 [2662] => -1 [2663] => 0 [2664] => 1 [2665] => 1 [2666] => -1 [2667] => 0 [2668] => 1 [2669] => 1 [2670] => -1 [2671] => -1 [2672] => 1 [2673] => 1 [2674] => -1 [2675] => 0 [2676] => 3 [2677] => 4 [2678] => 1 [2679] => -1 [2680] => 1 [2681] => 1 [2682] => 1 [2683] => -1 [2684] => 1 [2685] => 1 [2686] => 1 [2687] => -1 [2688] => 0 [2689] => 1 [2690] => 1 [2691] => -1 [2692] => 1 [2693] => 3 [2694] => 4 [2695] => 1 [2696] => 0 [2697] => 1 [2698] => 1 [2699] => 1 [2700] => 1 [2701] => 1 [2702] => 1 [2703] => 1 [2704] => 0 [2705] => 1 [2706] => 1 [2707] => 1 [2708] => 0 [2709] => 1 [2710] => 3 [2711] => 4 [2712] => 1 [2713] => 1 [2714] => 1 [2715] => 1 [2716] => 1 [2717] => 1 [2718] => 0 [2719] => 1 [2720] => 1 [2721] => 1 [2722] => 1 [2723] => 1 [2724] => 1 [2725] => 1 [2726] => 1 [2727] => 3 [2728] => 4 [2729] => 1 [2730] => 1 [2731] => 0 [2732] => 1 [2733] => 1 [2734] => 1 [2735] => -1 [2736] => 1 [2737] => 1 [2738] => 1 [2739] => 0 [2740] => 1 [2741] => 1 [2742] => 1 [2743] => 0 [2744] => 3 [2745] => 4 [2746] => 1 [2747] => 1 [2748] => -1 [2749] => 1 [2750] => 1 [2751] => 0 [2752] => -1 [2753] => 1 [2754] => 1 [2755] => 1 [2756] => -1 [2757] => 1 [2758] => 1 [2759] => 1 [2760] => -1 [2761] => 3 [2762] => 4 [2763] => 1 [2764] => 0 [2765] => -1 [2766] => 1 [2767] => 1 [2768] => -1 [2769] => -1 [2770] => 1 [2771] => 1 [2772] => 0 [2773] => -1 [2774] => 1 [2775] => 1 [2776] => 0 [2777] => -1 [2778] => 3 [2779] => 4 [2780] => 1 [2781] => -1 [2782] => -1 [2783] => 1 [2784] => 1 [2785] => -1 [2786] => 0 [2787] => 1 [2788] => 1 [2789] => -1 [2790] => -1 [2791] => 1 [2792] => 1 [2793] => -1 [2794] => -1 [2795] => 3 [2796] => 4 [2797] => 1 [2798] => -1 [2799] => 0 [2800] => 1 [2801] => 1 [2802] => -1 [2803] => 1 [2804] => 1 [2805] => 1 [2806] => -1 [2807] => 0 [2808] => 1 [2809] => 1 [2810] => -1 [2811] => 0 [2812] => 3 [2813] => 4 [2814] => 1 [2815] => -1 [2816] => 1 [2817] => 1 [2818] => 1 [2819] => 0 [2820] => 1 [2821] => 1 [2822] => 1 [2823] => -1 [2824] => 1 [2825] => 1 [2826] => 1 [2827] => -1 [2828] => 1 [2829] => 3 [2830] => 4 [2831] => 1 [2832] => 0 [2833] => 1 [2834] => 1 [2835] => 1 [2836] => -1 [2837] => 1 [2838] => 1 [2839] => 1 [2840] => 0 [2841] => 1 [2842] => 1 [2843] => 1 [2844] => 0 [2845] => 1 [2846] => 3 [2847] => 4 [2848] => 1 [2849] => 1 [2850] => 1 [2851] => 1 [2852] => 1 [2853] => 0 [2854] => 1 [2855] => 1 [2856] => 1 [2857] => 1 [2858] => 1 [2859] => 1 [2860] => 1 [2861] => 1 [2862] => 1 [2863] => 3 [2864] => 4 [2865] => 1 [2866] => 1 [2867] => 0 [2868] => 1 [2869] => 1 [2870] => 1 [2871] => 1 [2872] => 1 [2873] => 1 [2874] => 1 [2875] => 0 [2876] => 1 [2877] => 1 [2878] => 1 [2879] => 0 [2880] => 3 [2881] => 4 [2882] => 1 [2883] => 1 [2884] => -1 [2885] => 1 [2886] => 1 [2887] => 1 [2888] => 0 [2889] => 1 [2890] => 1 [2891] => 1 [2892] => -1 [2893] => 1 [2894] => 1 [2895] => 1 [2896] => -1 [2897] => 3 [2898] => 4 [2899] => 1 [2900] => 0 [2901] => -1 [2902] => 1 [2903] => 1 [2904] => 1 [2905] => -1 [2906] => 1 [2907] => 1 [2908] => 0 [2909] => -1 [2910] => 1 [2911] => 1 [2912] => 0 [2913] => -1 [2914] => 3 [2915] => 4 [2916] => 1 [2917] => -1 [2918] => -1 [2919] => 1 [2920] => 1 [2921] => 0 [2922] => -1 [2923] => 1 [2924] => 1 [2925] => -1 [2926] => -1 [2927] => 1 [2928] => 1 [2929] => -1 [2930] => -1 [2931] => 3 [2932] => 4 [2933] => 1 [2934] => -1 [2935] => 0 [2936] => 1 [2937] => 1 [2938] => -1 [2939] => -1 [2940] => 1 [2941] => 1 [2942] => -1 [2943] => 0 [2944] => 1 [2945] => 1 [2946] => -1 [2947] => 0 [2948] => 3 [2949] => 4 [2950] => 1 [2951] => -1 [2952] => 1 [2953] => 1 [2954] => 1 [2955] => -1 [2956] => 0 [2957] => 1 [2958] => 1 [2959] => -1 [2960] => 1 [2961] => 1 [2962] => 1 [2963] => -1 [2964] => 1 [2965] => 3 [2966] => 1 [2967] => 1 [2968] => 0 [2969] => 3 [2970] => 1 [2971] => 1 [2972] => 1 [2973] => 3 [2974] => 0 [2975] => 1 [2976] => 1 [2977] => 1 [2978] => 0 [2979] => -3 [2980] => 1 [2981] => 1 [2982] => 1 [2983] => -3 [2984] => 0 [2985] => 1 [2986] => 0 [2987] => 1 [2988] => 99 [2989] => 0 [2990] => 1 [2991] => 3 [2992] => 1 [2993] => 99 [2994] => 1 [2995] => 0 [2996] => 3 [2997] => 1 [2998] => 99 [2999] => 0 [3000] => -1 [3001] => 3 [3002] => 1 [3003] => 99 [3004] => -1 [3005] => 0 [3006] => 3 [3007] => 2 [3008] => 99 [3009] => 0 [3010] => 1 [3011] => 16 [3012] => 99 [3013] => 0 [3014] => 1 [3015] => 2 [3016] => 2 [3017] => 99 [3018] => 1 [3019] => 0 [3020] => 16 [3021] => 99 [3022] => 1 [3023] => 0 [3024] => 2 [3025] => 2 [3026] => 99 [3027] => 0 [3028] => -1 [3029] => 16 [3030] => 99 [3031] => 0 [3032] => -1 [3033] => 2 [3034] => 2 [3035] => 99 [3036] => -1 [3037] => 0 [3038] => 16 [3039] => 99 [3040] => -1 [3041] => 0 [3042] => 2 [3043] => 1 [3044] => 1 [3045] => 1 [3046] => 1 [3047] => 3 [3048] => 1 [3049] => 1 [3050] => 1 [3051] => -1 [3052] => 3 [3053] => 1 [3054] => 1 [3055] => -1 [3056] => -1 [3057] => 3 [3058] => 1 [3059] => 1 [3060] => -1 [3061] => 1 [3062] => 3 [3063] => 0 [3064] => 1 [3065] => 99 [3066] => 0 [3067] => 1 [3068] => 3 [3069] => 1 [3070] => 99 [3071] => 1 [3072] => 0 [3073] => 3 [3074] => 1 [3075] => 99 [3076] => 0 [3077] => -1 [3078] => 3 [3079] => 1 [3080] => 99 [3081] => -1 [3082] => 0 [3083] => 3 [3084] => 1 [3085] => 99 [3086] => 1 [3087] => 2 [3088] => 3 [3089] => 1 [3090] => 99 [3091] => 2 [3092] => 1 [3093] => 3 [3094] => 1 [3095] => 99 [3096] => 2 [3097] => -1 [3098] => 3 [3099] => 1 [3100] => 99 [3101] => 1 [3102] => -2 [3103] => 3 [3104] => 1 [3105] => 99 [3106] => -1 [3107] => -2 [3108] => 3 [3109] => 1 [3110] => 99 [3111] => -2 [3112] => -1 [3113] => 3 [3114] => 1 [3115] => 99 [3116] => -2 [3117] => 1 [3118] => 3 [3119] => 1 [3120] => 99 [3121] => -1 [3122] => 2 [3123] => 3 [3124] => 0 [3125] => 1 [3126] => 99 [3127] => 1 [3128] => 1 [3129] => 3 [3130] => 1 [3131] => 99 [3132] => 1 [3133] => -1 [3134] => 3 [3135] => 1 [3136] => 99 [3137] => -1 [3138] => -1 [3139] => 3 [3140] => 1 [3141] => 99 [3142] => -1 [3143] => 1 [3144] => 3 [3145] => 1 [3146] => 99 [3147] => 1 [3148] => 2 [3149] => 3 [3150] => 1 [3151] => 99 [3152] => 2 [3153] => 1 [3154] => 3 [3155] => 1 [3156] => 99 [3157] => 2 [3158] => -1 [3159] => 3 [3160] => 1 [3161] => 99 [3162] => 1 [3163] => -2 [3164] => 3 [3165] => 1 [3166] => 99 [3167] => -1 [3168] => -2 [3169] => 3 [3170] => 1 [3171] => 99 [3172] => -2 [3173] => -1 [3174] => 3 [3175] => 1 [3176] => 99 [3177] => -2 [3178] => 1 [3179] => 3 [3180] => 1 [3181] => 99 [3182] => -1 [3183] => 2 [3184] => 3 [3185] => 0 [3186] => 1 [3187] => 1 [3188] => 0 [3189] => 1 [3190] => 1 [3191] => 1 [3192] => 1 [3193] => 1 [3194] => 1 [3195] => 2 [3196] => 1 [3197] => 1 [3198] => -1 [3199] => 1 [3200] => 2 [3201] => 0 [3202] => 1 [3203] => 1 [3204] => 0 [3205] => -1 [3206] => 1 [3207] => 1 [3208] => 1 [3209] => 1 [3210] => -1 [3211] => 2 [3212] => 1 [3213] => 1 [3214] => -1 [3215] => -1 [3216] => 2 [3217] => 0 [3218] => 1 [3219] => 1 [3220] => 0 [3221] => 1 [3222] => 2 [3223] => 1 [3224] => 1 [3225] => 1 [3226] => 1 [3227] => 1 [3228] => 1 [3229] => 1 [3230] => -1 [3231] => 1 [3232] => 1 [3233] => 0 [3234] => 1 [3235] => 1 [3236] => 0 [3237] => -1 [3238] => 2 [3239] => 1 [3240] => 1 [3241] => 1 [3242] => -1 [3243] => 1 [3244] => 1 [3245] => 1 [3246] => -1 [3247] => -1 [3248] => 1 [3249] => 0 ) [partners] => Array ( [0] => b2 [1] => k2 [2] => b13 [3] => k13 [4] => a2 [5] => l2 [6] => a13 [7] => l13 ) [rooks] => Array ( [0] => b2 [1] => k2 [2] => b13 [3] => k13 ) [badCannon] => Array ( [0] => e2 [1] => i2 [2] => e13 [3] => i13 ) [badRook] => Array ( [0] => c2 [1] => k2 [2] => c13 [3] => k13 ) [supply] => Array ( [0] => P [1] => 10 [2] => p [3] => 10 [4] => X [5] => 10 [6] => x [7] => 10 [8] => Q [9] => 1 [10] => q [11] => 1 [12] => R [13] => 1 [14] => r [15] => 1 [16] => Y [17] => 1 [18] => y [19] => 1 [20] => B [21] => 2 [22] => b [23] => 2 [24] => G [25] => 1 [26] => g [27] => 1 [28] => N [29] => 1 [30] => n [31] => 1 ) [promotab] => Array ( [0] => 0 [1] => Array ( [0] => q [1] => v [2] => u [3] => i [4] => m [5] => r [6] => j [7] => y [8] => o [9] => f [10] => b [11] => n [12] => z [13] => g [14] => w ) [2] => Array ( [0] => self [1] => r [2] => j [3] => y [4] => o [5] => f [6] => b [7] => n [8] => z [9] => g [10] => w ) [3] => Array ( [0] => self [1] => b [2] => n [3] => z [4] => g [5] => w ) [4] => 0 [5] => 0 [6] => 0 [7] => 0 [8] => 0 [9] => 0 [10] => Array ( [0] => self [1] => B [2] => N [3] => Z [4] => G [5] => W ) [11] => Array ( [0] => self [1] => R [2] => J [3] => Y [4] => O [5] => F [6] => B [7] => N [8] => Z [9] => G [10] => W ) [12] => Array ( [0] => Q [1] => V [2] => U [3] => I [4] => M [5] => R [6] => J [7] => Y [8] => O [9] => F [10] => B [11] => N [12] => Z [13] => G [14] => W ) [13] => 0 ) [shaded] => Array ( ) [symmetrized] => Array ( ) [centralize] => Array ( ) [blackset] => Array ( ) [blacksym] => Array ( ) [blackshaded] => Array ( ) [shufflespecs] => Array ( [0] => Array ( [0] => F ) [1] => Array ( [0] => B [1] => N [2] => G ) [2] => 0 [3] => Array ( [0] => Q [1] => V [2] => U ) [4] => 0 [5] => 0 [6] => Array ( [0] => M [1] => I ) [7] => 0 [8] => 0 [9] => Array ( [0] => Y ) [10] => Array ( [0] => W ) [11] => 0 [12] => 0 ) [left] => Array ( [0] => b3 [1] => c3 [2] => d3 [3] => e3 ) [light] => Array ( [0] => c3 [1] => e3 [2] => i3 [3] => k3 ) [dark] => Array ( [0] => b3 [1] => d3 [2] => h3 [3] => j3 ) [RESULT] => ) ) [1] => Array ( [ShuffleSetup] => Array ( [subargs] => Array ( ) ) ) [3] => Array ( [ShuffleSetup] => Array ( [i] => 0 [a] => Array ( [0] => F ) [b] => Array ( [0] => B [1] => N [2] => G ) [c] => Array ( ) ) ) [5] => Array ( [ShuffleOnePlayer] => Array ( [subargs] => Array ( [0] => Array ( [0] => F ) [1] => Array ( [0] => B [1] => N [2] => G ) [2] => Array ( ) ) ) [main] => Array ( [otherset] => Array ( [0] => F ) [symset] => Array ( [0] => B [1] => N [2] => G ) [shadeset] => Array ( ) ) ) [7] => Array ( [ShuffleWings] => Array ( [subargs] => Array ( [0] => Array ( [0] => B [1] => N [2] => G ) [1] => Array ( [0] => F ) ) [toshuffle] => Array ( [0] => F [1] => B [2] => N [3] => G ) [sqr] => 0 [piece] => 0 [rsqr] => 0 [p] => 0 [s] => 0 [allsqrs] => Array ( [0] => c3 [1] => e3 [2] => i3 [3] => k3 [4] => b3 [5] => d3 [6] => h3 [7] => j3 ) ) [main] => Array ( [sym] => Array ( [0] => B [1] => N [2] => G ) [others] => Array ( [0] => F ) ) ) )

mline

Array ( [0] => MoveLine Object ( [movenum] => 0 [move] => [level] => 0 [comment] => [length] => 0 [newturn] => [turn] => 0 ) )

allmoves

Array ( )

movelist

constants

Array ( )