* 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>[1462, 1519, 0]"]
%% [ProgramBodyItem { index: 12 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
3["Segment<br>[1525, 1557, 0]"]
%% [ProgramBodyItem { index: 12 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
4["Segment<br>[1563, 1600, 0]"]
%% [ProgramBodyItem { index: 12 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
5["Segment<br>[1606, 1639, 0]"]
%% [ProgramBodyItem { index: 12 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
6["Segment<br>[1645, 1712, 0]"]
%% [ProgramBodyItem { index: 12 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
7["Segment<br>[1718, 1725, 0]"]
%% [ProgramBodyItem { index: 12 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
8[Solid2d]
end
subgraph path9 [Path]
9["Path<br>[1017, 1061, 0]"]
%% [ProgramBodyItem { index: 10 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 4 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
10["Segment<br>[1069, 1109, 0]"]
%% [ProgramBodyItem { index: 10 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 4 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
11["Segment<br>[1117, 1163, 0]"]
%% [ProgramBodyItem { index: 10 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 4 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
12["Segment<br>[1171, 1212, 0]"]
%% [ProgramBodyItem { index: 10 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 4 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
13["Segment<br>[1220, 1285, 0]"]
%% [ProgramBodyItem { index: 10 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 4 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
14["Segment<br>[1293, 1300, 0]"]
%% [ProgramBodyItem { index: 10 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 4 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
15[Solid2d]
end
subgraph path16 [Path]
16["Path<br>[1017, 1061, 0]"]
%% [ProgramBodyItem { index: 10 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 4 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
17["Segment<br>[1069, 1109, 0]"]
%% [ProgramBodyItem { index: 10 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 4 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
18["Segment<br>[1117, 1163, 0]"]
%% [ProgramBodyItem { index: 10 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 4 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
19["Segment<br>[1171, 1212, 0]"]
%% [ProgramBodyItem { index: 10 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 4 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
20["Segment<br>[1220, 1285, 0]"]
%% [ProgramBodyItem { index: 10 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 4 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
21["Segment<br>[1293, 1300, 0]"]
%% [ProgramBodyItem { index: 10 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 4 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
22[Solid2d]
end
subgraph path23 [Path]
23["Path<br>[1017, 1061, 0]"]
%% [ProgramBodyItem { index: 10 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 4 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
24["Segment<br>[1069, 1109, 0]"]
%% [ProgramBodyItem { index: 10 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 4 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
25["Segment<br>[1117, 1163, 0]"]
%% [ProgramBodyItem { index: 10 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 4 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
26["Segment<br>[1171, 1212, 0]"]
%% [ProgramBodyItem { index: 10 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 4 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
27["Segment<br>[1220, 1285, 0]"]
%% [ProgramBodyItem { index: 10 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 4 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
28["Segment<br>[1293, 1300, 0]"]
%% [ProgramBodyItem { index: 10 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 4 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
29[Solid2d]
end
subgraph path50 [Path]
50["Path<br>[2885, 2941, 0]"]
%% [ProgramBodyItem { index: 20 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
51["Segment<br>[2947, 3006, 0]"]
%% [ProgramBodyItem { index: 20 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
52["Segment<br>[3012, 3047, 0]"]
%% [ProgramBodyItem { index: 20 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
53["Segment<br>[3053, 3086, 0]"]
%% [ProgramBodyItem { index: 20 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
54["Segment<br>[3092, 3151, 0]"]
%% [ProgramBodyItem { index: 20 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
55["Segment<br>[3157, 3193, 0]"]
%% [ProgramBodyItem { index: 20 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
56["Segment<br>[3199, 3223, 0]"]
%% [ProgramBodyItem { index: 20 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }]
57["Segment<br>[3229, 3236, 0]"]
%% [ProgramBodyItem { index: 20 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }]
58[Solid2d]
end
subgraph path85 [Path]
85["Path<br>[3831, 3881, 0]"]
%% [ProgramBodyItem { index: 25 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
86["Segment<br>[3887, 3937, 0]"]
%% [ProgramBodyItem { index: 25 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
87["Segment<br>[3943, 4009, 0]"]
%% [ProgramBodyItem { index: 25 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
88["Segment<br>[4015, 4066, 0]"]
%% [ProgramBodyItem { index: 25 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
89["Segment<br>[4072, 4137, 0]"]
%% [ProgramBodyItem { index: 25 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
90["Segment<br>[4143, 4196, 0]"]
%% [ProgramBodyItem { index: 25 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
91["Segment<br>[4202, 4269, 0]"]
%% [ProgramBodyItem { index: 25 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }]
92["Segment<br>[4275, 4349, 0]"]
%% [ProgramBodyItem { index: 25 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }]
93["Segment<br>[4355, 4423, 0]"]
%% [ProgramBodyItem { index: 25 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
94["Segment<br>[4429, 4436, 0]"]
%% [ProgramBodyItem { index: 25 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 9 }]
95[Solid2d]
end
subgraph path123 [Path]
123["Path<br>[1017, 1061, 0]"]
%% [ProgramBodyItem { index: 10 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 4 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
124["Segment<br>[1069, 1109, 0]"]
%% [ProgramBodyItem { index: 10 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 4 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
125["Segment<br>[1117, 1163, 0]"]
%% [ProgramBodyItem { index: 10 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 4 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
126["Segment<br>[1171, 1212, 0]"]
%% [ProgramBodyItem { index: 10 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 4 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
127["Segment<br>[1220, 1285, 0]"]
%% [ProgramBodyItem { index: 10 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 4 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
128["Segment<br>[1293, 1300, 0]"]
%% [ProgramBodyItem { index: 10 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 4 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
129[Solid2d]
end
1["Plane<br>[1391, 1408, 0]"]
%% [ProgramBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit]
30["Sweep Extrusion<br>[2459, 2509, 0]"]
%% [ProgramBodyItem { index: 17 }, VariableDeclarationDeclaration, VariableDeclarationInit]
31[Wall]
%% face_code_ref=Missing NodePath
32[Wall]
%% face_code_ref=Missing NodePath
33[Wall]
%% face_code_ref=Missing NodePath
34[Wall]
%% face_code_ref=Missing NodePath
35[Wall]
%% face_code_ref=Missing NodePath
36["Cap Start"]
%% face_code_ref=Missing NodePath
37["Cap End"]
%% face_code_ref=Missing NodePath
38["SweepEdge Opposite"]
39["SweepEdge Adjacent"]
40["SweepEdge Opposite"]
41["SweepEdge Adjacent"]
42["SweepEdge Opposite"]
43["SweepEdge Adjacent"]
44["SweepEdge Opposite"]
45["SweepEdge Adjacent"]
46["SweepEdge Opposite"]
47["SweepEdge Adjacent"]
48["EdgeCut Fillet<br>[2546, 2687, 0]"]
%% [ProgramBodyItem { index: 18 }, ExpressionStatementExpr]
49["Plane<br>[2782, 2824, 0]"]
%% [ProgramBodyItem { index: 19 }, VariableDeclarationDeclaration, VariableDeclarationInit, CallKwUnlabeledArg]
59["Sweep Extrusion<br>[3270, 3314, 0]"]
%% [ProgramBodyItem { index: 21 }, VariableDeclarationDeclaration, VariableDeclarationInit]
60[Wall]
%% face_code_ref=Missing NodePath
61[Wall]
%% face_code_ref=Missing NodePath
62[Wall]
%% face_code_ref=Missing NodePath
63[Wall]
%% face_code_ref=Missing NodePath
64[Wall]
%% face_code_ref=Missing NodePath
65[Wall]
%% face_code_ref=Missing NodePath
66[Wall]
%% face_code_ref=Missing NodePath
67["Cap Start"]
%% face_code_ref=Missing NodePath
68["Cap End"]
%% face_code_ref=Missing NodePath
69["SweepEdge Opposite"]
70["SweepEdge Adjacent"]
71["SweepEdge Opposite"]
72["SweepEdge Adjacent"]
73["SweepEdge Opposite"]
74["SweepEdge Adjacent"]
75["SweepEdge Opposite"]
76["SweepEdge Adjacent"]
77["SweepEdge Opposite"]
78["SweepEdge Adjacent"]
79["SweepEdge Opposite"]
80["SweepEdge Adjacent"]
81["SweepEdge Opposite"]
82["SweepEdge Adjacent"]
83["EdgeCut Fillet<br>[3357, 3488, 0]"]
%% [ProgramBodyItem { index: 22 }, ExpressionStatementExpr]
84["Plane<br>[3757, 3783, 0]"]
%% [ProgramBodyItem { index: 24 }, VariableDeclarationDeclaration, VariableDeclarationInit]
96["Sweep Extrusion<br>[4492, 4534, 0]"]
%% [ProgramBodyItem { index: 26 }, VariableDeclarationDeclaration, VariableDeclarationInit]
97[Wall]
%% face_code_ref=Missing NodePath
98[Wall]
%% face_code_ref=Missing NodePath
99[Wall]
%% face_code_ref=Missing NodePath
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=[ProgramBodyItem { index: 27 }, VariableDeclarationDeclaration, VariableDeclarationInit]
104[Wall]
%% face_code_ref=Missing NodePath
105["Cap Start"]
%% face_code_ref=Missing NodePath
106["Cap End"]
%% face_code_ref=Missing NodePath
107["SweepEdge Opposite"]
108["SweepEdge Adjacent"]
109["SweepEdge Opposite"]
110["SweepEdge Adjacent"]
111["SweepEdge Opposite"]
112["SweepEdge Adjacent"]
113["SweepEdge Opposite"]
114["SweepEdge Adjacent"]
115["SweepEdge Opposite"]
116["SweepEdge Adjacent"]
117["SweepEdge Opposite"]
118["SweepEdge Adjacent"]
119["SweepEdge Opposite"]
120["SweepEdge Adjacent"]
121["SweepEdge Opposite"]
122["SweepEdge Adjacent"]
130["Sweep Extrusion<br>[4812, 4862, 0]"]
%% [ProgramBodyItem { index: 29 }, ExpressionStatementExpr]
131[Wall]
%% face_code_ref=Missing NodePath
132[Wall]
%% face_code_ref=Missing NodePath
133[Wall]
%% face_code_ref=Missing NodePath
134[Wall]
%% face_code_ref=Missing NodePath
135["SweepEdge Opposite"]
136["SweepEdge Adjacent"]
137["SweepEdge Opposite"]
138["SweepEdge Adjacent"]
139["SweepEdge Opposite"]
140["SweepEdge Adjacent"]
141["SweepEdge Opposite"]
142["SweepEdge Adjacent"]
143["StartSketchOnPlane<br>[2768, 2825, 0]"]
%% [ProgramBodyItem { index: 19 }, VariableDeclarationDeclaration, VariableDeclarationInit]
144["StartSketchOnFace<br>[4593, 4632, 0]"]
%% [ProgramBodyItem { index: 27 }, VariableDeclarationDeclaration, VariableDeclarationInit]
1 --- 2
1 --- 9
1 --- 16
1 --- 23
2 --- 3
2 --- 4
2 --- 5
2 --- 6
2 --- 7
2 --- 8
2 ---- 30
3 --- 31
3 x--> 36
3 --- 38
3 --- 39
4 --- 32
4 x--> 36
4 --- 40
4 --- 41
5 --- 33
5 x--> 36
5 --- 42
5 --- 43
6 --- 34
6 x--> 36
6 --- 44
6 --- 45
7 --- 35
7 x--> 36
7 --- 46
7 --- 47
9 --- 10
9 --- 11
9 --- 12
9 --- 13
9 --- 14
9 --- 15
16 --- 17
16 --- 18
16 --- 19
16 --- 20
16 --- 21
16 --- 22
23 --- 24
23 --- 25
23 --- 26
23 --- 27
23 --- 28
23 --- 29
30 --- 31
30 --- 32
30 --- 33
30 --- 34
30 --- 35
30 --- 36
30 --- 37
30 --- 38
30 --- 39
30 --- 40
30 --- 41
30 --- 42
30 --- 43
30 --- 44
30 --- 45
30 --- 46
30 --- 47
31 --- 38
31 --- 39
47 <--x 31
39 <--x 32
32 --- 40
32 --- 41
41 <--x 33
33 --- 42
33 --- 43
43 <--x 34
34 --- 44
34 --- 45
45 <--x 35
35 --- 46
35 --- 47
38 <--x 37
40 <--x 37
42 <--x 37
44 <--x 37
46 <--x 37
41 <--x 48
49 --- 50
49 <--x 143
50 --- 51
50 --- 52
50 --- 53
50 --- 54
50 --- 55
50 --- 56
50 --- 57
50 --- 58
50 ---- 59
51 --- 60
51 x--> 67
51 --- 69
51 --- 70
52 --- 61
52 x--> 67
52 --- 71
52 --- 72
53 --- 62
53 x--> 67
53 --- 73
53 --- 74
54 --- 63
54 x--> 67
54 --- 75
54 --- 76
55 --- 64
55 x--> 67
55 --- 77
55 --- 78
56 --- 65
56 x--> 67
56 --- 79
56 --- 80
57 --- 66
57 x--> 67
57 --- 81
57 --- 82
59 --- 60
59 --- 61
59 --- 62
59 --- 63
59 --- 64
59 --- 65
59 --- 66
59 --- 67
59 --- 68
59 --- 69
59 --- 70
59 --- 71
59 --- 72
59 --- 73
59 --- 74
59 --- 75
59 --- 76
59 --- 77
59 --- 78
59 --- 79
59 --- 80
59 --- 81
59 --- 82
60 --- 69
60 --- 70
82 <--x 60
70 <--x 61
61 --- 71
61 --- 72
72 <--x 62
62 --- 73
62 --- 74
74 <--x 63
63 --- 75
63 --- 76
76 <--x 64
64 --- 77
64 --- 78
78 <--x 65
65 --- 79
65 --- 80
80 <--x 66
66 --- 81
66 --- 82
69 <--x 68
71 <--x 68
73 <--x 68
75 <--x 68
77 <--x 68
79 <--x 68
81 <--x 68
70 <--x 83
84 --- 85
85 --- 86
85 --- 87
85 --- 88
85 --- 89
85 --- 90
85 --- 91
85 --- 92
85 --- 93
85 --- 94
85 --- 95
85 ---- 96
86 --- 97
86 x--> 106
86 --- 107
86 --- 108
87 --- 98
87 x--> 106
87 --- 109
87 --- 110
88 --- 99
88 x--> 106
88 --- 111
88 --- 112
89 --- 100
89 x--> 106
89 --- 113
89 --- 114
90 --- 101
90 x--> 106
90 --- 115
90 --- 116
91 --- 102
91 x--> 106
91 --- 117
91 --- 118
92 --- 103
92 x--> 106
92 --- 119
92 --- 120
93 --- 104
93 x--> 106
93 --- 121
93 --- 122
96 --- 97
96 --- 98
96 --- 99
96 --- 100
96 --- 101
96 --- 102
96 --- 103
96 --- 104
96 --- 105
96 --- 106
96 --- 107
96 --- 108
96 --- 109
96 --- 110
96 --- 111
96 --- 112
96 --- 113
96 --- 114
96 --- 115
96 --- 116
96 --- 117
96 --- 118
96 --- 119
96 --- 120
96 --- 121
96 --- 122
97 --- 107
97 --- 108
122 <--x 97
108 <--x 98
98 --- 109
98 --- 110
110 <--x 99
99 --- 111
99 --- 112
135 <--x 99
137 <--x 99
139 <--x 99
141 <--x 99
112 <--x 100
100 --- 113
100 --- 114
114 <--x 101
101 --- 115
101 --- 116
116 <--x 102
102 --- 117
102 --- 118
118 <--x 103
103 --- 119
103 --- 120
103 --- 123
124 <--x 103
125 <--x 103
126 <--x 103
127 <--x 103
103 <--x 144
120 <--x 104
104 --- 121
104 --- 122
107 <--x 105
109 <--x 105
111 <--x 105
113 <--x 105
115 <--x 105
117 <--x 105
119 <--x 105
121 <--x 105
123 --- 124
123 --- 125
123 --- 126
123 --- 127
123 --- 128
123 --- 129
123 ---- 130
124 --- 131
124 --- 135
124 --- 136
125 --- 132
125 --- 137
125 --- 138
126 --- 133
126 --- 139
126 --- 140
127 --- 134
127 --- 141
127 --- 142
130 --- 131
130 --- 132
130 --- 133
130 --- 134
130 --- 135
130 --- 136
130 --- 137
130 --- 138
130 --- 139
130 --- 140
130 --- 141
130 --- 142
131 --- 135
131 --- 136
142 <--x 131
136 <--x 132
132 --- 137
132 --- 138
138 <--x 133
133 --- 139
133 --- 140
140 <--x 134
134 --- 141
134 --- 142