1 | WARNING: Test 1
|
---|
2 | ------------------- CASE 1 -------------------
|
---|
3 | Condition:
|
---|
4 | Green list: [ ]
|
---|
5 | Red list: [ ]
|
---|
6 | Basis: [ (4) * X + (5) * Y, ( - 10) * Y^2 ]
|
---|
7 | WARNING: Test 2 - Enneper
|
---|
8 |
|
---|
9 | ; in: LAMBDA NIL
|
---|
10 | ; (SETF CGB-LISP::VAL1
|
---|
11 | ; (COLORED-POLY:STRING-GROBNER-SYSTEM
|
---|
12 | ; "[x-3*u-3*u*v^2+u^3,y-3*v-3*u^2*v+v^3,z-3*u^2+3*v^2]"
|
---|
13 | ; '(CGB-LISP::U CGB-LISP::V CGB-LISP::X CGB-LISP::Y CGB-LISP::Z) 'NIL
|
---|
14 | ; :SUPPRESS-VALUE NIL))
|
---|
15 | ; ==>
|
---|
16 | ; (SETQ CGB-LISP::VAL1
|
---|
17 | ; (COLORED-POLY:STRING-GROBNER-SYSTEM
|
---|
18 | ; "[x-3*u-3*u*v^2+u^3,y-3*v-3*u^2*v+v^3,z-3*u^2+3*v^2]"
|
---|
19 | ; '(CGB-LISP::U CGB-LISP::V CGB-LISP::X CGB-LISP::Y CGB-LISP::Z) 'NIL
|
---|
20 | ; :SUPPRESS-VALUE NIL))
|
---|
21 | ;
|
---|
22 | ; caught WARNING:
|
---|
23 | ; undefined variable: VAL1
|
---|
24 |
|
---|
25 | ;
|
---|
26 | ; caught WARNING:
|
---|
27 | ; This variable is undefined:
|
---|
28 | ; VAL1
|
---|
29 | ;
|
---|
30 | ; compilation unit finished
|
---|
31 | ; caught 2 WARNING conditions
|
---|
32 | ------------------- CASE 1 -------------------
|
---|
33 | Condition:
|
---|
34 | Green list: [ ]
|
---|
35 | Red list: [ ]
|
---|
36 | Basis: [ ( - 3) * U^2 + (3) * V^2 + (1) * Z, (2) * V^3 + (1) * V * Z + (3) * V + ( - 1) * Y, ( - 6) * U * V^2 + (1) * U * Z + ( - 9) * U + (3) * X, (4) * U * V * Z + ( - 3) * U * Y + (3) * V * X, (9) * U * V * Y + ( - 2) * U * Z^2 + (18) * U * Z + ( - 9) * V^2 * X + ( - 6) * X * Z, ( - 27) * U * Y^2 + (8) * U * Z^3 + ( - 72) * U * Z^2 + (36) * V^2 * X * Z + (27) * V * X * Y + (24) * X * Z^2, (34992) * V^2 * X^2 + ( - 34992) * V^2 * Y^2 + ( - 186624) * V^2 * Z + ( - 15552) * V * Y * Z^2 + (46656) * V * Y * Z + (15552) * X^2 * Z + (93312) * X^2 + (19440) * Y^2 * Z + ( - 93312) * Y^2 + ( - 576) * Z^4 + (6912) * Z^3 + (15552) * Z^2 + ( - 279936) * Z, (139968) * U * X + (93312) * V^2 * Z + ( - 139968) * V * Y + (15552) * Z^2 + ( - 139968) * Z, (105815808) * V^2 * Y * Z + (52907904) * V * X^2 + ( - 52907904) * V * Y^2 + (15676416) * V * Z^3 + (141087744) * V * Z^2 + ( - 17635968) * Y * Z^2 + ( - 52907904) * Y * Z, (31104) * V^2 * Z^2 + (93312) * V^2 * Z + ( - 93312) * V * Y * Z + ( - 46656) * X^2 + (46656) * Y^2 + (1728) * Z^3 + ( - 31104) * Z^2 + (139968) * Z, (8817984) * V * X^2 * Z + (26453952) * V * X^2 + (44089920) * V * Y^2 * Z + ( - 26453952) * V * Y^2 + (2612736) * V * Z^4 + (31352832) * V * Z^3 + (70543872) * V * Z^2 + (26453952) * X^2 * Y + ( - 26453952) * Y^3 + ( - 3919104) * Y * Z^3 + ( - 105815808) * Y * Z, ( - 158723712) * V * X^2 * Y + ( - 317447424) * V * Y^3 * Z + (158723712) * V * Y^3 + ( - 23514624) * V * Y * Z^4 + ( - 188116992) * V * Y * Z^3 + ( - 634894848) * V * Y * Z^2 + (26453952) * X^4 + ( - 211631616) * X^2 * Y^2 + (6858432) * X^2 * Z^3 + (88179840) * X^2 * Z^2 + ( - 79361856) * X^2 * Z + (185177664) * Y^4 + (34292160) * Y^2 * Z^3 + ( - 35271936) * Y^2 * Z^2 + (714256704) * Y^2 * Z + ( - 290304) * Z^6 + (2612736) * Z^5 + (23514624) * Z^4 + ( - 211631616) * Z^3, ( - 317447424) * V * Y^3 * Z^2 + ( - 23514624) * V * Y * Z^5 + ( - 211631616) * V * Y * Z^4 + ( - 634894848) * V * Y * Z^3 + ( - 634894848) * V * Y * Z^2 + (26453952) * X^4 * Z + (79361856) * X^4 + ( - 211631616) * X^2 * Y^2 * Z + ( - 158723712) * X^2 * Y^2 + (6858432) * X^2 * Z^4 + (108755136) * X^2 * Z^3 + (185177664) * X^2 * Z^2 + ( - 238085568) * X^2 * Z + (185177664) * Y^4 * Z + (79361856) * Y^4 + (34292160) * Y^2 * Z^4 + ( - 2939328) * Y^2 * Z^3 + (608440896) * Y^2 * Z^2 + (238085568) * Y^2 * Z + ( - 290304) * Z^7 + (1741824) * Z^6 + (31352832) * Z^5 + ( - 141087744) * Z^4 + ( - 634894848) * Z^3, (79361856) * V * X^4 + (2539579392) * V * X^2 + (317447424) * V * Y^4 * Z + ( - 79361856) * V * Y^4 + (23514624) * V * Y^2 * Z^4 + (117573120) * V * Y^2 * Z^3 + ( - 423263232) * V * Y^2 * Z^2 + (5079158784) * V * Y^2 * Z + ( - 2539579392) * V * Y^2 + ( - 6967296) * V * Z^6 + ( - 125411328) * V * Z^5 + ( - 564350976) * V * Z^4 + (752467968) * V * Z^3 + (6772211712) * V * Z^2 + ( - 26453952) * X^4 * Y + (211631616) * X^2 * Y^3 + ( - 6858432) * X^2 * Y * Z^3 + ( - 255721536) * X^2 * Y * Z^2 + ( - 846526464) * X^2 * Y * Z + (2539579392) * X^2 * Y + ( - 185177664) * Y^5 + ( - 34292160) * Y^3 * Z^3 + (44089920) * Y^3 * Z^2 + (211631616) * Y^3 * Z + ( - 2539579392) * Y^3 + (290304) * Y * Z^6 + (10450944) * Y * Z^5 + (7838208) * Y * Z^4 + (188116992) * Y * Z^3 + (3386105856) * Y * Z^2 + ( - 10158317568) * Y * Z, ( - 714256704) * X^6 + (2142770112) * X^4 * Y^2 + ( - 396809280) * X^4 * Z^3 + ( - 4285540224) * X^4 * Z^2 + (2142770112) * X^4 * Z + ( - 2142770112) * X^2 * Y^4 + ( - 2063408256) * X^2 * Y^2 * Z^3 + ( - 4285540224) * X^2 * Y^2 * Z + ( - 47029248) * X^2 * Z^6 + ( - 1269789696) * X^2 * Z^5 + ( - 6348948480) * X^2 * Z^4 + (11428107264) * X^2 * Z^3 + (714256704) * Y^6 + ( - 396809280) * Y^4 * Z^3 + (4285540224) * Y^4 * Z^2 + (2142770112) * Y^4 * Z + (47029248) * Y^2 * Z^6 + ( - 1269789696) * Y^2 * Z^5 + (6348948480) * Y^2 * Z^4 + (11428107264) * Y^2 * Z^3 + (2322432) * Z^9 + ( - 376233984) * Z^7 + (15237476352) * Z^5 ]
|
---|
37 | ; in: LAMBDA NIL
|
---|
38 | ; (SETF CGB-LISP::VAL1
|
---|
39 | ; (GROBNER:GROBNER
|
---|
40 | ; (MAPCAR #'COLORED-POLY:COLORED-POLY-TO-POLY (CADAR CGB-LISP::VAL1))))
|
---|
41 | ; ==>
|
---|
42 | ; (SETQ CGB-LISP::VAL1
|
---|
43 | ; (GROBNER:GROBNER
|
---|
44 | ; (MAPCAR #'COLORED-POLY:COLORED-POLY-TO-POLY (CADAR CGB-LISP::VAL1))))
|
---|
45 | ;
|
---|
46 | ; caught WARNING:
|
---|
47 | ; undefined variable: VAL1
|
---|
48 |
|
---|
49 | ;
|
---|
50 | ; caught WARNING:
|
---|
51 | ; This variable is undefined:
|
---|
52 | ; VAL1
|
---|
53 | ;
|
---|
54 | ; compilation unit finished
|
---|
55 | ; caught 2 WARNING conditions
|
---|
56 | WARNING: Test 1
|
---|
57 | ------------------- CASE 1 -------------------
|
---|
58 | Condition:
|
---|
59 | Green list: [ ]
|
---|
60 | Red list: [ ]
|
---|
61 | Basis: [ (4) * X + (5) * Y, ( - 10) * Y^2 ]
|
---|
62 | WARNING: Test 2 - Enneper
|
---|
63 | ------------------- CASE 1 -------------------
|
---|
64 | Condition:
|
---|
65 | Green list: [ ]
|
---|
66 | Red list: [ ]
|
---|
67 | Basis: [ ( - 3) * U^2 + (3) * V^2 + (1) * Z, (2) * V^3 + (1) * V * Z + (3) * V + ( - 1) * Y, ( - 6) * U * V^2 + (1) * U * Z + ( - 9) * U + (3) * X, (4) * U * V * Z + ( - 3) * U * Y + (3) * V * X, (9) * U * V * Y + ( - 2) * U * Z^2 + (18) * U * Z + ( - 9) * V^2 * X + ( - 6) * X * Z, ( - 27) * U * Y^2 + (8) * U * Z^3 + ( - 72) * U * Z^2 + (36) * V^2 * X * Z + (27) * V * X * Y + (24) * X * Z^2, (34992) * V^2 * X^2 + ( - 34992) * V^2 * Y^2 + ( - 186624) * V^2 * Z + ( - 15552) * V * Y * Z^2 + (46656) * V * Y * Z + (15552) * X^2 * Z + (93312) * X^2 + (19440) * Y^2 * Z + ( - 93312) * Y^2 + ( - 576) * Z^4 + (6912) * Z^3 + (15552) * Z^2 + ( - 279936) * Z, (139968) * U * X + (93312) * V^2 * Z + ( - 139968) * V * Y + (15552) * Z^2 + ( - 139968) * Z, (105815808) * V^2 * Y * Z + (52907904) * V * X^2 + ( - 52907904) * V * Y^2 + (15676416) * V * Z^3 + (141087744) * V * Z^2 + ( - 17635968) * Y * Z^2 + ( - 52907904) * Y * Z, (31104) * V^2 * Z^2 + (93312) * V^2 * Z + ( - 93312) * V * Y * Z + ( - 46656) * X^2 + (46656) * Y^2 + (1728) * Z^3 + ( - 31104) * Z^2 + (139968) * Z, (8817984) * V * X^2 * Z + (26453952) * V * X^2 + (44089920) * V * Y^2 * Z + ( - 26453952) * V * Y^2 + (2612736) * V * Z^4 + (31352832) * V * Z^3 + (70543872) * V * Z^2 + (26453952) * X^2 * Y + ( - 26453952) * Y^3 + ( - 3919104) * Y * Z^3 + ( - 105815808) * Y * Z, ( - 158723712) * V * X^2 * Y + ( - 317447424) * V * Y^3 * Z + (158723712) * V * Y^3 + ( - 23514624) * V * Y * Z^4 + ( - 188116992) * V * Y * Z^3 + ( - 634894848) * V * Y * Z^2 + (26453952) * X^4 + ( - 211631616) * X^2 * Y^2 + (6858432) * X^2 * Z^3 + (88179840) * X^2 * Z^2 + ( - 79361856) * X^2 * Z + (185177664) * Y^4 + (34292160) * Y^2 * Z^3 + ( - 35271936) * Y^2 * Z^2 + (714256704) * Y^2 * Z + ( - 290304) * Z^6 + (2612736) * Z^5 + (23514624) * Z^4 + ( - 211631616) * Z^3, ( - 317447424) * V * Y^3 * Z^2 + ( - 23514624) * V * Y * Z^5 + ( - 211631616) * V * Y * Z^4 + ( - 634894848) * V * Y * Z^3 + ( - 634894848) * V * Y * Z^2 + (26453952) * X^4 * Z + (79361856) * X^4 + ( - 211631616) * X^2 * Y^2 * Z + ( - 158723712) * X^2 * Y^2 + (6858432) * X^2 * Z^4 + (108755136) * X^2 * Z^3 + (185177664) * X^2 * Z^2 + ( - 238085568) * X^2 * Z + (185177664) * Y^4 * Z + (79361856) * Y^4 + (34292160) * Y^2 * Z^4 + ( - 2939328) * Y^2 * Z^3 + (608440896) * Y^2 * Z^2 + (238085568) * Y^2 * Z + ( - 290304) * Z^7 + (1741824) * Z^6 + (31352832) * Z^5 + ( - 141087744) * Z^4 + ( - 634894848) * Z^3, (79361856) * V * X^4 + (2539579392) * V * X^2 + (317447424) * V * Y^4 * Z + ( - 79361856) * V * Y^4 + (23514624) * V * Y^2 * Z^4 + (117573120) * V * Y^2 * Z^3 + ( - 423263232) * V * Y^2 * Z^2 + (5079158784) * V * Y^2 * Z + ( - 2539579392) * V * Y^2 + ( - 6967296) * V * Z^6 + ( - 125411328) * V * Z^5 + ( - 564350976) * V * Z^4 + (752467968) * V * Z^3 + (6772211712) * V * Z^2 + ( - 26453952) * X^4 * Y + (211631616) * X^2 * Y^3 + ( - 6858432) * X^2 * Y * Z^3 + ( - 255721536) * X^2 * Y * Z^2 + ( - 846526464) * X^2 * Y * Z + (2539579392) * X^2 * Y + ( - 185177664) * Y^5 + ( - 34292160) * Y^3 * Z^3 + (44089920) * Y^3 * Z^2 + (211631616) * Y^3 * Z + ( - 2539579392) * Y^3 + (290304) * Y * Z^6 + (10450944) * Y * Z^5 + (7838208) * Y * Z^4 + (188116992) * Y * Z^3 + (3386105856) * Y * Z^2 + ( - 10158317568) * Y * Z, ( - 714256704) * X^6 + (2142770112) * X^4 * Y^2 + ( - 396809280) * X^4 * Z^3 + ( - 4285540224) * X^4 * Z^2 + (2142770112) * X^4 * Z + ( - 2142770112) * X^2 * Y^4 + ( - 2063408256) * X^2 * Y^2 * Z^3 + ( - 4285540224) * X^2 * Y^2 * Z + ( - 47029248) * X^2 * Z^6 + ( - 1269789696) * X^2 * Z^5 + ( - 6348948480) * X^2 * Z^4 + (11428107264) * X^2 * Z^3 + (714256704) * Y^6 + ( - 396809280) * Y^4 * Z^3 + (4285540224) * Y^4 * Z^2 + (2142770112) * Y^4 * Z + (47029248) * Y^2 * Z^6 + ( - 1269789696) * Y^2 * Z^5 + (6348948480) * Y^2 * Z^4 + (11428107264) * Y^2 * Z^3 + (2322432) * Z^9 +WARNING: Test 1
|
---|
68 |
|
---|
69 | ------------------- CASE 1 -------------------
|
---|
70 | Condition:
|
---|
71 | Green list: [ ]
|
---|
72 | Red list: [ ]
|
---|
73 | Basis: [ (4) * X + (5) * Y, ( - 10) * Y^2 ]
|
---|
74 | WARNING: Test 2 - Enneper
|
---|
75 |
|
---|
76 | ------------------- CASE 1 -------------------
|
---|
77 | Condition:
|
---|
78 | Green list: [ ]
|
---|
79 | Red list: [ ]
|
---|
80 | Basis: [ ( - 3) * U^2 + (3) * V^2 + (1) * Z, (2) * V^3 + (1) * V * Z + (3) * V + ( - 1) * Y, ( - 6) * U * V^2 + (1) * U * Z + ( - 9) * U + (3) * X, (4) * U * V * Z + ( - 3) * U * Y + (3) * V * X, (9) * U * V * Y + ( - 2) * U * Z^2 + (18) * U * Z + ( - 9) * V^2 * X + ( - 6) * X * Z, ( - 27) * U * Y^2 + (8) * U * Z^3 + ( - 72) * U * Z^2 + (36) * V^2 * X * Z + (27) * V * X * Y + (24) * X * Z^2, (34992) * V^2 * X^2 + ( - 34992) * V^2 * Y^2 + ( - 186624) * V^2 * Z + ( - 15552) * V * Y * Z^2 + (46656) * V * Y * Z + (15552) * X^2 * Z + (93312) * X^2 + (19440) * Y^2 * Z + ( - 93312) * Y^2 + ( - 576) * Z^4 + (6912) * Z^3 + (15552) * Z^2 + ( - 279936) * Z, (139968) * U * X + (93312) * V^2 * Z + ( - 139968) * V * Y + (15552) * Z^2 + ( - 139968) * Z, (105815808) * V^2 * Y * Z + (52907904) * V * X^2 + ( - 52907904) * V * Y^2 + (15676416) * V * Z^3 + (141087744) * V * Z^2 + ( - 17635968) * Y * Z^2 + ( - 52907904) * Y * Z, (31104) * V^2 * Z^2 + (93312) * V^2 * Z + ( - 93312) * V * Y * Z + ( - 46656) * X^2 + (46656) * Y^2 + (1728) * Z^3 + ( - 31104) * Z^2 + (139968) * Z, (8817984) * V * X^2 * Z + (26453952) * V * X^2 + (44089920) * V * Y^2 * Z + ( - 26453952) * V * Y^2 + (2612736) * V * Z^4 + (31352832) * V * Z^3 + (70543872) * V * Z^2 + (26453952) * X^2 * Y + ( - 26453952) * Y^3 + ( - 3919104) * Y * Z^3 + ( - 105815808) * Y * Z, ( - 158723712) * V * X^2 * Y + ( - 317447424) * V * Y^3 * Z + (158723712) * V * Y^3 + ( - 23514624) * V * Y * Z^4 + ( - 188116992) * V * Y * Z^3 + ( - 634894848) * V * Y * Z^2 + (26453952) * X^4 + ( - 211631616) * X^2 * Y^2 + (6858432) * X^2 * Z^3 + (88179840) * X^2 * Z^2 + ( - 79361856) * X^2 * Z + (185177664) * Y^4 + (34292160) * Y^2 * Z^3 + ( - 35271936) * Y^2 * Z^2 + (714256704) * Y^2 * Z + ( - 290304) * Z^6 + (2612736) * Z^5 + (23514624) * Z^4 + ( - 211631616) * Z^3, ( - 317447424) * V * Y^3 * Z^2 + ( - 23514624) * V * Y * Z^5 + ( - 211631616) * V * Y * Z^4 + ( - 634894848) * V * Y * Z^3 + ( - 634894848) * V * Y * Z^2 + (26453952) * X^4 * Z + (79361856) * X^4 + ( - 211631616) * X^2 * Y^2 * Z + ( - 158723712) * X^2 * Y^2 + (6858432) * X^2 * Z^4 + (108755136) * X^2 * Z^3 + (185177664) * X^2 * Z^2 + ( - 238085568) * X^2 * Z + (185177664) * Y^4 * Z + (79361856) * Y^4 + (34292160) * Y^2 * Z^4 + ( - 2939328) * Y^2 * Z^3 + (608440896) * Y^2 * Z^2 + (238085568) * Y^2 * Z + ( - 290304) * Z^7 + (1741824) * Z^6 + (31352832) * Z^5 + ( - 141087744) * Z^4 + ( - 634894848) * Z^3, (79361856) * V * X^4 + (2539579392) * V * X^2 + (317447424) * V * Y^4 * Z + ( - 79361856) * V * Y^4 + (23514624) * V * Y^2 * Z^4 + (117573120) * V * Y^2 * Z^3 + ( - 423263232) * V * Y^2 * Z^2 + (5079158784) * V * Y^2 * Z + ( - 2539579392) * V * Y^2 + ( - 6967296) * V * Z^6 + ( - 125411328) * V * Z^5 + ( - 564350976) * V * Z^4 + (752467968) * V * Z^3 + (6772211712) * V * Z^2 + ( - 26453952) * X^4 * Y + (211631616) * X^2 * Y^3 + ( - 6858432) * X^2 * Y * Z^3 + ( - 255721536) * X^2 * Y * Z^2 + ( - 846526464) * X^2 * Y * Z + (2539579392) * X^2 * Y + ( - 185177664) * Y^5 + ( - 34292160) * Y^3 * Z^3 + (44089920) * Y^3 * Z^2 + (211631616) * Y^3 * Z + ( - 2539579392) * Y^3 + (290304) * Y * Z^6 + (10450944) * Y * Z^5 + (7838208) * Y * Z^4 + (188116992) * Y * Z^3 + (3386105856) * Y * Z^2 + ( - 10158317568) * Y * Z, ( - 714256704) * X^6 + (2142770112) * X^4 * Y^2 + ( - 396809280) * X^4 * Z^3 + ( - 4285540224) * X^4 * Z^2 + (2142770112) * X^4 * Z + ( - 2142770112) * X^2 * Y^4 + ( - 2063408256) * X^2 * Y^2 * Z^3 + ( - 4285540224) * X^2 * Y^2 * Z + ( - 47029248) * X^2 * Z^6 + ( - 1269789696) * X^2 * Z^5 + ( - 6348948480) * X^2 * Z^4 + (11428107264) * X^2 * Z^3 + (714256704) * Y^6 + ( - 396809280) * Y^4 * Z^3 + (4285540224) * Y^4 * Z^2 + (2142770112) * Y^4 * Z + (47029248) * Y^2 * Z^6 + ( - 1269789696) * Y^2 * Z^5 + (6348948480) * Y^2 * Z^4 + (11428107264) * Y^2 * Z^3 + (2322432) * Z^9 + ( - 376233984) * Z^7 + (15237476352) * Z^5 ]:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:BWARNING: Test 1
|
---|
81 |
|
---|
82 | ------------------- CASE 1 -------------------
|
---|
83 | Condition:
|
---|
84 | Green list: [ ]
|
---|
85 | Red list: [ ]
|
---|
86 | Basis: [ (4) * X + (5) * Y, ( - 10) * Y^2 ]
|
---|
87 | WARNING: Test 2 - Enneper
|
---|
88 |
|
---|
89 | ------------------- CASE 1 -------------------
|
---|
90 | Condition:
|
---|
91 | Green list: [ ]
|
---|
92 | Red list: [ ]
|
---|
93 | Basis: [ ( - 3) * U^2 + (3) * V^2 + (1) * Z, (2) * V^3 + (1) * V * Z + (3) * V + ( - 1) * Y, ( - 6) * U * V^2 + (1) * U * Z + ( - 9) * U + (3) * X, (4) * U * V * Z + ( - 3) * U * Y + (3) * V * X, (9) * U * V * Y + ( - 2) * U * Z^2 + (18) * U * Z + ( - 9) * V^2 * X + ( - 6) * X * Z, ( - 27) * U * Y^2 + (8) * U * Z^3 + ( - 72) * U * Z^2 + (36) * V^2 * X * Z + (27) * V * X * Y + (24) * X * Z^2, (34992) * V^2 * X^2 + ( - 34992) * V^2 * Y^2 + ( - 186624) * V^2 * Z + ( - 15552) * V * Y * Z^2 + (46656) * V * Y * Z + (15552) * X^2 * Z + (93312) * X^2 + (19440) * Y^2 * Z + ( - 93312) * Y^2 + ( - 576) * Z^4 + (6912) * Z^3 + (15552) * Z^2 + ( - 279936) * Z, (139968) * U * X + (93312) * V^2 * Z + ( - 139968) * V * Y + (15552) * Z^2 + ( - 139968) * Z, (105815808) * V^2 * Y * Z + (52907904) * V * X^2 + ( - 52907904) * V * Y^2 + (15676416) * V * Z^3 + (141087744) * V * Z^2 + ( - 17635968) * Y * Z^2 + ( - 52907904) * Y * Z, (31104) * V^2 * Z^2 + (93312) * V^2 * Z + ( - 93312) * V * Y * Z + ( - 46656) * X^2 + (46656) * Y^2 + (1728) * Z^3 + ( - 31104) * Z^2 + (139968) * Z, (8817984) * V * X^2 * Z + (26453952) * V * X^2 + (44089920) * V * Y^2 * Z + ( - 26453952) * V * Y^2 + (2612736) * V * Z^4 + (31352832) * V * Z^3 + (70543872) * V * Z^2 + (26453952) * X^2 * Y + ( - 26453952) * Y^3 + ( - 3919104) * Y * Z^3 + ( - 105815808) * Y * Z, ( - 158723712) * V * X^2 * Y + ( - 317447424) * V * Y^3 * Z + (158723712) * V * Y^3 + ( - 23514624) * V * Y * Z^4 + ( - 188116992) * V * Y * Z^3 + ( - 634894848) * V * Y * Z^2 + (26453952) * X^4 + ( - 211631616) * X^2 * Y^2 + (6858432) * X^2 * Z^3 + (88179840) * X^2 * Z^2 + ( - 79361856) * X^2 * Z + (185177664) * Y^4 + (34292160) * Y^2 * Z^3 + ( - 35271936) * Y^2 * Z^2 + (714256704) * Y^2 * Z + ( - 290304) * Z^6 + (2612736) * Z^5 + (23514624) * Z^4 + ( - 211631616) * Z^3, ( - 317447424) * V * Y^3 * Z^2 + ( - 23514624) * V * Y * Z^5 + ( - 211631616) * V * Y * Z^4 + ( - 634894848) * V * Y * Z^3 + ( - 634894848) * V * Y * Z^2 + (26453952) * X^4 * Z + (79361856) * X^4 + ( - 211631616) * X^2 * Y^2 * Z + ( - 158723712) * X^2 * Y^2 + (6858432) * X^2 * Z^4 + (108755136) * X^2 * Z^3 + (185177664) * X^2 * Z^2 + ( - 238085568) * X^2 * Z + (185177664) * Y^4 * Z + (79361856) * Y^4 + (34292160) * Y^2 * Z^4 + ( - 2939328) * Y^2 * Z^3 + (608440896) * Y^2 * Z^2 + (238085568) * Y^2 * Z + ( - 290304) * Z^7 + (1741824) * Z^6 + (31352832) * Z^5 + ( - 141087744) * Z^4 + ( - 634894848) * Z^3, (79361856) * V * X^4 + (2539579392) * V * X^2 + (317447424) * V * Y^4 * Z + ( - 79361856) * V * Y^4 + (23514624) * V * Y^2 * Z^4 + (117573120) * V * Y^2 * Z^3 + ( - 423263232) * V * Y^2 * Z^2 + (5079158784) * V * Y^2 * Z + ( - 2539579392) * V * Y^2 + ( - 6967296) * V * Z^6 + ( - 125411328) * V * Z^5 + ( - 564350976) * V * Z^4 + (752467968) * V * Z^3 + (6772211712) * V * Z^2 + ( - 26453952) * X^4 * Y + (211631616) * X^2 * Y^3 + ( - 6858432) * X^2 * Y * Z^3 + ( - 255721536) * X^2 * Y * Z^2 + ( - 846526464) * X^2 * Y * Z + (2539579392) * X^2 * Y + ( - 185177664) * Y^5 + ( - 34292160) * Y^3 * Z^3 + (44089920) * Y^3 * Z^2 + (211631616) * Y^3 * Z + ( - 2539579392) * Y^3 + (290304) * Y * Z^6 + (10450944) * Y * Z^5 + (7838208) * Y * Z^4 + (188116992) * Y * Z^3 + (3386105856) * Y * Z^2 + ( - 10158317568) * Y * Z, ( - 714256704) * X^6 + (2142770112) * X^4 * Y^2 + ( - 396809280) * X^4 * Z^3 + ( - 4285540224) * X^4 * Z^2 + (2142770112) * X^4 * Z + ( - 2142770112) * X^2 * Y^4 + ( - 2063408256) * X^2 * Y^2 * Z^3 + ( - 4285540224) * X^2 * Y^2 * Z + ( - 47029248) * X^2 * Z^6 + ( - 1269789696) * X^2 * Z^5 + ( - 6348948480) * X^2 * Z^4 + (11428107264) * X^2 * Z^3 + (714256704) * Y^6 + ( - 396809280) * Y^4 * Z^3 + (4285540224) * Y^4 * Z^2 + (2142770112) * Y^4 * Z + (47029248) * Y^2 * Z^6 + ( - 1269789696) * Y^2 * Z^5 + (6348948480) * Y^2 * Z^4 + (11428107264) * Y^2 * Z^3 + (2322432) * Z^9 + ( - 376233984) * Z^7 + (15237476352) * Z^5 ]:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2
|
---|
94 | Args:[ U^3 - 3 * U * V^2 - 3 * U + X, - 3 * U^2 * V + V^3 - 3 * V + Y, - 3 * U^2 + 3 * V^2 + Z ]:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2[ 3 * U^2 - 3 * V^2 - Z, 6 * U * V^2 - U * Z + 9 * U - 3 * X, 2 * V^3 + V * Z + 3 * V - Y, 4 * U * V * Z - 3 * U * Y + 3 * V * X, 9 * U * X + 6 * V^2 * Z - 9 * V * Y + Z^2 - 9 * Z, 9 * U * V * Y - 2 * U * Z^2 + 18 * U * Z - 9 * V^2 * X - 6 * X * Z, 27 * U * Y^2 - 8 * U * Z^3 + 72 * U * Z^2 - 36 * V^2 * X * Z - 27 * V * X * Y - 24 * X * Z^2, 18 * V^2 * Z^2 + 54 * V^2 * Z - 54 * V * Y * Z - 27 * X^2 + 27 * Y^2 + Z^3 - 18 * Z^2 + 81 * Z, 243 * V^2 * X^2 - 243 * V^2 * Y^2 - 1296 * V^2 * Z - 108 * V * Y * Z^2 + 324 * V * Y * Z + 108 * X^2 * Z + 648 * X^2 + 135 * Y^2 * Z - 648 * Y^2 - 4 * Z^4 + 48 * Z^3 + 108 * Z^2 - 1944 * Z, 54 * V^2 * Y * Z + 27 * V * X^2 - 27 * V * Y^2 + 8 * V * Z^3 + 72 * V * Z^2 - 9 * Y * Z^2 - 27 * Y * Z, 27 * V * X^2 * Z + 81 * V * X^2 + 135 * V * Y^2 * Z - 81 * V * Y^2 + 8 * V * Z^4 + 96 * V * Z^3 + 216 * V * Z^2 + 81 * X^2 * Y - 81 * Y^3 - 12 * Y * Z^3 - 324 * Y * Z, 4374 * V * X^2 * Y + 8748 * V * Y^3 * Z - 4374 * V * Y^3 + 648 * V * Y * Z^4 + 5184 * V * Y * Z^3 + 17496 * V * Y * Z^2 - 729 * X^4 + 5832 * X^2 * Y^2 - 189 * X^2 * Z^3 - 2430 * X^2 * Z^2 + 2187 * X^2 * Z - 5103 * Y^4 - 945 * Y^2 * Z^3 + 972 * Y^2 * Z^2 - 19683 * Y^2 * Z + 8 * Z^6 - 72 * Z^5 - 648 * Z^4 + 5832 * Z^3, 8748 * V * Y^3 * Z^2 + 648 * V * Y * Z^5 + 5832 * V * Y * Z^4 + 17496 * V * Y * Z^3 + 17496 * V * Y * Z^2 - 729 * X^4 * Z - 2187 * X^4 + 5832 * X^2 * Y^2 * Z + 4374 * X^2 * Y^2 - 189 * X^2 * Z^4 - 2997 * X^2 * Z^3 - 5103 * X^2 * Z^2 + 6561 * X^2 * Z - 5103 * Y^4 * Z - 2187 * Y^4 - 945 * Y^2 * Z^4 + 81 * Y^2 * Z^3 - 16767 * Y^2 * Z^2 - 6561 * Y^2 * Z + 8 * Z^7 - 48 * Z^6 - 864 * Z^5 + 3888 * Z^4 + 17496 * Z^3, 19683 * X^6 - 59049 * X^4 * Y^2 + 10935 * X^4 * Z^3 + 118098 * X^4 * Z^2 - 59049 * X^4 * Z + 59049 * X^2 * Y^4 + 56862 * X^2 * Y^2 * Z^3 + 118098 * X^2 * Y^2 * Z + 1296 * X^2 * Z^6 + 34992 * X^2 * Z^5 + 174960 * X^2 * Z^4 - 314928 * X^2 * Z^3 - 19683 * Y^6 + 10935 * Y^4 * Z^3 - 118098 * Y^4 * Z^2 - 59049 * Y^4 * Z - 1296 * Y^2 * Z^6 + 34992 * Y^2 * Z^5 - 174960 * Y^2 * Z^4 - 314928 * Y^2 * Z^3 - 64 * Z^9 + 10368 * Z^7 - 419904 * Z^5, 2187 * V * X^4 + 69984 * V * X^2 + 8748 * V * Y^4 * Z - 2187 * V * Y^4 + 648 * V * Y^2 * Z^4 + 3240 * V * Y^2 * Z^3 - 11664 * V * Y^2 * Z^2 + 139968 * V * Y^2 * Z - 69984 * V * Y^2 - 192 * V * Z^6 - 3456 * V * Z^5 - 15552 * V * Z^4 + 20736 * V * Z^3 + 186624 * V * Z^2 - 729 * X^4 * Y + 5832 * X^2 * Y^3 - 189 * X^2 * Y * Z^3 - 7047 * X^2 * Y * Z^2 - 23328 * X^2 * Y * Z + 69984 * X^2 * Y - 5103 * Y^5 - 945 * Y^3 * Z^3 + 1215 * Y^3 * Z^2 + 5832 * Y^3 * Z - 69984 * Y^3 + 8 * Y * Z^6 + 288 * Y * Z^5 + 216 * Y * Z^4 + 5184 * Y * Z^3 + 93312 * Y * Z^2 - 279936 * Y * Z ]
|
---|
95 | WARNING: Test 3 - staple
|
---|
96 | :B2:B2:B2
|
---|
97 | ------------------- CASE 1 -------------------
|
---|
98 | Condition:
|
---|
99 | Green list: [ ]
|
---|
100 | Red list: [ U - 1 ]
|
---|
101 | Basis: [ (U - 1) * X, ( - U + 1) * Y ]
|
---|
102 | ------------------- CASE 2 -------------------
|
---|
103 | Condition:
|
---|
104 | Green list: [ U - 1 ]
|
---|
105 | Red list: [ ]
|
---|
106 | Basis: [ (1) * X + (1) * Y ]
|
---|
107 | WARNING: Test 4 - staple
|
---|
108 | :B2:B2:B2
|
---|
109 | ------------------- CASE 1 -------------------
|
---|
110 | Condition:
|
---|
111 | Green list: [ U ]
|
---|
112 | Red list: [ ]
|
---|
113 | Basis: [ (1) * X, (1) * Y ]
|
---|
114 | ------------------- CASE 2 -------------------
|
---|
115 | Condition:
|
---|
116 | Green list: [ ]
|
---|
117 | Red list: [ U, U - 1 ]
|
---|
118 | Basis: [ (U^2 - U) * X, (U - 1) * Y ]
|
---|
119 | ------------------- CASE 3 -------------------
|
---|
120 | Condition:
|
---|
121 | Green list: [ U - 1 ]
|
---|
122 | Red list: [ U ]
|
---|
123 | Basis: [ (1) * X + (1) * Y ]
|
---|
124 | WARNING: Test 5 - a small robot example
|
---|
125 | :B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2
|
---|
126 | ------------------- CASE 1 -------------------
|
---|
127 | Condition:
|
---|
128 | Green list: [ ]
|
---|
129 | Red list: [ L3, A^2 + B^2, L2, A ]
|
---|
130 | Basis: [ ( - 2 * A * L2 * L3) * S2 + ( - 2 * A^2 * L2 - 2 * B^2 * L2) * S1 + (A^2 * B + B^3 + B * L2^2 - B * L3^2), ( - 2 * L2 * L3) * C2 + (A^2 + B^2 - L2^2 - L3^2), ( - 2 * A * L2) * C1 + ( - 2 * B * L2) * S1 + (A^2 + B^2 + L2^2 - L3^2), (4 * A^2 * L2^2 + 4 * B^2 * L2^2) * S1^2 + ( - 4 * A^2 * B * L2 - 4 * B^3 * L2 - 4 * B * L2^3 + 4 * B * L2 * L3^2) * S1 + (A^4 + 2 * A^2 * B^2 - 2 * A^2 * L2^2 - 2 * A^2 * L3^2 + B^4 + 2 * B^2 * L2^2 - 2 * B^2 * L3^2 + L2^4 - 2 * L2^2 * L3^2 + L3^4) ]
|
---|
131 | ------------------- CASE 2 -------------------
|
---|
132 | Condition:
|
---|
133 | Green list: [ A^2 + B^2 ]
|
---|
134 | Red list: [ L3, A^2 * B + B^3 + B * L2^2 - B * L3^2, L2, A ]
|
---|
135 | Basis: [ (4 * A * B * L2^3 * L3 - 4 * A * B * L2 * L3^3) * S2 + ( - 2 * B^2 * L2^4 + 4 * B^2 * L2^2 * L3^2 - 2 * B^2 * L3^4), ( - 2 * L2 * L3) * C2 + ( - L2^2 - L3^2), (4 * A * L2^3 - 4 * A * L2 * L3^2) * C1 + (4 * B^2 * L2^2 - L2^4 + 2 * L2^2 * L3^2 - L3^4), ( - 4 * B * L2^3 + 4 * B * L2 * L3^2) * S1 + (4 * B^2 * L2^2 + L2^4 - 2 * L2^2 * L3^2 + L3^4) ]
|
---|
136 | ------------------- CASE 3 -------------------
|
---|
137 | Condition:
|
---|
138 | Green list: [ A^2 + B^2, L2^2 - L3^2 ]
|
---|
139 | Red list: [ L3, A, L2, A^4 + 2 * A^2 * B^2 - 2 * A^2 * L2^2 - 2 * A^2 * L3^2 + B^4 + 2 * B^2 * L2^2 - 2 * B^2 * L3^2 + L2^4 - 2 * L2^2 * L3^2 + L3^4 ]
|
---|
140 | Basis: [ (4 * B^2 * L3^2) ]
|
---|
141 | ------------------- CASE 4 -------------------
|
---|
142 | Condition:
|
---|
143 | Green list: [ A ]
|
---|
144 | Red list: [ L3, B, L2 ]
|
---|
145 | Basis: [ (4 * B^2 * L2^2) * C1^2 + (B^4 - 2 * B^2 * L2^2 - 2 * B^2 * L3^2 + L2^4 - 2 * L2^2 * L3^2 + L3^4), (2 * B * L2 * L3) * S2 + ( - 2 * B^2 * L2) * C1 + (0), ( - 2 * L2 * L3) * C2 + (0) * C1 + (B^2 - L2^2 - L3^2), ( - 2 * B * L2) * S1 + (B^2 + L2^2 - L3^2) ]
|
---|
146 | ------------------- CASE 5 -------------------
|
---|
147 | Condition:
|
---|
148 | Green list: [ A, B ]
|
---|
149 | Red list: [ L3, L2, A^2 + B^2 + L2^2 - L3^2 ]
|
---|
150 | Basis: [ (L2^2 - L3^2) ]
|
---|
151 | ------------------- CASE 6 -------------------
|
---|
152 | Condition:
|
---|
153 | Green list: [ A, B, L2^2 - L3^2 ]
|
---|
154 | Red list: [ L3, L2 ]
|
---|
155 | Basis: [ (1) * C1^2 + (1) * S1^2 + ( - 1), (L3) * S2 + (0) * C1 + (0) * S1, (L3) * C2 + (0) * C1 + (0) * S1 + (L2) ]
|
---|
156 | WARNING: Test 6 - Circle of Apollonius
|
---|
157 | :B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2
|
---|
158 | ------------------- CASE 1 -------------------
|
---|
159 | Condition:
|
---|
160 | Green list: [ U2, U1 ]
|
---|
161 | Red list: [ ]
|
---|
162 | Basis: [ (2) * X1 + (0), (2) * X2 + (0), (2) * X3 + (0), (2) * X4 + (0), ( - 4) * X6^2 + (8) * X6 * X8 + (0) * X8 + (0), (4) * S * X5^2 + ( - 8) * S * X5 * X7 + (0) * S * X7 + (0) * S * X8 + (0) * S + ( - 4) ]
|
---|
163 | ------------------- CASE 2 -------------------
|
---|
164 | Condition:
|
---|
165 | Green list: [ U2 ]
|
---|
166 | Red list: [ U1 ]
|
---|
167 | Basis: [ ( - 4 * U1^3) ]
|
---|
168 | ------------------- CASE 3 -------------------
|
---|
169 | Condition:
|
---|
170 | Green list: [ U1 ]
|
---|
171 | Red list: [ U2 ]
|
---|
172 | Basis: [ (4 * U2^2) ]
|
---|
173 | ------------------- CASE 4 -------------------
|
---|
174 | Condition:
|
---|
175 | Green list: [ ]
|
---|
176 | Red list: [ U1, U2, U1^2 - U2^2, U1^2 + U2^2 ]
|
---|
177 | Basis: [ (2) * X1 + ( - U1), (2) * X2 + ( - U2), (2) * X3 + ( - U1), (2) * X4 + ( - U2), (U1^2 * U2 + U2^3) * X5 + ( - U1 * U2^3), ( - U1^2 - U2^2) * X6 + (U1^2 * U2), ( - 4 * U1^5 + 4 * U1 * U2^4) * X7 + (U1^6 + 2 * U1^4 * U2^2 - 3 * U1^2 * U2^4), ( - 4 * U1^4 * U2 + 4 * U2^5) * X8 + (3 * U1^4 * U2^2 - 2 * U1^2 * U2^4 - U2^6), (2 * U1^6 * U2^2 - 2 * U1^4 * U2^4) * S + (4 * U1^6 - 4 * U1^2 * U2^4) ]
|
---|
178 | ------------------- CASE 5 -------------------
|
---|
179 | Condition:
|
---|
180 | Green list: [ U1^2 - U2^2 ]
|
---|
181 | Red list: [ U1, U1^2 + U2^2, U2 ]
|
---|
182 | Basis: [ (2) * X1 + ( - U1), (2) * X2 + ( - U2), (2) * X3 + ( - U1), (2) * X4 + ( - U2), (2 * U2^3) * X5 + ( - U1 * U2^3), ( - 2 * U2^2) * X6 + (U2^3), (4 * U1) * X7 + ( - 4 * U2) * X8 + (0), ( - 8 * U2^5) * S * X8 + (2 * U2^6) * S + ( - 8 * U2^4) ]
|
---|
183 | ------------------- CASE 6 -------------------
|
---|
184 | Condition:
|
---|
185 | Green list: [ U1^2 + U2^2 ]
|
---|
186 | Red list: [ U1, U2 ]
|
---|
187 | Basis: [ ( - U2^3) ]
|
---|
188 | WARNING: Test 7
|
---|
189 | ; in: LAMBDA NIL
|
---|
190 | ; (SETF CGB-LISP::FL
|
---|
191 | ; (CDR
|
---|
192 | ; (PARSE:PARSE-STRING-TO-SORTED-ALIST
|
---|
193 | ; "[a^2*x^2*y+b*x^2*y+a^3*b*x*y+a^3*c*x*y,c^2*a*x^2+c^2*b*x^2+b*y+4]"
|
---|
194 | ; '(CGB-LISP::X CGB-LISP::Y CGB-LISP::A CGB-LISP::B CGB-LISP::C))))
|
---|
195 | ; ==>
|
---|
196 | ; (SETQ CGB-LISP::FL
|
---|
197 | ; (CDR
|
---|
198 | ; (PARSE:PARSE-STRING-TO-SORTED-ALIST
|
---|
199 | ; "[a^2*x^2*y+b*x^2*y+a^3*b*x*y+a^3*c*x*y,c^2*a*x^2+c^2*b*x^2+b*y+4]"
|
---|
200 | ; '(CGB-LISP::X CGB-LISP::Y CGB-LISP::A CGB-LISP::B CGB-LISP::C))))
|
---|
201 | ;
|
---|
202 | ; caught WARNING:
|
---|
203 | ; undefined variable: FL
|
---|
204 |
|
---|
205 | ;
|
---|
206 | ; caught WARNING:
|
---|
207 | ; This variable is undefined:
|
---|
208 | ; FL
|
---|
209 | ;
|
---|
210 | ; compilation unit finished
|
---|
211 | ; caught 2 WARNING conditions
|
---|
212 |
|
---|
213 | ; in: LAMBDA NIL
|
---|
214 | ; (SETF CGB-LISP::CFL (COLORED-POLY:MAKE-COLORED-POLY-LIST CGB-LISP::FL 2))
|
---|
215 | ; ==>
|
---|
216 | ; (SETQ CGB-LISP::CFL (COLORED-POLY:MAKE-COLORED-POLY-LIST CGB-LISP::FL 2))
|
---|
217 | ;
|
---|
218 | ; caught WARNING:
|
---|
219 | ; undefined variable: CFL
|
---|
220 |
|
---|
221 | ; (COLORED-POLY:MAKE-COLORED-POLY-LIST CGB-LISP::FL 2)
|
---|
222 | ;
|
---|
223 | ; caught WARNING:
|
---|
224 | ; undefined variable: FL
|
---|
225 |
|
---|
226 | ;
|
---|
227 | ; caught WARNING:
|
---|
228 | ; These variables are undefined:
|
---|
229 | ; CFL FL
|
---|
230 | ;
|
---|
231 | ; compilation unit finished
|
---|
232 | ; caught 3 WARNING conditions
|
---|
233 | :B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2
|
---|
234 | ------------------- CASE 1 -------------------
|
---|
235 | Condition:
|
---|
236 | Green list: [ ]
|
---|
237 | Red list: [ A * C^2 + B * C^2, A^2 + B ]
|
---|
238 | Basis: [ (A^2 + B) * X^2 * Y + (A^3 * B + A^3 * C) * X * Y, (A * C^2 + B * C^2) * X^2 + (B) * Y + (4) ]
|
---|
239 | ------------------- CASE 2 -------------------
|
---|
240 | Condition:
|
---|
241 | Green list: [ A^2 + B ]
|
---|
242 | Red list: [ A * C^2 + B * C^2, A^3 * B + A^3 * C ]
|
---|
243 | Basis: [ (A^3 * B + A^3 * C) * X * Y, (A * C^2 + B * C^2) * X^2 + (B) * Y + (4) ]
|
---|
244 | ------------------- CASE 3 -------------------
|
---|
245 | Condition:
|
---|
246 | Green list: [ B + C, A^2 - C ]
|
---|
247 | Red list: [ A * C^2 + B * C^2 ]
|
---|
248 | Basis: [ (A * C^2 + B * C^2) * X^2 + (B) * Y + (4) ]
|
---|
249 | ------------------- CASE 4 -------------------
|
---|
250 | Condition:
|
---|
251 | Green list: [ A * C^2 + B * C^2 ]
|
---|
252 | Red list: [ B, A^2 + B ]
|
---|
253 | Basis: [ (A^2 + B) * X^2 * Y + (A^3 * B + A^3 * C) * X * Y, (B) * Y + (4) ]
|
---|
254 | ------------------- CASE 5 -------------------
|
---|
255 | Condition:
|
---|
256 | Green list: [ A^2 + B, B * C^2 + C^2, A * C^2 - C^2 ]
|
---|
257 | Red list: [ B, A^3 * B + A^3 * C ]
|
---|
258 | Basis: [ (A^3 * B + A^3 * C) * X * Y, (B) * Y + (4) ]
|
---|
259 | ------------------- CASE 6 -------------------
|
---|
260 | Condition:
|
---|
261 | Green list: [ C - 1, B + 1, A - 1 ]
|
---|
262 | Red list: [ B ]
|
---|
263 | Basis: [ (B) * Y + (4) ]
|
---|
264 | ------------------- CASE 7 -------------------
|
---|
265 | Condition:
|
---|
266 | Green list: [ B, C^2 ]
|
---|
267 | Red list: [ 4, A^2 + B ]
|
---|
268 | Basis: [ (A^2 + B) * X^2 * Y + (A^3 * B + A^3 * C) * X * Y, (4) ]
|
---|
269 | ------------------- CASE 8 -------------------
|
---|
270 | Condition:
|
---|
271 | Green list: [ B, A * C^2, A^2 ]
|
---|
272 | Red list: [ 4 ]
|
---|
273 | Basis: [ (4) ]
|
---|
274 | WARNING: Test 8
|
---|
275 |
|
---|
276 | ; in: LAMBDA NIL
|
---|
277 | ; (SETF CGB-LISP::FL
|
---|
278 | ; (CDR
|
---|
279 | ; (PARSE:PARSE-STRING-TO-SORTED-ALIST "[a^2*x+5*a]"
|
---|
280 | ; '(CGB-LISP::X CGB-LISP::A))))
|
---|
281 | ; ==>
|
---|
282 | ; (SETQ CGB-LISP::FL
|
---|
283 | ; (CDR
|
---|
284 | ; (PARSE:PARSE-STRING-TO-SORTED-ALIST "[a^2*x+5*a]"
|
---|
285 | ; '(CGB-LISP::X CGB-LISP::A))))
|
---|
286 | ;
|
---|
287 | ; caught WARNING:
|
---|
288 | ; undefined variable: FL
|
---|
289 |
|
---|
290 | ;
|
---|
291 | ; caught WARNING:
|
---|
292 | ; This variable is undefined:
|
---|
293 | ; FL
|
---|
294 | ;
|
---|
295 | ; compilation unit finished
|
---|
296 | ; caught 2 WARNING conditions
|
---|
297 |
|
---|
298 | ; in: LAMBDA NIL
|
---|
299 | ; (SETF CGB-LISP::CFL (COLORED-POLY:MAKE-COLORED-POLY-LIST CGB-LISP::FL 1))
|
---|
300 | ; ==>
|
---|
301 | ; (SETQ CGB-LISP::CFL (COLORED-POLY:MAKE-COLORED-POLY-LIST CGB-LISP::FL 1))
|
---|
302 | ;
|
---|
303 | ; caught WARNING:
|
---|
304 | ; undefined variable: CFL
|
---|
305 |
|
---|
306 | ; (COLORED-POLY:MAKE-COLORED-POLY-LIST CGB-LISP::FL 1)
|
---|
307 | ;
|
---|
308 | ; caught WARNING:
|
---|
309 | ; undefined variable: FL
|
---|
310 |
|
---|
311 | ;
|
---|
312 | ; caught WARNING:
|
---|
313 | ; These variables are undefined:
|
---|
314 | ; CFL FL
|
---|
315 | ;
|
---|
316 | ; compilation unit finished
|
---|
317 | ; caught 3 WARNING conditions
|
---|
318 |
|
---|
319 | ------------------- CASE 1 -------------------
|
---|
320 | Condition:
|
---|
321 | Green list: [ ]
|
---|
322 | Red list: [ A^2 ]
|
---|
323 | Basis: [ (A^2) * X + (5 * A) ]
|
---|
324 | ------------------- CASE 2 -------------------
|
---|
325 | Condition:
|
---|
326 | Green list: [ A^2 ]
|
---|
327 | Red list: [ ]
|
---|
328 | Basis: [ ]
|
---|
329 | WARNING: Test 9 - the discriminant of a quadratic polynomial
|
---|
330 | :B2:B2:B2:B2:B2:B2
|
---|
331 | ------------------- CASE 1 -------------------
|
---|
332 | Condition:
|
---|
333 | Green list: [ ]
|
---|
334 | Red list: [ A, 4 * A * C - B^2 ]
|
---|
335 | Basis: [ (4 * A * C - B^2) ]
|
---|
336 | ------------------- CASE 2 -------------------
|
---|
337 | Condition:
|
---|
338 | Green list: [ 4 * A * C - B^2 ]
|
---|
339 | Red list: [ A ]
|
---|
340 | Basis: [ (2 * A) * X + (B) ]
|
---|
341 | WARNING: Test 10 - the discriminant of a cubic polynomial
|
---|
342 | :B2:B2:B2:B2:B2:B2
|
---|
343 | ------------------- CASE 1 -------------------
|
---|
344 | Condition:
|
---|
345 | Green list: [ ]
|
---|
346 | Red list: [ P, 4 * P^3 + 27 * Q^2 ]
|
---|
347 | Basis: [ ( - 4 * P^3 - 27 * Q^2) ]
|
---|
348 | ------------------- CASE 2 -------------------
|
---|
349 | Condition:
|
---|
350 | Green list: [ 4 * P^3 + 27 * Q^2 ]
|
---|
351 | Red list: [ P ]
|
---|
352 | Basis: [ (2 * P) * X + (3 * Q) ]
|
---|
353 | ------------------- CASE 3 -------------------
|
---|
354 | Condition:
|
---|
355 | Green list: [ P ]
|
---|
356 | Red list: [ Q ]
|
---|
357 | Basis: [ (3 * Q) ]
|
---|
358 | ------------------- CASE 4 -------------------
|
---|
359 | Condition:
|
---|
360 | Green list: [ P, Q ]
|
---|
361 | Red list: [ ]
|
---|
362 | Basis: [ (3) * X^2 + (0) ]
|
---|
363 | WARNING: Test 11 - the discriminant of a quartic polynomial
|
---|
364 | :B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2
|
---|
365 | ------------------- CASE 1 -------------------
|
---|
366 | Condition:
|
---|
367 | Green list: [ ]
|
---|
368 | Red list: [ 16 * P^4 * R - 4 * P^3 * Q^2 - 128 * P^2 * R^2 + 144 * P * Q^2 * R - 27 * Q^4 + 256 * R^3, P, 2 * P^3 - 8 * P * R + 9 * Q^2 ]
|
---|
369 | Basis: [ (16 * P^6 * R - 4 * P^5 * Q^2 - 128 * P^4 * R^2 + 144 * P^3 * Q^2 * R - 27 * P^2 * Q^4 + 256 * P^2 * R^3) ]
|
---|
370 | ------------------- CASE 2 -------------------
|
---|
371 | Condition:
|
---|
372 | Green list: [ 16 * P^4 * R - 4 * P^3 * Q^2 - 128 * P^2 * R^2 + 144 * P * Q^2 * R - 27 * Q^4 + 256 * R^3 ]
|
---|
373 | Red list: [ P, 2 * P^3 - 8 * P * R + 9 * Q^2 ]
|
---|
374 | Basis: [ ( - 2 * P^3 + 8 * P * R - 9 * Q^2) * X + ( - P^2 * Q - 12 * Q * R) ]
|
---|
375 | ------------------- CASE 3 -------------------
|
---|
376 | Condition:
|
---|
377 | Green list: [ 2 * P^3 - 8 * P * R + 9 * Q^2 ]
|
---|
378 | Red list: [ P, P^2 * Q + 12 * Q * R ]
|
---|
379 | Basis: [ ( - P^2 * Q - 12 * Q * R) ]
|
---|
380 | ------------------- CASE 4 -------------------
|
---|
381 | Condition:
|
---|
382 | Green list: [ 2 * P^3 - 8 * P * R + 9 * Q^2, P^2 * Q + 12 * Q * R, 32 * P * Q * R - 9 * Q^3, 3 * P * Q^3 + 128 * Q * R^2, 27 * Q^5 + 4096 * Q * R^3, 8 * P^2 * R - 3 * P * Q^2 - 32 * R^2 ]
|
---|
383 | Red list: [ P ]
|
---|
384 | Basis: [ (2 * P) * X^2 + (3 * Q) * X + (4 * R) ]
|
---|
385 | ------------------- CASE 5 -------------------
|
---|
386 | Condition:
|
---|
387 | Green list: [ P ]
|
---|
388 | Red list: [ Q, 72 * P * Q^2 * R - 27 * Q^4 + 256 * R^3 ]
|
---|
389 | Basis: [ (27 * Q^4 - 256 * R^3) ]
|
---|
390 | ------------------- CASE 6 -------------------
|
---|
391 | Condition:
|
---|
392 | Green list: [ P, 27 * Q^4 - 256 * R^3 ]
|
---|
393 | Red list: [ Q ]
|
---|
394 | Basis: [ (3 * Q) * X + (4 * R) ]
|
---|
395 | ------------------- CASE 7 -------------------
|
---|
396 | Condition:
|
---|
397 | Green list: [ P, Q ]
|
---|
398 | Red list: [ R ]
|
---|
399 | Basis: [ (4 * R) ]
|
---|
400 | ------------------- CASE 8 -------------------
|
---|
401 | Condition:
|
---|
402 | Green list: [ P, Q, R ]
|
---|
403 | Red list: [ ]
|
---|
404 | Basis: [ (4) * X^3 + (0) * X + (0) ]WARNING: Test 1
|
---|
405 |
|
---|
406 | ------------------- CASE 1 -------------------
|
---|
407 | Condition:
|
---|
408 | Green list: [ ]
|
---|
409 | Red list: [ ]
|
---|
410 | Basis: [ (4) * X + (5) * Y, ( - 10) * Y^2 ]
|
---|
411 | WARNING: Test 2 - Enneper
|
---|
412 |
|
---|
413 | ------------------- CASE 1 -------------------
|
---|
414 | Condition:
|
---|
415 | Green list: [ ]
|
---|
416 | Red list: [ ]
|
---|
417 | Basis: [ ( - 3) * U^2 + (3) * V^2 + (1) * Z, (2) * V^3 + (1) * V * Z + (3) * V + ( - 1) * Y, ( - 6) * U * V^2 + (1) * U * Z + ( - 9) * U + (3) * X, (4) * U * V * Z + ( - 3) * U * Y + (3) * V * X, (9) * U * V * Y + ( - 2) * U * Z^2 + (18) * U * Z + ( - 9) * V^2 * X + ( - 6) * X * Z, ( - 27) * U * Y^2 + (8) * U * Z^3 + ( - 72) * U * Z^2 + (36) * V^2 * X * Z + (27) * V * X * Y + (24) * X * Z^2, (34992) * V^2 * X^2 + ( - 34992) * V^2 * Y^2 + ( - 186624) * V^2 * Z + ( - 15552) * V * Y * Z^2 + (46656) * V * Y * Z + (15552) * X^2 * Z + (93312) * X^2 + (19440) * Y^2 * Z + ( - 93312) * Y^2 + ( - 576) * Z^4 + (6912) * Z^3 + (15552) * Z^2 + ( - 279936) * Z, (139968) * U * X + (93312) * V^2 * Z + ( - 139968) * V * Y + (15552) * Z^2 + ( - 139968) * Z, (105815808) * V^2 * Y * Z + (52907904) * V * X^2 + ( - 52907904) * V * Y^2 + (15676416) * V * Z^3 + (141087744) * V * Z^2 + ( - 17635968) * Y * Z^2 + ( - 52907904) * Y * Z, (31104) * V^2 * Z^2 + (93312) * V^2 * Z + ( - 93312) * V * Y * Z + ( - 46656) * X^2 + (46656) * Y^2 + (1728) * Z^3 + ( - 31104) * Z^2 + (139968) * Z, (8817984) * V * X^2 * Z + (26453952) * V * X^2 + (44089920) * V * Y^2 * Z + ( - 26453952) * V * Y^2 + (2612736) * V * Z^4 + (31352832) * V * Z^3 + (70543872) * V * Z^2 + (26453952) * X^2 * Y + ( - 26453952) * Y^3 + ( - 3919104) * Y * Z^3 + ( - 105815808) * Y * Z, ( - 158723712) * V * X^2 * Y + ( - 317447424) * V * Y^3 * Z + (158723712) * V * Y^3 + ( - 23514624) * V * Y * Z^4 + ( - 188116992) * V * Y * Z^3 + ( - 634894848) * V * Y * Z^2 + (26453952) * X^4 + ( - 211631616) * X^2 * Y^2 + (6858432) * X^2 * Z^3 + (88179840) * X^2 * Z^2 + ( - 79361856) * X^2 * Z + (185177664) * Y^4 + (34292160) * Y^2 * Z^3 + ( - 35271936) * Y^2 * Z^2 + (714256704) * Y^2 * Z + ( - 290304) * Z^6 + (2612736) * Z^5 + (23514624) * Z^4 + ( - 211631616) * Z^3, ( - 317447424) * V * Y^3 * Z^2 + ( - 23514624) * V * Y * Z^5 + ( - 211631616) * V * Y * Z^4 + ( - 634894848) * V * Y * Z^3 + ( - 634894848) * V * Y * Z^2 + (26453952) * X^4 * Z + (79361856) * X^4 + ( - 211631616) * X^2 * Y^2 * Z + ( - 158723712) * X^2 * Y^2 + (6858432) * X^2 * Z^4 + (108755136) * X^2 * Z^3 + (185177664) * X^2 * Z^2 + ( - 238085568) * X^2 * Z + (185177664) * Y^4 * Z + (79361856) * Y^4 + (34292160) * Y^2 * Z^4 + ( - 2939328) * Y^2 * Z^3 + (608440896) * Y^2 * Z^2 + (238085568) * Y^2 * Z + ( - 290304) * Z^7 + (1741824) * Z^6 + (31352832) * Z^5 + ( - 141087744) * Z^4 + ( - 634894848) * Z^3, (79361856) * V * X^4 + (2539579392) * V * X^2 + (317447424) * V * Y^4 * Z + ( - 79361856) * V * Y^4 + (23514624) * V * Y^2 * Z^4 + (117573120) * V * Y^2 * Z^3 + ( - 423263232) * V * Y^2 * Z^2 + (5079158784) * V * Y^2 * Z + ( - 2539579392) * V * Y^2 + ( - 6967296) * V * Z^6 + ( - 125411328) * V * Z^5 + ( - 564350976) * V * Z^4 + (752467968) * V * Z^3 + (6772211712) * V * Z^2 + ( - 26453952) * X^4 * Y + (211631616) * X^2 * Y^3 + ( - 6858432) * X^2 * Y * Z^3 + ( - 255721536) * X^2 * Y * Z^2 + ( - 846526464) * X^2 * Y * Z + (2539579392) * X^2 * Y + ( - 185177664) * Y^5 + ( - 34292160) * Y^3 * Z^3 + (44089920) * Y^3 * Z^2 + (211631616) * Y^3 * Z + ( - 2539579392) * Y^3 + (290304) * Y * Z^6 + (10450944) * Y * Z^5 + (7838208) * Y * Z^4 + (188116992) * Y * Z^3 + (3386105856) * Y * Z^2 + ( - 10158317568) * Y * Z, ( - 714256704) * X^6 + (2142770112) * X^4 * Y^2 + ( - 396809280) * X^4 * Z^3 + ( - 4285540224) * X^4 * Z^2 + (2142770112) * X^4 * Z + ( - 2142770112) * X^2 * Y^4 + ( - 2063408256) * X^2 * Y^2 * Z^3 + ( - 4285540224) * X^2 * Y^2 * Z + ( - 47029248) * X^2 * Z^6 + ( - 1269789696) * X^2 * Z^5 + ( - 6348948480) * X^2 * Z^4 + (11428107264) * X^2 * Z^3 + (714256704) * Y^6 + ( - 396809280) * Y^4 * Z^3 + (4285540224) * Y^4 * Z^2 + (2142770112) * Y^4 * Z + (47029248) * Y^2 * Z^6 + ( - 1269789696) * Y^2 * Z^5 + (6348948480) * Y^2 * Z^4 + (11428107264) * Y^2 * Z^3 + (2322432) * Z^9 + ( - 376233984) * Z^7 + (15237476352) * Z^5 ]:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2
|
---|
418 | Args:[ U^3 - 3 * U * V^2 - 3 * U + X, - 3 * U^2 * V + V^3 - 3 * V + Y, - 3 * U^2 + 3 * V^2 + Z ]:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2[ 3 * U^2 - 3 * V^2 - Z, 6 * U * V^2 - U * Z + 9 * U - 3 * X, 2 * V^3 + V * Z + 3 * V - Y, 4 * U * V * Z - 3 * U * Y + 3 * V * X, 9 * U * X + 6 * V^2 * Z - 9 * V * Y + Z^2 - 9 * Z, 9 * U * V * Y - 2 * U * Z^2 + 18 * U * Z - 9 * V^2 * X - 6 * X * Z, 27 * U * Y^2 - 8 * U * Z^3 + 72 * U * Z^2 - 36 * V^2 * X * Z - 27 * V * X * Y - 24 * X * Z^2, 18 * V^2 * Z^2 + 54 * V^2 * Z - 54 * V * Y * Z - 27 * X^2 + 27 * Y^2 + Z^3 - 18 * Z^2 + 81 * Z, 243 * V^2 * X^2 - 243 * V^2 * Y^2 - 1296 * V^2 * Z - 108 * V * Y * Z^2 + 324 * V * Y * Z + 108 * X^2 * Z + 648 * X^2 + 135 * Y^2 * Z - 648 * Y^2 - 4 * Z^4 + 48 * Z^3 + 108 * Z^2 - 1944 * Z, 54 * V^2 * Y * Z + 27 * V * X^2 - 27 * V * Y^2 + 8 * V * Z^3 + 72 * V * Z^2 - 9 * Y * Z^2 - 27 * Y * Z, 27 * V * X^2 * Z + 81 * V * X^2 + 135 * V * Y^2 * Z - 81 * V * Y^2 + 8 * V * Z^4 + 96 * V * Z^3 + 216 * V * Z^2 + 81 * X^2 * Y - 81 * Y^3 - 12 * Y * Z^3 - 324 * Y * Z, 4374 * V * X^2 * Y + 8748 * V * Y^3 * Z - 4374 * V * Y^3 + 648 * V * Y * Z^4 + 5184 * V * Y * Z^3 + 17496 * V * Y * Z^2 - 729 * X^4 + 5832 * X^2 * Y^2 - 189 * X^2 * Z^3 - 2430 * X^2 * Z^2 + 2187 * X^2 * Z - 5103 * Y^4 - 945 * Y^2 * Z^3 + 972 * Y^2 * Z^2 - 19683 * Y^2 * Z + 8 * Z^6 - 72 * Z^5 - 648 * Z^4 + 5832 * Z^3, 8748 * V * Y^3 * Z^2 + 648 * V * Y * Z^5 + 5832 * V * Y * Z^4 + 17496 * V * Y * Z^3 + 17496 * V * Y * Z^2 - 729 * X^4 * Z - 2187 * X^4 + 5832 * X^2 * Y^2 * Z + 4374 * X^2 * Y^2 - 189 * X^2 * Z^4 - 2997 * X^2 * Z^3 - 5103 * X^2 * Z^2 + 6561 * X^2 * Z - 5103 * Y^4 * Z - 2187 * Y^4 - 945 * Y^2 * Z^4 + 81 * Y^2 * Z^3 - 16767 * Y^2 * Z^2 - 6561 * Y^2 * Z + 8 * Z^7 - 48 * Z^6 - 864 * Z^5 + 3888 * Z^4 + 17496 * Z^3, 19683 * X^6 - 59049 * X^4 * Y^2 + 10935 * X^4 * Z^3 + 118098 * X^4 * Z^2 - 59049 * X^4 * Z + 59049 * X^2 * Y^4 + 56862 * X^2 * Y^2 * Z^3 + 118098 * X^2 * Y^2 * Z + 1296 * X^2 * Z^6 + 34992 * X^2 * Z^5 + 174960 * X^2 * Z^4 - 314928 * X^2 * Z^3 - 19683 * Y^6 + 10935 * Y^4 * Z^3 - 118098 * Y^4 * Z^2 - 59049 * Y^4 * Z - 1296 * Y^2 * Z^6 + 34992 * Y^2 * Z^5 - 174960 * Y^2 * Z^4 - 314928 * Y^2 * Z^3 - 64 * Z^9 + 10368 * Z^7 - 419904 * Z^5, 2187 * V * X^4 + 69984 * V * X^2 + 8748 * V * Y^4 * Z - 2187 * V * Y^4 + 648 * V * Y^2 * Z^4 + 3240 * V * Y^2 * Z^3 - 11664 * V * Y^2 * Z^2 + 139968 * V * Y^2 * Z - 69984 * V * Y^2 - 192 * V * Z^6 - 3456 * V * Z^5 - 15552 * V * Z^4 + 20736 * V * Z^3 + 186624 * V * Z^2 - 729 * X^4 * Y + 5832 * X^2 * Y^3 - 189 * X^2 * Y * Z^3 - 7047 * X^2 * Y * Z^2 - 23328 * X^2 * Y * Z + 69984 * X^2 * Y - 5103 * Y^5 - 945 * Y^3 * Z^3 + 1215 * Y^3 * Z^2 + 5832 * Y^3 * Z - 69984 * Y^3 + 8 * Y * Z^6 + 288 * Y * Z^5 + 216 * Y * Z^4 + 5184 * Y * Z^3 + 93312 * Y * Z^2 - 279936 * Y * Z ]
|
---|
419 | WARNING: Test 3 - staple
|
---|
420 | :B2:B2:B2
|
---|
421 | ------------------- CASE 1 -------------------
|
---|
422 | Condition:
|
---|
423 | Green list: [ ]
|
---|
424 | Red list: [ U - 1 ]
|
---|
425 | Basis: [ (U - 1) * X, ( - U + 1) * Y ]
|
---|
426 | ------------------- CASE 2 -------------------
|
---|
427 | Condition:
|
---|
428 | Green list: [ U - 1 ]
|
---|
429 | Red list: [ ]
|
---|
430 | Basis: [ (1) * X + (1) * Y ]
|
---|
431 | WARNING: Test 4 - staple
|
---|
432 | :B2:B2:B2
|
---|
433 | ------------------- CASE 1 -------------------
|
---|
434 | Condition:
|
---|
435 | Green list: [ U ]
|
---|
436 | Red list: [ ]
|
---|
437 | Basis: [ (1) * X, (1) * Y ]
|
---|
438 | ------------------- CASE 2 -------------------
|
---|
439 | Condition:
|
---|
440 | Green list: [ ]
|
---|
441 | Red list: [ U, U - 1 ]
|
---|
442 | Basis: [ (U^2 - U) * X, (U - 1) * Y ]
|
---|
443 | ------------------- CASE 3 -------------------
|
---|
444 | Condition:
|
---|
445 | Green list: [ U - 1 ]
|
---|
446 | Red list: [ U ]
|
---|
447 | Basis: [ (1) * X + (1) * Y ]
|
---|
448 | WARNING: Test 5 - a small robot example
|
---|
449 | :B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2
|
---|
450 | ------------------- CASE 1 -------------------
|
---|
451 | Condition:
|
---|
452 | Green list: [ ]
|
---|
453 | Red list: [ L3, A^2 + B^2, L2, A ]
|
---|
454 | Basis: [ ( - 2 * A * L2 * L3) * S2 + ( - 2 * A^2 * L2 - 2 * B^2 * L2) * S1 + (A^2 * B + B^3 + B * L2^2 - B * L3^2), ( - 2 * L2 * L3) * C2 + (A^2 + B^2 - L2^2 - L3^2), ( - 2 * A * L2) * C1 + ( - 2 * B * L2) * S1 + (A^2 + B^2 + L2^2 - L3^2), (4 * A^2 * L2^2 + 4 * B^2 * L2^2) * S1^2 + ( - 4 * A^2 * B * L2 - 4 * B^3 * L2 - 4 * B * L2^3 + 4 * B * L2 * L3^2) * S1 + (A^4 + 2 * A^2 * B^2 - 2 * A^2 * L2^2 - 2 * A^2 * L3^2 + B^4 + 2 * B^2 * L2^2 - 2 * B^2 * L3^2 + L2^4 - 2 * L2^2 * L3^2 + L3^4) ]
|
---|
455 | ------------------- CASE 2 -------------------
|
---|
456 | Condition:
|
---|
457 | Green list: [ A^2 + B^2 ]
|
---|
458 | Red list: [ L3, A^2 * B + B^3 + B * L2^2 - B * L3^2, L2, A ]
|
---|
459 | Basis: [ (4 * A * B * L2^3 * L3 - 4 * A * B * L2 * L3^3) * S2 + ( - 2 * B^2 * L2^4 + 4 * B^2 * L2^2 * L3^2 - 2 * B^2 * L3^4), ( - 2 * L2 * L3) * C2 + ( - L2^2 - L3^2), (4 * A * L2^3 - 4 * A * L2 * L3^2) * C1 + (4 * B^2 * L2^2 - L2^4 + 2 * L2^2 * L3^2 - L3^4), ( - 4 * B * L2^3 + 4 * B * L2 * L3^2) * S1 + (4 * B^2 * L2^2 + L2^4 - 2 * L2^2 * L3^2 + L3^4) ]
|
---|
460 | ------------------- CASE 3 -------------------
|
---|
461 | Condition:
|
---|
462 | Green list: [ A^2 + B^2, L2^2 - L3^2 ]
|
---|
463 | Red list: [ L3, A, L2, A^4 + 2 * A^2 * B^2 - 2 * A^2 * L2^2 - 2 * A^2 * L3^2 + B^4 + 2 * B^2 * L2^2 - 2 * B^2 * L3^2 + L2^4 - 2 * L2^2 * L3^2 + L3^4 ]
|
---|
464 | Basis: [ (4 * B^2 * L3^2) ]
|
---|
465 | ------------------- CASE 4 -------------------
|
---|
466 | Condition:
|
---|
467 | Green list: [ A ]
|
---|
468 | Red list: [ L3, B, L2 ]
|
---|
469 | Basis: [ (4 * B^2 * L2^2) * C1^2 + (B^4 - 2 * B^2 * L2^2 - 2 * B^2 * L3^2 + L2^4 - 2 * L2^2 * L3^2 + L3^4), (2 * B * L2 * L3) * S2 + ( - 2 * B^2 * L2) * C1 + (0), ( - 2 * L2 * L3) * C2 + (0) * C1 + (B^2 - L2^2 - L3^2), ( - 2 * B * L2) * S1 + (B^2 + L2^2 - L3^2) ]
|
---|
470 | ------------------- CASE 5 -------------------
|
---|
471 | Condition:
|
---|
472 | Green list: [ A, B ]
|
---|
473 | Red list: [ L3, L2, A^2 + B^2 + L2^2 - L3^2 ]
|
---|
474 | Basis: [ (L2^2 - L3^2) ]
|
---|
475 | ------------------- CASE 6 -------------------
|
---|
476 | Condition:
|
---|
477 | Green list: [ A, B, L2^2 - L3^2 ]
|
---|
478 | Red list: [ L3, L2 ]
|
---|
479 | Basis: [ (1) * C1^2 + (1) * S1^2 + ( - 1), (L3) * S2 + (0) * C1 + (0) * S1, (L3) * C2 + (0) * C1 + (0) * S1 + (L2) ]
|
---|
480 | WARNING: Test 6 - Circle of Apollonius
|
---|
481 | :B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2
|
---|
482 | ------------------- CASE 1 -------------------
|
---|
483 | Condition:
|
---|
484 | Green list: [ U2, U1 ]
|
---|
485 | Red list: [ ]
|
---|
486 | Basis: [ (2) * X1 + (0), (2) * X2 + (0), (2) * X3 + (0), (2) * X4 + (0), ( - 4) * X6^2 + (8) * X6 * X8 + (0) * X8 + (0), (4) * S * X5^2 + ( - 8) * S * X5 * X7 + (0) * S * X7 + (0) * S * X8 + (0) * S + ( - 4) ]
|
---|
487 | ------------------- CASE 2 -------------------
|
---|
488 | Condition:
|
---|
489 | Green list: [ U2 ]
|
---|
490 | Red list: [ U1 ]
|
---|
491 | Basis: [ ( - 4 * U1^3) ]
|
---|
492 | ------------------- CASE 3 -------------------
|
---|
493 | Condition:
|
---|
494 | Green list: [ U1 ]
|
---|
495 | Red list: [ U2 ]
|
---|
496 | Basis: [ (4 * U2^2) ]
|
---|
497 | ------------------- CASE 4 -------------------
|
---|
498 | Condition:
|
---|
499 | Green list: [ ]
|
---|
500 | Red list: [ U1, U2, U1^2 - U2^2, U1^2 + U2^2 ]
|
---|
501 | Basis: [ (2) * X1 + ( - U1), (2) * X2 + ( - U2), (2) * X3 + ( - U1), (2) * X4 + ( - U2), (U1^2 * U2 + U2^3) * X5 + ( - U1 * U2^3), ( - U1^2 - U2^2) * X6 + (U1^2 * U2), ( - 4 * U1^5 + 4 * U1 * U2^4) * X7 + (U1^6 + 2 * U1^4 * U2^2 - 3 * U1^2 * U2^4), ( - 4 * U1^4 * U2 + 4 * U2^5) * X8 + (3 * U1^4 * U2^2 - 2 * U1^2 * U2^4 - U2^6), (2 * U1^6 * U2^2 - 2 * U1^4 * U2^4) * S + (4 * U1^6 - 4 * U1^2 * U2^4) ]
|
---|
502 | ------------------- CASE 5 -------------------
|
---|
503 | Condition:
|
---|
504 | Green list: [ U1^2 - U2^2 ]
|
---|
505 | Red list: [ U1, U1^2 + U2^2, U2 ]
|
---|
506 | Basis: [ (2) * X1 + ( - U1), (2) * X2 + ( - U2), (2) * X3 + ( - U1), (2) * X4 + ( - U2), (2 * U2^3) * X5 + ( - U1 * U2^3), ( - 2 * U2^2) * X6 + (U2^3), (4 * U1) * X7 + ( - 4 * U2) * X8 + (0), ( - 8 * U2^5) * S * X8 + (2 * U2^6) * S + ( - 8 * U2^4) ]
|
---|
507 | ------------------- CASE 6 -------------------
|
---|
508 | Condition:
|
---|
509 | Green list: [ U1^2 + U2^2 ]
|
---|
510 | Red list: [ U1, U2 ]
|
---|
511 | Basis: [ ( - U2^3) ]
|
---|
512 | WARNING: Test 7
|
---|
513 |
|
---|
514 | ; in: LAMBDA NIL
|
---|
515 | ; (SETF CGB-LISP::FL
|
---|
516 | ; (CDR
|
---|
517 | ; (PARSE:PARSE-STRING-TO-SORTED-ALIST
|
---|
518 | ; "[a^2*x^2*y+b*x^2*y+a^3*b*x*y+a^3*c*x*y,c^2*a*x^2+c^2*b*x^2+b*y+4]"
|
---|
519 | ; '(CGB-LISP::X CGB-LISP::Y CGB-LISP::A CGB-LISP::B CGB-LISP::C))))
|
---|
520 | ; ==>
|
---|
521 | ; (SETQ CGB-LISP::FL
|
---|
522 | ; (CDR
|
---|
523 | ; (PARSE:PARSE-STRING-TO-SORTED-ALIST
|
---|
524 | ; "[a^2*x^2*y+b*x^2*y+a^3*b*x*y+a^3*c*x*y,c^2*a*x^2+c^2*b*x^2+b*y+4]"
|
---|
525 | ; '(CGB-LISP::X CGB-LISP::Y CGB-LISP::A CGB-LISP::B CGB-LISP::C))))
|
---|
526 | ;
|
---|
527 | ; caught WARNING:
|
---|
528 | ; undefined variable: FL
|
---|
529 |
|
---|
530 | ;
|
---|
531 | ; caught WARNING:
|
---|
532 | ; This variable is undefined:
|
---|
533 | ; FL
|
---|
534 | ;
|
---|
535 | ; compilation unit finished
|
---|
536 | ; caught 2 WARNING conditions
|
---|
537 |
|
---|
538 | ; in: LAMBDA NIL
|
---|
539 | ; (SETF CGB-LISP::CFL (COLORED-POLY:MAKE-COLORED-POLY-LIST CGB-LISP::FL 2))
|
---|
540 | ; ==>
|
---|
541 | ; (SETQ CGB-LISP::CFL (COLORED-POLY:MAKE-COLORED-POLY-LIST CGB-LISP::FL 2))
|
---|
542 | ;
|
---|
543 | ; caught WARNING:
|
---|
544 | ; undefined variable: CFL
|
---|
545 |
|
---|
546 | ; (COLORED-POLY:MAKE-COLORED-POLY-LIST CGB-LISP::FL 2)
|
---|
547 | ;
|
---|
548 | ; caught WARNING:
|
---|
549 | ; undefined variable: FL
|
---|
550 |
|
---|
551 | ;
|
---|
552 | ; caught WARNING:
|
---|
553 | ; These variables are undefined:
|
---|
554 | ; CFL FL
|
---|
555 | ;
|
---|
556 | ; compilation unit finished
|
---|
557 | ; caught 3 WARNING conditions
|
---|
558 | :B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2
|
---|
559 | ------------------- CASE 1 -------------------
|
---|
560 | Condition:
|
---|
561 | Green list: [ ]
|
---|
562 | Red list: [ A * C^2 + B * C^2, A^2 + B ]
|
---|
563 | Basis: [ (A^2 + B) * X^2 * Y + (A^3 * B + A^3 * C) * X * Y, (A * C^2 + B * C^2) * X^2 + (B) * Y + (4) ]
|
---|
564 | ------------------- CASE 2 -------------------
|
---|
565 | Condition:
|
---|
566 | Green list: [ A^2 + B ]
|
---|
567 | Red list: [ A * C^2 + B * C^2, A^3 * B + A^3 * C ]
|
---|
568 | Basis: [ (A^3 * B + A^3 * C) * X * Y, (A * C^2 + B * C^2) * X^2 + (B) * Y + (4) ]
|
---|
569 | ------------------- CASE 3 -------------------
|
---|
570 | Condition:
|
---|
571 | Green list: [ B + C, A^2 - C ]
|
---|
572 | Red list: [ A * C^2 + B * C^2 ]
|
---|
573 | Basis: [ (A * C^2 + B * C^2) * X^2 + (B) * Y + (4) ]
|
---|
574 | ------------------- CASE 4 -------------------
|
---|
575 | Condition:
|
---|
576 | Green list: [ A * C^2 + B * C^2 ]
|
---|
577 | Red list: [ B, A^2 + B ]
|
---|
578 | Basis: [ (A^2 + B) * X^2 * Y + (A^3 * B + A^3 * C) * X * Y, (B) * Y + (4) ]
|
---|
579 | ------------------- CASE 5 -------------------
|
---|
580 | Condition:
|
---|
581 | Green list: [ A^2 + B, B * C^2 + C^2, A * C^2 - C^2 ]
|
---|
582 | Red list: [ B, A^3 * B + A^3 * C ]
|
---|
583 | Basis: [ (A^3 * B + A^3 * C) * X * Y, (B) * Y + (4) ]
|
---|
584 | ------------------- CASE 6 -------------------
|
---|
585 | Condition:
|
---|
586 | Green list: [ C - 1, B + 1, A - 1 ]
|
---|
587 | Red list: [ B ]
|
---|
588 | Basis: [ (B) * Y + (4) ]
|
---|
589 | ------------------- CASE 7 -------------------
|
---|
590 | Condition:
|
---|
591 | Green list: [ B, C^2 ]
|
---|
592 | Red list: [ 4, A^2 + B ]
|
---|
593 | Basis: [ (A^2 + B) * X^2 * Y + (A^3 * B + A^3 * C) * X * Y, (4) ]
|
---|
594 | ------------------- CASE 8 -------------------
|
---|
595 | Condition:
|
---|
596 | Green list: [ B, A * C^2, A^2 ]
|
---|
597 | Red list: [ 4 ]
|
---|
598 | Basis: [ (4) ]
|
---|
599 | WARNING: Test 8
|
---|
600 |
|
---|
601 | ; in: LAMBDA NIL
|
---|
602 | ; (SETF CGB-LISP::FL
|
---|
603 | ; (CDR
|
---|
604 | ; (PARSE:PARSE-STRING-TO-SORTED-ALIST "[a^2*x+5*a]"
|
---|
605 | ; '(CGB-LISP::X CGB-LISP::A))))
|
---|
606 | ; ==>
|
---|
607 | ; (SETQ CGB-LISP::FL
|
---|
608 | ; (CDR
|
---|
609 | ; (PARSE:PARSE-STRING-TO-SORTED-ALIST "[a^2*x+5*a]"
|
---|
610 | ; '(CGB-LISP::X CGB-LISP::A))))
|
---|
611 | ;
|
---|
612 | ; caught WARNING:
|
---|
613 | ; undefined variable: FL
|
---|
614 |
|
---|
615 | ;
|
---|
616 | ; caught WARNING:
|
---|
617 | ; This variable is undefined:
|
---|
618 | ; FL
|
---|
619 | ;
|
---|
620 | ; compilation unit finished
|
---|
621 | ; caught 2 WARNING conditions
|
---|
622 |
|
---|
623 | ; in: LAMBDA NIL
|
---|
624 | ; (SETF CGB-LISP::CFL (COLORED-POLY:MAKE-COLORED-POLY-LIST CGB-LISP::FL 1))
|
---|
625 | ; ==>
|
---|
626 | ; (SETQ CGB-LISP::CFL (COLORED-POLY:MAKE-COLORED-POLY-LIST CGB-LISP::FL 1))
|
---|
627 | ;
|
---|
628 | ; caught WARNING:
|
---|
629 | ; undefined variable: CFL
|
---|
630 |
|
---|
631 | ; (COLORED-POLY:MAKE-COLORED-POLY-LIST CGB-LISP::FL 1)
|
---|
632 | ;
|
---|
633 | ; caught WARNING:
|
---|
634 | ; undefined variable: FL
|
---|
635 |
|
---|
636 | ;
|
---|
637 | ; caught WARNING:
|
---|
638 | ; These variables are undefined:
|
---|
639 | ; CFL FL
|
---|
640 | ;
|
---|
641 | ; compilation unit finished
|
---|
642 | ; caught 3 WARNING conditions
|
---|
643 |
|
---|
644 | ------------------- CASE 1 -------------------
|
---|
645 | Condition:
|
---|
646 | Green list: [ ]
|
---|
647 | Red list: [ A^2 ]
|
---|
648 | Basis: [ (A^2) * X + (5 * A) ]
|
---|
649 | ------------------- CASE 2 -------------------
|
---|
650 | Condition:
|
---|
651 | Green list: [ A^2 ]
|
---|
652 | Red list: [ ]
|
---|
653 | Basis: [ ]
|
---|
654 | WARNING: Test 9 - the discriminant of a quadratic polynomial
|
---|
655 | :B2:B2:B2:B2:B2:B2
|
---|
656 | ------------------- CASE 1 -------------------
|
---|
657 | Condition:
|
---|
658 | Green list: [ ]
|
---|
659 | Red list: [ A, 4 * A * C - B^2 ]
|
---|
660 | Basis: [ (4 * A * C - B^2) ]
|
---|
661 | ------------------- CASE 2 -------------------
|
---|
662 | Condition:
|
---|
663 | Green list: [ 4 * A * C - B^2 ]
|
---|
664 | Red list: [ A ]
|
---|
665 | Basis: [ (2 * A) * X + (B) ]
|
---|
666 | WARNING: Test 10 - the discriminant of a cubic polynomial
|
---|
667 | :B2:B2:B2:B2:B2:B2
|
---|
668 | ------------------- CASE 1 -------------------
|
---|
669 | Condition:
|
---|
670 | Green list: [ ]
|
---|
671 | Red list: [ P, 4 * P^3 + 27 * Q^2 ]
|
---|
672 | Basis: [ ( - 4 * P^3 - 27 * Q^2) ]
|
---|
673 | ------------------- CASE 2 -------------------
|
---|
674 | Condition:
|
---|
675 | Green list: [ 4 * P^3 + 27 * Q^2 ]
|
---|
676 | Red list: [ P ]
|
---|
677 | Basis: [ (2 * P) * X + (3 * Q) ]
|
---|
678 | ------------------- CASE 3 -------------------
|
---|
679 | Condition:
|
---|
680 | Green list: [ P ]
|
---|
681 | Red list: [ Q ]
|
---|
682 | Basis: [ (3 * Q) ]
|
---|
683 | ------------------- CASE 4 -------------------
|
---|
684 | Condition:
|
---|
685 | Green list: [ P, Q ]
|
---|
686 | Red list: [ ]
|
---|
687 | Basis: [ (3) * X^2 + (0) ]
|
---|
688 | WARNING: Test 11 - the discriminant of a quartic polynomial
|
---|
689 | :B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2
|
---|
690 | ------------------- CASE 1 -------------------
|
---|
691 | Condition:
|
---|
692 | Green list: [ ]
|
---|
693 | Red list: [ 16 * P^4 * R - 4 * P^3 * Q^2 - 128 * P^2 * R^2 + 144 * P * Q^2 * R - 27 * Q^4 + 256 * R^3, P, 2 * P^3 - 8 * P * R + 9 * Q^2 ]
|
---|
694 | Basis: [ (16 * P^6 * R - 4 * P^5 * Q^2 - 128 * P^4 * R^2 + 144 * P^3 * Q^2 * R - 27 * P^2 * Q^4 + 256 * P^2 * R^3) ]
|
---|
695 | ------------------- CASE 2 -------------------
|
---|
696 | Condition:
|
---|
697 | Green list: [ 16 * P^4 * R - 4 * P^3 * Q^2 - 128 * P^2 * R^2 + 144 * P * Q^2 * R - 27 * Q^4 + 256 * R^3 ]
|
---|
698 | Red list: [ P, 2 * P^3 - 8 * P * R + 9 * Q^2 ]
|
---|
699 | Basis: [ ( - 2 * P^3 + 8 * P * R - 9 * Q^2) * X + ( - P^2 * Q - 12 * Q * R) ]
|
---|
700 | ------------------- CASE 3 -------------------
|
---|
701 | Condition:
|
---|
702 | Green list: [ 2 * P^3 - 8 * P * R + 9 * Q^2 ]
|
---|
703 | Red list: [ P, P^2 * Q + 12 * Q * R ]
|
---|
704 | Basis: [ ( - P^2 * Q - 12 * Q * R) ]
|
---|
705 | ------------------- CASE 4 -------------------
|
---|
706 | Condition:
|
---|
707 | Green list: [ 2 * P^3 - 8 * P * R + 9 * Q^2, P^2 * Q + 12 * Q * R, 32 * P * Q * R - 9 * Q^3, 3 * P * Q^3 + 128 * Q * R^2, 27 * Q^5 + 4096 * Q * R^3, 8 * P^2 * R - 3 * P * Q^2 - 32 * R^2 ]
|
---|
708 | Red list: [ P ]
|
---|
709 | Basis: [ (2 * P) * X^2 + (3 * Q) * X + (4 * R) ]
|
---|
710 | ------------------- CASE 5 -------------------
|
---|
711 | Condition:
|
---|
712 | Green list: [ P ]
|
---|
713 | Red list: [ Q, 72 * P * Q^2 * R - 27 * Q^4 + 256 * R^3 ]
|
---|
714 | Basis: [ (27 * Q^4 - 256 * R^3) ]
|
---|
715 | ------------------- CASE 6 -------------------
|
---|
716 | Condition:
|
---|
717 | Green list: [ P, 27 * Q^4 - 256 * R^3 ]
|
---|
718 | Red list: [ Q ]
|
---|
719 | Basis: [ (3 * Q) * X + (4 * R) ]
|
---|
720 | ------------------- CASE 7 -------------------
|
---|
721 | Condition:
|
---|
722 | Green list: [ P, Q ]
|
---|
723 | Red list: [ R ]
|
---|
724 | Basis: [ (4 * R) ]
|
---|
725 | ------------------- CASE 8 -------------------
|
---|
726 | Condition:
|
---|
727 | Green list: [ P, Q, R ]
|
---|
728 | Red list: [ ]
|
---|
729 | Basis: [ (4) * X^3 + (0) * X + (0) ]WARNING: Test 1
|
---|
730 |
|
---|
731 | ------------------- CASE 1 -------------------
|
---|
732 | Condition:
|
---|
733 | Green list: [ ]
|
---|
734 | Red list: [ ]
|
---|
735 | Basis: [ (4) * X + (5) * Y, ( - 10) * Y^2 ]
|
---|
736 | WARNING: Test 2 - Enneper
|
---|
737 |
|
---|
738 | ------------------- CASE 1 -------------------
|
---|
739 | Condition:
|
---|
740 | Green list: [ ]
|
---|
741 | Red list: [ ]
|
---|
742 | Basis: [ ( - 3) * U^2 + (3) * V^2 + (1) * Z, (2) * V^3 + (1) * V * Z + (3) * V + ( - 1) * Y, ( - 6) * U * V^2 + (1) * U * Z + ( - 9) * U + (3) * X, (4) * U * V * Z + ( - 3) * U * Y + (3) * V * X, (9) * U * V * Y + ( - 2) * U * Z^2 + (18) * U * Z + ( - 9) * V^2 * X + ( - 6) * X * Z, ( - 27) * U * Y^2 + (8) * U * Z^3 + ( - 72) * U * Z^2 + (36) * V^2 * X * Z + (27) * V * X * Y + (24) * X * Z^2, (34992) * V^2 * X^2 + ( - 34992) * V^2 * Y^2 + ( - 186624) * V^2 * Z + ( - 15552) * V * Y * Z^2 + (46656) * V * Y * Z + (15552) * X^2 * Z + (93312) * X^2 + (19440) * Y^2 * Z + ( - 93312) * Y^2 + ( - 576) * Z^4 + (6912) * Z^3 + (15552) * Z^2 + ( - 279936) * Z, (139968) * U * X + (93312) * V^2 * Z + ( - 139968) * V * Y + (15552) * Z^2 + ( - 139968) * Z, (105815808) * V^2 * Y * Z + (52907904) * V * X^2 + ( - 52907904) * V * Y^2 + (15676416) * V * Z^3 + (141087744) * V * Z^2 + ( - 17635968) * Y * Z^2 + ( - 52907904) * Y * Z, (31104) * V^2 * Z^2 + (93312) * V^2 * Z + ( - 93312) * V * Y * Z + ( - 46656) * X^2 + (46656) * Y^2 + (1728) * Z^3 + ( - 31104) * Z^2 + (139968) * Z, (8817984) * V * X^2 * Z + (26453952) * V * X^2 + (44089920) * V * Y^2 * Z + ( - 26453952) * V * Y^2 + (2612736) * V * Z^4 + (31352832) * V * Z^3 + (70543872) * V * Z^2 + (26453952) * X^2 * Y + ( - 26453952) * Y^3 + ( - 3919104) * Y * Z^3 + ( - 105815808) * Y * Z, ( - 158723712) * V * X^2 * Y + ( - 317447424) * V * Y^3 * Z + (158723712) * V * Y^3 + ( - 23514624) * V * Y * Z^4 + ( - 188116992) * V * Y * Z^3 + ( - 634894848) * V * Y * Z^2 + (26453952) * X^4 + ( - 211631616) * X^2 * Y^2 + (6858432) * X^2 * Z^3 + (88179840) * X^2 * Z^2 + ( - 79361856) * X^2 * Z + (185177664) * Y^4 + (34292160) * Y^2 * Z^3 + ( - 35271936) * Y^2 * Z^2 + (714256704) * Y^2 * Z + ( - 290304) * Z^6 + (2612736) * Z^5 + (23514624) * Z^4 + ( - 211631616) * Z^3, ( - 317447424) * V * Y^3 * Z^2 + ( - 23514624) * V * Y * Z^5 + ( - 211631616) * V * Y * Z^4 + ( - 634894848) * V * Y * Z^3 + ( - 634894848) * V * Y * Z^2 + (26453952) * X^4 * Z + (79361856) * X^4 + ( - 211631616) * X^2 * Y^2 * Z + ( - 158723712) * X^2 * Y^2 + (6858432) * X^2 * Z^4 + (108755136) * X^2 * Z^3 + (185177664) * X^2 * Z^2 + ( - 238085568) * X^2 * Z + (185177664) * Y^4 * Z + (79361856) * Y^4 + (34292160) * Y^2 * Z^4 + ( - 2939328) * Y^2 * Z^3 + (608440896) * Y^2 * Z^2 + (238085568) * Y^2 * Z + ( - 290304) * Z^7 + (1741824) * Z^6 + (31352832) * Z^5 + ( - 141087744) * Z^4 + ( - 634894848) * Z^3, (79361856) * V * X^4 + (2539579392) * V * X^2 + (317447424) * V * Y^4 * Z + ( - 79361856) * V * Y^4 + (23514624) * V * Y^2 * Z^4 + (117573120) * V * Y^2 * Z^3 + ( - 423263232) * V * Y^2 * Z^2 + (5079158784) * V * Y^2 * Z + ( - 2539579392) * V * Y^2 + ( - 6967296) * V * Z^6 + ( - 125411328) * V * Z^5 + ( - 564350976) * V * Z^4 + (752467968) * V * Z^3 + (6772211712) * V * Z^2 + ( - 26453952) * X^4 * Y + (211631616) * X^2 * Y^3 + ( - 6858432) * X^2 * Y * Z^3 + ( - 255721536) * X^2 * Y * Z^2 + ( - 846526464) * X^2 * Y * Z + (2539579392) * X^2 * Y + ( - 185177664) * Y^5 + ( - 34292160) * Y^3 * Z^3 + (44089920) * Y^3 * Z^2 + (211631616) * Y^3 * Z + ( - 2539579392) * Y^3 + (290304) * Y * Z^6 + (10450944) * Y * Z^5 + (7838208) * Y * Z^4 + (188116992) * Y * Z^3 + (3386105856) * Y * Z^2 + ( - 10158317568) * Y * Z, ( - 714256704) * X^6 + (2142770112) * X^4 * Y^2 + ( - 396809280) * X^4 * Z^3 + ( - 4285540224) * X^4 * Z^2 + (2142770112) * X^4 * Z + ( - 2142770112) * X^2 * Y^4 + ( - 2063408256) * X^2 * Y^2 * Z^3 + ( - 4285540224) * X^2 * Y^2 * Z + ( - 47029248) * X^2 * Z^6 + ( - 1269789696) * X^2 * Z^5 + ( - 6348948480) * X^2 * Z^4 + (11428107264) * X^2 * Z^3 + (714256704) * Y^6 + ( - 396809280) * Y^4 * Z^3 + (4285540224) * Y^4 * Z^2 + (2142770112) * Y^4 * Z + (47029248) * Y^2 * Z^6 + ( - 1269789696) * Y^2 * Z^5 + (6348948480) * Y^2 * Z^4 + (11428107264) * Y^2 * Z^3 + (2322432) * Z^9 + ( - 376233984) * Z^7 + (15237476352) * Z^5 ]:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2
|
---|
743 | Args:[ U^3 - 3 * U * V^2 - 3 * U + X, - 3 * U^2 * V + V^3 - 3 * V + Y, - 3 * U^2 + 3 * V^2 + Z ]:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2[ 3 * U^2 - 3 * V^2 - Z, 6 * U * V^2 - U * Z + 9 * U - 3 * X, 2 * V^3 + V * Z + 3 * V - Y, 4 * U * V * Z - 3 * U * Y + 3 * V * X, 9 * U * X + 6 * V^2 * Z - 9 * V * Y + Z^2 - 9 * Z, 9 * U * V * Y - 2 * U * Z^2 + 18 * U * Z - 9 * V^2 * X - 6 * X * Z, 27 * U * Y^2 - 8 * U * Z^3 + 72 * U * Z^2 - 36 * V^2 * X * Z - 27 * V * X * Y - 24 * X * Z^2, 18 * V^2 * Z^2 + 54 * V^2 * Z - 54 * V * Y * Z - 27 * X^2 + 27 * Y^2 + Z^3 - 18 * Z^2 + 81 * Z, 243 * V^2 * X^2 - 243 * V^2 * Y^2 - 1296 * V^2 * Z - 108 * V * Y * Z^2 + 324 * V * Y * Z + 108 * X^2 * Z + 648 * X^2 + 135 * Y^2 * Z - 648 * Y^2 - 4 * Z^4 + 48 * Z^3 + 108 * Z^2 - 1944 * Z, 54 * V^2 * Y * Z + 27 * V * X^2 - 27 * V * Y^2 + 8 * V * Z^3 + 72 * V * Z^2 - 9 * Y * Z^2 - 27 * Y * Z, 27 * V * X^2 * Z + 81 * V * X^2 + 135 * V * Y^2 * Z - 81 * V * Y^2 + 8 * V * Z^4 + 96 * V * Z^3 + 216 * V * Z^2 + 81 * X^2 * Y - 81 * Y^3 - 12 * Y * Z^3 - 324 * Y * Z, 4374 * V * X^2 * Y + 8748 * V * Y^3 * Z - 4374 * V * Y^3 + 648 * V * Y * Z^4 + 5184 * V * Y * Z^3 + 17496 * V * Y * Z^2 - 729 * X^4 + 5832 * X^2 * Y^2 - 189 * X^2 * Z^3 - 2430 * X^2 * Z^2 + 2187 * X^2 * Z - 5103 * Y^4 - 945 * Y^2 * Z^3 + 972 * Y^2 * Z^2 - 19683 * Y^2 * Z + 8 * Z^6 - 72 * Z^5 - 648 * Z^4 + 5832 * Z^3, 8748 * V * Y^3 * Z^2 + 648 * V * Y * Z^5 + 5832 * V * Y * Z^4 + 17496 * V * Y * Z^3 + 17496 * V * Y * Z^2 - 729 * X^4 * Z - 2187 * X^4 + 5832 * X^2 * Y^2 * Z + 4374 * X^2 * Y^2 - 189 * X^2 * Z^4 - 2997 * X^2 * Z^3 - 5103 * X^2 * Z^2 + 6561 * X^2 * Z - 5103 * Y^4 * Z - 2187 * Y^4 - 945 * Y^2 * Z^4 + 81 * Y^2 * Z^3 - 16767 * Y^2 * Z^2 - 6561 * Y^2 * Z + 8 * Z^7 - 48 * Z^6 - 864 * Z^5 + 3888 * Z^4 + 17496 * Z^3, 19683 * X^6 - 59049 * X^4 * Y^2 + 10935 * X^4 * Z^3 + 118098 * X^4 * Z^2 - 59049 * X^4 * Z + 59049 * X^2 * Y^4 + 56862 * X^2 * Y^2 * Z^3 + 118098 * X^2 * Y^2 * Z + 1296 * X^2 * Z^6 + 34992 * X^2 * Z^5 + 174960 * X^2 * Z^4 - 314928 * X^2 * Z^3 - 19683 * Y^6 + 10935 * Y^4 * Z^3 - 118098 * Y^4 * Z^2 - 59049 * Y^4 * Z - 1296 * Y^2 * Z^6 + 34992 * Y^2 * Z^5 - 174960 * Y^2 * Z^4 - 314928 * Y^2 * Z^3 - 64 * Z^9 + 10368 * Z^7 - 419904 * Z^5, 2187 * V * X^4 + 69984 * V * X^2 + 8748 * V * Y^4 * Z - 2187 * V * Y^4 + 648 * V * Y^2 * Z^4 + 3240 * V * Y^2 * Z^3 - 11664 * V * Y^2 * Z^2 + 139968 * V * Y^2 * Z - 69984 * V * Y^2 - 192 * V * Z^6 - 3456 * V * Z^5 - 15552 * V * Z^4 + 20736 * V * Z^3 + 186624 * V * Z^2 - 729 * X^4 * Y + 5832 * X^2 * Y^3 - 189 * X^2 * Y * Z^3 - 7047 * X^2 * Y * Z^2 - 23328 * X^2 * Y * Z + 69984 * X^2 * Y - 5103 * Y^5 - 945 * Y^3 * Z^3 + 1215 * Y^3 * Z^2 + 5832 * Y^3 * Z - 69984 * Y^3 + 8 * Y * Z^6 + 288 * Y * Z^5 + 216 * Y * Z^4 + 5184 * Y * Z^3 + 93312 * Y * Z^2 - 279936 * Y * Z ]
|
---|
744 | WARNING: Test 3 - staple
|
---|
745 | :B2:B2:B2
|
---|
746 | ------------------- CASE 1 -------------------
|
---|
747 | Condition:
|
---|
748 | Green list: [ ]
|
---|
749 | Red list: [ U - 1 ]
|
---|
750 | Basis: [ (U - 1) * X, ( - U + 1) * Y ]
|
---|
751 | ------------------- CASE 2 -------------------
|
---|
752 | Condition:
|
---|
753 | Green list: [ U - 1 ]
|
---|
754 | Red list: [ ]
|
---|
755 | Basis: [ (1) * X + (1) * Y ]
|
---|
756 | WARNING: Test 4 - staple
|
---|
757 | :B2:B2:B2
|
---|
758 | ------------------- CASE 1 -------------------
|
---|
759 | Condition:
|
---|
760 | Green list: [ U ]
|
---|
761 | Red list: [ ]
|
---|
762 | Basis: [ (1) * X, (1) * Y ]
|
---|
763 | ------------------- CASE 2 -------------------
|
---|
764 | Condition:
|
---|
765 | Green list: [ ]
|
---|
766 | Red list: [ U, U - 1 ]
|
---|
767 | Basis: [ (U^2 - U) * X, (U - 1) * Y ]
|
---|
768 | ------------------- CASE 3 -------------------
|
---|
769 | Condition:
|
---|
770 | Green list: [ U - 1 ]
|
---|
771 | Red list: [ U ]
|
---|
772 | Basis: [ (1) * X + (1) * Y ]
|
---|
773 | WARNING: Test 5 - a small robot example
|
---|
774 | :B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2
|
---|
775 | ------------------- CASE 1 -------------------
|
---|
776 | Condition:
|
---|
777 | Green list: [ ]
|
---|
778 | Red list: [ L3, A^2 + B^2, L2, A ]
|
---|
779 | Basis: [ ( - 2 * A * L2 * L3) * S2 + ( - 2 * A^2 * L2 - 2 * B^2 * L2) * S1 + (A^2 * B + B^3 + B * L2^2 - B * L3^2), ( - 2 * L2 * L3) * C2 + (A^2 + B^2 - L2^2 - L3^2), ( - 2 * A * L2) * C1 + ( - 2 * B * L2) * S1 + (A^2 + B^2 + L2^2 - L3^2), (4 * A^2 * L2^2 + 4 * B^2 * L2^2) * S1^2 + ( - 4 * A^2 * B * L2 - 4 * B^3 * L2 - 4 * B * L2^3 + 4 * B * L2 * L3^2) * S1 + (A^4 + 2 * A^2 * B^2 - 2 * A^2 * L2^2 - 2 * A^2 * L3^2 + B^4 + 2 * B^2 * L2^2 - 2 * B^2 * L3^2 + L2^4 - 2 * L2^2 * L3^2 + L3^4) ]
|
---|
780 | ------------------- CASE 2 -------------------
|
---|
781 | Condition:
|
---|
782 | Green list: [ A^2 + B^2 ]
|
---|
783 | Red list: [ L3, A^2 * B + B^3 + B * L2^2 - B * L3^2, L2, A ]
|
---|
784 | Basis: [ (4 * A * B * L2^3 * L3 - 4 * A * B * L2 * L3^3) * S2 + ( - 2 * B^2 * L2^4 + 4 * B^2 * L2^2 * L3^2 - 2 * B^2 * L3^4), ( - 2 * L2 * L3) * C2 + ( - L2^2 - L3^2), (4 * A * L2^3 - 4 * A * L2 * L3^2) * C1 + (4 * B^2 * L2^2 - L2^4 + 2 * L2^2 * L3^2 - L3^4), ( - 4 * B * L2^3 + 4 * B * L2 * L3^2) * S1 + (4 * B^2 * L2^2 + L2^4 - 2 * L2^2 * L3^2 + L3^4) ]
|
---|
785 | ------------------- CASE 3 -------------------
|
---|
786 | Condition:
|
---|
787 | Green list: [ A^2 + B^2, L2^2 - L3^2 ]
|
---|
788 | Red list: [ L3, A, L2, A^4 + 2 * A^2 * B^2 - 2 * A^2 * L2^2 - 2 * A^2 * L3^2 + B^4 + 2 * B^2 * L2^2 - 2 * B^2 * L3^2 + L2^4 - 2 * L2^2 * L3^2 + L3^4 ]
|
---|
789 | Basis: [ (4 * B^2 * L3^2) ]
|
---|
790 | ------------------- CASE 4 -------------------
|
---|
791 | Condition:
|
---|
792 | Green list: [ A ]
|
---|
793 | Red list: [ L3, B, L2 ]
|
---|
794 | Basis: [ (4 * B^2 * L2^2) * C1^2 + (B^4 - 2 * B^2 * L2^2 - 2 * B^2 * L3^2 + L2^4 - 2 * L2^2 * L3^2 + L3^4), (2 * B * L2 * L3) * S2 + ( - 2 * B^2 * L2) * C1 + (0), ( - 2 * L2 * L3) * C2 + (0) * C1 + (B^2 - L2^2 - L3^2), ( - 2 * B * L2) * S1 + (B^2 + L2^2 - L3^2) ]
|
---|
795 | ------------------- CASE 5 -------------------
|
---|
796 | Condition:
|
---|
797 | Green list: [ A, B ]
|
---|
798 | Red list: [ L3, L2, A^2 + B^2 + L2^2 - L3^2 ]
|
---|
799 | Basis: [ (L2^2 - L3^2) ]
|
---|
800 | ------------------- CASE 6 -------------------
|
---|
801 | Condition:
|
---|
802 | Green list: [ A, B, L2^2 - L3^2 ]
|
---|
803 | Red list: [ L3, L2 ]
|
---|
804 | Basis: [ (1) * C1^2 + (1) * S1^2 + ( - 1), (L3) * S2 + (0) * C1 + (0) * S1, (L3) * C2 + (0) * C1 + (0) * S1 + (L2) ]
|
---|
805 | WARNING: Test 6 - Circle of Apollonius
|
---|
806 | :B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2
|
---|
807 | ------------------- CASE 1 -------------------
|
---|
808 | Condition:
|
---|
809 | Green list: [ U2, U1 ]
|
---|
810 | Red list: [ ]
|
---|
811 | Basis: [ (2) * X1 + (0), (2) * X2 + (0), (2) * X3 + (0), (2) * X4 + (0), ( - 4) * X6^2 + (8) * X6 * X8 + (0) * X8 + (0), (4) * S * X5^2 + ( - 8) * S * X5 * X7 + (0) * S * X7 + (0) * S * X8 + (0) * S + ( - 4) ]
|
---|
812 | ------------------- CASE 2 -------------------
|
---|
813 | Condition:
|
---|
814 | Green list: [ U2 ]
|
---|
815 | Red list: [ U1 ]
|
---|
816 | Basis: [ ( - 4 * U1^3) ]
|
---|
817 | ------------------- CASE 3 -------------------
|
---|
818 | Condition:
|
---|
819 | Green list: [ U1 ]
|
---|
820 | Red list: [ U2 ]
|
---|
821 | Basis: [ (4 * U2^2) ]
|
---|
822 | ------------------- CASE 4 -------------------
|
---|
823 | Condition:
|
---|
824 | Green list: [ ]
|
---|
825 | Red list: [ U1, U2, U1^2 - U2^2, U1^2 + U2^2 ]
|
---|
826 | Basis: [ (2) * X1 + ( - U1), (2) * X2 + ( - U2), (2) * X3 + ( - U1), (2) * X4 + ( - U2), (U1^2 * U2 + U2^3) * X5 + ( - U1 * U2^3), ( - U1^2 - U2^2) * X6 + (U1^2 * U2), ( - 4 * U1^5 + 4 * U1 * U2^4) * X7 + (U1^6 + 2 * U1^4 * U2^2 - 3 * U1^2 * U2^4), ( - 4 * U1^4 * U2 + 4 * U2^5) * X8 + (3 * U1^4 * U2^2 - 2 * U1^2 * U2^4 - U2^6), (2 * U1^6 * U2^2 - 2 * U1^4 * U2^4) * S + (4 * U1^6 - 4 * U1^2 * U2^4) ]
|
---|
827 | ------------------- CASE 5 -------------------
|
---|
828 | Condition:
|
---|
829 | Green list: [ U1^2 - U2^2 ]
|
---|
830 | Red list: [ U1, U1^2 + U2^2, U2 ]
|
---|
831 | Basis: [ (2) * X1 + ( - U1), (2) * X2 + ( - U2), (2) * X3 + ( - U1), (2) * X4 + ( - U2), (2 * U2^3) * X5 + ( - U1 * U2^3), ( - 2 * U2^2) * X6 + (U2^3), (4 * U1) * X7 + ( - 4 * U2) * X8 + (0), ( - 8 * U2^5) * S * X8 + (2 * U2^6) * S + ( - 8 * U2^4) ]
|
---|
832 | ------------------- CASE 6 -------------------
|
---|
833 | Condition:
|
---|
834 | Green list: [ U1^2 + U2^2 ]
|
---|
835 | Red list: [ U1, U2 ]
|
---|
836 | Basis: [ ( - U2^3) ]
|
---|
837 | WARNING: Test 7
|
---|
838 |
|
---|
839 | ; in: LAMBDA NIL
|
---|
840 | ; (SETF CGB-LISP::FL
|
---|
841 | ; (CDR
|
---|
842 | ; (PARSE:PARSE-STRING-TO-SORTED-ALIST
|
---|
843 | ; "[a^2*x^2*y+b*x^2*y+a^3*b*x*y+a^3*c*x*y,c^2*a*x^2+c^2*b*x^2+b*y+4]"
|
---|
844 | ; '(CGB-LISP::X CGB-LISP::Y CGB-LISP::A CGB-LISP::B CGB-LISP::C))))
|
---|
845 | ; ==>
|
---|
846 | ; (SETQ CGB-LISP::FL
|
---|
847 | ; (CDR
|
---|
848 | ; (PARSE:PARSE-STRING-TO-SORTED-ALIST
|
---|
849 | ; "[a^2*x^2*y+b*x^2*y+a^3*b*x*y+a^3*c*x*y,c^2*a*x^2+c^2*b*x^2+b*y+4]"
|
---|
850 | ; '(CGB-LISP::X CGB-LISP::Y CGB-LISP::A CGB-LISP::B CGB-LISP::C))))
|
---|
851 | ;
|
---|
852 | ; caught WARNING:
|
---|
853 | ; undefined variable: FL
|
---|
854 |
|
---|
855 | ;
|
---|
856 | ; caught WARNING:
|
---|
857 | ; This variable is undefined:
|
---|
858 | ; FL
|
---|
859 | ;
|
---|
860 | ; compilation unit finished
|
---|
861 | ; caught 2 WARNING conditions
|
---|
862 |
|
---|
863 | ; in: LAMBDA NIL
|
---|
864 | ; (SETF CGB-LISP::CFL (COLORED-POLY:MAKE-COLORED-POLY-LIST CGB-LISP::FL 2))
|
---|
865 | ; ==>
|
---|
866 | ; (SETQ CGB-LISP::CFL (COLORED-POLY:MAKE-COLORED-POLY-LIST CGB-LISP::FL 2))
|
---|
867 | ;
|
---|
868 | ; caught WARNING:
|
---|
869 | ; undefined variable: CFL
|
---|
870 |
|
---|
871 | ; (COLORED-POLY:MAKE-COLORED-POLY-LIST CGB-LISP::FL 2)
|
---|
872 | ;
|
---|
873 | ; caught WARNING:
|
---|
874 | ; undefined variable: FL
|
---|
875 |
|
---|
876 | ;
|
---|
877 | ; caught WARNING:
|
---|
878 | ; These variables are undefined:
|
---|
879 | ; CFL FL
|
---|
880 | ;
|
---|
881 | ; compilation unit finished
|
---|
882 | ; caught 3 WARNING conditions
|
---|
883 | :B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2
|
---|
884 | ------------------- CASE 1 -------------------
|
---|
885 | Condition:
|
---|
886 | Green list: [ ]
|
---|
887 | Red list: [ A * C^2 + B * C^2, A^2 + B ]
|
---|
888 | Basis: [ (A^2 + B) * X^2 * Y + (A^3 * B + A^3 * C) * X * Y, (A * C^2 + B * C^2) * X^2 + (B) * Y + (4) ]
|
---|
889 | ------------------- CASE 2 -------------------
|
---|
890 | Condition:
|
---|
891 | Green list: [ A^2 + B ]
|
---|
892 | Red list: [ A * C^2 + B * C^2, A^3 * B + A^3 * C ]
|
---|
893 | Basis: [ (A^3 * B + A^3 * C) * X * Y, (A * C^2 + B * C^2) * X^2 + (B) * Y + (4) ]
|
---|
894 | ------------------- CASE 3 -------------------
|
---|
895 | Condition:
|
---|
896 | Green list: [ B + C, A^2 - C ]
|
---|
897 | Red list: [ A * C^2 + B * C^2 ]
|
---|
898 | Basis: [ (A * C^2 + B * C^2) * X^2 + (B) * Y + (4) ]
|
---|
899 | ------------------- CASE 4 -------------------
|
---|
900 | Condition:
|
---|
901 | Green list: [ A * C^2 + B * C^2 ]
|
---|
902 | Red list: [ B, A^2 + B ]
|
---|
903 | Basis: [ (A^2 + B) * X^2 * Y + (A^3 * B + A^3 * C) * X * Y, (B) * Y + (4) ]
|
---|
904 | ------------------- CASE 5 -------------------
|
---|
905 | Condition:
|
---|
906 | Green list: [ A^2 + B, B * C^2 + C^2, A * C^2 - C^2 ]
|
---|
907 | Red list: [ B, A^3 * B + A^3 * C ]
|
---|
908 | Basis: [ (A^3 * B + A^3 * C) * X * Y, (B) * Y + (4) ]
|
---|
909 | ------------------- CASE 6 -------------------
|
---|
910 | Condition:
|
---|
911 | Green list: [ C - 1, B + 1, A - 1 ]
|
---|
912 | Red list: [ B ]
|
---|
913 | Basis: [ (B) * Y + (4) ]
|
---|
914 | ------------------- CASE 7 -------------------
|
---|
915 | Condition:
|
---|
916 | Green list: [ B, C^2 ]
|
---|
917 | Red list: [ 4, A^2 + B ]
|
---|
918 | Basis: [ (A^2 + B) * X^2 * Y + (A^3 * B + A^3 * C) * X * Y, (4) ]
|
---|
919 | ------------------- CASE 8 -------------------
|
---|
920 | Condition:
|
---|
921 | Green list: [ B, A * C^2, A^2 ]
|
---|
922 | Red list: [ 4 ]
|
---|
923 | Basis: [ (4) ]
|
---|
924 | WARNING: Test 8
|
---|
925 |
|
---|
926 | ; in: LAMBDA NIL
|
---|
927 | ; (SETF CGB-LISP::FL
|
---|
928 | ; (CDR
|
---|
929 | ; (PARSE:PARSE-STRING-TO-SORTED-ALIST "[a^2*x+5*a]"
|
---|
930 | ; '(CGB-LISP::X CGB-LISP::A))))
|
---|
931 | ; ==>
|
---|
932 | ; (SETQ CGB-LISP::FL
|
---|
933 | ; (CDR
|
---|
934 | ; (PARSE:PARSE-STRING-TO-SORTED-ALIST "[a^2*x+5*a]"
|
---|
935 | ; '(CGB-LISP::X CGB-LISP::A))))
|
---|
936 | ;
|
---|
937 | ; caught WARNING:
|
---|
938 | ; undefined variable: FL
|
---|
939 |
|
---|
940 | ;
|
---|
941 | ; caught WARNING:
|
---|
942 | ; This variable is undefined:
|
---|
943 | ; FL
|
---|
944 | ;
|
---|
945 | ; compilation unit finished
|
---|
946 | ; caught 2 WARNING conditions
|
---|
947 |
|
---|
948 | ; in: LAMBDA NIL
|
---|
949 | ; (SETF CGB-LISP::CFL (COLORED-POLY:MAKE-COLORED-POLY-LIST CGB-LISP::FL 1))
|
---|
950 | ; ==>
|
---|
951 | ; (SETQ CGB-LISP::CFL (COLORED-POLY:MAKE-COLORED-POLY-LIST CGB-LISP::FL 1))
|
---|
952 | ;
|
---|
953 | ; caught WARNING:
|
---|
954 | ; undefined variable: CFL
|
---|
955 |
|
---|
956 | ; (COLORED-POLY:MAKE-COLORED-POLY-LIST CGB-LISP::FL 1)
|
---|
957 | ;
|
---|
958 | ; caught WARNING:
|
---|
959 | ; undefined variable: FL
|
---|
960 |
|
---|
961 | ;
|
---|
962 | ; caught WARNING:
|
---|
963 | ; These variables are undefined:
|
---|
964 | ; CFL FL
|
---|
965 | ;
|
---|
966 | ; compilation unit finished
|
---|
967 | ; caught 3 WARNING conditions
|
---|
968 |
|
---|
969 | ------------------- CASE 1 -------------------
|
---|
970 | Condition:
|
---|
971 | Green list: [ ]
|
---|
972 | Red list: [ A^2 ]
|
---|
973 | Basis: [ (A^2) * X + (5 * A) ]
|
---|
974 | ------------------- CASE 2 -------------------
|
---|
975 | Condition:
|
---|
976 | Green list: [ A^2 ]
|
---|
977 | Red list: [ ]
|
---|
978 | Basis: [ ]
|
---|
979 | WARNING: Test 9 - the discriminant of a quadratic polynomial
|
---|
980 | :B2:B2:B2:B2:B2:B2
|
---|
981 | ------------------- CASE 1 -------------------
|
---|
982 | Condition:
|
---|
983 | Green list: [ ]
|
---|
984 | Red list: [ A, 4 * A * C - B^2 ]
|
---|
985 | Basis: [ (4 * A * C - B^2) ]
|
---|
986 | ------------------- CASE 2 -------------------
|
---|
987 | Condition:
|
---|
988 | Green list: [ 4 * A * C - B^2 ]
|
---|
989 | Red list: [ A ]
|
---|
990 | Basis: [ (2 * A) * X + (B) ]
|
---|
991 | WARNING: Test 10 - the discriminant of a cubic polynomial
|
---|
992 | :B2:B2:B2:B2:B2:B2
|
---|
993 | ------------------- CASE 1 -------------------
|
---|
994 | Condition:
|
---|
995 | Green list: [ ]
|
---|
996 | Red list: [ P, 4 * P^3 + 27 * Q^2 ]
|
---|
997 | Basis: [ ( - 4 * P^3 - 27 * Q^2) ]
|
---|
998 | ------------------- CASE 2 -------------------
|
---|
999 | Condition:
|
---|
1000 | Green list: [ 4 * P^3 + 27 * Q^2 ]
|
---|
1001 | Red list: [ P ]
|
---|
1002 | Basis: [ (2 * P) * X + (3 * Q) ]
|
---|
1003 | ------------------- CASE 3 -------------------
|
---|
1004 | Condition:
|
---|
1005 | Green list: [ P ]
|
---|
1006 | Red list: [ Q ]
|
---|
1007 | Basis: [ (3 * Q) ]
|
---|
1008 | ------------------- CASE 4 -------------------
|
---|
1009 | Condition:
|
---|
1010 | Green list: [ P, Q ]
|
---|
1011 | Red list: [ ]
|
---|
1012 | Basis: [ (3) * X^2 + (0) ]
|
---|
1013 | WARNING: Test 11 - the discriminant of a quartic polynomial
|
---|
1014 | :B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2
|
---|
1015 | ------------------- CASE 1 -------------------
|
---|
1016 | Condition:
|
---|
1017 | Green list: [ ]
|
---|
1018 | Red list: [ 16 * P^4 * R - 4 * P^3 * Q^2 - 128 * P^2 * R^2 + 144 * P * Q^2 * R - 27 * Q^4 + 256 * R^3, P, 2 * P^3 - 8 * P * R + 9 * Q^2 ]
|
---|
1019 | Basis: [ (16 * P^6 * R - 4 * P^5 * Q^2 - 128 * P^4 * R^2 + 144 * P^3 * Q^2 * R - 27 * P^2 * Q^4 + 256 * P^2 * R^3) ]
|
---|
1020 | ------------------- CASE 2 -------------------
|
---|
1021 | Condition:
|
---|
1022 | Green list: [ 16 * P^4 * R - 4 * P^3 * Q^2 - 128 * P^2 * R^2 + 144 * P * Q^2 * R - 27 * Q^4 + 256 * R^3 ]
|
---|
1023 | Red list: [ P, 2 * P^3 - 8 * P * R + 9 * Q^2 ]
|
---|
1024 | Basis: [ ( - 2 * P^3 + 8 * P * R - 9 * Q^2) * X + ( - P^2 * Q - 12 * Q * R) ]
|
---|
1025 | ------------------- CASE 3 -------------------
|
---|
1026 | Condition:
|
---|
1027 | Green list: [ 2 * P^3 - 8 * P * R + 9 * Q^2 ]
|
---|
1028 | Red list: [ P, P^2 * Q + 12 * Q * R ]
|
---|
1029 | Basis: [ ( - P^2 * Q - 12 * Q * R) ]
|
---|
1030 | ------------------- CASE 4 -------------------
|
---|
1031 | Condition:
|
---|
1032 | Green list: [ 2 * P^3 - 8 * P * R + 9 * Q^2, P^2 * Q + 12 * Q * R, 32 * P * Q * R - 9 * Q^3, 3 * P * Q^3 + 128 * Q * R^2, 27 * Q^5 + 4096 * Q * R^3, 8 * P^2 * R - 3 * P * Q^2 - 32 * R^2 ]
|
---|
1033 | Red list: [ P ]
|
---|
1034 | Basis: [ (2 * P) * X^2 + (3 * Q) * X + (4 * R) ]
|
---|
1035 | ------------------- CASE 5 -------------------
|
---|
1036 | Condition:
|
---|
1037 | Green list: [ P ]
|
---|
1038 | Red list: [ Q, 72 * P * Q^2 * R - 27 * Q^4 + 256 * R^3 ]
|
---|
1039 | Basis: [ (27 * Q^4 - 256 * R^3) ]
|
---|
1040 | ------------------- CASE 6 -------------------
|
---|
1041 | Condition:
|
---|
1042 | Green list: [ P, 27 * Q^4 - 256 * R^3 ]
|
---|
1043 | Red list: [ Q ]
|
---|
1044 | Basis: [ (3 * Q) * X + (4 * R) ]
|
---|
1045 | ------------------- CASE 7 -------------------
|
---|
1046 | Condition:
|
---|
1047 | Green list: [ P, Q ]
|
---|
1048 | Red list: [ R ]
|
---|
1049 | Basis: [ (4 * R) ]
|
---|
1050 | ------------------- CASE 8 -------------------
|
---|
1051 | Condition:
|
---|
1052 | Green list: [ P, Q, R ]
|
---|
1053 | Red list: [ ]
|
---|
1054 | Basis: [ (4) * X^3 + (0) * X + (0) ]WARNING: Test 1
|
---|
1055 |
|
---|
1056 | ------------------- CASE 1 -------------------
|
---|
1057 | Condition:
|
---|
1058 | Green list: [ ]
|
---|
1059 | Red list: [ ]
|
---|
1060 | Basis: [ (4) * X + (5) * Y, ( - 10) * Y^2 ]
|
---|
1061 | WARNING: Test 2 - Enneper
|
---|
1062 |
|
---|
1063 | ------------------- CASE 1 -------------------
|
---|
1064 | Condition:
|
---|
1065 | Green list: [ ]
|
---|
1066 | Red list: [ ]
|
---|
1067 | Basis: [ ( - 3) * U^2 + (3) * V^2 + (1) * Z, (2) * V^3 + (1) * V * Z + (3) * V + ( - 1) * Y, ( - 6) * U * V^2 + (1) * U * Z + ( - 9) * U + (3) * X, (4) * U * V * Z + ( - 3) * U * Y + (3) * V * X, (9) * U * V * Y + ( - 2) * U * Z^2 + (18) * U * Z + ( - 9) * V^2 * X + ( - 6) * X * Z, ( - 27) * U * Y^2 + (8) * U * Z^3 + ( - 72) * U * Z^2 + (36) * V^2 * X * Z + (27) * V * X * Y + (24) * X * Z^2, (34992) * V^2 * X^2 + ( - 34992) * V^2 * Y^2 + ( - 186624) * V^2 * Z + ( - 15552) * V * Y * Z^2 + (46656) * V * Y * Z + (15552) * X^2 * Z + (93312) * X^2 + (19440) * Y^2 * Z + ( - 93312) * Y^2 + ( - 576) * Z^4 + (6912) * Z^3 + (15552) * Z^2 + ( - 279936) * Z, (139968) * U * X + (93312) * V^2 * Z + ( - 139968) * V * Y + (15552) * Z^2 + ( - 139968) * Z, (105815808) * V^2 * Y * Z + (52907904) * V * X^2 + ( - 52907904) * V * Y^2 + (15676416) * V * Z^3 + (141087744) * V * Z^2 + ( - 17635968) * Y * Z^2 + ( - 52907904) * Y * Z, (31104) * V^2 * Z^2 + (93312) * V^2 * Z + ( - 93312) * V * Y * Z + ( - 46656) * X^2 + (46656) * Y^2 + (1728) * Z^3 + ( - 31104) * Z^2 + (139968) * Z, (8817984) * V * X^2 * Z + (26453952) * V * X^2 + (44089920) * V * Y^2 * Z + ( - 26453952) * V * Y^2 + (2612736) * V * Z^4 + (31352832) * V * Z^3 + (70543872) * V * Z^2 + (26453952) * X^2 * Y + ( - 26453952) * Y^3 + ( - 3919104) * Y * Z^3 + ( - 105815808) * Y * Z, ( - 158723712) * V * X^2 * Y + ( - 317447424) * V * Y^3 * Z + (158723712) * V * Y^3 + ( - 23514624) * V * Y * Z^4 + ( - 188116992) * V * Y * Z^3 + ( - 634894848) * V * Y * Z^2 + (26453952) * X^4 + ( - 211631616) * X^2 * Y^2 + (6858432) * X^2 * Z^3 + (88179840) * X^2 * Z^2 + ( - 79361856) * X^2 * Z + (185177664) * Y^4 + (34292160) * Y^2 * Z^3 + ( - 35271936) * Y^2 * Z^2 + (714256704) * Y^2 * Z + ( - 290304) * Z^6 + (2612736) * Z^5 + (23514624) * Z^4 + ( - 211631616) * Z^3, ( - 317447424) * V * Y^3 * Z^2 + ( - 23514624) * V * Y * Z^5 + ( - 211631616) * V * Y * Z^4 + ( - 634894848) * V * Y * Z^3 + ( - 634894848) * V * Y * Z^2 + (26453952) * X^4 * Z + (79361856) * X^4 + ( - 211631616) * X^2 * Y^2 * Z + ( - 158723712) * X^2 * Y^2 + (6858432) * X^2 * Z^4 + (108755136) * X^2 * Z^3 + (185177664) * X^2 * Z^2 + ( - 238085568) * X^2 * Z + (185177664) * Y^4 * Z + (79361856) * Y^4 + (34292160) * Y^2 * Z^4 + ( - 2939328) * Y^2 * Z^3 + (608440896) * Y^2 * Z^2 + (238085568) * Y^2 * Z + ( - 290304) * Z^7 + (1741824) * Z^6 + (31352832) * Z^5 + ( - 141087744) * Z^4 + ( - 634894848) * Z^3, (79361856) * V * X^4 + (2539579392) * V * X^2 + (317447424) * V * Y^4 * Z + ( - 79361856) * V * Y^4 + (23514624) * V * Y^2 * Z^4 + (117573120) * V * Y^2 * Z^3 + ( - 423263232) * V * Y^2 * Z^2 + (5079158784) * V * Y^2 * Z + ( - 2539579392) * V * Y^2 + ( - 6967296) * V * Z^6 + ( - 125411328) * V * Z^5 + ( - 564350976) * V * Z^4 + (752467968) * V * Z^3 + (6772211712) * V * Z^2 + ( - 26453952) * X^4 * Y + (211631616) * X^2 * Y^3 + ( - 6858432) * X^2 * Y * Z^3 + ( - 255721536) * X^2 * Y * Z^2 + ( - 846526464) * X^2 * Y * Z + (2539579392) * X^2 * Y + ( - 185177664) * Y^5 + ( - 34292160) * Y^3 * Z^3 + (44089920) * Y^3 * Z^2 + (211631616) * Y^3 * Z + ( - 2539579392) * Y^3 + (290304) * Y * Z^6 + (10450944) * Y * Z^5 + (7838208) * Y * Z^4 + (188116992) * Y * Z^3 + (3386105856) * Y * Z^2 + ( - 10158317568) * Y * Z, ( - 714256704) * X^6 + (2142770112) * X^4 * Y^2 + ( - 396809280) * X^4 * Z^3 + ( - 4285540224) * X^4 * Z^2 + (2142770112) * X^4 * Z + ( - 2142770112) * X^2 * Y^4 + ( - 2063408256) * X^2 * Y^2 * Z^3 + ( - 4285540224) * X^2 * Y^2 * Z + ( - 47029248) * X^2 * Z^6 + ( - 1269789696) * X^2 * Z^5 + ( - 6348948480) * X^2 * Z^4 + (11428107264) * X^2 * Z^3 + (714256704) * Y^6 + ( - 396809280) * Y^4 * Z^3 + (4285540224) * Y^4 * Z^2 + (2142770112) * Y^4 * Z + (47029248) * Y^2 * Z^6 + ( - 1269789696) * Y^2 * Z^5 + (6348948480) * Y^2 * Z^4 + (11428107264) * Y^2 * Z^3 + (2322432) * Z^9 + ( - 376233984) * Z^7 + (15237476352) * Z^5 ]:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2
|
---|
1068 | Args:[ U^3 - 3 * U * V^2 - 3 * U + X, - 3 * U^2 * V + V^3 - 3 * V + Y, - 3 * U^2 + 3 * V^2 + Z ]:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2[ 3 * U^2 - 3 * V^2 - Z, 6 * U * V^2 - U * Z + 9 * U - 3 * X, 2 * V^3 + V * Z + 3 * V - Y, 4 * U * V * Z - 3 * U * Y + 3 * V * X, 9 * U * X + 6 * V^2 * Z - 9 * V * Y + Z^2 - 9 * Z, 9 * U * V * Y - 2 * U * Z^2 + 18 * U * Z - 9 * V^2 * X - 6 * X * Z, 27 * U * Y^2 - 8 * U * Z^3 + 72 * U * Z^2 - 36 * V^2 * X * Z - 27 * V * X * Y - 24 * X * Z^2, 18 * V^2 * Z^2 + 54 * V^2 * Z - 54 * V * Y * Z - 27 * X^2 + 27 * Y^2 + Z^3 - 18 * Z^2 + 81 * Z, 243 * V^2 * X^2 - 243 * V^2 * Y^2 - 1296 * V^2 * Z - 108 * V * Y * Z^2 + 324 * V * Y * Z + 108 * X^2 * Z + 648 * X^2 + 135 * Y^2 * Z - 648 * Y^2 - 4 * Z^4 + 48 * Z^3 + 108 * Z^2 - 1944 * Z, 54 * V^2 * Y * Z + 27 * V * X^2 - 27 * V * Y^2 + 8 * V * Z^3 + 72 * V * Z^2 - 9 * Y * Z^2 - 27 * Y * Z, 27 * V * X^2 * Z + 81 * V * X^2 + 135 * V * Y^2 * Z - 81 * V * Y^2 + 8 * V * Z^4 + 96 * V * Z^3 + 216 * V * Z^2 + 81 * X^2 * Y - 81 * Y^3 - 12 * Y * Z^3 - 324 * Y * Z, 4374 * V * X^2 * Y + 8748 * V * Y^3 * Z - 4374 * V * Y^3 + 648 * V * Y * Z^4 + 5184 * V * Y * Z^3 + 17496 * V * Y * Z^2 - 729 * X^4 + 5832 * X^2 * Y^2 - 189 * X^2 * Z^3 - 2430 * X^2 * Z^2 + 2187 * X^2 * Z - 5103 * Y^4 - 945 * Y^2 * Z^3 + 972 * Y^2 * Z^2 - 19683 * Y^2 * Z + 8 * Z^6 - 72 * Z^5 - 648 * Z^4 + 5832 * Z^3, 8748 * V * Y^3 * Z^2 + 648 * V * Y * Z^5 + 5832 * V * Y * Z^4 + 17496 * V * Y * Z^3 + 17496 * V * Y * Z^2 - 729 * X^4 * Z - 2187 * X^4 + 5832 * X^2 * Y^2 * Z + 4374 * X^2 * Y^2 - 189 * X^2 * Z^4 - 2997 * X^2 * Z^3 - 5103 * X^2 * Z^2 + 6561 * X^2 * Z - 5103 * Y^4 * Z - 2187 * Y^4 - 945 * Y^2 * Z^4 + 81 * Y^2 * Z^3 - 16767 * Y^2 * Z^2 - 6561 * Y^2 * Z + 8 * Z^7 - 48 * Z^6 - 864 * Z^5 + 3888 * Z^4 + 17496 * Z^3, 19683 * X^6 - 59049 * X^4 * Y^2 + 10935 * X^4 * Z^3 + 118098 * X^4 * Z^2 - 59049 * X^4 * Z + 59049 * X^2 * Y^4 + 56862 * X^2 * Y^2 * Z^3 + 118098 * X^2 * Y^2 * Z + 1296 * X^2 * Z^6 + 34992 * X^2 * Z^5 + 174960 * X^2 * Z^4 - 314928 * X^2 * Z^3 - 19683 * Y^6 + 10935 * Y^4 * Z^3 - 118098 * Y^4 * Z^2 - 59049 * Y^4 * Z - 1296 * Y^2 * Z^6 + 34992 * Y^2 * Z^5 - 174960 * Y^2 * Z^4 - 314928 * Y^2 * Z^3 - 64 * Z^9 + 10368 * Z^7 - 419904 * Z^5, 2187 * V * X^4 + 69984 * V * X^2 + 8748 * V * Y^4 * Z - 2187 * V * Y^4 + 648 * V * Y^2 * Z^4 + 3240 * V * Y^2 * Z^3 - 11664 * V * Y^2 * Z^2 + 139968 * V * Y^2 * Z - 69984 * V * Y^2 - 192 * V * Z^6 - 3456 * V * Z^5 - 15552 * V * Z^4 + 20736 * V * Z^3 + 186624 * V * Z^2 - 729 * X^4 * Y + 5832 * X^2 * Y^3 - 189 * X^2 * Y * Z^3 - 7047 * X^2 * Y * Z^2 - 23328 * X^2 * Y * Z + 69984 * X^2 * Y - 5103 * Y^5 - 945 * Y^3 * Z^3 + 1215 * Y^3 * Z^2 + 5832 * Y^3 * Z - 69984 * Y^3 + 8 * Y * Z^6 + 288 * Y * Z^5 + 216 * Y * Z^4 + 5184 * Y * Z^3 + 93312 * Y * Z^2 - 279936 * Y * Z ]
|
---|
1069 | WARNING: Test 3 - staple
|
---|
1070 | :B2:B2:B2
|
---|
1071 | ------------------- CASE 1 -------------------
|
---|
1072 | Condition:
|
---|
1073 | Green list: [ ]
|
---|
1074 | Red list: [ U - 1 ]
|
---|
1075 | Basis: [ (U - 1) * X, ( - U + 1) * Y ]
|
---|
1076 | ------------------- CASE 2 -------------------
|
---|
1077 | Condition:
|
---|
1078 | Green list: [ U - 1 ]
|
---|
1079 | Red list: [ ]
|
---|
1080 | Basis: [ (1) * X + (1) * Y ]
|
---|
1081 | WARNING: Test 4 - staple
|
---|
1082 | :B2:B2:B2
|
---|
1083 | ------------------- CASE 1 -------------------
|
---|
1084 | Condition:
|
---|
1085 | Green list: [ U ]
|
---|
1086 | Red list: [ ]
|
---|
1087 | Basis: [ (1) * X, (1) * Y ]
|
---|
1088 | ------------------- CASE 2 -------------------
|
---|
1089 | Condition:
|
---|
1090 | Green list: [ ]
|
---|
1091 | Red list: [ U, U - 1 ]
|
---|
1092 | Basis: [ (U^2 - U) * X, (U - 1) * Y ]
|
---|
1093 | ------------------- CASE 3 -------------------
|
---|
1094 | Condition:
|
---|
1095 | Green list: [ U - 1 ]
|
---|
1096 | Red list: [ U ]
|
---|
1097 | Basis: [ (1) * X + (1) * Y ]
|
---|
1098 | WARNING: Test 5 - a small robot example
|
---|
1099 | :B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2
|
---|
1100 | ------------------- CASE 1 -------------------
|
---|
1101 | Condition:
|
---|
1102 | Green list: [ ]
|
---|
1103 | Red list: [ L3, A^2 + B^2, L2, A ]
|
---|
1104 | Basis: [ ( - 2 * A * L2 * L3) * S2 + ( - 2 * A^2 * L2 - 2 * B^2 * L2) * S1 + (A^2 * B + B^3 + B * L2^2 - B * L3^2), ( - 2 * L2 * L3) * C2 + (A^2 + B^2 - L2^2 - L3^2), ( - 2 * A * L2) * C1 + ( - 2 * B * L2) * S1 + (A^2 + B^2 + L2^2 - L3^2), (4 * A^2 * L2^2 + 4 * B^2 * L2^2) * S1^2 + ( - 4 * A^2 * B * L2 - 4 * B^3 * L2 - 4 * B * L2^3 + 4 * B * L2 * L3^2) * S1 + (A^4 + 2 * A^2 * B^2 - 2 * A^2 * L2^2 - 2 * A^2 * L3^2 + B^4 + 2 * B^2 * L2^2 - 2 * B^2 * L3^2 + L2^4 - 2 * L2^2 * L3^2 + L3^4) ]
|
---|
1105 | ------------------- CASE 2 -------------------
|
---|
1106 | Condition:
|
---|
1107 | Green list: [ A^2 + B^2 ]
|
---|
1108 | Red list: [ L3, A^2 * B + B^3 + B * L2^2 - B * L3^2, L2, A ]
|
---|
1109 | Basis: [ (4 * A * B * L2^3 * L3 - 4 * A * B * L2 * L3^3) * S2 + ( - 2 * B^2 * L2^4 + 4 * B^2 * L2^2 * L3^2 - 2 * B^2 * L3^4), ( - 2 * L2 * L3) * C2 + ( - L2^2 - L3^2), (4 * A * L2^3 - 4 * A * L2 * L3^2) * C1 + (4 * B^2 * L2^2 - L2^4 + 2 * L2^2 * L3^2 - L3^4), ( - 4 * B * L2^3 + 4 * B * L2 * L3^2) * S1 + (4 * B^2 * L2^2 + L2^4 - 2 * L2^2 * L3^2 + L3^4) ]
|
---|
1110 | ------------------- CASE 3 -------------------
|
---|
1111 | Condition:
|
---|
1112 | Green list: [ A^2 + B^2, L2^2 - L3^2 ]
|
---|
1113 | Red list: [ L3, A, L2, A^4 + 2 * A^2 * B^2 - 2 * A^2 * L2^2 - 2 * A^2 * L3^2 + B^4 + 2 * B^2 * L2^2 - 2 * B^2 * L3^2 + L2^4 - 2 * L2^2 * L3^2 + L3^4 ]
|
---|
1114 | Basis: [ (4 * B^2 * L3^2) ]
|
---|
1115 | ------------------- CASE 4 -------------------
|
---|
1116 | Condition:
|
---|
1117 | Green list: [ A ]
|
---|
1118 | Red list: [ L3, B, L2 ]
|
---|
1119 | Basis: [ (4 * B^2 * L2^2) * C1^2 + (B^4 - 2 * B^2 * L2^2 - 2 * B^2 * L3^2 + L2^4 - 2 * L2^2 * L3^2 + L3^4), (2 * B * L2 * L3) * S2 + ( - 2 * B^2 * L2) * C1 + (0), ( - 2 * L2 * L3) * C2 + (0) * C1 + (B^2 - L2^2 - L3^2), ( - 2 * B * L2) * S1 + (B^2 + L2^2 - L3^2) ]
|
---|
1120 | ------------------- CASE 5 -------------------
|
---|
1121 | Condition:
|
---|
1122 | Green list: [ A, B ]
|
---|
1123 | Red list: [ L3, L2, A^2 + B^2 + L2^2 - L3^2 ]
|
---|
1124 | Basis: [ (L2^2 - L3^2) ]
|
---|
1125 | ------------------- CASE 6 -------------------
|
---|
1126 | Condition:
|
---|
1127 | Green list: [ A, B, L2^2 - L3^2 ]
|
---|
1128 | Red list: [ L3, L2 ]
|
---|
1129 | Basis: [ (1) * C1^2 + (1) * S1^2 + ( - 1), (L3) * S2 + (0) * C1 + (0) * S1, (L3) * C2 + (0) * C1 + (0) * S1 + (L2) ]
|
---|
1130 | WARNING: Test 6 - Circle of Apollonius
|
---|
1131 | :B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2
|
---|
1132 | ------------------- CASE 1 -------------------
|
---|
1133 | Condition:
|
---|
1134 | Green list: [ U2, U1 ]
|
---|
1135 | Red list: [ ]
|
---|
1136 | Basis: [ (2) * X1 + (0), (2) * X2 + (0), (2) * X3 + (0), (2) * X4 + (0), ( - 4) * X6^2 + (8) * X6 * X8 + (0) * X8 + (0), (4) * S * X5^2 + ( - 8) * S * X5 * X7 + (0) * S * X7 + (0) * S * X8 + (0) * S + ( - 4) ]
|
---|
1137 | ------------------- CASE 2 -------------------
|
---|
1138 | Condition:
|
---|
1139 | Green list: [ U2 ]
|
---|
1140 | Red list: [ U1 ]
|
---|
1141 | Basis: [ ( - 4 * U1^3) ]
|
---|
1142 | ------------------- CASE 3 -------------------
|
---|
1143 | Condition:
|
---|
1144 | Green list: [ U1 ]
|
---|
1145 | Red list: [ U2 ]
|
---|
1146 | Basis: [ (4 * U2^2) ]
|
---|
1147 | ------------------- CASE 4 -------------------
|
---|
1148 | Condition:
|
---|
1149 | Green list: [ ]
|
---|
1150 | Red list: [ U1, U2, U1^2 - U2^2, U1^2 + U2^2 ]
|
---|
1151 | Basis: [ (2) * X1 + ( - U1), (2) * X2 + ( - U2), (2) * X3 + ( - U1), (2) * X4 + ( - U2), (U1^2 * U2 + U2^3) * X5 + ( - U1 * U2^3), ( - U1^2 - U2^2) * X6 + (U1^2 * U2), ( - 4 * U1^5 + 4 * U1 * U2^4) * X7 + (U1^6 + 2 * U1^4 * U2^2 - 3 * U1^2 * U2^4), ( - 4 * U1^4 * U2 + 4 * U2^5) * X8 + (3 * U1^4 * U2^2 - 2 * U1^2 * U2^4 - U2^6), (2 * U1^6 * U2^2 - 2 * U1^4 * U2^4) * S + (4 * U1^6 - 4 * U1^2 * U2^4) ]
|
---|
1152 | ------------------- CASE 5 -------------------
|
---|
1153 | Condition:
|
---|
1154 | Green list: [ U1^2 - U2^2 ]
|
---|
1155 | Red list: [ U1, U1^2 + U2^2, U2 ]
|
---|
1156 | Basis: [ (2) * X1 + ( - U1), (2) * X2 + ( - U2), (2) * X3 + ( - U1), (2) * X4 + ( - U2), (2 * U2^3) * X5 + ( - U1 * U2^3), ( - 2 * U2^2) * X6 + (U2^3), (4 * U1) * X7 + ( - 4 * U2) * X8 + (0), ( - 8 * U2^5) * S * X8 + (2 * U2^6) * S + ( - 8 * U2^4) ]
|
---|
1157 | ------------------- CASE 6 -------------------
|
---|
1158 | Condition:
|
---|
1159 | Green list: [ U1^2 + U2^2 ]
|
---|
1160 | Red list: [ U1, U2 ]
|
---|
1161 | Basis: [ ( - U2^3) ]
|
---|
1162 | WARNING: Test 7
|
---|
1163 |
|
---|
1164 | ; in: LAMBDA NIL
|
---|
1165 | ; (SETF CGB-LISP::FL
|
---|
1166 | ; (CDR
|
---|
1167 | ; (PARSE:PARSE-STRING-TO-SORTED-ALIST
|
---|
1168 | ; "[a^2*x^2*y+b*x^2*y+a^3*b*x*y+a^3*c*x*y,c^2*a*x^2+c^2*b*x^2+b*y+4]"
|
---|
1169 | ; '(CGB-LISP::X CGB-LISP::Y CGB-LISP::A CGB-LISP::B CGB-LISP::C))))
|
---|
1170 | ; ==>
|
---|
1171 | ; (SETQ CGB-LISP::FL
|
---|
1172 | ; (CDR
|
---|
1173 | ; (PARSE:PARSE-STRING-TO-SORTED-ALIST
|
---|
1174 | ; "[a^2*x^2*y+b*x^2*y+a^3*b*x*y+a^3*c*x*y,c^2*a*x^2+c^2*b*x^2+b*y+4]"
|
---|
1175 | ; '(CGB-LISP::X CGB-LISP::Y CGB-LISP::A CGB-LISP::B CGB-LISP::C))))
|
---|
1176 | ;
|
---|
1177 | ; caught WARNING:
|
---|
1178 | ; undefined variable: FL
|
---|
1179 |
|
---|
1180 | ;
|
---|
1181 | ; caught WARNING:
|
---|
1182 | ; This variable is undefined:
|
---|
1183 | ; FL
|
---|
1184 | ;
|
---|
1185 | ; compilation unit finished
|
---|
1186 | ; caught 2 WARNING conditions
|
---|
1187 |
|
---|
1188 | ; in: LAMBDA NIL
|
---|
1189 | ; (SETF CGB-LISP::CFL (COLORED-POLY:MAKE-COLORED-POLY-LIST CGB-LISP::FL 2))
|
---|
1190 | ; ==>
|
---|
1191 | ; (SETQ CGB-LISP::CFL (COLORED-POLY:MAKE-COLORED-POLY-LIST CGB-LISP::FL 2))
|
---|
1192 | ;
|
---|
1193 | ; caught WARNING:
|
---|
1194 | ; undefined variable: CFL
|
---|
1195 |
|
---|
1196 | ; (COLORED-POLY:MAKE-COLORED-POLY-LIST CGB-LISP::FL 2)
|
---|
1197 | ;
|
---|
1198 | ; caught WARNING:
|
---|
1199 | ; undefined variable: FL
|
---|
1200 |
|
---|
1201 | ;
|
---|
1202 | ; caught WARNING:
|
---|
1203 | ; These variables are undefined:
|
---|
1204 | ; CFL FL
|
---|
1205 | ;
|
---|
1206 | ; compilation unit finished
|
---|
1207 | ; caught 3 WARNING conditions
|
---|
1208 | :B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2
|
---|
1209 | ------------------- CASE 1 -------------------
|
---|
1210 | Condition:
|
---|
1211 | Green list: [ ]
|
---|
1212 | Red list: [ A * C^2 + B * C^2, A^2 + B ]
|
---|
1213 | Basis: [ (A^2 + B) * X^2 * Y + (A^3 * B + A^3 * C) * X * Y, (A * C^2 + B * C^2) * X^2 + (B) * Y + (4) ]
|
---|
1214 | ------------------- CASE 2 -------------------
|
---|
1215 | Condition:
|
---|
1216 | Green list: [ A^2 + B ]
|
---|
1217 | Red list: [ A * C^2 + B * C^2, A^3 * B + A^3 * C ]
|
---|
1218 | Basis: [ (A^3 * B + A^3 * C) * X * Y, (A * C^2 + B * C^2) * X^2 + (B) * Y + (4) ]
|
---|
1219 | ------------------- CASE 3 -------------------
|
---|
1220 | Condition:
|
---|
1221 | Green list: [ B + C, A^2 - C ]
|
---|
1222 | Red list: [ A * C^2 + B * C^2 ]
|
---|
1223 | Basis: [ (A * C^2 + B * C^2) * X^2 + (B) * Y + (4) ]
|
---|
1224 | ------------------- CASE 4 -------------------
|
---|
1225 | Condition:
|
---|
1226 | Green list: [ A * C^2 + B * C^2 ]
|
---|
1227 | Red list: [ B, A^2 + B ]
|
---|
1228 | Basis: [ (A^2 + B) * X^2 * Y + (A^3 * B + A^3 * C) * X * Y, (B) * Y + (4) ]
|
---|
1229 | ------------------- CASE 5 -------------------
|
---|
1230 | Condition:
|
---|
1231 | Green list: [ A^2 + B, B * C^2 + C^2, A * C^2 - C^2 ]
|
---|
1232 | Red list: [ B, A^3 * B + A^3 * C ]
|
---|
1233 | Basis: [ (A^3 * B + A^3 * C) * X * Y, (B) * Y + (4) ]
|
---|
1234 | ------------------- CASE 6 -------------------
|
---|
1235 | Condition:
|
---|
1236 | Green list: [ C - 1, B + 1, A - 1 ]
|
---|
1237 | Red list: [ B ]
|
---|
1238 | Basis: [ (B) * Y + (4) ]
|
---|
1239 | ------------------- CASE 7 -------------------
|
---|
1240 | Condition:
|
---|
1241 | Green list: [ B, C^2 ]
|
---|
1242 | Red list: [ 4, A^2 + B ]
|
---|
1243 | Basis: [ (A^2 + B) * X^2 * Y + (A^3 * B + A^3 * C) * X * Y, (4) ]
|
---|
1244 | ------------------- CASE 8 -------------------
|
---|
1245 | Condition:
|
---|
1246 | Green list: [ B, A * C^2, A^2 ]
|
---|
1247 | Red list: [ 4 ]
|
---|
1248 | Basis: [ (4) ]
|
---|
1249 | WARNING: Test 8
|
---|
1250 |
|
---|
1251 | ; in: LAMBDA NIL
|
---|
1252 | ; (SETF CGB-LISP::FL
|
---|
1253 | ; (CDR
|
---|
1254 | ; (PARSE:PARSE-STRING-TO-SORTED-ALIST "[a^2*x+5*a]"
|
---|
1255 | ; '(CGB-LISP::X CGB-LISP::A))))
|
---|
1256 | ; ==>
|
---|
1257 | ; (SETQ CGB-LISP::FL
|
---|
1258 | ; (CDR
|
---|
1259 | ; (PARSE:PARSE-STRING-TO-SORTED-ALIST "[a^2*x+5*a]"
|
---|
1260 | ; '(CGB-LISP::X CGB-LISP::A))))
|
---|
1261 | ;
|
---|
1262 | ; caught WARNING:
|
---|
1263 | ; undefined variable: FL
|
---|
1264 |
|
---|
1265 | ;
|
---|
1266 | ; caught WARNING:
|
---|
1267 | ; This variable is undefined:
|
---|
1268 | ; FL
|
---|
1269 | ;
|
---|
1270 | ; compilation unit finished
|
---|
1271 | ; caught 2 WARNING conditions
|
---|
1272 |
|
---|
1273 | ; in: LAMBDA NIL
|
---|
1274 | ; (SETF CGB-LISP::CFL (COLORED-POLY:MAKE-COLORED-POLY-LIST CGB-LISP::FL 1))
|
---|
1275 | ; ==>
|
---|
1276 | ; (SETQ CGB-LISP::CFL (COLORED-POLY:MAKE-COLORED-POLY-LIST CGB-LISP::FL 1))
|
---|
1277 | ;
|
---|
1278 | ; caught WARNING:
|
---|
1279 | ; undefined variable: CFL
|
---|
1280 |
|
---|
1281 | ; (COLORED-POLY:MAKE-COLORED-POLY-LIST CGB-LISP::FL 1)
|
---|
1282 | ;
|
---|
1283 | ; caught WARNING:
|
---|
1284 | ; undefined variable: FL
|
---|
1285 |
|
---|
1286 | ;
|
---|
1287 | ; caught WARNING:
|
---|
1288 | ; These variables are undefined:
|
---|
1289 | ; CFL FL
|
---|
1290 | ;
|
---|
1291 | ; compilation unit finished
|
---|
1292 | ; caught 3 WARNING conditions
|
---|
1293 |
|
---|
1294 | ------------------- CASE 1 -------------------
|
---|
1295 | Condition:
|
---|
1296 | Green list: [ ]
|
---|
1297 | Red list: [ A^2 ]
|
---|
1298 | Basis: [ (A^2) * X + (5 * A) ]
|
---|
1299 | ------------------- CASE 2 -------------------
|
---|
1300 | Condition:
|
---|
1301 | Green list: [ A^2 ]
|
---|
1302 | Red list: [ ]
|
---|
1303 | Basis: [ ]
|
---|
1304 | WARNING: Test 9 - the discriminant of a quadratic polynomial
|
---|
1305 | :B2:B2:B2:B2:B2:B2
|
---|
1306 | ------------------- CASE 1 -------------------
|
---|
1307 | Condition:
|
---|
1308 | Green list: [ ]
|
---|
1309 | Red list: [ A, 4 * A * C - B^2 ]
|
---|
1310 | Basis: [ (4 * A * C - B^2) ]
|
---|
1311 | ------------------- CASE 2 -------------------
|
---|
1312 | Condition:
|
---|
1313 | Green list: [ 4 * A * C - B^2 ]
|
---|
1314 | Red list: [ A ]
|
---|
1315 | Basis: [ (2 * A) * X + (B) ]
|
---|
1316 | WARNING: Test 10 - the discriminant of a cubic polynomial
|
---|
1317 | :B2:B2:B2:B2:B2:B2
|
---|
1318 | ------------------- CASE 1 -------------------
|
---|
1319 | Condition:
|
---|
1320 | Green list: [ ]
|
---|
1321 | Red list: [ P, 4 * P^3 + 27 * Q^2 ]
|
---|
1322 | Basis: [ ( - 4 * P^3 - 27 * Q^2) ]
|
---|
1323 | ------------------- CASE 2 -------------------
|
---|
1324 | Condition:
|
---|
1325 | Green list: [ 4 * P^3 + 27 * Q^2 ]
|
---|
1326 | Red list: [ P ]
|
---|
1327 | Basis: [ (2 * P) * X + (3 * Q) ]
|
---|
1328 | ------------------- CASE 3 -------------------
|
---|
1329 | Condition:
|
---|
1330 | Green list: [ P ]
|
---|
1331 | Red list: [ Q ]
|
---|
1332 | Basis: [ (3 * Q) ]
|
---|
1333 | ------------------- CASE 4 -------------------
|
---|
1334 | Condition:
|
---|
1335 | Green list: [ P, Q ]
|
---|
1336 | Red list: [ ]
|
---|
1337 | Basis: [ (3) * X^2 + (0) ]
|
---|
1338 | WARNING: Test 11 - the discriminant of a quartic polynomial
|
---|
1339 | :B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2:B2
|
---|
1340 | ------------------- CASE 1 -------------------
|
---|
1341 | Condition:
|
---|
1342 | Green list: [ ]
|
---|
1343 | Red list: [ 16 * P^4 * R - 4 * P^3 * Q^2 - 128 * P^2 * R^2 + 144 * P * Q^2 * R - 27 * Q^4 + 256 * R^3, P, 2 * P^3 - 8 * P * R + 9 * Q^2 ]
|
---|
1344 | Basis: [ (16 * P^6 * R - 4 * P^5 * Q^2 - 128 * P^4 * R^2 + 144 * P^3 * Q^2 * R - 27 * P^2 * Q^4 + 256 * P^2 * R^3) ]
|
---|
1345 | ------------------- CASE 2 -------------------
|
---|
1346 | Condition:
|
---|
1347 | Green list: [ 16 * P^4 * R - 4 * P^3 * Q^2 - 128 * P^2 * R^2 + 144 * P * Q^2 * R - 27 * Q^4 + 256 * R^3 ]
|
---|
1348 | Red list: [ P, 2 * P^3 - 8 * P * R + 9 * Q^2 ]
|
---|
1349 | Basis: [ ( - 2 * P^3 + 8 * P * R - 9 * Q^2) * X + ( - P^2 * Q - 12 * Q * R) ]
|
---|
1350 | ------------------- CASE 3 -------------------
|
---|
1351 | Condition:
|
---|
1352 | Green list: [ 2 * P^3 - 8 * P * R + 9 * Q^2 ]
|
---|
1353 | Red list: [ P, P^2 * Q + 12 * Q * R ]
|
---|
1354 | Basis: [ ( - P^2 * Q - 12 * Q * R) ]
|
---|
1355 | ------------------- CASE 4 -------------------
|
---|
1356 | Condition:
|
---|
1357 | Green list: [ 2 * P^3 - 8 * P * R + 9 * Q^2, P^2 * Q + 12 * Q * R, 32 * P * Q * R - 9 * Q^3, 3 * P * Q^3 + 128 * Q * R^2, 27 * Q^5 + 4096 * Q * R^3, 8 * P^2 * R - 3 * P * Q^2 - 32 * R^2 ]
|
---|
1358 | Red list: [ P ]
|
---|
1359 | Basis: [ (2 * P) * X^2 + (3 * Q) * X + (4 * R) ]
|
---|
1360 | ------------------- CASE 5 -------------------
|
---|
1361 | Condition:
|
---|
1362 | Green list: [ P ]
|
---|
1363 | Red list: [ Q, 72 * P * Q^2 * R - 27 * Q^4 + 256 * R^3 ]
|
---|
1364 | Basis: [ (27 * Q^4 - 256 * R^3) ]
|
---|
1365 | ------------------- CASE 6 -------------------
|
---|
1366 | Condition:
|
---|
1367 | Green list: [ P, 27 * Q^4 - 256 * R^3 ]
|
---|
1368 | Red list: [ Q ]
|
---|
1369 | Basis: [ (3 * Q) * X + (4 * R) ]
|
---|
1370 | ------------------- CASE 7 -------------------
|
---|
1371 | Condition:
|
---|
1372 | Green list: [ P, Q ]
|
---|
1373 | Red list: [ R ]
|
---|
1374 | Basis: [ (4 * R) ]
|
---|
1375 | ------------------- CASE 8 -------------------
|
---|
1376 | Condition:
|
---|
1377 | Green list: [ P, Q, R ]
|
---|
1378 | Red list: [ ]
|
---|
1379 | Basis: [ (4) * X^3 + (0) * X + (0) ]WARNING: Test 1
|
---|
1380 | ------------------- CASE 1 -------------------
|
---|
1381 | Condition:
|
---|
1382 | Green list: [ ]
|
---|
1383 | Red list: [ ]
|
---|
1384 | Basis: [ (4) * X + (5) * Y, ( - 10) * Y^2 ]
|
---|
1385 | WARNING: Test 2 - Enneper
|
---|
1386 | ------------------- CASE 1 -------------------
|
---|
1387 | Condition:
|
---|
1388 | Green list: [ ]
|
---|
1389 | Red list: [ ]
|
---|
1390 | Basis: [ ( - 3) * U^2 + (3) * V^2 + (1) * Z, (2) * V^3 + (1) * V * Z + (3) * V + ( - 1) * Y, ( - 6) * U * V^2 + (1) * U * Z + ( - 9) * U + (3) * X, (4) * U * V * Z + ( - 3) * U * Y + (3) * V * X, (9) * U * V * Y + ( - 2) * U * Z^2 + (18) * U * Z + ( - 9) * V^2 * X + ( - 6) * X * Z, ( - 27) * U * Y^2 + (8) * U * Z^3 + ( - 72) * U * Z^2 + (36) * V^2 * X * Z + (27) * V * X * Y + (24) * X * Z^2, (34992) * V^2 * X^2 + ( - 34992) * V^2 * Y^2 + ( - 186624) * V^2 * Z + ( - 15552) * V * Y * Z^2 + (46656) * V * Y * Z + (15552) * X^2 * Z + (93312) * X^2 + (19440) * Y^2 * Z + ( - 93312) * Y^2 + ( - 576) * Z^4 + (6912) * Z^3 + (15552) * Z^2 + ( - 279936) * Z, (139968) * U * X + (93312) * V^2 * Z + ( - 139968) * V * Y + (15552) * Z^2 + ( - 139968) * Z, (105815808) * V^2 * Y * Z + (52907904) * V * X^2 + ( - 52907904) * V * Y^2 + (15676416) * V * Z^3 + (141087744) * V * Z^2 + ( - 17635968) * Y * Z^2 + ( - 52907904) * Y * Z, (31104) * V^2 * Z^2 + (93312) * V^2 * Z + ( - 93312) * V * Y * Z + ( - 46656) * X^2 + (46656) * Y^2 + (1728) * Z^3 + ( - 31104) * Z^2 + (139968) * Z, (8817984) * V * X^2 * Z + (26453952) * V * X^2 + (44089920) * V * Y^2 * Z + ( - 26453952) * V * Y^2 + (2612736) * V * Z^4 + (31352832) * V * Z^3 + (70543872) * V * Z^2 + (26453952) * X^2 * Y + ( - 26453952) * Y^3 + ( - 3919104) * Y * Z^3 + ( - 105815808) * Y * Z, ( - 158723712) * V * X^2 * Y + ( - 317447424) * V * Y^3 * Z + (158723712) * V * Y^3 + ( - 23514624) * V * Y * Z^4 + ( - 188116992) * V * Y * Z^3 + ( - 634894848) * V * Y * Z^2 + (26453952) * X^4 + ( - 211631616) * X^2 * Y^2 + (6858432) * X^2 * Z^3 + (88179840) * X^2 * Z^2 + ( - 79361856) * X^2 * Z + (185177664) * Y^4 + (34292160) * Y^2 * Z^3 + ( - 35271936) * Y^2 * Z^2 + (714256704) * Y^2 * Z + ( - 290304) * Z^6 + (2612736) * Z^5 + (23514624) * Z^4 + ( - 211631616) * Z^3, ( - 317447424) * V * Y^3 * Z^2 + ( - 23514624) * V * Y * Z^5 + ( - 211631616) * V * Y * Z^4 + ( - 634894848) * V * Y * Z^3 + ( - 634894848) * V * Y * Z^2 + (26453952) * X^4 * Z + (79361856) * X^4 + ( - 211631616) * X^2 * Y^2 * Z + ( - 158723712) * X^2 * Y^2 + (6858432) * X^2 * Z^4 + (108755136) * X^2 * Z^3 + (185177664) * X^2 * Z^2 + ( - 238085568) * X^2 * Z + (185177664) * Y^4 * Z + (79361856) * Y^4 + (34292160) * Y^2 * Z^4 + ( - 2939328) * Y^2 * Z^3 + (608440896) * Y^2 * Z^2 + (238085568) * Y^2 * Z + ( - 290304) * Z^7 + (1741824) * Z^6 + (31352832) * Z^5 + ( - 141087744) * Z^4 + ( - 634894848) * Z^3, (79361856) * V * X^4 + (2539579392) * V * X^2 + (317447424) * V * Y^4 * Z + ( - 79361856) * V * Y^4 + (23514624) * V * Y^2 * Z^4 + (117573120) * V * Y^2 * Z^3 + ( - 423263232) * V * Y^2 * Z^2 + (5079158784) * V * Y^2 * Z + ( - 2539579392) * V * Y^2 + ( - 6967296) * V * Z^6 + ( - 125411328) * V * Z^5 + ( - 564350976) * V * Z^4 + (752467968) * V * Z^3 + (6772211712) * V * Z^2 + ( - 26453952) * X^4 * Y + (211631616) * X^2 * Y^3 + ( - 6858432) * X^2 * Y * Z^3 + ( - 255721536) * X^2 * Y * Z^2 + ( - 846526464) * X^2 * Y * Z + (2539579392) * X^2 * Y + ( - 185177664) * Y^5 + ( - 34292160) * Y^3 * Z^3 + (44089920) * Y^3 * Z^2 + (211631616) * Y^3 * Z + ( - 2539579392) * Y^3 + (290304) * Y * Z^6 + (10450944) * Y * Z^5 + (7838208) * Y * Z^4 + (188116992) * Y * Z^3 + (3386105856) * Y * Z^2 + ( - 10158317568) * Y * Z, ( - 714256704) * X^6 + (2142770112) * X^4 * Y^2 + ( - 396809280) * X^4 * Z^3 + ( - 4285540224) * X^4 * Z^2 + (2142770112) * X^4 * Z + ( - 2142770112) * X^2 * Y^4 + ( - 2063408256) * X^2 * Y^2 * Z^3 + ( - 4285540224) * X^2 * Y^2 * Z + ( - 47029248) * X^2 * Z^6 + ( - 1269789696) * X^2 * Z^5 + ( - 6348948480) * X^2 * Z^4 + (11428107264) * X^2 * Z^3 + (714256704) * Y^6 + ( - 396809280) * Y^4 * Z^3 + (4285540224) * Y^4 * Z^2 + (2142770112) * Y^4 * Z + (47029248) * Y^2 * Z^6 + ( - 1269789696) * Y^2 * Z^5 + (6348948480) * Y^2 * Z^4 + (11428107264) * Y^2 * Z^3 + (2322432) * Z^9 + ( - 376233984) * Z^7 + (15237476352) * Z^5 ]
|
---|
1391 | Args:[ U^3 - 3 * U * V^2 - 3 * U + X, - 3 * U^2 * V + V^3 - 3 * V + Y, - 3 * U^2 + 3 * V^2 + Z ][ 3 * U^2 - 3 * V^2 - Z, 6 * U * V^2 - U * Z + 9 * U - 3 * X, 2 * V^3 + V * Z + 3 * V - Y, 4 * U * V * Z - 3 * U * Y + 3 * V * X, 9 * U * X + 6 * V^2 * Z - 9 * V * Y + Z^2 - 9 * Z, 9 * U * V * Y - 2 * U * Z^2 + 18 * U * Z - 9 * V^2 * X - 6 * X * Z, 27 * U * Y^2 - 8 * U * Z^3 + 72 * U * Z^2 - 36 * V^2 * X * Z - 27 * V * X * Y - 24 * X * Z^2, 18 * V^2 * Z^2 + 54 * V^2 * Z - 54 * V * Y * Z - 27 * X^2 + 27 * Y^2 + Z^3 - 18 * Z^2 + 81 * Z, 243 * V^2 * X^2 - 243 * V^2 * Y^2 - 1296 * V^2 * Z - 108 * V * Y * Z^2 + 324 * V * Y * Z + 108 * X^2 * Z + 648 * X^2 + 135 * Y^2 * Z - 648 * Y^2 - 4 * Z^4 + 48 * Z^3 + 108 * Z^2 - 1944 * Z, 54 * V^2 * Y * Z + 27 * V * X^2 - 27 * V * Y^2 + 8 * V * Z^3 + 72 * V * Z^2 - 9 * Y * Z^2 - 27 * Y * Z, 27 * V * X^2 * Z + 81 * V * X^2 + 135 * V * Y^2 * Z - 81 * V * Y^2 + 8 * V * Z^4 + 96 * V * Z^3 + 216 * V * Z^2 + 81 * X^2 * Y - 81 * Y^3 - 12 * Y * Z^3 - 324 * Y * Z, 4374 * V * X^2 * Y + 8748 * V * Y^3 * Z - 4374 * V * Y^3 + 648 * V * Y * Z^4 + 5184 * V * Y * Z^3 + 17496 * V * Y * Z^2 - 729 * X^4 + 5832 * X^2 * Y^2 - 189 * X^2 * Z^3 - 2430 * X^2 * Z^2 + 2187 * X^2 * Z - 5103 * Y^4 - 945 * Y^2 * Z^3 + 972 * Y^2 * Z^2 - 19683 * Y^2 * Z + 8 * Z^6 - 72 * Z^5 - 648 * Z^4 + 5832 * Z^3, 8748 * V * Y^3 * Z^2 + 648 * V * Y * Z^5 + 5832 * V * Y * Z^4 + 17496 * V * Y * Z^3 + 17496 * V * Y * Z^2 - 729 * X^4 * Z - 2187 * X^4 + 5832 * X^2 * Y^2 * Z + 4374 * X^2 * Y^2 - 189 * X^2 * Z^4 - 2997 * X^2 * Z^3 - 5103 * X^2 * Z^2 + 6561 * X^2 * Z - 5103 * Y^4 * Z - 2187 * Y^4 - 945 * Y^2 * Z^4 + 81 * Y^2 * Z^3 - 16767 * Y^2 * Z^2 - 6561 * Y^2 * Z + 8 * Z^7 - 48 * Z^6 - 864 * Z^5 + 3888 * Z^4 + 17496 * Z^3, 19683 * X^6 - 59049 * X^4 * Y^2 + 10935 * X^4 * Z^3 + 118098 * X^4 * Z^2 - 59049 * X^4 * Z + 59049 * X^2 * Y^4 + 56862 * X^2 * Y^2 * Z^3 + 118098 * X^2 * Y^2 * Z + 1296 * X^2 * Z^6 + 34992 * X^2 * Z^5 + 174960 * X^2 * Z^4 - 314928 * X^2 * Z^3 - 19683 * Y^6 + 10935 * Y^4 * Z^3 - 118098 * Y^4 * Z^2 - 59049 * Y^4 * Z - 1296 * Y^2 * Z^6 + 34992 * Y^2 * Z^5 - 174960 * Y^2 * Z^4 - 314928 * Y^2 * Z^3 - 64 * Z^9 + 10368 * Z^7 - 419904 * Z^5, 2187 * V * X^4 + 69984 * V * X^2 + 8748 * V * Y^4 * Z - 2187 * V * Y^4 + 648 * V * Y^2 * Z^4 + 3240 * V * Y^2 * Z^3 - 11664 * V * Y^2 * Z^2 + 139968 * V * Y^2 * Z - 69984 * V * Y^2 - 192 * V * Z^6 - 3456 * V * Z^5 - 15552 * V * Z^4 + 20736 * V * Z^3 + 186624 * V * Z^2 - 729 * X^4 * Y + 5832 * X^2 * Y^3 - 189 * X^2 * Y * Z^3 - 7047 * X^2 * Y * Z^2 - 23328 * X^2 * Y * Z + 69984 * X^2 * Y - 5103 * Y^5 - 945 * Y^3 * Z^3 + 1215 * Y^3 * Z^2 + 5832 * Y^3 * Z - 69984 * Y^3 + 8 * Y * Z^6 + 288 * Y * Z^5 + 216 * Y * Z^4 + 5184 * Y * Z^3 + 93312 * Y * Z^2 - 279936 * Y * Z ]
|
---|
1392 | WARNING: Test 3 - staple
|
---|
1393 | ------------------- CASE 1 -------------------
|
---|
1394 | Condition:
|
---|
1395 | Green list: [ ]
|
---|
1396 | Red list: [ U - 1 ]
|
---|
1397 | Basis: [ (U - 1) * X, ( - U + 1) * Y ]
|
---|
1398 | ------------------- CASE 2 -------------------
|
---|
1399 | Condition:
|
---|
1400 | Green list: [ U - 1 ]
|
---|
1401 | Red list: [ ]
|
---|
1402 | Basis: [ (1) * X + (1) * Y ]
|
---|
1403 | WARNING: Test 4 - staple
|
---|
1404 | ------------------- CASE 1 -------------------
|
---|
1405 | Condition:
|
---|
1406 | Green list: [ U ]
|
---|
1407 | Red list: [ ]
|
---|
1408 | Basis: [ (1) * X, (1) * Y ]
|
---|
1409 | ------------------- CASE 2 -------------------
|
---|
1410 | Condition:
|
---|
1411 | Green list: [ ]
|
---|
1412 | Red list: [ U, U - 1 ]
|
---|
1413 | Basis: [ (U^2 - U) * X, (U - 1) * Y ]
|
---|
1414 | ------------------- CASE 3 -------------------
|
---|
1415 | Condition:
|
---|
1416 | Green list: [ U - 1 ]
|
---|
1417 | Red list: [ U ]
|
---|
1418 | Basis: [ (1) * X + (1) * Y ]
|
---|
1419 | WARNING: Test 5 - a small robot example
|
---|
1420 | ------------------- CASE 1 -------------------
|
---|
1421 | Condition:
|
---|
1422 | Green list: [ ]
|
---|
1423 | Red list: [ L3, A^2 + B^2, L2, A ]
|
---|
1424 | Basis: [ ( - 2 * A * L2 * L3) * S2 + ( - 2 * A^2 * L2 - 2 * B^2 * L2) * S1 + (A^2 * B + B^3 + B * L2^2 - B * L3^2), ( - 2 * L2 * L3) * C2 + (A^2 + B^2 - L2^2 - L3^2), ( - 2 * A * L2) * C1 + ( - 2 * B * L2) * S1 + (A^2 + B^2 + L2^2 - L3^2), (4 * A^2 * L2^2 + 4 * B^2 * L2^2) * S1^2 + ( - 4 * A^2 * B * L2 - 4 * B^3 * L2 - 4 * B * L2^3 + 4 * B * L2 * L3^2) * S1 + (A^4 + 2 * A^2 * B^2 - 2 * A^2 * L2^2 - 2 * A^2 * L3^2 + B^4 + 2 * B^2 * L2^2 - 2 * B^2 * L3^2 + L2^4 - 2 * L2^2 * L3^2 + L3^4) ]
|
---|
1425 | ------------------- CASE 2 -------------------
|
---|
1426 | Condition:
|
---|
1427 | Green list: [ A^2 + B^2 ]
|
---|
1428 | Red list: [ L3, A^2 * B + B^3 + B * L2^2 - B * L3^2, L2, A ]
|
---|
1429 | Basis: [ (4 * A * B * L2^3 * L3 - 4 * A * B * L2 * L3^3) * S2 + ( - 2 * B^2 * L2^4 + 4 * B^2 * L2^2 * L3^2 - 2 * B^2 * L3^4), ( - 2 * L2 * L3) * C2 + ( - L2^2 - L3^2), (4 * A * L2^3 - 4 * A * L2 * L3^2) * C1 + (4 * B^2 * L2^2 - L2^4 + 2 * L2^2 * L3^2 - L3^4), ( - 4 * B * L2^3 + 4 * B * L2 * L3^2) * S1 + (4 * B^2 * L2^2 + L2^4 - 2 * L2^2 * L3^2 + L3^4) ]
|
---|
1430 | ------------------- CASE 3 -------------------
|
---|
1431 | Condition:
|
---|
1432 | Green list: [ A^2 + B^2, L2^2 - L3^2 ]
|
---|
1433 | Red list: [ L3, A, L2, A^4 + 2 * A^2 * B^2 - 2 * A^2 * L2^2 - 2 * A^2 * L3^2 + B^4 + 2 * B^2 * L2^2 - 2 * B^2 * L3^2 + L2^4 - 2 * L2^2 * L3^2 + L3^4 ]
|
---|
1434 | Basis: [ (4 * B^2 * L3^2) ]
|
---|
1435 | ------------------- CASE 4 -------------------
|
---|
1436 | Condition:
|
---|
1437 | Green list: [ A ]
|
---|
1438 | Red list: [ L3, B, L2 ]
|
---|
1439 | Basis: [ (4 * B^2 * L2^2) * C1^2 + (B^4 - 2 * B^2 * L2^2 - 2 * B^2 * L3^2 + L2^4 - 2 * L2^2 * L3^2 + L3^4), (2 * B * L2 * L3) * S2 + ( - 2 * B^2 * L2) * C1 + (0), ( - 2 * L2 * L3) * C2 + (0) * C1 + (B^2 - L2^2 - L3^2), ( - 2 * B * L2) * S1 + (B^2 + L2^2 - L3^2) ]
|
---|
1440 | ------------------- CASE 5 -------------------
|
---|
1441 | Condition:
|
---|
1442 | Green list: [ A, B ]
|
---|
1443 | Red list: [ L3, L2, A^2 + B^2 + L2^2 - L3^2 ]
|
---|
1444 | Basis: [ (L2^2 - L3^2) ]
|
---|
1445 | ------------------- CASE 6 -------------------
|
---|
1446 | Condition:
|
---|
1447 | Green list: [ A, B, L2^2 - L3^2 ]
|
---|
1448 | Red list: [ L3, L2 ]
|
---|
1449 | Basis: [ (1) * C1^2 + (1) * S1^2 + ( - 1), (L3) * S2 + (0) * C1 + (0) * S1, (L3) * C2 + (0) * C1 + (0) * S1 + (L2) ]
|
---|
1450 | WARNING: Test 6 - Circle of Apollonius
|
---|
1451 | ------------------- CASE 1 -------------------
|
---|
1452 | Condition:
|
---|
1453 | Green list: [ U2, U1 ]
|
---|
1454 | Red list: [ ]
|
---|
1455 | Basis: [ (2) * X1 + (0), (2) * X2 + (0), (2) * X3 + (0), (2) * X4 + (0), ( - 4) * X6^2 + (8) * X6 * X8 + (0) * X8 + (0), (4) * S * X5^2 + ( - 8) * S * X5 * X7 + (0) * S * X7 + (0) * S * X8 + (0) * S + ( - 4) ]
|
---|
1456 | ------------------- CASE 2 -------------------
|
---|
1457 | Condition:
|
---|
1458 | Green list: [ U2 ]
|
---|
1459 | Red list: [ U1 ]
|
---|
1460 | Basis: [ ( - 4 * U1^3) ]
|
---|
1461 | ------------------- CASE 3 -------------------
|
---|
1462 | Condition:
|
---|
1463 | Green list: [ U1 ]
|
---|
1464 | Red list: [ U2 ]
|
---|
1465 | Basis: [ (4 * U2^2) ]
|
---|
1466 | ------------------- CASE 4 -------------------
|
---|
1467 | Condition:
|
---|
1468 | Green list: [ ]
|
---|
1469 | Red list: [ U1, U2, U1^2 - U2^2, U1^2 + U2^2 ]
|
---|
1470 | Basis: [ (2) * X1 + ( - U1), (2) * X2 + ( - U2), (2) * X3 + ( - U1), (2) * X4 + ( - U2), (U1^2 * U2 + U2^3) * X5 + ( - U1 * U2^3), ( - U1^2 - U2^2) * X6 + (U1^2 * U2), ( - 4 * U1^5 + 4 * U1 * U2^4) * X7 + (U1^6 + 2 * U1^4 * U2^2 - 3 * U1^2 * U2^4), ( - 4 * U1^4 * U2 + 4 * U2^5) * X8 + (3 * U1^4 * U2^2 - 2 * U1^2 * U2^4 - U2^6), (2 * U1^6 * U2^2 - 2 * U1^4 * U2^4) * S + (4 * U1^6 - 4 * U1^2 * U2^4) ]
|
---|
1471 | ------------------- CASE 5 -------------------
|
---|
1472 | Condition:
|
---|
1473 | Green list: [ U1^2 - U2^2 ]
|
---|
1474 | Red list: [ U1, U1^2 + U2^2, U2 ]
|
---|
1475 | Basis: [ (2) * X1 + ( - U1), (2) * X2 + ( - U2), (2) * X3 + ( - U1), (2) * X4 + ( - U2), (2 * U2^3) * X5 + ( - U1 * U2^3), ( - 2 * U2^2) * X6 + (U2^3), (4 * U1) * X7 + ( - 4 * U2) * X8 + (0), ( - 8 * U2^5) * S * X8 + (2 * U2^6) * S + ( - 8 * U2^4) ]
|
---|
1476 | ------------------- CASE 6 -------------------
|
---|
1477 | Condition:
|
---|
1478 | Green list: [ U1^2 + U2^2 ]
|
---|
1479 | Red list: [ U1, U2 ]
|
---|
1480 | Basis: [ ( - U2^3) ]
|
---|
1481 | WARNING: Test 7
|
---|
1482 |
|
---|
1483 | ; in: LAMBDA NIL
|
---|
1484 | ; (SETF CGB-LISP::FL
|
---|
1485 | ; (CDR
|
---|
1486 | ; (PARSE:PARSE-STRING-TO-SORTED-ALIST
|
---|
1487 | ; "[a^2*x^2*y+b*x^2*y+a^3*b*x*y+a^3*c*x*y,c^2*a*x^2+c^2*b*x^2+b*y+4]"
|
---|
1488 | ; '(CGB-LISP::X CGB-LISP::Y CGB-LISP::A CGB-LISP::B CGB-LISP::C))))
|
---|
1489 | ; ==>
|
---|
1490 | ; (SETQ CGB-LISP::FL
|
---|
1491 | ; (CDR
|
---|
1492 | ; (PARSE:PARSE-STRING-TO-SORTED-ALIST
|
---|
1493 | ; "[a^2*x^2*y+b*x^2*y+a^3*b*x*y+a^3*c*x*y,c^2*a*x^2+c^2*b*x^2+b*y+4]"
|
---|
1494 | ; '(CGB-LISP::X CGB-LISP::Y CGB-LISP::A CGB-LISP::B CGB-LISP::C))))
|
---|
1495 | ;
|
---|
1496 | ; caught WARNING:
|
---|
1497 | ; undefined variable: FL
|
---|
1498 |
|
---|
1499 | ;
|
---|
1500 | ; caught WARNING:
|
---|
1501 | ; This variable is undefined:
|
---|
1502 | ; FL
|
---|
1503 | ;
|
---|
1504 | ; compilation unit finished
|
---|
1505 | ; caught 2 WARNING conditions
|
---|
1506 |
|
---|
1507 | ; in: LAMBDA NIL
|
---|
1508 | ; (SETF CGB-LISP::CFL (COLORED-POLY:MAKE-COLORED-POLY-LIST CGB-LISP::FL 2))
|
---|
1509 | ; ==>
|
---|
1510 | ; (SETQ CGB-LISP::CFL (COLORED-POLY:MAKE-COLORED-POLY-LIST CGB-LISP::FL 2))
|
---|
1511 | ;
|
---|
1512 | ; caught WARNING:
|
---|
1513 | ; undefined variable: CFL
|
---|
1514 |
|
---|
1515 | ; (COLORED-POLY:MAKE-COLORED-POLY-LIST CGB-LISP::FL 2)
|
---|
1516 | ;
|
---|
1517 | ; caught WARNING:
|
---|
1518 | ; undefined variable: FL
|
---|
1519 |
|
---|
1520 | ;
|
---|
1521 | ; caught WARNING:
|
---|
1522 | ; These variables are undefined:
|
---|
1523 | ; CFL FL
|
---|
1524 | ;
|
---|
1525 | ; compilation unit finished
|
---|
1526 | ; caught 3 WARNING conditions
|
---|
1527 | ------------------- CASE 1 -------------------
|
---|
1528 | Condition:
|
---|
1529 | Green list: [ ]
|
---|
1530 | Red list: [ A * C^2 + B * C^2, A^2 + B ]
|
---|
1531 | Basis: [ (A^2 + B) * X^2 * Y + (A^3 * B + A^3 * C) * X * Y, (A * C^2 + B * C^2) * X^2 + (B) * Y + (4) ]
|
---|
1532 | ------------------- CASE 2 -------------------
|
---|
1533 | Condition:
|
---|
1534 | Green list: [ A^2 + B ]
|
---|
1535 | Red list: [ A * C^2 + B * C^2, A^3 * B + A^3 * C ]
|
---|
1536 | Basis: [ (A^3 * B + A^3 * C) * X * Y, (A * C^2 + B * C^2) * X^2 + (B) * Y + (4) ]
|
---|
1537 | ------------------- CASE 3 -------------------
|
---|
1538 | Condition:
|
---|
1539 | Green list: [ B + C, A^2 - C ]
|
---|
1540 | Red list: [ A * C^2 + B * C^2 ]
|
---|
1541 | Basis: [ (A * C^2 + B * C^2) * X^2 + (B) * Y + (4) ]
|
---|
1542 | ------------------- CASE 4 -------------------
|
---|
1543 | Condition:
|
---|
1544 | Green list: [ A * C^2 + B * C^2 ]
|
---|
1545 | Red list: [ B, A^2 + B ]
|
---|
1546 | Basis: [ (A^2 + B) * X^2 * Y + (A^3 * B + A^3 * C) * X * Y, (B) * Y + (4) ]
|
---|
1547 | ------------------- CASE 5 -------------------
|
---|
1548 | Condition:
|
---|
1549 | Green list: [ A^2 + B, B * C^2 + C^2, A * C^2 - C^2 ]
|
---|
1550 | Red list: [ B, A^3 * B + A^3 * C ]
|
---|
1551 | Basis: [ (A^3 * B + A^3 * C) * X * Y, (B) * Y + (4) ]
|
---|
1552 | ------------------- CASE 6 -------------------
|
---|
1553 | Condition:
|
---|
1554 | Green list: [ C - 1, B + 1, A - 1 ]
|
---|
1555 | Red list: [ B ]
|
---|
1556 | Basis: [ (B) * Y + (4) ]
|
---|
1557 | ------------------- CASE 7 -------------------
|
---|
1558 | Condition:
|
---|
1559 | Green list: [ B, C^2 ]
|
---|
1560 | Red list: [ 4, A^2 + B ]
|
---|
1561 | Basis: [ (A^2 + B) * X^2 * Y + (A^3 * B + A^3 * C) * X * Y, (4) ]
|
---|
1562 | ------------------- CASE 8 -------------------
|
---|
1563 | Condition:
|
---|
1564 | Green list: [ B, A * C^2, A^2 ]
|
---|
1565 | Red list: [ 4 ]
|
---|
1566 | Basis: [ (4) ]
|
---|
1567 | WARNING: Test 8
|
---|
1568 |
|
---|
1569 | ; in: LAMBDA NIL
|
---|
1570 | ; (SETF CGB-LISP::FL
|
---|
1571 | ; (CDR
|
---|
1572 | ; (PARSE:PARSE-STRING-TO-SORTED-ALIST "[a^2*x+5*a]"
|
---|
1573 | ; '(CGB-LISP::X CGB-LISP::A))))
|
---|
1574 | ; ==>
|
---|
1575 | ; (SETQ CGB-LISP::FL
|
---|
1576 | ; (CDR
|
---|
1577 | ; (PARSE:PARSE-STRING-TO-SORTED-ALIST "[a^2*x+5*a]"
|
---|
1578 | ; '(CGB-LISP::X CGB-LISP::A))))
|
---|
1579 | ;
|
---|
1580 | ; caught WARNING:
|
---|
1581 | ; undefined variable: FL
|
---|
1582 |
|
---|
1583 | ;
|
---|
1584 | ; caught WARNING:
|
---|
1585 | ; This variable is undefined:
|
---|
1586 | ; FL
|
---|
1587 | ;
|
---|
1588 | ; compilation unit finished
|
---|
1589 | ; caught 2 WARNING conditions
|
---|
1590 |
|
---|
1591 | ; in: LAMBDA NIL
|
---|
1592 | ; (SETF CGB-LISP::CFL (COLORED-POLY:MAKE-COLORED-POLY-LIST CGB-LISP::FL 1))
|
---|
1593 | ; ==>
|
---|
1594 | ; (SETQ CGB-LISP::CFL (COLORED-POLY:MAKE-COLORED-POLY-LIST CGB-LISP::FL 1))
|
---|
1595 | ;
|
---|
1596 | ; caught WARNING:
|
---|
1597 | ; undefined variable: CFL
|
---|
1598 |
|
---|
1599 | ; (COLORED-POLY:MAKE-COLORED-POLY-LIST CGB-LISP::FL 1)
|
---|
1600 | ;
|
---|
1601 | ; caught WARNING:
|
---|
1602 | ; undefined variable: FL
|
---|
1603 |
|
---|
1604 | ;
|
---|
1605 | ; caught WARNING:
|
---|
1606 | ; These variables are undefined:
|
---|
1607 | ; CFL FL
|
---|
1608 | ;
|
---|
1609 | ; compilation unit finished
|
---|
1610 | ; caught 3 WARNING conditions
|
---|
1611 | ------------------- CASE 1 -------------------
|
---|
1612 | Condition:
|
---|
1613 | Green list: [ ]
|
---|
1614 | Red list: [ A^2 ]
|
---|
1615 | Basis: [ (A^2) * X + (5 * A) ]
|
---|
1616 | ------------------- CASE 2 -------------------
|
---|
1617 | Condition:
|
---|
1618 | Green list: [ A^2 ]
|
---|
1619 | Red list: [ ]
|
---|
1620 | Basis: [ ]
|
---|
1621 | WARNING: Test 9 - the discriminant of a quadratic polynomial
|
---|
1622 | ------------------- CASE 1 -------------------
|
---|
1623 | Condition:
|
---|
1624 | Green list: [ ]
|
---|
1625 | Red list: [ A, 4 * A * C - B^2 ]
|
---|
1626 | Basis: [ (4 * A * C - B^2) ]
|
---|
1627 | ------------------- CASE 2 -------------------
|
---|
1628 | Condition:
|
---|
1629 | Green list: [ 4 * A * C - B^2 ]
|
---|
1630 | Red list: [ A ]
|
---|
1631 | Basis: [ (2 * A) * X + (B) ]
|
---|
1632 | WARNING: Test 10 - the discriminant of a cubic polynomial
|
---|
1633 | ------------------- CASE 1 -------------------
|
---|
1634 | Condition:
|
---|
1635 | Green list: [ ]
|
---|
1636 | Red list: [ P, 4 * P^3 + 27 * Q^2 ]
|
---|
1637 | Basis: [ ( - 4 * P^3 - 27 * Q^2) ]
|
---|
1638 | ------------------- CASE 2 -------------------
|
---|
1639 | Condition:
|
---|
1640 | Green list: [ 4 * P^3 + 27 * Q^2 ]
|
---|
1641 | Red list: [ P ]
|
---|
1642 | Basis: [ (2 * P) * X + (3 * Q) ]
|
---|
1643 | ------------------- CASE 3 -------------------
|
---|
1644 | Condition:
|
---|
1645 | Green list: [ P ]
|
---|
1646 | Red list: [ Q ]
|
---|
1647 | Basis: [ (3 * Q) ]
|
---|
1648 | ------------------- CASE 4 -------------------
|
---|
1649 | Condition:
|
---|
1650 | Green list: [ P, Q ]
|
---|
1651 | Red list: [ ]
|
---|
1652 | Basis: [ (3) * X^2 + (0) ]
|
---|
1653 | WARNING: Test 11 - the discriminant of a quartic polynomial
|
---|
1654 | ------------------- CASE 1 -------------------
|
---|
1655 | Condition:
|
---|
1656 | Green list: [ ]
|
---|
1657 | Red list: [ 16 * P^4 * R - 4 * P^3 * Q^2 - 128 * P^2 * R^2 + 144 * P * Q^2 * R - 27 * Q^4 + 256 * R^3, P, 2 * P^3 - 8 * P * R + 9 * Q^2 ]
|
---|
1658 | Basis: [ (16 * P^6 * R - 4 * P^5 * Q^2 - 128 * P^4 * R^2 + 144 * P^3 * Q^2 * R - 27 * P^2 * Q^4 + 256 * P^2 * R^3) ]
|
---|
1659 | ------------------- CASE 2 -------------------
|
---|
1660 | Condition:
|
---|
1661 | Green list: [ 16 * P^4 * R - 4 * P^3 * Q^2 - 128 * P^2 * R^2 + 144 * P * Q^2 * R - 27 * Q^4 + 256 * R^3 ]
|
---|
1662 | Red list: [ P, 2 * P^3 - 8 * P * R + 9 * Q^2 ]
|
---|
1663 | Basis: [ ( - 2 * P^3 + 8 * P * R - 9 * Q^2) * X + ( - P^2 * Q - 12 * Q * R) ]
|
---|
1664 | ------------------- CASE 3 -------------------
|
---|
1665 | Condition:
|
---|
1666 | Green list: [ 2 * P^3 - 8 * P * R + 9 * Q^2 ]
|
---|
1667 | Red list: [ P, P^2 * Q + 12 * Q * R ]
|
---|
1668 | Basis: [ ( - P^2 * Q - 12 * Q * R) ]
|
---|
1669 | ------------------- CASE 4 -------------------
|
---|
1670 | Condition:
|
---|
1671 | Green list: [ 2 * P^3 - 8 * P * R + 9 * Q^2, P^2 * Q + 12 * Q * R, 32 * P * Q * R - 9 * Q^3, 3 * P * Q^3 + 128 * Q * R^2, 27 * Q^5 + 4096 * Q * R^3, 8 * P^2 * R - 3 * P * Q^2 - 32 * R^2 ]
|
---|
1672 | Red list: [ P ]
|
---|
1673 | Basis: [ (2 * P) * X^2 + (3 * Q) * X + (4 * R) ]
|
---|
1674 | ------------------- CASE 5 -------------------
|
---|
1675 | Condition:
|
---|
1676 | Green list: [ P ]
|
---|
1677 | Red list: [ Q, 72 * P * Q^2 * R - 27 * Q^4 + 256 * R^3 ]
|
---|
1678 | Basis: [ (27 * Q^4 - 256 * R^3) ]
|
---|
1679 | ------------------- CASE 6 -------------------
|
---|
1680 | Condition:
|
---|
1681 | Green list: [ P, 27 * Q^4 - 256 * R^3 ]
|
---|
1682 | Red list: [ Q ]
|
---|
1683 | Basis: [ (3 * Q) * X + (4 * R) ]
|
---|
1684 | ------------------- CASE 7 -------------------
|
---|
1685 | Condition:
|
---|
1686 | Green list: [ P, Q ]
|
---|
1687 | Red list: [ R ]
|
---|
1688 | Basis: [ (4 * R) ]
|
---|
1689 | ------------------- CASE 8 -------------------
|
---|
1690 | Condition:
|
---|
1691 | Green list: [ P, Q, R ]
|
---|
1692 | Red list: [ ]
|
---|
1693 | Basis: [ (4) * X^3 + (0) * X + (0) ]WARNING: Test 1
|
---|
1694 | ------------------- CASE 1 -------------------
|
---|
1695 | Condition:
|
---|
1696 | Green list: [ ]
|
---|
1697 | Red list: [ ]
|
---|
1698 | Basis: [ (4) * X + (5) * Y, ( - 10) * Y^2 ]
|
---|
1699 | WARNING: Test 2 - Enneper
|
---|
1700 | ------------------- CASE 1 -------------------
|
---|
1701 | Condition:
|
---|
1702 | Green list: [ ]
|
---|
1703 | Red list: [ ]
|
---|
1704 | Basis: [ ( - 3) * U^2 + (3) * V^2 + (1) * Z, (2) * V^3 + (1) * V * Z + (3) * V + ( - 1) * Y, ( - 6) * U * V^2 + (1) * U * Z + ( - 9) * U + (3) * X, (4) * U * V * Z + ( - 3) * U * Y + (3) * V * X, (9) * U * V * Y + ( - 2) * U * Z^2 + (18) * U * Z + ( - 9) * V^2 * X + ( - 6) * X * Z, ( - 27) * U * Y^2 + (8) * U * Z^3 + ( - 72) * U * Z^2 + (36) * V^2 * X * Z + (27) * V * X * Y + (24) * X * Z^2, (34992) * V^2 * X^2 + ( - 34992) * V^2 * Y^2 + ( - 186624) * V^2 * Z + ( - 15552) * V * Y * Z^2 + (46656) * V * Y * Z + (15552) * X^2 * Z + (93312) * X^2 + (19440) * Y^2 * Z + ( - 93312) * Y^2 + ( - 576) * Z^4 + (6912) * Z^3 + (15552) * Z^2 + ( - 279936) * Z, (139968) * U * X + (93312) * V^2 * Z + ( - 139968) * V * Y + (15552) * Z^2 + ( - 139968) * Z, (105815808) * V^2 * Y * Z + (52907904) * V * X^2 + ( - 52907904) * V * Y^2 + (15676416) * V * Z^3 + (141087744) * V * Z^2 + ( - 17635968) * Y * Z^2 + ( - 52907904) * Y * Z, (31104) * V^2 * Z^2 + (93312) * V^2 * Z + ( - 93312) * V * Y * Z + ( - 46656) * X^2 + (46656) * Y^2 + (1728) * Z^3 + ( - 31104) * Z^2 + (139968) * Z, (8817984) * V * X^2 * Z + (26453952) * V * X^2 + (44089920) * V * Y^2 * Z + ( - 26453952) * V * Y^2 + (2612736) * V * Z^4 + (31352832) * V * Z^3 + (70543872) * V * Z^2 + (26453952) * X^2 * Y + ( - 26453952) * Y^3 + ( - 3919104) * Y * Z^3 + ( - 105815808) * Y * Z, ( - 158723712) * V * X^2 * Y + ( - 317447424) * V * Y^3 * Z + (158723712) * V * Y^3 + ( - 23514624) * V * Y * Z^4 + ( - 188116992) * V * Y * Z^3 + ( - 634894848) * V * Y * Z^2 + (26453952) * X^4 + ( - 211631616) * X^2 * Y^2 + (6858432) * X^2 * Z^3 + (88179840) * X^2 * Z^2 + ( - 79361856) * X^2 * Z + (185177664) * Y^4 + (34292160) * Y^2 * Z^3 + ( - 35271936) * Y^2 * Z^2 + (714256704) * Y^2 * Z + ( - 290304) * Z^6 + (2612736) * Z^5 + (23514624) * Z^4 + ( - 211631616) * Z^3, ( - 317447424) * V * Y^3 * Z^2 + ( - 23514624) * V * Y * Z^5 + ( - 211631616) * V * Y * Z^4 + ( - 634894848) * V * Y * Z^3 + ( - 634894848) * V * Y * Z^2 + (26453952) * X^4 * Z + (79361856) * X^4 + ( - 211631616) * X^2 * Y^2 * Z + ( - 158723712) * X^2 * Y^2 + (6858432) * X^2 * Z^4 + (108755136) * X^2 * Z^3 + (185177664) * X^2 * Z^2 + ( - 238085568) * X^2 * Z + (185177664) * Y^4 * Z + (79361856) * Y^4 + (34292160) * Y^2 * Z^4 + ( - 2939328) * Y^2 * Z^3 + (608440896) * Y^2 * Z^2 + (238085568) * Y^2 * Z + ( - 290304) * Z^7 + (1741824) * Z^6 + (31352832) * Z^5 + ( - 141087744) * Z^4 + ( - 634894848) * Z^3, (79361856) * V * X^4 + (2539579392) * V * X^2 + (317447424) * V * Y^4 * Z + ( - 79361856) * V * Y^4 + (23514624) * V * Y^2 * Z^4 + (117573120) * V * Y^2 * Z^3 + ( - 423263232) * V * Y^2 * Z^2 + (5079158784) * V * Y^2 * Z + ( - 2539579392) * V * Y^2 + ( - 6967296) * V * Z^6 + ( - 125411328) * V * Z^5 + ( - 564350976) * V * Z^4 + (752467968) * V * Z^3 + (6772211712) * V * Z^2 + ( - 26453952) * X^4 * Y + (211631616) * X^2 * Y^3 + ( - 6858432) * X^2 * Y * Z^3 + ( - 255721536) * X^2 * Y * Z^2 + ( - 846526464) * X^2 * Y * Z + (2539579392) * X^2 * Y + ( - 185177664) * Y^5 + ( - 34292160) * Y^3 * Z^3 + (44089920) * Y^3 * Z^2 + (211631616) * Y^3 * Z + ( - 2539579392) * Y^3 + (290304) * Y * Z^6 + (10450944) * Y * Z^5 + (7838208) * Y * Z^4 + (188116992) * Y * Z^3 + (3386105856) * Y * Z^2 + ( - 10158317568) * Y * Z, ( - 714256704) * X^6 + (2142770112) * X^4 * Y^2 + ( - 396809280) * X^4 * Z^3 + ( - 4285540224) * X^4 * Z^2 + (2142770112) * X^4 * Z + ( - 2142770112) * X^2 * Y^4 + ( - 2063408256) * X^2 * Y^2 * Z^3 + ( - 4285540224) * X^2 * Y^2 * Z + ( - 47029248) * X^2 * Z^6 + ( - 1269789696) * X^2 * Z^5 + ( - 6348948480) * X^2 * Z^4 + (11428107264) * X^2 * Z^3 + (714256704) * Y^6 + ( - 396809280) * Y^4 * Z^3 + (4285540224) * Y^4 * Z^2 + (2142770112) * Y^4 * Z + (47029248) * Y^2 * Z^6 + ( - 1269789696) * Y^2 * Z^5 + (6348948480) * Y^2 * Z^4 + (11428107264) * Y^2 * Z^3 + (2322432) * Z^9 + ( - 376233984) * Z^7 + (15237476352) * Z^5 ]
|
---|
1705 | Args:[ U^3 - 3 * U * V^2 - 3 * U + X, - 3 * U^2 * V + V^3 - 3 * V + Y, - 3 * U^2 + 3 * V^2 + Z ][ 3 * U^2 - 3 * V^2 - Z, 6 * U * V^2 - U * Z + 9 * U - 3 * X, 2 * V^3 + V * Z + 3 * V - Y, 4 * U * V * Z - 3 * U * Y + 3 * V * X, 9 * U * X + 6 * V^2 * Z - 9 * V * Y + Z^2 - 9 * Z, 9 * U * V * Y - 2 * U * Z^2 + 18 * U * Z - 9 * V^2 * X - 6 * X * Z, 27 * U * Y^2 - 8 * U * Z^3 + 72 * U * Z^2 - 36 * V^2 * X * Z - 27 * V * X * Y - 24 * X * Z^2, 18 * V^2 * Z^2 + 54 * V^2 * Z - 54 * V * Y * Z - 27 * X^2 + 27 * Y^2 + Z^3 - 18 * Z^2 + 81 * Z, 243 * V^2 * X^2 - 243 * V^2 * Y^2 - 1296 * V^2 * Z - 108 * V * Y * Z^2 + 324 * V * Y * Z + 108 * X^2 * Z + 648 * X^2 + 135 * Y^2 * Z - 648 * Y^2 - 4 * Z^4 + 48 * Z^3 + 108 * Z^2 - 1944 * Z, 54 * V^2 * Y * Z + 27 * V * X^2 - 27 * V * Y^2 + 8 * V * Z^3 + 72 * V * Z^2 - 9 * Y * Z^2 - 27 * Y * Z, 27 * V * X^2 * Z + 81 * V * X^2 + 135 * V * Y^2 * Z - 81 * V * Y^2 + 8 * V * Z^4 + 96 * V * Z^3 + 216 * V * Z^2 + 81 * X^2 * Y - 81 * Y^3 - 12 * Y * Z^3 - 324 * Y * Z, 4374 * V * X^2 * Y + 8748 * V * Y^3 * Z - 4374 * V * Y^3 + 648 * V * Y * Z^4 + 5184 * V * Y * Z^3 + 17496 * V * Y * Z^2 - 729 * X^4 + 5832 * X^2 * Y^2 - 189 * X^2 * Z^3 - 2430 * X^2 * Z^2 + 2187 * X^2 * Z - 5103 * Y^4 - 945 * Y^2 * Z^3 + 972 * Y^2 * Z^2 - 19683 * Y^2 * Z + 8 * Z^6 - 72 * Z^5 - 648 * Z^4 + 5832 * Z^3, 8748 * V * Y^3 * Z^2 + 648 * V * Y * Z^5 + 5832 * V * Y * Z^4 + 17496 * V * Y * Z^3 + 17496 * V * Y * Z^2 - 729 * X^4 * Z - 2187 * X^4 + 5832 * X^2 * Y^2 * Z + 4374 * X^2 * Y^2 - 189 * X^2 * Z^4 - 2997 * X^2 * Z^3 - 5103 * X^2 * Z^2 + 6561 * X^2 * Z - 5103 * Y^4 * Z - 2187 * Y^4 - 945 * Y^2 * Z^4 + 81 * Y^2 * Z^3 - 16767 * Y^2 * Z^2 - 6561 * Y^2 * Z + 8 * Z^7 - 48 * Z^6 - 864 * Z^5 + 3888 * Z^4 + 17496 * Z^3, 19683 * X^6 - 59049 * X^4 * Y^2 + 10935 * X^4 * Z^3 + 118098 * X^4 * Z^2 - 59049 * X^4 * Z + 59049 * X^2 * Y^4 + 56862 * X^2 * Y^2 * Z^3 + 118098 * X^2 * Y^2 * Z + 1296 * X^2 * Z^6 + 34992 * X^2 * Z^5 + 174960 * X^2 * Z^4 - 314928 * X^2 * Z^3 - 19683 * Y^6 + 10935 * Y^4 * Z^3 - 118098 * Y^4 * Z^2 - 59049 * Y^4 * Z - 1296 * Y^2 * Z^6 + 34992 * Y^2 * Z^5 - 174960 * Y^2 * Z^4 - 314928 * Y^2 * Z^3 - 64 * Z^9 + 10368 * Z^7 - 419904 * Z^5, 2187 * V * X^4 + 69984 * V * X^2 + 8748 * V * Y^4 * Z - 2187 * V * Y^4 + 648 * V * Y^2 * Z^4 + 3240 * V * Y^2 * Z^3 - 11664 * V * Y^2 * Z^2 + 139968 * V * Y^2 * Z - 69984 * V * Y^2 - 192 * V * Z^6 - 3456 * V * Z^5 - 15552 * V * Z^4 + 20736 * V * Z^3 + 186624 * V * Z^2 - 729 * X^4 * Y + 5832 * X^2 * Y^3 - 189 * X^2 * Y * Z^3 - 7047 * X^2 * Y * Z^2 - 23328 * X^2 * Y * Z + 69984 * X^2 * Y - 5103 * Y^5 - 945 * Y^3 * Z^3 + 1215 * Y^3 * Z^2 + 5832 * Y^3 * Z - 69984 * Y^3 + 8 * Y * Z^6 + 288 * Y * Z^5 + 216 * Y * Z^4 + 5184 * Y * Z^3 + 93312 * Y * Z^2 - 279936 * Y * Z ]
|
---|
1706 | WARNING: Test 3 - staple
|
---|
1707 | ------------------- CASE 1 -------------------
|
---|
1708 | Condition:
|
---|
1709 | Green list: [ ]
|
---|
1710 | Red list: [ U - 1 ]
|
---|
1711 | Basis: [ (U - 1) * X, ( - U + 1) * Y ]
|
---|
1712 | ------------------- CASE 2 -------------------
|
---|
1713 | Condition:
|
---|
1714 | Green list: [ U - 1 ]
|
---|
1715 | Red list: [ ]
|
---|
1716 | Basis: [ (1) * X + (1) * Y ]
|
---|
1717 | WARNING: Test 4 - staple
|
---|
1718 | ------------------- CASE 1 -------------------
|
---|
1719 | Condition:
|
---|
1720 | Green list: [ U ]
|
---|
1721 | Red list: [ ]
|
---|
1722 | Basis: [ (1) * X, (1) * Y ]
|
---|
1723 | ------------------- CASE 2 -------------------
|
---|
1724 | Condition:
|
---|
1725 | Green list: [ ]
|
---|
1726 | Red list: [ U, U - 1 ]
|
---|
1727 | Basis: [ (U^2 - U) * X, (U - 1) * Y ]
|
---|
1728 | ------------------- CASE 3 -------------------
|
---|
1729 | Condition:
|
---|
1730 | Green list: [ U - 1 ]
|
---|
1731 | Red list: [ U ]
|
---|
1732 | Basis: [ (1) * X + (1) * Y ]
|
---|
1733 | WARNING: Test 5 - a small robot example
|
---|
1734 | ------------------- CASE 1 -------------------
|
---|
1735 | Condition:
|
---|
1736 | Green list: [ ]
|
---|
1737 | Red list: [ L3, A^2 + B^2, L2, A ]
|
---|
1738 | Basis: [ ( - 2 * A * L2 * L3) * S2 + ( - 2 * A^2 * L2 - 2 * B^2 * L2) * S1 + (A^2 * B + B^3 + B * L2^2 - B * L3^2), ( - 2 * L2 * L3) * C2 + (A^2 + B^2 - L2^2 - L3^2), ( - 2 * A * L2) * C1 + ( - 2 * B * L2) * S1 + (A^2 + B^2 + L2^2 - L3^2), (4 * A^2 * L2^2 + 4 * B^2 * L2^2) * S1^2 + ( - 4 * A^2 * B * L2 - 4 * B^3 * L2 - 4 * B * L2^3 + 4 * B * L2 * L3^2) * S1 + (A^4 + 2 * A^2 * B^2 - 2 * A^2 * L2^2 - 2 * A^2 * L3^2 + B^4 + 2 * B^2 * L2^2 - 2 * B^2 * L3^2 + L2^4 - 2 * L2^2 * L3^2 + L3^4) ]
|
---|
1739 | ------------------- CASE 2 -------------------
|
---|
1740 | Condition:
|
---|
1741 | Green list: [ A^2 + B^2 ]
|
---|
1742 | Red list: [ L3, A^2 * B + B^3 + B * L2^2 - B * L3^2, L2, A ]
|
---|
1743 | Basis: [ (4 * A * B * L2^3 * L3 - 4 * A * B * L2 * L3^3) * S2 + ( - 2 * B^2 * L2^4 + 4 * B^2 * L2^2 * L3^2 - 2 * B^2 * L3^4), ( - 2 * L2 * L3) * C2 + ( - L2^2 - L3^2), (4 * A * L2^3 - 4 * A * L2 * L3^2) * C1 + (4 * B^2 * L2^2 - L2^4 + 2 * L2^2 * L3^2 - L3^4), ( - 4 * B * L2^3 + 4 * B * L2 * L3^2) * S1 + (4 * B^2 * L2^2 + L2^4 - 2 * L2^2 * L3^2 + L3^4) ]
|
---|
1744 | ------------------- CASE 3 -------------------
|
---|
1745 | Condition:
|
---|
1746 | Green list: [ A^2 + B^2, L2^2 - L3^2 ]
|
---|
1747 | Red list: [ L3, A, L2, A^4 + 2 * A^2 * B^2 - 2 * A^2 * L2^2 - 2 * A^2 * L3^2 + B^4 + 2 * B^2 * L2^2 - 2 * B^2 * L3^2 + L2^4 - 2 * L2^2 * L3^2 + L3^4 ]
|
---|
1748 | Basis: [ (4 * B^2 * L3^2) ]
|
---|
1749 | ------------------- CASE 4 -------------------
|
---|
1750 | Condition:
|
---|
1751 | Green list: [ A ]
|
---|
1752 | Red list: [ L3, B, L2 ]
|
---|
1753 | Basis: [ (4 * B^2 * L2^2) * C1^2 + (B^4 - 2 * B^2 * L2^2 - 2 * B^2 * L3^2 + L2^4 - 2 * L2^2 * L3^2 + L3^4), (2 * B * L2 * L3) * S2 + ( - 2 * B^2 * L2) * C1 + (0), ( - 2 * L2 * L3) * C2 + (0) * C1 + (B^2 - L2^2 - L3^2), ( - 2 * B * L2) * S1 + (B^2 + L2^2 - L3^2) ]
|
---|
1754 | ------------------- CASE 5 -------------------
|
---|
1755 | Condition:
|
---|
1756 | Green list: [ A, B ]
|
---|
1757 | Red list: [ L3, L2, A^2 + B^2 + L2^2 - L3^2 ]
|
---|
1758 | Basis: [ (L2^2 - L3^2) ]
|
---|
1759 | ------------------- CASE 6 -------------------
|
---|
1760 | Condition:
|
---|
1761 | Green list: [ A, B, L2^2 - L3^2 ]
|
---|
1762 | Red list: [ L3, L2 ]
|
---|
1763 | Basis: [ (1) * C1^2 + (1) * S1^2 + ( - 1), (L3) * S2 + (0) * C1 + (0) * S1, (L3) * C2 + (0) * C1 + (0) * S1 + (L2) ]
|
---|
1764 | WARNING: Test 6 - Circle of Apollonius
|
---|
1765 | ------------------- CASE 1 -------------------
|
---|
1766 | Condition:
|
---|
1767 | Green list: [ U2, U1 ]
|
---|
1768 | Red list: [ ]
|
---|
1769 | Basis: [ (2) * X1 + (0), (2) * X2 + (0), (2) * X3 + (0), (2) * X4 + (0), ( - 4) * X6^2 + (8) * X6 * X8 + (0) * X8 + (0), (4) * S * X5^2 + ( - 8) * S * X5 * X7 + (0) * S * X7 + (0) * S * X8 + (0) * S + ( - 4) ]
|
---|
1770 | ------------------- CASE 2 -------------------
|
---|
1771 | Condition:
|
---|
1772 | Green list: [ U2 ]
|
---|
1773 | Red list: [ U1 ]
|
---|
1774 | Basis: [ ( - 4 * U1^3) ]
|
---|
1775 | ------------------- CASE 3 -------------------
|
---|
1776 | Condition:
|
---|
1777 | Green list: [ U1 ]
|
---|
1778 | Red list: [ U2 ]
|
---|
1779 | Basis: [ (4 * U2^2) ]
|
---|
1780 | ------------------- CASE 4 -------------------
|
---|
1781 | Condition:
|
---|
1782 | Green list: [ ]
|
---|
1783 | Red list: [ U1, U2, U1^2 - U2^2, U1^2 + U2^2 ]
|
---|
1784 | Basis: [ (2) * X1 + ( - U1), (2) * X2 + ( - U2), (2) * X3 + ( - U1), (2) * X4 + ( - U2), (U1^2 * U2 + U2^3) * X5 + ( - U1 * U2^3), ( - U1^2 - U2^2) * X6 + (U1^2 * U2), ( - 4 * U1^5 + 4 * U1 * U2^4) * X7 + (U1^6 + 2 * U1^4 * U2^2 - 3 * U1^2 * U2^4), ( - 4 * U1^4 * U2 + 4 * U2^5) * X8 + (3 * U1^4 * U2^2 - 2 * U1^2 * U2^4 - U2^6), (2 * U1^6 * U2^2 - 2 * U1^4 * U2^4) * S + (4 * U1^6 - 4 * U1^2 * U2^4) ]
|
---|
1785 | ------------------- CASE 5 -------------------
|
---|
1786 | Condition:
|
---|
1787 | Green list: [ U1^2 - U2^2 ]
|
---|
1788 | Red list: [ U1, U1^2 + U2^2, U2 ]
|
---|
1789 | Basis: [ (2) * X1 + ( - U1), (2) * X2 + ( - U2), (2) * X3 + ( - U1), (2) * X4 + ( - U2), (2 * U2^3) * X5 + ( - U1 * U2^3), ( - 2 * U2^2) * X6 + (U2^3), (4 * U1) * X7 + ( - 4 * U2) * X8 + (0), ( - 8 * U2^5) * S * X8 + (2 * U2^6) * S + ( - 8 * U2^4) ]
|
---|
1790 | ------------------- CASE 6 -------------------
|
---|
1791 | Condition:
|
---|
1792 | Green list: [ U1^2 + U2^2 ]
|
---|
1793 | Red list: [ U1, U2 ]
|
---|
1794 | Basis: [ ( - U2^3) ]
|
---|
1795 | WARNING: Test 7
|
---|
1796 |
|
---|
1797 | ; in: LAMBDA NIL
|
---|
1798 | ; (SETF CGB-LISP::FL
|
---|
1799 | ; (CDR
|
---|
1800 | ; (PARSE:PARSE-STRING-TO-SORTED-ALIST
|
---|
1801 | ; "[a^2*x^2*y+b*x^2*y+a^3*b*x*y+a^3*c*x*y,c^2*a*x^2+c^2*b*x^2+b*y+4]"
|
---|
1802 | ; '(CGB-LISP::X CGB-LISP::Y CGB-LISP::A CGB-LISP::B CGB-LISP::C))))
|
---|
1803 | ; ==>
|
---|
1804 | ; (SETQ CGB-LISP::FL
|
---|
1805 | ; (CDR
|
---|
1806 | ; (PARSE:PARSE-STRING-TO-SORTED-ALIST
|
---|
1807 | ; "[a^2*x^2*y+b*x^2*y+a^3*b*x*y+a^3*c*x*y,c^2*a*x^2+c^2*b*x^2+b*y+4]"
|
---|
1808 | ; '(CGB-LISP::X CGB-LISP::Y CGB-LISP::A CGB-LISP::B CGB-LISP::C))))
|
---|
1809 | ;
|
---|
1810 | ; caught WARNING:
|
---|
1811 | ; undefined variable: FL
|
---|
1812 |
|
---|
1813 | ;
|
---|
1814 | ; caught WARNING:
|
---|
1815 | ; This variable is undefined:
|
---|
1816 | ; FL
|
---|
1817 | ;
|
---|
1818 | ; compilation unit finished
|
---|
1819 | ; caught 2 WARNING conditions
|
---|
1820 |
|
---|
1821 | ; in: LAMBDA NIL
|
---|
1822 | ; (SETF CGB-LISP::CFL (COLORED-POLY:MAKE-COLORED-POLY-LIST CGB-LISP::FL 2))
|
---|
1823 | ; ==>
|
---|
1824 | ; (SETQ CGB-LISP::CFL (COLORED-POLY:MAKE-COLORED-POLY-LIST CGB-LISP::FL 2))
|
---|
1825 | ;
|
---|
1826 | ; caught WARNING:
|
---|
1827 | ; undefined variable: CFL
|
---|
1828 |
|
---|
1829 | ; (COLORED-POLY:MAKE-COLORED-POLY-LIST CGB-LISP::FL 2)
|
---|
1830 | ;
|
---|
1831 | ; caught WARNING:
|
---|
1832 | ; undefined variable: FL
|
---|
1833 |
|
---|
1834 | ;
|
---|
1835 | ; caught WARNING:
|
---|
1836 | ; These variables are undefined:
|
---|
1837 | ; CFL FL
|
---|
1838 | ;
|
---|
1839 | ; compilation unit finished
|
---|
1840 | ; caught 3 WARNING conditions
|
---|
1841 | ------------------- CASE 1 -------------------
|
---|
1842 | Condition:
|
---|
1843 | Green list: [ ]
|
---|
1844 | Red list: [ A * C^2 + B * C^2, A^2 + B ]
|
---|
1845 | Basis: [ (A^2 + B) * X^2 * Y + (A^3 * B + A^3 * C) * X * Y, (A * C^2 + B * C^2) * X^2 + (B) * Y + (4) ]
|
---|
1846 | ------------------- CASE 2 -------------------
|
---|
1847 | Condition:
|
---|
1848 | Green list: [ A^2 + B ]
|
---|
1849 | Red list: [ A * C^2 + B * C^2, A^3 * B + A^3 * C ]
|
---|
1850 | Basis: [ (A^3 * B + A^3 * C) * X * Y, (A * C^2 + B * C^2) * X^2 + (B) * Y + (4) ]
|
---|
1851 | ------------------- CASE 3 -------------------
|
---|
1852 | Condition:
|
---|
1853 | Green list: [ B + C, A^2 - C ]
|
---|
1854 | Red list: [ A * C^2 + B * C^2 ]
|
---|
1855 | Basis: [ (A * C^2 + B * C^2) * X^2 + (B) * Y + (4) ]
|
---|
1856 | ------------------- CASE 4 -------------------
|
---|
1857 | Condition:
|
---|
1858 | Green list: [ A * C^2 + B * C^2 ]
|
---|
1859 | Red list: [ B, A^2 + B ]
|
---|
1860 | Basis: [ (A^2 + B) * X^2 * Y + (A^3 * B + A^3 * C) * X * Y, (B) * Y + (4) ]
|
---|
1861 | ------------------- CASE 5 -------------------
|
---|
1862 | Condition:
|
---|
1863 | Green list: [ A^2 + B, B * C^2 + C^2, A * C^2 - C^2 ]
|
---|
1864 | Red list: [ B, A^3 * B + A^3 * C ]
|
---|
1865 | Basis: [ (A^3 * B + A^3 * C) * X * Y, (B) * Y + (4) ]
|
---|
1866 | ------------------- CASE 6 -------------------
|
---|
1867 | Condition:
|
---|
1868 | Green list: [ C - 1, B + 1, A - 1 ]
|
---|
1869 | Red list: [ B ]
|
---|
1870 | Basis: [ (B) * Y + (4) ]
|
---|
1871 | ------------------- CASE 7 -------------------
|
---|
1872 | Condition:
|
---|
1873 | Green list: [ B, C^2 ]
|
---|
1874 | Red list: [ 4, A^2 + B ]
|
---|
1875 | Basis: [ (A^2 + B) * X^2 * Y + (A^3 * B + A^3 * C) * X * Y, (4) ]
|
---|
1876 | ------------------- CASE 8 -------------------
|
---|
1877 | Condition:
|
---|
1878 | Green list: [ B, A * C^2, A^2 ]
|
---|
1879 | Red list: [ 4 ]
|
---|
1880 | Basis: [ (4) ]
|
---|
1881 | WARNING: Test 8
|
---|
1882 |
|
---|
1883 | ; in: LAMBDA NIL
|
---|
1884 | ; (SETF CGB-LISP::FL
|
---|
1885 | ; (CDR
|
---|
1886 | ; (PARSE:PARSE-STRING-TO-SORTED-ALIST "[a^2*x+5*a]"
|
---|
1887 | ; '(CGB-LISP::X CGB-LISP::A))))
|
---|
1888 | ; ==>
|
---|
1889 | ; (SETQ CGB-LISP::FL
|
---|
1890 | ; (CDR
|
---|
1891 | ; (PARSE:PARSE-STRING-TO-SORTED-ALIST "[a^2*x+5*a]"
|
---|
1892 | ; '(CGB-LISP::X CGB-LISP::A))))
|
---|
1893 | ;
|
---|
1894 | ; caught WARNING:
|
---|
1895 | ; undefined variable: FL
|
---|
1896 |
|
---|
1897 | ;
|
---|
1898 | ; caught WARNING:
|
---|
1899 | ; This variable is undefined:
|
---|
1900 | ; FL
|
---|
1901 | ;
|
---|
1902 | ; compilation unit finished
|
---|
1903 | ; caught 2 WARNING conditions
|
---|
1904 |
|
---|
1905 | ; in: LAMBDA NIL
|
---|
1906 | ; (SETF CGB-LISP::CFL (COLORED-POLY:MAKE-COLORED-POLY-LIST CGB-LISP::FL 1))
|
---|
1907 | ; ==>
|
---|
1908 | ; (SETQ CGB-LISP::CFL (COLORED-POLY:MAKE-COLORED-POLY-LIST CGB-LISP::FL 1))
|
---|
1909 | ;
|
---|
1910 | ; caught WARNING:
|
---|
1911 | ; undefined variable: CFL
|
---|
1912 |
|
---|
1913 | ; (COLORED-POLY:MAKE-COLORED-POLY-LIST CGB-LISP::FL 1)
|
---|
1914 | ;
|
---|
1915 | ; caught WARNING:
|
---|
1916 | ; undefined variable: FL
|
---|
1917 |
|
---|
1918 | ;
|
---|
1919 | ; caught WARNING:
|
---|
1920 | ; These variables are undefined:
|
---|
1921 | ; CFL FL
|
---|
1922 | ;
|
---|
1923 | ; compilation unit finished
|
---|
1924 | ; caught 3 WARNING conditions
|
---|
1925 | ------------------- CASE 1 -------------------
|
---|
1926 | Condition:
|
---|
1927 | Green list: [ ]
|
---|
1928 | Red list: [ A^2 ]
|
---|
1929 | Basis: [ (A^2) * X + (5 * A) ]
|
---|
1930 | ------------------- CASE 2 -------------------
|
---|
1931 | Condition:
|
---|
1932 | Green list: [ A^2 ]
|
---|
1933 | Red list: [ ]
|
---|
1934 | Basis: [ ]
|
---|
1935 | WARNING: Test 9 - the discriminant of a quadratic polynomial
|
---|
1936 | ------------------- CASE 1 -------------------
|
---|
1937 | Condition:
|
---|
1938 | Green list: [ ]
|
---|
1939 | Red list: [ A, 4 * A * C - B^2 ]
|
---|
1940 | Basis: [ (4 * A * C - B^2) ]
|
---|
1941 | ------------------- CASE 2 -------------------
|
---|
1942 | Condition:
|
---|
1943 | Green list: [ 4 * A * C - B^2 ]
|
---|
1944 | Red list: [ A ]
|
---|
1945 | Basis: [ (2 * A) * X + (B) ]
|
---|
1946 | WARNING: Test 10 - the discriminant of a cubic polynomial
|
---|
1947 | ------------------- CASE 1 -------------------
|
---|
1948 | Condition:
|
---|
1949 | Green list: [ ]
|
---|
1950 | Red list: [ P, 4 * P^3 + 27 * Q^2 ]
|
---|
1951 | Basis: [ ( - 4 * P^3 - 27 * Q^2) ]
|
---|
1952 | ------------------- CASE 2 -------------------
|
---|
1953 | Condition:
|
---|
1954 | Green list: [ 4 * P^3 + 27 * Q^2 ]
|
---|
1955 | Red list: [ P ]
|
---|
1956 | Basis: [ (2 * P) * X + (3 * Q) ]
|
---|
1957 | ------------------- CASE 3 -------------------
|
---|
1958 | Condition:
|
---|
1959 | Green list: [ P ]
|
---|
1960 | Red list: [ Q ]
|
---|
1961 | Basis: [ (3 * Q) ]
|
---|
1962 | ------------------- CASE 4 -------------------
|
---|
1963 | Condition:
|
---|
1964 | Green list: [ P, Q ]
|
---|
1965 | Red list: [ ]
|
---|
1966 | Basis: [ (3) * X^2 + (0) ]
|
---|
1967 | WARNING: Test 11 - the discriminant of a quartic polynomial
|
---|
1968 | ------------------- CASE 1 -------------------
|
---|
1969 | Condition:
|
---|
1970 | Green list: [ ]
|
---|
1971 | Red list: [ 16 * P^4 * R - 4 * P^3 * Q^2 - 128 * P^2 * R^2 + 144 * P * Q^2 * R - 27 * Q^4 + 256 * R^3, P, 2 * P^3 - 8 * P * R + 9 * Q^2 ]
|
---|
1972 | Basis: [ (16 * P^6 * R - 4 * P^5 * Q^2 - 128 * P^4 * R^2 + 144 * P^3 * Q^2 * R - 27 * P^2 * Q^4 + 256 * P^2 * R^3) ]
|
---|
1973 | ------------------- CASE 2 -------------------
|
---|
1974 | Condition:
|
---|
1975 | Green list: [ 16 * P^4 * R - 4 * P^3 * Q^2 - 128 * P^2 * R^2 + 144 * P * Q^2 * R - 27 * Q^4 + 256 * R^3 ]
|
---|
1976 | Red list: [ P, 2 * P^3 - 8 * P * R + 9 * Q^2 ]
|
---|
1977 | Basis: [ ( - 2 * P^3 + 8 * P * R - 9 * Q^2) * X + ( - P^2 * Q - 12 * Q * R) ]
|
---|
1978 | ------------------- CASE 3 -------------------
|
---|
1979 | Condition:
|
---|
1980 | Green list: [ 2 * P^3 - 8 * P * R + 9 * Q^2 ]
|
---|
1981 | Red list: [ P, P^2 * Q + 12 * Q * R ]
|
---|
1982 | Basis: [ ( - P^2 * Q - 12 * Q * R) ]
|
---|
1983 | ------------------- CASE 4 -------------------
|
---|
1984 | Condition:
|
---|
1985 | Green list: [ 2 * P^3 - 8 * P * R + 9 * Q^2, P^2 * Q + 12 * Q * R, 32 * P * Q * R - 9 * Q^3, 3 * P * Q^3 + 128 * Q * R^2, 27 * Q^5 + 4096 * Q * R^3, 8 * P^2 * R - 3 * P * Q^2 - 32 * R^2 ]
|
---|
1986 | Red list: [ P ]
|
---|
1987 | Basis: [ (2 * P) * X^2 + (3 * Q) * X + (4 * R) ]
|
---|
1988 | ------------------- CASE 5 -------------------
|
---|
1989 | Condition:
|
---|
1990 | Green list: [ P ]
|
---|
1991 | Red list: [ Q, 72 * P * Q^2 * R - 27 * Q^4 + 256 * R^3 ]
|
---|
1992 | Basis: [ (27 * Q^4 - 256 * R^3) ]
|
---|
1993 | ------------------- CASE 6 -------------------
|
---|
1994 | Condition:
|
---|
1995 | Green list: [ P, 27 * Q^4 - 256 * R^3 ]
|
---|
1996 | Red list: [ Q ]
|
---|
1997 | Basis: [ (3 * Q) * X + (4 * R) ]
|
---|
1998 | ------------------- CASE 7 -------------------
|
---|
1999 | Condition:
|
---|
2000 | Green list: [ P, Q ]
|
---|
2001 | Red list: [ R ]
|
---|
2002 | Basis: [ (4 * R) ]
|
---|
2003 | ------------------- CASE 8 -------------------
|
---|
2004 | Condition:
|
---|
2005 | Green list: [ P, Q, R ]
|
---|
2006 | Red list: [ ]
|
---|
2007 | Basis: [ (4) * X^3 + (0) * X + (0) ]
|
---|