Files
modeling-app/rust/kcl-lib/e2e/executor/inputs/mike_stress_test.kcl

1006 lines
58 KiB
Plaintext
Raw Normal View History

const part001 = startSketchOn(XY)
|> startProfile(at = [0.0, 0.0])
KCL: Use keyword arguments for line, lineTo, extrude and close (#5249) Part of #4600. PR: https://github.com/KittyCAD/modeling-app/pull/4826 # Changes to KCL stdlib - `line(point, sketch, tag)` and `lineTo(point, sketch, tag)` are combined into `line(@sketch, end?, endAbsolute?, tag?)` - `close(sketch, tag?)` is now `close(@sketch, tag?)` - `extrude(length, sketch)` is now `extrude(@sketch, length)` Note that if a parameter starts with `@` like `@sketch`, it doesn't have any label when called, so you call it like this: ``` sketch = startSketchAt([0, 0]) line(sketch, end = [3, 3], tag = $hi) ``` Note also that if you're using a `|>` pipeline, you can omit the `@` argument and it will be assumed to be the LHS of the `|>`. So the above could be written as ``` sketch = startSketchAt([0, 0]) |> line(end = [3, 3], tag = $hi) ``` Also changes frontend tests to use KittyCAD/kcl-samples#139 instead of its main The regex find-and-replace I use for migrating code (note these don't work with multi-line expressions) are: ``` line\(([^=]*), %\) line(end = $1) line\((.*), %, (.*)\) line(end = $1, tag = $2) lineTo\((.*), %\) line(endAbsolute = $1) lineTo\((.*), %, (.*)\) line(endAbsolute = $1, tag = $2) extrude\((.*), %\) extrude(length = $1) extrude\(([^=]*), ([a-zA-Z0-9]+)\) extrude($2, length = $1) close\(%, (.*)\) close(tag = $1) ``` # Selected notes from commits before I squash them all * Fix test 'yRelative to horizontal distance' Fixes: - Make a lineTo helper - Fix pathToNode to go through the labeled arg .arg property * Fix test by changing lookups into transformMap Parts of the code assumed that `line` is always a relative call. But actually now it might be absolute, if it's got an `endAbsolute` parameter. So, change whether to look up `line` or `lineTo` and the relevant absolute or relative line types based on that parameter. * Stop asserting on exact source ranges When I changed line to kwargs, all the source ranges we assert on became slightly different. I find these assertions to be very very low value. So I'm removing them. * Fix more tests: getConstraintType calls weren't checking if the 'line' fn was absolute or relative. * Fixed another queryAst test There were 2 problems: - Test was looking for the old style of `line` call to choose an offset for pathToNode - Test assumed that the `tag` param was always the third one, but in a kwarg call, you have to look it up by label * Fix test: traverse was not handling CallExpressionKw * Fix another test, addTagKw addTag helper was not aware of kw args. * Convert close from positional to kwargs If the close() call has 0 args, or a single unlabeled arg, the parser interprets it as a CallExpression (positional) not a CallExpressionKw. But then if a codemod wants to add a tag to it, it tries adding a kwarg called 'tag', which fails because the CallExpression doesn't need kwargs inserted into it. The fix is: change the node from CallExpression to CallExpressionKw, and update getNodeFromPath to take a 'replacement' arg, so we can replace the old node with the new node in the AST. * Fix the last test Test was looking for `lineTo` as a substring of the input KCL program. But there's no more lineTo function, so I changed it to look for line() with an endAbsolute arg, which is the new equivalent. Also changed the getConstraintInfo code to look up the lineTo if using line with endAbsolute. * Fix many bad regex find-replaces I wrote a regex find-and-replace which converted `line` calls from positional to keyword calls. But it was accidentally applied to more places than it should be, for example, angledLine, xLine and yLine calls. Fixes this. * Fixes test 'Basic sketch › code pane closed at start' Problem was, the getNodeFromPath call might not actually find a callExpressionKw, it might find a callExpression. So the `giveSketchFnCallTag` thought it was modifying a kwargs call, but it was actually modifying a positional call. This meant it tried to push a labeled argument in, rather than a normal arg, and a lot of other problems. Fixed by doing runtime typechecking. * Fix: Optional args given with wrong type were silently ignored Optional args don't have to be given. But if the user gives them, they should be the right type. Bug: if the KCL interpreter found an optional arg, which was given, but was the wrong type, it would ignore it and pretend the arg was never given at all. This was confusing for users. Fix: Now if you give an optional arg, but it's the wrong type, KCL will emit a type error just like it would for a mandatory argument. --------- Signed-off-by: Nick Cameron <nrc@ncameron.org> Co-authored-by: Nick Cameron <nrc@ncameron.org> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Frank Noirot <frank@kittycad.io> Co-authored-by: Kevin Nadro <kevin@zoo.dev> Co-authored-by: Jonathan Tran <jonnytran@gmail.com>
2025-02-04 08:31:43 -06:00
|> line(end = [-0.3670208139314082, 0.21201331909674526])
|> line(end = [-0.4707511307971115, 0.4905279615419764])
|> line(end = [-0.8328324229085962, 0.4677492878818803])
|> line(end = [-0.8111463382182231, -0.41814807547140576])
|> line(end = [0.03807684940941125, 0.25664826686353326])
|> line(end = [0.23950083339596384, 0.43693196301855575])
|> line(end = [-0.16279444820904887, 0.8064475707664818])
|> line(end = [-0.08972872009232558, -0.08887625823751266])
|> line(end = [0.9203433427102556, -0.17343459369697545])
|> line(end = [0.0017496234414517975, -0.5178508316168335])
|> line(end = [0.6206263405732759, -0.8733399468665124])
|> line(end = [-0.7776386664456383, 0.7602780485384968])
|> line(end = [0.5439379760788592, 0.8449177589350552])
|> line(end = [-0.13036646025917076, 0.012051713627069693])
|> line(end = [-0.1656465612645519, -0.20775229173765486])
|> line(end = [-0.0962723255929061, -0.05417797659066137])
|> line(end = [0.902108945498191, 0.3958978534964961])
|> line(end = [0.27997950083139167, -0.17778188444008958])
|> line(end = [0.5235806061589545, 0.694318985642328])
|> line(end = [0.39140760219992154, -0.7839795272576484])
|> line(end = [0.8414243527073519, 0.5395591528940082])
|> line(end = [0.6137667704875602, 0.22119647516722085])
|> line(end = [0.8830488380766681, 0.6996724408425232])
|> line(end = [-0.41290485754343953, -0.4152647361760933])
|> line(end = [0.5169538755575687, -0.9085567867302617])
|> line(end = [-0.6716353749059765, -0.9605576808879026])
|> line(end = [0.010280170930300203, -0.37344123662342166])
|> line(end = [0.10357375682791004, -0.42294321030821425])
|> line(end = [0.4520311575096987, -0.11232675307600548])
|> line(end = [-0.8821185914380845, -0.7155147434939819])
|> line(end = [0.9195487101690416, 0.2691627465297364])
|> line(end = [0.7098978191546745, 0.11710004169385968])
|> line(end = [-0.37876368560819995, 0.7106729314759084])
|> line(end = [-0.29728126898353335, -0.06649734568328003])
|> line(end = [0.22965781558352072, -0.7601866432836641])
|> line(end = [-0.6356501074317229, 0.19458425399338064])
|> line(end = [0.5721251777404546, 0.2888584097921527])
|> line(end = [-0.9580409549552311, -0.02243818192078395])
|> line(end = [0.3299184618602866, -0.8353726942369875])
|> line(end = [0.7434639386755209, -0.7919648864138378])
|> line(end = [0.9935751011164615, 0.9042566468497608])
|> line(end = [-0.5035812884687294, 0.5150967434989442])
|> line(end = [0.5526227215900215, 0.7612604137272441])
|> line(end = [0.8593271349126876, 0.08414894953725849])
|> line(end = [-0.8181049219192864, -0.903548131323352])
|> line(end = [0.3165782044458305, -0.24189274252014914])
|> line(end = [-0.44390956414045135, -0.25912591535126905])
|> line(end = [-0.6605165911891009, -0.40355115288839194])
|> line(end = [-0.7170489950180006, 0.23454356079651384])
|> line(end = [-0.2568187045379722, -0.45031188717601367])
|> line(end = [0.6751951211858687, -0.9709424233465593])
|> line(end = [-0.5689619842972184, 0.5918969913790362])
|> line(end = [-0.8328324229085962, 0.4677492878818803])
|> line(end = [-0.8111463382182231, -0.41814807547140576])
|> line(end = [0.03807684940941125, 0.25664826686353326])
|> line(end = [0.23950083339596384, 0.43693196301855575])
|> line(end = [-0.16279444820904887, 0.8064475707664818])
|> line(end = [-0.08972872009232558, -0.08887625823751266])
|> line(end = [0.9203433427102556, -0.17343459369697545])
|> line(end = [0.0017496234414517975, -0.5178508316168335])
|> line(end = [0.6206263405732759, -0.8733399468665124])
|> line(end = [-0.7776386664456383, 0.7602780485384968])
|> line(end = [0.5439379760788592, 0.8449177589350552])
|> line(end = [-0.13036646025917076, 0.012051713627069693])
|> line(end = [-0.1656465612645519, -0.20775229173765486])
|> line(end = [-0.0962723255929061, -0.05417797659066137])
|> line(end = [0.902108945498191, 0.3958978534964961])
|> line(end = [0.27997950083139167, -0.17778188444008958])
|> line(end = [0.5235806061589545, 0.694318985642328])
|> line(end = [0.39140760219992154, -0.7839795272576484])
|> line(end = [0.8414243527073519, 0.5395591528940082])
|> line(end = [0.6137667704875602, 0.22119647516722085])
|> line(end = [0.8830488380766681, 0.6996724408425232])
|> line(end = [-0.41290485754343953, -0.4152647361760933])
|> line(end = [0.5169538755575687, -0.9085567867302617])
|> line(end = [0.6751951211858687, -0.9709424233465593])
|> line(end = [-0.5689619842972184, 0.5918969913790362])
|> line(end = [0.9464450621708211, -0.2684908127803667])
|> line(end = [0.5241732366617591, 0.9011437416408563])
|> line(end = [-0.14255393713960607, -0.5194262624564814])
|> line(end = [-0.4287123231350338, -0.4223564528725028])
|> line(end = [-0.09316367294024519, -0.9063127021008246])
|> line(end = [-0.2767766535558669, 0.6816248114129131])
|> line(end = [0.9796762495562534, -0.0822145668330625])
|> line(end = [-0.8666513070867441, -0.301053160242023])
|> line(end = [0.537415656028112, 0.020272692875002774])
|> line(end = [0.9332396256457531, -0.6228175690649898])
|> line(end = [0.18052415837320734, -0.36894384647296197])
|> line(end = [0.5384372634075449, 0.2377565050887107])
|> line(end = [0.39043436929278874, 0.14273182483160451])
|> line(end = [0.09782890412897283, 0.9907667536909659])
|> line(end = [0.5286610085921146, -0.7924508308419256])
|> line(end = [0.3789978184503342, 0.12396120576838676])
|> line(end = [-0.9484912744890612, 0.6729649846476855])
|> line(end = [0.7451758753425153, -0.21318737562458967])
|> line(end = [0.1873200727251887, -0.15961374297992448])
|> line(end = [-0.05729464924537564, -0.5436345558508746])
|> line(end = [-0.09582414374469184, -0.7533839681212353])
|> line(end = [-0.17254116580051848, -0.7669113400341137])
|> line(end = [0.8944730032887609, 0.6093318694741408])
|> line(end = [-0.3670208139314082, 0.21201331909674526])
|> line(end = [-0.4707511307971115, 0.4905279615419764])
|> line(end = [-0.8328324229085962, 0.4677492878818803])
|> line(end = [-0.8111463382182231, -0.41814807547140576])
|> line(end = [0.03807684940941125, 0.25664826686353326])
|> line(end = [0.23950083339596384, 0.43693196301855575])
|> line(end = [-0.16279444820904887, 0.8064475707664818])
|> line(end = [-0.08972872009232558, -0.08887625823751266])
|> line(end = [0.9203433427102556, -0.17343459369697545])
|> line(end = [0.0017496234414517975, -0.5178508316168335])
|> line(end = [0.6206263405732759, -0.8733399468665124])
|> line(end = [-0.7776386664456383, 0.7602780485384968])
|> line(end = [0.5439379760788592, 0.8449177589350552])
|> line(end = [-0.13036646025917076, 0.012051713627069693])
|> line(end = [-0.1656465612645519, -0.20775229173765486])
|> line(end = [-0.0962723255929061, -0.05417797659066137])
|> line(end = [0.902108945498191, 0.3958978534964961])
|> line(end = [0.27997950083139167, -0.17778188444008958])
|> line(end = [0.5235806061589545, 0.694318985642328])
|> line(end = [0.39140760219992154, -0.7839795272576484])
|> line(end = [0.8414243527073519, 0.5395591528940082])
|> line(end = [0.6137667704875602, 0.22119647516722085])
|> line(end = [0.8830488380766681, 0.6996724408425232])
|> line(end = [-0.41290485754343953, -0.4152647361760933])
|> line(end = [0.5169538755575687, -0.9085567867302617])
|> line(end = [-0.6716353749059765, -0.9605576808879026])
|> line(end = [0.010280170930300203, -0.37344123662342166])
|> line(end = [0.10357375682791004, -0.42294321030821425])
|> line(end = [0.4520311575096987, -0.11232675307600548])
|> line(end = [-0.8821185914380845, -0.7155147434939819])
|> line(end = [0.9195487101690416, 0.2691627465297364])
|> line(end = [0.7098978191546745, 0.11710004169385968])
|> line(end = [-0.37876368560819995, 0.7106729314759084])
|> line(end = [-0.29728126898353335, -0.06649734568328003])
|> line(end = [0.22965781558352072, -0.7601866432836641])
|> line(end = [-0.6356501074317229, 0.19458425399338064])
|> line(end = [0.5721251777404546, 0.2888584097921527])
|> line(end = [-0.9580409549552311, -0.02243818192078395])
|> line(end = [0.3299184618602866, -0.8353726942369875])
|> line(end = [0.7434639386755209, -0.7919648864138378])
|> line(end = [0.9935751011164615, 0.9042566468497608])
|> line(end = [-0.5035812884687294, 0.5150967434989442])
|> line(end = [0.5526227215900215, 0.7612604137272441])
|> line(end = [0.8593271349126876, 0.08414894953725849])
|> line(end = [-0.8181049219192864, -0.903548131323352])
|> line(end = [0.3165782044458305, -0.24189274252014914])
|> line(end = [-0.44390956414045135, -0.25912591535126905])
|> line(end = [-0.6605165911891009, -0.40355115288839194])
|> line(end = [-0.7170489950180006, 0.23454356079651384])
|> line(end = [-0.2568187045379722, -0.45031188717601367])
|> line(end = [0.6751951211858687, -0.9709424233465593])
|> line(end = [-0.5689619842972184, 0.5918969913790362])
|> line(end = [-0.8328324229085962, 0.4677492878818803])
|> line(end = [-0.8111463382182231, -0.41814807547140576])
|> line(end = [0.03807684940941125, 0.25664826686353326])
|> line(end = [0.23950083339596384, 0.43693196301855575])
|> line(end = [-0.16279444820904887, 0.8064475707664818])
|> line(end = [-0.08972872009232558, -0.08887625823751266])
|> line(end = [0.9203433427102556, -0.17343459369697545])
|> line(end = [0.0017496234414517975, -0.5178508316168335])
|> line(end = [0.6206263405732759, -0.8733399468665124])
|> line(end = [-0.7776386664456383, 0.7602780485384968])
|> line(end = [0.5439379760788592, 0.8449177589350552])
|> line(end = [-0.13036646025917076, 0.012051713627069693])
|> line(end = [-0.1656465612645519, -0.20775229173765486])
|> line(end = [-0.0962723255929061, -0.05417797659066137])
|> line(end = [0.902108945498191, 0.3958978534964961])
|> line(end = [0.27997950083139167, -0.17778188444008958])
|> line(end = [0.5235806061589545, 0.694318985642328])
|> line(end = [0.39140760219992154, -0.7839795272576484])
|> line(end = [0.8414243527073519, 0.5395591528940082])
|> line(end = [0.6137667704875602, 0.22119647516722085])
|> line(end = [0.8830488380766681, 0.6996724408425232])
|> line(end = [-0.3670208139314082, 0.21201331909674526])
|> line(end = [-0.4707511307971115, 0.4905279615419764])
|> line(end = [-0.8328324229085962, 0.4677492878818803])
|> line(end = [-0.8111463382182231, -0.41814807547140576])
|> line(end = [0.03807684940941125, 0.25664826686353326])
|> line(end = [0.23950083339596384, 0.43693196301855575])
|> line(end = [-0.16279444820904887, 0.8064475707664818])
|> line(end = [-0.08972872009232558, -0.08887625823751266])
|> line(end = [0.9203433427102556, -0.17343459369697545])
|> line(end = [0.0017496234414517975, -0.5178508316168335])
|> line(end = [0.6206263405732759, -0.8733399468665124])
|> line(end = [-0.7776386664456383, 0.7602780485384968])
|> line(end = [0.5439379760788592, 0.8449177589350552])
|> line(end = [-0.13036646025917076, 0.012051713627069693])
|> line(end = [-0.1656465612645519, -0.20775229173765486])
|> line(end = [-0.0962723255929061, -0.05417797659066137])
|> line(end = [0.902108945498191, 0.3958978534964961])
|> line(end = [0.27997950083139167, -0.17778188444008958])
|> line(end = [0.5235806061589545, 0.694318985642328])
|> line(end = [0.39140760219992154, -0.7839795272576484])
|> line(end = [0.8414243527073519, 0.5395591528940082])
|> line(end = [0.6137667704875602, 0.22119647516722085])
|> line(end = [0.8830488380766681, 0.6996724408425232])
|> line(end = [-0.41290485754343953, -0.4152647361760933])
|> line(end = [0.5169538755575687, -0.9085567867302617])
|> line(end = [-0.6716353749059765, -0.9605576808879026])
|> line(end = [0.010280170930300203, -0.37344123662342166])
|> line(end = [-0.3670208139314082, 0.21201331909674526])
|> line(end = [-0.4707511307971115, 0.4905279615419764])
|> line(end = [-0.8328324229085962, 0.4677492878818803])
|> line(end = [-0.8111463382182231, -0.41814807547140576])
|> line(end = [0.03807684940941125, 0.25664826686353326])
|> line(end = [0.23950083339596384, 0.43693196301855575])
|> line(end = [-0.16279444820904887, 0.8064475707664818])
|> line(end = [-0.08972872009232558, -0.08887625823751266])
|> line(end = [0.9203433427102556, -0.17343459369697545])
|> line(end = [0.0017496234414517975, -0.5178508316168335])
|> line(end = [0.6206263405732759, -0.8733399468665124])
|> line(end = [-0.7776386664456383, 0.7602780485384968])
|> line(end = [0.5439379760788592, 0.8449177589350552])
|> line(end = [-0.13036646025917076, 0.012051713627069693])
|> line(end = [-0.1656465612645519, -0.20775229173765486])
|> line(end = [-0.0962723255929061, -0.05417797659066137])
|> line(end = [0.902108945498191, 0.3958978534964961])
|> line(end = [0.27997950083139167, -0.17778188444008958])
|> line(end = [0.5235806061589545, 0.694318985642328])
|> line(end = [0.39140760219992154, -0.7839795272576484])
|> line(end = [0.8414243527073519, 0.5395591528940082])
|> line(end = [0.6137667704875602, 0.22119647516722085])
|> line(end = [0.8830488380766681, 0.6996724408425232])
|> line(end = [-0.41290485754343953, -0.4152647361760933])
|> line(end = [0.5169538755575687, -0.9085567867302617])
|> line(end = [-0.6716353749059765, -0.9605576808879026])
|> line(end = [0.010280170930300203, -0.37344123662342166])
|> line(end = [0.10357375682791004, -0.42294321030821425])
|> line(end = [0.4520311575096987, -0.11232675307600548])
|> line(end = [-0.8821185914380845, -0.7155147434939819])
|> line(end = [0.9195487101690416, 0.2691627465297364])
|> line(end = [0.7098978191546745, 0.11710004169385968])
|> line(end = [-0.37876368560819995, 0.7106729314759084])
|> line(end = [-0.29728126898353335, -0.06649734568328003])
|> line(end = [0.22965781558352072, -0.7601866432836641])
|> line(end = [-0.6356501074317229, 0.19458425399338064])
|> line(end = [0.5721251777404546, 0.2888584097921527])
|> line(end = [-0.9580409549552311, -0.02243818192078395])
|> line(end = [0.3299184618602866, -0.8353726942369875])
|> line(end = [0.7434639386755209, -0.7919648864138378])
|> line(end = [0.9935751011164615, 0.9042566468497608])
|> line(end = [-0.5035812884687294, 0.5150967434989442])
|> line(end = [0.5526227215900215, 0.7612604137272441])
|> line(end = [0.8593271349126876, 0.08414894953725849])
|> line(end = [-0.8181049219192864, -0.903548131323352])
|> line(end = [0.3165782044458305, -0.24189274252014914])
|> line(end = [-0.44390956414045135, -0.25912591535126905])
|> line(end = [-0.6605165911891009, -0.40355115288839194])
|> line(end = [-0.7170489950180006, 0.23454356079651384])
|> line(end = [-0.2568187045379722, -0.45031188717601367])
|> line(end = [0.6751951211858687, -0.9709424233465593])
|> line(end = [-0.5689619842972184, 0.5918969913790362])
|> line(end = [-0.8328324229085962, 0.4677492878818803])
|> line(end = [-0.8111463382182231, -0.41814807547140576])
|> line(end = [0.03807684940941125, 0.25664826686353326])
|> line(end = [0.23950083339596384, 0.43693196301855575])
|> line(end = [-0.16279444820904887, 0.8064475707664818])
|> line(end = [-0.08972872009232558, -0.08887625823751266])
|> line(end = [0.9203433427102556, -0.17343459369697545])
|> line(end = [0.0017496234414517975, -0.5178508316168335])
|> line(end = [0.6206263405732759, -0.8733399468665124])
|> line(end = [-0.7776386664456383, 0.7602780485384968])
|> line(end = [0.5439379760788592, 0.8449177589350552])
|> line(end = [-0.13036646025917076, 0.012051713627069693])
|> line(end = [-0.1656465612645519, -0.20775229173765486])
|> line(end = [-0.0962723255929061, -0.05417797659066137])
|> line(end = [0.902108945498191, 0.3958978534964961])
|> line(end = [0.27997950083139167, -0.17778188444008958])
|> line(end = [0.5235806061589545, 0.694318985642328])
|> line(end = [0.39140760219992154, -0.7839795272576484])
|> line(end = [0.8414243527073519, 0.5395591528940082])
|> line(end = [0.6137667704875602, 0.22119647516722085])
|> line(end = [0.8830488380766681, 0.6996724408425232])
|> line(end = [-0.41290485754343953, -0.4152647361760933])
|> line(end = [0.5169538755575687, -0.9085567867302617])
|> line(end = [0.6751951211858687, -0.9709424233465593])
|> line(end = [-0.5689619842972184, 0.5918969913790362])
|> line(end = [0.9464450621708211, -0.2684908127803667])
|> line(end = [0.5241732366617591, 0.9011437416408563])
|> line(end = [-0.14255393713960607, -0.5194262624564814])
|> line(end = [-0.4287123231350338, -0.4223564528725028])
|> line(end = [-0.09316367294024519, -0.9063127021008246])
|> line(end = [-0.2767766535558669, 0.6816248114129131])
|> line(end = [0.9796762495562534, -0.0822145668330625])
|> line(end = [-0.8666513070867441, -0.301053160242023])
|> line(end = [0.537415656028112, 0.020272692875002774])
|> line(end = [0.9332396256457531, -0.6228175690649898])
|> line(end = [0.18052415837320734, -0.36894384647296197])
|> line(end = [0.5384372634075449, 0.2377565050887107])
|> line(end = [0.39043436929278874, 0.14273182483160451])
|> line(end = [0.09782890412897283, 0.9907667536909659])
|> line(end = [0.5286610085921146, -0.7924508308419256])
|> line(end = [0.3789978184503342, 0.12396120576838676])
|> line(end = [-0.9484912744890612, 0.6729649846476855])
|> line(end = [0.7451758753425153, -0.21318737562458967])
|> line(end = [0.1873200727251887, -0.15961374297992448])
|> line(end = [-0.05729464924537564, -0.5436345558508746])
|> line(end = [-0.09582414374469184, -0.7533839681212353])
|> line(end = [-0.17254116580051848, -0.7669113400341137])
|> line(end = [0.8944730032887609, 0.6093318694741408])
|> line(end = [-0.3670208139314082, 0.21201331909674526])
|> line(end = [-0.4707511307971115, 0.4905279615419764])
|> line(end = [-0.8328324229085962, 0.4677492878818803])
|> line(end = [-0.8111463382182231, -0.41814807547140576])
|> line(end = [0.03807684940941125, 0.25664826686353326])
|> line(end = [0.23950083339596384, 0.43693196301855575])
|> line(end = [-0.16279444820904887, 0.8064475707664818])
|> line(end = [-0.08972872009232558, -0.08887625823751266])
|> line(end = [0.9203433427102556, -0.17343459369697545])
|> line(end = [0.0017496234414517975, -0.5178508316168335])
|> line(end = [0.6206263405732759, -0.8733399468665124])
|> line(end = [-0.7776386664456383, 0.7602780485384968])
|> line(end = [0.5439379760788592, 0.8449177589350552])
|> line(end = [-0.13036646025917076, 0.012051713627069693])
|> line(end = [-0.1656465612645519, -0.20775229173765486])
|> line(end = [-0.0962723255929061, -0.05417797659066137])
|> line(end = [0.902108945498191, 0.3958978534964961])
|> line(end = [0.27997950083139167, -0.17778188444008958])
|> line(end = [0.5235806061589545, 0.694318985642328])
|> line(end = [0.39140760219992154, -0.7839795272576484])
|> line(end = [0.8414243527073519, 0.5395591528940082])
|> line(end = [0.6137667704875602, 0.22119647516722085])
|> line(end = [0.8830488380766681, 0.6996724408425232])
|> line(end = [-0.41290485754343953, -0.4152647361760933])
|> line(end = [0.5169538755575687, -0.9085567867302617])
|> line(end = [-0.6716353749059765, -0.9605576808879026])
|> line(end = [0.010280170930300203, -0.37344123662342166])
|> line(end = [0.10357375682791004, -0.42294321030821425])
|> line(end = [0.4520311575096987, -0.11232675307600548])
|> line(end = [-0.8821185914380845, -0.7155147434939819])
|> line(end = [0.9195487101690416, 0.2691627465297364])
|> line(end = [0.7098978191546745, 0.11710004169385968])
|> line(end = [-0.37876368560819995, 0.7106729314759084])
|> line(end = [-0.29728126898353335, -0.06649734568328003])
|> line(end = [0.22965781558352072, -0.7601866432836641])
|> line(end = [-0.6356501074317229, 0.19458425399338064])
|> line(end = [0.5721251777404546, 0.2888584097921527])
|> line(end = [-0.9580409549552311, -0.02243818192078395])
|> line(end = [0.3299184618602866, -0.8353726942369875])
|> line(end = [0.7434639386755209, -0.7919648864138378])
|> line(end = [0.9935751011164615, 0.9042566468497608])
|> line(end = [-0.5035812884687294, 0.5150967434989442])
|> line(end = [0.5526227215900215, 0.7612604137272441])
|> line(end = [0.8593271349126876, 0.08414894953725849])
|> line(end = [-0.8181049219192864, -0.903548131323352])
|> line(end = [0.3165782044458305, -0.24189274252014914])
|> line(end = [-0.44390956414045135, -0.25912591535126905])
|> line(end = [-0.6605165911891009, -0.40355115288839194])
|> line(end = [-0.7170489950180006, 0.23454356079651384])
|> line(end = [-0.2568187045379722, -0.45031188717601367])
|> line(end = [0.6751951211858687, -0.9709424233465593])
|> line(end = [-0.5689619842972184, 0.5918969913790362])
|> line(end = [-0.8328324229085962, 0.4677492878818803])
|> line(end = [-0.8111463382182231, -0.41814807547140576])
|> line(end = [0.03807684940941125, 0.25664826686353326])
|> line(end = [0.23950083339596384, 0.43693196301855575])
|> line(end = [-0.16279444820904887, 0.8064475707664818])
|> line(end = [-0.08972872009232558, -0.08887625823751266])
|> line(end = [0.9203433427102556, -0.17343459369697545])
|> line(end = [0.0017496234414517975, -0.5178508316168335])
|> line(end = [0.6206263405732759, -0.8733399468665124])
|> line(end = [-0.7776386664456383, 0.7602780485384968])
|> line(end = [0.5439379760788592, 0.8449177589350552])
|> line(end = [-0.13036646025917076, 0.012051713627069693])
|> line(end = [-0.1656465612645519, -0.20775229173765486])
|> line(end = [-0.0962723255929061, -0.05417797659066137])
|> line(end = [0.902108945498191, 0.3958978534964961])
|> line(end = [0.27997950083139167, -0.17778188444008958])
|> line(end = [0.5235806061589545, 0.694318985642328])
|> line(end = [0.39140760219992154, -0.7839795272576484])
|> line(end = [0.8414243527073519, 0.5395591528940082])
|> line(end = [0.6137667704875602, 0.22119647516722085])
|> line(end = [0.8830488380766681, 0.6996724408425232])
|> line(end = [-0.3670208139314082, 0.21201331909674526])
|> line(end = [-0.4707511307971115, 0.4905279615419764])
|> line(end = [-0.8328324229085962, 0.4677492878818803])
|> line(end = [-0.8111463382182231, -0.41814807547140576])
|> line(end = [0.03807684940941125, 0.25664826686353326])
|> line(end = [0.23950083339596384, 0.43693196301855575])
|> line(end = [-0.16279444820904887, 0.8064475707664818])
|> line(end = [-0.08972872009232558, -0.08887625823751266])
|> line(end = [0.9203433427102556, -0.17343459369697545])
|> line(end = [0.0017496234414517975, -0.5178508316168335])
|> line(end = [0.6206263405732759, -0.8733399468665124])
|> line(end = [-0.7776386664456383, 0.7602780485384968])
|> line(end = [0.5439379760788592, 0.8449177589350552])
|> line(end = [-0.13036646025917076, 0.012051713627069693])
|> line(end = [-0.1656465612645519, -0.20775229173765486])
|> line(end = [-0.0962723255929061, -0.05417797659066137])
|> line(end = [0.902108945498191, 0.3958978534964961])
|> line(end = [0.27997950083139167, -0.17778188444008958])
|> line(end = [0.5235806061589545, 0.694318985642328])
|> line(end = [0.39140760219992154, -0.7839795272576484])
|> line(end = [0.8414243527073519, 0.5395591528940082])
|> line(end = [0.6137667704875602, 0.22119647516722085])
|> line(end = [0.8830488380766681, 0.6996724408425232])
|> line(end = [-0.41290485754343953, -0.4152647361760933])
|> line(end = [0.5169538755575687, -0.9085567867302617])
|> line(end = [-0.6716353749059765, -0.9605576808879026])
|> line(end = [0.010280170930300203, -0.37344123662342166])
|> line(end = [0.10357375682791004, -0.42294321030821425])
|> line(end = [0.4520311575096987, -0.11232675307600548])
|> line(end = [-0.8821185914380845, -0.7155147434939819])
|> line(end = [0.9195487101690416, 0.2691627465297364])
|> line(end = [0.7098978191546745, 0.11710004169385968])
|> line(end = [-0.37876368560819995, 0.7106729314759084])
|> line(end = [-0.29728126898353335, -0.06649734568328003])
|> line(end = [0.22965781558352072, -0.7601866432836641])
|> line(end = [-0.6356501074317229, 0.19458425399338064])
|> line(end = [0.5721251777404546, 0.2888584097921527])
|> line(end = [-0.9580409549552311, -0.02243818192078395])
|> line(end = [0.3299184618602866, -0.8353726942369875])
|> line(end = [0.7434639386755209, -0.7919648864138378])
|> line(end = [0.9935751011164615, 0.9042566468497608])
|> line(end = [-0.5035812884687294, 0.5150967434989442])
|> line(end = [0.5526227215900215, 0.7612604137272441])
|> line(end = [0.8593271349126876, 0.08414894953725849])
|> line(end = [-0.8181049219192864, -0.903548131323352])
|> line(end = [0.3165782044458305, -0.24189274252014914])
|> line(end = [-0.44390956414045135, -0.25912591535126905])
|> line(end = [-0.6605165911891009, -0.40355115288839194])
|> line(end = [-0.7170489950180006, 0.23454356079651384])
|> line(end = [-0.2568187045379722, -0.45031188717601367])
|> line(end = [0.6751951211858687, -0.9709424233465593])
|> line(end = [-0.5689619842972184, 0.5918969913790362])
|> line(end = [-0.8328324229085962, 0.4677492878818803])
|> line(end = [-0.8111463382182231, -0.41814807547140576])
|> line(end = [0.03807684940941125, 0.25664826686353326])
|> line(end = [0.23950083339596384, 0.43693196301855575])
|> line(end = [-0.16279444820904887, 0.8064475707664818])
|> line(end = [-0.08972872009232558, -0.08887625823751266])
|> line(end = [0.9203433427102556, -0.17343459369697545])
|> line(end = [0.0017496234414517975, -0.5178508316168335])
|> line(end = [0.6206263405732759, -0.8733399468665124])
|> line(end = [-0.7776386664456383, 0.7602780485384968])
|> line(end = [0.5439379760788592, 0.8449177589350552])
|> line(end = [-0.13036646025917076, 0.012051713627069693])
|> line(end = [-0.1656465612645519, -0.20775229173765486])
|> line(end = [-0.0962723255929061, -0.05417797659066137])
|> line(end = [0.902108945498191, 0.3958978534964961])
|> line(end = [0.27997950083139167, -0.17778188444008958])
|> line(end = [0.5235806061589545, 0.694318985642328])
|> line(end = [0.39140760219992154, -0.7839795272576484])
|> line(end = [0.8414243527073519, 0.5395591528940082])
|> line(end = [0.6137667704875602, 0.22119647516722085])
|> line(end = [-0.09582414374469184, -0.7533839681212353])
|> line(end = [-0.17254116580051848, -0.7669113400341137])
|> line(end = [0.8944730032887609, 0.6093318694741408])
|> line(end = [-0.41290485754343953, -0.4152647361760933])
|> line(end = [0.5169538755575687, -0.9085567867302617])
|> line(end = [0.6751951211858687, -0.9709424233465593])
|> line(end = [-0.5689619842972184, 0.5918969913790362])
|> line(end = [0.9464450621708211, -0.2684908127803667])
|> line(end = [0.5241732366617591, 0.9011437416408563])
|> line(end = [-0.14255393713960607, -0.5194262624564814])
|> line(end = [-0.4287123231350338, -0.4223564528725028])
|> line(end = [-0.09316367294024519, -0.9063127021008246])
|> line(end = [-0.2767766535558669, 0.6816248114129131])
|> line(end = [0.9796762495562534, -0.0822145668330625])
|> line(end = [-0.8666513070867441, -0.301053160242023])
|> line(end = [0.537415656028112, 0.020272692875002774])
|> line(end = [0.9332396256457531, -0.6228175690649898])
|> line(end = [0.18052415837320734, -0.36894384647296197])
|> line(end = [0.5384372634075449, 0.2377565050887107])
|> line(end = [0.39043436929278874, 0.14273182483160451])
|> line(end = [0.09782890412897283, 0.9907667536909659])
|> line(end = [0.5286610085921146, -0.7924508308419256])
|> line(end = [0.3789978184503342, 0.12396120576838676])
|> line(end = [-0.9484912744890612, 0.6729649846476855])
|> line(end = [0.7451758753425153, -0.21318737562458967])
|> line(end = [0.1873200727251887, -0.15961374297992448])
|> line(end = [-0.05729464924537564, -0.5436345558508746])
|> line(end = [-0.09582414374469184, -0.7533839681212353])
|> line(end = [-0.17254116580051848, -0.7669113400341137])
|> line(end = [0.8944730032887609, 0.6093318694741408])
|> line(end = [-0.6238548626325471, 0.4053626746020169])
|> line(end = [0.1379445992766417, -0.47871087958516045])
|> line(end = [-0.9516767113283946, 0.8619900618578948])
|> line(end = [0.9398732950992088, 0.6326239915683629])
|> line(end = [-0.8631974445502164, 0.016153555523963137])
|> line(end = [0.19167797120152907, -0.4916414381703984])
|> line(end = [-0.8644261221501586, -0.11434763886359756])
|> line(end = [-0.029081958413378572, -0.5214138808318329])
|> line(end = [-0.8713091851579695, 0.7866284950967315])
|> line(end = [0.884342023093545, -0.1825407002568431])
|> line(end = [-0.6978385295364686, 0.0440574328736949])
|> line(end = [-0.48055049324331556, -0.028546347149214002])
|> line(end = [0.41283517382864776, -0.44938038251347323])
|> line(end = [0.7911399832501751, 0.893446368526005])
|> line(end = [0.6507434699009087, -0.6890023920962012])
|> line(end = [0.10489019777253028, -0.5467450997193952])
|> line(end = [-0.5760905289992633, -0.2639900702114173])
|> line(end = [0.39828861790105297, 0.8036624129416385])
|> line(end = [-0.673848991328553, -0.918443329270668])
|> line(end = [-0.8599152936179257, -0.9499371022680787])
|> line(end = [0.6285243831393765, -0.5186557636566307])
|> line(end = [0.3222412784832269, 0.24621192679727177])
|> line(end = [0.19754357911311016, -0.7529246632397206])
|> line(end = [-0.43181570545865555, 0.18945437402201537])
|> line(end = [0.8714511090241797, -0.7215844196844685])
|> line(end = [-0.3670208139314082, 0.21201331909674526])
|> line(end = [-0.4707511307971115, 0.4905279615419764])
|> line(end = [-0.8328324229085962, 0.4677492878818803])
|> line(end = [-0.8111463382182231, -0.41814807547140576])
|> line(end = [0.03807684940941125, 0.25664826686353326])
|> line(end = [0.23950083339596384, 0.43693196301855575])
|> line(end = [-0.16279444820904887, 0.8064475707664818])
|> line(end = [-0.08972872009232558, -0.08887625823751266])
|> line(end = [0.9203433427102556, -0.17343459369697545])
|> line(end = [0.0017496234414517975, -0.5178508316168335])
|> line(end = [0.6206263405732759, -0.8733399468665124])
|> line(end = [-0.7776386664456383, 0.7602780485384968])
|> line(end = [0.5439379760788592, 0.8449177589350552])
|> line(end = [-0.13036646025917076, 0.012051713627069693])
|> line(end = [-0.1656465612645519, -0.20775229173765486])
|> line(end = [-0.0962723255929061, -0.05417797659066137])
|> line(end = [0.902108945498191, 0.3958978534964961])
|> line(end = [0.27997950083139167, -0.17778188444008958])
|> line(end = [0.5235806061589545, 0.694318985642328])
|> line(end = [0.39140760219992154, -0.7839795272576484])
|> line(end = [0.8414243527073519, 0.5395591528940082])
|> line(end = [0.6137667704875602, 0.22119647516722085])
|> line(end = [0.8830488380766681, 0.6996724408425232])
|> line(end = [-0.41290485754343953, -0.4152647361760933])
|> line(end = [0.5169538755575687, -0.9085567867302617])
|> line(end = [-0.6716353749059765, -0.9605576808879026])
|> line(end = [0.010280170930300203, -0.37344123662342166])
|> line(end = [0.10357375682791004, -0.42294321030821425])
|> line(end = [0.4520311575096987, -0.11232675307600548])
|> line(end = [-0.8821185914380845, -0.7155147434939819])
|> line(end = [0.9195487101690416, 0.2691627465297364])
|> line(end = [0.7098978191546745, 0.11710004169385968])
|> line(end = [-0.37876368560819995, 0.7106729314759084])
|> line(end = [-0.29728126898353335, -0.06649734568328003])
|> line(end = [0.22965781558352072, -0.7601866432836641])
|> line(end = [-0.6356501074317229, 0.19458425399338064])
|> line(end = [0.5721251777404546, 0.2888584097921527])
|> line(end = [-0.9580409549552311, -0.02243818192078395])
|> line(end = [0.3299184618602866, -0.8353726942369875])
|> line(end = [0.7434639386755209, -0.7919648864138378])
|> line(end = [0.9935751011164615, 0.9042566468497608])
|> line(end = [-0.5035812884687294, 0.5150967434989442])
|> line(end = [0.5526227215900215, 0.7612604137272441])
|> line(end = [0.8593271349126876, 0.08414894953725849])
|> line(end = [-0.8181049219192864, -0.903548131323352])
|> line(end = [0.3165782044458305, -0.24189274252014914])
|> line(end = [-0.44390956414045135, -0.25912591535126905])
|> line(end = [-0.6605165911891009, -0.40355115288839194])
|> line(end = [-0.7170489950180006, 0.23454356079651384])
|> line(end = [-0.2568187045379722, -0.45031188717601367])
|> line(end = [0.6751951211858687, -0.9709424233465593])
|> line(end = [-0.5689619842972184, 0.5918969913790362])
|> line(end = [-0.8328324229085962, 0.4677492878818803])
|> line(end = [-0.8111463382182231, -0.41814807547140576])
|> line(end = [0.03807684940941125, 0.25664826686353326])
|> line(end = [0.23950083339596384, 0.43693196301855575])
|> line(end = [-0.16279444820904887, 0.8064475707664818])
|> line(end = [-0.08972872009232558, -0.08887625823751266])
|> line(end = [0.9203433427102556, -0.17343459369697545])
|> line(end = [0.0017496234414517975, -0.5178508316168335])
|> line(end = [0.6206263405732759, -0.8733399468665124])
|> line(end = [-0.7776386664456383, 0.7602780485384968])
|> line(end = [0.5439379760788592, 0.8449177589350552])
|> line(end = [-0.13036646025917076, 0.012051713627069693])
|> line(end = [-0.1656465612645519, -0.20775229173765486])
|> line(end = [-0.0962723255929061, -0.05417797659066137])
|> line(end = [0.902108945498191, 0.3958978534964961])
|> line(end = [0.27997950083139167, -0.17778188444008958])
|> line(end = [0.5235806061589545, 0.694318985642328])
|> line(end = [0.39140760219992154, -0.7839795272576484])
|> line(end = [0.8414243527073519, 0.5395591528940082])
|> line(end = [0.6137667704875602, 0.22119647516722085])
|> line(end = [0.8830488380766681, 0.6996724408425232])
|> line(end = [-0.41290485754343953, -0.4152647361760933])
|> line(end = [0.5169538755575687, -0.9085567867302617])
|> line(end = [0.6751951211858687, -0.9709424233465593])
|> line(end = [-0.5689619842972184, 0.5918969913790362])
|> line(end = [0.9464450621708211, -0.2684908127803667])
|> line(end = [0.5241732366617591, 0.9011437416408563])
|> line(end = [-0.14255393713960607, -0.5194262624564814])
|> line(end = [-0.4287123231350338, -0.4223564528725028])
|> line(end = [-0.09316367294024519, -0.9063127021008246])
|> line(end = [-0.2767766535558669, 0.6816248114129131])
|> line(end = [0.9796762495562534, -0.0822145668330625])
|> line(end = [-0.8666513070867441, -0.301053160242023])
|> line(end = [0.537415656028112, 0.020272692875002774])
|> line(end = [0.9332396256457531, -0.6228175690649898])
|> line(end = [0.18052415837320734, -0.36894384647296197])
|> line(end = [0.5384372634075449, 0.2377565050887107])
|> line(end = [0.39043436929278874, 0.14273182483160451])
|> line(end = [0.09782890412897283, 0.9907667536909659])
|> line(end = [0.5286610085921146, -0.7924508308419256])
|> line(end = [0.3789978184503342, 0.12396120576838676])
|> line(end = [-0.9484912744890612, 0.6729649846476855])
|> line(end = [0.7451758753425153, -0.21318737562458967])
|> line(end = [0.1873200727251887, -0.15961374297992448])
|> line(end = [-0.05729464924537564, -0.5436345558508746])
|> line(end = [-0.09582414374469184, -0.7533839681212353])
|> line(end = [-0.17254116580051848, -0.7669113400341137])
|> line(end = [0.8944730032887609, 0.6093318694741408])
|> line(end = [-0.3670208139314082, 0.21201331909674526])
|> line(end = [-0.4707511307971115, 0.4905279615419764])
|> line(end = [-0.8328324229085962, 0.4677492878818803])
|> line(end = [-0.8111463382182231, -0.41814807547140576])
|> line(end = [0.03807684940941125, 0.25664826686353326])
|> line(end = [0.23950083339596384, 0.43693196301855575])
|> line(end = [-0.16279444820904887, 0.8064475707664818])
|> line(end = [-0.08972872009232558, -0.08887625823751266])
|> line(end = [0.9203433427102556, -0.17343459369697545])
|> line(end = [0.0017496234414517975, -0.5178508316168335])
|> line(end = [0.6206263405732759, -0.8733399468665124])
|> line(end = [-0.7776386664456383, 0.7602780485384968])
|> line(end = [0.5439379760788592, 0.8449177589350552])
|> line(end = [-0.13036646025917076, 0.012051713627069693])
|> line(end = [-0.1656465612645519, -0.20775229173765486])
|> line(end = [-0.0962723255929061, -0.05417797659066137])
|> line(end = [0.902108945498191, 0.3958978534964961])
|> line(end = [0.27997950083139167, -0.17778188444008958])
|> line(end = [0.5235806061589545, 0.694318985642328])
|> line(end = [0.39140760219992154, -0.7839795272576484])
|> line(end = [0.8414243527073519, 0.5395591528940082])
|> line(end = [0.6137667704875602, 0.22119647516722085])
|> line(end = [0.8830488380766681, 0.6996724408425232])
|> line(end = [-0.41290485754343953, -0.4152647361760933])
|> line(end = [0.5169538755575687, -0.9085567867302617])
|> line(end = [-0.6716353749059765, -0.9605576808879026])
|> line(end = [0.010280170930300203, -0.37344123662342166])
|> line(end = [0.10357375682791004, -0.42294321030821425])
|> line(end = [0.4520311575096987, -0.11232675307600548])
|> line(end = [-0.8821185914380845, -0.7155147434939819])
|> line(end = [0.9195487101690416, 0.2691627465297364])
|> line(end = [0.7098978191546745, 0.11710004169385968])
|> line(end = [-0.37876368560819995, 0.7106729314759084])
|> line(end = [-0.29728126898353335, -0.06649734568328003])
|> line(end = [0.22965781558352072, -0.7601866432836641])
|> line(end = [-0.6356501074317229, 0.19458425399338064])
|> line(end = [0.5721251777404546, 0.2888584097921527])
|> line(end = [-0.9580409549552311, -0.02243818192078395])
|> line(end = [0.3299184618602866, -0.8353726942369875])
|> line(end = [0.7434639386755209, -0.7919648864138378])
|> line(end = [0.9935751011164615, 0.9042566468497608])
|> line(end = [-0.5035812884687294, 0.5150967434989442])
|> line(end = [0.5526227215900215, 0.7612604137272441])
|> line(end = [0.8593271349126876, 0.08414894953725849])
|> line(end = [-0.8181049219192864, -0.903548131323352])
|> line(end = [0.3165782044458305, -0.24189274252014914])
|> line(end = [-0.44390956414045135, -0.25912591535126905])
|> line(end = [-0.6605165911891009, -0.40355115288839194])
|> line(end = [-0.7170489950180006, 0.23454356079651384])
|> line(end = [-0.2568187045379722, -0.45031188717601367])
|> line(end = [0.6751951211858687, -0.9709424233465593])
|> line(end = [-0.5689619842972184, 0.5918969913790362])
|> line(end = [-0.8328324229085962, 0.4677492878818803])
|> line(end = [-0.8111463382182231, -0.41814807547140576])
|> line(end = [0.03807684940941125, 0.25664826686353326])
|> line(end = [0.23950083339596384, 0.43693196301855575])
|> line(end = [-0.16279444820904887, 0.8064475707664818])
|> line(end = [-0.08972872009232558, -0.08887625823751266])
|> line(end = [0.9203433427102556, -0.17343459369697545])
|> line(end = [0.0017496234414517975, -0.5178508316168335])
|> line(end = [0.6206263405732759, -0.8733399468665124])
|> line(end = [-0.7776386664456383, 0.7602780485384968])
|> line(end = [0.5439379760788592, 0.8449177589350552])
|> line(end = [-0.13036646025917076, 0.012051713627069693])
|> line(end = [-0.1656465612645519, -0.20775229173765486])
|> line(end = [-0.0962723255929061, -0.05417797659066137])
|> line(end = [0.902108945498191, 0.3958978534964961])
|> line(end = [0.27997950083139167, -0.17778188444008958])
|> line(end = [0.5235806061589545, 0.694318985642328])
|> line(end = [0.39140760219992154, -0.7839795272576484])
|> line(end = [0.8414243527073519, 0.5395591528940082])
|> line(end = [0.6137667704875602, 0.22119647516722085])
|> line(end = [0.8830488380766681, 0.6996724408425232])
|> line(end = [-0.3670208139314082, 0.21201331909674526])
|> line(end = [-0.4707511307971115, 0.4905279615419764])
|> line(end = [-0.8328324229085962, 0.4677492878818803])
|> line(end = [-0.8111463382182231, -0.41814807547140576])
|> line(end = [0.03807684940941125, 0.25664826686353326])
|> line(end = [0.23950083339596384, 0.43693196301855575])
|> line(end = [-0.16279444820904887, 0.8064475707664818])
|> line(end = [-0.08972872009232558, -0.08887625823751266])
|> line(end = [0.9203433427102556, -0.17343459369697545])
|> line(end = [0.0017496234414517975, -0.5178508316168335])
|> line(end = [0.6206263405732759, -0.8733399468665124])
|> line(end = [-0.7776386664456383, 0.7602780485384968])
|> line(end = [0.5439379760788592, 0.8449177589350552])
|> line(end = [-0.13036646025917076, 0.012051713627069693])
|> line(end = [-0.1656465612645519, -0.20775229173765486])
|> line(end = [-0.0962723255929061, -0.05417797659066137])
|> line(end = [0.902108945498191, 0.3958978534964961])
|> line(end = [0.27997950083139167, -0.17778188444008958])
|> line(end = [0.5235806061589545, 0.694318985642328])
|> line(end = [0.39140760219992154, -0.7839795272576484])
|> line(end = [0.8414243527073519, 0.5395591528940082])
|> line(end = [0.6137667704875602, 0.22119647516722085])
|> line(end = [0.8830488380766681, 0.6996724408425232])
|> line(end = [-0.41290485754343953, -0.4152647361760933])
|> line(end = [0.5169538755575687, -0.9085567867302617])
|> line(end = [-0.6716353749059765, -0.9605576808879026])
|> line(end = [0.010280170930300203, -0.37344123662342166])
|> line(end = [-0.3670208139314082, 0.21201331909674526])
|> line(end = [-0.4707511307971115, 0.4905279615419764])
|> line(end = [-0.8328324229085962, 0.4677492878818803])
|> line(end = [-0.8111463382182231, -0.41814807547140576])
|> line(end = [0.03807684940941125, 0.25664826686353326])
|> line(end = [0.23950083339596384, 0.43693196301855575])
|> line(end = [-0.16279444820904887, 0.8064475707664818])
|> line(end = [-0.08972872009232558, -0.08887625823751266])
|> line(end = [0.9203433427102556, -0.17343459369697545])
|> line(end = [0.0017496234414517975, -0.5178508316168335])
|> line(end = [0.6206263405732759, -0.8733399468665124])
|> line(end = [-0.7776386664456383, 0.7602780485384968])
|> line(end = [0.5439379760788592, 0.8449177589350552])
|> line(end = [-0.13036646025917076, 0.012051713627069693])
|> line(end = [-0.1656465612645519, -0.20775229173765486])
|> line(end = [-0.0962723255929061, -0.05417797659066137])
|> line(end = [0.902108945498191, 0.3958978534964961])
|> line(end = [0.27997950083139167, -0.17778188444008958])
|> line(end = [0.5235806061589545, 0.694318985642328])
|> line(end = [0.39140760219992154, -0.7839795272576484])
|> line(end = [0.8414243527073519, 0.5395591528940082])
|> line(end = [0.6137667704875602, 0.22119647516722085])
|> line(end = [0.8830488380766681, 0.6996724408425232])
|> line(end = [-0.41290485754343953, -0.4152647361760933])
|> line(end = [0.5169538755575687, -0.9085567867302617])
|> line(end = [-0.6716353749059765, -0.9605576808879026])
|> line(end = [0.010280170930300203, -0.37344123662342166])
|> line(end = [0.10357375682791004, -0.42294321030821425])
|> line(end = [0.4520311575096987, -0.11232675307600548])
|> line(end = [-0.8821185914380845, -0.7155147434939819])
|> line(end = [0.9195487101690416, 0.2691627465297364])
|> line(end = [0.7098978191546745, 0.11710004169385968])
|> line(end = [-0.37876368560819995, 0.7106729314759084])
|> line(end = [-0.29728126898353335, -0.06649734568328003])
|> line(end = [0.22965781558352072, -0.7601866432836641])
|> line(end = [-0.6356501074317229, 0.19458425399338064])
|> line(end = [0.5721251777404546, 0.2888584097921527])
|> line(end = [-0.9580409549552311, -0.02243818192078395])
|> line(end = [0.3299184618602866, -0.8353726942369875])
|> line(end = [0.7434639386755209, -0.7919648864138378])
|> line(end = [0.9935751011164615, 0.9042566468497608])
|> line(end = [-0.5035812884687294, 0.5150967434989442])
|> line(end = [0.5526227215900215, 0.7612604137272441])
|> line(end = [0.8593271349126876, 0.08414894953725849])
|> line(end = [-0.8181049219192864, -0.903548131323352])
|> line(end = [0.3165782044458305, -0.24189274252014914])
|> line(end = [-0.44390956414045135, -0.25912591535126905])
|> line(end = [-0.6605165911891009, -0.40355115288839194])
|> line(end = [-0.7170489950180006, 0.23454356079651384])
|> line(end = [-0.2568187045379722, -0.45031188717601367])
|> line(end = [0.6751951211858687, -0.9709424233465593])
|> line(end = [-0.5689619842972184, 0.5918969913790362])
|> line(end = [-0.8328324229085962, 0.4677492878818803])
|> line(end = [-0.8111463382182231, -0.41814807547140576])
|> line(end = [0.03807684940941125, 0.25664826686353326])
|> line(end = [0.23950083339596384, 0.43693196301855575])
|> line(end = [-0.16279444820904887, 0.8064475707664818])
|> line(end = [-0.08972872009232558, -0.08887625823751266])
|> line(end = [0.9203433427102556, -0.17343459369697545])
|> line(end = [0.0017496234414517975, -0.5178508316168335])
|> line(end = [0.6206263405732759, -0.8733399468665124])
|> line(end = [-0.7776386664456383, 0.7602780485384968])
|> line(end = [0.5439379760788592, 0.8449177589350552])
|> line(end = [-0.13036646025917076, 0.012051713627069693])
|> line(end = [-0.1656465612645519, -0.20775229173765486])
|> line(end = [-0.0962723255929061, -0.05417797659066137])
|> line(end = [0.902108945498191, 0.3958978534964961])
|> line(end = [0.27997950083139167, -0.17778188444008958])
|> line(end = [0.5235806061589545, 0.694318985642328])
|> line(end = [0.39140760219992154, -0.7839795272576484])
|> line(end = [0.8414243527073519, 0.5395591528940082])
|> line(end = [0.6137667704875602, 0.22119647516722085])
|> line(end = [0.8830488380766681, 0.6996724408425232])
|> line(end = [-0.41290485754343953, -0.4152647361760933])
|> line(end = [0.5169538755575687, -0.9085567867302617])
|> line(end = [0.6751951211858687, -0.9709424233465593])
|> line(end = [-0.5689619842972184, 0.5918969913790362])
|> line(end = [0.9464450621708211, -0.2684908127803667])
|> line(end = [0.5241732366617591, 0.9011437416408563])
|> line(end = [-0.14255393713960607, -0.5194262624564814])
|> line(end = [-0.4287123231350338, -0.4223564528725028])
|> line(end = [-0.09316367294024519, -0.9063127021008246])
|> line(end = [-0.2767766535558669, 0.6816248114129131])
|> line(end = [0.9796762495562534, -0.0822145668330625])
|> line(end = [-0.8666513070867441, -0.301053160242023])
|> line(end = [0.537415656028112, 0.020272692875002774])
|> line(end = [0.9332396256457531, -0.6228175690649898])
|> line(end = [0.18052415837320734, -0.36894384647296197])
|> line(end = [0.5384372634075449, 0.2377565050887107])
|> line(end = [0.39043436929278874, 0.14273182483160451])
|> line(end = [0.09782890412897283, 0.9907667536909659])
|> line(end = [0.5286610085921146, -0.7924508308419256])
|> line(end = [0.3789978184503342, 0.12396120576838676])
|> line(end = [-0.9484912744890612, 0.6729649846476855])
|> line(end = [0.7451758753425153, -0.21318737562458967])
|> line(end = [0.1873200727251887, -0.15961374297992448])
|> line(end = [-0.05729464924537564, -0.5436345558508746])
|> line(end = [-0.09582414374469184, -0.7533839681212353])
|> line(end = [-0.17254116580051848, -0.7669113400341137])
|> line(end = [0.8944730032887609, 0.6093318694741408])
|> line(end = [-0.3670208139314082, 0.21201331909674526])
|> line(end = [-0.4707511307971115, 0.4905279615419764])
|> line(end = [-0.8328324229085962, 0.4677492878818803])
|> line(end = [-0.8111463382182231, -0.41814807547140576])
|> line(end = [0.03807684940941125, 0.25664826686353326])
|> line(end = [0.23950083339596384, 0.43693196301855575])
|> line(end = [-0.16279444820904887, 0.8064475707664818])
|> line(end = [-0.08972872009232558, -0.08887625823751266])
|> line(end = [0.9203433427102556, -0.17343459369697545])
|> line(end = [0.0017496234414517975, -0.5178508316168335])
|> line(end = [0.6206263405732759, -0.8733399468665124])
|> line(end = [-0.7776386664456383, 0.7602780485384968])
|> line(end = [0.5439379760788592, 0.8449177589350552])
|> line(end = [-0.13036646025917076, 0.012051713627069693])
|> line(end = [-0.1656465612645519, -0.20775229173765486])
|> line(end = [-0.0962723255929061, -0.05417797659066137])
|> line(end = [0.902108945498191, 0.3958978534964961])
|> line(end = [0.27997950083139167, -0.17778188444008958])
|> line(end = [0.5235806061589545, 0.694318985642328])
|> line(end = [0.39140760219992154, -0.7839795272576484])
|> line(end = [0.8414243527073519, 0.5395591528940082])
|> line(end = [0.6137667704875602, 0.22119647516722085])
|> line(end = [0.8830488380766681, 0.6996724408425232])
|> line(end = [-0.41290485754343953, -0.4152647361760933])
|> line(end = [0.5169538755575687, -0.9085567867302617])
|> line(end = [-0.6716353749059765, -0.9605576808879026])
|> line(end = [0.010280170930300203, -0.37344123662342166])
|> line(end = [0.10357375682791004, -0.42294321030821425])
|> line(end = [0.4520311575096987, -0.11232675307600548])
|> line(end = [-0.8821185914380845, -0.7155147434939819])
|> line(end = [0.9195487101690416, 0.2691627465297364])
|> line(end = [0.7098978191546745, 0.11710004169385968])
|> line(end = [-0.37876368560819995, 0.7106729314759084])
|> line(end = [-0.29728126898353335, -0.06649734568328003])
|> line(end = [0.22965781558352072, -0.7601866432836641])
|> line(end = [-0.6356501074317229, 0.19458425399338064])
|> line(end = [0.5721251777404546, 0.2888584097921527])
|> line(end = [-0.9580409549552311, -0.02243818192078395])
|> line(end = [0.3299184618602866, -0.8353726942369875])
|> line(end = [0.7434639386755209, -0.7919648864138378])
|> line(end = [0.9935751011164615, 0.9042566468497608])
|> line(end = [-0.5035812884687294, 0.5150967434989442])
|> line(end = [0.5526227215900215, 0.7612604137272441])
|> line(end = [0.8593271349126876, 0.08414894953725849])
|> line(end = [-0.8181049219192864, -0.903548131323352])
|> line(end = [0.3165782044458305, -0.24189274252014914])
|> line(end = [-0.44390956414045135, -0.25912591535126905])
|> line(end = [-0.6605165911891009, -0.40355115288839194])
|> line(end = [-0.7170489950180006, 0.23454356079651384])
|> line(end = [-0.2568187045379722, -0.45031188717601367])
|> line(end = [0.6751951211858687, -0.9709424233465593])
|> line(end = [-0.5689619842972184, 0.5918969913790362])
|> line(end = [-0.8328324229085962, 0.4677492878818803])
|> line(end = [-0.8111463382182231, -0.41814807547140576])
|> line(end = [0.03807684940941125, 0.25664826686353326])
|> line(end = [0.23950083339596384, 0.43693196301855575])
|> line(end = [-0.16279444820904887, 0.8064475707664818])
|> line(end = [-0.08972872009232558, -0.08887625823751266])
|> line(end = [0.9203433427102556, -0.17343459369697545])
|> line(end = [0.0017496234414517975, -0.5178508316168335])
|> line(end = [0.6206263405732759, -0.8733399468665124])
|> line(end = [-0.7776386664456383, 0.7602780485384968])
|> line(end = [0.5439379760788592, 0.8449177589350552])
|> line(end = [-0.13036646025917076, 0.012051713627069693])
|> line(end = [-0.1656465612645519, -0.20775229173765486])
|> line(end = [-0.0962723255929061, -0.05417797659066137])
|> line(end = [0.902108945498191, 0.3958978534964961])
|> line(end = [0.27997950083139167, -0.17778188444008958])
|> line(end = [0.5235806061589545, 0.694318985642328])
|> line(end = [0.39140760219992154, -0.7839795272576484])
|> line(end = [0.8414243527073519, 0.5395591528940082])
|> line(end = [0.6137667704875602, 0.22119647516722085])
|> line(end = [0.8830488380766681, 0.6996724408425232])
|> line(end = [-0.3670208139314082, 0.21201331909674526])
|> line(end = [-0.4707511307971115, 0.4905279615419764])
|> line(end = [-0.8328324229085962, 0.4677492878818803])
|> line(end = [-0.8111463382182231, -0.41814807547140576])
|> line(end = [0.03807684940941125, 0.25664826686353326])
|> line(end = [0.23950083339596384, 0.43693196301855575])
|> line(end = [-0.16279444820904887, 0.8064475707664818])
|> line(end = [-0.08972872009232558, -0.08887625823751266])
|> line(end = [0.9203433427102556, -0.17343459369697545])
|> line(end = [0.0017496234414517975, -0.5178508316168335])
|> line(end = [0.6206263405732759, -0.8733399468665124])
|> line(end = [-0.7776386664456383, 0.7602780485384968])
|> line(end = [0.5439379760788592, 0.8449177589350552])
|> line(end = [-0.13036646025917076, 0.012051713627069693])
|> line(end = [-0.1656465612645519, -0.20775229173765486])
|> line(end = [-0.0962723255929061, -0.05417797659066137])
|> line(end = [0.902108945498191, 0.3958978534964961])
|> line(end = [0.27997950083139167, -0.17778188444008958])
|> line(end = [0.5235806061589545, 0.694318985642328])
|> line(end = [0.39140760219992154, -0.7839795272576484])
|> line(end = [0.8414243527073519, 0.5395591528940082])
|> line(end = [0.6137667704875602, 0.22119647516722085])
|> line(end = [0.8830488380766681, 0.6996724408425232])
|> line(end = [-0.41290485754343953, -0.4152647361760933])
|> line(end = [0.5169538755575687, -0.9085567867302617])
|> line(end = [-0.6716353749059765, -0.9605576808879026])
|> line(end = [0.010280170930300203, -0.37344123662342166])
|> line(end = [0.10357375682791004, -0.42294321030821425])
|> line(end = [0.4520311575096987, -0.11232675307600548])
|> line(end = [-0.8821185914380845, -0.7155147434939819])
|> line(end = [0.9195487101690416, 0.2691627465297364])
|> line(end = [0.7098978191546745, 0.11710004169385968])
|> line(end = [-0.37876368560819995, 0.7106729314759084])
|> line(end = [-0.29728126898353335, -0.06649734568328003])
|> line(end = [0.22965781558352072, -0.7601866432836641])
|> line(end = [-0.6356501074317229, 0.19458425399338064])
|> line(end = [0.5721251777404546, 0.2888584097921527])
|> line(end = [-0.9580409549552311, -0.02243818192078395])
|> line(end = [0.3299184618602866, -0.8353726942369875])
|> line(end = [0.7434639386755209, -0.7919648864138378])
|> line(end = [0.9935751011164615, 0.9042566468497608])
|> line(end = [-0.5035812884687294, 0.5150967434989442])
|> line(end = [0.5526227215900215, 0.7612604137272441])
|> line(end = [0.8593271349126876, 0.08414894953725849])
|> line(end = [-0.8181049219192864, -0.903548131323352])
|> line(end = [0.3165782044458305, -0.24189274252014914])
|> line(end = [-0.44390956414045135, -0.25912591535126905])
|> line(end = [-0.6605165911891009, -0.40355115288839194])
|> line(end = [-0.7170489950180006, 0.23454356079651384])
|> line(end = [-0.2568187045379722, -0.45031188717601367])
|> line(end = [0.6751951211858687, -0.9709424233465593])
|> line(end = [-0.5689619842972184, 0.5918969913790362])
|> line(end = [-0.8328324229085962, 0.4677492878818803])
|> line(end = [-0.8111463382182231, -0.41814807547140576])
|> line(end = [0.03807684940941125, 0.25664826686353326])
|> line(end = [0.23950083339596384, 0.43693196301855575])
|> line(end = [-0.16279444820904887, 0.8064475707664818])
|> line(end = [-0.08972872009232558, -0.08887625823751266])
|> line(end = [0.9203433427102556, -0.17343459369697545])
|> line(end = [0.0017496234414517975, -0.5178508316168335])
|> line(end = [0.6206263405732759, -0.8733399468665124])
|> line(end = [-0.7776386664456383, 0.7602780485384968])
|> line(end = [0.5439379760788592, 0.8449177589350552])
|> line(end = [-0.13036646025917076, 0.012051713627069693])
|> line(end = [-0.1656465612645519, -0.20775229173765486])
|> line(end = [-0.0962723255929061, -0.05417797659066137])
|> line(end = [0.902108945498191, 0.3958978534964961])
|> line(end = [0.27997950083139167, -0.17778188444008958])
|> line(end = [0.5235806061589545, 0.694318985642328])
|> line(end = [0.39140760219992154, -0.7839795272576484])
|> line(end = [0.8414243527073519, 0.5395591528940082])
|> line(end = [0.6137667704875602, 0.22119647516722085])
|> line(end = [-0.09582414374469184, -0.7533839681212353])
|> line(end = [-0.17254116580051848, -0.7669113400341137])
|> line(end = [0.8944730032887609, 0.6093318694741408])
|> line(end = [-0.41290485754343953, -0.4152647361760933])
|> line(end = [0.5169538755575687, -0.9085567867302617])
|> line(end = [0.6751951211858687, -0.9709424233465593])
|> line(end = [-0.5689619842972184, 0.5918969913790362])
|> line(end = [0.9464450621708211, -0.2684908127803667])
|> line(end = [0.5241732366617591, 0.9011437416408563])
|> line(end = [-0.14255393713960607, -0.5194262624564814])
|> line(end = [-0.4287123231350338, -0.4223564528725028])
|> line(end = [-0.09316367294024519, -0.9063127021008246])
|> line(end = [-0.2767766535558669, 0.6816248114129131])
|> line(end = [0.9796762495562534, -0.0822145668330625])
|> line(end = [-0.8666513070867441, -0.301053160242023])
|> line(end = [0.537415656028112, 0.020272692875002774])
|> line(end = [0.9332396256457531, -0.6228175690649898])
|> line(end = [0.18052415837320734, -0.36894384647296197])
|> line(end = [0.5384372634075449, 0.2377565050887107])
|> line(end = [0.39043436929278874, 0.14273182483160451])
|> line(end = [0.09782890412897283, 0.9907667536909659])
|> line(end = [0.5286610085921146, -0.7924508308419256])
|> line(end = [0.3789978184503342, 0.12396120576838676])
|> line(end = [-0.9484912744890612, 0.6729649846476855])
|> line(end = [0.7451758753425153, -0.21318737562458967])
|> line(end = [0.1873200727251887, -0.15961374297992448])
|> line(end = [-0.05729464924537564, -0.5436345558508746])
|> line(end = [-0.09582414374469184, -0.7533839681212353])
|> line(end = [-0.17254116580051848, -0.7669113400341137])
|> line(end = [0.8944730032887609, 0.6093318694741408])
|> line(end = [-0.6238548626325471, 0.4053626746020169])
|> line(end = [0.1379445992766417, -0.47871087958516045])
|> line(end = [-0.9516767113283946, 0.8619900618578948])
|> line(end = [0.9398732950992088, 0.6326239915683629])
|> line(end = [-0.8631974445502164, 0.016153555523963137])
|> line(end = [0.19167797120152907, -0.4916414381703984])
|> line(end = [-0.8644261221501586, -0.11434763886359756])
|> line(end = [-0.029081958413378572, -0.5214138808318329])
|> line(end = [-0.8713091851579695, 0.7866284950967315])
|> line(end = [0.884342023093545, -0.1825407002568431])
|> line(end = [-0.6978385295364686, 0.0440574328736949])
|> line(end = [-0.48055049324331556, -0.028546347149214002])
|> line(end = [0.41283517382864776, -0.44938038251347323])
|> line(end = [0.7911399832501751, 0.893446368526005])
|> line(end = [0.6507434699009087, -0.6890023920962012])
|> line(end = [0.10489019777253028, -0.5467450997193952])
|> line(end = [-0.5760905289992633, -0.2639900702114173])
|> line(end = [0.39828861790105297, 0.8036624129416385])
|> line(end = [-0.673848991328553, -0.918443329270668])
|> line(end = [-0.8599152936179257, -0.9499371022680787])
|> line(end = [0.6285243831393765, -0.5186557636566307])
|> line(end = [0.3222412784832269, 0.24621192679727177])
|> line(end = [0.19754357911311016, -0.7529246632397206])
|> line(end = [-0.43181570545865555, 0.18945437402201537])
|> line(end = [0.8714511090241797, -0.7215844196844685])
|> close()
|> extrude(length = 5)