* Change to use deterministic artifact graph * Update output to use the new order * Fix to clear everything when scene is cleared * Fix lots * Update artifact graph output for the last time * Delete unused sorting code * Remove unneeded cfg * Fix to preserve top-level artifacts when there's an error * Update output after error fix * Add better doc comments * Remove duplicate global operations * Update comments * Update ignored tests that were flaky * Update graph for new samples after rebase * Fix test assertion message
19 KiB
19 KiB
flowchart LR
subgraph path2 [Path]
2["Path<br>[973, 1019, 0]"]
%% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
3["Segment<br>[1027, 1052, 0]"]
%% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
4["Segment<br>[1060, 1085, 0]"]
%% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
5["Segment<br>[1093, 1119, 0]"]
%% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
6["Segment<br>[1127, 1183, 0]"]
%% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
7["Segment<br>[1191, 1199, 0]"]
%% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }]
8[Solid2d]
end
subgraph path25 [Path]
25["Path<br>[973, 1019, 0]"]
%% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
26["Segment<br>[1027, 1052, 0]"]
%% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
27["Segment<br>[1060, 1085, 0]"]
%% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
28["Segment<br>[1093, 1119, 0]"]
%% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
29["Segment<br>[1127, 1183, 0]"]
%% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
30["Segment<br>[1191, 1199, 0]"]
%% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }]
31[Solid2d]
end
subgraph path48 [Path]
48["Path<br>[973, 1019, 0]"]
%% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
49["Segment<br>[1027, 1052, 0]"]
%% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
50["Segment<br>[1060, 1085, 0]"]
%% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
51["Segment<br>[1093, 1119, 0]"]
%% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
52["Segment<br>[1127, 1183, 0]"]
%% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
53["Segment<br>[1191, 1199, 0]"]
%% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }]
54[Solid2d]
end
subgraph path70 [Path]
70["Path<br>[2229, 2281, 0]"]
%% [ProgramBodyItem { index: 25 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
71["Segment<br>[2287, 2320, 0]"]
%% [ProgramBodyItem { index: 25 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
72["Segment<br>[2326, 2359, 0]"]
%% [ProgramBodyItem { index: 25 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
73["Segment<br>[2365, 2399, 0]"]
%% [ProgramBodyItem { index: 25 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
74["Segment<br>[2405, 2461, 0]"]
%% [ProgramBodyItem { index: 25 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
75["Segment<br>[2467, 2475, 0]"]
%% [ProgramBodyItem { index: 25 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }]
76[Solid2d]
end
subgraph path92 [Path]
92["Path<br>[2805, 2860, 0]"]
%% [ProgramBodyItem { index: 29 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
93["Segment<br>[2866, 2895, 0]"]
%% [ProgramBodyItem { index: 29 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
94["Segment<br>[2901, 2931, 0]"]
%% [ProgramBodyItem { index: 29 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
95["Segment<br>[2937, 2971, 0]"]
%% [ProgramBodyItem { index: 29 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
96["Segment<br>[2977, 3033, 0]"]
%% [ProgramBodyItem { index: 29 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
97["Segment<br>[3039, 3047, 0]"]
%% [ProgramBodyItem { index: 29 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }]
98[Solid2d]
end
subgraph path115 [Path]
115["Path<br>[973, 1019, 0]"]
%% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
116["Segment<br>[1027, 1052, 0]"]
%% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
117["Segment<br>[1060, 1085, 0]"]
%% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
118["Segment<br>[1093, 1119, 0]"]
%% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
119["Segment<br>[1127, 1183, 0]"]
%% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
120["Segment<br>[1191, 1199, 0]"]
%% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }]
121[Solid2d]
end
1["Plane<br>[945, 965, 0]"]
%% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
9["Sweep Extrusion<br>[1209, 1240, 0]"]
%% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit]
10[Wall]
%% face_code_ref=Missing NodePath
11[Wall]
%% face_code_ref=Missing NodePath
12[Wall]
%% face_code_ref=Missing NodePath
13[Wall]
%% face_code_ref=Missing NodePath
14["Cap Start"]
%% face_code_ref=Missing NodePath
15["Cap End"]
%% face_code_ref=Missing NodePath
16["SweepEdge Opposite"]
17["SweepEdge Adjacent"]
18["SweepEdge Opposite"]
19["SweepEdge Adjacent"]
20["SweepEdge Opposite"]
21["SweepEdge Adjacent"]
22["SweepEdge Opposite"]
23["SweepEdge Adjacent"]
24["Plane<br>[1714, 1754, 0]"]
%% [ProgramBodyItem { index: 21 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }, CallKwArg { index: 0 }]
32["Sweep Extrusion<br>[1209, 1240, 0]"]
%% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit]
33[Wall]
%% face_code_ref=Missing NodePath
34[Wall]
%% face_code_ref=Missing NodePath
35[Wall]
%% face_code_ref=Missing NodePath
36[Wall]
%% face_code_ref=Missing NodePath
37["Cap Start"]
%% face_code_ref=Missing NodePath
38["Cap End"]
%% face_code_ref=Missing NodePath
39["SweepEdge Opposite"]
40["SweepEdge Adjacent"]
41["SweepEdge Opposite"]
42["SweepEdge Adjacent"]
43["SweepEdge Opposite"]
44["SweepEdge Adjacent"]
45["SweepEdge Opposite"]
46["SweepEdge Adjacent"]
47["Plane<br>[1939, 1992, 0]"]
%% [ProgramBodyItem { index: 22 }, VariableDeclarationDeclaration, VariableDeclarationInit, CallKwArg { index: 0 }]
55["Sweep Extrusion<br>[1209, 1240, 0]"]
%% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit]
56[Wall]
%% face_code_ref=Missing NodePath
57[Wall]
%% face_code_ref=Missing NodePath
58[Wall]
%% face_code_ref=Missing NodePath
59[Wall]
%% face_code_ref=Missing NodePath
60["Cap Start"]
%% face_code_ref=Missing NodePath
61["Cap End"]
%% face_code_ref=[ProgramBodyItem { index: 25 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
62["SweepEdge Opposite"]
63["SweepEdge Adjacent"]
64["SweepEdge Opposite"]
65["SweepEdge Adjacent"]
66["SweepEdge Opposite"]
67["SweepEdge Adjacent"]
68["SweepEdge Opposite"]
69["SweepEdge Adjacent"]
77["Sweep Extrusion<br>[2547, 2595, 0]"]
%% [ProgramBodyItem { index: 26 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
78[Wall]
%% face_code_ref=Missing NodePath
79[Wall]
%% face_code_ref=Missing NodePath
80[Wall]
%% face_code_ref=Missing NodePath
81[Wall]
%% face_code_ref=Missing NodePath
82["Cap Start"]
%% face_code_ref=Missing NodePath
83["SweepEdge Opposite"]
84["SweepEdge Adjacent"]
85["SweepEdge Opposite"]
86["SweepEdge Adjacent"]
87["SweepEdge Opposite"]
88["SweepEdge Adjacent"]
89["SweepEdge Opposite"]
90["SweepEdge Adjacent"]
91["Plane<br>[2782, 2799, 0]"]
%% [ProgramBodyItem { index: 29 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
99["Sweep Extrusion<br>[3053, 3084, 0]"]
%% [ProgramBodyItem { index: 29 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }]
100[Wall]
%% face_code_ref=Missing NodePath
101[Wall]
%% face_code_ref=Missing NodePath
102[Wall]
%% face_code_ref=Missing NodePath
103[Wall]
%% face_code_ref=Missing NodePath
104["Cap Start"]
%% face_code_ref=Missing NodePath
105["Cap End"]
%% face_code_ref=Missing NodePath
106["SweepEdge Opposite"]
107["SweepEdge Adjacent"]
108["SweepEdge Opposite"]
109["SweepEdge Adjacent"]
110["SweepEdge Opposite"]
111["SweepEdge Adjacent"]
112["SweepEdge Opposite"]
113["SweepEdge Adjacent"]
114["Plane<br>[945, 965, 0]"]
%% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
122["Sweep Extrusion<br>[1209, 1240, 0]"]
%% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit]
123[Wall]
%% face_code_ref=Missing NodePath
124[Wall]
%% face_code_ref=Missing NodePath
125[Wall]
%% face_code_ref=Missing NodePath
126[Wall]
%% face_code_ref=Missing NodePath
127["Cap Start"]
%% face_code_ref=Missing NodePath
128["Cap End"]
%% face_code_ref=Missing NodePath
129["SweepEdge Opposite"]
130["SweepEdge Adjacent"]
131["SweepEdge Opposite"]
132["SweepEdge Adjacent"]
133["SweepEdge Opposite"]
134["SweepEdge Adjacent"]
135["SweepEdge Opposite"]
136["SweepEdge Adjacent"]
137["StartSketchOnPlane<br>[945, 965, 0]"]
%% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
138["StartSketchOnPlane<br>[945, 965, 0]"]
%% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
139["StartSketchOnFace<br>[2173, 2223, 0]"]
%% [ProgramBodyItem { index: 25 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
1 --- 2
2 --- 3
2 --- 4
2 --- 5
2 --- 6
2 --- 7
2 --- 8
2 ---- 9
3 --- 13
3 x--> 15
3 --- 22
3 --- 23
4 --- 12
4 x--> 15
4 --- 20
4 --- 21
5 --- 11
5 x--> 15
5 --- 18
5 --- 19
6 --- 10
6 x--> 15
6 --- 16
6 --- 17
9 --- 10
9 --- 11
9 --- 12
9 --- 13
9 --- 14
9 --- 15
9 --- 16
9 --- 17
9 --- 18
9 --- 19
9 --- 20
9 --- 21
9 --- 22
9 --- 23
10 --- 16
10 --- 17
19 <--x 10
11 --- 18
11 --- 19
21 <--x 11
12 --- 20
12 --- 21
23 <--x 12
17 <--x 13
13 --- 22
13 --- 23
16 <--x 14
18 <--x 14
20 <--x 14
22 <--x 14
24 --- 25
24 <--x 137
25 --- 26
25 --- 27
25 --- 28
25 --- 29
25 --- 30
25 --- 31
25 ---- 32
26 --- 36
26 x--> 38
26 --- 45
26 --- 46
27 --- 35
27 x--> 38
27 --- 43
27 --- 44
28 --- 34
28 x--> 38
28 --- 41
28 --- 42
29 --- 33
29 x--> 38
29 --- 39
29 --- 40
32 --- 33
32 --- 34
32 --- 35
32 --- 36
32 --- 37
32 --- 38
32 --- 39
32 --- 40
32 --- 41
32 --- 42
32 --- 43
32 --- 44
32 --- 45
32 --- 46
33 --- 39
33 --- 40
42 <--x 33
34 --- 41
34 --- 42
44 <--x 34
35 --- 43
35 --- 44
46 <--x 35
40 <--x 36
36 --- 45
36 --- 46
39 <--x 37
41 <--x 37
43 <--x 37
45 <--x 37
47 --- 48
47 <--x 138
48 --- 49
48 --- 50
48 --- 51
48 --- 52
48 --- 53
48 --- 54
48 ---- 55
49 --- 59
49 x--> 60
49 --- 68
49 --- 69
50 --- 58
50 x--> 60
50 --- 66
50 --- 67
51 --- 57
51 x--> 60
51 --- 64
51 --- 65
52 --- 56
52 x--> 60
52 --- 62
52 --- 63
55 --- 56
55 --- 57
55 --- 58
55 --- 59
55 --- 60
55 --- 61
55 --- 62
55 --- 63
55 --- 64
55 --- 65
55 --- 66
55 --- 67
55 --- 68
55 --- 69
56 --- 62
56 --- 63
65 <--x 56
57 --- 64
57 --- 65
67 <--x 57
58 --- 66
58 --- 67
69 <--x 58
63 <--x 59
59 --- 68
59 --- 69
62 <--x 61
64 <--x 61
66 <--x 61
68 <--x 61
61 --- 70
71 <--x 61
72 <--x 61
73 <--x 61
74 <--x 61
61 <--x 139
70 --- 71
70 --- 72
70 --- 73
70 --- 74
70 --- 75
70 --- 76
70 ---- 77
71 --- 81
71 --- 89
71 --- 90
72 --- 80
72 --- 87
72 --- 88
73 --- 79
73 --- 85
73 --- 86
74 --- 78
74 --- 83
74 --- 84
77 --- 78
77 --- 79
77 --- 80
77 --- 81
77 --- 82
77 --- 83
77 --- 84
77 --- 85
77 --- 86
77 --- 87
77 --- 88
77 --- 89
77 --- 90
78 --- 83
78 --- 84
86 <--x 78
79 --- 85
79 --- 86
88 <--x 79
80 --- 87
80 --- 88
90 <--x 80
84 <--x 81
81 --- 89
81 --- 90
83 <--x 82
85 <--x 82
87 <--x 82
89 <--x 82
91 --- 92
92 --- 93
92 --- 94
92 --- 95
92 --- 96
92 --- 97
92 --- 98
92 ---- 99
93 --- 103
93 x--> 104
93 --- 112
93 --- 113
94 --- 102
94 x--> 104
94 --- 110
94 --- 111
95 --- 101
95 x--> 104
95 --- 108
95 --- 109
96 --- 100
96 x--> 104
96 --- 106
96 --- 107
99 --- 100
99 --- 101
99 --- 102
99 --- 103
99 --- 104
99 --- 105
99 --- 106
99 --- 107
99 --- 108
99 --- 109
99 --- 110
99 --- 111
99 --- 112
99 --- 113
100 --- 106
100 --- 107
109 <--x 100
101 --- 108
101 --- 109
111 <--x 101
102 --- 110
102 --- 111
113 <--x 102
107 <--x 103
103 --- 112
103 --- 113
106 <--x 105
108 <--x 105
110 <--x 105
112 <--x 105
114 --- 115
115 --- 116
115 --- 117
115 --- 118
115 --- 119
115 --- 120
115 --- 121
115 ---- 122
116 --- 126
116 x--> 127
116 --- 135
116 --- 136
117 --- 125
117 x--> 127
117 --- 133
117 --- 134
118 --- 124
118 x--> 127
118 --- 131
118 --- 132
119 --- 123
119 x--> 127
119 --- 129
119 --- 130
122 --- 123
122 --- 124
122 --- 125
122 --- 126
122 --- 127
122 --- 128
122 --- 129
122 --- 130
122 --- 131
122 --- 132
122 --- 133
122 --- 134
122 --- 135
122 --- 136
123 --- 129
123 --- 130
132 <--x 123
124 --- 131
124 --- 132
134 <--x 124
125 --- 133
125 --- 134
136 <--x 125
130 <--x 126
126 --- 135
126 --- 136
129 <--x 128
131 <--x 128
133 <--x 128
135 <--x 128