Files
modeling-app/rust/kcl-lib/tests/kcl_samples/bone-plate/artifact_graph_flowchart.snap.md
Josh Gomez 0eebb76bfd Update Bone Plate (#7260)
* Add clock

* update bone plate

* header check

* adding nick b's comments

* Update kcl-samples simulation test output

* Update kcl-samples simulation test output

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-29 09:59:27 -07:00

19 KiB

flowchart LR
  subgraph path10 [Path]
    10["Path<br>[541, 569, 0]"]
      %% [ProgramBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    19["Segment<br>[575, 626, 0]"]
      %% [ProgramBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
    20["Segment<br>[632, 680, 0]"]
      %% [ProgramBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
    21["Segment<br>[686, 737, 0]"]
      %% [ProgramBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
    22["Segment<br>[743, 791, 0]"]
      %% [ProgramBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
    23["Segment<br>[797, 848, 0]"]
      %% [ProgramBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }]
    24["Segment<br>[854, 902, 0]"]
      %% [ProgramBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }]
    25["Segment<br>[908, 959, 0]"]
      %% [ProgramBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    26["Segment<br>[965, 1007, 0]"]
      %% [ProgramBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 9 }]
    27["Segment<br>[1013, 1071, 0]"]
      %% [ProgramBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 10 }]
    28["Segment<br>[1077, 1132, 0]"]
      %% [ProgramBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 11 }]
    29["Segment<br>[1138, 1196, 0]"]
      %% [ProgramBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 12 }]
    30["Segment<br>[1202, 1257, 0]"]
      %% [ProgramBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 13 }]
    31["Segment<br>[1263, 1306, 0]"]
      %% [ProgramBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 14 }]
    32["Segment<br>[1312, 1368, 0]"]
      %% [ProgramBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 15 }]
    33["Segment<br>[1374, 1429, 0]"]
      %% [ProgramBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 16 }]
    34["Segment<br>[1435, 1491, 0]"]
      %% [ProgramBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 17 }]
    35["Segment<br>[1497, 1504, 0]"]
      %% [ProgramBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 18 }]
    47[Solid2d]
  end
  subgraph path11 [Path]
    11["Path<br>[1663, 1707, 0]"]
      %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, ReturnStatementArg, PipeBodyItem { index: 1 }]
    39["Segment<br>[1663, 1707, 0]"]
      %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, ReturnStatementArg, PipeBodyItem { index: 1 }]
    44[Solid2d]
  end
  subgraph path12 [Path]
    12["Path<br>[1663, 1707, 0]"]
      %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, ReturnStatementArg, PipeBodyItem { index: 1 }]
    36["Segment<br>[1663, 1707, 0]"]
      %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, ReturnStatementArg, PipeBodyItem { index: 1 }]
    45[Solid2d]
  end
  subgraph path13 [Path]
    13["Path<br>[1663, 1707, 0]"]
      %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, ReturnStatementArg, PipeBodyItem { index: 1 }]
    43["Segment<br>[1663, 1707, 0]"]
      %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, ReturnStatementArg, PipeBodyItem { index: 1 }]
    46[Solid2d]
  end
  subgraph path14 [Path]
    14["Path<br>[1663, 1707, 0]"]
      %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, ReturnStatementArg, PipeBodyItem { index: 1 }]
    41["Segment<br>[1663, 1707, 0]"]
      %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, ReturnStatementArg, PipeBodyItem { index: 1 }]
    48[Solid2d]
  end
  subgraph path15 [Path]
    15["Path<br>[1663, 1707, 0]"]
      %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, ReturnStatementArg, PipeBodyItem { index: 1 }]
    42["Segment<br>[1663, 1707, 0]"]
      %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, ReturnStatementArg, PipeBodyItem { index: 1 }]
    49[Solid2d]
  end
  subgraph path16 [Path]
    16["Path<br>[1663, 1707, 0]"]
      %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, ReturnStatementArg, PipeBodyItem { index: 1 }]
    38["Segment<br>[1663, 1707, 0]"]
      %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, ReturnStatementArg, PipeBodyItem { index: 1 }]
    50[Solid2d]
  end
  subgraph path17 [Path]
    17["Path<br>[1663, 1707, 0]"]
      %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, ReturnStatementArg, PipeBodyItem { index: 1 }]
    37["Segment<br>[1663, 1707, 0]"]
      %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, ReturnStatementArg, PipeBodyItem { index: 1 }]
    51[Solid2d]
  end
  subgraph path18 [Path]
    18["Path<br>[1663, 1707, 0]"]
      %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, ReturnStatementArg, PipeBodyItem { index: 1 }]
    40["Segment<br>[1663, 1707, 0]"]
      %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, ReturnStatementArg, PipeBodyItem { index: 1 }]
    52[Solid2d]
  end
  1["Plane<br>[518, 535, 0]"]
    %% [ProgramBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  2["Plane<br>[1638, 1655, 0]"]
    %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, ReturnStatementArg, PipeBodyItem { index: 0 }]
  3["Plane<br>[1638, 1655, 0]"]
    %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, ReturnStatementArg, PipeBodyItem { index: 0 }]
  4["Plane<br>[1638, 1655, 0]"]
    %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, ReturnStatementArg, PipeBodyItem { index: 0 }]
  5["Plane<br>[1638, 1655, 0]"]
    %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, ReturnStatementArg, PipeBodyItem { index: 0 }]
  6["Plane<br>[1638, 1655, 0]"]
    %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, ReturnStatementArg, PipeBodyItem { index: 0 }]
  7["Plane<br>[1638, 1655, 0]"]
    %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, ReturnStatementArg, PipeBodyItem { index: 0 }]
  8["Plane<br>[1638, 1655, 0]"]
    %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, ReturnStatementArg, PipeBodyItem { index: 0 }]
  9["Plane<br>[1638, 1655, 0]"]
    %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, ReturnStatementArg, PipeBodyItem { index: 0 }]
  53["Sweep Revolve<br>[1510, 1557, 0]"]
    %% [ProgramBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 19 }]
  54["Sweep Extrusion<br>[1715, 1737, 0]"]
    %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, ReturnStatementArg, PipeBodyItem { index: 2 }]
  55["Sweep Extrusion<br>[1715, 1737, 0]"]
    %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, ReturnStatementArg, PipeBodyItem { index: 2 }]
  56["Sweep Extrusion<br>[1715, 1737, 0]"]
    %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, ReturnStatementArg, PipeBodyItem { index: 2 }]
  57["Sweep Extrusion<br>[1715, 1737, 0]"]
    %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, ReturnStatementArg, PipeBodyItem { index: 2 }]
  58["Sweep Extrusion<br>[1715, 1737, 0]"]
    %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, ReturnStatementArg, PipeBodyItem { index: 2 }]
  59["Sweep Extrusion<br>[1715, 1737, 0]"]
    %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, ReturnStatementArg, PipeBodyItem { index: 2 }]
  60["Sweep Extrusion<br>[1715, 1737, 0]"]
    %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, ReturnStatementArg, PipeBodyItem { index: 2 }]
  61["Sweep Extrusion<br>[1715, 1737, 0]"]
    %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, ReturnStatementArg, PipeBodyItem { index: 2 }]
  62["CompositeSolid Subtract<br>[2147, 2186, 0]"]
    %% [ProgramBodyItem { index: 5 }, VariableDeclarationDeclaration, VariableDeclarationInit]
  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[Wall]
    %% face_code_ref=Missing NodePath
  68[Wall]
    %% face_code_ref=Missing NodePath
  69[Wall]
    %% face_code_ref=Missing NodePath
  70[Wall]
    %% face_code_ref=Missing NodePath
  71[Wall]
    %% face_code_ref=Missing NodePath
  72[Wall]
    %% face_code_ref=Missing NodePath
  73[Wall]
    %% face_code_ref=Missing NodePath
  74[Wall]
    %% face_code_ref=Missing NodePath
  75[Wall]
    %% face_code_ref=Missing NodePath
  76[Wall]
    %% face_code_ref=Missing NodePath
  77[Wall]
    %% face_code_ref=Missing NodePath
  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[Wall]
    %% face_code_ref=Missing NodePath
  83[Wall]
    %% face_code_ref=Missing NodePath
  84[Wall]
    %% face_code_ref=Missing NodePath
  85[Wall]
    %% face_code_ref=Missing NodePath
  86[Wall]
    %% face_code_ref=Missing NodePath
  87["Cap Start"]
    %% face_code_ref=Missing NodePath
  88["Cap Start"]
    %% face_code_ref=Missing NodePath
  89["Cap Start"]
    %% face_code_ref=Missing NodePath
  90["Cap Start"]
    %% face_code_ref=Missing NodePath
  91["Cap Start"]
    %% face_code_ref=Missing NodePath
  92["Cap Start"]
    %% face_code_ref=Missing NodePath
  93["Cap Start"]
    %% face_code_ref=Missing NodePath
  94["Cap Start"]
    %% face_code_ref=Missing NodePath
  95["Cap Start"]
    %% face_code_ref=Missing NodePath
  96["Cap End"]
    %% face_code_ref=Missing NodePath
  97["Cap End"]
    %% face_code_ref=Missing NodePath
  98["Cap End"]
    %% face_code_ref=Missing NodePath
  99["Cap End"]
    %% face_code_ref=Missing NodePath
  100["Cap End"]
    %% face_code_ref=Missing NodePath
  101["Cap End"]
    %% face_code_ref=Missing NodePath
  102["Cap End"]
    %% face_code_ref=Missing NodePath
  103["Cap End"]
    %% face_code_ref=Missing NodePath
  104["Cap End"]
    %% face_code_ref=Missing NodePath
  105["SweepEdge Opposite"]
  106["SweepEdge Opposite"]
  107["SweepEdge Opposite"]
  108["SweepEdge Opposite"]
  109["SweepEdge Opposite"]
  110["SweepEdge Opposite"]
  111["SweepEdge Opposite"]
  112["SweepEdge Opposite"]
  113["SweepEdge Opposite"]
  114["SweepEdge Opposite"]
  115["SweepEdge Opposite"]
  116["SweepEdge Opposite"]
  117["SweepEdge Opposite"]
  118["SweepEdge Opposite"]
  119["SweepEdge Opposite"]
  120["SweepEdge Opposite"]
  121["SweepEdge Opposite"]
  122["SweepEdge Opposite"]
  123["SweepEdge Opposite"]
  124["SweepEdge Opposite"]
  125["SweepEdge Opposite"]
  126["SweepEdge Opposite"]
  127["SweepEdge Opposite"]
  128["SweepEdge Opposite"]
  129["SweepEdge Adjacent"]
  130["SweepEdge Adjacent"]
  131["SweepEdge Adjacent"]
  132["SweepEdge Adjacent"]
  133["SweepEdge Adjacent"]
  134["SweepEdge Adjacent"]
  135["SweepEdge Adjacent"]
  136["SweepEdge Adjacent"]
  137["SweepEdge Adjacent"]
  138["SweepEdge Adjacent"]
  139["SweepEdge Adjacent"]
  140["SweepEdge Adjacent"]
  141["SweepEdge Adjacent"]
  142["SweepEdge Adjacent"]
  143["SweepEdge Adjacent"]
  144["SweepEdge Adjacent"]
  145["SweepEdge Adjacent"]
  146["SweepEdge Adjacent"]
  147["SweepEdge Adjacent"]
  148["SweepEdge Adjacent"]
  149["SweepEdge Adjacent"]
  150["SweepEdge Adjacent"]
  151["SweepEdge Adjacent"]
  152["SweepEdge Adjacent"]
  1 --- 10
  2 --- 14
  3 --- 13
  4 --- 18
  5 --- 12
  6 --- 15
  7 --- 17
  8 --- 16
  9 --- 11
  10 --- 19
  10 --- 20
  10 --- 21
  10 --- 22
  10 --- 23
  10 --- 24
  10 --- 25
  10 --- 26
  10 --- 27
  10 --- 28
  10 --- 29
  10 --- 30
  10 --- 31
  10 --- 32
  10 --- 33
  10 --- 34
  10 --- 35
  10 --- 47
  10 ---- 53
  10 --- 62
  11 --- 39
  11 --- 44
  11 ---- 58
  11 --- 62
  12 --- 36
  12 --- 45
  12 ---- 61
  12 --- 62
  13 --- 43
  13 --- 46
  13 ---- 56
  13 --- 62
  14 --- 41
  14 --- 48
  14 ---- 59
  14 --- 62
  15 --- 42
  15 --- 49
  15 ---- 54
  15 --- 62
  16 --- 38
  16 --- 50
  16 ---- 57
  16 --- 62
  17 --- 37
  17 --- 51
  17 ---- 55
  17 --- 62
  18 --- 40
  18 --- 52
  18 ---- 60
  18 --- 62
  19 --- 83
  19 x--> 92
  19 --- 113
  19 --- 137
  20 --- 78
  20 x--> 92
  20 --- 114
  20 --- 138
  21 --- 77
  21 x--> 92
  21 --- 115
  21 --- 139
  22 --- 79
  22 x--> 92
  22 --- 116
  22 --- 140
  23 --- 75
  23 x--> 92
  23 --- 117
  23 --- 141
  24 --- 74
  24 x--> 92
  24 --- 118
  24 --- 142
  25 --- 82
  25 x--> 92
  25 --- 119
  25 --- 143
  26 --- 85
  26 x--> 92
  26 --- 120
  26 --- 144
  27 --- 84
  27 x--> 92
  27 --- 121
  27 --- 145
  28 --- 72
  28 x--> 92
  28 --- 122
  28 --- 146
  29 --- 73
  29 x--> 92
  29 --- 123
  29 --- 147
  30 --- 86
  30 x--> 92
  30 --- 124
  30 --- 148
  31 --- 80
  31 x--> 92
  31 --- 125
  31 --- 149
  32 --- 76
  32 x--> 92
  32 --- 126
  32 --- 150
  33 --- 71
  33 x--> 92
  33 --- 127
  33 --- 151
  34 --- 81
  34 x--> 92
  34 --- 128
  34 --- 152
  36 --- 70
  36 x--> 99
  36 --- 112
  36 --- 136
  37 --- 64
  37 x--> 98
  37 --- 106
  37 --- 130
  38 --- 66
  38 x--> 104
  38 --- 108
  38 --- 132
  39 --- 67
  39 x--> 102
  39 --- 109
  39 --- 133
  40 --- 69
  40 x--> 100
  40 --- 111
  40 --- 135
  41 --- 68
  41 x--> 103
  41 --- 110
  41 --- 134
  42 --- 63
  42 x--> 96
  42 --- 105
  42 --- 129
  43 --- 65
  43 x--> 97
  43 --- 107
  43 --- 131
  53 --- 71
  53 --- 72
  53 --- 73
  53 --- 74
  53 --- 75
  53 --- 76
  53 --- 77
  53 --- 78
  53 --- 79
  53 --- 80
  53 --- 81
  53 --- 82
  53 --- 83
  53 --- 84
  53 --- 85
  53 --- 86
  53 --- 92
  53 --- 101
  53 --- 113
  53 --- 114
  53 --- 115
  53 --- 116
  53 --- 117
  53 --- 118
  53 --- 119
  53 --- 120
  53 --- 121
  53 --- 122
  53 --- 123
  53 --- 124
  53 --- 125
  53 --- 126
  53 --- 127
  53 --- 128
  53 --- 137
  53 --- 138
  53 --- 139
  53 --- 140
  53 --- 141
  53 --- 142
  53 --- 143
  53 --- 144
  53 --- 145
  53 --- 146
  53 --- 147
  53 --- 148
  53 --- 149
  53 --- 150
  53 --- 151
  53 --- 152
  54 --- 63
  54 --- 87
  54 --- 96
  54 --- 105
  54 --- 129
  55 --- 64
  55 --- 89
  55 --- 98
  55 --- 106
  55 --- 130
  56 --- 65
  56 --- 88
  56 --- 97
  56 --- 107
  56 --- 131
  57 --- 66
  57 --- 95
  57 --- 104
  57 --- 108
  57 --- 132
  58 --- 67
  58 --- 93
  58 --- 102
  58 --- 109
  58 --- 133
  59 --- 68
  59 --- 94
  59 --- 103
  59 --- 110
  59 --- 134
  60 --- 69
  60 --- 91
  60 --- 100
  60 --- 111
  60 --- 135
  61 --- 70
  61 --- 90
  61 --- 99
  61 --- 112
  61 --- 136
  63 --- 105
  63 --- 129
  64 --- 106
  64 --- 130
  65 --- 107
  65 --- 131
  66 --- 108
  66 --- 132
  67 --- 109
  67 --- 133
  68 --- 110
  68 --- 134
  69 --- 111
  69 --- 135
  70 --- 112
  70 --- 136
  71 --- 127
  150 <--x 71
  71 --- 151
  72 --- 122
  145 <--x 72
  72 --- 146
  73 --- 123
  146 <--x 73
  73 --- 147
  74 --- 118
  141 <--x 74
  74 --- 142
  75 --- 117
  140 <--x 75
  75 --- 141
  76 --- 126
  149 <--x 76
  76 --- 150
  77 --- 115
  138 <--x 77
  77 --- 139
  78 --- 114
  137 <--x 78
  78 --- 138
  79 --- 116
  139 <--x 79
  79 --- 140
  80 --- 125
  148 <--x 80
  80 --- 149
  81 --- 128
  151 <--x 81
  81 --- 152
  82 --- 119
  142 <--x 82
  82 --- 143
  83 --- 113
  83 --- 137
  152 <--x 83
  84 --- 121
  144 <--x 84
  84 --- 145
  85 --- 120
  143 <--x 85
  85 --- 144
  86 --- 124
  147 <--x 86
  86 --- 148
  105 <--x 87
  107 <--x 88
  106 <--x 89
  112 <--x 90
  111 <--x 91
  109 <--x 93
  110 <--x 94
  108 <--x 95
  113 <--x 101
  114 <--x 101
  115 <--x 101
  116 <--x 101
  117 <--x 101
  118 <--x 101
  119 <--x 101
  120 <--x 101
  121 <--x 101
  122 <--x 101
  123 <--x 101
  124 <--x 101
  125 <--x 101
  126 <--x 101
  127 <--x 101
  128 <--x 101