{
  "type": "Program",
  "start": 0,
  "end": 9094,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 236,
      "column": 0
    }
  },
  "sourceType": "module",
  "body": [
    {
      "type": "ImportDeclaration",
      "start": 0,
      "end": 54,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 54
        }
      },
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "start": 8,
          "end": 13,
          "loc": {
            "start": {
              "line": 1,
              "column": 8
            },
            "end": {
              "line": 1,
              "column": 13
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 8,
            "end": 13,
            "loc": {
              "start": {
                "line": 1,
                "column": 8
              },
              "end": {
                "line": 1,
                "column": 13
              }
            },
            "name": "Point"
          },
          "local": {
            "type": "Identifier",
            "start": 8,
            "end": 13,
            "loc": {
              "start": {
                "line": 1,
                "column": 8
              },
              "end": {
                "line": 1,
                "column": 13
              }
            },
            "name": "Point"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 15,
          "end": 19,
          "loc": {
            "start": {
              "line": 1,
              "column": 15
            },
            "end": {
              "line": 1,
              "column": 19
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 15,
            "end": 19,
            "loc": {
              "start": {
                "line": 1,
                "column": 15
              },
              "end": {
                "line": 1,
                "column": 19
              }
            },
            "name": "Line"
          },
          "local": {
            "type": "Identifier",
            "start": 15,
            "end": 19,
            "loc": {
              "start": {
                "line": 1,
                "column": 15
              },
              "end": {
                "line": 1,
                "column": 19
              }
            },
            "name": "Line"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 21,
          "end": 24,
          "loc": {
            "start": {
              "line": 1,
              "column": 21
            },
            "end": {
              "line": 1,
              "column": 24
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 21,
            "end": 24,
            "loc": {
              "start": {
                "line": 1,
                "column": 21
              },
              "end": {
                "line": 1,
                "column": 24
              }
            },
            "name": "Arc"
          },
          "local": {
            "type": "Identifier",
            "start": 21,
            "end": 24,
            "loc": {
              "start": {
                "line": 1,
                "column": 21
              },
              "end": {
                "line": 1,
                "column": 24
              }
            },
            "name": "Arc"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 31,
        "end": 53,
        "loc": {
          "start": {
            "line": 1,
            "column": 31
          },
          "end": {
            "line": 1,
            "column": 53
          }
        },
        "value": "sketcher/geomobjects",
        "rawValue": "sketcher/geomobjects",
        "raw": "'sketcher/geomobjects'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 55,
      "end": 81,
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 26
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 62,
          "end": 67,
          "loc": {
            "start": {
              "line": 2,
              "column": 7
            },
            "end": {
              "line": 2,
              "column": 12
            }
          },
          "local": {
            "type": "Identifier",
            "start": 62,
            "end": 67,
            "loc": {
              "start": {
                "line": 2,
                "column": 7
              },
              "end": {
                "line": 2,
                "column": 12
              }
            },
            "name": "THREE"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 73,
        "end": 80,
        "loc": {
          "start": {
            "line": 2,
            "column": 18
          },
          "end": {
            "line": 2,
            "column": 25
          }
        },
        "value": "three",
        "rawValue": "three",
        "raw": "'three'"
      }
    },
    {
      "type": "ExpressionStatement",
      "start": 87,
      "end": 205,
      "loc": {
        "start": {
          "line": 4,
          "column": 4
        },
        "end": {
          "line": 6,
          "column": 6
        }
      },
      "expression": {
        "type": "AssignmentExpression",
        "start": 87,
        "end": 204,
        "loc": {
          "start": {
            "line": 4,
            "column": 4
          },
          "end": {
            "line": 6,
            "column": 5
          }
        },
        "operator": "=",
        "left": {
          "type": "MemberExpression",
          "start": 87,
          "end": 100,
          "loc": {
            "start": {
              "line": 4,
              "column": 4
            },
            "end": {
              "line": 4,
              "column": 17
            }
          },
          "object": {
            "type": "Identifier",
            "start": 87,
            "end": 92,
            "loc": {
              "start": {
                "line": 4,
                "column": 4
              },
              "end": {
                "line": 4,
                "column": 9
              }
            },
            "name": "THREE"
          },
          "property": {
            "type": "Identifier",
            "start": 93,
            "end": 100,
            "loc": {
              "start": {
                "line": 4,
                "column": 10
              },
              "end": {
                "line": 4,
                "column": 17
              }
            },
            "name": "cross2d"
          },
          "computed": false
        },
        "right": {
          "type": "FunctionExpression",
          "start": 103,
          "end": 204,
          "loc": {
            "start": {
              "line": 4,
              "column": 20
            },
            "end": {
              "line": 6,
              "column": 5
            }
          },
          "id": {
            "type": "Identifier",
            "start": 93,
            "end": 100,
            "loc": {
              "start": {
                "line": 4,
                "column": 10
              },
              "end": {
                "line": 4,
                "column": 17
              }
            },
            "name": "cross2d"
          },
          "generator": false,
          "expression": false,
          "async": false,
          "params": [
            {
              "type": "Identifier",
              "start": 112,
              "end": 113,
              "loc": {
                "start": {
                  "line": 4,
                  "column": 29
                },
                "end": {
                  "line": 4,
                  "column": 30
                }
              },
              "name": "a"
            },
            {
              "type": "Identifier",
              "start": 115,
              "end": 116,
              "loc": {
                "start": {
                  "line": 4,
                  "column": 32
                },
                "end": {
                  "line": 4,
                  "column": 33
                }
              },
              "name": "b"
            }
          ],
          "body": {
            "type": "BlockStatement",
            "start": 118,
            "end": 204,
            "loc": {
              "start": {
                "line": 4,
                "column": 35
              },
              "end": {
                "line": 6,
                "column": 5
              }
            },
            "body": [
              {
                "type": "ReturnStatement",
                "start": 169,
                "end": 198,
                "loc": {
                  "start": {
                    "line": 5,
                    "column": 8
                  },
                  "end": {
                    "line": 5,
                    "column": 37
                  }
                },
                "argument": {
                  "type": "BinaryExpression",
                  "start": 176,
                  "end": 197,
                  "loc": {
                    "start": {
                      "line": 5,
                      "column": 15
                    },
                    "end": {
                      "line": 5,
                      "column": 36
                    }
                  },
                  "left": {
                    "type": "BinaryExpression",
                    "start": 176,
                    "end": 185,
                    "loc": {
                      "start": {
                        "line": 5,
                        "column": 15
                      },
                      "end": {
                        "line": 5,
                        "column": 24
                      }
                    },
                    "left": {
                      "type": "MemberExpression",
                      "start": 176,
                      "end": 179,
                      "loc": {
                        "start": {
                          "line": 5,
                          "column": 15
                        },
                        "end": {
                          "line": 5,
                          "column": 18
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 176,
                        "end": 177,
                        "loc": {
                          "start": {
                            "line": 5,
                            "column": 15
                          },
                          "end": {
                            "line": 5,
                            "column": 16
                          }
                        },
                        "name": "a",
                        "leadingComments": null
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 178,
                        "end": 179,
                        "loc": {
                          "start": {
                            "line": 5,
                            "column": 17
                          },
                          "end": {
                            "line": 5,
                            "column": 18
                          }
                        },
                        "name": "x"
                      },
                      "computed": false,
                      "leadingComments": null
                    },
                    "operator": "*",
                    "right": {
                      "type": "MemberExpression",
                      "start": 182,
                      "end": 185,
                      "loc": {
                        "start": {
                          "line": 5,
                          "column": 21
                        },
                        "end": {
                          "line": 5,
                          "column": 24
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 182,
                        "end": 183,
                        "loc": {
                          "start": {
                            "line": 5,
                            "column": 21
                          },
                          "end": {
                            "line": 5,
                            "column": 22
                          }
                        },
                        "name": "b"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 184,
                        "end": 185,
                        "loc": {
                          "start": {
                            "line": 5,
                            "column": 23
                          },
                          "end": {
                            "line": 5,
                            "column": 24
                          }
                        },
                        "name": "y"
                      },
                      "computed": false
                    },
                    "leadingComments": null
                  },
                  "operator": "-",
                  "right": {
                    "type": "BinaryExpression",
                    "start": 188,
                    "end": 197,
                    "loc": {
                      "start": {
                        "line": 5,
                        "column": 27
                      },
                      "end": {
                        "line": 5,
                        "column": 36
                      }
                    },
                    "left": {
                      "type": "MemberExpression",
                      "start": 188,
                      "end": 191,
                      "loc": {
                        "start": {
                          "line": 5,
                          "column": 27
                        },
                        "end": {
                          "line": 5,
                          "column": 30
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 188,
                        "end": 189,
                        "loc": {
                          "start": {
                            "line": 5,
                            "column": 27
                          },
                          "end": {
                            "line": 5,
                            "column": 28
                          }
                        },
                        "name": "a"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 190,
                        "end": 191,
                        "loc": {
                          "start": {
                            "line": 5,
                            "column": 29
                          },
                          "end": {
                            "line": 5,
                            "column": 30
                          }
                        },
                        "name": "y"
                      },
                      "computed": false
                    },
                    "operator": "*",
                    "right": {
                      "type": "MemberExpression",
                      "start": 194,
                      "end": 197,
                      "loc": {
                        "start": {
                          "line": 5,
                          "column": 33
                        },
                        "end": {
                          "line": 5,
                          "column": 36
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 194,
                        "end": 195,
                        "loc": {
                          "start": {
                            "line": 5,
                            "column": 33
                          },
                          "end": {
                            "line": 5,
                            "column": 34
                          }
                        },
                        "name": "b"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 196,
                        "end": 197,
                        "loc": {
                          "start": {
                            "line": 5,
                            "column": 35
                          },
                          "end": {
                            "line": 5,
                            "column": 36
                          }
                        },
                        "name": "x"
                      },
                      "computed": false
                    }
                  },
                  "leadingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentLine",
                    "value": "TODO: properly install into THREE?...",
                    "start": 121,
                    "end": 160,
                    "loc": {
                      "start": {
                        "line": 4,
                        "column": 38
                      },
                      "end": {
                        "line": 4,
                        "column": 77
                      }
                    },
                    "range": [
                      121,
                      160
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 211,
      "end": 1057,
      "loc": {
        "start": {
          "line": 8,
          "column": 4
        },
        "end": {
          "line": 25,
          "column": 1
        }
      },
      "declaration": {
        "type": "FunctionDeclaration",
        "start": 218,
        "end": 1057,
        "loc": {
          "start": {
            "line": 8,
            "column": 11
          },
          "end": {
            "line": 25,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 227,
          "end": 242,
          "loc": {
            "start": {
              "line": 8,
              "column": 20
            },
            "end": {
              "line": 8,
              "column": 35
            }
          },
          "name": "drawArcBy_S_T_E"
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [
          {
            "type": "Identifier",
            "start": 243,
            "end": 251,
            "loc": {
              "start": {
                "line": 8,
                "column": 36
              },
              "end": {
                "line": 8,
                "column": 44
              }
            },
            "name": "startPos"
          },
          {
            "type": "Identifier",
            "start": 253,
            "end": 265,
            "loc": {
              "start": {
                "line": 8,
                "column": 46
              },
              "end": {
                "line": 8,
                "column": 58
              }
            },
            "name": "startTangent"
          },
          {
            "type": "Identifier",
            "start": 267,
            "end": 273,
            "loc": {
              "start": {
                "line": 8,
                "column": 60
              },
              "end": {
                "line": 8,
                "column": 66
              }
            },
            "name": "endPos"
          }
        ],
        "body": {
          "type": "BlockStatement",
          "start": 275,
          "end": 1057,
          "loc": {
            "start": {
              "line": 8,
              "column": 68
            },
            "end": {
              "line": 25,
              "column": 1
            }
          },
          "body": [
            {
              "type": "VariableDeclaration",
              "start": 329,
              "end": 368,
              "loc": {
                "start": {
                  "line": 10,
                  "column": 8
                },
                "end": {
                  "line": 10,
                  "column": 47
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 333,
                  "end": 367,
                  "loc": {
                    "start": {
                      "line": 10,
                      "column": 12
                    },
                    "end": {
                      "line": 10,
                      "column": 46
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 333,
                    "end": 336,
                    "loc": {
                      "start": {
                        "line": 10,
                        "column": 12
                      },
                      "end": {
                        "line": 10,
                        "column": 15
                      }
                    },
                    "name": "dir",
                    "leadingComments": null
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 339,
                    "end": 367,
                    "loc": {
                      "start": {
                        "line": 10,
                        "column": 18
                      },
                      "end": {
                        "line": 10,
                        "column": 46
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 339,
                      "end": 357,
                      "loc": {
                        "start": {
                          "line": 10,
                          "column": 18
                        },
                        "end": {
                          "line": 10,
                          "column": 36
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 339,
                        "end": 353,
                        "loc": {
                          "start": {
                            "line": 10,
                            "column": 18
                          },
                          "end": {
                            "line": 10,
                            "column": 32
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 339,
                          "end": 351,
                          "loc": {
                            "start": {
                              "line": 10,
                              "column": 18
                            },
                            "end": {
                              "line": 10,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 339,
                            "end": 345,
                            "loc": {
                              "start": {
                                "line": 10,
                                "column": 18
                              },
                              "end": {
                                "line": 10,
                                "column": 24
                              }
                            },
                            "name": "endPos"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 346,
                            "end": 351,
                            "loc": {
                              "start": {
                                "line": 10,
                                "column": 25
                              },
                              "end": {
                                "line": 10,
                                "column": 30
                              }
                            },
                            "name": "clone"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 354,
                        "end": 357,
                        "loc": {
                          "start": {
                            "line": 10,
                            "column": 33
                          },
                          "end": {
                            "line": 10,
                            "column": 36
                          }
                        },
                        "name": "sub"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 358,
                        "end": 366,
                        "loc": {
                          "start": {
                            "line": 10,
                            "column": 37
                          },
                          "end": {
                            "line": 10,
                            "column": 45
                          }
                        },
                        "name": "startPos"
                      }
                    ]
                  },
                  "leadingComments": null
                }
              ],
              "kind": "var",
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "should we create a line or an arc",
                  "start": 285,
                  "end": 320,
                  "loc": {
                    "start": {
                      "line": 9,
                      "column": 8
                    },
                    "end": {
                      "line": 9,
                      "column": 43
                    }
                  },
                  "range": [
                    285,
                    320
                  ]
                }
              ]
            },
            {
              "type": "VariableDeclaration",
              "start": 377,
              "end": 454,
              "loc": {
                "start": {
                  "line": 11,
                  "column": 8
                },
                "end": {
                  "line": 11,
                  "column": 85
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 381,
                  "end": 453,
                  "loc": {
                    "start": {
                      "line": 11,
                      "column": 12
                    },
                    "end": {
                      "line": 11,
                      "column": 84
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 381,
                    "end": 387,
                    "loc": {
                      "start": {
                        "line": 11,
                        "column": 12
                      },
                      "end": {
                        "line": 11,
                        "column": 18
                      }
                    },
                    "name": "onLine"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 390,
                    "end": 453,
                    "loc": {
                      "start": {
                        "line": 11,
                        "column": 21
                      },
                      "end": {
                        "line": 11,
                        "column": 84
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 390,
                      "end": 410,
                      "loc": {
                        "start": {
                          "line": 11,
                          "column": 21
                        },
                        "end": {
                          "line": 11,
                          "column": 41
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 390,
                        "end": 406,
                        "loc": {
                          "start": {
                            "line": 11,
                            "column": 21
                          },
                          "end": {
                            "line": 11,
                            "column": 37
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 390,
                          "end": 404,
                          "loc": {
                            "start": {
                              "line": 11,
                              "column": 21
                            },
                            "end": {
                              "line": 11,
                              "column": 35
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 390,
                            "end": 398,
                            "loc": {
                              "start": {
                                "line": 11,
                                "column": 21
                              },
                              "end": {
                                "line": 11,
                                "column": 29
                              }
                            },
                            "name": "startPos"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 399,
                            "end": 404,
                            "loc": {
                              "start": {
                                "line": 11,
                                "column": 30
                              },
                              "end": {
                                "line": 11,
                                "column": 35
                              }
                            },
                            "name": "clone"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 407,
                        "end": 410,
                        "loc": {
                          "start": {
                            "line": 11,
                            "column": 38
                          },
                          "end": {
                            "line": 11,
                            "column": 41
                          }
                        },
                        "name": "add"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "CallExpression",
                        "start": 411,
                        "end": 452,
                        "loc": {
                          "start": {
                            "line": 11,
                            "column": 42
                          },
                          "end": {
                            "line": 11,
                            "column": 83
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 411,
                          "end": 438,
                          "loc": {
                            "start": {
                              "line": 11,
                              "column": 42
                            },
                            "end": {
                              "line": 11,
                              "column": 69
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 411,
                            "end": 422,
                            "loc": {
                              "start": {
                                "line": 11,
                                "column": 42
                              },
                              "end": {
                                "line": 11,
                                "column": 53
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 411,
                              "end": 420,
                              "loc": {
                                "start": {
                                  "line": 11,
                                  "column": 42
                                },
                                "end": {
                                  "line": 11,
                                  "column": 51
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 411,
                                "end": 414,
                                "loc": {
                                  "start": {
                                    "line": 11,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 11,
                                    "column": 45
                                  }
                                },
                                "name": "dir"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 415,
                                "end": 420,
                                "loc": {
                                  "start": {
                                    "line": 11,
                                    "column": 46
                                  },
                                  "end": {
                                    "line": 11,
                                    "column": 51
                                  }
                                },
                                "name": "clone"
                              },
                              "computed": false
                            },
                            "arguments": []
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 423,
                            "end": 438,
                            "loc": {
                              "start": {
                                "line": 11,
                                "column": 54
                              },
                              "end": {
                                "line": 11,
                                "column": 69
                              }
                            },
                            "name": "projectOnVector"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 439,
                            "end": 451,
                            "loc": {
                              "start": {
                                "line": 11,
                                "column": 70
                              },
                              "end": {
                                "line": 11,
                                "column": 82
                              }
                            },
                            "name": "startTangent"
                          }
                        ]
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 463,
              "end": 502,
              "loc": {
                "start": {
                  "line": 12,
                  "column": 8
                },
                "end": {
                  "line": 12,
                  "column": 47
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 467,
                  "end": 501,
                  "loc": {
                    "start": {
                      "line": 12,
                      "column": 12
                    },
                    "end": {
                      "line": 12,
                      "column": 46
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 467,
                    "end": 473,
                    "loc": {
                      "start": {
                        "line": 12,
                        "column": 12
                      },
                      "end": {
                        "line": 12,
                        "column": 18
                      }
                    },
                    "name": "height"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 476,
                    "end": 501,
                    "loc": {
                      "start": {
                        "line": 12,
                        "column": 21
                      },
                      "end": {
                        "line": 12,
                        "column": 46
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 476,
                      "end": 493,
                      "loc": {
                        "start": {
                          "line": 12,
                          "column": 21
                        },
                        "end": {
                          "line": 12,
                          "column": 38
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 476,
                        "end": 482,
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 21
                          },
                          "end": {
                            "line": 12,
                            "column": 27
                          }
                        },
                        "name": "onLine"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 483,
                        "end": 493,
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 28
                          },
                          "end": {
                            "line": 12,
                            "column": 38
                          }
                        },
                        "name": "distanceTo"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 494,
                        "end": 500,
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 39
                          },
                          "end": {
                            "line": 12,
                            "column": 45
                          }
                        },
                        "name": "endPos"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 511,
              "end": 565,
              "loc": {
                "start": {
                  "line": 13,
                  "column": 8
                },
                "end": {
                  "line": 13,
                  "column": 62
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 515,
                  "end": 564,
                  "loc": {
                    "start": {
                      "line": 13,
                      "column": 12
                    },
                    "end": {
                      "line": 13,
                      "column": 61
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 515,
                    "end": 523,
                    "loc": {
                      "start": {
                        "line": 13,
                        "column": 12
                      },
                      "end": {
                        "line": 13,
                        "column": 20
                      }
                    },
                    "name": "isLinear"
                  },
                  "init": {
                    "type": "BinaryExpression",
                    "start": 527,
                    "end": 563,
                    "loc": {
                      "start": {
                        "line": 13,
                        "column": 24
                      },
                      "end": {
                        "line": 13,
                        "column": 60
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 527,
                      "end": 533,
                      "loc": {
                        "start": {
                          "line": 13,
                          "column": 24
                        },
                        "end": {
                          "line": 13,
                          "column": 30
                        }
                      },
                      "name": "height"
                    },
                    "operator": "<=",
                    "right": {
                      "type": "BinaryExpression",
                      "start": 537,
                      "end": 563,
                      "loc": {
                        "start": {
                          "line": 13,
                          "column": 34
                        },
                        "end": {
                          "line": 13,
                          "column": 60
                        }
                      },
                      "left": {
                        "type": "BinaryExpression",
                        "start": 537,
                        "end": 556,
                        "loc": {
                          "start": {
                            "line": 13,
                            "column": 34
                          },
                          "end": {
                            "line": 13,
                            "column": 53
                          }
                        },
                        "left": {
                          "type": "CallExpression",
                          "start": 537,
                          "end": 549,
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 34
                            },
                            "end": {
                              "line": 13,
                              "column": 46
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 537,
                            "end": 547,
                            "loc": {
                              "start": {
                                "line": 13,
                                "column": 34
                              },
                              "end": {
                                "line": 13,
                                "column": 44
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 537,
                              "end": 540,
                              "loc": {
                                "start": {
                                  "line": 13,
                                  "column": 34
                                },
                                "end": {
                                  "line": 13,
                                  "column": 37
                                }
                              },
                              "name": "dir"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 541,
                              "end": 547,
                              "loc": {
                                "start": {
                                  "line": 13,
                                  "column": 38
                                },
                                "end": {
                                  "line": 13,
                                  "column": 44
                                }
                              },
                              "name": "length"
                            },
                            "computed": false
                          },
                          "arguments": []
                        },
                        "operator": "*",
                        "right": {
                          "type": "Literal",
                          "start": 552,
                          "end": 556,
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 49
                            },
                            "end": {
                              "line": 13,
                              "column": 53
                            }
                          },
                          "value": 0.001,
                          "rawValue": 0.001,
                          "raw": "1e-3"
                        }
                      },
                      "operator": "+",
                      "right": {
                        "type": "Literal",
                        "start": 559,
                        "end": 563,
                        "loc": {
                          "start": {
                            "line": 13,
                            "column": 56
                          },
                          "end": {
                            "line": 13,
                            "column": 60
                          }
                        },
                        "value": 0.001,
                        "rawValue": 0.001,
                        "raw": "1e-3"
                      }
                    },
                    "parenthesizedExpression": true
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "IfStatement",
              "start": 571,
              "end": 1055,
              "loc": {
                "start": {
                  "line": 15,
                  "column": 4
                },
                "end": {
                  "line": 24,
                  "column": 5
                }
              },
              "test": {
                "type": "Identifier",
                "start": 575,
                "end": 583,
                "loc": {
                  "start": {
                    "line": 15,
                    "column": 8
                  },
                  "end": {
                    "line": 15,
                    "column": 16
                  }
                },
                "name": "isLinear"
              },
              "consequent": {
                "type": "ReturnStatement",
                "start": 593,
                "end": 631,
                "loc": {
                  "start": {
                    "line": 16,
                    "column": 8
                  },
                  "end": {
                    "line": 16,
                    "column": 46
                  }
                },
                "argument": {
                  "type": "ObjectExpression",
                  "start": 600,
                  "end": 630,
                  "loc": {
                    "start": {
                      "line": 16,
                      "column": 15
                    },
                    "end": {
                      "line": 16,
                      "column": 45
                    }
                  },
                  "properties": [
                    {
                      "type": "Property",
                      "start": 601,
                      "end": 616,
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 16
                        },
                        "end": {
                          "line": 16,
                          "column": 31
                        }
                      },
                      "method": false,
                      "shorthand": false,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 601,
                        "end": 606,
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 16
                          },
                          "end": {
                            "line": 16,
                            "column": 21
                          }
                        },
                        "name": "start"
                      },
                      "value": {
                        "type": "Identifier",
                        "start": 608,
                        "end": 616,
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 23
                          },
                          "end": {
                            "line": 16,
                            "column": 31
                          }
                        },
                        "name": "startPos"
                      },
                      "kind": "init"
                    },
                    {
                      "type": "Property",
                      "start": 618,
                      "end": 629,
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 33
                        },
                        "end": {
                          "line": 16,
                          "column": 44
                        }
                      },
                      "method": false,
                      "shorthand": false,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 618,
                        "end": 621,
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 33
                          },
                          "end": {
                            "line": 16,
                            "column": 36
                          }
                        },
                        "name": "end"
                      },
                      "value": {
                        "type": "Identifier",
                        "start": 623,
                        "end": 629,
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 38
                          },
                          "end": {
                            "line": 16,
                            "column": 44
                          }
                        },
                        "name": "endPos"
                      },
                      "kind": "init"
                    }
                  ]
                }
              },
              "alternate": {
                "type": "BlockStatement",
                "start": 641,
                "end": 1055,
                "loc": {
                  "start": {
                    "line": 17,
                    "column": 9
                  },
                  "end": {
                    "line": 24,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "VariableDeclaration",
                    "start": 715,
                    "end": 767,
                    "loc": {
                      "start": {
                        "line": 19,
                        "column": 8
                      },
                      "end": {
                        "line": 19,
                        "column": 60
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 719,
                        "end": 766,
                        "loc": {
                          "start": {
                            "line": 19,
                            "column": 12
                          },
                          "end": {
                            "line": 19,
                            "column": 59
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 719,
                          "end": 725,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 12
                            },
                            "end": {
                              "line": 19,
                              "column": 18
                            }
                          },
                          "name": "normal",
                          "leadingComments": null
                        },
                        "init": {
                          "type": "CallExpression",
                          "start": 728,
                          "end": 766,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 21
                            },
                            "end": {
                              "line": 19,
                              "column": 59
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 728,
                            "end": 764,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 21
                              },
                              "end": {
                                "line": 19,
                                "column": 57
                              }
                            },
                            "object": {
                              "type": "CallExpression",
                              "start": 728,
                              "end": 754,
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 21
                                },
                                "end": {
                                  "line": 19,
                                  "column": 47
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 728,
                                "end": 746,
                                "loc": {
                                  "start": {
                                    "line": 19,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 19,
                                    "column": 39
                                  }
                                },
                                "object": {
                                  "type": "CallExpression",
                                  "start": 728,
                                  "end": 742,
                                  "loc": {
                                    "start": {
                                      "line": 19,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 19,
                                      "column": 35
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 728,
                                    "end": 740,
                                    "loc": {
                                      "start": {
                                        "line": 19,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 19,
                                        "column": 33
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 728,
                                      "end": 734,
                                      "loc": {
                                        "start": {
                                          "line": 19,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 19,
                                          "column": 27
                                        }
                                      },
                                      "name": "endPos"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 735,
                                      "end": 740,
                                      "loc": {
                                        "start": {
                                          "line": 19,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 19,
                                          "column": 33
                                        }
                                      },
                                      "name": "clone"
                                    },
                                    "computed": false
                                  },
                                  "arguments": []
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 743,
                                  "end": 746,
                                  "loc": {
                                    "start": {
                                      "line": 19,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 19,
                                      "column": 39
                                    }
                                  },
                                  "name": "sub"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 747,
                                  "end": 753,
                                  "loc": {
                                    "start": {
                                      "line": 19,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 19,
                                      "column": 46
                                    }
                                  },
                                  "name": "onLine"
                                }
                              ]
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 755,
                              "end": 764,
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 48
                                },
                                "end": {
                                  "line": 19,
                                  "column": 57
                                }
                              },
                              "name": "normalize"
                            },
                            "computed": false
                          },
                          "arguments": []
                        },
                        "leadingComments": null
                      }
                    ],
                    "kind": "var",
                    "leadingComments": [
                      {
                        "type": "CommentLine",
                        "value": "the ugly math of getting center point and orientation",
                        "start": 651,
                        "end": 706,
                        "loc": {
                          "start": {
                            "line": 18,
                            "column": 8
                          },
                          "end": {
                            "line": 18,
                            "column": 63
                          }
                        },
                        "range": [
                          651,
                          706
                        ]
                      }
                    ]
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 776,
                    "end": 837,
                    "loc": {
                      "start": {
                        "line": 20,
                        "column": 8
                      },
                      "end": {
                        "line": 20,
                        "column": 69
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 780,
                        "end": 836,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 12
                          },
                          "end": {
                            "line": 20,
                            "column": 68
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 780,
                          "end": 784,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 12
                            },
                            "end": {
                              "line": 20,
                              "column": 16
                            }
                          },
                          "name": "dist"
                        },
                        "init": {
                          "type": "BinaryExpression",
                          "start": 787,
                          "end": 836,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 19
                            },
                            "end": {
                              "line": 20,
                              "column": 68
                            }
                          },
                          "left": {
                            "type": "CallExpression",
                            "start": 787,
                            "end": 821,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 19
                              },
                              "end": {
                                "line": 20,
                                "column": 53
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 787,
                              "end": 811,
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 19
                                },
                                "end": {
                                  "line": 20,
                                  "column": 43
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 787,
                                "end": 793,
                                "loc": {
                                  "start": {
                                    "line": 20,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 20,
                                    "column": 25
                                  }
                                },
                                "name": "endPos"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 794,
                                "end": 811,
                                "loc": {
                                  "start": {
                                    "line": 20,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 20,
                                    "column": 43
                                  }
                                },
                                "name": "distanceToSquared"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 812,
                                "end": 820,
                                "loc": {
                                  "start": {
                                    "line": 20,
                                    "column": 44
                                  },
                                  "end": {
                                    "line": 20,
                                    "column": 52
                                  }
                                },
                                "name": "startPos"
                              }
                            ]
                          },
                          "operator": "/",
                          "right": {
                            "type": "BinaryExpression",
                            "start": 825,
                            "end": 835,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 57
                              },
                              "end": {
                                "line": 20,
                                "column": 67
                              }
                            },
                            "left": {
                              "type": "Literal",
                              "start": 825,
                              "end": 826,
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 57
                                },
                                "end": {
                                  "line": 20,
                                  "column": 58
                                }
                              },
                              "value": 2,
                              "rawValue": 2,
                              "raw": "2"
                            },
                            "operator": "*",
                            "right": {
                              "type": "Identifier",
                              "start": 829,
                              "end": 835,
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 61
                                },
                                "end": {
                                  "line": 20,
                                  "column": 67
                                }
                              },
                              "name": "height"
                            },
                            "parenthesizedExpression": true
                          }
                        }
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 846,
                    "end": 894,
                    "loc": {
                      "start": {
                        "line": 21,
                        "column": 8
                      },
                      "end": {
                        "line": 21,
                        "column": 56
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 850,
                        "end": 893,
                        "loc": {
                          "start": {
                            "line": 21,
                            "column": 12
                          },
                          "end": {
                            "line": 21,
                            "column": 55
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 850,
                          "end": 855,
                          "loc": {
                            "start": {
                              "line": 21,
                              "column": 12
                            },
                            "end": {
                              "line": 21,
                              "column": 17
                            }
                          },
                          "name": "cross"
                        },
                        "init": {
                          "type": "CallExpression",
                          "start": 858,
                          "end": 893,
                          "loc": {
                            "start": {
                              "line": 21,
                              "column": 20
                            },
                            "end": {
                              "line": 21,
                              "column": 55
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 858,
                            "end": 871,
                            "loc": {
                              "start": {
                                "line": 21,
                                "column": 20
                              },
                              "end": {
                                "line": 21,
                                "column": 33
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 858,
                              "end": 863,
                              "loc": {
                                "start": {
                                  "line": 21,
                                  "column": 20
                                },
                                "end": {
                                  "line": 21,
                                  "column": 25
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 864,
                              "end": 871,
                              "loc": {
                                "start": {
                                  "line": 21,
                                  "column": 26
                                },
                                "end": {
                                  "line": 21,
                                  "column": 33
                                }
                              },
                              "name": "cross2d"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 872,
                              "end": 878,
                              "loc": {
                                "start": {
                                  "line": 21,
                                  "column": 34
                                },
                                "end": {
                                  "line": 21,
                                  "column": 40
                                }
                              },
                              "name": "normal"
                            },
                            {
                              "type": "Identifier",
                              "start": 880,
                              "end": 892,
                              "loc": {
                                "start": {
                                  "line": 21,
                                  "column": 42
                                },
                                "end": {
                                  "line": 21,
                                  "column": 54
                                }
                              },
                              "name": "startTangent"
                            }
                          ]
                        }
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 903,
                    "end": 963,
                    "loc": {
                      "start": {
                        "line": 22,
                        "column": 8
                      },
                      "end": {
                        "line": 22,
                        "column": 68
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 907,
                        "end": 962,
                        "loc": {
                          "start": {
                            "line": 22,
                            "column": 12
                          },
                          "end": {
                            "line": 22,
                            "column": 67
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 907,
                          "end": 910,
                          "loc": {
                            "start": {
                              "line": 22,
                              "column": 12
                            },
                            "end": {
                              "line": 22,
                              "column": 15
                            }
                          },
                          "name": "ctr"
                        },
                        "init": {
                          "type": "CallExpression",
                          "start": 913,
                          "end": 962,
                          "loc": {
                            "start": {
                              "line": 22,
                              "column": 18
                            },
                            "end": {
                              "line": 22,
                              "column": 67
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 913,
                            "end": 952,
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 18
                              },
                              "end": {
                                "line": 22,
                                "column": 57
                              }
                            },
                            "object": {
                              "type": "CallExpression",
                              "start": 913,
                              "end": 948,
                              "loc": {
                                "start": {
                                  "line": 22,
                                  "column": 18
                                },
                                "end": {
                                  "line": 22,
                                  "column": 53
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 913,
                                "end": 942,
                                "loc": {
                                  "start": {
                                    "line": 22,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 22,
                                    "column": 47
                                  }
                                },
                                "object": {
                                  "type": "CallExpression",
                                  "start": 913,
                                  "end": 927,
                                  "loc": {
                                    "start": {
                                      "line": 22,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 22,
                                      "column": 32
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 913,
                                    "end": 925,
                                    "loc": {
                                      "start": {
                                        "line": 22,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 22,
                                        "column": 30
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 913,
                                      "end": 919,
                                      "loc": {
                                        "start": {
                                          "line": 22,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 22,
                                          "column": 24
                                        }
                                      },
                                      "name": "normal"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 920,
                                      "end": 925,
                                      "loc": {
                                        "start": {
                                          "line": 22,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 22,
                                          "column": 30
                                        }
                                      },
                                      "name": "clone"
                                    },
                                    "computed": false
                                  },
                                  "arguments": []
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 928,
                                  "end": 942,
                                  "loc": {
                                    "start": {
                                      "line": 22,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 22,
                                      "column": 47
                                    }
                                  },
                                  "name": "multiplyScalar"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 943,
                                  "end": 947,
                                  "loc": {
                                    "start": {
                                      "line": 22,
                                      "column": 48
                                    },
                                    "end": {
                                      "line": 22,
                                      "column": 52
                                    }
                                  },
                                  "name": "dist"
                                }
                              ]
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 949,
                              "end": 952,
                              "loc": {
                                "start": {
                                  "line": 22,
                                  "column": 54
                                },
                                "end": {
                                  "line": 22,
                                  "column": 57
                                }
                              },
                              "name": "add"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 953,
                              "end": 961,
                              "loc": {
                                "start": {
                                  "line": 22,
                                  "column": 58
                                },
                                "end": {
                                  "line": 22,
                                  "column": 66
                                }
                              },
                              "name": "startPos"
                            }
                          ]
                        }
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 972,
                    "end": 1049,
                    "loc": {
                      "start": {
                        "line": 23,
                        "column": 8
                      },
                      "end": {
                        "line": 23,
                        "column": 85
                      }
                    },
                    "argument": {
                      "type": "ObjectExpression",
                      "start": 979,
                      "end": 1048,
                      "loc": {
                        "start": {
                          "line": 23,
                          "column": 15
                        },
                        "end": {
                          "line": 23,
                          "column": 84
                        }
                      },
                      "properties": [
                        {
                          "type": "Property",
                          "start": 980,
                          "end": 995,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 16
                            },
                            "end": {
                              "line": 23,
                              "column": 31
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 980,
                            "end": 985,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 16
                              },
                              "end": {
                                "line": 23,
                                "column": 21
                              }
                            },
                            "name": "start"
                          },
                          "value": {
                            "type": "Identifier",
                            "start": 987,
                            "end": 995,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 23
                              },
                              "end": {
                                "line": 23,
                                "column": 31
                              }
                            },
                            "name": "startPos"
                          },
                          "kind": "init"
                        },
                        {
                          "type": "Property",
                          "start": 997,
                          "end": 1008,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 33
                            },
                            "end": {
                              "line": 23,
                              "column": 44
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 997,
                            "end": 1000,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 33
                              },
                              "end": {
                                "line": 23,
                                "column": 36
                              }
                            },
                            "name": "end"
                          },
                          "value": {
                            "type": "Identifier",
                            "start": 1002,
                            "end": 1008,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 38
                              },
                              "end": {
                                "line": 23,
                                "column": 44
                              }
                            },
                            "name": "endPos"
                          },
                          "kind": "init"
                        },
                        {
                          "type": "Property",
                          "start": 1010,
                          "end": 1021,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 46
                            },
                            "end": {
                              "line": 23,
                              "column": 57
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 1010,
                            "end": 1016,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 46
                              },
                              "end": {
                                "line": 23,
                                "column": 52
                              }
                            },
                            "name": "center"
                          },
                          "value": {
                            "type": "Identifier",
                            "start": 1018,
                            "end": 1021,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 54
                              },
                              "end": {
                                "line": 23,
                                "column": 57
                              }
                            },
                            "name": "ctr"
                          },
                          "kind": "init"
                        },
                        {
                          "type": "Property",
                          "start": 1023,
                          "end": 1047,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 59
                            },
                            "end": {
                              "line": 23,
                              "column": 83
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 1023,
                            "end": 1032,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 59
                              },
                              "end": {
                                "line": 23,
                                "column": 68
                              }
                            },
                            "name": "clockwise"
                          },
                          "value": {
                            "type": "BinaryExpression",
                            "start": 1035,
                            "end": 1046,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 71
                              },
                              "end": {
                                "line": 23,
                                "column": 82
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 1035,
                              "end": 1040,
                              "loc": {
                                "start": {
                                  "line": 23,
                                  "column": 71
                                },
                                "end": {
                                  "line": 23,
                                  "column": 76
                                }
                              },
                              "name": "cross"
                            },
                            "operator": ">",
                            "right": {
                              "type": "Literal",
                              "start": 1043,
                              "end": 1046,
                              "loc": {
                                "start": {
                                  "line": 23,
                                  "column": 79
                                },
                                "end": {
                                  "line": 23,
                                  "column": 82
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0.0"
                            },
                            "parenthesizedExpression": true
                          },
                          "kind": "init"
                        }
                      ]
                    }
                  }
                ]
              }
            }
          ],
          "trailingComments": null
        },
        "trailingComments": [
          {
            "type": "CommentLine",
            "value": "Note: position of center is only partly used and may change",
            "start": 1059,
            "end": 1120,
            "loc": {
              "start": {
                "line": 27,
                "column": 0
              },
              "end": {
                "line": 27,
                "column": 61
              }
            },
            "range": [
              1059,
              1120
            ]
          }
        ],
        "leadingComments": []
      },
      "specifiers": [],
      "source": null,
      "trailingComments": [
        {
          "type": "CommentLine",
          "value": "Note: position of center is only partly used and may change",
          "start": 1059,
          "end": 1120,
          "loc": {
            "start": {
              "line": 27,
              "column": 0
            },
            "end": {
              "line": 27,
              "column": 61
            }
          },
          "range": [
            1059,
            1120
          ]
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 1121,
      "end": 1637,
      "loc": {
        "start": {
          "line": 28,
          "column": 0
        },
        "end": {
          "line": 37,
          "column": 1
        }
      },
      "declaration": {
        "type": "FunctionDeclaration",
        "start": 1128,
        "end": 1637,
        "loc": {
          "start": {
            "line": 28,
            "column": 7
          },
          "end": {
            "line": 37,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 1137,
          "end": 1153,
          "loc": {
            "start": {
              "line": 28,
              "column": 16
            },
            "end": {
              "line": 28,
              "column": 32
            }
          },
          "name": "drawArcBy_S_E_Ch",
          "leadingComments": null
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [
          {
            "type": "Identifier",
            "start": 1154,
            "end": 1162,
            "loc": {
              "start": {
                "line": 28,
                "column": 33
              },
              "end": {
                "line": 28,
                "column": 41
              }
            },
            "name": "startPos"
          },
          {
            "type": "Identifier",
            "start": 1164,
            "end": 1170,
            "loc": {
              "start": {
                "line": 28,
                "column": 43
              },
              "end": {
                "line": 28,
                "column": 49
              }
            },
            "name": "endPos"
          },
          {
            "type": "Identifier",
            "start": 1172,
            "end": 1185,
            "loc": {
              "start": {
                "line": 28,
                "column": 51
              },
              "end": {
                "line": 28,
                "column": 64
              }
            },
            "name": "centerPosHint"
          },
          {
            "type": "Identifier",
            "start": 1187,
            "end": 1197,
            "loc": {
              "start": {
                "line": 28,
                "column": 66
              },
              "end": {
                "line": 28,
                "column": 76
              }
            },
            "name": "takeLarger"
          }
        ],
        "body": {
          "type": "BlockStatement",
          "start": 1199,
          "end": 1637,
          "loc": {
            "start": {
              "line": 28,
              "column": 78
            },
            "end": {
              "line": 37,
              "column": 1
            }
          },
          "body": [
            {
              "type": "VariableDeclaration",
              "start": 1205,
              "end": 1260,
              "loc": {
                "start": {
                  "line": 29,
                  "column": 4
                },
                "end": {
                  "line": 29,
                  "column": 59
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 1209,
                  "end": 1259,
                  "loc": {
                    "start": {
                      "line": 29,
                      "column": 8
                    },
                    "end": {
                      "line": 29,
                      "column": 58
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 1209,
                    "end": 1212,
                    "loc": {
                      "start": {
                        "line": 29,
                        "column": 8
                      },
                      "end": {
                        "line": 29,
                        "column": 11
                      }
                    },
                    "name": "mid"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 1215,
                    "end": 1259,
                    "loc": {
                      "start": {
                        "line": 29,
                        "column": 14
                      },
                      "end": {
                        "line": 29,
                        "column": 58
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 1215,
                      "end": 1256,
                      "loc": {
                        "start": {
                          "line": 29,
                          "column": 14
                        },
                        "end": {
                          "line": 29,
                          "column": 55
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 1215,
                        "end": 1243,
                        "loc": {
                          "start": {
                            "line": 29,
                            "column": 14
                          },
                          "end": {
                            "line": 29,
                            "column": 42
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1215,
                          "end": 1233,
                          "loc": {
                            "start": {
                              "line": 29,
                              "column": 14
                            },
                            "end": {
                              "line": 29,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 1215,
                            "end": 1229,
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 14
                              },
                              "end": {
                                "line": 29,
                                "column": 28
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 1215,
                              "end": 1227,
                              "loc": {
                                "start": {
                                  "line": 29,
                                  "column": 14
                                },
                                "end": {
                                  "line": 29,
                                  "column": 26
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1215,
                                "end": 1221,
                                "loc": {
                                  "start": {
                                    "line": 29,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 29,
                                    "column": 20
                                  }
                                },
                                "name": "endPos"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1222,
                                "end": 1227,
                                "loc": {
                                  "start": {
                                    "line": 29,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 29,
                                    "column": 26
                                  }
                                },
                                "name": "clone"
                              },
                              "computed": false
                            },
                            "arguments": []
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1230,
                            "end": 1233,
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 29
                              },
                              "end": {
                                "line": 29,
                                "column": 32
                              }
                            },
                            "name": "add"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 1234,
                            "end": 1242,
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 33
                              },
                              "end": {
                                "line": 29,
                                "column": 41
                              }
                            },
                            "name": "startPos"
                          }
                        ]
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 1244,
                        "end": 1256,
                        "loc": {
                          "start": {
                            "line": 29,
                            "column": 43
                          },
                          "end": {
                            "line": 29,
                            "column": 55
                          }
                        },
                        "name": "divideScalar"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Literal",
                        "start": 1257,
                        "end": 1258,
                        "loc": {
                          "start": {
                            "line": 29,
                            "column": 56
                          },
                          "end": {
                            "line": 29,
                            "column": 57
                          }
                        },
                        "value": 2,
                        "rawValue": 2,
                        "raw": "2"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 1265,
              "end": 1304,
              "loc": {
                "start": {
                  "line": 30,
                  "column": 4
                },
                "end": {
                  "line": 30,
                  "column": 43
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 1269,
                  "end": 1303,
                  "loc": {
                    "start": {
                      "line": 30,
                      "column": 8
                    },
                    "end": {
                      "line": 30,
                      "column": 42
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 1269,
                    "end": 1272,
                    "loc": {
                      "start": {
                        "line": 30,
                        "column": 8
                      },
                      "end": {
                        "line": 30,
                        "column": 11
                      }
                    },
                    "name": "dir"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 1275,
                    "end": 1303,
                    "loc": {
                      "start": {
                        "line": 30,
                        "column": 14
                      },
                      "end": {
                        "line": 30,
                        "column": 42
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 1275,
                      "end": 1293,
                      "loc": {
                        "start": {
                          "line": 30,
                          "column": 14
                        },
                        "end": {
                          "line": 30,
                          "column": 32
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 1275,
                        "end": 1289,
                        "loc": {
                          "start": {
                            "line": 30,
                            "column": 14
                          },
                          "end": {
                            "line": 30,
                            "column": 28
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1275,
                          "end": 1287,
                          "loc": {
                            "start": {
                              "line": 30,
                              "column": 14
                            },
                            "end": {
                              "line": 30,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1275,
                            "end": 1281,
                            "loc": {
                              "start": {
                                "line": 30,
                                "column": 14
                              },
                              "end": {
                                "line": 30,
                                "column": 20
                              }
                            },
                            "name": "endPos"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1282,
                            "end": 1287,
                            "loc": {
                              "start": {
                                "line": 30,
                                "column": 21
                              },
                              "end": {
                                "line": 30,
                                "column": 26
                              }
                            },
                            "name": "clone"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 1290,
                        "end": 1293,
                        "loc": {
                          "start": {
                            "line": 30,
                            "column": 29
                          },
                          "end": {
                            "line": 30,
                            "column": 32
                          }
                        },
                        "name": "sub"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 1294,
                        "end": 1302,
                        "loc": {
                          "start": {
                            "line": 30,
                            "column": 33
                          },
                          "end": {
                            "line": 30,
                            "column": 41
                          }
                        },
                        "name": "startPos"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 1309,
              "end": 1357,
              "loc": {
                "start": {
                  "line": 31,
                  "column": 4
                },
                "end": {
                  "line": 31,
                  "column": 52
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 1313,
                  "end": 1356,
                  "loc": {
                    "start": {
                      "line": 31,
                      "column": 8
                    },
                    "end": {
                      "line": 31,
                      "column": 51
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 1313,
                    "end": 1316,
                    "loc": {
                      "start": {
                        "line": 31,
                        "column": 8
                      },
                      "end": {
                        "line": 31,
                        "column": 11
                      }
                    },
                    "name": "per"
                  },
                  "init": {
                    "type": "NewExpression",
                    "start": 1319,
                    "end": 1356,
                    "loc": {
                      "start": {
                        "line": 31,
                        "column": 14
                      },
                      "end": {
                        "line": 31,
                        "column": 51
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 1323,
                      "end": 1336,
                      "loc": {
                        "start": {
                          "line": 31,
                          "column": 18
                        },
                        "end": {
                          "line": 31,
                          "column": 31
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 1323,
                        "end": 1328,
                        "loc": {
                          "start": {
                            "line": 31,
                            "column": 18
                          },
                          "end": {
                            "line": 31,
                            "column": 23
                          }
                        },
                        "name": "THREE"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 1329,
                        "end": 1336,
                        "loc": {
                          "start": {
                            "line": 31,
                            "column": 24
                          },
                          "end": {
                            "line": 31,
                            "column": 31
                          }
                        },
                        "name": "Vector3"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "UnaryExpression",
                        "start": 1337,
                        "end": 1343,
                        "loc": {
                          "start": {
                            "line": 31,
                            "column": 32
                          },
                          "end": {
                            "line": 31,
                            "column": 38
                          }
                        },
                        "operator": "-",
                        "prefix": true,
                        "argument": {
                          "type": "MemberExpression",
                          "start": 1338,
                          "end": 1343,
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 33
                            },
                            "end": {
                              "line": 31,
                              "column": 38
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1338,
                            "end": 1341,
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 33
                              },
                              "end": {
                                "line": 31,
                                "column": 36
                              }
                            },
                            "name": "dir"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1342,
                            "end": 1343,
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 37
                              },
                              "end": {
                                "line": 31,
                                "column": 38
                              }
                            },
                            "name": "y"
                          },
                          "computed": false
                        }
                      },
                      {
                        "type": "MemberExpression",
                        "start": 1345,
                        "end": 1350,
                        "loc": {
                          "start": {
                            "line": 31,
                            "column": 40
                          },
                          "end": {
                            "line": 31,
                            "column": 45
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 1345,
                          "end": 1348,
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 40
                            },
                            "end": {
                              "line": 31,
                              "column": 43
                            }
                          },
                          "name": "dir"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1349,
                          "end": 1350,
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 44
                            },
                            "end": {
                              "line": 31,
                              "column": 45
                            }
                          },
                          "name": "x"
                        },
                        "computed": false
                      },
                      {
                        "type": "Literal",
                        "start": 1352,
                        "end": 1355,
                        "loc": {
                          "start": {
                            "line": 31,
                            "column": 47
                          },
                          "end": {
                            "line": 31,
                            "column": 50
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0.0"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 1362,
              "end": 1409,
              "loc": {
                "start": {
                  "line": 32,
                  "column": 4
                },
                "end": {
                  "line": 32,
                  "column": 51
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 1366,
                  "end": 1408,
                  "loc": {
                    "start": {
                      "line": 32,
                      "column": 8
                    },
                    "end": {
                      "line": 32,
                      "column": 50
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 1366,
                    "end": 1375,
                    "loc": {
                      "start": {
                        "line": 32,
                        "column": 8
                      },
                      "end": {
                        "line": 32,
                        "column": 17
                      }
                    },
                    "name": "dirMidPos"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 1378,
                    "end": 1408,
                    "loc": {
                      "start": {
                        "line": 32,
                        "column": 20
                      },
                      "end": {
                        "line": 32,
                        "column": 50
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 1378,
                      "end": 1403,
                      "loc": {
                        "start": {
                          "line": 32,
                          "column": 20
                        },
                        "end": {
                          "line": 32,
                          "column": 45
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 1378,
                        "end": 1399,
                        "loc": {
                          "start": {
                            "line": 32,
                            "column": 20
                          },
                          "end": {
                            "line": 32,
                            "column": 41
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1378,
                          "end": 1397,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 20
                            },
                            "end": {
                              "line": 32,
                              "column": 39
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1378,
                            "end": 1391,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 20
                              },
                              "end": {
                                "line": 32,
                                "column": 33
                              }
                            },
                            "name": "centerPosHint"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1392,
                            "end": 1397,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 34
                              },
                              "end": {
                                "line": 32,
                                "column": 39
                              }
                            },
                            "name": "clone"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 1400,
                        "end": 1403,
                        "loc": {
                          "start": {
                            "line": 32,
                            "column": 42
                          },
                          "end": {
                            "line": 32,
                            "column": 45
                          }
                        },
                        "name": "sub"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 1404,
                        "end": 1407,
                        "loc": {
                          "start": {
                            "line": 32,
                            "column": 46
                          },
                          "end": {
                            "line": 32,
                            "column": 49
                          }
                        },
                        "name": "mid"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 1414,
              "end": 1472,
              "loc": {
                "start": {
                  "line": 33,
                  "column": 4
                },
                "end": {
                  "line": 33,
                  "column": 62
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 1418,
                  "end": 1471,
                  "loc": {
                    "start": {
                      "line": 33,
                      "column": 8
                    },
                    "end": {
                      "line": 33,
                      "column": 61
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 1418,
                    "end": 1421,
                    "loc": {
                      "start": {
                        "line": 33,
                        "column": 8
                      },
                      "end": {
                        "line": 33,
                        "column": 11
                      }
                    },
                    "name": "ctr"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 1424,
                    "end": 1471,
                    "loc": {
                      "start": {
                        "line": 33,
                        "column": 14
                      },
                      "end": {
                        "line": 33,
                        "column": 61
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 1424,
                      "end": 1466,
                      "loc": {
                        "start": {
                          "line": 33,
                          "column": 14
                        },
                        "end": {
                          "line": 33,
                          "column": 56
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 1424,
                        "end": 1462,
                        "loc": {
                          "start": {
                            "line": 33,
                            "column": 14
                          },
                          "end": {
                            "line": 33,
                            "column": 52
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1424,
                          "end": 1457,
                          "loc": {
                            "start": {
                              "line": 33,
                              "column": 14
                            },
                            "end": {
                              "line": 33,
                              "column": 47
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 1424,
                            "end": 1441,
                            "loc": {
                              "start": {
                                "line": 33,
                                "column": 14
                              },
                              "end": {
                                "line": 33,
                                "column": 31
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 1424,
                              "end": 1439,
                              "loc": {
                                "start": {
                                  "line": 33,
                                  "column": 14
                                },
                                "end": {
                                  "line": 33,
                                  "column": 29
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1424,
                                "end": 1433,
                                "loc": {
                                  "start": {
                                    "line": 33,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 33,
                                    "column": 23
                                  }
                                },
                                "name": "dirMidPos"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1434,
                                "end": 1439,
                                "loc": {
                                  "start": {
                                    "line": 33,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 33,
                                    "column": 29
                                  }
                                },
                                "name": "clone"
                              },
                              "computed": false
                            },
                            "arguments": []
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1442,
                            "end": 1457,
                            "loc": {
                              "start": {
                                "line": 33,
                                "column": 32
                              },
                              "end": {
                                "line": 33,
                                "column": 47
                              }
                            },
                            "name": "projectOnVector"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 1458,
                            "end": 1461,
                            "loc": {
                              "start": {
                                "line": 33,
                                "column": 48
                              },
                              "end": {
                                "line": 33,
                                "column": 51
                              }
                            },
                            "name": "per"
                          }
                        ]
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 1463,
                        "end": 1466,
                        "loc": {
                          "start": {
                            "line": 33,
                            "column": 53
                          },
                          "end": {
                            "line": 33,
                            "column": 56
                          }
                        },
                        "name": "add"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 1467,
                        "end": 1470,
                        "loc": {
                          "start": {
                            "line": 33,
                            "column": 57
                          },
                          "end": {
                            "line": 33,
                            "column": 60
                          }
                        },
                        "name": "mid"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 1477,
              "end": 1506,
              "loc": {
                "start": {
                  "line": 34,
                  "column": 4
                },
                "end": {
                  "line": 34,
                  "column": 33
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 1481,
                  "end": 1505,
                  "loc": {
                    "start": {
                      "line": 34,
                      "column": 8
                    },
                    "end": {
                      "line": 34,
                      "column": 32
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 1481,
                    "end": 1484,
                    "loc": {
                      "start": {
                        "line": 34,
                        "column": 8
                      },
                      "end": {
                        "line": 34,
                        "column": 11
                      }
                    },
                    "name": "dot"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 1487,
                    "end": 1505,
                    "loc": {
                      "start": {
                        "line": 34,
                        "column": 14
                      },
                      "end": {
                        "line": 34,
                        "column": 32
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 1487,
                      "end": 1500,
                      "loc": {
                        "start": {
                          "line": 34,
                          "column": 14
                        },
                        "end": {
                          "line": 34,
                          "column": 27
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 1487,
                        "end": 1496,
                        "loc": {
                          "start": {
                            "line": 34,
                            "column": 14
                          },
                          "end": {
                            "line": 34,
                            "column": 23
                          }
                        },
                        "name": "dirMidPos"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 1497,
                        "end": 1500,
                        "loc": {
                          "start": {
                            "line": 34,
                            "column": 24
                          },
                          "end": {
                            "line": 34,
                            "column": 27
                          }
                        },
                        "name": "dot"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 1501,
                        "end": 1504,
                        "loc": {
                          "start": {
                            "line": 34,
                            "column": 28
                          },
                          "end": {
                            "line": 34,
                            "column": 31
                          }
                        },
                        "name": "per"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 1511,
              "end": 1557,
              "loc": {
                "start": {
                  "line": 35,
                  "column": 4
                },
                "end": {
                  "line": 35,
                  "column": 50
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 1515,
                  "end": 1556,
                  "loc": {
                    "start": {
                      "line": 35,
                      "column": 8
                    },
                    "end": {
                      "line": 35,
                      "column": 49
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 1515,
                    "end": 1524,
                    "loc": {
                      "start": {
                        "line": 35,
                        "column": 8
                      },
                      "end": {
                        "line": 35,
                        "column": 17
                      }
                    },
                    "name": "clockwise"
                  },
                  "init": {
                    "type": "BinaryExpression",
                    "start": 1527,
                    "end": 1556,
                    "loc": {
                      "start": {
                        "line": 35,
                        "column": 20
                      },
                      "end": {
                        "line": 35,
                        "column": 49
                      }
                    },
                    "left": {
                      "type": "BinaryExpression",
                      "start": 1528,
                      "end": 1537,
                      "loc": {
                        "start": {
                          "line": 35,
                          "column": 21
                        },
                        "end": {
                          "line": 35,
                          "column": 30
                        }
                      },
                      "left": {
                        "type": "Identifier",
                        "start": 1528,
                        "end": 1531,
                        "loc": {
                          "start": {
                            "line": 35,
                            "column": 21
                          },
                          "end": {
                            "line": 35,
                            "column": 24
                          }
                        },
                        "name": "dot"
                      },
                      "operator": "<",
                      "right": {
                        "type": "Literal",
                        "start": 1534,
                        "end": 1537,
                        "loc": {
                          "start": {
                            "line": 35,
                            "column": 27
                          },
                          "end": {
                            "line": 35,
                            "column": 30
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0.0"
                      },
                      "parenthesizedExpression": true
                    },
                    "operator": "!=",
                    "right": {
                      "type": "UnaryExpression",
                      "start": 1543,
                      "end": 1555,
                      "loc": {
                        "start": {
                          "line": 35,
                          "column": 36
                        },
                        "end": {
                          "line": 35,
                          "column": 48
                        }
                      },
                      "operator": "!",
                      "prefix": true,
                      "argument": {
                        "type": "UnaryExpression",
                        "start": 1544,
                        "end": 1555,
                        "loc": {
                          "start": {
                            "line": 35,
                            "column": 37
                          },
                          "end": {
                            "line": 35,
                            "column": 48
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start": 1545,
                          "end": 1555,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 38
                            },
                            "end": {
                              "line": 35,
                              "column": 48
                            }
                          },
                          "name": "takeLarger"
                        }
                      },
                      "parenthesizedExpression": true
                    }
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "ReturnStatement",
              "start": 1562,
              "end": 1635,
              "loc": {
                "start": {
                  "line": 36,
                  "column": 4
                },
                "end": {
                  "line": 36,
                  "column": 77
                }
              },
              "argument": {
                "type": "ObjectExpression",
                "start": 1569,
                "end": 1634,
                "loc": {
                  "start": {
                    "line": 36,
                    "column": 11
                  },
                  "end": {
                    "line": 36,
                    "column": 76
                  }
                },
                "properties": [
                  {
                    "type": "Property",
                    "start": 1570,
                    "end": 1585,
                    "loc": {
                      "start": {
                        "line": 36,
                        "column": 12
                      },
                      "end": {
                        "line": 36,
                        "column": 27
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 1570,
                      "end": 1575,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 12
                        },
                        "end": {
                          "line": 36,
                          "column": 17
                        }
                      },
                      "name": "start"
                    },
                    "value": {
                      "type": "Identifier",
                      "start": 1577,
                      "end": 1585,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 19
                        },
                        "end": {
                          "line": 36,
                          "column": 27
                        }
                      },
                      "name": "startPos"
                    },
                    "kind": "init"
                  },
                  {
                    "type": "Property",
                    "start": 1587,
                    "end": 1598,
                    "loc": {
                      "start": {
                        "line": 36,
                        "column": 29
                      },
                      "end": {
                        "line": 36,
                        "column": 40
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 1587,
                      "end": 1590,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 29
                        },
                        "end": {
                          "line": 36,
                          "column": 32
                        }
                      },
                      "name": "end"
                    },
                    "value": {
                      "type": "Identifier",
                      "start": 1592,
                      "end": 1598,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 34
                        },
                        "end": {
                          "line": 36,
                          "column": 40
                        }
                      },
                      "name": "endPos"
                    },
                    "kind": "init"
                  },
                  {
                    "type": "Property",
                    "start": 1600,
                    "end": 1611,
                    "loc": {
                      "start": {
                        "line": 36,
                        "column": 42
                      },
                      "end": {
                        "line": 36,
                        "column": 53
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 1600,
                      "end": 1606,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 42
                        },
                        "end": {
                          "line": 36,
                          "column": 48
                        }
                      },
                      "name": "center"
                    },
                    "value": {
                      "type": "Identifier",
                      "start": 1608,
                      "end": 1611,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 50
                        },
                        "end": {
                          "line": 36,
                          "column": 53
                        }
                      },
                      "name": "ctr"
                    },
                    "kind": "init"
                  },
                  {
                    "type": "Property",
                    "start": 1613,
                    "end": 1633,
                    "loc": {
                      "start": {
                        "line": 36,
                        "column": 55
                      },
                      "end": {
                        "line": 36,
                        "column": 75
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 1613,
                      "end": 1622,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 55
                        },
                        "end": {
                          "line": 36,
                          "column": 64
                        }
                      },
                      "name": "clockwise"
                    },
                    "value": {
                      "type": "Identifier",
                      "start": 1624,
                      "end": 1633,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 66
                        },
                        "end": {
                          "line": 36,
                          "column": 75
                        }
                      },
                      "name": "clockwise"
                    },
                    "kind": "init"
                  }
                ]
              }
            }
          ],
          "trailingComments": null
        },
        "leadingComments": [
          {
            "type": "CommentLine",
            "value": "Note: position of center is only partly used and may change",
            "start": 1059,
            "end": 1120,
            "loc": {
              "start": {
                "line": 27,
                "column": 0
              },
              "end": {
                "line": 27,
                "column": 61
              }
            },
            "range": [
              1059,
              1120
            ]
          }
        ],
        "trailingComments": [
          {
            "type": "CommentLine",
            "value": "Note: position of control point is only partly used and may change",
            "start": 1639,
            "end": 1707,
            "loc": {
              "start": {
                "line": 39,
                "column": 0
              },
              "end": {
                "line": 39,
                "column": 68
              }
            },
            "range": [
              1639,
              1707
            ]
          }
        ]
      },
      "specifiers": [],
      "source": null,
      "leadingComments": [
        {
          "type": "CommentLine",
          "value": "Note: position of center is only partly used and may change",
          "start": 1059,
          "end": 1120,
          "loc": {
            "start": {
              "line": 27,
              "column": 0
            },
            "end": {
              "line": 27,
              "column": 61
            }
          },
          "range": [
            1059,
            1120
          ]
        }
      ],
      "trailingComments": [
        {
          "type": "CommentLine",
          "value": "Note: position of control point is only partly used and may change",
          "start": 1639,
          "end": 1707,
          "loc": {
            "start": {
              "line": 39,
              "column": 0
            },
            "end": {
              "line": 39,
              "column": 68
            }
          },
          "range": [
            1639,
            1707
          ]
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 1708,
      "end": 2472,
      "loc": {
        "start": {
          "line": 40,
          "column": 0
        },
        "end": {
          "line": 55,
          "column": 1
        }
      },
      "declaration": {
        "type": "FunctionDeclaration",
        "start": 1715,
        "end": 2472,
        "loc": {
          "start": {
            "line": 40,
            "column": 7
          },
          "end": {
            "line": 55,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 1724,
          "end": 1741,
          "loc": {
            "start": {
              "line": 40,
              "column": 16
            },
            "end": {
              "line": 40,
              "column": 33
            }
          },
          "name": "drawArcBy_S_E_CPh",
          "leadingComments": null
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [
          {
            "type": "Identifier",
            "start": 1742,
            "end": 1750,
            "loc": {
              "start": {
                "line": 40,
                "column": 34
              },
              "end": {
                "line": 40,
                "column": 42
              }
            },
            "name": "startPos"
          },
          {
            "type": "Identifier",
            "start": 1752,
            "end": 1758,
            "loc": {
              "start": {
                "line": 40,
                "column": 44
              },
              "end": {
                "line": 40,
                "column": 50
              }
            },
            "name": "endPos"
          },
          {
            "type": "Identifier",
            "start": 1760,
            "end": 1776,
            "loc": {
              "start": {
                "line": 40,
                "column": 52
              },
              "end": {
                "line": 40,
                "column": 68
              }
            },
            "name": "controlPointHint"
          }
        ],
        "body": {
          "type": "BlockStatement",
          "start": 1778,
          "end": 2472,
          "loc": {
            "start": {
              "line": 40,
              "column": 70
            },
            "end": {
              "line": 55,
              "column": 1
            }
          },
          "body": [
            {
              "type": "VariableDeclaration",
              "start": 1784,
              "end": 1839,
              "loc": {
                "start": {
                  "line": 41,
                  "column": 4
                },
                "end": {
                  "line": 41,
                  "column": 59
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 1788,
                  "end": 1838,
                  "loc": {
                    "start": {
                      "line": 41,
                      "column": 8
                    },
                    "end": {
                      "line": 41,
                      "column": 58
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 1788,
                    "end": 1791,
                    "loc": {
                      "start": {
                        "line": 41,
                        "column": 8
                      },
                      "end": {
                        "line": 41,
                        "column": 11
                      }
                    },
                    "name": "mid"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 1794,
                    "end": 1838,
                    "loc": {
                      "start": {
                        "line": 41,
                        "column": 14
                      },
                      "end": {
                        "line": 41,
                        "column": 58
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 1794,
                      "end": 1835,
                      "loc": {
                        "start": {
                          "line": 41,
                          "column": 14
                        },
                        "end": {
                          "line": 41,
                          "column": 55
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 1794,
                        "end": 1822,
                        "loc": {
                          "start": {
                            "line": 41,
                            "column": 14
                          },
                          "end": {
                            "line": 41,
                            "column": 42
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1794,
                          "end": 1812,
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 14
                            },
                            "end": {
                              "line": 41,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 1794,
                            "end": 1808,
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 14
                              },
                              "end": {
                                "line": 41,
                                "column": 28
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 1794,
                              "end": 1806,
                              "loc": {
                                "start": {
                                  "line": 41,
                                  "column": 14
                                },
                                "end": {
                                  "line": 41,
                                  "column": 26
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1794,
                                "end": 1800,
                                "loc": {
                                  "start": {
                                    "line": 41,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 41,
                                    "column": 20
                                  }
                                },
                                "name": "endPos"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1801,
                                "end": 1806,
                                "loc": {
                                  "start": {
                                    "line": 41,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 41,
                                    "column": 26
                                  }
                                },
                                "name": "clone"
                              },
                              "computed": false
                            },
                            "arguments": []
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1809,
                            "end": 1812,
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 29
                              },
                              "end": {
                                "line": 41,
                                "column": 32
                              }
                            },
                            "name": "add"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 1813,
                            "end": 1821,
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 33
                              },
                              "end": {
                                "line": 41,
                                "column": 41
                              }
                            },
                            "name": "startPos"
                          }
                        ]
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 1823,
                        "end": 1835,
                        "loc": {
                          "start": {
                            "line": 41,
                            "column": 43
                          },
                          "end": {
                            "line": 41,
                            "column": 55
                          }
                        },
                        "name": "divideScalar"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Literal",
                        "start": 1836,
                        "end": 1837,
                        "loc": {
                          "start": {
                            "line": 41,
                            "column": 56
                          },
                          "end": {
                            "line": 41,
                            "column": 57
                          }
                        },
                        "value": 2,
                        "rawValue": 2,
                        "raw": "2"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 1844,
              "end": 1883,
              "loc": {
                "start": {
                  "line": 42,
                  "column": 4
                },
                "end": {
                  "line": 42,
                  "column": 43
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 1848,
                  "end": 1882,
                  "loc": {
                    "start": {
                      "line": 42,
                      "column": 8
                    },
                    "end": {
                      "line": 42,
                      "column": 42
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 1848,
                    "end": 1851,
                    "loc": {
                      "start": {
                        "line": 42,
                        "column": 8
                      },
                      "end": {
                        "line": 42,
                        "column": 11
                      }
                    },
                    "name": "dir"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 1854,
                    "end": 1882,
                    "loc": {
                      "start": {
                        "line": 42,
                        "column": 14
                      },
                      "end": {
                        "line": 42,
                        "column": 42
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 1854,
                      "end": 1872,
                      "loc": {
                        "start": {
                          "line": 42,
                          "column": 14
                        },
                        "end": {
                          "line": 42,
                          "column": 32
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 1854,
                        "end": 1868,
                        "loc": {
                          "start": {
                            "line": 42,
                            "column": 14
                          },
                          "end": {
                            "line": 42,
                            "column": 28
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1854,
                          "end": 1866,
                          "loc": {
                            "start": {
                              "line": 42,
                              "column": 14
                            },
                            "end": {
                              "line": 42,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1854,
                            "end": 1860,
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 14
                              },
                              "end": {
                                "line": 42,
                                "column": 20
                              }
                            },
                            "name": "endPos"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1861,
                            "end": 1866,
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 21
                              },
                              "end": {
                                "line": 42,
                                "column": 26
                              }
                            },
                            "name": "clone"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 1869,
                        "end": 1872,
                        "loc": {
                          "start": {
                            "line": 42,
                            "column": 29
                          },
                          "end": {
                            "line": 42,
                            "column": 32
                          }
                        },
                        "name": "sub"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 1873,
                        "end": 1881,
                        "loc": {
                          "start": {
                            "line": 42,
                            "column": 33
                          },
                          "end": {
                            "line": 42,
                            "column": 41
                          }
                        },
                        "name": "startPos"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 1888,
              "end": 1936,
              "loc": {
                "start": {
                  "line": 43,
                  "column": 4
                },
                "end": {
                  "line": 43,
                  "column": 52
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 1892,
                  "end": 1935,
                  "loc": {
                    "start": {
                      "line": 43,
                      "column": 8
                    },
                    "end": {
                      "line": 43,
                      "column": 51
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 1892,
                    "end": 1895,
                    "loc": {
                      "start": {
                        "line": 43,
                        "column": 8
                      },
                      "end": {
                        "line": 43,
                        "column": 11
                      }
                    },
                    "name": "per"
                  },
                  "init": {
                    "type": "NewExpression",
                    "start": 1898,
                    "end": 1935,
                    "loc": {
                      "start": {
                        "line": 43,
                        "column": 14
                      },
                      "end": {
                        "line": 43,
                        "column": 51
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 1902,
                      "end": 1915,
                      "loc": {
                        "start": {
                          "line": 43,
                          "column": 18
                        },
                        "end": {
                          "line": 43,
                          "column": 31
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 1902,
                        "end": 1907,
                        "loc": {
                          "start": {
                            "line": 43,
                            "column": 18
                          },
                          "end": {
                            "line": 43,
                            "column": 23
                          }
                        },
                        "name": "THREE"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 1908,
                        "end": 1915,
                        "loc": {
                          "start": {
                            "line": 43,
                            "column": 24
                          },
                          "end": {
                            "line": 43,
                            "column": 31
                          }
                        },
                        "name": "Vector3"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "UnaryExpression",
                        "start": 1916,
                        "end": 1922,
                        "loc": {
                          "start": {
                            "line": 43,
                            "column": 32
                          },
                          "end": {
                            "line": 43,
                            "column": 38
                          }
                        },
                        "operator": "-",
                        "prefix": true,
                        "argument": {
                          "type": "MemberExpression",
                          "start": 1917,
                          "end": 1922,
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 33
                            },
                            "end": {
                              "line": 43,
                              "column": 38
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1917,
                            "end": 1920,
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 33
                              },
                              "end": {
                                "line": 43,
                                "column": 36
                              }
                            },
                            "name": "dir"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1921,
                            "end": 1922,
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 37
                              },
                              "end": {
                                "line": 43,
                                "column": 38
                              }
                            },
                            "name": "y"
                          },
                          "computed": false
                        }
                      },
                      {
                        "type": "MemberExpression",
                        "start": 1924,
                        "end": 1929,
                        "loc": {
                          "start": {
                            "line": 43,
                            "column": 40
                          },
                          "end": {
                            "line": 43,
                            "column": 45
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 1924,
                          "end": 1927,
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 40
                            },
                            "end": {
                              "line": 43,
                              "column": 43
                            }
                          },
                          "name": "dir"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1928,
                          "end": 1929,
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 44
                            },
                            "end": {
                              "line": 43,
                              "column": 45
                            }
                          },
                          "name": "x"
                        },
                        "computed": false
                      },
                      {
                        "type": "Literal",
                        "start": 1931,
                        "end": 1934,
                        "loc": {
                          "start": {
                            "line": 43,
                            "column": 47
                          },
                          "end": {
                            "line": 43,
                            "column": 50
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0.0"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 1941,
              "end": 1991,
              "loc": {
                "start": {
                  "line": 44,
                  "column": 4
                },
                "end": {
                  "line": 44,
                  "column": 54
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 1945,
                  "end": 1990,
                  "loc": {
                    "start": {
                      "line": 44,
                      "column": 8
                    },
                    "end": {
                      "line": 44,
                      "column": 53
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 1945,
                    "end": 1954,
                    "loc": {
                      "start": {
                        "line": 44,
                        "column": 8
                      },
                      "end": {
                        "line": 44,
                        "column": 17
                      }
                    },
                    "name": "dirMidPos"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 1957,
                    "end": 1990,
                    "loc": {
                      "start": {
                        "line": 44,
                        "column": 20
                      },
                      "end": {
                        "line": 44,
                        "column": 53
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 1957,
                      "end": 1985,
                      "loc": {
                        "start": {
                          "line": 44,
                          "column": 20
                        },
                        "end": {
                          "line": 44,
                          "column": 48
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 1957,
                        "end": 1981,
                        "loc": {
                          "start": {
                            "line": 44,
                            "column": 20
                          },
                          "end": {
                            "line": 44,
                            "column": 44
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1957,
                          "end": 1979,
                          "loc": {
                            "start": {
                              "line": 44,
                              "column": 20
                            },
                            "end": {
                              "line": 44,
                              "column": 42
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1957,
                            "end": 1973,
                            "loc": {
                              "start": {
                                "line": 44,
                                "column": 20
                              },
                              "end": {
                                "line": 44,
                                "column": 36
                              }
                            },
                            "name": "controlPointHint"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1974,
                            "end": 1979,
                            "loc": {
                              "start": {
                                "line": 44,
                                "column": 37
                              },
                              "end": {
                                "line": 44,
                                "column": 42
                              }
                            },
                            "name": "clone"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 1982,
                        "end": 1985,
                        "loc": {
                          "start": {
                            "line": 44,
                            "column": 45
                          },
                          "end": {
                            "line": 44,
                            "column": 48
                          }
                        },
                        "name": "sub"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 1986,
                        "end": 1989,
                        "loc": {
                          "start": {
                            "line": 44,
                            "column": 49
                          },
                          "end": {
                            "line": 44,
                            "column": 52
                          }
                        },
                        "name": "mid"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 1996,
              "end": 2052,
              "loc": {
                "start": {
                  "line": 45,
                  "column": 4
                },
                "end": {
                  "line": 45,
                  "column": 60
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 2000,
                  "end": 2051,
                  "loc": {
                    "start": {
                      "line": 45,
                      "column": 8
                    },
                    "end": {
                      "line": 45,
                      "column": 59
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 2000,
                    "end": 2010,
                    "loc": {
                      "start": {
                        "line": 45,
                        "column": 8
                      },
                      "end": {
                        "line": 45,
                        "column": 18
                      }
                    },
                    "name": "dirMidCtrl"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 2013,
                    "end": 2051,
                    "loc": {
                      "start": {
                        "line": 45,
                        "column": 21
                      },
                      "end": {
                        "line": 45,
                        "column": 59
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 2013,
                      "end": 2046,
                      "loc": {
                        "start": {
                          "line": 45,
                          "column": 21
                        },
                        "end": {
                          "line": 45,
                          "column": 54
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 2013,
                        "end": 2030,
                        "loc": {
                          "start": {
                            "line": 45,
                            "column": 21
                          },
                          "end": {
                            "line": 45,
                            "column": 38
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2013,
                          "end": 2028,
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 21
                            },
                            "end": {
                              "line": 45,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2013,
                            "end": 2022,
                            "loc": {
                              "start": {
                                "line": 45,
                                "column": 21
                              },
                              "end": {
                                "line": 45,
                                "column": 30
                              }
                            },
                            "name": "dirMidPos"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2023,
                            "end": 2028,
                            "loc": {
                              "start": {
                                "line": 45,
                                "column": 31
                              },
                              "end": {
                                "line": 45,
                                "column": 36
                              }
                            },
                            "name": "clone"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 2031,
                        "end": 2046,
                        "loc": {
                          "start": {
                            "line": 45,
                            "column": 39
                          },
                          "end": {
                            "line": 45,
                            "column": 54
                          }
                        },
                        "name": "projectOnVector"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 2047,
                        "end": 2050,
                        "loc": {
                          "start": {
                            "line": 45,
                            "column": 55
                          },
                          "end": {
                            "line": 45,
                            "column": 58
                          }
                        },
                        "name": "per"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 2057,
              "end": 2090,
              "loc": {
                "start": {
                  "line": 46,
                  "column": 4
                },
                "end": {
                  "line": 46,
                  "column": 37
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 2061,
                  "end": 2089,
                  "loc": {
                    "start": {
                      "line": 46,
                      "column": 8
                    },
                    "end": {
                      "line": 46,
                      "column": 36
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 2061,
                    "end": 2067,
                    "loc": {
                      "start": {
                        "line": 46,
                        "column": 8
                      },
                      "end": {
                        "line": 46,
                        "column": 14
                      }
                    },
                    "name": "height"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 2070,
                    "end": 2089,
                    "loc": {
                      "start": {
                        "line": 46,
                        "column": 17
                      },
                      "end": {
                        "line": 46,
                        "column": 36
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 2070,
                      "end": 2087,
                      "loc": {
                        "start": {
                          "line": 46,
                          "column": 17
                        },
                        "end": {
                          "line": 46,
                          "column": 34
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 2070,
                        "end": 2080,
                        "loc": {
                          "start": {
                            "line": 46,
                            "column": 17
                          },
                          "end": {
                            "line": 46,
                            "column": 27
                          }
                        },
                        "name": "dirMidCtrl"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 2081,
                        "end": 2087,
                        "loc": {
                          "start": {
                            "line": 46,
                            "column": 28
                          },
                          "end": {
                            "line": 46,
                            "column": 34
                          }
                        },
                        "name": "length"
                      },
                      "computed": false
                    },
                    "arguments": []
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "IfStatement",
              "start": 2095,
              "end": 2161,
              "loc": {
                "start": {
                  "line": 47,
                  "column": 4
                },
                "end": {
                  "line": 48,
                  "column": 46
                }
              },
              "test": {
                "type": "BinaryExpression",
                "start": 2099,
                "end": 2113,
                "loc": {
                  "start": {
                    "line": 47,
                    "column": 8
                  },
                  "end": {
                    "line": 47,
                    "column": 22
                  }
                },
                "left": {
                  "type": "Identifier",
                  "start": 2099,
                  "end": 2105,
                  "loc": {
                    "start": {
                      "line": 47,
                      "column": 8
                    },
                    "end": {
                      "line": 47,
                      "column": 14
                    }
                  },
                  "name": "height"
                },
                "operator": "<=",
                "right": {
                  "type": "Literal",
                  "start": 2109,
                  "end": 2113,
                  "loc": {
                    "start": {
                      "line": 47,
                      "column": 18
                    },
                    "end": {
                      "line": 47,
                      "column": 22
                    }
                  },
                  "value": 0.001,
                  "rawValue": 0.001,
                  "raw": "1e-3"
                }
              },
              "consequent": {
                "type": "ReturnStatement",
                "start": 2123,
                "end": 2161,
                "loc": {
                  "start": {
                    "line": 48,
                    "column": 8
                  },
                  "end": {
                    "line": 48,
                    "column": 46
                  }
                },
                "argument": {
                  "type": "ObjectExpression",
                  "start": 2130,
                  "end": 2160,
                  "loc": {
                    "start": {
                      "line": 48,
                      "column": 15
                    },
                    "end": {
                      "line": 48,
                      "column": 45
                    }
                  },
                  "properties": [
                    {
                      "type": "Property",
                      "start": 2131,
                      "end": 2146,
                      "loc": {
                        "start": {
                          "line": 48,
                          "column": 16
                        },
                        "end": {
                          "line": 48,
                          "column": 31
                        }
                      },
                      "method": false,
                      "shorthand": false,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 2131,
                        "end": 2136,
                        "loc": {
                          "start": {
                            "line": 48,
                            "column": 16
                          },
                          "end": {
                            "line": 48,
                            "column": 21
                          }
                        },
                        "name": "start"
                      },
                      "value": {
                        "type": "Identifier",
                        "start": 2138,
                        "end": 2146,
                        "loc": {
                          "start": {
                            "line": 48,
                            "column": 23
                          },
                          "end": {
                            "line": 48,
                            "column": 31
                          }
                        },
                        "name": "startPos"
                      },
                      "kind": "init"
                    },
                    {
                      "type": "Property",
                      "start": 2148,
                      "end": 2159,
                      "loc": {
                        "start": {
                          "line": 48,
                          "column": 33
                        },
                        "end": {
                          "line": 48,
                          "column": 44
                        }
                      },
                      "method": false,
                      "shorthand": false,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 2148,
                        "end": 2151,
                        "loc": {
                          "start": {
                            "line": 48,
                            "column": 33
                          },
                          "end": {
                            "line": 48,
                            "column": 36
                          }
                        },
                        "name": "end"
                      },
                      "value": {
                        "type": "Identifier",
                        "start": 2153,
                        "end": 2159,
                        "loc": {
                          "start": {
                            "line": 48,
                            "column": 38
                          },
                          "end": {
                            "line": 48,
                            "column": 44
                          }
                        },
                        "name": "endPos"
                      },
                      "kind": "init"
                    }
                  ]
                }
              },
              "alternate": null
            },
            {
              "type": "VariableDeclaration",
              "start": 2166,
              "end": 2200,
              "loc": {
                "start": {
                  "line": 49,
                  "column": 4
                },
                "end": {
                  "line": 49,
                  "column": 38
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 2170,
                  "end": 2199,
                  "loc": {
                    "start": {
                      "line": 49,
                      "column": 8
                    },
                    "end": {
                      "line": 49,
                      "column": 37
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 2170,
                    "end": 2178,
                    "loc": {
                      "start": {
                        "line": 49,
                        "column": 8
                      },
                      "end": {
                        "line": 49,
                        "column": 16
                      }
                    },
                    "name": "halfDist"
                  },
                  "init": {
                    "type": "BinaryExpression",
                    "start": 2181,
                    "end": 2199,
                    "loc": {
                      "start": {
                        "line": 49,
                        "column": 19
                      },
                      "end": {
                        "line": 49,
                        "column": 37
                      }
                    },
                    "left": {
                      "type": "CallExpression",
                      "start": 2181,
                      "end": 2193,
                      "loc": {
                        "start": {
                          "line": 49,
                          "column": 19
                        },
                        "end": {
                          "line": 49,
                          "column": 31
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 2181,
                        "end": 2191,
                        "loc": {
                          "start": {
                            "line": 49,
                            "column": 19
                          },
                          "end": {
                            "line": 49,
                            "column": 29
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 2181,
                          "end": 2184,
                          "loc": {
                            "start": {
                              "line": 49,
                              "column": 19
                            },
                            "end": {
                              "line": 49,
                              "column": 22
                            }
                          },
                          "name": "dir"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 2185,
                          "end": 2191,
                          "loc": {
                            "start": {
                              "line": 49,
                              "column": 23
                            },
                            "end": {
                              "line": 49,
                              "column": 29
                            }
                          },
                          "name": "length"
                        },
                        "computed": false
                      },
                      "arguments": []
                    },
                    "operator": "/",
                    "right": {
                      "type": "Literal",
                      "start": 2196,
                      "end": 2199,
                      "loc": {
                        "start": {
                          "line": 49,
                          "column": 34
                        },
                        "end": {
                          "line": 49,
                          "column": 37
                        }
                      },
                      "value": 2,
                      "rawValue": 2,
                      "raw": "2.0"
                    }
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 2205,
              "end": 2260,
              "loc": {
                "start": {
                  "line": 50,
                  "column": 4
                },
                "end": {
                  "line": 50,
                  "column": 59
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 2209,
                  "end": 2259,
                  "loc": {
                    "start": {
                      "line": 50,
                      "column": 8
                    },
                    "end": {
                      "line": 50,
                      "column": 58
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 2209,
                    "end": 2214,
                    "loc": {
                      "start": {
                        "line": 50,
                        "column": 8
                      },
                      "end": {
                        "line": 50,
                        "column": 13
                      }
                    },
                    "name": "coeff"
                  },
                  "init": {
                    "type": "BinaryExpression",
                    "start": 2217,
                    "end": 2259,
                    "loc": {
                      "start": {
                        "line": 50,
                        "column": 16
                      },
                      "end": {
                        "line": 50,
                        "column": 58
                      }
                    },
                    "left": {
                      "type": "UnaryExpression",
                      "start": 2217,
                      "end": 2239,
                      "loc": {
                        "start": {
                          "line": 50,
                          "column": 16
                        },
                        "end": {
                          "line": 50,
                          "column": 38
                        }
                      },
                      "operator": "-",
                      "prefix": true,
                      "argument": {
                        "type": "BinaryExpression",
                        "start": 2219,
                        "end": 2238,
                        "loc": {
                          "start": {
                            "line": 50,
                            "column": 18
                          },
                          "end": {
                            "line": 50,
                            "column": 37
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 2219,
                          "end": 2227,
                          "loc": {
                            "start": {
                              "line": 50,
                              "column": 18
                            },
                            "end": {
                              "line": 50,
                              "column": 26
                            }
                          },
                          "name": "halfDist"
                        },
                        "operator": "*",
                        "right": {
                          "type": "Identifier",
                          "start": 2230,
                          "end": 2238,
                          "loc": {
                            "start": {
                              "line": 50,
                              "column": 29
                            },
                            "end": {
                              "line": 50,
                              "column": 37
                            }
                          },
                          "name": "halfDist"
                        },
                        "parenthesizedExpression": true
                      }
                    },
                    "operator": "/",
                    "right": {
                      "type": "BinaryExpression",
                      "start": 2243,
                      "end": 2258,
                      "loc": {
                        "start": {
                          "line": 50,
                          "column": 42
                        },
                        "end": {
                          "line": 50,
                          "column": 57
                        }
                      },
                      "left": {
                        "type": "Identifier",
                        "start": 2243,
                        "end": 2249,
                        "loc": {
                          "start": {
                            "line": 50,
                            "column": 42
                          },
                          "end": {
                            "line": 50,
                            "column": 48
                          }
                        },
                        "name": "height"
                      },
                      "operator": "*",
                      "right": {
                        "type": "Identifier",
                        "start": 2252,
                        "end": 2258,
                        "loc": {
                          "start": {
                            "line": 50,
                            "column": 51
                          },
                          "end": {
                            "line": 50,
                            "column": 57
                          }
                        },
                        "name": "height"
                      },
                      "parenthesizedExpression": true
                    }
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 2265,
              "end": 2325,
              "loc": {
                "start": {
                  "line": 51,
                  "column": 4
                },
                "end": {
                  "line": 51,
                  "column": 64
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 2269,
                  "end": 2324,
                  "loc": {
                    "start": {
                      "line": 51,
                      "column": 8
                    },
                    "end": {
                      "line": 51,
                      "column": 63
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 2269,
                    "end": 2272,
                    "loc": {
                      "start": {
                        "line": 51,
                        "column": 8
                      },
                      "end": {
                        "line": 51,
                        "column": 11
                      }
                    },
                    "name": "ctr"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 2275,
                    "end": 2324,
                    "loc": {
                      "start": {
                        "line": 51,
                        "column": 14
                      },
                      "end": {
                        "line": 51,
                        "column": 63
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 2275,
                      "end": 2319,
                      "loc": {
                        "start": {
                          "line": 51,
                          "column": 14
                        },
                        "end": {
                          "line": 51,
                          "column": 58
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 2275,
                        "end": 2315,
                        "loc": {
                          "start": {
                            "line": 51,
                            "column": 14
                          },
                          "end": {
                            "line": 51,
                            "column": 54
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2275,
                          "end": 2308,
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 14
                            },
                            "end": {
                              "line": 51,
                              "column": 47
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 2275,
                            "end": 2293,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 14
                              },
                              "end": {
                                "line": 51,
                                "column": 32
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 2275,
                              "end": 2291,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 14
                                },
                                "end": {
                                  "line": 51,
                                  "column": 30
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 2275,
                                "end": 2285,
                                "loc": {
                                  "start": {
                                    "line": 51,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 51,
                                    "column": 24
                                  }
                                },
                                "name": "dirMidCtrl"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2286,
                                "end": 2291,
                                "loc": {
                                  "start": {
                                    "line": 51,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 51,
                                    "column": 30
                                  }
                                },
                                "name": "clone"
                              },
                              "computed": false
                            },
                            "arguments": []
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2294,
                            "end": 2308,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 33
                              },
                              "end": {
                                "line": 51,
                                "column": 47
                              }
                            },
                            "name": "multiplyScalar"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 2309,
                            "end": 2314,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 48
                              },
                              "end": {
                                "line": 51,
                                "column": 53
                              }
                            },
                            "name": "coeff"
                          }
                        ]
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 2316,
                        "end": 2319,
                        "loc": {
                          "start": {
                            "line": 51,
                            "column": 55
                          },
                          "end": {
                            "line": 51,
                            "column": 58
                          }
                        },
                        "name": "add"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 2320,
                        "end": 2323,
                        "loc": {
                          "start": {
                            "line": 51,
                            "column": 59
                          },
                          "end": {
                            "line": 51,
                            "column": 62
                          }
                        },
                        "name": "mid"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 2330,
              "end": 2359,
              "loc": {
                "start": {
                  "line": 52,
                  "column": 4
                },
                "end": {
                  "line": 52,
                  "column": 33
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 2334,
                  "end": 2358,
                  "loc": {
                    "start": {
                      "line": 52,
                      "column": 8
                    },
                    "end": {
                      "line": 52,
                      "column": 32
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 2334,
                    "end": 2337,
                    "loc": {
                      "start": {
                        "line": 52,
                        "column": 8
                      },
                      "end": {
                        "line": 52,
                        "column": 11
                      }
                    },
                    "name": "dot"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 2340,
                    "end": 2358,
                    "loc": {
                      "start": {
                        "line": 52,
                        "column": 14
                      },
                      "end": {
                        "line": 52,
                        "column": 32
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 2340,
                      "end": 2353,
                      "loc": {
                        "start": {
                          "line": 52,
                          "column": 14
                        },
                        "end": {
                          "line": 52,
                          "column": 27
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 2340,
                        "end": 2349,
                        "loc": {
                          "start": {
                            "line": 52,
                            "column": 14
                          },
                          "end": {
                            "line": 52,
                            "column": 23
                          }
                        },
                        "name": "dirMidPos"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 2350,
                        "end": 2353,
                        "loc": {
                          "start": {
                            "line": 52,
                            "column": 24
                          },
                          "end": {
                            "line": 52,
                            "column": 27
                          }
                        },
                        "name": "dot"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 2354,
                        "end": 2357,
                        "loc": {
                          "start": {
                            "line": 52,
                            "column": 28
                          },
                          "end": {
                            "line": 52,
                            "column": 31
                          }
                        },
                        "name": "per"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 2364,
              "end": 2392,
              "loc": {
                "start": {
                  "line": 53,
                  "column": 4
                },
                "end": {
                  "line": 53,
                  "column": 32
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 2368,
                  "end": 2391,
                  "loc": {
                    "start": {
                      "line": 53,
                      "column": 8
                    },
                    "end": {
                      "line": 53,
                      "column": 31
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 2368,
                    "end": 2377,
                    "loc": {
                      "start": {
                        "line": 53,
                        "column": 8
                      },
                      "end": {
                        "line": 53,
                        "column": 17
                      }
                    },
                    "name": "clockwise"
                  },
                  "init": {
                    "type": "BinaryExpression",
                    "start": 2381,
                    "end": 2390,
                    "loc": {
                      "start": {
                        "line": 53,
                        "column": 21
                      },
                      "end": {
                        "line": 53,
                        "column": 30
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 2381,
                      "end": 2384,
                      "loc": {
                        "start": {
                          "line": 53,
                          "column": 21
                        },
                        "end": {
                          "line": 53,
                          "column": 24
                        }
                      },
                      "name": "dot"
                    },
                    "operator": ">",
                    "right": {
                      "type": "Literal",
                      "start": 2387,
                      "end": 2390,
                      "loc": {
                        "start": {
                          "line": 53,
                          "column": 27
                        },
                        "end": {
                          "line": 53,
                          "column": 30
                        }
                      },
                      "value": 0,
                      "rawValue": 0,
                      "raw": "0.0"
                    },
                    "parenthesizedExpression": true
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "ReturnStatement",
              "start": 2397,
              "end": 2470,
              "loc": {
                "start": {
                  "line": 54,
                  "column": 4
                },
                "end": {
                  "line": 54,
                  "column": 77
                }
              },
              "argument": {
                "type": "ObjectExpression",
                "start": 2404,
                "end": 2469,
                "loc": {
                  "start": {
                    "line": 54,
                    "column": 11
                  },
                  "end": {
                    "line": 54,
                    "column": 76
                  }
                },
                "properties": [
                  {
                    "type": "Property",
                    "start": 2405,
                    "end": 2420,
                    "loc": {
                      "start": {
                        "line": 54,
                        "column": 12
                      },
                      "end": {
                        "line": 54,
                        "column": 27
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 2405,
                      "end": 2410,
                      "loc": {
                        "start": {
                          "line": 54,
                          "column": 12
                        },
                        "end": {
                          "line": 54,
                          "column": 17
                        }
                      },
                      "name": "start"
                    },
                    "value": {
                      "type": "Identifier",
                      "start": 2412,
                      "end": 2420,
                      "loc": {
                        "start": {
                          "line": 54,
                          "column": 19
                        },
                        "end": {
                          "line": 54,
                          "column": 27
                        }
                      },
                      "name": "startPos"
                    },
                    "kind": "init"
                  },
                  {
                    "type": "Property",
                    "start": 2422,
                    "end": 2433,
                    "loc": {
                      "start": {
                        "line": 54,
                        "column": 29
                      },
                      "end": {
                        "line": 54,
                        "column": 40
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 2422,
                      "end": 2425,
                      "loc": {
                        "start": {
                          "line": 54,
                          "column": 29
                        },
                        "end": {
                          "line": 54,
                          "column": 32
                        }
                      },
                      "name": "end"
                    },
                    "value": {
                      "type": "Identifier",
                      "start": 2427,
                      "end": 2433,
                      "loc": {
                        "start": {
                          "line": 54,
                          "column": 34
                        },
                        "end": {
                          "line": 54,
                          "column": 40
                        }
                      },
                      "name": "endPos"
                    },
                    "kind": "init"
                  },
                  {
                    "type": "Property",
                    "start": 2435,
                    "end": 2446,
                    "loc": {
                      "start": {
                        "line": 54,
                        "column": 42
                      },
                      "end": {
                        "line": 54,
                        "column": 53
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 2435,
                      "end": 2441,
                      "loc": {
                        "start": {
                          "line": 54,
                          "column": 42
                        },
                        "end": {
                          "line": 54,
                          "column": 48
                        }
                      },
                      "name": "center"
                    },
                    "value": {
                      "type": "Identifier",
                      "start": 2443,
                      "end": 2446,
                      "loc": {
                        "start": {
                          "line": 54,
                          "column": 50
                        },
                        "end": {
                          "line": 54,
                          "column": 53
                        }
                      },
                      "name": "ctr"
                    },
                    "kind": "init"
                  },
                  {
                    "type": "Property",
                    "start": 2448,
                    "end": 2468,
                    "loc": {
                      "start": {
                        "line": 54,
                        "column": 55
                      },
                      "end": {
                        "line": 54,
                        "column": 75
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 2448,
                      "end": 2457,
                      "loc": {
                        "start": {
                          "line": 54,
                          "column": 55
                        },
                        "end": {
                          "line": 54,
                          "column": 64
                        }
                      },
                      "name": "clockwise"
                    },
                    "value": {
                      "type": "Identifier",
                      "start": 2459,
                      "end": 2468,
                      "loc": {
                        "start": {
                          "line": 54,
                          "column": 66
                        },
                        "end": {
                          "line": 54,
                          "column": 75
                        }
                      },
                      "name": "clockwise"
                    },
                    "kind": "init"
                  }
                ]
              }
            }
          ],
          "trailingComments": null
        },
        "leadingComments": [
          {
            "type": "CommentLine",
            "value": "Note: position of control point is only partly used and may change",
            "start": 1639,
            "end": 1707,
            "loc": {
              "start": {
                "line": 39,
                "column": 0
              },
              "end": {
                "line": 39,
                "column": 68
              }
            },
            "range": [
              1639,
              1707
            ]
          }
        ],
        "trailingComments": [
          {
            "type": "CommentLine",
            "value": "Note: middle point should be within circlewith diameter [SE], otherwise it would be corrected",
            "start": 2474,
            "end": 2569,
            "loc": {
              "start": {
                "line": 57,
                "column": 0
              },
              "end": {
                "line": 57,
                "column": 95
              }
            },
            "range": [
              2474,
              2569
            ]
          }
        ]
      },
      "specifiers": [],
      "source": null,
      "leadingComments": [
        {
          "type": "CommentLine",
          "value": "Note: position of control point is only partly used and may change",
          "start": 1639,
          "end": 1707,
          "loc": {
            "start": {
              "line": 39,
              "column": 0
            },
            "end": {
              "line": 39,
              "column": 68
            }
          },
          "range": [
            1639,
            1707
          ]
        }
      ],
      "trailingComments": [
        {
          "type": "CommentLine",
          "value": "Note: middle point should be within circlewith diameter [SE], otherwise it would be corrected",
          "start": 2474,
          "end": 2569,
          "loc": {
            "start": {
              "line": 57,
              "column": 0
            },
            "end": {
              "line": 57,
              "column": 95
            }
          },
          "range": [
            2474,
            2569
          ]
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 2570,
      "end": 4347,
      "loc": {
        "start": {
          "line": 58,
          "column": 0
        },
        "end": {
          "line": 99,
          "column": 1
        }
      },
      "declaration": {
        "type": "FunctionDeclaration",
        "start": 2577,
        "end": 4347,
        "loc": {
          "start": {
            "line": 58,
            "column": 7
          },
          "end": {
            "line": 99,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 2586,
          "end": 2601,
          "loc": {
            "start": {
              "line": 58,
              "column": 16
            },
            "end": {
              "line": 58,
              "column": 31
            }
          },
          "name": "drawArcBy_S_E_M",
          "leadingComments": null
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [
          {
            "type": "Identifier",
            "start": 2602,
            "end": 2610,
            "loc": {
              "start": {
                "line": 58,
                "column": 32
              },
              "end": {
                "line": 58,
                "column": 40
              }
            },
            "name": "startPos"
          },
          {
            "type": "Identifier",
            "start": 2612,
            "end": 2618,
            "loc": {
              "start": {
                "line": 58,
                "column": 42
              },
              "end": {
                "line": 58,
                "column": 48
              }
            },
            "name": "endPos"
          },
          {
            "type": "Identifier",
            "start": 2620,
            "end": 2629,
            "loc": {
              "start": {
                "line": 58,
                "column": 50
              },
              "end": {
                "line": 58,
                "column": 59
              }
            },
            "name": "middlePos"
          }
        ],
        "body": {
          "type": "BlockStatement",
          "start": 2631,
          "end": 4347,
          "loc": {
            "start": {
              "line": 58,
              "column": 61
            },
            "end": {
              "line": 99,
              "column": 1
            }
          },
          "body": [
            {
              "type": "VariableDeclaration",
              "start": 2708,
              "end": 2746,
              "loc": {
                "start": {
                  "line": 60,
                  "column": 4
                },
                "end": {
                  "line": 60,
                  "column": 42
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 2712,
                  "end": 2745,
                  "loc": {
                    "start": {
                      "line": 60,
                      "column": 8
                    },
                    "end": {
                      "line": 60,
                      "column": 41
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 2712,
                    "end": 2715,
                    "loc": {
                      "start": {
                        "line": 60,
                        "column": 8
                      },
                      "end": {
                        "line": 60,
                        "column": 11
                      }
                    },
                    "name": "lSE",
                    "leadingComments": null
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 2718,
                    "end": 2745,
                    "loc": {
                      "start": {
                        "line": 60,
                        "column": 14
                      },
                      "end": {
                        "line": 60,
                        "column": 41
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 2718,
                      "end": 2737,
                      "loc": {
                        "start": {
                          "line": 60,
                          "column": 14
                        },
                        "end": {
                          "line": 60,
                          "column": 33
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 2718,
                        "end": 2726,
                        "loc": {
                          "start": {
                            "line": 60,
                            "column": 14
                          },
                          "end": {
                            "line": 60,
                            "column": 22
                          }
                        },
                        "name": "startPos"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 2727,
                        "end": 2737,
                        "loc": {
                          "start": {
                            "line": 60,
                            "column": 23
                          },
                          "end": {
                            "line": 60,
                            "column": 33
                          }
                        },
                        "name": "distanceTo"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 2738,
                        "end": 2744,
                        "loc": {
                          "start": {
                            "line": 60,
                            "column": 34
                          },
                          "end": {
                            "line": 60,
                            "column": 40
                          }
                        },
                        "name": "endPos"
                      }
                    ]
                  },
                  "leadingComments": null
                }
              ],
              "kind": "var",
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "since vector math is a huge pain in JS, we do it in a stupid way",
                  "start": 2637,
                  "end": 2703,
                  "loc": {
                    "start": {
                      "line": 59,
                      "column": 4
                    },
                    "end": {
                      "line": 59,
                      "column": 70
                    }
                  },
                  "range": [
                    2637,
                    2703
                  ]
                }
              ]
            },
            {
              "type": "VariableDeclaration",
              "start": 2751,
              "end": 2792,
              "loc": {
                "start": {
                  "line": 61,
                  "column": 4
                },
                "end": {
                  "line": 61,
                  "column": 45
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 2755,
                  "end": 2791,
                  "loc": {
                    "start": {
                      "line": 61,
                      "column": 8
                    },
                    "end": {
                      "line": 61,
                      "column": 44
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 2755,
                    "end": 2758,
                    "loc": {
                      "start": {
                        "line": 61,
                        "column": 8
                      },
                      "end": {
                        "line": 61,
                        "column": 11
                      }
                    },
                    "name": "lSM"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 2761,
                    "end": 2791,
                    "loc": {
                      "start": {
                        "line": 61,
                        "column": 14
                      },
                      "end": {
                        "line": 61,
                        "column": 44
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 2761,
                      "end": 2780,
                      "loc": {
                        "start": {
                          "line": 61,
                          "column": 14
                        },
                        "end": {
                          "line": 61,
                          "column": 33
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 2761,
                        "end": 2769,
                        "loc": {
                          "start": {
                            "line": 61,
                            "column": 14
                          },
                          "end": {
                            "line": 61,
                            "column": 22
                          }
                        },
                        "name": "startPos"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 2770,
                        "end": 2780,
                        "loc": {
                          "start": {
                            "line": 61,
                            "column": 23
                          },
                          "end": {
                            "line": 61,
                            "column": 33
                          }
                        },
                        "name": "distanceTo"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 2781,
                        "end": 2790,
                        "loc": {
                          "start": {
                            "line": 61,
                            "column": 34
                          },
                          "end": {
                            "line": 61,
                            "column": 43
                          }
                        },
                        "name": "middlePos"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 2797,
              "end": 2836,
              "loc": {
                "start": {
                  "line": 62,
                  "column": 4
                },
                "end": {
                  "line": 62,
                  "column": 43
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 2801,
                  "end": 2835,
                  "loc": {
                    "start": {
                      "line": 62,
                      "column": 8
                    },
                    "end": {
                      "line": 62,
                      "column": 42
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 2801,
                    "end": 2804,
                    "loc": {
                      "start": {
                        "line": 62,
                        "column": 8
                      },
                      "end": {
                        "line": 62,
                        "column": 11
                      }
                    },
                    "name": "lEM"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 2807,
                    "end": 2835,
                    "loc": {
                      "start": {
                        "line": 62,
                        "column": 14
                      },
                      "end": {
                        "line": 62,
                        "column": 42
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 2807,
                      "end": 2824,
                      "loc": {
                        "start": {
                          "line": 62,
                          "column": 14
                        },
                        "end": {
                          "line": 62,
                          "column": 31
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 2807,
                        "end": 2813,
                        "loc": {
                          "start": {
                            "line": 62,
                            "column": 14
                          },
                          "end": {
                            "line": 62,
                            "column": 20
                          }
                        },
                        "name": "endPos"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 2814,
                        "end": 2824,
                        "loc": {
                          "start": {
                            "line": 62,
                            "column": 21
                          },
                          "end": {
                            "line": 62,
                            "column": 31
                          }
                        },
                        "name": "distanceTo"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 2825,
                        "end": 2834,
                        "loc": {
                          "start": {
                            "line": 62,
                            "column": 32
                          },
                          "end": {
                            "line": 62,
                            "column": 41
                          }
                        },
                        "name": "middlePos"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 2841,
              "end": 2936,
              "loc": {
                "start": {
                  "line": 63,
                  "column": 4
                },
                "end": {
                  "line": 63,
                  "column": 99
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 2845,
                  "end": 2935,
                  "loc": {
                    "start": {
                      "line": 63,
                      "column": 8
                    },
                    "end": {
                      "line": 63,
                      "column": 98
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 2845,
                    "end": 2850,
                    "loc": {
                      "start": {
                        "line": 63,
                        "column": 8
                      },
                      "end": {
                        "line": 63,
                        "column": 13
                      }
                    },
                    "name": "sArea"
                  },
                  "init": {
                    "type": "BinaryExpression",
                    "start": 2853,
                    "end": 2935,
                    "loc": {
                      "start": {
                        "line": 63,
                        "column": 16
                      },
                      "end": {
                        "line": 63,
                        "column": 98
                      }
                    },
                    "left": {
                      "type": "CallExpression",
                      "start": 2853,
                      "end": 2929,
                      "loc": {
                        "start": {
                          "line": 63,
                          "column": 16
                        },
                        "end": {
                          "line": 63,
                          "column": 92
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 2853,
                        "end": 2866,
                        "loc": {
                          "start": {
                            "line": 63,
                            "column": 16
                          },
                          "end": {
                            "line": 63,
                            "column": 29
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 2853,
                          "end": 2858,
                          "loc": {
                            "start": {
                              "line": 63,
                              "column": 16
                            },
                            "end": {
                              "line": 63,
                              "column": 21
                            }
                          },
                          "name": "THREE"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 2859,
                          "end": 2866,
                          "loc": {
                            "start": {
                              "line": 63,
                              "column": 22
                            },
                            "end": {
                              "line": 63,
                              "column": 29
                            }
                          },
                          "name": "cross2d"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "CallExpression",
                          "start": 2867,
                          "end": 2895,
                          "loc": {
                            "start": {
                              "line": 63,
                              "column": 30
                            },
                            "end": {
                              "line": 63,
                              "column": 58
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 2867,
                            "end": 2885,
                            "loc": {
                              "start": {
                                "line": 63,
                                "column": 30
                              },
                              "end": {
                                "line": 63,
                                "column": 48
                              }
                            },
                            "object": {
                              "type": "CallExpression",
                              "start": 2867,
                              "end": 2881,
                              "loc": {
                                "start": {
                                  "line": 63,
                                  "column": 30
                                },
                                "end": {
                                  "line": 63,
                                  "column": 44
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 2867,
                                "end": 2879,
                                "loc": {
                                  "start": {
                                    "line": 63,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 63,
                                    "column": 42
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 2867,
                                  "end": 2873,
                                  "loc": {
                                    "start": {
                                      "line": 63,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 63,
                                      "column": 36
                                    }
                                  },
                                  "name": "endPos"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2874,
                                  "end": 2879,
                                  "loc": {
                                    "start": {
                                      "line": 63,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 63,
                                      "column": 42
                                    }
                                  },
                                  "name": "clone"
                                },
                                "computed": false
                              },
                              "arguments": []
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2882,
                              "end": 2885,
                              "loc": {
                                "start": {
                                  "line": 63,
                                  "column": 45
                                },
                                "end": {
                                  "line": 63,
                                  "column": 48
                                }
                              },
                              "name": "sub"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 2886,
                              "end": 2894,
                              "loc": {
                                "start": {
                                  "line": 63,
                                  "column": 49
                                },
                                "end": {
                                  "line": 63,
                                  "column": 57
                                }
                              },
                              "name": "startPos"
                            }
                          ]
                        },
                        {
                          "type": "CallExpression",
                          "start": 2897,
                          "end": 2928,
                          "loc": {
                            "start": {
                              "line": 63,
                              "column": 60
                            },
                            "end": {
                              "line": 63,
                              "column": 91
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 2897,
                            "end": 2918,
                            "loc": {
                              "start": {
                                "line": 63,
                                "column": 60
                              },
                              "end": {
                                "line": 63,
                                "column": 81
                              }
                            },
                            "object": {
                              "type": "CallExpression",
                              "start": 2897,
                              "end": 2914,
                              "loc": {
                                "start": {
                                  "line": 63,
                                  "column": 60
                                },
                                "end": {
                                  "line": 63,
                                  "column": 77
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 2897,
                                "end": 2912,
                                "loc": {
                                  "start": {
                                    "line": 63,
                                    "column": 60
                                  },
                                  "end": {
                                    "line": 63,
                                    "column": 75
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 2897,
                                  "end": 2906,
                                  "loc": {
                                    "start": {
                                      "line": 63,
                                      "column": 60
                                    },
                                    "end": {
                                      "line": 63,
                                      "column": 69
                                    }
                                  },
                                  "name": "middlePos"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2907,
                                  "end": 2912,
                                  "loc": {
                                    "start": {
                                      "line": 63,
                                      "column": 70
                                    },
                                    "end": {
                                      "line": 63,
                                      "column": 75
                                    }
                                  },
                                  "name": "clone"
                                },
                                "computed": false
                              },
                              "arguments": []
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2915,
                              "end": 2918,
                              "loc": {
                                "start": {
                                  "line": 63,
                                  "column": 78
                                },
                                "end": {
                                  "line": 63,
                                  "column": 81
                                }
                              },
                              "name": "sub"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 2919,
                              "end": 2927,
                              "loc": {
                                "start": {
                                  "line": 63,
                                  "column": 82
                                },
                                "end": {
                                  "line": 63,
                                  "column": 90
                                }
                              },
                              "name": "startPos"
                            }
                          ]
                        }
                      ]
                    },
                    "operator": "/",
                    "right": {
                      "type": "Literal",
                      "start": 2932,
                      "end": 2935,
                      "loc": {
                        "start": {
                          "line": 63,
                          "column": 95
                        },
                        "end": {
                          "line": 63,
                          "column": 98
                        }
                      },
                      "value": 2,
                      "rawValue": 2,
                      "raw": "2.0"
                    }
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 2941,
              "end": 2968,
              "loc": {
                "start": {
                  "line": 64,
                  "column": 4
                },
                "end": {
                  "line": 64,
                  "column": 31
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 2945,
                  "end": 2967,
                  "loc": {
                    "start": {
                      "line": 64,
                      "column": 8
                    },
                    "end": {
                      "line": 64,
                      "column": 30
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 2945,
                    "end": 2949,
                    "loc": {
                      "start": {
                        "line": 64,
                        "column": 8
                      },
                      "end": {
                        "line": 64,
                        "column": 12
                      }
                    },
                    "name": "area"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 2952,
                    "end": 2967,
                    "loc": {
                      "start": {
                        "line": 64,
                        "column": 15
                      },
                      "end": {
                        "line": 64,
                        "column": 30
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 2952,
                      "end": 2960,
                      "loc": {
                        "start": {
                          "line": 64,
                          "column": 15
                        },
                        "end": {
                          "line": 64,
                          "column": 23
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 2952,
                        "end": 2956,
                        "loc": {
                          "start": {
                            "line": 64,
                            "column": 15
                          },
                          "end": {
                            "line": 64,
                            "column": 19
                          }
                        },
                        "name": "Math"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 2957,
                        "end": 2960,
                        "loc": {
                          "start": {
                            "line": 64,
                            "column": 20
                          },
                          "end": {
                            "line": 64,
                            "column": 23
                          }
                        },
                        "name": "abs"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 2961,
                        "end": 2966,
                        "loc": {
                          "start": {
                            "line": 64,
                            "column": 24
                          },
                          "end": {
                            "line": 64,
                            "column": 29
                          }
                        },
                        "name": "sArea"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "IfStatement",
              "start": 2973,
              "end": 3050,
              "loc": {
                "start": {
                  "line": 65,
                  "column": 4
                },
                "end": {
                  "line": 66,
                  "column": 46
                }
              },
              "test": {
                "type": "BinaryExpression",
                "start": 2977,
                "end": 3002,
                "loc": {
                  "start": {
                    "line": 65,
                    "column": 8
                  },
                  "end": {
                    "line": 65,
                    "column": 33
                  }
                },
                "left": {
                  "type": "Identifier",
                  "start": 2977,
                  "end": 2981,
                  "loc": {
                    "start": {
                      "line": 65,
                      "column": 8
                    },
                    "end": {
                      "line": 65,
                      "column": 12
                    }
                  },
                  "name": "area"
                },
                "operator": "<=",
                "right": {
                  "type": "BinaryExpression",
                  "start": 2985,
                  "end": 3002,
                  "loc": {
                    "start": {
                      "line": 65,
                      "column": 16
                    },
                    "end": {
                      "line": 65,
                      "column": 33
                    }
                  },
                  "left": {
                    "type": "BinaryExpression",
                    "start": 2985,
                    "end": 2995,
                    "loc": {
                      "start": {
                        "line": 65,
                        "column": 16
                      },
                      "end": {
                        "line": 65,
                        "column": 26
                      }
                    },
                    "left": {
                      "type": "Literal",
                      "start": 2985,
                      "end": 2989,
                      "loc": {
                        "start": {
                          "line": 65,
                          "column": 16
                        },
                        "end": {
                          "line": 65,
                          "column": 20
                        }
                      },
                      "value": 0.001,
                      "rawValue": 0.001,
                      "raw": "1e-3"
                    },
                    "operator": "*",
                    "right": {
                      "type": "Identifier",
                      "start": 2992,
                      "end": 2995,
                      "loc": {
                        "start": {
                          "line": 65,
                          "column": 23
                        },
                        "end": {
                          "line": 65,
                          "column": 26
                        }
                      },
                      "name": "lSE"
                    }
                  },
                  "operator": "+",
                  "right": {
                    "type": "Literal",
                    "start": 2998,
                    "end": 3002,
                    "loc": {
                      "start": {
                        "line": 65,
                        "column": 29
                      },
                      "end": {
                        "line": 65,
                        "column": 33
                      }
                    },
                    "value": 0.001,
                    "rawValue": 0.001,
                    "raw": "1e-3"
                  }
                }
              },
              "consequent": {
                "type": "ReturnStatement",
                "start": 3012,
                "end": 3050,
                "loc": {
                  "start": {
                    "line": 66,
                    "column": 8
                  },
                  "end": {
                    "line": 66,
                    "column": 46
                  }
                },
                "argument": {
                  "type": "ObjectExpression",
                  "start": 3019,
                  "end": 3049,
                  "loc": {
                    "start": {
                      "line": 66,
                      "column": 15
                    },
                    "end": {
                      "line": 66,
                      "column": 45
                    }
                  },
                  "properties": [
                    {
                      "type": "Property",
                      "start": 3020,
                      "end": 3035,
                      "loc": {
                        "start": {
                          "line": 66,
                          "column": 16
                        },
                        "end": {
                          "line": 66,
                          "column": 31
                        }
                      },
                      "method": false,
                      "shorthand": false,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 3020,
                        "end": 3025,
                        "loc": {
                          "start": {
                            "line": 66,
                            "column": 16
                          },
                          "end": {
                            "line": 66,
                            "column": 21
                          }
                        },
                        "name": "start"
                      },
                      "value": {
                        "type": "Identifier",
                        "start": 3027,
                        "end": 3035,
                        "loc": {
                          "start": {
                            "line": 66,
                            "column": 23
                          },
                          "end": {
                            "line": 66,
                            "column": 31
                          }
                        },
                        "name": "startPos"
                      },
                      "kind": "init"
                    },
                    {
                      "type": "Property",
                      "start": 3037,
                      "end": 3048,
                      "loc": {
                        "start": {
                          "line": 66,
                          "column": 33
                        },
                        "end": {
                          "line": 66,
                          "column": 44
                        }
                      },
                      "method": false,
                      "shorthand": false,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 3037,
                        "end": 3040,
                        "loc": {
                          "start": {
                            "line": 66,
                            "column": 33
                          },
                          "end": {
                            "line": 66,
                            "column": 36
                          }
                        },
                        "name": "end"
                      },
                      "value": {
                        "type": "Identifier",
                        "start": 3042,
                        "end": 3048,
                        "loc": {
                          "start": {
                            "line": 66,
                            "column": 38
                          },
                          "end": {
                            "line": 66,
                            "column": 44
                          }
                        },
                        "name": "endPos"
                      },
                      "kind": "init"
                    }
                  ]
                },
                "trailingComments": null
              },
              "alternate": null,
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": "getting radius with school math",
                  "start": 3055,
                  "end": 3088,
                  "loc": {
                    "start": {
                      "line": 67,
                      "column": 4
                    },
                    "end": {
                      "line": 67,
                      "column": 37
                    }
                  },
                  "range": [
                    3055,
                    3088
                  ]
                }
              ]
            },
            {
              "type": "VariableDeclaration",
              "start": 3093,
              "end": 3139,
              "loc": {
                "start": {
                  "line": 68,
                  "column": 4
                },
                "end": {
                  "line": 68,
                  "column": 50
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 3097,
                  "end": 3138,
                  "loc": {
                    "start": {
                      "line": 68,
                      "column": 8
                    },
                    "end": {
                      "line": 68,
                      "column": 49
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 3097,
                    "end": 3103,
                    "loc": {
                      "start": {
                        "line": 68,
                        "column": 8
                      },
                      "end": {
                        "line": 68,
                        "column": 14
                      }
                    },
                    "name": "radius",
                    "leadingComments": null
                  },
                  "init": {
                    "type": "BinaryExpression",
                    "start": 3106,
                    "end": 3138,
                    "loc": {
                      "start": {
                        "line": 68,
                        "column": 17
                      },
                      "end": {
                        "line": 68,
                        "column": 49
                      }
                    },
                    "left": {
                      "type": "BinaryExpression",
                      "start": 3107,
                      "end": 3122,
                      "loc": {
                        "start": {
                          "line": 68,
                          "column": 18
                        },
                        "end": {
                          "line": 68,
                          "column": 33
                        }
                      },
                      "left": {
                        "type": "BinaryExpression",
                        "start": 3107,
                        "end": 3116,
                        "loc": {
                          "start": {
                            "line": 68,
                            "column": 18
                          },
                          "end": {
                            "line": 68,
                            "column": 27
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 3107,
                          "end": 3110,
                          "loc": {
                            "start": {
                              "line": 68,
                              "column": 18
                            },
                            "end": {
                              "line": 68,
                              "column": 21
                            }
                          },
                          "name": "lSE"
                        },
                        "operator": "*",
                        "right": {
                          "type": "Identifier",
                          "start": 3113,
                          "end": 3116,
                          "loc": {
                            "start": {
                              "line": 68,
                              "column": 24
                            },
                            "end": {
                              "line": 68,
                              "column": 27
                            }
                          },
                          "name": "lSM"
                        }
                      },
                      "operator": "*",
                      "right": {
                        "type": "Identifier",
                        "start": 3119,
                        "end": 3122,
                        "loc": {
                          "start": {
                            "line": 68,
                            "column": 30
                          },
                          "end": {
                            "line": 68,
                            "column": 33
                          }
                        },
                        "name": "lEM"
                      },
                      "parenthesizedExpression": true
                    },
                    "operator": "/",
                    "right": {
                      "type": "BinaryExpression",
                      "start": 3127,
                      "end": 3137,
                      "loc": {
                        "start": {
                          "line": 68,
                          "column": 38
                        },
                        "end": {
                          "line": 68,
                          "column": 48
                        }
                      },
                      "left": {
                        "type": "Literal",
                        "start": 3127,
                        "end": 3130,
                        "loc": {
                          "start": {
                            "line": 68,
                            "column": 38
                          },
                          "end": {
                            "line": 68,
                            "column": 41
                          }
                        },
                        "value": 4,
                        "rawValue": 4,
                        "raw": "4.0"
                      },
                      "operator": "*",
                      "right": {
                        "type": "Identifier",
                        "start": 3133,
                        "end": 3137,
                        "loc": {
                          "start": {
                            "line": 68,
                            "column": 44
                          },
                          "end": {
                            "line": 68,
                            "column": 48
                          }
                        },
                        "name": "area"
                      },
                      "parenthesizedExpression": true
                    }
                  },
                  "leadingComments": null
                }
              ],
              "kind": "var",
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "getting radius with school math",
                  "start": 3055,
                  "end": 3088,
                  "loc": {
                    "start": {
                      "line": 67,
                      "column": 4
                    },
                    "end": {
                      "line": 67,
                      "column": 37
                    }
                  },
                  "range": [
                    3055,
                    3088
                  ]
                }
              ]
            },
            {
              "type": "ExpressionStatement",
              "start": 3144,
              "end": 3190,
              "loc": {
                "start": {
                  "line": 69,
                  "column": 4
                },
                "end": {
                  "line": 69,
                  "column": 50
                }
              },
              "expression": {
                "type": "AssignmentExpression",
                "start": 3144,
                "end": 3189,
                "loc": {
                  "start": {
                    "line": 69,
                    "column": 4
                  },
                  "end": {
                    "line": 69,
                    "column": 49
                  }
                },
                "operator": "=",
                "left": {
                  "type": "Identifier",
                  "start": 3144,
                  "end": 3150,
                  "loc": {
                    "start": {
                      "line": 69,
                      "column": 4
                    },
                    "end": {
                      "line": 69,
                      "column": 10
                    }
                  },
                  "name": "radius"
                },
                "right": {
                  "type": "CallExpression",
                  "start": 3153,
                  "end": 3189,
                  "loc": {
                    "start": {
                      "line": 69,
                      "column": 13
                    },
                    "end": {
                      "line": 69,
                      "column": 49
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 3153,
                    "end": 3161,
                    "loc": {
                      "start": {
                        "line": 69,
                        "column": 13
                      },
                      "end": {
                        "line": 69,
                        "column": 21
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 3153,
                      "end": 3157,
                      "loc": {
                        "start": {
                          "line": 69,
                          "column": 13
                        },
                        "end": {
                          "line": 69,
                          "column": 17
                        }
                      },
                      "name": "Math"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 3158,
                      "end": 3161,
                      "loc": {
                        "start": {
                          "line": 69,
                          "column": 18
                        },
                        "end": {
                          "line": 69,
                          "column": 21
                        }
                      },
                      "name": "max"
                    },
                    "computed": false
                  },
                  "arguments": [
                    {
                      "type": "Identifier",
                      "start": 3162,
                      "end": 3168,
                      "loc": {
                        "start": {
                          "line": 69,
                          "column": 22
                        },
                        "end": {
                          "line": 69,
                          "column": 28
                        }
                      },
                      "name": "radius"
                    },
                    {
                      "type": "BinaryExpression",
                      "start": 3170,
                      "end": 3188,
                      "loc": {
                        "start": {
                          "line": 69,
                          "column": 30
                        },
                        "end": {
                          "line": 69,
                          "column": 48
                        }
                      },
                      "left": {
                        "type": "BinaryExpression",
                        "start": 3171,
                        "end": 3181,
                        "loc": {
                          "start": {
                            "line": 69,
                            "column": 31
                          },
                          "end": {
                            "line": 69,
                            "column": 41
                          }
                        },
                        "left": {
                          "type": "Literal",
                          "start": 3171,
                          "end": 3174,
                          "loc": {
                            "start": {
                              "line": 69,
                              "column": 31
                            },
                            "end": {
                              "line": 69,
                              "column": 34
                            }
                          },
                          "value": 0.5,
                          "rawValue": 0.5,
                          "raw": "0.5"
                        },
                        "operator": "+",
                        "right": {
                          "type": "Literal",
                          "start": 3177,
                          "end": 3181,
                          "loc": {
                            "start": {
                              "line": 69,
                              "column": 37
                            },
                            "end": {
                              "line": 69,
                              "column": 41
                            }
                          },
                          "value": 1e-9,
                          "rawValue": 1e-9,
                          "raw": "1e-9"
                        },
                        "parenthesizedExpression": true
                      },
                      "operator": "*",
                      "right": {
                        "type": "Identifier",
                        "start": 3185,
                        "end": 3188,
                        "loc": {
                          "start": {
                            "line": 69,
                            "column": 45
                          },
                          "end": {
                            "line": 69,
                            "column": 48
                          }
                        },
                        "name": "lSE"
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "VariableDeclaration",
              "start": 3195,
              "end": 3253,
              "loc": {
                "start": {
                  "line": 70,
                  "column": 4
                },
                "end": {
                  "line": 70,
                  "column": 62
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 3199,
                  "end": 3252,
                  "loc": {
                    "start": {
                      "line": 70,
                      "column": 8
                    },
                    "end": {
                      "line": 70,
                      "column": 61
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 3199,
                    "end": 3205,
                    "loc": {
                      "start": {
                        "line": 70,
                        "column": 8
                      },
                      "end": {
                        "line": 70,
                        "column": 14
                      }
                    },
                    "name": "height"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 3208,
                    "end": 3252,
                    "loc": {
                      "start": {
                        "line": 70,
                        "column": 17
                      },
                      "end": {
                        "line": 70,
                        "column": 61
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 3208,
                      "end": 3217,
                      "loc": {
                        "start": {
                          "line": 70,
                          "column": 17
                        },
                        "end": {
                          "line": 70,
                          "column": 26
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 3208,
                        "end": 3212,
                        "loc": {
                          "start": {
                            "line": 70,
                            "column": 17
                          },
                          "end": {
                            "line": 70,
                            "column": 21
                          }
                        },
                        "name": "Math"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 3213,
                        "end": 3217,
                        "loc": {
                          "start": {
                            "line": 70,
                            "column": 22
                          },
                          "end": {
                            "line": 70,
                            "column": 26
                          }
                        },
                        "name": "sqrt"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "BinaryExpression",
                        "start": 3218,
                        "end": 3251,
                        "loc": {
                          "start": {
                            "line": 70,
                            "column": 27
                          },
                          "end": {
                            "line": 70,
                            "column": 60
                          }
                        },
                        "left": {
                          "type": "BinaryExpression",
                          "start": 3218,
                          "end": 3233,
                          "loc": {
                            "start": {
                              "line": 70,
                              "column": 27
                            },
                            "end": {
                              "line": 70,
                              "column": 42
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 3218,
                            "end": 3224,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 27
                              },
                              "end": {
                                "line": 70,
                                "column": 33
                              }
                            },
                            "name": "radius"
                          },
                          "operator": "*",
                          "right": {
                            "type": "Identifier",
                            "start": 3227,
                            "end": 3233,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 36
                              },
                              "end": {
                                "line": 70,
                                "column": 42
                              }
                            },
                            "name": "radius"
                          }
                        },
                        "operator": "-",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 3236,
                          "end": 3251,
                          "loc": {
                            "start": {
                              "line": 70,
                              "column": 45
                            },
                            "end": {
                              "line": 70,
                              "column": 60
                            }
                          },
                          "left": {
                            "type": "BinaryExpression",
                            "start": 3236,
                            "end": 3245,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 45
                              },
                              "end": {
                                "line": 70,
                                "column": 54
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 3236,
                              "end": 3239,
                              "loc": {
                                "start": {
                                  "line": 70,
                                  "column": 45
                                },
                                "end": {
                                  "line": 70,
                                  "column": 48
                                }
                              },
                              "name": "lSE"
                            },
                            "operator": "*",
                            "right": {
                              "type": "Identifier",
                              "start": 3242,
                              "end": 3245,
                              "loc": {
                                "start": {
                                  "line": 70,
                                  "column": 51
                                },
                                "end": {
                                  "line": 70,
                                  "column": 54
                                }
                              },
                              "name": "lSE"
                            }
                          },
                          "operator": "/",
                          "right": {
                            "type": "Literal",
                            "start": 3248,
                            "end": 3251,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 57
                              },
                              "end": {
                                "line": 70,
                                "column": 60
                              }
                            },
                            "value": 4,
                            "rawValue": 4,
                            "raw": "4.0"
                          }
                        }
                      }
                    ]
                  }
                }
              ],
              "kind": "var",
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": "copy-pasting middle perpendicular",
                  "start": 3258,
                  "end": 3293,
                  "loc": {
                    "start": {
                      "line": 71,
                      "column": 4
                    },
                    "end": {
                      "line": 71,
                      "column": 39
                    }
                  },
                  "range": [
                    3258,
                    3293
                  ]
                }
              ]
            },
            {
              "type": "VariableDeclaration",
              "start": 3298,
              "end": 3353,
              "loc": {
                "start": {
                  "line": 72,
                  "column": 4
                },
                "end": {
                  "line": 72,
                  "column": 59
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 3302,
                  "end": 3352,
                  "loc": {
                    "start": {
                      "line": 72,
                      "column": 8
                    },
                    "end": {
                      "line": 72,
                      "column": 58
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 3302,
                    "end": 3305,
                    "loc": {
                      "start": {
                        "line": 72,
                        "column": 8
                      },
                      "end": {
                        "line": 72,
                        "column": 11
                      }
                    },
                    "name": "mid",
                    "leadingComments": null
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 3308,
                    "end": 3352,
                    "loc": {
                      "start": {
                        "line": 72,
                        "column": 14
                      },
                      "end": {
                        "line": 72,
                        "column": 58
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 3308,
                      "end": 3349,
                      "loc": {
                        "start": {
                          "line": 72,
                          "column": 14
                        },
                        "end": {
                          "line": 72,
                          "column": 55
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 3308,
                        "end": 3336,
                        "loc": {
                          "start": {
                            "line": 72,
                            "column": 14
                          },
                          "end": {
                            "line": 72,
                            "column": 42
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 3308,
                          "end": 3326,
                          "loc": {
                            "start": {
                              "line": 72,
                              "column": 14
                            },
                            "end": {
                              "line": 72,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 3308,
                            "end": 3322,
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 14
                              },
                              "end": {
                                "line": 72,
                                "column": 28
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 3308,
                              "end": 3320,
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 14
                                },
                                "end": {
                                  "line": 72,
                                  "column": 26
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 3308,
                                "end": 3314,
                                "loc": {
                                  "start": {
                                    "line": 72,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 72,
                                    "column": 20
                                  }
                                },
                                "name": "endPos"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3315,
                                "end": 3320,
                                "loc": {
                                  "start": {
                                    "line": 72,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 72,
                                    "column": 26
                                  }
                                },
                                "name": "clone"
                              },
                              "computed": false
                            },
                            "arguments": []
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3323,
                            "end": 3326,
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 29
                              },
                              "end": {
                                "line": 72,
                                "column": 32
                              }
                            },
                            "name": "add"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 3327,
                            "end": 3335,
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 33
                              },
                              "end": {
                                "line": 72,
                                "column": 41
                              }
                            },
                            "name": "startPos"
                          }
                        ]
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 3337,
                        "end": 3349,
                        "loc": {
                          "start": {
                            "line": 72,
                            "column": 43
                          },
                          "end": {
                            "line": 72,
                            "column": 55
                          }
                        },
                        "name": "divideScalar"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Literal",
                        "start": 3350,
                        "end": 3351,
                        "loc": {
                          "start": {
                            "line": 72,
                            "column": 56
                          },
                          "end": {
                            "line": 72,
                            "column": 57
                          }
                        },
                        "value": 2,
                        "rawValue": 2,
                        "raw": "2"
                      }
                    ]
                  },
                  "leadingComments": null
                }
              ],
              "kind": "var",
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "copy-pasting middle perpendicular",
                  "start": 3258,
                  "end": 3293,
                  "loc": {
                    "start": {
                      "line": 71,
                      "column": 4
                    },
                    "end": {
                      "line": 71,
                      "column": 39
                    }
                  },
                  "range": [
                    3258,
                    3293
                  ]
                }
              ]
            },
            {
              "type": "VariableDeclaration",
              "start": 3358,
              "end": 3397,
              "loc": {
                "start": {
                  "line": 73,
                  "column": 4
                },
                "end": {
                  "line": 73,
                  "column": 43
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 3362,
                  "end": 3396,
                  "loc": {
                    "start": {
                      "line": 73,
                      "column": 8
                    },
                    "end": {
                      "line": 73,
                      "column": 42
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 3362,
                    "end": 3365,
                    "loc": {
                      "start": {
                        "line": 73,
                        "column": 8
                      },
                      "end": {
                        "line": 73,
                        "column": 11
                      }
                    },
                    "name": "dir"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 3368,
                    "end": 3396,
                    "loc": {
                      "start": {
                        "line": 73,
                        "column": 14
                      },
                      "end": {
                        "line": 73,
                        "column": 42
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 3368,
                      "end": 3386,
                      "loc": {
                        "start": {
                          "line": 73,
                          "column": 14
                        },
                        "end": {
                          "line": 73,
                          "column": 32
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 3368,
                        "end": 3382,
                        "loc": {
                          "start": {
                            "line": 73,
                            "column": 14
                          },
                          "end": {
                            "line": 73,
                            "column": 28
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 3368,
                          "end": 3380,
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 14
                            },
                            "end": {
                              "line": 73,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 3368,
                            "end": 3374,
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 14
                              },
                              "end": {
                                "line": 73,
                                "column": 20
                              }
                            },
                            "name": "endPos"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3375,
                            "end": 3380,
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 21
                              },
                              "end": {
                                "line": 73,
                                "column": 26
                              }
                            },
                            "name": "clone"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 3383,
                        "end": 3386,
                        "loc": {
                          "start": {
                            "line": 73,
                            "column": 29
                          },
                          "end": {
                            "line": 73,
                            "column": 32
                          }
                        },
                        "name": "sub"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 3387,
                        "end": 3395,
                        "loc": {
                          "start": {
                            "line": 73,
                            "column": 33
                          },
                          "end": {
                            "line": 73,
                            "column": 41
                          }
                        },
                        "name": "startPos"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 3402,
              "end": 3462,
              "loc": {
                "start": {
                  "line": 74,
                  "column": 4
                },
                "end": {
                  "line": 74,
                  "column": 64
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 3406,
                  "end": 3461,
                  "loc": {
                    "start": {
                      "line": 74,
                      "column": 8
                    },
                    "end": {
                      "line": 74,
                      "column": 63
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 3406,
                    "end": 3409,
                    "loc": {
                      "start": {
                        "line": 74,
                        "column": 8
                      },
                      "end": {
                        "line": 74,
                        "column": 11
                      }
                    },
                    "name": "per"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 3412,
                    "end": 3461,
                    "loc": {
                      "start": {
                        "line": 74,
                        "column": 14
                      },
                      "end": {
                        "line": 74,
                        "column": 63
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 3412,
                      "end": 3459,
                      "loc": {
                        "start": {
                          "line": 74,
                          "column": 14
                        },
                        "end": {
                          "line": 74,
                          "column": 61
                        }
                      },
                      "object": {
                        "type": "NewExpression",
                        "start": 3412,
                        "end": 3449,
                        "loc": {
                          "start": {
                            "line": 74,
                            "column": 14
                          },
                          "end": {
                            "line": 74,
                            "column": 51
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 3416,
                          "end": 3429,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 18
                            },
                            "end": {
                              "line": 74,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 3416,
                            "end": 3421,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 18
                              },
                              "end": {
                                "line": 74,
                                "column": 23
                              }
                            },
                            "name": "THREE"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3422,
                            "end": 3429,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 24
                              },
                              "end": {
                                "line": 74,
                                "column": 31
                              }
                            },
                            "name": "Vector3"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "UnaryExpression",
                            "start": 3430,
                            "end": 3436,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 32
                              },
                              "end": {
                                "line": 74,
                                "column": 38
                              }
                            },
                            "operator": "-",
                            "prefix": true,
                            "argument": {
                              "type": "MemberExpression",
                              "start": 3431,
                              "end": 3436,
                              "loc": {
                                "start": {
                                  "line": 74,
                                  "column": 33
                                },
                                "end": {
                                  "line": 74,
                                  "column": 38
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 3431,
                                "end": 3434,
                                "loc": {
                                  "start": {
                                    "line": 74,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 74,
                                    "column": 36
                                  }
                                },
                                "name": "dir"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3435,
                                "end": 3436,
                                "loc": {
                                  "start": {
                                    "line": 74,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 74,
                                    "column": 38
                                  }
                                },
                                "name": "y"
                              },
                              "computed": false
                            }
                          },
                          {
                            "type": "MemberExpression",
                            "start": 3438,
                            "end": 3443,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 40
                              },
                              "end": {
                                "line": 74,
                                "column": 45
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 3438,
                              "end": 3441,
                              "loc": {
                                "start": {
                                  "line": 74,
                                  "column": 40
                                },
                                "end": {
                                  "line": 74,
                                  "column": 43
                                }
                              },
                              "name": "dir"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3442,
                              "end": 3443,
                              "loc": {
                                "start": {
                                  "line": 74,
                                  "column": 44
                                },
                                "end": {
                                  "line": 74,
                                  "column": 45
                                }
                              },
                              "name": "x"
                            },
                            "computed": false
                          },
                          {
                            "type": "Literal",
                            "start": 3445,
                            "end": 3448,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 47
                              },
                              "end": {
                                "line": 74,
                                "column": 50
                              }
                            },
                            "value": 0,
                            "rawValue": 0,
                            "raw": "0.0"
                          }
                        ]
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 3450,
                        "end": 3459,
                        "loc": {
                          "start": {
                            "line": 74,
                            "column": 52
                          },
                          "end": {
                            "line": 74,
                            "column": 61
                          }
                        },
                        "name": "normalize"
                      },
                      "computed": false
                    },
                    "arguments": []
                  }
                }
              ],
              "kind": "var",
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": "getting center (choose best of two cases)",
                  "start": 3467,
                  "end": 3510,
                  "loc": {
                    "start": {
                      "line": 75,
                      "column": 4
                    },
                    "end": {
                      "line": 75,
                      "column": 47
                    }
                  },
                  "range": [
                    3467,
                    3510
                  ]
                }
              ]
            },
            {
              "type": "VariableDeclaration",
              "start": 3515,
              "end": 3537,
              "loc": {
                "start": {
                  "line": 76,
                  "column": 4
                },
                "end": {
                  "line": 76,
                  "column": 26
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 3519,
                  "end": 3522,
                  "loc": {
                    "start": {
                      "line": 76,
                      "column": 8
                    },
                    "end": {
                      "line": 76,
                      "column": 11
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 3519,
                    "end": 3522,
                    "loc": {
                      "start": {
                        "line": 76,
                        "column": 8
                      },
                      "end": {
                        "line": 76,
                        "column": 11
                      }
                    },
                    "name": "ctr",
                    "leadingComments": null
                  },
                  "init": null,
                  "leadingComments": null
                },
                {
                  "type": "VariableDeclarator",
                  "start": 3524,
                  "end": 3536,
                  "loc": {
                    "start": {
                      "line": 76,
                      "column": 13
                    },
                    "end": {
                      "line": 76,
                      "column": 25
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 3524,
                    "end": 3528,
                    "loc": {
                      "start": {
                        "line": 76,
                        "column": 13
                      },
                      "end": {
                        "line": 76,
                        "column": 17
                      }
                    },
                    "name": "dist"
                  },
                  "init": {
                    "type": "Literal",
                    "start": 3531,
                    "end": 3536,
                    "loc": {
                      "start": {
                        "line": 76,
                        "column": 20
                      },
                      "end": {
                        "line": 76,
                        "column": 25
                      }
                    },
                    "value": 1e+50,
                    "rawValue": 1e+50,
                    "raw": "1e+50"
                  }
                }
              ],
              "kind": "var",
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "getting center (choose best of two cases)",
                  "start": 3467,
                  "end": 3510,
                  "loc": {
                    "start": {
                      "line": 75,
                      "column": 4
                    },
                    "end": {
                      "line": 75,
                      "column": 47
                    }
                  },
                  "range": [
                    3467,
                    3510
                  ]
                }
              ]
            },
            {
              "type": "ForStatement",
              "start": 3542,
              "end": 3807,
              "loc": {
                "start": {
                  "line": 77,
                  "column": 4
                },
                "end": {
                  "line": 84,
                  "column": 5
                }
              },
              "init": {
                "type": "VariableDeclaration",
                "start": 3547,
                "end": 3556,
                "loc": {
                  "start": {
                    "line": 77,
                    "column": 9
                  },
                  "end": {
                    "line": 77,
                    "column": 18
                  }
                },
                "declarations": [
                  {
                    "type": "VariableDeclarator",
                    "start": 3551,
                    "end": 3556,
                    "loc": {
                      "start": {
                        "line": 77,
                        "column": 13
                      },
                      "end": {
                        "line": 77,
                        "column": 18
                      }
                    },
                    "id": {
                      "type": "Identifier",
                      "start": 3551,
                      "end": 3552,
                      "loc": {
                        "start": {
                          "line": 77,
                          "column": 13
                        },
                        "end": {
                          "line": 77,
                          "column": 14
                        }
                      },
                      "name": "i"
                    },
                    "init": {
                      "type": "Literal",
                      "start": 3555,
                      "end": 3556,
                      "loc": {
                        "start": {
                          "line": 77,
                          "column": 17
                        },
                        "end": {
                          "line": 77,
                          "column": 18
                        }
                      },
                      "value": 0,
                      "rawValue": 0,
                      "raw": "0"
                    }
                  }
                ],
                "kind": "var"
              },
              "test": {
                "type": "BinaryExpression",
                "start": 3558,
                "end": 3563,
                "loc": {
                  "start": {
                    "line": 77,
                    "column": 20
                  },
                  "end": {
                    "line": 77,
                    "column": 25
                  }
                },
                "left": {
                  "type": "Identifier",
                  "start": 3558,
                  "end": 3559,
                  "loc": {
                    "start": {
                      "line": 77,
                      "column": 20
                    },
                    "end": {
                      "line": 77,
                      "column": 21
                    }
                  },
                  "name": "i"
                },
                "operator": "<",
                "right": {
                  "type": "Literal",
                  "start": 3562,
                  "end": 3563,
                  "loc": {
                    "start": {
                      "line": 77,
                      "column": 24
                    },
                    "end": {
                      "line": 77,
                      "column": 25
                    }
                  },
                  "value": 2,
                  "rawValue": 2,
                  "raw": "2"
                }
              },
              "update": {
                "type": "UpdateExpression",
                "start": 3565,
                "end": 3568,
                "loc": {
                  "start": {
                    "line": 77,
                    "column": 27
                  },
                  "end": {
                    "line": 77,
                    "column": 30
                  }
                },
                "operator": "++",
                "prefix": false,
                "argument": {
                  "type": "Identifier",
                  "start": 3565,
                  "end": 3566,
                  "loc": {
                    "start": {
                      "line": 77,
                      "column": 27
                    },
                    "end": {
                      "line": 77,
                      "column": 28
                    }
                  },
                  "name": "i"
                }
              },
              "body": {
                "type": "BlockStatement",
                "start": 3570,
                "end": 3807,
                "loc": {
                  "start": {
                    "line": 77,
                    "column": 32
                  },
                  "end": {
                    "line": 84,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "VariableDeclaration",
                    "start": 3580,
                    "end": 3646,
                    "loc": {
                      "start": {
                        "line": 78,
                        "column": 8
                      },
                      "end": {
                        "line": 78,
                        "column": 74
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 3584,
                        "end": 3645,
                        "loc": {
                          "start": {
                            "line": 78,
                            "column": 12
                          },
                          "end": {
                            "line": 78,
                            "column": 73
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 3584,
                          "end": 3588,
                          "loc": {
                            "start": {
                              "line": 78,
                              "column": 12
                            },
                            "end": {
                              "line": 78,
                              "column": 16
                            }
                          },
                          "name": "tCtr"
                        },
                        "init": {
                          "type": "CallExpression",
                          "start": 3591,
                          "end": 3645,
                          "loc": {
                            "start": {
                              "line": 78,
                              "column": 19
                            },
                            "end": {
                              "line": 78,
                              "column": 73
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 3591,
                            "end": 3640,
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 19
                              },
                              "end": {
                                "line": 78,
                                "column": 68
                              }
                            },
                            "object": {
                              "type": "CallExpression",
                              "start": 3591,
                              "end": 3636,
                              "loc": {
                                "start": {
                                  "line": 78,
                                  "column": 19
                                },
                                "end": {
                                  "line": 78,
                                  "column": 64
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 3591,
                                "end": 3617,
                                "loc": {
                                  "start": {
                                    "line": 78,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 78,
                                    "column": 45
                                  }
                                },
                                "object": {
                                  "type": "CallExpression",
                                  "start": 3591,
                                  "end": 3602,
                                  "loc": {
                                    "start": {
                                      "line": 78,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 78,
                                      "column": 30
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 3591,
                                    "end": 3600,
                                    "loc": {
                                      "start": {
                                        "line": 78,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 78,
                                        "column": 28
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 3591,
                                      "end": 3594,
                                      "loc": {
                                        "start": {
                                          "line": 78,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 78,
                                          "column": 22
                                        }
                                      },
                                      "name": "per"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3595,
                                      "end": 3600,
                                      "loc": {
                                        "start": {
                                          "line": 78,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 78,
                                          "column": 28
                                        }
                                      },
                                      "name": "clone"
                                    },
                                    "computed": false
                                  },
                                  "arguments": []
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3603,
                                  "end": 3617,
                                  "loc": {
                                    "start": {
                                      "line": 78,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 78,
                                      "column": 45
                                    }
                                  },
                                  "name": "multiplyScalar"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "BinaryExpression",
                                  "start": 3618,
                                  "end": 3635,
                                  "loc": {
                                    "start": {
                                      "line": 78,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 78,
                                      "column": 63
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 3618,
                                    "end": 3624,
                                    "loc": {
                                      "start": {
                                        "line": 78,
                                        "column": 46
                                      },
                                      "end": {
                                        "line": 78,
                                        "column": 52
                                      }
                                    },
                                    "name": "height"
                                  },
                                  "operator": "*",
                                  "right": {
                                    "type": "ConditionalExpression",
                                    "start": 3628,
                                    "end": 3634,
                                    "loc": {
                                      "start": {
                                        "line": 78,
                                        "column": 56
                                      },
                                      "end": {
                                        "line": 78,
                                        "column": 62
                                      }
                                    },
                                    "test": {
                                      "type": "Identifier",
                                      "start": 3628,
                                      "end": 3629,
                                      "loc": {
                                        "start": {
                                          "line": 78,
                                          "column": 56
                                        },
                                        "end": {
                                          "line": 78,
                                          "column": 57
                                        }
                                      },
                                      "name": "i"
                                    },
                                    "consequent": {
                                      "type": "Literal",
                                      "start": 3630,
                                      "end": 3631,
                                      "loc": {
                                        "start": {
                                          "line": 78,
                                          "column": 58
                                        },
                                        "end": {
                                          "line": 78,
                                          "column": 59
                                        }
                                      },
                                      "value": 1,
                                      "rawValue": 1,
                                      "raw": "1"
                                    },
                                    "alternate": {
                                      "type": "UnaryExpression",
                                      "start": 3632,
                                      "end": 3634,
                                      "loc": {
                                        "start": {
                                          "line": 78,
                                          "column": 60
                                        },
                                        "end": {
                                          "line": 78,
                                          "column": 62
                                        }
                                      },
                                      "operator": "-",
                                      "prefix": true,
                                      "argument": {
                                        "type": "Literal",
                                        "start": 3633,
                                        "end": 3634,
                                        "loc": {
                                          "start": {
                                            "line": 78,
                                            "column": 61
                                          },
                                          "end": {
                                            "line": 78,
                                            "column": 62
                                          }
                                        },
                                        "value": 1,
                                        "rawValue": 1,
                                        "raw": "1"
                                      }
                                    },
                                    "parenthesizedExpression": true
                                  }
                                }
                              ]
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3637,
                              "end": 3640,
                              "loc": {
                                "start": {
                                  "line": 78,
                                  "column": 65
                                },
                                "end": {
                                  "line": 78,
                                  "column": 68
                                }
                              },
                              "name": "add"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 3641,
                              "end": 3644,
                              "loc": {
                                "start": {
                                  "line": 78,
                                  "column": 69
                                },
                                "end": {
                                  "line": 78,
                                  "column": 72
                                }
                              },
                              "name": "mid"
                            }
                          ]
                        }
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 3655,
                    "end": 3713,
                    "loc": {
                      "start": {
                        "line": 79,
                        "column": 8
                      },
                      "end": {
                        "line": 79,
                        "column": 66
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 3659,
                        "end": 3712,
                        "loc": {
                          "start": {
                            "line": 79,
                            "column": 12
                          },
                          "end": {
                            "line": 79,
                            "column": 65
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 3659,
                          "end": 3664,
                          "loc": {
                            "start": {
                              "line": 79,
                              "column": 12
                            },
                            "end": {
                              "line": 79,
                              "column": 17
                            }
                          },
                          "name": "tDist"
                        },
                        "init": {
                          "type": "CallExpression",
                          "start": 3667,
                          "end": 3712,
                          "loc": {
                            "start": {
                              "line": 79,
                              "column": 20
                            },
                            "end": {
                              "line": 79,
                              "column": 65
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 3667,
                            "end": 3675,
                            "loc": {
                              "start": {
                                "line": 79,
                                "column": 20
                              },
                              "end": {
                                "line": 79,
                                "column": 28
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 3667,
                              "end": 3671,
                              "loc": {
                                "start": {
                                  "line": 79,
                                  "column": 20
                                },
                                "end": {
                                  "line": 79,
                                  "column": 24
                                }
                              },
                              "name": "Math"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3672,
                              "end": 3675,
                              "loc": {
                                "start": {
                                  "line": 79,
                                  "column": 25
                                },
                                "end": {
                                  "line": 79,
                                  "column": 28
                                }
                              },
                              "name": "abs"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "BinaryExpression",
                              "start": 3676,
                              "end": 3711,
                              "loc": {
                                "start": {
                                  "line": 79,
                                  "column": 29
                                },
                                "end": {
                                  "line": 79,
                                  "column": 64
                                }
                              },
                              "left": {
                                "type": "CallExpression",
                                "start": 3676,
                                "end": 3702,
                                "loc": {
                                  "start": {
                                    "line": 79,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 79,
                                    "column": 55
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 3676,
                                  "end": 3691,
                                  "loc": {
                                    "start": {
                                      "line": 79,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 79,
                                      "column": 44
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 3676,
                                    "end": 3680,
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 79,
                                        "column": 33
                                      }
                                    },
                                    "name": "tCtr"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 3681,
                                    "end": 3691,
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 79,
                                        "column": 44
                                      }
                                    },
                                    "name": "distanceTo"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 3692,
                                    "end": 3701,
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 45
                                      },
                                      "end": {
                                        "line": 79,
                                        "column": 54
                                      }
                                    },
                                    "name": "middlePos"
                                  }
                                ]
                              },
                              "operator": "-",
                              "right": {
                                "type": "Identifier",
                                "start": 3705,
                                "end": 3711,
                                "loc": {
                                  "start": {
                                    "line": 79,
                                    "column": 58
                                  },
                                  "end": {
                                    "line": 79,
                                    "column": 64
                                  }
                                },
                                "name": "radius"
                              }
                            }
                          ]
                        }
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "IfStatement",
                    "start": 3722,
                    "end": 3801,
                    "loc": {
                      "start": {
                        "line": 80,
                        "column": 8
                      },
                      "end": {
                        "line": 83,
                        "column": 9
                      }
                    },
                    "test": {
                      "type": "BinaryExpression",
                      "start": 3726,
                      "end": 3738,
                      "loc": {
                        "start": {
                          "line": 80,
                          "column": 12
                        },
                        "end": {
                          "line": 80,
                          "column": 24
                        }
                      },
                      "left": {
                        "type": "Identifier",
                        "start": 3726,
                        "end": 3730,
                        "loc": {
                          "start": {
                            "line": 80,
                            "column": 12
                          },
                          "end": {
                            "line": 80,
                            "column": 16
                          }
                        },
                        "name": "dist"
                      },
                      "operator": ">",
                      "right": {
                        "type": "Identifier",
                        "start": 3733,
                        "end": 3738,
                        "loc": {
                          "start": {
                            "line": 80,
                            "column": 19
                          },
                          "end": {
                            "line": 80,
                            "column": 24
                          }
                        },
                        "name": "tDist"
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 3740,
                      "end": 3801,
                      "loc": {
                        "start": {
                          "line": 80,
                          "column": 26
                        },
                        "end": {
                          "line": 83,
                          "column": 9
                        }
                      },
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "start": 3754,
                          "end": 3767,
                          "loc": {
                            "start": {
                              "line": 81,
                              "column": 12
                            },
                            "end": {
                              "line": 81,
                              "column": 25
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 3754,
                            "end": 3766,
                            "loc": {
                              "start": {
                                "line": 81,
                                "column": 12
                              },
                              "end": {
                                "line": 81,
                                "column": 24
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 3754,
                              "end": 3758,
                              "loc": {
                                "start": {
                                  "line": 81,
                                  "column": 12
                                },
                                "end": {
                                  "line": 81,
                                  "column": 16
                                }
                              },
                              "name": "dist"
                            },
                            "right": {
                              "type": "Identifier",
                              "start": 3761,
                              "end": 3766,
                              "loc": {
                                "start": {
                                  "line": 81,
                                  "column": 19
                                },
                                "end": {
                                  "line": 81,
                                  "column": 24
                                }
                              },
                              "name": "tDist"
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "start": 3780,
                          "end": 3791,
                          "loc": {
                            "start": {
                              "line": 82,
                              "column": 12
                            },
                            "end": {
                              "line": 82,
                              "column": 23
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 3780,
                            "end": 3790,
                            "loc": {
                              "start": {
                                "line": 82,
                                "column": 12
                              },
                              "end": {
                                "line": 82,
                                "column": 22
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 3780,
                              "end": 3783,
                              "loc": {
                                "start": {
                                  "line": 82,
                                  "column": 12
                                },
                                "end": {
                                  "line": 82,
                                  "column": 15
                                }
                              },
                              "name": "ctr"
                            },
                            "right": {
                              "type": "Identifier",
                              "start": 3786,
                              "end": 3790,
                              "loc": {
                                "start": {
                                  "line": 82,
                                  "column": 18
                                },
                                "end": {
                                  "line": 82,
                                  "column": 22
                                }
                              },
                              "name": "tCtr"
                            }
                          }
                        }
                      ]
                    },
                    "alternate": null
                  }
                ],
                "trailingComments": null
              },
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": "get polar angles of all points",
                  "start": 3812,
                  "end": 3844,
                  "loc": {
                    "start": {
                      "line": 85,
                      "column": 4
                    },
                    "end": {
                      "line": 85,
                      "column": 36
                    }
                  },
                  "range": [
                    3812,
                    3844
                  ]
                }
              ]
            },
            {
              "type": "VariableDeclaration",
              "start": 3849,
              "end": 3962,
              "loc": {
                "start": {
                  "line": 86,
                  "column": 4
                },
                "end": {
                  "line": 89,
                  "column": 6
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 3853,
                  "end": 3961,
                  "loc": {
                    "start": {
                      "line": 86,
                      "column": 8
                    },
                    "end": {
                      "line": 89,
                      "column": 5
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 3853,
                    "end": 3861,
                    "loc": {
                      "start": {
                        "line": 86,
                        "column": 8
                      },
                      "end": {
                        "line": 86,
                        "column": 16
                      }
                    },
                    "name": "getAngle",
                    "leadingComments": null
                  },
                  "init": {
                    "type": "ArrowFunctionExpression",
                    "start": 3864,
                    "end": 3961,
                    "loc": {
                      "start": {
                        "line": 86,
                        "column": 19
                      },
                      "end": {
                        "line": 89,
                        "column": 5
                      }
                    },
                    "id": null,
                    "generator": false,
                    "expression": false,
                    "async": false,
                    "params": [
                      {
                        "type": "Identifier",
                        "start": 3865,
                        "end": 3868,
                        "loc": {
                          "start": {
                            "line": 86,
                            "column": 20
                          },
                          "end": {
                            "line": 86,
                            "column": 23
                          }
                        },
                        "name": "pos"
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "start": 3873,
                      "end": 3961,
                      "loc": {
                        "start": {
                          "line": 86,
                          "column": 28
                        },
                        "end": {
                          "line": 89,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "VariableDeclaration",
                          "start": 3883,
                          "end": 3914,
                          "loc": {
                            "start": {
                              "line": 87,
                              "column": 8
                            },
                            "end": {
                              "line": 87,
                              "column": 39
                            }
                          },
                          "declarations": [
                            {
                              "type": "VariableDeclarator",
                              "start": 3887,
                              "end": 3913,
                              "loc": {
                                "start": {
                                  "line": 87,
                                  "column": 12
                                },
                                "end": {
                                  "line": 87,
                                  "column": 38
                                }
                              },
                              "id": {
                                "type": "Identifier",
                                "start": 3887,
                                "end": 3890,
                                "loc": {
                                  "start": {
                                    "line": 87,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 87,
                                    "column": 15
                                  }
                                },
                                "name": "dir"
                              },
                              "init": {
                                "type": "CallExpression",
                                "start": 3893,
                                "end": 3913,
                                "loc": {
                                  "start": {
                                    "line": 87,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 87,
                                    "column": 38
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 3893,
                                  "end": 3908,
                                  "loc": {
                                    "start": {
                                      "line": 87,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 87,
                                      "column": 33
                                    }
                                  },
                                  "object": {
                                    "type": "CallExpression",
                                    "start": 3893,
                                    "end": 3904,
                                    "loc": {
                                      "start": {
                                        "line": 87,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 87,
                                        "column": 29
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 3893,
                                      "end": 3902,
                                      "loc": {
                                        "start": {
                                          "line": 87,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 87,
                                          "column": 27
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 3893,
                                        "end": 3896,
                                        "loc": {
                                          "start": {
                                            "line": 87,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 87,
                                            "column": 21
                                          }
                                        },
                                        "name": "pos"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 3897,
                                        "end": 3902,
                                        "loc": {
                                          "start": {
                                            "line": 87,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 87,
                                            "column": 27
                                          }
                                        },
                                        "name": "clone"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 3905,
                                    "end": 3908,
                                    "loc": {
                                      "start": {
                                        "line": 87,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 87,
                                        "column": 33
                                      }
                                    },
                                    "name": "sub"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 3909,
                                    "end": 3912,
                                    "loc": {
                                      "start": {
                                        "line": 87,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 87,
                                        "column": 37
                                      }
                                    },
                                    "name": "ctr"
                                  }
                                ]
                              }
                            }
                          ],
                          "kind": "var"
                        },
                        {
                          "type": "ReturnStatement",
                          "start": 3923,
                          "end": 3955,
                          "loc": {
                            "start": {
                              "line": 88,
                              "column": 8
                            },
                            "end": {
                              "line": 88,
                              "column": 40
                            }
                          },
                          "argument": {
                            "type": "CallExpression",
                            "start": 3930,
                            "end": 3954,
                            "loc": {
                              "start": {
                                "line": 88,
                                "column": 15
                              },
                              "end": {
                                "line": 88,
                                "column": 39
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 3930,
                              "end": 3940,
                              "loc": {
                                "start": {
                                  "line": 88,
                                  "column": 15
                                },
                                "end": {
                                  "line": 88,
                                  "column": 25
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 3930,
                                "end": 3934,
                                "loc": {
                                  "start": {
                                    "line": 88,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 88,
                                    "column": 19
                                  }
                                },
                                "name": "Math"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3935,
                                "end": 3940,
                                "loc": {
                                  "start": {
                                    "line": 88,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 88,
                                    "column": 25
                                  }
                                },
                                "name": "atan2"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 3941,
                                "end": 3946,
                                "loc": {
                                  "start": {
                                    "line": 88,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 88,
                                    "column": 31
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 3941,
                                  "end": 3944,
                                  "loc": {
                                    "start": {
                                      "line": 88,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 88,
                                      "column": 29
                                    }
                                  },
                                  "name": "dir"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3945,
                                  "end": 3946,
                                  "loc": {
                                    "start": {
                                      "line": 88,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 88,
                                      "column": 31
                                    }
                                  },
                                  "name": "y"
                                },
                                "computed": false
                              },
                              {
                                "type": "MemberExpression",
                                "start": 3948,
                                "end": 3953,
                                "loc": {
                                  "start": {
                                    "line": 88,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 88,
                                    "column": 38
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 3948,
                                  "end": 3951,
                                  "loc": {
                                    "start": {
                                      "line": 88,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 88,
                                      "column": 36
                                    }
                                  },
                                  "name": "dir"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3952,
                                  "end": 3953,
                                  "loc": {
                                    "start": {
                                      "line": 88,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 88,
                                      "column": 38
                                    }
                                  },
                                  "name": "x"
                                },
                                "computed": false
                              }
                            ]
                          }
                        }
                      ]
                    }
                  },
                  "leadingComments": null
                }
              ],
              "kind": "var",
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "get polar angles of all points",
                  "start": 3812,
                  "end": 3844,
                  "loc": {
                    "start": {
                      "line": 85,
                      "column": 4
                    },
                    "end": {
                      "line": 85,
                      "column": 36
                    }
                  },
                  "range": [
                    3812,
                    3844
                  ]
                }
              ]
            },
            {
              "type": "VariableDeclaration",
              "start": 3967,
              "end": 4001,
              "loc": {
                "start": {
                  "line": 90,
                  "column": 4
                },
                "end": {
                  "line": 90,
                  "column": 38
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 3971,
                  "end": 4000,
                  "loc": {
                    "start": {
                      "line": 90,
                      "column": 8
                    },
                    "end": {
                      "line": 90,
                      "column": 37
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 3971,
                    "end": 3979,
                    "loc": {
                      "start": {
                        "line": 90,
                        "column": 8
                      },
                      "end": {
                        "line": 90,
                        "column": 16
                      }
                    },
                    "name": "startAng"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 3982,
                    "end": 4000,
                    "loc": {
                      "start": {
                        "line": 90,
                        "column": 19
                      },
                      "end": {
                        "line": 90,
                        "column": 37
                      }
                    },
                    "callee": {
                      "type": "Identifier",
                      "start": 3982,
                      "end": 3990,
                      "loc": {
                        "start": {
                          "line": 90,
                          "column": 19
                        },
                        "end": {
                          "line": 90,
                          "column": 27
                        }
                      },
                      "name": "getAngle"
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 3991,
                        "end": 3999,
                        "loc": {
                          "start": {
                            "line": 90,
                            "column": 28
                          },
                          "end": {
                            "line": 90,
                            "column": 36
                          }
                        },
                        "name": "startPos"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 4006,
              "end": 4036,
              "loc": {
                "start": {
                  "line": 91,
                  "column": 4
                },
                "end": {
                  "line": 91,
                  "column": 34
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 4010,
                  "end": 4035,
                  "loc": {
                    "start": {
                      "line": 91,
                      "column": 8
                    },
                    "end": {
                      "line": 91,
                      "column": 33
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 4010,
                    "end": 4016,
                    "loc": {
                      "start": {
                        "line": 91,
                        "column": 8
                      },
                      "end": {
                        "line": 91,
                        "column": 14
                      }
                    },
                    "name": "endAng"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 4019,
                    "end": 4035,
                    "loc": {
                      "start": {
                        "line": 91,
                        "column": 17
                      },
                      "end": {
                        "line": 91,
                        "column": 33
                      }
                    },
                    "callee": {
                      "type": "Identifier",
                      "start": 4019,
                      "end": 4027,
                      "loc": {
                        "start": {
                          "line": 91,
                          "column": 17
                        },
                        "end": {
                          "line": 91,
                          "column": 25
                        }
                      },
                      "name": "getAngle"
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 4028,
                        "end": 4034,
                        "loc": {
                          "start": {
                            "line": 91,
                            "column": 26
                          },
                          "end": {
                            "line": 91,
                            "column": 32
                          }
                        },
                        "name": "endPos"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 4041,
              "end": 4077,
              "loc": {
                "start": {
                  "line": 92,
                  "column": 4
                },
                "end": {
                  "line": 92,
                  "column": 40
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 4045,
                  "end": 4076,
                  "loc": {
                    "start": {
                      "line": 92,
                      "column": 8
                    },
                    "end": {
                      "line": 92,
                      "column": 39
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 4045,
                    "end": 4054,
                    "loc": {
                      "start": {
                        "line": 92,
                        "column": 8
                      },
                      "end": {
                        "line": 92,
                        "column": 17
                      }
                    },
                    "name": "middleAng"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 4057,
                    "end": 4076,
                    "loc": {
                      "start": {
                        "line": 92,
                        "column": 20
                      },
                      "end": {
                        "line": 92,
                        "column": 39
                      }
                    },
                    "callee": {
                      "type": "Identifier",
                      "start": 4057,
                      "end": 4065,
                      "loc": {
                        "start": {
                          "line": 92,
                          "column": 20
                        },
                        "end": {
                          "line": 92,
                          "column": 28
                        }
                      },
                      "name": "getAngle"
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 4066,
                        "end": 4075,
                        "loc": {
                          "start": {
                            "line": 92,
                            "column": 29
                          },
                          "end": {
                            "line": 92,
                            "column": 38
                          }
                        },
                        "name": "middlePos"
                      }
                    ]
                  }
                }
              ],
              "kind": "var",
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": "check which part of circle to take",
                  "start": 4082,
                  "end": 4118,
                  "loc": {
                    "start": {
                      "line": 93,
                      "column": 4
                    },
                    "end": {
                      "line": 93,
                      "column": 40
                    }
                  },
                  "range": [
                    4082,
                    4118
                  ]
                }
              ]
            },
            {
              "type": "IfStatement",
              "start": 4123,
              "end": 4168,
              "loc": {
                "start": {
                  "line": 94,
                  "column": 4
                },
                "end": {
                  "line": 94,
                  "column": 49
                }
              },
              "test": {
                "type": "BinaryExpression",
                "start": 4127,
                "end": 4144,
                "loc": {
                  "start": {
                    "line": 94,
                    "column": 8
                  },
                  "end": {
                    "line": 94,
                    "column": 25
                  }
                },
                "left": {
                  "type": "Identifier",
                  "start": 4127,
                  "end": 4133,
                  "loc": {
                    "start": {
                      "line": 94,
                      "column": 8
                    },
                    "end": {
                      "line": 94,
                      "column": 14
                    }
                  },
                  "name": "endAng",
                  "leadingComments": null
                },
                "operator": "<",
                "right": {
                  "type": "Identifier",
                  "start": 4136,
                  "end": 4144,
                  "loc": {
                    "start": {
                      "line": 94,
                      "column": 17
                    },
                    "end": {
                      "line": 94,
                      "column": 25
                    }
                  },
                  "name": "startAng"
                },
                "leadingComments": null
              },
              "consequent": {
                "type": "ExpressionStatement",
                "start": 4146,
                "end": 4168,
                "loc": {
                  "start": {
                    "line": 94,
                    "column": 27
                  },
                  "end": {
                    "line": 94,
                    "column": 49
                  }
                },
                "expression": {
                  "type": "AssignmentExpression",
                  "start": 4146,
                  "end": 4167,
                  "loc": {
                    "start": {
                      "line": 94,
                      "column": 27
                    },
                    "end": {
                      "line": 94,
                      "column": 48
                    }
                  },
                  "operator": "+=",
                  "left": {
                    "type": "Identifier",
                    "start": 4146,
                    "end": 4152,
                    "loc": {
                      "start": {
                        "line": 94,
                        "column": 27
                      },
                      "end": {
                        "line": 94,
                        "column": 33
                      }
                    },
                    "name": "endAng"
                  },
                  "right": {
                    "type": "BinaryExpression",
                    "start": 4156,
                    "end": 4167,
                    "loc": {
                      "start": {
                        "line": 94,
                        "column": 37
                      },
                      "end": {
                        "line": 94,
                        "column": 48
                      }
                    },
                    "left": {
                      "type": "Literal",
                      "start": 4156,
                      "end": 4157,
                      "loc": {
                        "start": {
                          "line": 94,
                          "column": 37
                        },
                        "end": {
                          "line": 94,
                          "column": 38
                        }
                      },
                      "value": 2,
                      "rawValue": 2,
                      "raw": "2"
                    },
                    "operator": "*",
                    "right": {
                      "type": "MemberExpression",
                      "start": 4160,
                      "end": 4167,
                      "loc": {
                        "start": {
                          "line": 94,
                          "column": 41
                        },
                        "end": {
                          "line": 94,
                          "column": 48
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 4160,
                        "end": 4164,
                        "loc": {
                          "start": {
                            "line": 94,
                            "column": 41
                          },
                          "end": {
                            "line": 94,
                            "column": 45
                          }
                        },
                        "name": "Math"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 4165,
                        "end": 4167,
                        "loc": {
                          "start": {
                            "line": 94,
                            "column": 46
                          },
                          "end": {
                            "line": 94,
                            "column": 48
                          }
                        },
                        "name": "PI"
                      },
                      "computed": false
                    }
                  }
                }
              },
              "alternate": null,
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "check which part of circle to take",
                  "start": 4082,
                  "end": 4118,
                  "loc": {
                    "start": {
                      "line": 93,
                      "column": 4
                    },
                    "end": {
                      "line": 93,
                      "column": 40
                    }
                  },
                  "range": [
                    4082,
                    4118
                  ]
                }
              ]
            },
            {
              "type": "IfStatement",
              "start": 4173,
              "end": 4224,
              "loc": {
                "start": {
                  "line": 95,
                  "column": 4
                },
                "end": {
                  "line": 95,
                  "column": 55
                }
              },
              "test": {
                "type": "BinaryExpression",
                "start": 4177,
                "end": 4197,
                "loc": {
                  "start": {
                    "line": 95,
                    "column": 8
                  },
                  "end": {
                    "line": 95,
                    "column": 28
                  }
                },
                "left": {
                  "type": "Identifier",
                  "start": 4177,
                  "end": 4186,
                  "loc": {
                    "start": {
                      "line": 95,
                      "column": 8
                    },
                    "end": {
                      "line": 95,
                      "column": 17
                    }
                  },
                  "name": "middleAng"
                },
                "operator": "<",
                "right": {
                  "type": "Identifier",
                  "start": 4189,
                  "end": 4197,
                  "loc": {
                    "start": {
                      "line": 95,
                      "column": 20
                    },
                    "end": {
                      "line": 95,
                      "column": 28
                    }
                  },
                  "name": "startAng"
                }
              },
              "consequent": {
                "type": "ExpressionStatement",
                "start": 4199,
                "end": 4224,
                "loc": {
                  "start": {
                    "line": 95,
                    "column": 30
                  },
                  "end": {
                    "line": 95,
                    "column": 55
                  }
                },
                "expression": {
                  "type": "AssignmentExpression",
                  "start": 4199,
                  "end": 4223,
                  "loc": {
                    "start": {
                      "line": 95,
                      "column": 30
                    },
                    "end": {
                      "line": 95,
                      "column": 54
                    }
                  },
                  "operator": "+=",
                  "left": {
                    "type": "Identifier",
                    "start": 4199,
                    "end": 4208,
                    "loc": {
                      "start": {
                        "line": 95,
                        "column": 30
                      },
                      "end": {
                        "line": 95,
                        "column": 39
                      }
                    },
                    "name": "middleAng"
                  },
                  "right": {
                    "type": "BinaryExpression",
                    "start": 4212,
                    "end": 4223,
                    "loc": {
                      "start": {
                        "line": 95,
                        "column": 43
                      },
                      "end": {
                        "line": 95,
                        "column": 54
                      }
                    },
                    "left": {
                      "type": "Literal",
                      "start": 4212,
                      "end": 4213,
                      "loc": {
                        "start": {
                          "line": 95,
                          "column": 43
                        },
                        "end": {
                          "line": 95,
                          "column": 44
                        }
                      },
                      "value": 2,
                      "rawValue": 2,
                      "raw": "2"
                    },
                    "operator": "*",
                    "right": {
                      "type": "MemberExpression",
                      "start": 4216,
                      "end": 4223,
                      "loc": {
                        "start": {
                          "line": 95,
                          "column": 47
                        },
                        "end": {
                          "line": 95,
                          "column": 54
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 4216,
                        "end": 4220,
                        "loc": {
                          "start": {
                            "line": 95,
                            "column": 47
                          },
                          "end": {
                            "line": 95,
                            "column": 51
                          }
                        },
                        "name": "Math"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 4221,
                        "end": 4223,
                        "loc": {
                          "start": {
                            "line": 95,
                            "column": 52
                          },
                          "end": {
                            "line": 95,
                            "column": 54
                          }
                        },
                        "name": "PI"
                      },
                      "computed": false
                    }
                  }
                }
              },
              "alternate": null
            },
            {
              "type": "VariableDeclaration",
              "start": 4229,
              "end": 4266,
              "loc": {
                "start": {
                  "line": 96,
                  "column": 4
                },
                "end": {
                  "line": 96,
                  "column": 41
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 4233,
                  "end": 4265,
                  "loc": {
                    "start": {
                      "line": 96,
                      "column": 8
                    },
                    "end": {
                      "line": 96,
                      "column": 40
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 4233,
                    "end": 4242,
                    "loc": {
                      "start": {
                        "line": 96,
                        "column": 8
                      },
                      "end": {
                        "line": 96,
                        "column": 17
                      }
                    },
                    "name": "clockwise"
                  },
                  "init": {
                    "type": "BinaryExpression",
                    "start": 4246,
                    "end": 4264,
                    "loc": {
                      "start": {
                        "line": 96,
                        "column": 21
                      },
                      "end": {
                        "line": 96,
                        "column": 39
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 4246,
                      "end": 4255,
                      "loc": {
                        "start": {
                          "line": 96,
                          "column": 21
                        },
                        "end": {
                          "line": 96,
                          "column": 30
                        }
                      },
                      "name": "middleAng"
                    },
                    "operator": ">",
                    "right": {
                      "type": "Identifier",
                      "start": 4258,
                      "end": 4264,
                      "loc": {
                        "start": {
                          "line": 96,
                          "column": 33
                        },
                        "end": {
                          "line": 96,
                          "column": 39
                        }
                      },
                      "name": "endAng"
                    },
                    "parenthesizedExpression": true
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "ReturnStatement",
              "start": 4272,
              "end": 4345,
              "loc": {
                "start": {
                  "line": 98,
                  "column": 4
                },
                "end": {
                  "line": 98,
                  "column": 77
                }
              },
              "argument": {
                "type": "ObjectExpression",
                "start": 4279,
                "end": 4344,
                "loc": {
                  "start": {
                    "line": 98,
                    "column": 11
                  },
                  "end": {
                    "line": 98,
                    "column": 76
                  }
                },
                "properties": [
                  {
                    "type": "Property",
                    "start": 4280,
                    "end": 4295,
                    "loc": {
                      "start": {
                        "line": 98,
                        "column": 12
                      },
                      "end": {
                        "line": 98,
                        "column": 27
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 4280,
                      "end": 4285,
                      "loc": {
                        "start": {
                          "line": 98,
                          "column": 12
                        },
                        "end": {
                          "line": 98,
                          "column": 17
                        }
                      },
                      "name": "start"
                    },
                    "value": {
                      "type": "Identifier",
                      "start": 4287,
                      "end": 4295,
                      "loc": {
                        "start": {
                          "line": 98,
                          "column": 19
                        },
                        "end": {
                          "line": 98,
                          "column": 27
                        }
                      },
                      "name": "startPos"
                    },
                    "kind": "init"
                  },
                  {
                    "type": "Property",
                    "start": 4297,
                    "end": 4308,
                    "loc": {
                      "start": {
                        "line": 98,
                        "column": 29
                      },
                      "end": {
                        "line": 98,
                        "column": 40
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 4297,
                      "end": 4300,
                      "loc": {
                        "start": {
                          "line": 98,
                          "column": 29
                        },
                        "end": {
                          "line": 98,
                          "column": 32
                        }
                      },
                      "name": "end"
                    },
                    "value": {
                      "type": "Identifier",
                      "start": 4302,
                      "end": 4308,
                      "loc": {
                        "start": {
                          "line": 98,
                          "column": 34
                        },
                        "end": {
                          "line": 98,
                          "column": 40
                        }
                      },
                      "name": "endPos"
                    },
                    "kind": "init"
                  },
                  {
                    "type": "Property",
                    "start": 4310,
                    "end": 4321,
                    "loc": {
                      "start": {
                        "line": 98,
                        "column": 42
                      },
                      "end": {
                        "line": 98,
                        "column": 53
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 4310,
                      "end": 4316,
                      "loc": {
                        "start": {
                          "line": 98,
                          "column": 42
                        },
                        "end": {
                          "line": 98,
                          "column": 48
                        }
                      },
                      "name": "center"
                    },
                    "value": {
                      "type": "Identifier",
                      "start": 4318,
                      "end": 4321,
                      "loc": {
                        "start": {
                          "line": 98,
                          "column": 50
                        },
                        "end": {
                          "line": 98,
                          "column": 53
                        }
                      },
                      "name": "ctr"
                    },
                    "kind": "init"
                  },
                  {
                    "type": "Property",
                    "start": 4323,
                    "end": 4343,
                    "loc": {
                      "start": {
                        "line": 98,
                        "column": 55
                      },
                      "end": {
                        "line": 98,
                        "column": 75
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 4323,
                      "end": 4332,
                      "loc": {
                        "start": {
                          "line": 98,
                          "column": 55
                        },
                        "end": {
                          "line": 98,
                          "column": 64
                        }
                      },
                      "name": "clockwise"
                    },
                    "value": {
                      "type": "Identifier",
                      "start": 4334,
                      "end": 4343,
                      "loc": {
                        "start": {
                          "line": 98,
                          "column": 66
                        },
                        "end": {
                          "line": 98,
                          "column": 75
                        }
                      },
                      "name": "clockwise"
                    },
                    "kind": "init"
                  }
                ]
              }
            }
          ]
        },
        "leadingComments": [
          {
            "type": "CommentLine",
            "value": "Note: middle point should be within circlewith diameter [SE], otherwise it would be corrected",
            "start": 2474,
            "end": 2569,
            "loc": {
              "start": {
                "line": 57,
                "column": 0
              },
              "end": {
                "line": 57,
                "column": 95
              }
            },
            "range": [
              2474,
              2569
            ]
          }
        ],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null,
      "leadingComments": [
        {
          "type": "CommentLine",
          "value": "Note: middle point should be within circlewith diameter [SE], otherwise it would be corrected",
          "start": 2474,
          "end": 2569,
          "loc": {
            "start": {
              "line": 57,
              "column": 0
            },
            "end": {
              "line": 57,
              "column": 95
            }
          },
          "range": [
            2474,
            2569
          ]
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 4349,
      "end": 7298,
      "loc": {
        "start": {
          "line": 101,
          "column": 0
        },
        "end": {
          "line": 188,
          "column": 1
        }
      },
      "declaration": {
        "type": "FunctionDeclaration",
        "start": 4356,
        "end": 7298,
        "loc": {
          "start": {
            "line": 101,
            "column": 7
          },
          "end": {
            "line": 188,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 4365,
          "end": 4382,
          "loc": {
            "start": {
              "line": 101,
              "column": 16
            },
            "end": {
              "line": 101,
              "column": 33
            }
          },
          "name": "drawArcBy_Angle_M"
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [
          {
            "type": "Identifier",
            "start": 4383,
            "end": 4392,
            "loc": {
              "start": {
                "line": 101,
                "column": 34
              },
              "end": {
                "line": 101,
                "column": 43
              }
            },
            "name": "vertexPos"
          },
          {
            "type": "Identifier",
            "start": 4394,
            "end": 4402,
            "loc": {
              "start": {
                "line": 101,
                "column": 45
              },
              "end": {
                "line": 101,
                "column": 53
              }
            },
            "name": "startDir"
          },
          {
            "type": "Identifier",
            "start": 4404,
            "end": 4410,
            "loc": {
              "start": {
                "line": 101,
                "column": 55
              },
              "end": {
                "line": 101,
                "column": 61
              }
            },
            "name": "endDir"
          },
          {
            "type": "Identifier",
            "start": 4412,
            "end": 4421,
            "loc": {
              "start": {
                "line": 101,
                "column": 63
              },
              "end": {
                "line": 101,
                "column": 72
              }
            },
            "name": "middlePos"
          }
        ],
        "body": {
          "type": "BlockStatement",
          "start": 4423,
          "end": 7298,
          "loc": {
            "start": {
              "line": 101,
              "column": 74
            },
            "end": {
              "line": 188,
              "column": 1
            }
          },
          "body": [
            {
              "type": "VariableDeclaration",
              "start": 4447,
              "end": 4467,
              "loc": {
                "start": {
                  "line": 104,
                  "column": 4
                },
                "end": {
                  "line": 104,
                  "column": 24
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 4451,
                  "end": 4466,
                  "loc": {
                    "start": {
                      "line": 104,
                      "column": 8
                    },
                    "end": {
                      "line": 104,
                      "column": 23
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 4451,
                    "end": 4454,
                    "loc": {
                      "start": {
                        "line": 104,
                        "column": 8
                      },
                      "end": {
                        "line": 104,
                        "column": 11
                      }
                    },
                    "name": "len",
                    "leadingComments": null
                  },
                  "init": {
                    "type": "Identifier",
                    "start": 4457,
                    "end": 4466,
                    "loc": {
                      "start": {
                        "line": 104,
                        "column": 14
                      },
                      "end": {
                        "line": 104,
                        "column": 23
                      }
                    },
                    "name": "undefined"
                  },
                  "leadingComments": null
                }
              ],
              "kind": "var",
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": " to return",
                  "start": 4430,
                  "end": 4442,
                  "loc": {
                    "start": {
                      "line": 103,
                      "column": 4
                    },
                    "end": {
                      "line": 103,
                      "column": 16
                    }
                  },
                  "range": [
                    4430,
                    4442
                  ]
                }
              ]
            },
            {
              "type": "VariableDeclaration",
              "start": 4472,
              "end": 4510,
              "loc": {
                "start": {
                  "line": 105,
                  "column": 4
                },
                "end": {
                  "line": 105,
                  "column": 42
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 4476,
                  "end": 4509,
                  "loc": {
                    "start": {
                      "line": 105,
                      "column": 8
                    },
                    "end": {
                      "line": 105,
                      "column": 41
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 4476,
                    "end": 4482,
                    "loc": {
                      "start": {
                        "line": 105,
                        "column": 8
                      },
                      "end": {
                        "line": 105,
                        "column": 14
                      }
                    },
                    "name": "center"
                  },
                  "init": {
                    "type": "NewExpression",
                    "start": 4485,
                    "end": 4509,
                    "loc": {
                      "start": {
                        "line": 105,
                        "column": 17
                      },
                      "end": {
                        "line": 105,
                        "column": 41
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 4489,
                      "end": 4502,
                      "loc": {
                        "start": {
                          "line": 105,
                          "column": 21
                        },
                        "end": {
                          "line": 105,
                          "column": 34
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 4489,
                        "end": 4494,
                        "loc": {
                          "start": {
                            "line": 105,
                            "column": 21
                          },
                          "end": {
                            "line": 105,
                            "column": 26
                          }
                        },
                        "name": "THREE"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 4495,
                        "end": 4502,
                        "loc": {
                          "start": {
                            "line": 105,
                            "column": 27
                          },
                          "end": {
                            "line": 105,
                            "column": 34
                          }
                        },
                        "name": "Vector3"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Literal",
                        "start": 4503,
                        "end": 4504,
                        "loc": {
                          "start": {
                            "line": 105,
                            "column": 35
                          },
                          "end": {
                            "line": 105,
                            "column": 36
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      },
                      {
                        "type": "Literal",
                        "start": 4505,
                        "end": 4506,
                        "loc": {
                          "start": {
                            "line": 105,
                            "column": 37
                          },
                          "end": {
                            "line": 105,
                            "column": 38
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      },
                      {
                        "type": "Literal",
                        "start": 4507,
                        "end": 4508,
                        "loc": {
                          "start": {
                            "line": 105,
                            "column": 39
                          },
                          "end": {
                            "line": 105,
                            "column": 40
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 4516,
              "end": 4593,
              "loc": {
                "start": {
                  "line": 107,
                  "column": 4
                },
                "end": {
                  "line": 107,
                  "column": 81
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 4520,
                  "end": 4592,
                  "loc": {
                    "start": {
                      "line": 107,
                      "column": 8
                    },
                    "end": {
                      "line": 107,
                      "column": 80
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 4520,
                    "end": 4529,
                    "loc": {
                      "start": {
                        "line": 107,
                        "column": 8
                      },
                      "end": {
                        "line": 107,
                        "column": 17
                      }
                    },
                    "name": "centerDir"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 4532,
                    "end": 4592,
                    "loc": {
                      "start": {
                        "line": 107,
                        "column": 20
                      },
                      "end": {
                        "line": 107,
                        "column": 80
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 4532,
                      "end": 4590,
                      "loc": {
                        "start": {
                          "line": 107,
                          "column": 20
                        },
                        "end": {
                          "line": 107,
                          "column": 78
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 4532,
                        "end": 4580,
                        "loc": {
                          "start": {
                            "line": 107,
                            "column": 20
                          },
                          "end": {
                            "line": 107,
                            "column": 68
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 4532,
                          "end": 4575,
                          "loc": {
                            "start": {
                              "line": 107,
                              "column": 20
                            },
                            "end": {
                              "line": 107,
                              "column": 63
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 4532,
                            "end": 4560,
                            "loc": {
                              "start": {
                                "line": 107,
                                "column": 20
                              },
                              "end": {
                                "line": 107,
                                "column": 48
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 4532,
                              "end": 4552,
                              "loc": {
                                "start": {
                                  "line": 107,
                                  "column": 20
                                },
                                "end": {
                                  "line": 107,
                                  "column": 40
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 4532,
                                "end": 4548,
                                "loc": {
                                  "start": {
                                    "line": 107,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 107,
                                    "column": 36
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 4532,
                                  "end": 4546,
                                  "loc": {
                                    "start": {
                                      "line": 107,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 107,
                                      "column": 34
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 4532,
                                    "end": 4540,
                                    "loc": {
                                      "start": {
                                        "line": 107,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 107,
                                        "column": 28
                                      }
                                    },
                                    "name": "startDir"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4541,
                                    "end": 4546,
                                    "loc": {
                                      "start": {
                                        "line": 107,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 107,
                                        "column": 34
                                      }
                                    },
                                    "name": "clone"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 4549,
                                "end": 4552,
                                "loc": {
                                  "start": {
                                    "line": 107,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 107,
                                    "column": 40
                                  }
                                },
                                "name": "add"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 4553,
                                "end": 4559,
                                "loc": {
                                  "start": {
                                    "line": 107,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 107,
                                    "column": 47
                                  }
                                },
                                "name": "endDir"
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4561,
                            "end": 4575,
                            "loc": {
                              "start": {
                                "line": 107,
                                "column": 49
                              },
                              "end": {
                                "line": 107,
                                "column": 63
                              }
                            },
                            "name": "multiplyScalar"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 4576,
                            "end": 4579,
                            "loc": {
                              "start": {
                                "line": 107,
                                "column": 64
                              },
                              "end": {
                                "line": 107,
                                "column": 67
                              }
                            },
                            "value": 0.5,
                            "rawValue": 0.5,
                            "raw": "0.5"
                          }
                        ]
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 4581,
                        "end": 4590,
                        "loc": {
                          "start": {
                            "line": 107,
                            "column": 69
                          },
                          "end": {
                            "line": 107,
                            "column": 78
                          }
                        },
                        "name": "normalize"
                      },
                      "computed": false
                    },
                    "arguments": []
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 4598,
              "end": 4652,
              "loc": {
                "start": {
                  "line": 108,
                  "column": 4
                },
                "end": {
                  "line": 108,
                  "column": 58
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 4602,
                  "end": 4651,
                  "loc": {
                    "start": {
                      "line": 108,
                      "column": 8
                    },
                    "end": {
                      "line": 108,
                      "column": 57
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 4602,
                    "end": 4616,
                    "loc": {
                      "start": {
                        "line": 108,
                        "column": 8
                      },
                      "end": {
                        "line": 108,
                        "column": 22
                      }
                    },
                    "name": "vertexToMiddle"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 4619,
                    "end": 4651,
                    "loc": {
                      "start": {
                        "line": 108,
                        "column": 25
                      },
                      "end": {
                        "line": 108,
                        "column": 57
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 4619,
                      "end": 4640,
                      "loc": {
                        "start": {
                          "line": 108,
                          "column": 25
                        },
                        "end": {
                          "line": 108,
                          "column": 46
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 4619,
                        "end": 4636,
                        "loc": {
                          "start": {
                            "line": 108,
                            "column": 25
                          },
                          "end": {
                            "line": 108,
                            "column": 42
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 4619,
                          "end": 4634,
                          "loc": {
                            "start": {
                              "line": 108,
                              "column": 25
                            },
                            "end": {
                              "line": 108,
                              "column": 40
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 4619,
                            "end": 4628,
                            "loc": {
                              "start": {
                                "line": 108,
                                "column": 25
                              },
                              "end": {
                                "line": 108,
                                "column": 34
                              }
                            },
                            "name": "middlePos"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4629,
                            "end": 4634,
                            "loc": {
                              "start": {
                                "line": 108,
                                "column": 35
                              },
                              "end": {
                                "line": 108,
                                "column": 40
                              }
                            },
                            "name": "clone"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 4637,
                        "end": 4640,
                        "loc": {
                          "start": {
                            "line": 108,
                            "column": 43
                          },
                          "end": {
                            "line": 108,
                            "column": 46
                          }
                        },
                        "name": "sub"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 4641,
                        "end": 4650,
                        "loc": {
                          "start": {
                            "line": 108,
                            "column": 47
                          },
                          "end": {
                            "line": 108,
                            "column": 56
                          }
                        },
                        "name": "vertexPos"
                      }
                    ]
                  }
                }
              ],
              "kind": "var",
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": " if radius is too small or middlepos and its projection to centerDir is out of filletAngle",
                  "start": 4658,
                  "end": 4750,
                  "loc": {
                    "start": {
                      "line": 110,
                      "column": 4
                    },
                    "end": {
                      "line": 110,
                      "column": 96
                    }
                  },
                  "range": [
                    4658,
                    4750
                  ]
                }
              ]
            },
            {
              "type": "IfStatement",
              "start": 4755,
              "end": 4848,
              "loc": {
                "start": {
                  "line": 111,
                  "column": 4
                },
                "end": {
                  "line": 112,
                  "column": 20
                }
              },
              "test": {
                "type": "LogicalExpression",
                "start": 4759,
                "end": 4826,
                "loc": {
                  "start": {
                    "line": 111,
                    "column": 8
                  },
                  "end": {
                    "line": 111,
                    "column": 75
                  }
                },
                "left": {
                  "type": "BinaryExpression",
                  "start": 4759,
                  "end": 4789,
                  "loc": {
                    "start": {
                      "line": 111,
                      "column": 8
                    },
                    "end": {
                      "line": 111,
                      "column": 38
                    }
                  },
                  "left": {
                    "type": "CallExpression",
                    "start": 4759,
                    "end": 4782,
                    "loc": {
                      "start": {
                        "line": 111,
                        "column": 8
                      },
                      "end": {
                        "line": 111,
                        "column": 31
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 4759,
                      "end": 4780,
                      "loc": {
                        "start": {
                          "line": 111,
                          "column": 8
                        },
                        "end": {
                          "line": 111,
                          "column": 29
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 4759,
                        "end": 4773,
                        "loc": {
                          "start": {
                            "line": 111,
                            "column": 8
                          },
                          "end": {
                            "line": 111,
                            "column": 22
                          }
                        },
                        "name": "vertexToMiddle",
                        "leadingComments": null
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 4774,
                        "end": 4780,
                        "loc": {
                          "start": {
                            "line": 111,
                            "column": 23
                          },
                          "end": {
                            "line": 111,
                            "column": 29
                          }
                        },
                        "name": "length"
                      },
                      "computed": false,
                      "leadingComments": null
                    },
                    "arguments": [],
                    "leadingComments": null
                  },
                  "operator": "<",
                  "right": {
                    "type": "Literal",
                    "start": 4785,
                    "end": 4789,
                    "loc": {
                      "start": {
                        "line": 111,
                        "column": 34
                      },
                      "end": {
                        "line": 111,
                        "column": 38
                      }
                    },
                    "value": 0.01,
                    "rawValue": 0.01,
                    "raw": "1e-2"
                  },
                  "leadingComments": null
                },
                "operator": "||",
                "right": {
                  "type": "BinaryExpression",
                  "start": 4793,
                  "end": 4826,
                  "loc": {
                    "start": {
                      "line": 111,
                      "column": 42
                    },
                    "end": {
                      "line": 111,
                      "column": 75
                    }
                  },
                  "left": {
                    "type": "CallExpression",
                    "start": 4793,
                    "end": 4822,
                    "loc": {
                      "start": {
                        "line": 111,
                        "column": 42
                      },
                      "end": {
                        "line": 111,
                        "column": 71
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 4793,
                      "end": 4811,
                      "loc": {
                        "start": {
                          "line": 111,
                          "column": 42
                        },
                        "end": {
                          "line": 111,
                          "column": 60
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 4793,
                        "end": 4807,
                        "loc": {
                          "start": {
                            "line": 111,
                            "column": 42
                          },
                          "end": {
                            "line": 111,
                            "column": 56
                          }
                        },
                        "name": "vertexToMiddle"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 4808,
                        "end": 4811,
                        "loc": {
                          "start": {
                            "line": 111,
                            "column": 57
                          },
                          "end": {
                            "line": 111,
                            "column": 60
                          }
                        },
                        "name": "dot"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 4812,
                        "end": 4821,
                        "loc": {
                          "start": {
                            "line": 111,
                            "column": 61
                          },
                          "end": {
                            "line": 111,
                            "column": 70
                          }
                        },
                        "name": "centerDir"
                      }
                    ]
                  },
                  "operator": "<",
                  "right": {
                    "type": "Literal",
                    "start": 4825,
                    "end": 4826,
                    "loc": {
                      "start": {
                        "line": 111,
                        "column": 74
                      },
                      "end": {
                        "line": 111,
                        "column": 75
                      }
                    },
                    "value": 0,
                    "rawValue": 0,
                    "raw": "0"
                  }
                },
                "leadingComments": null
              },
              "consequent": {
                "type": "ReturnStatement",
                "start": 4836,
                "end": 4848,
                "loc": {
                  "start": {
                    "line": 112,
                    "column": 8
                  },
                  "end": {
                    "line": 112,
                    "column": 20
                  }
                },
                "argument": {
                  "type": "Literal",
                  "start": 4843,
                  "end": 4847,
                  "loc": {
                    "start": {
                      "line": 112,
                      "column": 15
                    },
                    "end": {
                      "line": 112,
                      "column": 19
                    }
                  },
                  "value": null,
                  "rawValue": null,
                  "raw": "null"
                },
                "trailingComments": null
              },
              "alternate": null,
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": " if radius is too small or middlepos and its projection to centerDir is out of filletAngle",
                  "start": 4658,
                  "end": 4750,
                  "loc": {
                    "start": {
                      "line": 110,
                      "column": 4
                    },
                    "end": {
                      "line": 110,
                      "column": 96
                    }
                  },
                  "range": [
                    4658,
                    4750
                  ]
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": " if  middlepos is out of filletAngle but its projection to centerDir isn't",
                  "start": 4854,
                  "end": 4930,
                  "loc": {
                    "start": {
                      "line": 114,
                      "column": 4
                    },
                    "end": {
                      "line": 114,
                      "column": 80
                    }
                  },
                  "range": [
                    4854,
                    4930
                  ]
                }
              ]
            },
            {
              "type": "VariableDeclaration",
              "start": 4935,
              "end": 4972,
              "loc": {
                "start": {
                  "line": 115,
                  "column": 4
                },
                "end": {
                  "line": 115,
                  "column": 41
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 4939,
                  "end": 4971,
                  "loc": {
                    "start": {
                      "line": 115,
                      "column": 8
                    },
                    "end": {
                      "line": 115,
                      "column": 40
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 4939,
                    "end": 4944,
                    "loc": {
                      "start": {
                        "line": 115,
                        "column": 8
                      },
                      "end": {
                        "line": 115,
                        "column": 13
                      }
                    },
                    "name": "alpha",
                    "leadingComments": null
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 4947,
                    "end": 4971,
                    "loc": {
                      "start": {
                        "line": 115,
                        "column": 16
                      },
                      "end": {
                        "line": 115,
                        "column": 40
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 4947,
                      "end": 4961,
                      "loc": {
                        "start": {
                          "line": 115,
                          "column": 16
                        },
                        "end": {
                          "line": 115,
                          "column": 30
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 4947,
                        "end": 4953,
                        "loc": {
                          "start": {
                            "line": 115,
                            "column": 16
                          },
                          "end": {
                            "line": 115,
                            "column": 22
                          }
                        },
                        "name": "endDir"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 4954,
                        "end": 4961,
                        "loc": {
                          "start": {
                            "line": 115,
                            "column": 23
                          },
                          "end": {
                            "line": 115,
                            "column": 30
                          }
                        },
                        "name": "angleTo"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 4962,
                        "end": 4970,
                        "loc": {
                          "start": {
                            "line": 115,
                            "column": 31
                          },
                          "end": {
                            "line": 115,
                            "column": 39
                          }
                        },
                        "name": "startDir"
                      }
                    ]
                  },
                  "leadingComments": null
                }
              ],
              "kind": "var",
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": " if  middlepos is out of filletAngle but its projection to centerDir isn't",
                  "start": 4854,
                  "end": 4930,
                  "loc": {
                    "start": {
                      "line": 114,
                      "column": 4
                    },
                    "end": {
                      "line": 114,
                      "column": 80
                    }
                  },
                  "range": [
                    4854,
                    4930
                  ]
                }
              ]
            },
            {
              "type": "VariableDeclaration",
              "start": 4977,
              "end": 5032,
              "loc": {
                "start": {
                  "line": 116,
                  "column": 4
                },
                "end": {
                  "line": 116,
                  "column": 59
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 4981,
                  "end": 5031,
                  "loc": {
                    "start": {
                      "line": 116,
                      "column": 8
                    },
                    "end": {
                      "line": 116,
                      "column": 58
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 4981,
                    "end": 4996,
                    "loc": {
                      "start": {
                        "line": 116,
                        "column": 8
                      },
                      "end": {
                        "line": 116,
                        "column": 23
                      }
                    },
                    "name": "angleMidToStart"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 4999,
                    "end": 5031,
                    "loc": {
                      "start": {
                        "line": 116,
                        "column": 26
                      },
                      "end": {
                        "line": 116,
                        "column": 58
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 4999,
                      "end": 5021,
                      "loc": {
                        "start": {
                          "line": 116,
                          "column": 26
                        },
                        "end": {
                          "line": 116,
                          "column": 48
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 4999,
                        "end": 5013,
                        "loc": {
                          "start": {
                            "line": 116,
                            "column": 26
                          },
                          "end": {
                            "line": 116,
                            "column": 40
                          }
                        },
                        "name": "vertexToMiddle"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 5014,
                        "end": 5021,
                        "loc": {
                          "start": {
                            "line": 116,
                            "column": 41
                          },
                          "end": {
                            "line": 116,
                            "column": 48
                          }
                        },
                        "name": "angleTo"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 5022,
                        "end": 5030,
                        "loc": {
                          "start": {
                            "line": 116,
                            "column": 49
                          },
                          "end": {
                            "line": 116,
                            "column": 57
                          }
                        },
                        "name": "startDir"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 5037,
              "end": 5088,
              "loc": {
                "start": {
                  "line": 117,
                  "column": 4
                },
                "end": {
                  "line": 117,
                  "column": 55
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 5041,
                  "end": 5087,
                  "loc": {
                    "start": {
                      "line": 117,
                      "column": 8
                    },
                    "end": {
                      "line": 117,
                      "column": 54
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 5041,
                    "end": 5054,
                    "loc": {
                      "start": {
                        "line": 117,
                        "column": 8
                      },
                      "end": {
                        "line": 117,
                        "column": 21
                      }
                    },
                    "name": "angleMidToEnd"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 5057,
                    "end": 5087,
                    "loc": {
                      "start": {
                        "line": 117,
                        "column": 24
                      },
                      "end": {
                        "line": 117,
                        "column": 54
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 5057,
                      "end": 5079,
                      "loc": {
                        "start": {
                          "line": 117,
                          "column": 24
                        },
                        "end": {
                          "line": 117,
                          "column": 46
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 5057,
                        "end": 5071,
                        "loc": {
                          "start": {
                            "line": 117,
                            "column": 24
                          },
                          "end": {
                            "line": 117,
                            "column": 38
                          }
                        },
                        "name": "vertexToMiddle"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 5072,
                        "end": 5079,
                        "loc": {
                          "start": {
                            "line": 117,
                            "column": 39
                          },
                          "end": {
                            "line": 117,
                            "column": 46
                          }
                        },
                        "name": "angleTo"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 5080,
                        "end": 5086,
                        "loc": {
                          "start": {
                            "line": 117,
                            "column": 47
                          },
                          "end": {
                            "line": 117,
                            "column": 53
                          }
                        },
                        "name": "endDir"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 5094,
              "end": 5157,
              "loc": {
                "start": {
                  "line": 119,
                  "column": 4
                },
                "end": {
                  "line": 119,
                  "column": 67
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 5098,
                  "end": 5156,
                  "loc": {
                    "start": {
                      "line": 119,
                      "column": 8
                    },
                    "end": {
                      "line": 119,
                      "column": 66
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 5098,
                    "end": 5106,
                    "loc": {
                      "start": {
                        "line": 119,
                        "column": 8
                      },
                      "end": {
                        "line": 119,
                        "column": 16
                      }
                    },
                    "name": "maxAngle"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 5109,
                    "end": 5156,
                    "loc": {
                      "start": {
                        "line": 119,
                        "column": 19
                      },
                      "end": {
                        "line": 119,
                        "column": 66
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 5109,
                      "end": 5117,
                      "loc": {
                        "start": {
                          "line": 119,
                          "column": 19
                        },
                        "end": {
                          "line": 119,
                          "column": 27
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 5109,
                        "end": 5113,
                        "loc": {
                          "start": {
                            "line": 119,
                            "column": 19
                          },
                          "end": {
                            "line": 119,
                            "column": 23
                          }
                        },
                        "name": "Math"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 5114,
                        "end": 5117,
                        "loc": {
                          "start": {
                            "line": 119,
                            "column": 24
                          },
                          "end": {
                            "line": 119,
                            "column": 27
                          }
                        },
                        "name": "max"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 5118,
                        "end": 5133,
                        "loc": {
                          "start": {
                            "line": 119,
                            "column": 28
                          },
                          "end": {
                            "line": 119,
                            "column": 43
                          }
                        },
                        "name": "angleMidToStart"
                      },
                      {
                        "type": "Identifier",
                        "start": 5135,
                        "end": 5148,
                        "loc": {
                          "start": {
                            "line": 119,
                            "column": 45
                          },
                          "end": {
                            "line": 119,
                            "column": 58
                          }
                        },
                        "name": "angleMidToEnd"
                      },
                      {
                        "type": "Identifier",
                        "start": 5150,
                        "end": 5155,
                        "loc": {
                          "start": {
                            "line": 119,
                            "column": 60
                          },
                          "end": {
                            "line": 119,
                            "column": 65
                          }
                        },
                        "name": "alpha"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "IfStatement",
              "start": 5162,
              "end": 5398,
              "loc": {
                "start": {
                  "line": 120,
                  "column": 4
                },
                "end": {
                  "line": 127,
                  "column": 5
                }
              },
              "test": {
                "type": "BinaryExpression",
                "start": 5166,
                "end": 5184,
                "loc": {
                  "start": {
                    "line": 120,
                    "column": 8
                  },
                  "end": {
                    "line": 120,
                    "column": 26
                  }
                },
                "left": {
                  "type": "Identifier",
                  "start": 5166,
                  "end": 5174,
                  "loc": {
                    "start": {
                      "line": 120,
                      "column": 8
                    },
                    "end": {
                      "line": 120,
                      "column": 16
                    }
                  },
                  "name": "maxAngle"
                },
                "operator": "!==",
                "right": {
                  "type": "Identifier",
                  "start": 5179,
                  "end": 5184,
                  "loc": {
                    "start": {
                      "line": 120,
                      "column": 21
                    },
                    "end": {
                      "line": 120,
                      "column": 26
                    }
                  },
                  "name": "alpha"
                }
              },
              "consequent": {
                "type": "BlockStatement",
                "start": 5186,
                "end": 5398,
                "loc": {
                  "start": {
                    "line": 120,
                    "column": 28
                  },
                  "end": {
                    "line": 127,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "IfStatement",
                    "start": 5196,
                    "end": 5392,
                    "loc": {
                      "start": {
                        "line": 121,
                        "column": 8
                      },
                      "end": {
                        "line": 126,
                        "column": 9
                      }
                    },
                    "test": {
                      "type": "BinaryExpression",
                      "start": 5200,
                      "end": 5228,
                      "loc": {
                        "start": {
                          "line": 121,
                          "column": 12
                        },
                        "end": {
                          "line": 121,
                          "column": 40
                        }
                      },
                      "left": {
                        "type": "Identifier",
                        "start": 5200,
                        "end": 5215,
                        "loc": {
                          "start": {
                            "line": 121,
                            "column": 12
                          },
                          "end": {
                            "line": 121,
                            "column": 27
                          }
                        },
                        "name": "angleMidToStart"
                      },
                      "operator": "===",
                      "right": {
                        "type": "Identifier",
                        "start": 5220,
                        "end": 5228,
                        "loc": {
                          "start": {
                            "line": 121,
                            "column": 32
                          },
                          "end": {
                            "line": 121,
                            "column": 40
                          }
                        },
                        "name": "maxAngle"
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 5230,
                      "end": 5287,
                      "loc": {
                        "start": {
                          "line": 121,
                          "column": 42
                        },
                        "end": {
                          "line": 123,
                          "column": 9
                        }
                      },
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "start": 5244,
                          "end": 5277,
                          "loc": {
                            "start": {
                              "line": 122,
                              "column": 12
                            },
                            "end": {
                              "line": 122,
                              "column": 45
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 5244,
                            "end": 5276,
                            "loc": {
                              "start": {
                                "line": 122,
                                "column": 12
                              },
                              "end": {
                                "line": 122,
                                "column": 44
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 5244,
                              "end": 5247,
                              "loc": {
                                "start": {
                                  "line": 122,
                                  "column": 12
                                },
                                "end": {
                                  "line": 122,
                                  "column": 15
                                }
                              },
                              "name": "len"
                            },
                            "right": {
                              "type": "CallExpression",
                              "start": 5250,
                              "end": 5276,
                              "loc": {
                                "start": {
                                  "line": 122,
                                  "column": 18
                                },
                                "end": {
                                  "line": 122,
                                  "column": 44
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 5250,
                                "end": 5268,
                                "loc": {
                                  "start": {
                                    "line": 122,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 122,
                                    "column": 36
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 5250,
                                  "end": 5264,
                                  "loc": {
                                    "start": {
                                      "line": 122,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 122,
                                      "column": 32
                                    }
                                  },
                                  "name": "vertexToMiddle"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 5265,
                                  "end": 5268,
                                  "loc": {
                                    "start": {
                                      "line": 122,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 122,
                                      "column": 36
                                    }
                                  },
                                  "name": "dot"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 5269,
                                  "end": 5275,
                                  "loc": {
                                    "start": {
                                      "line": 122,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 122,
                                      "column": 43
                                    }
                                  },
                                  "name": "endDir"
                                }
                              ]
                            }
                          }
                        }
                      ]
                    },
                    "alternate": {
                      "type": "IfStatement",
                      "start": 5301,
                      "end": 5392,
                      "loc": {
                        "start": {
                          "line": 124,
                          "column": 13
                        },
                        "end": {
                          "line": 126,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 5305,
                        "end": 5331,
                        "loc": {
                          "start": {
                            "line": 124,
                            "column": 17
                          },
                          "end": {
                            "line": 124,
                            "column": 43
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 5305,
                          "end": 5318,
                          "loc": {
                            "start": {
                              "line": 124,
                              "column": 17
                            },
                            "end": {
                              "line": 124,
                              "column": 30
                            }
                          },
                          "name": "angleMidToEnd"
                        },
                        "operator": "===",
                        "right": {
                          "type": "Identifier",
                          "start": 5323,
                          "end": 5331,
                          "loc": {
                            "start": {
                              "line": 124,
                              "column": 35
                            },
                            "end": {
                              "line": 124,
                              "column": 43
                            }
                          },
                          "name": "maxAngle"
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 5333,
                        "end": 5392,
                        "loc": {
                          "start": {
                            "line": 124,
                            "column": 45
                          },
                          "end": {
                            "line": 126,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 5347,
                            "end": 5382,
                            "loc": {
                              "start": {
                                "line": 125,
                                "column": 12
                              },
                              "end": {
                                "line": 125,
                                "column": 47
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 5347,
                              "end": 5381,
                              "loc": {
                                "start": {
                                  "line": 125,
                                  "column": 12
                                },
                                "end": {
                                  "line": 125,
                                  "column": 46
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 5347,
                                "end": 5350,
                                "loc": {
                                  "start": {
                                    "line": 125,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 125,
                                    "column": 15
                                  }
                                },
                                "name": "len"
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 5353,
                                "end": 5381,
                                "loc": {
                                  "start": {
                                    "line": 125,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 125,
                                    "column": 46
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 5353,
                                  "end": 5371,
                                  "loc": {
                                    "start": {
                                      "line": 125,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 125,
                                      "column": 36
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 5353,
                                    "end": 5367,
                                    "loc": {
                                      "start": {
                                        "line": 125,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 125,
                                        "column": 32
                                      }
                                    },
                                    "name": "vertexToMiddle"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 5368,
                                    "end": 5371,
                                    "loc": {
                                      "start": {
                                        "line": 125,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 125,
                                        "column": 36
                                      }
                                    },
                                    "name": "dot"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 5372,
                                    "end": 5380,
                                    "loc": {
                                      "start": {
                                        "line": 125,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 125,
                                        "column": 45
                                      }
                                    },
                                    "name": "startDir"
                                  }
                                ]
                              }
                            }
                          }
                        ]
                      },
                      "alternate": null
                    }
                  }
                ]
              },
              "alternate": null
            },
            {
              "type": "IfStatement",
              "start": 5404,
              "end": 5800,
              "loc": {
                "start": {
                  "line": 129,
                  "column": 4
                },
                "end": {
                  "line": 137,
                  "column": 5
                }
              },
              "test": {
                "type": "Identifier",
                "start": 5408,
                "end": 5411,
                "loc": {
                  "start": {
                    "line": 129,
                    "column": 8
                  },
                  "end": {
                    "line": 129,
                    "column": 11
                  }
                },
                "name": "len"
              },
              "consequent": {
                "type": "BlockStatement",
                "start": 5413,
                "end": 5800,
                "loc": {
                  "start": {
                    "line": 129,
                    "column": 13
                  },
                  "end": {
                    "line": 137,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 5423,
                    "end": 5511,
                    "loc": {
                      "start": {
                        "line": 130,
                        "column": 8
                      },
                      "end": {
                        "line": 130,
                        "column": 96
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 5423,
                      "end": 5510,
                      "loc": {
                        "start": {
                          "line": 130,
                          "column": 8
                        },
                        "end": {
                          "line": 130,
                          "column": 95
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 5423,
                        "end": 5429,
                        "loc": {
                          "start": {
                            "line": 130,
                            "column": 8
                          },
                          "end": {
                            "line": 130,
                            "column": 14
                          }
                        },
                        "name": "center"
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 5432,
                        "end": 5510,
                        "loc": {
                          "start": {
                            "line": 130,
                            "column": 17
                          },
                          "end": {
                            "line": 130,
                            "column": 95
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5432,
                          "end": 5453,
                          "loc": {
                            "start": {
                              "line": 130,
                              "column": 17
                            },
                            "end": {
                              "line": 130,
                              "column": 38
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 5432,
                            "end": 5449,
                            "loc": {
                              "start": {
                                "line": 130,
                                "column": 17
                              },
                              "end": {
                                "line": 130,
                                "column": 34
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 5432,
                              "end": 5447,
                              "loc": {
                                "start": {
                                  "line": 130,
                                  "column": 17
                                },
                                "end": {
                                  "line": 130,
                                  "column": 32
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 5432,
                                "end": 5441,
                                "loc": {
                                  "start": {
                                    "line": 130,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 130,
                                    "column": 26
                                  }
                                },
                                "name": "vertexPos"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5442,
                                "end": 5447,
                                "loc": {
                                  "start": {
                                    "line": 130,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 130,
                                    "column": 32
                                  }
                                },
                                "name": "clone"
                              },
                              "computed": false
                            },
                            "arguments": []
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5450,
                            "end": 5453,
                            "loc": {
                              "start": {
                                "line": 130,
                                "column": 35
                              },
                              "end": {
                                "line": 130,
                                "column": 38
                              }
                            },
                            "name": "add"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "start": 5454,
                            "end": 5509,
                            "loc": {
                              "start": {
                                "line": 130,
                                "column": 39
                              },
                              "end": {
                                "line": 130,
                                "column": 94
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 5454,
                              "end": 5486,
                              "loc": {
                                "start": {
                                  "line": 130,
                                  "column": 39
                                },
                                "end": {
                                  "line": 130,
                                  "column": 71
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 5454,
                                "end": 5471,
                                "loc": {
                                  "start": {
                                    "line": 130,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 130,
                                    "column": 56
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 5454,
                                  "end": 5469,
                                  "loc": {
                                    "start": {
                                      "line": 130,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 130,
                                      "column": 54
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 5454,
                                    "end": 5463,
                                    "loc": {
                                      "start": {
                                        "line": 130,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 130,
                                        "column": 48
                                      }
                                    },
                                    "name": "centerDir"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 5464,
                                    "end": 5469,
                                    "loc": {
                                      "start": {
                                        "line": 130,
                                        "column": 49
                                      },
                                      "end": {
                                        "line": 130,
                                        "column": 54
                                      }
                                    },
                                    "name": "clone"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5472,
                                "end": 5486,
                                "loc": {
                                  "start": {
                                    "line": 130,
                                    "column": 57
                                  },
                                  "end": {
                                    "line": 130,
                                    "column": 71
                                  }
                                },
                                "name": "multiplyScalar"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "BinaryExpression",
                                "start": 5487,
                                "end": 5508,
                                "loc": {
                                  "start": {
                                    "line": 130,
                                    "column": 72
                                  },
                                  "end": {
                                    "line": 130,
                                    "column": 93
                                  }
                                },
                                "left": {
                                  "type": "Identifier",
                                  "start": 5487,
                                  "end": 5490,
                                  "loc": {
                                    "start": {
                                      "line": 130,
                                      "column": 72
                                    },
                                    "end": {
                                      "line": 130,
                                      "column": 75
                                    }
                                  },
                                  "name": "len"
                                },
                                "operator": "/",
                                "right": {
                                  "type": "CallExpression",
                                  "start": 5491,
                                  "end": 5508,
                                  "loc": {
                                    "start": {
                                      "line": 130,
                                      "column": 76
                                    },
                                    "end": {
                                      "line": 130,
                                      "column": 93
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 5491,
                                    "end": 5499,
                                    "loc": {
                                      "start": {
                                        "line": 130,
                                        "column": 76
                                      },
                                      "end": {
                                        "line": 130,
                                        "column": 84
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 5491,
                                      "end": 5495,
                                      "loc": {
                                        "start": {
                                          "line": 130,
                                          "column": 76
                                        },
                                        "end": {
                                          "line": 130,
                                          "column": 80
                                        }
                                      },
                                      "name": "Math"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 5496,
                                      "end": 5499,
                                      "loc": {
                                        "start": {
                                          "line": 130,
                                          "column": 81
                                        },
                                        "end": {
                                          "line": 130,
                                          "column": 84
                                        }
                                      },
                                      "name": "cos"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "BinaryExpression",
                                      "start": 5500,
                                      "end": 5507,
                                      "loc": {
                                        "start": {
                                          "line": 130,
                                          "column": 85
                                        },
                                        "end": {
                                          "line": 130,
                                          "column": 92
                                        }
                                      },
                                      "left": {
                                        "type": "Identifier",
                                        "start": 5500,
                                        "end": 5505,
                                        "loc": {
                                          "start": {
                                            "line": 130,
                                            "column": 85
                                          },
                                          "end": {
                                            "line": 130,
                                            "column": 90
                                          }
                                        },
                                        "name": "alpha"
                                      },
                                      "operator": "/",
                                      "right": {
                                        "type": "Literal",
                                        "start": 5506,
                                        "end": 5507,
                                        "loc": {
                                          "start": {
                                            "line": 130,
                                            "column": 91
                                          },
                                          "end": {
                                            "line": 130,
                                            "column": 92
                                          }
                                        },
                                        "value": 2,
                                        "rawValue": 2,
                                        "raw": "2"
                                      }
                                    }
                                  ]
                                }
                              }
                            ]
                          }
                        ]
                      }
                    },
                    "trailingComments": [
                      {
                        "type": "CommentLine",
                        "value": " fillet angle < 180 => cos(alpha/2) != 0",
                        "start": 5512,
                        "end": 5554,
                        "loc": {
                          "start": {
                            "line": 130,
                            "column": 97
                          },
                          "end": {
                            "line": 130,
                            "column": 139
                          }
                        },
                        "range": [
                          5512,
                          5554
                        ]
                      }
                    ]
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 5563,
                    "end": 5794,
                    "loc": {
                      "start": {
                        "line": 131,
                        "column": 8
                      },
                      "end": {
                        "line": 136,
                        "column": 10
                      }
                    },
                    "argument": {
                      "type": "ObjectExpression",
                      "start": 5570,
                      "end": 5793,
                      "loc": {
                        "start": {
                          "line": 131,
                          "column": 15
                        },
                        "end": {
                          "line": 136,
                          "column": 9
                        }
                      },
                      "properties": [
                        {
                          "type": "Property",
                          "start": 5584,
                          "end": 5650,
                          "loc": {
                            "start": {
                              "line": 132,
                              "column": 12
                            },
                            "end": {
                              "line": 132,
                              "column": 78
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 5584,
                            "end": 5589,
                            "loc": {
                              "start": {
                                "line": 132,
                                "column": 12
                              },
                              "end": {
                                "line": 132,
                                "column": 17
                              }
                            },
                            "name": "start",
                            "leadingComments": null
                          },
                          "value": {
                            "type": "CallExpression",
                            "start": 5591,
                            "end": 5650,
                            "loc": {
                              "start": {
                                "line": 132,
                                "column": 19
                              },
                              "end": {
                                "line": 132,
                                "column": 78
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 5591,
                              "end": 5612,
                              "loc": {
                                "start": {
                                  "line": 132,
                                  "column": 19
                                },
                                "end": {
                                  "line": 132,
                                  "column": 40
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 5591,
                                "end": 5608,
                                "loc": {
                                  "start": {
                                    "line": 132,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 132,
                                    "column": 36
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 5591,
                                  "end": 5606,
                                  "loc": {
                                    "start": {
                                      "line": 132,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 132,
                                      "column": 34
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 5591,
                                    "end": 5600,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 28
                                      }
                                    },
                                    "name": "vertexPos"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 5601,
                                    "end": 5606,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 34
                                      }
                                    },
                                    "name": "clone"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5609,
                                "end": 5612,
                                "loc": {
                                  "start": {
                                    "line": 132,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 132,
                                    "column": 40
                                  }
                                },
                                "name": "add"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "CallExpression",
                                "start": 5613,
                                "end": 5649,
                                "loc": {
                                  "start": {
                                    "line": 132,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 132,
                                    "column": 77
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 5613,
                                  "end": 5644,
                                  "loc": {
                                    "start": {
                                      "line": 132,
                                      "column": 41
                                    },
                                    "end": {
                                      "line": 132,
                                      "column": 72
                                    }
                                  },
                                  "object": {
                                    "type": "CallExpression",
                                    "start": 5613,
                                    "end": 5629,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 41
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 57
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 5613,
                                      "end": 5627,
                                      "loc": {
                                        "start": {
                                          "line": 132,
                                          "column": 41
                                        },
                                        "end": {
                                          "line": 132,
                                          "column": 55
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 5613,
                                        "end": 5621,
                                        "loc": {
                                          "start": {
                                            "line": 132,
                                            "column": 41
                                          },
                                          "end": {
                                            "line": 132,
                                            "column": 49
                                          }
                                        },
                                        "name": "startDir"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 5622,
                                        "end": 5627,
                                        "loc": {
                                          "start": {
                                            "line": 132,
                                            "column": 50
                                          },
                                          "end": {
                                            "line": 132,
                                            "column": 55
                                          }
                                        },
                                        "name": "clone"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 5630,
                                    "end": 5644,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 58
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 72
                                      }
                                    },
                                    "name": "multiplyScalar"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 5645,
                                    "end": 5648,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 73
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 76
                                      }
                                    },
                                    "name": "len"
                                  }
                                ]
                              }
                            ]
                          },
                          "kind": "init",
                          "leadingComments": null
                        },
                        {
                          "type": "Property",
                          "start": 5664,
                          "end": 5726,
                          "loc": {
                            "start": {
                              "line": 133,
                              "column": 12
                            },
                            "end": {
                              "line": 133,
                              "column": 74
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 5664,
                            "end": 5667,
                            "loc": {
                              "start": {
                                "line": 133,
                                "column": 12
                              },
                              "end": {
                                "line": 133,
                                "column": 15
                              }
                            },
                            "name": "end"
                          },
                          "value": {
                            "type": "CallExpression",
                            "start": 5669,
                            "end": 5726,
                            "loc": {
                              "start": {
                                "line": 133,
                                "column": 17
                              },
                              "end": {
                                "line": 133,
                                "column": 74
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 5669,
                              "end": 5690,
                              "loc": {
                                "start": {
                                  "line": 133,
                                  "column": 17
                                },
                                "end": {
                                  "line": 133,
                                  "column": 38
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 5669,
                                "end": 5686,
                                "loc": {
                                  "start": {
                                    "line": 133,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 133,
                                    "column": 34
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 5669,
                                  "end": 5684,
                                  "loc": {
                                    "start": {
                                      "line": 133,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 133,
                                      "column": 32
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 5669,
                                    "end": 5678,
                                    "loc": {
                                      "start": {
                                        "line": 133,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 133,
                                        "column": 26
                                      }
                                    },
                                    "name": "vertexPos"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 5679,
                                    "end": 5684,
                                    "loc": {
                                      "start": {
                                        "line": 133,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 133,
                                        "column": 32
                                      }
                                    },
                                    "name": "clone"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5687,
                                "end": 5690,
                                "loc": {
                                  "start": {
                                    "line": 133,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 133,
                                    "column": 38
                                  }
                                },
                                "name": "add"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "CallExpression",
                                "start": 5691,
                                "end": 5725,
                                "loc": {
                                  "start": {
                                    "line": 133,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 133,
                                    "column": 73
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 5691,
                                  "end": 5720,
                                  "loc": {
                                    "start": {
                                      "line": 133,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 133,
                                      "column": 68
                                    }
                                  },
                                  "object": {
                                    "type": "CallExpression",
                                    "start": 5691,
                                    "end": 5705,
                                    "loc": {
                                      "start": {
                                        "line": 133,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 133,
                                        "column": 53
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 5691,
                                      "end": 5703,
                                      "loc": {
                                        "start": {
                                          "line": 133,
                                          "column": 39
                                        },
                                        "end": {
                                          "line": 133,
                                          "column": 51
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 5691,
                                        "end": 5697,
                                        "loc": {
                                          "start": {
                                            "line": 133,
                                            "column": 39
                                          },
                                          "end": {
                                            "line": 133,
                                            "column": 45
                                          }
                                        },
                                        "name": "endDir"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 5698,
                                        "end": 5703,
                                        "loc": {
                                          "start": {
                                            "line": 133,
                                            "column": 46
                                          },
                                          "end": {
                                            "line": 133,
                                            "column": 51
                                          }
                                        },
                                        "name": "clone"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 5706,
                                    "end": 5720,
                                    "loc": {
                                      "start": {
                                        "line": 133,
                                        "column": 54
                                      },
                                      "end": {
                                        "line": 133,
                                        "column": 68
                                      }
                                    },
                                    "name": "multiplyScalar"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 5721,
                                    "end": 5724,
                                    "loc": {
                                      "start": {
                                        "line": 133,
                                        "column": 69
                                      },
                                      "end": {
                                        "line": 133,
                                        "column": 72
                                      }
                                    },
                                    "name": "len"
                                  }
                                ]
                              }
                            ]
                          },
                          "kind": "init"
                        },
                        {
                          "type": "Property",
                          "start": 5740,
                          "end": 5754,
                          "loc": {
                            "start": {
                              "line": 134,
                              "column": 12
                            },
                            "end": {
                              "line": 134,
                              "column": 26
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 5740,
                            "end": 5746,
                            "loc": {
                              "start": {
                                "line": 134,
                                "column": 12
                              },
                              "end": {
                                "line": 134,
                                "column": 18
                              }
                            },
                            "name": "center"
                          },
                          "value": {
                            "type": "Identifier",
                            "start": 5748,
                            "end": 5754,
                            "loc": {
                              "start": {
                                "line": 134,
                                "column": 20
                              },
                              "end": {
                                "line": 134,
                                "column": 26
                              }
                            },
                            "name": "center"
                          },
                          "kind": "init"
                        },
                        {
                          "type": "Property",
                          "start": 5768,
                          "end": 5783,
                          "loc": {
                            "start": {
                              "line": 135,
                              "column": 12
                            },
                            "end": {
                              "line": 135,
                              "column": 27
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 5768,
                            "end": 5777,
                            "loc": {
                              "start": {
                                "line": 135,
                                "column": 12
                              },
                              "end": {
                                "line": 135,
                                "column": 21
                              }
                            },
                            "name": "clockwise"
                          },
                          "value": {
                            "type": "Literal",
                            "start": 5779,
                            "end": 5783,
                            "loc": {
                              "start": {
                                "line": 135,
                                "column": 23
                              },
                              "end": {
                                "line": 135,
                                "column": 27
                              }
                            },
                            "value": true,
                            "rawValue": true,
                            "raw": "true"
                          },
                          "kind": "init"
                        }
                      ],
                      "leadingComments": null
                    },
                    "leadingComments": [
                      {
                        "type": "CommentLine",
                        "value": " fillet angle < 180 => cos(alpha/2) != 0",
                        "start": 5512,
                        "end": 5554,
                        "loc": {
                          "start": {
                            "line": 130,
                            "column": 97
                          },
                          "end": {
                            "line": 130,
                            "column": 139
                          }
                        },
                        "range": [
                          5512,
                          5554
                        ]
                      }
                    ]
                  }
                ]
              },
              "alternate": null
            },
            {
              "type": "VariableDeclaration",
              "start": 5807,
              "end": 5856,
              "loc": {
                "start": {
                  "line": 140,
                  "column": 4
                },
                "end": {
                  "line": 140,
                  "column": 53
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 5811,
                  "end": 5855,
                  "loc": {
                    "start": {
                      "line": 140,
                      "column": 8
                    },
                    "end": {
                      "line": 140,
                      "column": 52
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 5811,
                    "end": 5820,
                    "loc": {
                      "start": {
                        "line": 140,
                        "column": 8
                      },
                      "end": {
                        "line": 140,
                        "column": 17
                      }
                    },
                    "name": "middleNew"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 5823,
                    "end": 5855,
                    "loc": {
                      "start": {
                        "line": 140,
                        "column": 20
                      },
                      "end": {
                        "line": 140,
                        "column": 52
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 5823,
                      "end": 5844,
                      "loc": {
                        "start": {
                          "line": 140,
                          "column": 20
                        },
                        "end": {
                          "line": 140,
                          "column": 41
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 5823,
                        "end": 5840,
                        "loc": {
                          "start": {
                            "line": 140,
                            "column": 20
                          },
                          "end": {
                            "line": 140,
                            "column": 37
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5823,
                          "end": 5838,
                          "loc": {
                            "start": {
                              "line": 140,
                              "column": 20
                            },
                            "end": {
                              "line": 140,
                              "column": 35
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 5823,
                            "end": 5832,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 20
                              },
                              "end": {
                                "line": 140,
                                "column": 29
                              }
                            },
                            "name": "middlePos"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5833,
                            "end": 5838,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 30
                              },
                              "end": {
                                "line": 140,
                                "column": 35
                              }
                            },
                            "name": "clone"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 5841,
                        "end": 5844,
                        "loc": {
                          "start": {
                            "line": 140,
                            "column": 38
                          },
                          "end": {
                            "line": 140,
                            "column": 41
                          }
                        },
                        "name": "sub"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 5845,
                        "end": 5854,
                        "loc": {
                          "start": {
                            "line": 140,
                            "column": 42
                          },
                          "end": {
                            "line": 140,
                            "column": 51
                          }
                        },
                        "name": "vertexPos"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 5862,
              "end": 5909,
              "loc": {
                "start": {
                  "line": 142,
                  "column": 4
                },
                "end": {
                  "line": 142,
                  "column": 51
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 5866,
                  "end": 5908,
                  "loc": {
                    "start": {
                      "line": 142,
                      "column": 8
                    },
                    "end": {
                      "line": 142,
                      "column": 50
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 5866,
                    "end": 5873,
                    "loc": {
                      "start": {
                        "line": 142,
                        "column": 8
                      },
                      "end": {
                        "line": 142,
                        "column": 15
                      }
                    },
                    "name": "sinA2Sq"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 5876,
                    "end": 5908,
                    "loc": {
                      "start": {
                        "line": 142,
                        "column": 18
                      },
                      "end": {
                        "line": 142,
                        "column": 50
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 5876,
                      "end": 5884,
                      "loc": {
                        "start": {
                          "line": 142,
                          "column": 18
                        },
                        "end": {
                          "line": 142,
                          "column": 26
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 5876,
                        "end": 5880,
                        "loc": {
                          "start": {
                            "line": 142,
                            "column": 18
                          },
                          "end": {
                            "line": 142,
                            "column": 22
                          }
                        },
                        "name": "Math"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 5881,
                        "end": 5884,
                        "loc": {
                          "start": {
                            "line": 142,
                            "column": 23
                          },
                          "end": {
                            "line": 142,
                            "column": 26
                          }
                        },
                        "name": "pow"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "CallExpression",
                        "start": 5885,
                        "end": 5904,
                        "loc": {
                          "start": {
                            "line": 142,
                            "column": 27
                          },
                          "end": {
                            "line": 142,
                            "column": 46
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5885,
                          "end": 5893,
                          "loc": {
                            "start": {
                              "line": 142,
                              "column": 27
                            },
                            "end": {
                              "line": 142,
                              "column": 35
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 5885,
                            "end": 5889,
                            "loc": {
                              "start": {
                                "line": 142,
                                "column": 27
                              },
                              "end": {
                                "line": 142,
                                "column": 31
                              }
                            },
                            "name": "Math"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5890,
                            "end": 5893,
                            "loc": {
                              "start": {
                                "line": 142,
                                "column": 32
                              },
                              "end": {
                                "line": 142,
                                "column": 35
                              }
                            },
                            "name": "sin"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "BinaryExpression",
                            "start": 5894,
                            "end": 5903,
                            "loc": {
                              "start": {
                                "line": 142,
                                "column": 36
                              },
                              "end": {
                                "line": 142,
                                "column": 45
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 5894,
                              "end": 5899,
                              "loc": {
                                "start": {
                                  "line": 142,
                                  "column": 36
                                },
                                "end": {
                                  "line": 142,
                                  "column": 41
                                }
                              },
                              "name": "alpha"
                            },
                            "operator": "/",
                            "right": {
                              "type": "Literal",
                              "start": 5902,
                              "end": 5903,
                              "loc": {
                                "start": {
                                  "line": 142,
                                  "column": 44
                                },
                                "end": {
                                  "line": 142,
                                  "column": 45
                                }
                              },
                              "value": 2,
                              "rawValue": 2,
                              "raw": "2"
                            }
                          }
                        ]
                      },
                      {
                        "type": "Literal",
                        "start": 5906,
                        "end": 5907,
                        "loc": {
                          "start": {
                            "line": 142,
                            "column": 48
                          },
                          "end": {
                            "line": 142,
                            "column": 49
                          }
                        },
                        "value": 2,
                        "rawValue": 2,
                        "raw": "2"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 5914,
              "end": 5940,
              "loc": {
                "start": {
                  "line": 143,
                  "column": 4
                },
                "end": {
                  "line": 143,
                  "column": 30
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 5918,
                  "end": 5939,
                  "loc": {
                    "start": {
                      "line": 143,
                      "column": 8
                    },
                    "end": {
                      "line": 143,
                      "column": 29
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 5918,
                    "end": 5925,
                    "loc": {
                      "start": {
                        "line": 143,
                        "column": 8
                      },
                      "end": {
                        "line": 143,
                        "column": 15
                      }
                    },
                    "name": "cosA2Sq"
                  },
                  "init": {
                    "type": "BinaryExpression",
                    "start": 5928,
                    "end": 5939,
                    "loc": {
                      "start": {
                        "line": 143,
                        "column": 18
                      },
                      "end": {
                        "line": 143,
                        "column": 29
                      }
                    },
                    "left": {
                      "type": "Literal",
                      "start": 5928,
                      "end": 5929,
                      "loc": {
                        "start": {
                          "line": 143,
                          "column": 18
                        },
                        "end": {
                          "line": 143,
                          "column": 19
                        }
                      },
                      "value": 1,
                      "rawValue": 1,
                      "raw": "1"
                    },
                    "operator": "-",
                    "right": {
                      "type": "Identifier",
                      "start": 5932,
                      "end": 5939,
                      "loc": {
                        "start": {
                          "line": 143,
                          "column": 22
                        },
                        "end": {
                          "line": 143,
                          "column": 29
                        }
                      },
                      "name": "sinA2Sq"
                    }
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 5946,
              "end": 5976,
              "loc": {
                "start": {
                  "line": 145,
                  "column": 4
                },
                "end": {
                  "line": 145,
                  "column": 34
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 5950,
                  "end": 5975,
                  "loc": {
                    "start": {
                      "line": 145,
                      "column": 8
                    },
                    "end": {
                      "line": 145,
                      "column": 33
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 5950,
                    "end": 5952,
                    "loc": {
                      "start": {
                        "line": 145,
                        "column": 8
                      },
                      "end": {
                        "line": 145,
                        "column": 10
                      }
                    },
                    "name": "A0"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 5955,
                    "end": 5975,
                    "loc": {
                      "start": {
                        "line": 145,
                        "column": 13
                      },
                      "end": {
                        "line": 145,
                        "column": 33
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 5955,
                      "end": 5973,
                      "loc": {
                        "start": {
                          "line": 145,
                          "column": 13
                        },
                        "end": {
                          "line": 145,
                          "column": 31
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 5955,
                        "end": 5964,
                        "loc": {
                          "start": {
                            "line": 145,
                            "column": 13
                          },
                          "end": {
                            "line": 145,
                            "column": 22
                          }
                        },
                        "name": "middleNew"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 5965,
                        "end": 5973,
                        "loc": {
                          "start": {
                            "line": 145,
                            "column": 23
                          },
                          "end": {
                            "line": 145,
                            "column": 31
                          }
                        },
                        "name": "lengthSq"
                      },
                      "computed": false
                    },
                    "arguments": []
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 5981,
              "end": 6008,
              "loc": {
                "start": {
                  "line": 146,
                  "column": 4
                },
                "end": {
                  "line": 146,
                  "column": 31
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 5985,
                  "end": 6007,
                  "loc": {
                    "start": {
                      "line": 146,
                      "column": 8
                    },
                    "end": {
                      "line": 146,
                      "column": 30
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 5985,
                    "end": 5987,
                    "loc": {
                      "start": {
                        "line": 146,
                        "column": 8
                      },
                      "end": {
                        "line": 146,
                        "column": 10
                      }
                    },
                    "name": "A1"
                  },
                  "init": {
                    "type": "BinaryExpression",
                    "start": 5990,
                    "end": 6007,
                    "loc": {
                      "start": {
                        "line": 146,
                        "column": 13
                      },
                      "end": {
                        "line": 146,
                        "column": 30
                      }
                    },
                    "left": {
                      "type": "UnaryExpression",
                      "start": 5990,
                      "end": 5993,
                      "loc": {
                        "start": {
                          "line": 146,
                          "column": 13
                        },
                        "end": {
                          "line": 146,
                          "column": 16
                        }
                      },
                      "operator": "-",
                      "prefix": true,
                      "argument": {
                        "type": "Literal",
                        "start": 5992,
                        "end": 5993,
                        "loc": {
                          "start": {
                            "line": 146,
                            "column": 15
                          },
                          "end": {
                            "line": 146,
                            "column": 16
                          }
                        },
                        "value": 2,
                        "rawValue": 2,
                        "raw": "2"
                      }
                    },
                    "operator": "*",
                    "right": {
                      "type": "MemberExpression",
                      "start": 5996,
                      "end": 6007,
                      "loc": {
                        "start": {
                          "line": 146,
                          "column": 19
                        },
                        "end": {
                          "line": 146,
                          "column": 30
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 5996,
                        "end": 6005,
                        "loc": {
                          "start": {
                            "line": 146,
                            "column": 19
                          },
                          "end": {
                            "line": 146,
                            "column": 28
                          }
                        },
                        "name": "middleNew"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 6006,
                        "end": 6007,
                        "loc": {
                          "start": {
                            "line": 146,
                            "column": 29
                          },
                          "end": {
                            "line": 146,
                            "column": 30
                          }
                        },
                        "name": "x"
                      },
                      "computed": false
                    }
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 6013,
              "end": 6040,
              "loc": {
                "start": {
                  "line": 147,
                  "column": 4
                },
                "end": {
                  "line": 147,
                  "column": 31
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 6017,
                  "end": 6039,
                  "loc": {
                    "start": {
                      "line": 147,
                      "column": 8
                    },
                    "end": {
                      "line": 147,
                      "column": 30
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 6017,
                    "end": 6019,
                    "loc": {
                      "start": {
                        "line": 147,
                        "column": 8
                      },
                      "end": {
                        "line": 147,
                        "column": 10
                      }
                    },
                    "name": "A2"
                  },
                  "init": {
                    "type": "BinaryExpression",
                    "start": 6022,
                    "end": 6039,
                    "loc": {
                      "start": {
                        "line": 147,
                        "column": 13
                      },
                      "end": {
                        "line": 147,
                        "column": 30
                      }
                    },
                    "left": {
                      "type": "UnaryExpression",
                      "start": 6022,
                      "end": 6025,
                      "loc": {
                        "start": {
                          "line": 147,
                          "column": 13
                        },
                        "end": {
                          "line": 147,
                          "column": 16
                        }
                      },
                      "operator": "-",
                      "prefix": true,
                      "argument": {
                        "type": "Literal",
                        "start": 6024,
                        "end": 6025,
                        "loc": {
                          "start": {
                            "line": 147,
                            "column": 15
                          },
                          "end": {
                            "line": 147,
                            "column": 16
                          }
                        },
                        "value": 2,
                        "rawValue": 2,
                        "raw": "2"
                      }
                    },
                    "operator": "*",
                    "right": {
                      "type": "MemberExpression",
                      "start": 6028,
                      "end": 6039,
                      "loc": {
                        "start": {
                          "line": 147,
                          "column": 19
                        },
                        "end": {
                          "line": 147,
                          "column": 30
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 6028,
                        "end": 6037,
                        "loc": {
                          "start": {
                            "line": 147,
                            "column": 19
                          },
                          "end": {
                            "line": 147,
                            "column": 28
                          }
                        },
                        "name": "middleNew"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 6038,
                        "end": 6039,
                        "loc": {
                          "start": {
                            "line": 147,
                            "column": 29
                          },
                          "end": {
                            "line": 147,
                            "column": 30
                          }
                        },
                        "name": "y"
                      },
                      "computed": false
                    }
                  }
                }
              ],
              "kind": "var",
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": "if (centerDir.x === 0) {",
                  "start": 6046,
                  "end": 6072,
                  "loc": {
                    "start": {
                      "line": 149,
                      "column": 4
                    },
                    "end": {
                      "line": 149,
                      "column": 30
                    }
                  },
                  "range": [
                    6046,
                    6072
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": "    var sign = centerDir.dot(new THREE.Vector3(0,1,0));",
                  "start": 6077,
                  "end": 6134,
                  "loc": {
                    "start": {
                      "line": 150,
                      "column": 4
                    },
                    "end": {
                      "line": 150,
                      "column": 61
                    }
                  },
                  "range": [
                    6077,
                    6134
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": "    var discr = Math.pow(A2, 2) - 4 * cosA2Sq * A0;",
                  "start": 6139,
                  "end": 6192,
                  "loc": {
                    "start": {
                      "line": 151,
                      "column": 4
                    },
                    "end": {
                      "line": 151,
                      "column": 57
                    }
                  },
                  "range": [
                    6139,
                    6192
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": "    var Oy = (-A2 + sign * Math.sqrt(discr)) / (2 * cosA2Sq);",
                  "start": 6197,
                  "end": 6260,
                  "loc": {
                    "start": {
                      "line": 152,
                      "column": 4
                    },
                    "end": {
                      "line": 152,
                      "column": 67
                    }
                  },
                  "range": [
                    6197,
                    6260
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": "",
                  "start": 6265,
                  "end": 6267,
                  "loc": {
                    "start": {
                      "line": 153,
                      "column": 4
                    },
                    "end": {
                      "line": 153,
                      "column": 6
                    }
                  },
                  "range": [
                    6265,
                    6267
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": "    center.x = 0;",
                  "start": 6272,
                  "end": 6291,
                  "loc": {
                    "start": {
                      "line": 154,
                      "column": 4
                    },
                    "end": {
                      "line": 154,
                      "column": 23
                    }
                  },
                  "range": [
                    6272,
                    6291
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": "    center.y = Oy;",
                  "start": 6296,
                  "end": 6316,
                  "loc": {
                    "start": {
                      "line": 155,
                      "column": 4
                    },
                    "end": {
                      "line": 155,
                      "column": 24
                    }
                  },
                  "range": [
                    6296,
                    6316
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": "} else",
                  "start": 6321,
                  "end": 6329,
                  "loc": {
                    "start": {
                      "line": 156,
                      "column": 4
                    },
                    "end": {
                      "line": 156,
                      "column": 12
                    }
                  },
                  "range": [
                    6321,
                    6329
                  ]
                }
              ]
            },
            {
              "type": "IfStatement",
              "start": 6334,
              "end": 7000,
              "loc": {
                "start": {
                  "line": 157,
                  "column": 4
                },
                "end": {
                  "line": 176,
                  "column": 5
                }
              },
              "test": {
                "type": "BinaryExpression",
                "start": 6338,
                "end": 6355,
                "loc": {
                  "start": {
                    "line": 157,
                    "column": 8
                  },
                  "end": {
                    "line": 157,
                    "column": 25
                  }
                },
                "left": {
                  "type": "MemberExpression",
                  "start": 6338,
                  "end": 6349,
                  "loc": {
                    "start": {
                      "line": 157,
                      "column": 8
                    },
                    "end": {
                      "line": 157,
                      "column": 19
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 6338,
                    "end": 6347,
                    "loc": {
                      "start": {
                        "line": 157,
                        "column": 8
                      },
                      "end": {
                        "line": 157,
                        "column": 17
                      }
                    },
                    "name": "centerDir",
                    "leadingComments": null
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 6348,
                    "end": 6349,
                    "loc": {
                      "start": {
                        "line": 157,
                        "column": 18
                      },
                      "end": {
                        "line": 157,
                        "column": 19
                      }
                    },
                    "name": "y"
                  },
                  "computed": false,
                  "leadingComments": null
                },
                "operator": "===",
                "right": {
                  "type": "Literal",
                  "start": 6354,
                  "end": 6355,
                  "loc": {
                    "start": {
                      "line": 157,
                      "column": 24
                    },
                    "end": {
                      "line": 157,
                      "column": 25
                    }
                  },
                  "value": 0,
                  "rawValue": 0,
                  "raw": "0"
                },
                "leadingComments": null
              },
              "consequent": {
                "type": "BlockStatement",
                "start": 6357,
                "end": 6592,
                "loc": {
                  "start": {
                    "line": 157,
                    "column": 27
                  },
                  "end": {
                    "line": 164,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "VariableDeclaration",
                    "start": 6367,
                    "end": 6418,
                    "loc": {
                      "start": {
                        "line": 158,
                        "column": 8
                      },
                      "end": {
                        "line": 158,
                        "column": 59
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 6371,
                        "end": 6417,
                        "loc": {
                          "start": {
                            "line": 158,
                            "column": 12
                          },
                          "end": {
                            "line": 158,
                            "column": 58
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 6371,
                          "end": 6375,
                          "loc": {
                            "start": {
                              "line": 158,
                              "column": 12
                            },
                            "end": {
                              "line": 158,
                              "column": 16
                            }
                          },
                          "name": "sign"
                        },
                        "init": {
                          "type": "CallExpression",
                          "start": 6378,
                          "end": 6417,
                          "loc": {
                            "start": {
                              "line": 158,
                              "column": 19
                            },
                            "end": {
                              "line": 158,
                              "column": 58
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 6378,
                            "end": 6391,
                            "loc": {
                              "start": {
                                "line": 158,
                                "column": 19
                              },
                              "end": {
                                "line": 158,
                                "column": 32
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 6378,
                              "end": 6387,
                              "loc": {
                                "start": {
                                  "line": 158,
                                  "column": 19
                                },
                                "end": {
                                  "line": 158,
                                  "column": 28
                                }
                              },
                              "name": "centerDir"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6388,
                              "end": 6391,
                              "loc": {
                                "start": {
                                  "line": 158,
                                  "column": 29
                                },
                                "end": {
                                  "line": 158,
                                  "column": 32
                                }
                              },
                              "name": "dot"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "NewExpression",
                              "start": 6392,
                              "end": 6416,
                              "loc": {
                                "start": {
                                  "line": 158,
                                  "column": 33
                                },
                                "end": {
                                  "line": 158,
                                  "column": 57
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 6396,
                                "end": 6409,
                                "loc": {
                                  "start": {
                                    "line": 158,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 158,
                                    "column": 50
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 6396,
                                  "end": 6401,
                                  "loc": {
                                    "start": {
                                      "line": 158,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 158,
                                      "column": 42
                                    }
                                  },
                                  "name": "THREE"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6402,
                                  "end": 6409,
                                  "loc": {
                                    "start": {
                                      "line": 158,
                                      "column": 43
                                    },
                                    "end": {
                                      "line": 158,
                                      "column": 50
                                    }
                                  },
                                  "name": "Vector3"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 6410,
                                  "end": 6411,
                                  "loc": {
                                    "start": {
                                      "line": 158,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 158,
                                      "column": 52
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                },
                                {
                                  "type": "Literal",
                                  "start": 6412,
                                  "end": 6413,
                                  "loc": {
                                    "start": {
                                      "line": 158,
                                      "column": 53
                                    },
                                    "end": {
                                      "line": 158,
                                      "column": 54
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                },
                                {
                                  "type": "Literal",
                                  "start": 6414,
                                  "end": 6415,
                                  "loc": {
                                    "start": {
                                      "line": 158,
                                      "column": 55
                                    },
                                    "end": {
                                      "line": 158,
                                      "column": 56
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                }
                              ]
                            }
                          ]
                        }
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 6427,
                    "end": 6474,
                    "loc": {
                      "start": {
                        "line": 159,
                        "column": 8
                      },
                      "end": {
                        "line": 159,
                        "column": 55
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 6431,
                        "end": 6473,
                        "loc": {
                          "start": {
                            "line": 159,
                            "column": 12
                          },
                          "end": {
                            "line": 159,
                            "column": 54
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 6431,
                          "end": 6436,
                          "loc": {
                            "start": {
                              "line": 159,
                              "column": 12
                            },
                            "end": {
                              "line": 159,
                              "column": 17
                            }
                          },
                          "name": "discr"
                        },
                        "init": {
                          "type": "BinaryExpression",
                          "start": 6439,
                          "end": 6473,
                          "loc": {
                            "start": {
                              "line": 159,
                              "column": 20
                            },
                            "end": {
                              "line": 159,
                              "column": 54
                            }
                          },
                          "left": {
                            "type": "CallExpression",
                            "start": 6439,
                            "end": 6454,
                            "loc": {
                              "start": {
                                "line": 159,
                                "column": 20
                              },
                              "end": {
                                "line": 159,
                                "column": 35
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 6439,
                              "end": 6447,
                              "loc": {
                                "start": {
                                  "line": 159,
                                  "column": 20
                                },
                                "end": {
                                  "line": 159,
                                  "column": 28
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 6439,
                                "end": 6443,
                                "loc": {
                                  "start": {
                                    "line": 159,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 159,
                                    "column": 24
                                  }
                                },
                                "name": "Math"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 6444,
                                "end": 6447,
                                "loc": {
                                  "start": {
                                    "line": 159,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 159,
                                    "column": 28
                                  }
                                },
                                "name": "pow"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 6448,
                                "end": 6450,
                                "loc": {
                                  "start": {
                                    "line": 159,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 159,
                                    "column": 31
                                  }
                                },
                                "name": "A1"
                              },
                              {
                                "type": "Literal",
                                "start": 6452,
                                "end": 6453,
                                "loc": {
                                  "start": {
                                    "line": 159,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 159,
                                    "column": 34
                                  }
                                },
                                "value": 2,
                                "rawValue": 2,
                                "raw": "2"
                              }
                            ]
                          },
                          "operator": "-",
                          "right": {
                            "type": "BinaryExpression",
                            "start": 6457,
                            "end": 6473,
                            "loc": {
                              "start": {
                                "line": 159,
                                "column": 38
                              },
                              "end": {
                                "line": 159,
                                "column": 54
                              }
                            },
                            "left": {
                              "type": "BinaryExpression",
                              "start": 6457,
                              "end": 6468,
                              "loc": {
                                "start": {
                                  "line": 159,
                                  "column": 38
                                },
                                "end": {
                                  "line": 159,
                                  "column": 49
                                }
                              },
                              "left": {
                                "type": "Literal",
                                "start": 6457,
                                "end": 6458,
                                "loc": {
                                  "start": {
                                    "line": 159,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 159,
                                    "column": 39
                                  }
                                },
                                "value": 4,
                                "rawValue": 4,
                                "raw": "4"
                              },
                              "operator": "*",
                              "right": {
                                "type": "Identifier",
                                "start": 6461,
                                "end": 6468,
                                "loc": {
                                  "start": {
                                    "line": 159,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 159,
                                    "column": 49
                                  }
                                },
                                "name": "cosA2Sq"
                              }
                            },
                            "operator": "*",
                            "right": {
                              "type": "Identifier",
                              "start": 6471,
                              "end": 6473,
                              "loc": {
                                "start": {
                                  "line": 159,
                                  "column": 52
                                },
                                "end": {
                                  "line": 159,
                                  "column": 54
                                }
                              },
                              "name": "A0"
                            }
                          }
                        }
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 6483,
                    "end": 6540,
                    "loc": {
                      "start": {
                        "line": 160,
                        "column": 8
                      },
                      "end": {
                        "line": 160,
                        "column": 65
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 6487,
                        "end": 6539,
                        "loc": {
                          "start": {
                            "line": 160,
                            "column": 12
                          },
                          "end": {
                            "line": 160,
                            "column": 64
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 6487,
                          "end": 6489,
                          "loc": {
                            "start": {
                              "line": 160,
                              "column": 12
                            },
                            "end": {
                              "line": 160,
                              "column": 14
                            }
                          },
                          "name": "Ox"
                        },
                        "init": {
                          "type": "BinaryExpression",
                          "start": 6492,
                          "end": 6539,
                          "loc": {
                            "start": {
                              "line": 160,
                              "column": 17
                            },
                            "end": {
                              "line": 160,
                              "column": 64
                            }
                          },
                          "left": {
                            "type": "BinaryExpression",
                            "start": 6493,
                            "end": 6522,
                            "loc": {
                              "start": {
                                "line": 160,
                                "column": 18
                              },
                              "end": {
                                "line": 160,
                                "column": 47
                              }
                            },
                            "left": {
                              "type": "UnaryExpression",
                              "start": 6493,
                              "end": 6496,
                              "loc": {
                                "start": {
                                  "line": 160,
                                  "column": 18
                                },
                                "end": {
                                  "line": 160,
                                  "column": 21
                                }
                              },
                              "operator": "-",
                              "prefix": true,
                              "argument": {
                                "type": "Identifier",
                                "start": 6494,
                                "end": 6496,
                                "loc": {
                                  "start": {
                                    "line": 160,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 160,
                                    "column": 21
                                  }
                                },
                                "name": "A1"
                              }
                            },
                            "operator": "+",
                            "right": {
                              "type": "BinaryExpression",
                              "start": 6499,
                              "end": 6522,
                              "loc": {
                                "start": {
                                  "line": 160,
                                  "column": 24
                                },
                                "end": {
                                  "line": 160,
                                  "column": 47
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 6499,
                                "end": 6503,
                                "loc": {
                                  "start": {
                                    "line": 160,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 160,
                                    "column": 28
                                  }
                                },
                                "name": "sign"
                              },
                              "operator": "*",
                              "right": {
                                "type": "CallExpression",
                                "start": 6506,
                                "end": 6522,
                                "loc": {
                                  "start": {
                                    "line": 160,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 160,
                                    "column": 47
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 6506,
                                  "end": 6515,
                                  "loc": {
                                    "start": {
                                      "line": 160,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 160,
                                      "column": 40
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 6506,
                                    "end": 6510,
                                    "loc": {
                                      "start": {
                                        "line": 160,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 160,
                                        "column": 35
                                      }
                                    },
                                    "name": "Math"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 6511,
                                    "end": 6515,
                                    "loc": {
                                      "start": {
                                        "line": 160,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 160,
                                        "column": 40
                                      }
                                    },
                                    "name": "sqrt"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 6516,
                                    "end": 6521,
                                    "loc": {
                                      "start": {
                                        "line": 160,
                                        "column": 41
                                      },
                                      "end": {
                                        "line": 160,
                                        "column": 46
                                      }
                                    },
                                    "name": "discr"
                                  }
                                ]
                              }
                            },
                            "parenthesizedExpression": true
                          },
                          "operator": "/",
                          "right": {
                            "type": "BinaryExpression",
                            "start": 6527,
                            "end": 6538,
                            "loc": {
                              "start": {
                                "line": 160,
                                "column": 52
                              },
                              "end": {
                                "line": 160,
                                "column": 63
                              }
                            },
                            "left": {
                              "type": "Literal",
                              "start": 6527,
                              "end": 6528,
                              "loc": {
                                "start": {
                                  "line": 160,
                                  "column": 52
                                },
                                "end": {
                                  "line": 160,
                                  "column": 53
                                }
                              },
                              "value": 2,
                              "rawValue": 2,
                              "raw": "2"
                            },
                            "operator": "*",
                            "right": {
                              "type": "Identifier",
                              "start": 6531,
                              "end": 6538,
                              "loc": {
                                "start": {
                                  "line": 160,
                                  "column": 56
                                },
                                "end": {
                                  "line": 160,
                                  "column": 63
                                }
                              },
                              "name": "cosA2Sq"
                            },
                            "parenthesizedExpression": true
                          }
                        }
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 6550,
                    "end": 6564,
                    "loc": {
                      "start": {
                        "line": 162,
                        "column": 8
                      },
                      "end": {
                        "line": 162,
                        "column": 22
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 6550,
                      "end": 6563,
                      "loc": {
                        "start": {
                          "line": 162,
                          "column": 8
                        },
                        "end": {
                          "line": 162,
                          "column": 21
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 6550,
                        "end": 6558,
                        "loc": {
                          "start": {
                            "line": 162,
                            "column": 8
                          },
                          "end": {
                            "line": 162,
                            "column": 16
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 6550,
                          "end": 6556,
                          "loc": {
                            "start": {
                              "line": 162,
                              "column": 8
                            },
                            "end": {
                              "line": 162,
                              "column": 14
                            }
                          },
                          "name": "center"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 6557,
                          "end": 6558,
                          "loc": {
                            "start": {
                              "line": 162,
                              "column": 15
                            },
                            "end": {
                              "line": 162,
                              "column": 16
                            }
                          },
                          "name": "x"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "Identifier",
                        "start": 6561,
                        "end": 6563,
                        "loc": {
                          "start": {
                            "line": 162,
                            "column": 19
                          },
                          "end": {
                            "line": 162,
                            "column": 21
                          }
                        },
                        "name": "Ox"
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 6573,
                    "end": 6586,
                    "loc": {
                      "start": {
                        "line": 163,
                        "column": 8
                      },
                      "end": {
                        "line": 163,
                        "column": 21
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 6573,
                      "end": 6585,
                      "loc": {
                        "start": {
                          "line": 163,
                          "column": 8
                        },
                        "end": {
                          "line": 163,
                          "column": 20
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 6573,
                        "end": 6581,
                        "loc": {
                          "start": {
                            "line": 163,
                            "column": 8
                          },
                          "end": {
                            "line": 163,
                            "column": 16
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 6573,
                          "end": 6579,
                          "loc": {
                            "start": {
                              "line": 163,
                              "column": 8
                            },
                            "end": {
                              "line": 163,
                              "column": 14
                            }
                          },
                          "name": "center"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 6580,
                          "end": 6581,
                          "loc": {
                            "start": {
                              "line": 163,
                              "column": 15
                            },
                            "end": {
                              "line": 163,
                              "column": 16
                            }
                          },
                          "name": "y"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "Literal",
                        "start": 6584,
                        "end": 6585,
                        "loc": {
                          "start": {
                            "line": 163,
                            "column": 19
                          },
                          "end": {
                            "line": 163,
                            "column": 20
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      }
                    }
                  }
                ]
              },
              "alternate": {
                "type": "BlockStatement",
                "start": 6598,
                "end": 7000,
                "loc": {
                  "start": {
                    "line": 164,
                    "column": 11
                  },
                  "end": {
                    "line": 176,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "VariableDeclaration",
                    "start": 6608,
                    "end": 6659,
                    "loc": {
                      "start": {
                        "line": 165,
                        "column": 8
                      },
                      "end": {
                        "line": 165,
                        "column": 59
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 6612,
                        "end": 6658,
                        "loc": {
                          "start": {
                            "line": 165,
                            "column": 12
                          },
                          "end": {
                            "line": 165,
                            "column": 58
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 6612,
                          "end": 6616,
                          "loc": {
                            "start": {
                              "line": 165,
                              "column": 12
                            },
                            "end": {
                              "line": 165,
                              "column": 16
                            }
                          },
                          "name": "sign"
                        },
                        "init": {
                          "type": "CallExpression",
                          "start": 6619,
                          "end": 6658,
                          "loc": {
                            "start": {
                              "line": 165,
                              "column": 19
                            },
                            "end": {
                              "line": 165,
                              "column": 58
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 6619,
                            "end": 6632,
                            "loc": {
                              "start": {
                                "line": 165,
                                "column": 19
                              },
                              "end": {
                                "line": 165,
                                "column": 32
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 6619,
                              "end": 6628,
                              "loc": {
                                "start": {
                                  "line": 165,
                                  "column": 19
                                },
                                "end": {
                                  "line": 165,
                                  "column": 28
                                }
                              },
                              "name": "centerDir"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6629,
                              "end": 6632,
                              "loc": {
                                "start": {
                                  "line": 165,
                                  "column": 29
                                },
                                "end": {
                                  "line": 165,
                                  "column": 32
                                }
                              },
                              "name": "dot"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "NewExpression",
                              "start": 6633,
                              "end": 6657,
                              "loc": {
                                "start": {
                                  "line": 165,
                                  "column": 33
                                },
                                "end": {
                                  "line": 165,
                                  "column": 57
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 6637,
                                "end": 6650,
                                "loc": {
                                  "start": {
                                    "line": 165,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 165,
                                    "column": 50
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 6637,
                                  "end": 6642,
                                  "loc": {
                                    "start": {
                                      "line": 165,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 165,
                                      "column": 42
                                    }
                                  },
                                  "name": "THREE"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6643,
                                  "end": 6650,
                                  "loc": {
                                    "start": {
                                      "line": 165,
                                      "column": 43
                                    },
                                    "end": {
                                      "line": 165,
                                      "column": 50
                                    }
                                  },
                                  "name": "Vector3"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 6651,
                                  "end": 6652,
                                  "loc": {
                                    "start": {
                                      "line": 165,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 165,
                                      "column": 52
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                },
                                {
                                  "type": "Literal",
                                  "start": 6653,
                                  "end": 6654,
                                  "loc": {
                                    "start": {
                                      "line": 165,
                                      "column": 53
                                    },
                                    "end": {
                                      "line": 165,
                                      "column": 54
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                },
                                {
                                  "type": "Literal",
                                  "start": 6655,
                                  "end": 6656,
                                  "loc": {
                                    "start": {
                                      "line": 165,
                                      "column": 55
                                    },
                                    "end": {
                                      "line": 165,
                                      "column": 56
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                }
                              ]
                            }
                          ]
                        }
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 6668,
                    "end": 6711,
                    "loc": {
                      "start": {
                        "line": 166,
                        "column": 8
                      },
                      "end": {
                        "line": 166,
                        "column": 51
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 6672,
                        "end": 6710,
                        "loc": {
                          "start": {
                            "line": 166,
                            "column": 12
                          },
                          "end": {
                            "line": 166,
                            "column": 50
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 6672,
                          "end": 6682,
                          "loc": {
                            "start": {
                              "line": 166,
                              "column": 12
                            },
                            "end": {
                              "line": 166,
                              "column": 22
                            }
                          },
                          "name": "proportion"
                        },
                        "init": {
                          "type": "BinaryExpression",
                          "start": 6685,
                          "end": 6710,
                          "loc": {
                            "start": {
                              "line": 166,
                              "column": 25
                            },
                            "end": {
                              "line": 166,
                              "column": 50
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 6685,
                            "end": 6696,
                            "loc": {
                              "start": {
                                "line": 166,
                                "column": 25
                              },
                              "end": {
                                "line": 166,
                                "column": 36
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 6685,
                              "end": 6694,
                              "loc": {
                                "start": {
                                  "line": 166,
                                  "column": 25
                                },
                                "end": {
                                  "line": 166,
                                  "column": 34
                                }
                              },
                              "name": "centerDir"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6695,
                              "end": 6696,
                              "loc": {
                                "start": {
                                  "line": 166,
                                  "column": 35
                                },
                                "end": {
                                  "line": 166,
                                  "column": 36
                                }
                              },
                              "name": "x"
                            },
                            "computed": false
                          },
                          "operator": "/",
                          "right": {
                            "type": "MemberExpression",
                            "start": 6699,
                            "end": 6710,
                            "loc": {
                              "start": {
                                "line": 166,
                                "column": 39
                              },
                              "end": {
                                "line": 166,
                                "column": 50
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 6699,
                              "end": 6708,
                              "loc": {
                                "start": {
                                  "line": 166,
                                  "column": 39
                                },
                                "end": {
                                  "line": 166,
                                  "column": 48
                                }
                              },
                              "name": "centerDir"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6709,
                              "end": 6710,
                              "loc": {
                                "start": {
                                  "line": 166,
                                  "column": 49
                                },
                                "end": {
                                  "line": 166,
                                  "column": 50
                                }
                              },
                              "name": "y"
                            },
                            "computed": false
                          }
                        }
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 6720,
                    "end": 6768,
                    "loc": {
                      "start": {
                        "line": 167,
                        "column": 8
                      },
                      "end": {
                        "line": 167,
                        "column": 56
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 6724,
                        "end": 6767,
                        "loc": {
                          "start": {
                            "line": 167,
                            "column": 12
                          },
                          "end": {
                            "line": 167,
                            "column": 55
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 6724,
                          "end": 6725,
                          "loc": {
                            "start": {
                              "line": 167,
                              "column": 12
                            },
                            "end": {
                              "line": 167,
                              "column": 13
                            }
                          },
                          "name": "A"
                        },
                        "init": {
                          "type": "BinaryExpression",
                          "start": 6728,
                          "end": 6767,
                          "loc": {
                            "start": {
                              "line": 167,
                              "column": 16
                            },
                            "end": {
                              "line": 167,
                              "column": 55
                            }
                          },
                          "left": {
                            "type": "BinaryExpression",
                            "start": 6729,
                            "end": 6756,
                            "loc": {
                              "start": {
                                "line": 167,
                                "column": 17
                              },
                              "end": {
                                "line": 167,
                                "column": 44
                              }
                            },
                            "left": {
                              "type": "BinaryExpression",
                              "start": 6729,
                              "end": 6752,
                              "loc": {
                                "start": {
                                  "line": 167,
                                  "column": 17
                                },
                                "end": {
                                  "line": 167,
                                  "column": 40
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 6729,
                                "end": 6739,
                                "loc": {
                                  "start": {
                                    "line": 167,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 167,
                                    "column": 27
                                  }
                                },
                                "name": "proportion"
                              },
                              "operator": "*",
                              "right": {
                                "type": "Identifier",
                                "start": 6742,
                                "end": 6752,
                                "loc": {
                                  "start": {
                                    "line": 167,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 167,
                                    "column": 40
                                  }
                                },
                                "name": "proportion"
                              }
                            },
                            "operator": "+",
                            "right": {
                              "type": "Literal",
                              "start": 6755,
                              "end": 6756,
                              "loc": {
                                "start": {
                                  "line": 167,
                                  "column": 43
                                },
                                "end": {
                                  "line": 167,
                                  "column": 44
                                }
                              },
                              "value": 1,
                              "rawValue": 1,
                              "raw": "1"
                            },
                            "parenthesizedExpression": true
                          },
                          "operator": "*",
                          "right": {
                            "type": "Identifier",
                            "start": 6760,
                            "end": 6767,
                            "loc": {
                              "start": {
                                "line": 167,
                                "column": 48
                              },
                              "end": {
                                "line": 167,
                                "column": 55
                              }
                            },
                            "name": "cosA2Sq"
                          }
                        }
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 6777,
                    "end": 6806,
                    "loc": {
                      "start": {
                        "line": 168,
                        "column": 8
                      },
                      "end": {
                        "line": 168,
                        "column": 37
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 6781,
                        "end": 6805,
                        "loc": {
                          "start": {
                            "line": 168,
                            "column": 12
                          },
                          "end": {
                            "line": 168,
                            "column": 36
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 6781,
                          "end": 6782,
                          "loc": {
                            "start": {
                              "line": 168,
                              "column": 12
                            },
                            "end": {
                              "line": 168,
                              "column": 13
                            }
                          },
                          "name": "B"
                        },
                        "init": {
                          "type": "BinaryExpression",
                          "start": 6785,
                          "end": 6805,
                          "loc": {
                            "start": {
                              "line": 168,
                              "column": 16
                            },
                            "end": {
                              "line": 168,
                              "column": 36
                            }
                          },
                          "left": {
                            "type": "BinaryExpression",
                            "start": 6785,
                            "end": 6800,
                            "loc": {
                              "start": {
                                "line": 168,
                                "column": 16
                              },
                              "end": {
                                "line": 168,
                                "column": 31
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 6785,
                              "end": 6787,
                              "loc": {
                                "start": {
                                  "line": 168,
                                  "column": 16
                                },
                                "end": {
                                  "line": 168,
                                  "column": 18
                                }
                              },
                              "name": "A1"
                            },
                            "operator": "*",
                            "right": {
                              "type": "Identifier",
                              "start": 6790,
                              "end": 6800,
                              "loc": {
                                "start": {
                                  "line": 168,
                                  "column": 21
                                },
                                "end": {
                                  "line": 168,
                                  "column": 31
                                }
                              },
                              "name": "proportion"
                            }
                          },
                          "operator": "+",
                          "right": {
                            "type": "Identifier",
                            "start": 6803,
                            "end": 6805,
                            "loc": {
                              "start": {
                                "line": 168,
                                "column": 34
                              },
                              "end": {
                                "line": 168,
                                "column": 36
                              }
                            },
                            "name": "A2"
                          }
                        }
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 6815,
                    "end": 6826,
                    "loc": {
                      "start": {
                        "line": 169,
                        "column": 8
                      },
                      "end": {
                        "line": 169,
                        "column": 19
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 6819,
                        "end": 6825,
                        "loc": {
                          "start": {
                            "line": 169,
                            "column": 12
                          },
                          "end": {
                            "line": 169,
                            "column": 18
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 6819,
                          "end": 6820,
                          "loc": {
                            "start": {
                              "line": 169,
                              "column": 12
                            },
                            "end": {
                              "line": 169,
                              "column": 13
                            }
                          },
                          "name": "C"
                        },
                        "init": {
                          "type": "Identifier",
                          "start": 6823,
                          "end": 6825,
                          "loc": {
                            "start": {
                              "line": 169,
                              "column": 16
                            },
                            "end": {
                              "line": 169,
                              "column": 18
                            }
                          },
                          "name": "A0"
                        }
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 6836,
                    "end": 6875,
                    "loc": {
                      "start": {
                        "line": 171,
                        "column": 8
                      },
                      "end": {
                        "line": 171,
                        "column": 47
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 6840,
                        "end": 6874,
                        "loc": {
                          "start": {
                            "line": 171,
                            "column": 12
                          },
                          "end": {
                            "line": 171,
                            "column": 46
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 6840,
                          "end": 6845,
                          "loc": {
                            "start": {
                              "line": 171,
                              "column": 12
                            },
                            "end": {
                              "line": 171,
                              "column": 17
                            }
                          },
                          "name": "discr"
                        },
                        "init": {
                          "type": "BinaryExpression",
                          "start": 6848,
                          "end": 6874,
                          "loc": {
                            "start": {
                              "line": 171,
                              "column": 20
                            },
                            "end": {
                              "line": 171,
                              "column": 46
                            }
                          },
                          "left": {
                            "type": "CallExpression",
                            "start": 6848,
                            "end": 6862,
                            "loc": {
                              "start": {
                                "line": 171,
                                "column": 20
                              },
                              "end": {
                                "line": 171,
                                "column": 34
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 6848,
                              "end": 6856,
                              "loc": {
                                "start": {
                                  "line": 171,
                                  "column": 20
                                },
                                "end": {
                                  "line": 171,
                                  "column": 28
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 6848,
                                "end": 6852,
                                "loc": {
                                  "start": {
                                    "line": 171,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 171,
                                    "column": 24
                                  }
                                },
                                "name": "Math"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 6853,
                                "end": 6856,
                                "loc": {
                                  "start": {
                                    "line": 171,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 171,
                                    "column": 28
                                  }
                                },
                                "name": "pow"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 6857,
                                "end": 6858,
                                "loc": {
                                  "start": {
                                    "line": 171,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 171,
                                    "column": 30
                                  }
                                },
                                "name": "B"
                              },
                              {
                                "type": "Literal",
                                "start": 6860,
                                "end": 6861,
                                "loc": {
                                  "start": {
                                    "line": 171,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 171,
                                    "column": 33
                                  }
                                },
                                "value": 2,
                                "rawValue": 2,
                                "raw": "2"
                              }
                            ]
                          },
                          "operator": "-",
                          "right": {
                            "type": "BinaryExpression",
                            "start": 6865,
                            "end": 6874,
                            "loc": {
                              "start": {
                                "line": 171,
                                "column": 37
                              },
                              "end": {
                                "line": 171,
                                "column": 46
                              }
                            },
                            "left": {
                              "type": "BinaryExpression",
                              "start": 6865,
                              "end": 6870,
                              "loc": {
                                "start": {
                                  "line": 171,
                                  "column": 37
                                },
                                "end": {
                                  "line": 171,
                                  "column": 42
                                }
                              },
                              "left": {
                                "type": "Literal",
                                "start": 6865,
                                "end": 6866,
                                "loc": {
                                  "start": {
                                    "line": 171,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 171,
                                    "column": 38
                                  }
                                },
                                "value": 4,
                                "rawValue": 4,
                                "raw": "4"
                              },
                              "operator": "*",
                              "right": {
                                "type": "Identifier",
                                "start": 6869,
                                "end": 6870,
                                "loc": {
                                  "start": {
                                    "line": 171,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 171,
                                    "column": 42
                                  }
                                },
                                "name": "A"
                              }
                            },
                            "operator": "*",
                            "right": {
                              "type": "Identifier",
                              "start": 6873,
                              "end": 6874,
                              "loc": {
                                "start": {
                                  "line": 171,
                                  "column": 45
                                },
                                "end": {
                                  "line": 171,
                                  "column": 46
                                }
                              },
                              "name": "C"
                            }
                          }
                        }
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 6884,
                    "end": 6934,
                    "loc": {
                      "start": {
                        "line": 172,
                        "column": 8
                      },
                      "end": {
                        "line": 172,
                        "column": 58
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 6888,
                        "end": 6933,
                        "loc": {
                          "start": {
                            "line": 172,
                            "column": 12
                          },
                          "end": {
                            "line": 172,
                            "column": 57
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 6888,
                          "end": 6890,
                          "loc": {
                            "start": {
                              "line": 172,
                              "column": 12
                            },
                            "end": {
                              "line": 172,
                              "column": 14
                            }
                          },
                          "name": "Oy"
                        },
                        "init": {
                          "type": "BinaryExpression",
                          "start": 6893,
                          "end": 6933,
                          "loc": {
                            "start": {
                              "line": 172,
                              "column": 17
                            },
                            "end": {
                              "line": 172,
                              "column": 57
                            }
                          },
                          "left": {
                            "type": "BinaryExpression",
                            "start": 6894,
                            "end": 6922,
                            "loc": {
                              "start": {
                                "line": 172,
                                "column": 18
                              },
                              "end": {
                                "line": 172,
                                "column": 46
                              }
                            },
                            "left": {
                              "type": "UnaryExpression",
                              "start": 6894,
                              "end": 6896,
                              "loc": {
                                "start": {
                                  "line": 172,
                                  "column": 18
                                },
                                "end": {
                                  "line": 172,
                                  "column": 20
                                }
                              },
                              "operator": "-",
                              "prefix": true,
                              "argument": {
                                "type": "Identifier",
                                "start": 6895,
                                "end": 6896,
                                "loc": {
                                  "start": {
                                    "line": 172,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 172,
                                    "column": 20
                                  }
                                },
                                "name": "B"
                              }
                            },
                            "operator": "+",
                            "right": {
                              "type": "BinaryExpression",
                              "start": 6899,
                              "end": 6922,
                              "loc": {
                                "start": {
                                  "line": 172,
                                  "column": 23
                                },
                                "end": {
                                  "line": 172,
                                  "column": 46
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 6899,
                                "end": 6903,
                                "loc": {
                                  "start": {
                                    "line": 172,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 172,
                                    "column": 27
                                  }
                                },
                                "name": "sign"
                              },
                              "operator": "*",
                              "right": {
                                "type": "CallExpression",
                                "start": 6906,
                                "end": 6922,
                                "loc": {
                                  "start": {
                                    "line": 172,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 172,
                                    "column": 46
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 6906,
                                  "end": 6915,
                                  "loc": {
                                    "start": {
                                      "line": 172,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 172,
                                      "column": 39
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 6906,
                                    "end": 6910,
                                    "loc": {
                                      "start": {
                                        "line": 172,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 172,
                                        "column": 34
                                      }
                                    },
                                    "name": "Math"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 6911,
                                    "end": 6915,
                                    "loc": {
                                      "start": {
                                        "line": 172,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 172,
                                        "column": 39
                                      }
                                    },
                                    "name": "sqrt"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 6916,
                                    "end": 6921,
                                    "loc": {
                                      "start": {
                                        "line": 172,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 172,
                                        "column": 45
                                      }
                                    },
                                    "name": "discr"
                                  }
                                ]
                              }
                            },
                            "parenthesizedExpression": true
                          },
                          "operator": "/",
                          "right": {
                            "type": "BinaryExpression",
                            "start": 6927,
                            "end": 6932,
                            "loc": {
                              "start": {
                                "line": 172,
                                "column": 51
                              },
                              "end": {
                                "line": 172,
                                "column": 56
                              }
                            },
                            "left": {
                              "type": "Literal",
                              "start": 6927,
                              "end": 6928,
                              "loc": {
                                "start": {
                                  "line": 172,
                                  "column": 51
                                },
                                "end": {
                                  "line": 172,
                                  "column": 52
                                }
                              },
                              "value": 2,
                              "rawValue": 2,
                              "raw": "2"
                            },
                            "operator": "*",
                            "right": {
                              "type": "Identifier",
                              "start": 6931,
                              "end": 6932,
                              "loc": {
                                "start": {
                                  "line": 172,
                                  "column": 55
                                },
                                "end": {
                                  "line": 172,
                                  "column": 56
                                }
                              },
                              "name": "A"
                            },
                            "parenthesizedExpression": true
                          }
                        }
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 6944,
                    "end": 6971,
                    "loc": {
                      "start": {
                        "line": 174,
                        "column": 8
                      },
                      "end": {
                        "line": 174,
                        "column": 35
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 6944,
                      "end": 6970,
                      "loc": {
                        "start": {
                          "line": 174,
                          "column": 8
                        },
                        "end": {
                          "line": 174,
                          "column": 34
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 6944,
                        "end": 6952,
                        "loc": {
                          "start": {
                            "line": 174,
                            "column": 8
                          },
                          "end": {
                            "line": 174,
                            "column": 16
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 6944,
                          "end": 6950,
                          "loc": {
                            "start": {
                              "line": 174,
                              "column": 8
                            },
                            "end": {
                              "line": 174,
                              "column": 14
                            }
                          },
                          "name": "center"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 6951,
                          "end": 6952,
                          "loc": {
                            "start": {
                              "line": 174,
                              "column": 15
                            },
                            "end": {
                              "line": 174,
                              "column": 16
                            }
                          },
                          "name": "x"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "BinaryExpression",
                        "start": 6955,
                        "end": 6970,
                        "loc": {
                          "start": {
                            "line": 174,
                            "column": 19
                          },
                          "end": {
                            "line": 174,
                            "column": 34
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 6955,
                          "end": 6957,
                          "loc": {
                            "start": {
                              "line": 174,
                              "column": 19
                            },
                            "end": {
                              "line": 174,
                              "column": 21
                            }
                          },
                          "name": "Oy"
                        },
                        "operator": "*",
                        "right": {
                          "type": "Identifier",
                          "start": 6960,
                          "end": 6970,
                          "loc": {
                            "start": {
                              "line": 174,
                              "column": 24
                            },
                            "end": {
                              "line": 174,
                              "column": 34
                            }
                          },
                          "name": "proportion"
                        }
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 6980,
                    "end": 6994,
                    "loc": {
                      "start": {
                        "line": 175,
                        "column": 8
                      },
                      "end": {
                        "line": 175,
                        "column": 22
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 6980,
                      "end": 6993,
                      "loc": {
                        "start": {
                          "line": 175,
                          "column": 8
                        },
                        "end": {
                          "line": 175,
                          "column": 21
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 6980,
                        "end": 6988,
                        "loc": {
                          "start": {
                            "line": 175,
                            "column": 8
                          },
                          "end": {
                            "line": 175,
                            "column": 16
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 6980,
                          "end": 6986,
                          "loc": {
                            "start": {
                              "line": 175,
                              "column": 8
                            },
                            "end": {
                              "line": 175,
                              "column": 14
                            }
                          },
                          "name": "center"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 6987,
                          "end": 6988,
                          "loc": {
                            "start": {
                              "line": 175,
                              "column": 15
                            },
                            "end": {
                              "line": 175,
                              "column": 16
                            }
                          },
                          "name": "y"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "Identifier",
                        "start": 6991,
                        "end": 6993,
                        "loc": {
                          "start": {
                            "line": 175,
                            "column": 19
                          },
                          "end": {
                            "line": 175,
                            "column": 21
                          }
                        },
                        "name": "Oy"
                      }
                    }
                  }
                ]
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "if (centerDir.x === 0) {",
                  "start": 6046,
                  "end": 6072,
                  "loc": {
                    "start": {
                      "line": 149,
                      "column": 4
                    },
                    "end": {
                      "line": 149,
                      "column": 30
                    }
                  },
                  "range": [
                    6046,
                    6072
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": "    var sign = centerDir.dot(new THREE.Vector3(0,1,0));",
                  "start": 6077,
                  "end": 6134,
                  "loc": {
                    "start": {
                      "line": 150,
                      "column": 4
                    },
                    "end": {
                      "line": 150,
                      "column": 61
                    }
                  },
                  "range": [
                    6077,
                    6134
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": "    var discr = Math.pow(A2, 2) - 4 * cosA2Sq * A0;",
                  "start": 6139,
                  "end": 6192,
                  "loc": {
                    "start": {
                      "line": 151,
                      "column": 4
                    },
                    "end": {
                      "line": 151,
                      "column": 57
                    }
                  },
                  "range": [
                    6139,
                    6192
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": "    var Oy = (-A2 + sign * Math.sqrt(discr)) / (2 * cosA2Sq);",
                  "start": 6197,
                  "end": 6260,
                  "loc": {
                    "start": {
                      "line": 152,
                      "column": 4
                    },
                    "end": {
                      "line": 152,
                      "column": 67
                    }
                  },
                  "range": [
                    6197,
                    6260
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": "",
                  "start": 6265,
                  "end": 6267,
                  "loc": {
                    "start": {
                      "line": 153,
                      "column": 4
                    },
                    "end": {
                      "line": 153,
                      "column": 6
                    }
                  },
                  "range": [
                    6265,
                    6267
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": "    center.x = 0;",
                  "start": 6272,
                  "end": 6291,
                  "loc": {
                    "start": {
                      "line": 154,
                      "column": 4
                    },
                    "end": {
                      "line": 154,
                      "column": 23
                    }
                  },
                  "range": [
                    6272,
                    6291
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": "    center.y = Oy;",
                  "start": 6296,
                  "end": 6316,
                  "loc": {
                    "start": {
                      "line": 155,
                      "column": 4
                    },
                    "end": {
                      "line": 155,
                      "column": 24
                    }
                  },
                  "range": [
                    6296,
                    6316
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": "} else",
                  "start": 6321,
                  "end": 6329,
                  "loc": {
                    "start": {
                      "line": 156,
                      "column": 4
                    },
                    "end": {
                      "line": 156,
                      "column": 12
                    }
                  },
                  "range": [
                    6321,
                    6329
                  ]
                }
              ]
            },
            {
              "type": "VariableDeclaration",
              "start": 7006,
              "end": 7052,
              "loc": {
                "start": {
                  "line": 178,
                  "column": 4
                },
                "end": {
                  "line": 178,
                  "column": 50
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 7010,
                  "end": 7051,
                  "loc": {
                    "start": {
                      "line": 178,
                      "column": 8
                    },
                    "end": {
                      "line": 178,
                      "column": 49
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 7010,
                    "end": 7013,
                    "loc": {
                      "start": {
                        "line": 178,
                        "column": 8
                      },
                      "end": {
                        "line": 178,
                        "column": 11
                      }
                    },
                    "name": "len"
                  },
                  "init": {
                    "type": "BinaryExpression",
                    "start": 7016,
                    "end": 7051,
                    "loc": {
                      "start": {
                        "line": 178,
                        "column": 14
                      },
                      "end": {
                        "line": 178,
                        "column": 49
                      }
                    },
                    "left": {
                      "type": "CallExpression",
                      "start": 7016,
                      "end": 7031,
                      "loc": {
                        "start": {
                          "line": 178,
                          "column": 14
                        },
                        "end": {
                          "line": 178,
                          "column": 29
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 7016,
                        "end": 7029,
                        "loc": {
                          "start": {
                            "line": 178,
                            "column": 14
                          },
                          "end": {
                            "line": 178,
                            "column": 27
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 7016,
                          "end": 7022,
                          "loc": {
                            "start": {
                              "line": 178,
                              "column": 14
                            },
                            "end": {
                              "line": 178,
                              "column": 20
                            }
                          },
                          "name": "center"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 7023,
                          "end": 7029,
                          "loc": {
                            "start": {
                              "line": 178,
                              "column": 21
                            },
                            "end": {
                              "line": 178,
                              "column": 27
                            }
                          },
                          "name": "length"
                        },
                        "computed": false
                      },
                      "arguments": []
                    },
                    "operator": "*",
                    "right": {
                      "type": "CallExpression",
                      "start": 7034,
                      "end": 7051,
                      "loc": {
                        "start": {
                          "line": 178,
                          "column": 32
                        },
                        "end": {
                          "line": 178,
                          "column": 49
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 7034,
                        "end": 7042,
                        "loc": {
                          "start": {
                            "line": 178,
                            "column": 32
                          },
                          "end": {
                            "line": 178,
                            "column": 40
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 7034,
                          "end": 7038,
                          "loc": {
                            "start": {
                              "line": 178,
                              "column": 32
                            },
                            "end": {
                              "line": 178,
                              "column": 36
                            }
                          },
                          "name": "Math"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 7039,
                          "end": 7042,
                          "loc": {
                            "start": {
                              "line": 178,
                              "column": 37
                            },
                            "end": {
                              "line": 178,
                              "column": 40
                            }
                          },
                          "name": "cos"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "BinaryExpression",
                          "start": 7043,
                          "end": 7050,
                          "loc": {
                            "start": {
                              "line": 178,
                              "column": 41
                            },
                            "end": {
                              "line": 178,
                              "column": 48
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 7043,
                            "end": 7048,
                            "loc": {
                              "start": {
                                "line": 178,
                                "column": 41
                              },
                              "end": {
                                "line": 178,
                                "column": 46
                              }
                            },
                            "name": "alpha"
                          },
                          "operator": "/",
                          "right": {
                            "type": "Literal",
                            "start": 7049,
                            "end": 7050,
                            "loc": {
                              "start": {
                                "line": 178,
                                "column": 47
                              },
                              "end": {
                                "line": 178,
                                "column": 48
                              }
                            },
                            "value": 2,
                            "rawValue": 2,
                            "raw": "2"
                          }
                        }
                      ]
                    }
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "ExpressionStatement",
              "start": 7057,
              "end": 7079,
              "loc": {
                "start": {
                  "line": 179,
                  "column": 4
                },
                "end": {
                  "line": 179,
                  "column": 26
                }
              },
              "expression": {
                "type": "CallExpression",
                "start": 7057,
                "end": 7078,
                "loc": {
                  "start": {
                    "line": 179,
                    "column": 4
                  },
                  "end": {
                    "line": 179,
                    "column": 25
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 7057,
                  "end": 7067,
                  "loc": {
                    "start": {
                      "line": 179,
                      "column": 4
                    },
                    "end": {
                      "line": 179,
                      "column": 14
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 7057,
                    "end": 7063,
                    "loc": {
                      "start": {
                        "line": 179,
                        "column": 4
                      },
                      "end": {
                        "line": 179,
                        "column": 10
                      }
                    },
                    "name": "center"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 7064,
                    "end": 7067,
                    "loc": {
                      "start": {
                        "line": 179,
                        "column": 11
                      },
                      "end": {
                        "line": 179,
                        "column": 14
                      }
                    },
                    "name": "add"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "Identifier",
                    "start": 7068,
                    "end": 7077,
                    "loc": {
                      "start": {
                        "line": 179,
                        "column": 15
                      },
                      "end": {
                        "line": 179,
                        "column": 24
                      }
                    },
                    "name": "vertexPos"
                  }
                ]
              }
            },
            {
              "type": "ReturnStatement",
              "start": 7085,
              "end": 7295,
              "loc": {
                "start": {
                  "line": 181,
                  "column": 4
                },
                "end": {
                  "line": 186,
                  "column": 5
                }
              },
              "argument": {
                "type": "ObjectExpression",
                "start": 7092,
                "end": 7295,
                "loc": {
                  "start": {
                    "line": 181,
                    "column": 11
                  },
                  "end": {
                    "line": 186,
                    "column": 5
                  }
                },
                "properties": [
                  {
                    "type": "Property",
                    "start": 7102,
                    "end": 7168,
                    "loc": {
                      "start": {
                        "line": 182,
                        "column": 8
                      },
                      "end": {
                        "line": 182,
                        "column": 74
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 7102,
                      "end": 7107,
                      "loc": {
                        "start": {
                          "line": 182,
                          "column": 8
                        },
                        "end": {
                          "line": 182,
                          "column": 13
                        }
                      },
                      "name": "start"
                    },
                    "value": {
                      "type": "CallExpression",
                      "start": 7109,
                      "end": 7168,
                      "loc": {
                        "start": {
                          "line": 182,
                          "column": 15
                        },
                        "end": {
                          "line": 182,
                          "column": 74
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 7109,
                        "end": 7130,
                        "loc": {
                          "start": {
                            "line": 182,
                            "column": 15
                          },
                          "end": {
                            "line": 182,
                            "column": 36
                          }
                        },
                        "object": {
                          "type": "CallExpression",
                          "start": 7109,
                          "end": 7126,
                          "loc": {
                            "start": {
                              "line": 182,
                              "column": 15
                            },
                            "end": {
                              "line": 182,
                              "column": 32
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 7109,
                            "end": 7124,
                            "loc": {
                              "start": {
                                "line": 182,
                                "column": 15
                              },
                              "end": {
                                "line": 182,
                                "column": 30
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 7109,
                              "end": 7118,
                              "loc": {
                                "start": {
                                  "line": 182,
                                  "column": 15
                                },
                                "end": {
                                  "line": 182,
                                  "column": 24
                                }
                              },
                              "name": "vertexPos"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 7119,
                              "end": 7124,
                              "loc": {
                                "start": {
                                  "line": 182,
                                  "column": 25
                                },
                                "end": {
                                  "line": 182,
                                  "column": 30
                                }
                              },
                              "name": "clone"
                            },
                            "computed": false
                          },
                          "arguments": []
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 7127,
                          "end": 7130,
                          "loc": {
                            "start": {
                              "line": 182,
                              "column": 33
                            },
                            "end": {
                              "line": 182,
                              "column": 36
                            }
                          },
                          "name": "add"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "CallExpression",
                          "start": 7131,
                          "end": 7167,
                          "loc": {
                            "start": {
                              "line": 182,
                              "column": 37
                            },
                            "end": {
                              "line": 182,
                              "column": 73
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 7131,
                            "end": 7162,
                            "loc": {
                              "start": {
                                "line": 182,
                                "column": 37
                              },
                              "end": {
                                "line": 182,
                                "column": 68
                              }
                            },
                            "object": {
                              "type": "CallExpression",
                              "start": 7131,
                              "end": 7147,
                              "loc": {
                                "start": {
                                  "line": 182,
                                  "column": 37
                                },
                                "end": {
                                  "line": 182,
                                  "column": 53
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 7131,
                                "end": 7145,
                                "loc": {
                                  "start": {
                                    "line": 182,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 182,
                                    "column": 51
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 7131,
                                  "end": 7139,
                                  "loc": {
                                    "start": {
                                      "line": 182,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 182,
                                      "column": 45
                                    }
                                  },
                                  "name": "startDir"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7140,
                                  "end": 7145,
                                  "loc": {
                                    "start": {
                                      "line": 182,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 182,
                                      "column": 51
                                    }
                                  },
                                  "name": "clone"
                                },
                                "computed": false
                              },
                              "arguments": []
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 7148,
                              "end": 7162,
                              "loc": {
                                "start": {
                                  "line": 182,
                                  "column": 54
                                },
                                "end": {
                                  "line": 182,
                                  "column": 68
                                }
                              },
                              "name": "multiplyScalar"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 7163,
                              "end": 7166,
                              "loc": {
                                "start": {
                                  "line": 182,
                                  "column": 69
                                },
                                "end": {
                                  "line": 182,
                                  "column": 72
                                }
                              },
                              "name": "len"
                            }
                          ]
                        }
                      ]
                    },
                    "kind": "init"
                  },
                  {
                    "type": "Property",
                    "start": 7178,
                    "end": 7240,
                    "loc": {
                      "start": {
                        "line": 183,
                        "column": 8
                      },
                      "end": {
                        "line": 183,
                        "column": 70
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 7178,
                      "end": 7181,
                      "loc": {
                        "start": {
                          "line": 183,
                          "column": 8
                        },
                        "end": {
                          "line": 183,
                          "column": 11
                        }
                      },
                      "name": "end"
                    },
                    "value": {
                      "type": "CallExpression",
                      "start": 7183,
                      "end": 7240,
                      "loc": {
                        "start": {
                          "line": 183,
                          "column": 13
                        },
                        "end": {
                          "line": 183,
                          "column": 70
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 7183,
                        "end": 7204,
                        "loc": {
                          "start": {
                            "line": 183,
                            "column": 13
                          },
                          "end": {
                            "line": 183,
                            "column": 34
                          }
                        },
                        "object": {
                          "type": "CallExpression",
                          "start": 7183,
                          "end": 7200,
                          "loc": {
                            "start": {
                              "line": 183,
                              "column": 13
                            },
                            "end": {
                              "line": 183,
                              "column": 30
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 7183,
                            "end": 7198,
                            "loc": {
                              "start": {
                                "line": 183,
                                "column": 13
                              },
                              "end": {
                                "line": 183,
                                "column": 28
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 7183,
                              "end": 7192,
                              "loc": {
                                "start": {
                                  "line": 183,
                                  "column": 13
                                },
                                "end": {
                                  "line": 183,
                                  "column": 22
                                }
                              },
                              "name": "vertexPos"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 7193,
                              "end": 7198,
                              "loc": {
                                "start": {
                                  "line": 183,
                                  "column": 23
                                },
                                "end": {
                                  "line": 183,
                                  "column": 28
                                }
                              },
                              "name": "clone"
                            },
                            "computed": false
                          },
                          "arguments": []
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 7201,
                          "end": 7204,
                          "loc": {
                            "start": {
                              "line": 183,
                              "column": 31
                            },
                            "end": {
                              "line": 183,
                              "column": 34
                            }
                          },
                          "name": "add"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "CallExpression",
                          "start": 7205,
                          "end": 7239,
                          "loc": {
                            "start": {
                              "line": 183,
                              "column": 35
                            },
                            "end": {
                              "line": 183,
                              "column": 69
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 7205,
                            "end": 7234,
                            "loc": {
                              "start": {
                                "line": 183,
                                "column": 35
                              },
                              "end": {
                                "line": 183,
                                "column": 64
                              }
                            },
                            "object": {
                              "type": "CallExpression",
                              "start": 7205,
                              "end": 7219,
                              "loc": {
                                "start": {
                                  "line": 183,
                                  "column": 35
                                },
                                "end": {
                                  "line": 183,
                                  "column": 49
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 7205,
                                "end": 7217,
                                "loc": {
                                  "start": {
                                    "line": 183,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 183,
                                    "column": 47
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 7205,
                                  "end": 7211,
                                  "loc": {
                                    "start": {
                                      "line": 183,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 183,
                                      "column": 41
                                    }
                                  },
                                  "name": "endDir"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7212,
                                  "end": 7217,
                                  "loc": {
                                    "start": {
                                      "line": 183,
                                      "column": 42
                                    },
                                    "end": {
                                      "line": 183,
                                      "column": 47
                                    }
                                  },
                                  "name": "clone"
                                },
                                "computed": false
                              },
                              "arguments": []
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 7220,
                              "end": 7234,
                              "loc": {
                                "start": {
                                  "line": 183,
                                  "column": 50
                                },
                                "end": {
                                  "line": 183,
                                  "column": 64
                                }
                              },
                              "name": "multiplyScalar"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 7235,
                              "end": 7238,
                              "loc": {
                                "start": {
                                  "line": 183,
                                  "column": 65
                                },
                                "end": {
                                  "line": 183,
                                  "column": 68
                                }
                              },
                              "name": "len"
                            }
                          ]
                        }
                      ]
                    },
                    "kind": "init"
                  },
                  {
                    "type": "Property",
                    "start": 7250,
                    "end": 7264,
                    "loc": {
                      "start": {
                        "line": 184,
                        "column": 8
                      },
                      "end": {
                        "line": 184,
                        "column": 22
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 7250,
                      "end": 7256,
                      "loc": {
                        "start": {
                          "line": 184,
                          "column": 8
                        },
                        "end": {
                          "line": 184,
                          "column": 14
                        }
                      },
                      "name": "center"
                    },
                    "value": {
                      "type": "Identifier",
                      "start": 7258,
                      "end": 7264,
                      "loc": {
                        "start": {
                          "line": 184,
                          "column": 16
                        },
                        "end": {
                          "line": 184,
                          "column": 22
                        }
                      },
                      "name": "center"
                    },
                    "kind": "init"
                  },
                  {
                    "type": "Property",
                    "start": 7274,
                    "end": 7289,
                    "loc": {
                      "start": {
                        "line": 185,
                        "column": 8
                      },
                      "end": {
                        "line": 185,
                        "column": 23
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 7274,
                      "end": 7283,
                      "loc": {
                        "start": {
                          "line": 185,
                          "column": 8
                        },
                        "end": {
                          "line": 185,
                          "column": 17
                        }
                      },
                      "name": "clockwise"
                    },
                    "value": {
                      "type": "Literal",
                      "start": 7285,
                      "end": 7289,
                      "loc": {
                        "start": {
                          "line": 185,
                          "column": 19
                        },
                        "end": {
                          "line": 185,
                          "column": 23
                        }
                      },
                      "value": true,
                      "rawValue": true,
                      "raw": "true"
                    },
                    "kind": "init"
                  }
                ]
              }
            }
          ]
        },
        "leadingComments": [],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 7300,
      "end": 8075,
      "loc": {
        "start": {
          "line": 190,
          "column": 0
        },
        "end": {
          "line": 214,
          "column": 1
        }
      },
      "declaration": {
        "type": "FunctionDeclaration",
        "start": 7307,
        "end": 8075,
        "loc": {
          "start": {
            "line": 190,
            "column": 7
          },
          "end": {
            "line": 214,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 7316,
          "end": 7332,
          "loc": {
            "start": {
              "line": 190,
              "column": 16
            },
            "end": {
              "line": 190,
              "column": 32
            }
          },
          "name": "createGeomObject"
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [
          {
            "type": "Identifier",
            "start": 7333,
            "end": 7343,
            "loc": {
              "start": {
                "line": 190,
                "column": 33
              },
              "end": {
                "line": 190,
                "column": 43
              }
            },
            "name": "geomParams"
          },
          {
            "type": "Identifier",
            "start": 7345,
            "end": 7354,
            "loc": {
              "start": {
                "line": 190,
                "column": 45
              },
              "end": {
                "line": 190,
                "column": 54
              }
            },
            "name": "oldObject"
          }
        ],
        "body": {
          "type": "BlockStatement",
          "start": 7356,
          "end": 8075,
          "loc": {
            "start": {
              "line": 190,
              "column": 56
            },
            "end": {
              "line": 214,
              "column": 1
            }
          },
          "body": [
            {
              "type": "VariableDeclaration",
              "start": 7393,
              "end": 7413,
              "loc": {
                "start": {
                  "line": 192,
                  "column": 4
                },
                "end": {
                  "line": 192,
                  "column": 24
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 7397,
                  "end": 7412,
                  "loc": {
                    "start": {
                      "line": 192,
                      "column": 8
                    },
                    "end": {
                      "line": 192,
                      "column": 23
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 7397,
                    "end": 7404,
                    "loc": {
                      "start": {
                        "line": 192,
                        "column": 8
                      },
                      "end": {
                        "line": 192,
                        "column": 15
                      }
                    },
                    "name": "newType",
                    "leadingComments": null
                  },
                  "init": {
                    "type": "Identifier",
                    "start": 7407,
                    "end": 7412,
                    "loc": {
                      "start": {
                        "line": 192,
                        "column": 18
                      },
                      "end": {
                        "line": 192,
                        "column": 23
                      }
                    },
                    "name": "Point"
                  },
                  "leadingComments": null
                }
              ],
              "kind": "var",
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "detect new geometry type",
                  "start": 7362,
                  "end": 7388,
                  "loc": {
                    "start": {
                      "line": 191,
                      "column": 4
                    },
                    "end": {
                      "line": 191,
                      "column": 30
                    }
                  },
                  "range": [
                    7362,
                    7388
                  ]
                }
              ]
            },
            {
              "type": "IfStatement",
              "start": 7418,
              "end": 7500,
              "loc": {
                "start": {
                  "line": 193,
                  "column": 4
                },
                "end": {
                  "line": 194,
                  "column": 44
                }
              },
              "test": {
                "type": "MemberExpression",
                "start": 7422,
                "end": 7439,
                "loc": {
                  "start": {
                    "line": 193,
                    "column": 8
                  },
                  "end": {
                    "line": 193,
                    "column": 25
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 7422,
                  "end": 7432,
                  "loc": {
                    "start": {
                      "line": 193,
                      "column": 8
                    },
                    "end": {
                      "line": 193,
                      "column": 18
                    }
                  },
                  "name": "geomParams"
                },
                "property": {
                  "type": "Identifier",
                  "start": 7433,
                  "end": 7439,
                  "loc": {
                    "start": {
                      "line": 193,
                      "column": 19
                    },
                    "end": {
                      "line": 193,
                      "column": 25
                    }
                  },
                  "name": "center"
                },
                "computed": false
              },
              "consequent": {
                "type": "ExpressionStatement",
                "start": 7441,
                "end": 7455,
                "loc": {
                  "start": {
                    "line": 193,
                    "column": 27
                  },
                  "end": {
                    "line": 193,
                    "column": 41
                  }
                },
                "expression": {
                  "type": "AssignmentExpression",
                  "start": 7441,
                  "end": 7454,
                  "loc": {
                    "start": {
                      "line": 193,
                      "column": 27
                    },
                    "end": {
                      "line": 193,
                      "column": 40
                    }
                  },
                  "operator": "=",
                  "left": {
                    "type": "Identifier",
                    "start": 7441,
                    "end": 7448,
                    "loc": {
                      "start": {
                        "line": 193,
                        "column": 27
                      },
                      "end": {
                        "line": 193,
                        "column": 34
                      }
                    },
                    "name": "newType"
                  },
                  "right": {
                    "type": "Identifier",
                    "start": 7451,
                    "end": 7454,
                    "loc": {
                      "start": {
                        "line": 193,
                        "column": 37
                      },
                      "end": {
                        "line": 193,
                        "column": 40
                      }
                    },
                    "name": "Arc"
                  }
                }
              },
              "alternate": {
                "type": "IfStatement",
                "start": 7465,
                "end": 7500,
                "loc": {
                  "start": {
                    "line": 194,
                    "column": 9
                  },
                  "end": {
                    "line": 194,
                    "column": 44
                  }
                },
                "test": {
                  "type": "MemberExpression",
                  "start": 7469,
                  "end": 7483,
                  "loc": {
                    "start": {
                      "line": 194,
                      "column": 13
                    },
                    "end": {
                      "line": 194,
                      "column": 27
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 7469,
                    "end": 7479,
                    "loc": {
                      "start": {
                        "line": 194,
                        "column": 13
                      },
                      "end": {
                        "line": 194,
                        "column": 23
                      }
                    },
                    "name": "geomParams"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 7480,
                    "end": 7483,
                    "loc": {
                      "start": {
                        "line": 194,
                        "column": 24
                      },
                      "end": {
                        "line": 194,
                        "column": 27
                      }
                    },
                    "name": "end"
                  },
                  "computed": false
                },
                "consequent": {
                  "type": "ExpressionStatement",
                  "start": 7485,
                  "end": 7500,
                  "loc": {
                    "start": {
                      "line": 194,
                      "column": 29
                    },
                    "end": {
                      "line": 194,
                      "column": 44
                    }
                  },
                  "expression": {
                    "type": "AssignmentExpression",
                    "start": 7485,
                    "end": 7499,
                    "loc": {
                      "start": {
                        "line": 194,
                        "column": 29
                      },
                      "end": {
                        "line": 194,
                        "column": 43
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "Identifier",
                      "start": 7485,
                      "end": 7492,
                      "loc": {
                        "start": {
                          "line": 194,
                          "column": 29
                        },
                        "end": {
                          "line": 194,
                          "column": 36
                        }
                      },
                      "name": "newType"
                    },
                    "right": {
                      "type": "Identifier",
                      "start": 7495,
                      "end": 7499,
                      "loc": {
                        "start": {
                          "line": 194,
                          "column": 39
                        },
                        "end": {
                          "line": 194,
                          "column": 43
                        }
                      },
                      "name": "Line"
                    }
                  }
                },
                "alternate": null
              }
            },
            {
              "type": "IfStatement",
              "start": 7506,
              "end": 7637,
              "loc": {
                "start": {
                  "line": 196,
                  "column": 4
                },
                "end": {
                  "line": 199,
                  "column": 5
                }
              },
              "test": {
                "type": "UnaryExpression",
                "start": 7510,
                "end": 7541,
                "loc": {
                  "start": {
                    "line": 196,
                    "column": 8
                  },
                  "end": {
                    "line": 196,
                    "column": 39
                  }
                },
                "operator": "!",
                "prefix": true,
                "argument": {
                  "type": "BinaryExpression",
                  "start": 7512,
                  "end": 7540,
                  "loc": {
                    "start": {
                      "line": 196,
                      "column": 10
                    },
                    "end": {
                      "line": 196,
                      "column": 38
                    }
                  },
                  "left": {
                    "type": "Identifier",
                    "start": 7512,
                    "end": 7521,
                    "loc": {
                      "start": {
                        "line": 196,
                        "column": 10
                      },
                      "end": {
                        "line": 196,
                        "column": 19
                      }
                    },
                    "name": "oldObject"
                  },
                  "operator": "instanceof",
                  "right": {
                    "type": "Identifier",
                    "start": 7533,
                    "end": 7540,
                    "loc": {
                      "start": {
                        "line": 196,
                        "column": 31
                      },
                      "end": {
                        "line": 196,
                        "column": 38
                      }
                    },
                    "name": "newType"
                  },
                  "parenthesizedExpression": true
                }
              },
              "consequent": {
                "type": "BlockStatement",
                "start": 7543,
                "end": 7637,
                "loc": {
                  "start": {
                    "line": 196,
                    "column": 41
                  },
                  "end": {
                    "line": 199,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 7605,
                    "end": 7631,
                    "loc": {
                      "start": {
                        "line": 198,
                        "column": 8
                      },
                      "end": {
                        "line": 198,
                        "column": 34
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 7605,
                      "end": 7630,
                      "loc": {
                        "start": {
                          "line": 198,
                          "column": 8
                        },
                        "end": {
                          "line": 198,
                          "column": 33
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 7605,
                        "end": 7614,
                        "loc": {
                          "start": {
                            "line": 198,
                            "column": 8
                          },
                          "end": {
                            "line": 198,
                            "column": 17
                          }
                        },
                        "name": "oldObject",
                        "leadingComments": null
                      },
                      "right": {
                        "type": "NewExpression",
                        "start": 7617,
                        "end": 7630,
                        "loc": {
                          "start": {
                            "line": 198,
                            "column": 20
                          },
                          "end": {
                            "line": 198,
                            "column": 33
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 7621,
                          "end": 7628,
                          "loc": {
                            "start": {
                              "line": 198,
                              "column": 24
                            },
                            "end": {
                              "line": 198,
                              "column": 31
                            }
                          },
                          "name": "newType"
                        },
                        "arguments": []
                      },
                      "leadingComments": null
                    },
                    "leadingComments": [
                      {
                        "type": "CommentLine",
                        "value": "slow path: we have to create a new object",
                        "start": 7553,
                        "end": 7596,
                        "loc": {
                          "start": {
                            "line": 197,
                            "column": 8
                          },
                          "end": {
                            "line": 197,
                            "column": 51
                          }
                        },
                        "range": [
                          7553,
                          7596
                        ]
                      }
                    ]
                  }
                ]
              },
              "alternate": null
            },
            {
              "type": "IfStatement",
              "start": 7643,
              "end": 8018,
              "loc": {
                "start": {
                  "line": 201,
                  "column": 4
                },
                "end": {
                  "line": 210,
                  "column": 5
                }
              },
              "test": {
                "type": "BinaryExpression",
                "start": 7647,
                "end": 7664,
                "loc": {
                  "start": {
                    "line": 201,
                    "column": 8
                  },
                  "end": {
                    "line": 201,
                    "column": 25
                  }
                },
                "left": {
                  "type": "Identifier",
                  "start": 7647,
                  "end": 7654,
                  "loc": {
                    "start": {
                      "line": 201,
                      "column": 8
                    },
                    "end": {
                      "line": 201,
                      "column": 15
                    }
                  },
                  "name": "newType"
                },
                "operator": "===",
                "right": {
                  "type": "Identifier",
                  "start": 7659,
                  "end": 7664,
                  "loc": {
                    "start": {
                      "line": 201,
                      "column": 20
                    },
                    "end": {
                      "line": 201,
                      "column": 25
                    }
                  },
                  "name": "Point"
                }
              },
              "consequent": {
                "type": "ExpressionStatement",
                "start": 7674,
                "end": 7716,
                "loc": {
                  "start": {
                    "line": 202,
                    "column": 8
                  },
                  "end": {
                    "line": 202,
                    "column": 50
                  }
                },
                "expression": {
                  "type": "CallExpression",
                  "start": 7674,
                  "end": 7715,
                  "loc": {
                    "start": {
                      "line": 202,
                      "column": 8
                    },
                    "end": {
                      "line": 202,
                      "column": 49
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 7674,
                    "end": 7697,
                    "loc": {
                      "start": {
                        "line": 202,
                        "column": 8
                      },
                      "end": {
                        "line": 202,
                        "column": 31
                      }
                    },
                    "object": {
                      "type": "MemberExpression",
                      "start": 7674,
                      "end": 7692,
                      "loc": {
                        "start": {
                          "line": 202,
                          "column": 8
                        },
                        "end": {
                          "line": 202,
                          "column": 26
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 7674,
                        "end": 7683,
                        "loc": {
                          "start": {
                            "line": 202,
                            "column": 8
                          },
                          "end": {
                            "line": 202,
                            "column": 17
                          }
                        },
                        "name": "oldObject"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 7684,
                        "end": 7692,
                        "loc": {
                          "start": {
                            "line": 202,
                            "column": 18
                          },
                          "end": {
                            "line": 202,
                            "column": 26
                          }
                        },
                        "name": "position"
                      },
                      "computed": false
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 7693,
                      "end": 7697,
                      "loc": {
                        "start": {
                          "line": 202,
                          "column": 27
                        },
                        "end": {
                          "line": 202,
                          "column": 31
                        }
                      },
                      "name": "copy"
                    },
                    "computed": false
                  },
                  "arguments": [
                    {
                      "type": "MemberExpression",
                      "start": 7698,
                      "end": 7714,
                      "loc": {
                        "start": {
                          "line": 202,
                          "column": 32
                        },
                        "end": {
                          "line": 202,
                          "column": 48
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 7698,
                        "end": 7708,
                        "loc": {
                          "start": {
                            "line": 202,
                            "column": 32
                          },
                          "end": {
                            "line": 202,
                            "column": 42
                          }
                        },
                        "name": "geomParams"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 7709,
                        "end": 7714,
                        "loc": {
                          "start": {
                            "line": 202,
                            "column": 43
                          },
                          "end": {
                            "line": 202,
                            "column": 48
                          }
                        },
                        "name": "start"
                      },
                      "computed": false
                    }
                  ]
                }
              },
              "alternate": {
                "type": "BlockStatement",
                "start": 7726,
                "end": 8018,
                "loc": {
                  "start": {
                    "line": 203,
                    "column": 9
                  },
                  "end": {
                    "line": 210,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 7736,
                    "end": 7788,
                    "loc": {
                      "start": {
                        "line": 204,
                        "column": 8
                      },
                      "end": {
                        "line": 204,
                        "column": 60
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 7736,
                      "end": 7787,
                      "loc": {
                        "start": {
                          "line": 204,
                          "column": 8
                        },
                        "end": {
                          "line": 204,
                          "column": 59
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 7736,
                        "end": 7769,
                        "loc": {
                          "start": {
                            "line": 204,
                            "column": 8
                          },
                          "end": {
                            "line": 204,
                            "column": 41
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 7736,
                          "end": 7764,
                          "loc": {
                            "start": {
                              "line": 204,
                              "column": 8
                            },
                            "end": {
                              "line": 204,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 7736,
                            "end": 7755,
                            "loc": {
                              "start": {
                                "line": 204,
                                "column": 8
                              },
                              "end": {
                                "line": 204,
                                "column": 27
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 7736,
                              "end": 7752,
                              "loc": {
                                "start": {
                                  "line": 204,
                                  "column": 8
                                },
                                "end": {
                                  "line": 204,
                                  "column": 24
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 7736,
                                "end": 7745,
                                "loc": {
                                  "start": {
                                    "line": 204,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 204,
                                    "column": 17
                                  }
                                },
                                "name": "oldObject"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7746,
                                "end": 7752,
                                "loc": {
                                  "start": {
                                    "line": 204,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 204,
                                    "column": 24
                                  }
                                },
                                "name": "points"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Literal",
                              "start": 7753,
                              "end": 7754,
                              "loc": {
                                "start": {
                                  "line": 204,
                                  "column": 25
                                },
                                "end": {
                                  "line": 204,
                                  "column": 26
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            },
                            "computed": true
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7756,
                            "end": 7764,
                            "loc": {
                              "start": {
                                "line": 204,
                                "column": 28
                              },
                              "end": {
                                "line": 204,
                                "column": 36
                              }
                            },
                            "name": "position"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 7765,
                          "end": 7769,
                          "loc": {
                            "start": {
                              "line": 204,
                              "column": 37
                            },
                            "end": {
                              "line": 204,
                              "column": 41
                            }
                          },
                          "name": "copy"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "MemberExpression",
                          "start": 7770,
                          "end": 7786,
                          "loc": {
                            "start": {
                              "line": 204,
                              "column": 42
                            },
                            "end": {
                              "line": 204,
                              "column": 58
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 7770,
                            "end": 7780,
                            "loc": {
                              "start": {
                                "line": 204,
                                "column": 42
                              },
                              "end": {
                                "line": 204,
                                "column": 52
                              }
                            },
                            "name": "geomParams"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7781,
                            "end": 7786,
                            "loc": {
                              "start": {
                                "line": 204,
                                "column": 53
                              },
                              "end": {
                                "line": 204,
                                "column": 58
                              }
                            },
                            "name": "start"
                          },
                          "computed": false
                        }
                      ]
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 7797,
                    "end": 7847,
                    "loc": {
                      "start": {
                        "line": 205,
                        "column": 8
                      },
                      "end": {
                        "line": 205,
                        "column": 58
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 7797,
                      "end": 7846,
                      "loc": {
                        "start": {
                          "line": 205,
                          "column": 8
                        },
                        "end": {
                          "line": 205,
                          "column": 57
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 7797,
                        "end": 7830,
                        "loc": {
                          "start": {
                            "line": 205,
                            "column": 8
                          },
                          "end": {
                            "line": 205,
                            "column": 41
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 7797,
                          "end": 7825,
                          "loc": {
                            "start": {
                              "line": 205,
                              "column": 8
                            },
                            "end": {
                              "line": 205,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 7797,
                            "end": 7816,
                            "loc": {
                              "start": {
                                "line": 205,
                                "column": 8
                              },
                              "end": {
                                "line": 205,
                                "column": 27
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 7797,
                              "end": 7813,
                              "loc": {
                                "start": {
                                  "line": 205,
                                  "column": 8
                                },
                                "end": {
                                  "line": 205,
                                  "column": 24
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 7797,
                                "end": 7806,
                                "loc": {
                                  "start": {
                                    "line": 205,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 205,
                                    "column": 17
                                  }
                                },
                                "name": "oldObject"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7807,
                                "end": 7813,
                                "loc": {
                                  "start": {
                                    "line": 205,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 205,
                                    "column": 24
                                  }
                                },
                                "name": "points"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Literal",
                              "start": 7814,
                              "end": 7815,
                              "loc": {
                                "start": {
                                  "line": 205,
                                  "column": 25
                                },
                                "end": {
                                  "line": 205,
                                  "column": 26
                                }
                              },
                              "value": 1,
                              "rawValue": 1,
                              "raw": "1"
                            },
                            "computed": true
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7817,
                            "end": 7825,
                            "loc": {
                              "start": {
                                "line": 205,
                                "column": 28
                              },
                              "end": {
                                "line": 205,
                                "column": 36
                              }
                            },
                            "name": "position"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 7826,
                          "end": 7830,
                          "loc": {
                            "start": {
                              "line": 205,
                              "column": 37
                            },
                            "end": {
                              "line": 205,
                              "column": 41
                            }
                          },
                          "name": "copy"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "MemberExpression",
                          "start": 7831,
                          "end": 7845,
                          "loc": {
                            "start": {
                              "line": 205,
                              "column": 42
                            },
                            "end": {
                              "line": 205,
                              "column": 56
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 7831,
                            "end": 7841,
                            "loc": {
                              "start": {
                                "line": 205,
                                "column": 42
                              },
                              "end": {
                                "line": 205,
                                "column": 52
                              }
                            },
                            "name": "geomParams"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7842,
                            "end": 7845,
                            "loc": {
                              "start": {
                                "line": 205,
                                "column": 53
                              },
                              "end": {
                                "line": 205,
                                "column": 56
                              }
                            },
                            "name": "end"
                          },
                          "computed": false
                        }
                      ]
                    }
                  },
                  {
                    "type": "IfStatement",
                    "start": 7856,
                    "end": 8012,
                    "loc": {
                      "start": {
                        "line": 206,
                        "column": 8
                      },
                      "end": {
                        "line": 209,
                        "column": 9
                      }
                    },
                    "test": {
                      "type": "BinaryExpression",
                      "start": 7860,
                      "end": 7875,
                      "loc": {
                        "start": {
                          "line": 206,
                          "column": 12
                        },
                        "end": {
                          "line": 206,
                          "column": 27
                        }
                      },
                      "left": {
                        "type": "Identifier",
                        "start": 7860,
                        "end": 7867,
                        "loc": {
                          "start": {
                            "line": 206,
                            "column": 12
                          },
                          "end": {
                            "line": 206,
                            "column": 19
                          }
                        },
                        "name": "newType"
                      },
                      "operator": "===",
                      "right": {
                        "type": "Identifier",
                        "start": 7872,
                        "end": 7875,
                        "loc": {
                          "start": {
                            "line": 206,
                            "column": 24
                          },
                          "end": {
                            "line": 206,
                            "column": 27
                          }
                        },
                        "name": "Arc"
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 7877,
                      "end": 8012,
                      "loc": {
                        "start": {
                          "line": 206,
                          "column": 29
                        },
                        "end": {
                          "line": 209,
                          "column": 9
                        }
                      },
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "start": 7891,
                          "end": 7946,
                          "loc": {
                            "start": {
                              "line": 207,
                              "column": 12
                            },
                            "end": {
                              "line": 207,
                              "column": 67
                            }
                          },
                          "expression": {
                            "type": "CallExpression",
                            "start": 7891,
                            "end": 7945,
                            "loc": {
                              "start": {
                                "line": 207,
                                "column": 12
                              },
                              "end": {
                                "line": 207,
                                "column": 66
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 7891,
                              "end": 7926,
                              "loc": {
                                "start": {
                                  "line": 207,
                                  "column": 12
                                },
                                "end": {
                                  "line": 207,
                                  "column": 47
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 7891,
                                "end": 7921,
                                "loc": {
                                  "start": {
                                    "line": 207,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 207,
                                    "column": 42
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 7891,
                                  "end": 7912,
                                  "loc": {
                                    "start": {
                                      "line": 207,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 207,
                                      "column": 33
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 7891,
                                    "end": 7900,
                                    "loc": {
                                      "start": {
                                        "line": 207,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 207,
                                        "column": 21
                                      }
                                    },
                                    "name": "oldObject"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7901,
                                    "end": 7912,
                                    "loc": {
                                      "start": {
                                        "line": 207,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 207,
                                        "column": 33
                                      }
                                    },
                                    "name": "centerPoint"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7913,
                                  "end": 7921,
                                  "loc": {
                                    "start": {
                                      "line": 207,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 207,
                                      "column": 42
                                    }
                                  },
                                  "name": "position"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7922,
                                "end": 7926,
                                "loc": {
                                  "start": {
                                    "line": 207,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 207,
                                    "column": 47
                                  }
                                },
                                "name": "copy"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 7927,
                                "end": 7944,
                                "loc": {
                                  "start": {
                                    "line": 207,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 207,
                                    "column": 65
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 7927,
                                  "end": 7937,
                                  "loc": {
                                    "start": {
                                      "line": 207,
                                      "column": 48
                                    },
                                    "end": {
                                      "line": 207,
                                      "column": 58
                                    }
                                  },
                                  "name": "geomParams"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7938,
                                  "end": 7944,
                                  "loc": {
                                    "start": {
                                      "line": 207,
                                      "column": 59
                                    },
                                    "end": {
                                      "line": 207,
                                      "column": 65
                                    }
                                  },
                                  "name": "center"
                                },
                                "computed": false
                              }
                            ]
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "start": 7959,
                          "end": 8002,
                          "loc": {
                            "start": {
                              "line": 208,
                              "column": 12
                            },
                            "end": {
                              "line": 208,
                              "column": 55
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 7959,
                            "end": 8001,
                            "loc": {
                              "start": {
                                "line": 208,
                                "column": 12
                              },
                              "end": {
                                "line": 208,
                                "column": 54
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "start": 7959,
                              "end": 7978,
                              "loc": {
                                "start": {
                                  "line": 208,
                                  "column": 12
                                },
                                "end": {
                                  "line": 208,
                                  "column": 31
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 7959,
                                "end": 7968,
                                "loc": {
                                  "start": {
                                    "line": 208,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 208,
                                    "column": 21
                                  }
                                },
                                "name": "oldObject"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7969,
                                "end": 7978,
                                "loc": {
                                  "start": {
                                    "line": 208,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 208,
                                    "column": 31
                                  }
                                },
                                "name": "clockwise"
                              },
                              "computed": false
                            },
                            "right": {
                              "type": "MemberExpression",
                              "start": 7981,
                              "end": 8001,
                              "loc": {
                                "start": {
                                  "line": 208,
                                  "column": 34
                                },
                                "end": {
                                  "line": 208,
                                  "column": 54
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 7981,
                                "end": 7991,
                                "loc": {
                                  "start": {
                                    "line": 208,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 208,
                                    "column": 44
                                  }
                                },
                                "name": "geomParams"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7992,
                                "end": 8001,
                                "loc": {
                                  "start": {
                                    "line": 208,
                                    "column": 45
                                  },
                                  "end": {
                                    "line": 208,
                                    "column": 54
                                  }
                                },
                                "name": "clockwise"
                              },
                              "computed": false
                            }
                          }
                        }
                      ]
                    },
                    "alternate": null
                  }
                ]
              }
            },
            {
              "type": "ExpressionStatement",
              "start": 8024,
              "end": 8051,
              "loc": {
                "start": {
                  "line": 212,
                  "column": 4
                },
                "end": {
                  "line": 212,
                  "column": 31
                }
              },
              "expression": {
                "type": "CallExpression",
                "start": 8024,
                "end": 8050,
                "loc": {
                  "start": {
                    "line": 212,
                    "column": 4
                  },
                  "end": {
                    "line": 212,
                    "column": 30
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 8024,
                  "end": 8048,
                  "loc": {
                    "start": {
                      "line": 212,
                      "column": 4
                    },
                    "end": {
                      "line": 212,
                      "column": 28
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 8024,
                    "end": 8033,
                    "loc": {
                      "start": {
                        "line": 212,
                        "column": 4
                      },
                      "end": {
                        "line": 212,
                        "column": 13
                      }
                    },
                    "name": "oldObject"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 8034,
                    "end": 8048,
                    "loc": {
                      "start": {
                        "line": 212,
                        "column": 14
                      },
                      "end": {
                        "line": 212,
                        "column": 28
                      }
                    },
                    "name": "updateGeometry"
                  },
                  "computed": false
                },
                "arguments": []
              }
            },
            {
              "type": "ReturnStatement",
              "start": 8056,
              "end": 8073,
              "loc": {
                "start": {
                  "line": 213,
                  "column": 4
                },
                "end": {
                  "line": 213,
                  "column": 21
                }
              },
              "argument": {
                "type": "Identifier",
                "start": 8063,
                "end": 8072,
                "loc": {
                  "start": {
                    "line": 213,
                    "column": 11
                  },
                  "end": {
                    "line": 213,
                    "column": 20
                  }
                },
                "name": "oldObject"
              }
            }
          ],
          "trailingComments": null
        },
        "trailingComments": [
          {
            "type": "CommentLine",
            "value": "returns intersection point of given two lines",
            "start": 8081,
            "end": 8128,
            "loc": {
              "start": {
                "line": 216,
                "column": 4
              },
              "end": {
                "line": 216,
                "column": 51
              }
            },
            "range": [
              8081,
              8128
            ]
          },
          {
            "type": "CommentLine",
            "value": "if angularTolerance is set, then null is returned when lines are parallel",
            "start": 8133,
            "end": 8208,
            "loc": {
              "start": {
                "line": 217,
                "column": 4
              },
              "end": {
                "line": 217,
                "column": 79
              }
            },
            "range": [
              8133,
              8208
            ]
          }
        ],
        "leadingComments": []
      },
      "specifiers": [],
      "source": null,
      "trailingComments": [
        {
          "type": "CommentLine",
          "value": "returns intersection point of given two lines",
          "start": 8081,
          "end": 8128,
          "loc": {
            "start": {
              "line": 216,
              "column": 4
            },
            "end": {
              "line": 216,
              "column": 51
            }
          },
          "range": [
            8081,
            8128
          ]
        },
        {
          "type": "CommentLine",
          "value": "if angularTolerance is set, then null is returned when lines are parallel",
          "start": 8133,
          "end": 8208,
          "loc": {
            "start": {
              "line": 217,
              "column": 4
            },
            "end": {
              "line": 217,
              "column": 79
            }
          },
          "range": [
            8133,
            8208
          ]
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 8213,
      "end": 9092,
      "loc": {
        "start": {
          "line": 218,
          "column": 4
        },
        "end": {
          "line": 235,
          "column": 5
        }
      },
      "declaration": {
        "type": "FunctionDeclaration",
        "start": 8220,
        "end": 9092,
        "loc": {
          "start": {
            "line": 218,
            "column": 11
          },
          "end": {
            "line": 235,
            "column": 5
          }
        },
        "id": {
          "type": "Identifier",
          "start": 8229,
          "end": 8243,
          "loc": {
            "start": {
              "line": 218,
              "column": 20
            },
            "end": {
              "line": 218,
              "column": 34
            }
          },
          "name": "intersectLines",
          "leadingComments": null
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [
          {
            "type": "Identifier",
            "start": 8244,
            "end": 8248,
            "loc": {
              "start": {
                "line": 218,
                "column": 35
              },
              "end": {
                "line": 218,
                "column": 39
              }
            },
            "name": "pntA"
          },
          {
            "type": "Identifier",
            "start": 8250,
            "end": 8254,
            "loc": {
              "start": {
                "line": 218,
                "column": 41
              },
              "end": {
                "line": 218,
                "column": 45
              }
            },
            "name": "dirA"
          },
          {
            "type": "Identifier",
            "start": 8256,
            "end": 8260,
            "loc": {
              "start": {
                "line": 218,
                "column": 47
              },
              "end": {
                "line": 218,
                "column": 51
              }
            },
            "name": "pntB"
          },
          {
            "type": "Identifier",
            "start": 8262,
            "end": 8266,
            "loc": {
              "start": {
                "line": 218,
                "column": 53
              },
              "end": {
                "line": 218,
                "column": 57
              }
            },
            "name": "dirB"
          },
          {
            "type": "Identifier",
            "start": 8268,
            "end": 8284,
            "loc": {
              "start": {
                "line": 218,
                "column": 59
              },
              "end": {
                "line": 218,
                "column": 75
              }
            },
            "name": "angularTolerance"
          }
        ],
        "body": {
          "type": "BlockStatement",
          "start": 8286,
          "end": 9092,
          "loc": {
            "start": {
              "line": 218,
              "column": 77
            },
            "end": {
              "line": 235,
              "column": 5
            }
          },
          "body": [
            {
              "type": "ExpressionStatement",
              "start": 8296,
              "end": 8341,
              "loc": {
                "start": {
                  "line": 219,
                  "column": 8
                },
                "end": {
                  "line": 219,
                  "column": 53
                }
              },
              "expression": {
                "type": "AssignmentExpression",
                "start": 8296,
                "end": 8340,
                "loc": {
                  "start": {
                    "line": 219,
                    "column": 8
                  },
                  "end": {
                    "line": 219,
                    "column": 52
                  }
                },
                "operator": "=",
                "left": {
                  "type": "Identifier",
                  "start": 8296,
                  "end": 8312,
                  "loc": {
                    "start": {
                      "line": 219,
                      "column": 8
                    },
                    "end": {
                      "line": 219,
                      "column": 24
                    }
                  },
                  "name": "angularTolerance"
                },
                "right": {
                  "type": "LogicalExpression",
                  "start": 8315,
                  "end": 8340,
                  "loc": {
                    "start": {
                      "line": 219,
                      "column": 27
                    },
                    "end": {
                      "line": 219,
                      "column": 52
                    }
                  },
                  "left": {
                    "type": "Identifier",
                    "start": 8315,
                    "end": 8331,
                    "loc": {
                      "start": {
                        "line": 219,
                        "column": 27
                      },
                      "end": {
                        "line": 219,
                        "column": 43
                      }
                    },
                    "name": "angularTolerance"
                  },
                  "operator": "||",
                  "right": {
                    "type": "Literal",
                    "start": 8335,
                    "end": 8340,
                    "loc": {
                      "start": {
                        "line": 219,
                        "column": 47
                      },
                      "end": {
                        "line": 219,
                        "column": 52
                      }
                    },
                    "value": 1e-15,
                    "rawValue": 1e-15,
                    "raw": "1e-15"
                  }
                }
              },
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": "mach.eps. by default",
                  "start": 8342,
                  "end": 8364,
                  "loc": {
                    "start": {
                      "line": 219,
                      "column": 54
                    },
                    "end": {
                      "line": 219,
                      "column": 76
                    }
                  },
                  "range": [
                    8342,
                    8364
                  ]
                }
              ]
            },
            {
              "type": "ExpressionStatement",
              "start": 8373,
              "end": 8405,
              "loc": {
                "start": {
                  "line": 220,
                  "column": 8
                },
                "end": {
                  "line": 220,
                  "column": 40
                }
              },
              "expression": {
                "type": "AssignmentExpression",
                "start": 8373,
                "end": 8404,
                "loc": {
                  "start": {
                    "line": 220,
                    "column": 8
                  },
                  "end": {
                    "line": 220,
                    "column": 39
                  }
                },
                "operator": "=",
                "left": {
                  "type": "Identifier",
                  "start": 8373,
                  "end": 8377,
                  "loc": {
                    "start": {
                      "line": 220,
                      "column": 8
                    },
                    "end": {
                      "line": 220,
                      "column": 12
                    }
                  },
                  "name": "dirA",
                  "leadingComments": null
                },
                "right": {
                  "type": "CallExpression",
                  "start": 8380,
                  "end": 8404,
                  "loc": {
                    "start": {
                      "line": 220,
                      "column": 15
                    },
                    "end": {
                      "line": 220,
                      "column": 39
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 8380,
                    "end": 8402,
                    "loc": {
                      "start": {
                        "line": 220,
                        "column": 15
                      },
                      "end": {
                        "line": 220,
                        "column": 37
                      }
                    },
                    "object": {
                      "type": "CallExpression",
                      "start": 8380,
                      "end": 8392,
                      "loc": {
                        "start": {
                          "line": 220,
                          "column": 15
                        },
                        "end": {
                          "line": 220,
                          "column": 27
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 8380,
                        "end": 8390,
                        "loc": {
                          "start": {
                            "line": 220,
                            "column": 15
                          },
                          "end": {
                            "line": 220,
                            "column": 25
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 8380,
                          "end": 8384,
                          "loc": {
                            "start": {
                              "line": 220,
                              "column": 15
                            },
                            "end": {
                              "line": 220,
                              "column": 19
                            }
                          },
                          "name": "dirA"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 8385,
                          "end": 8390,
                          "loc": {
                            "start": {
                              "line": 220,
                              "column": 20
                            },
                            "end": {
                              "line": 220,
                              "column": 25
                            }
                          },
                          "name": "clone"
                        },
                        "computed": false
                      },
                      "arguments": []
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 8393,
                      "end": 8402,
                      "loc": {
                        "start": {
                          "line": 220,
                          "column": 28
                        },
                        "end": {
                          "line": 220,
                          "column": 37
                        }
                      },
                      "name": "normalize"
                    },
                    "computed": false
                  },
                  "arguments": []
                },
                "leadingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "mach.eps. by default",
                  "start": 8342,
                  "end": 8364,
                  "loc": {
                    "start": {
                      "line": 219,
                      "column": 54
                    },
                    "end": {
                      "line": 219,
                      "column": 76
                    }
                  },
                  "range": [
                    8342,
                    8364
                  ]
                }
              ]
            },
            {
              "type": "ExpressionStatement",
              "start": 8414,
              "end": 8446,
              "loc": {
                "start": {
                  "line": 221,
                  "column": 8
                },
                "end": {
                  "line": 221,
                  "column": 40
                }
              },
              "expression": {
                "type": "AssignmentExpression",
                "start": 8414,
                "end": 8445,
                "loc": {
                  "start": {
                    "line": 221,
                    "column": 8
                  },
                  "end": {
                    "line": 221,
                    "column": 39
                  }
                },
                "operator": "=",
                "left": {
                  "type": "Identifier",
                  "start": 8414,
                  "end": 8418,
                  "loc": {
                    "start": {
                      "line": 221,
                      "column": 8
                    },
                    "end": {
                      "line": 221,
                      "column": 12
                    }
                  },
                  "name": "dirB"
                },
                "right": {
                  "type": "CallExpression",
                  "start": 8421,
                  "end": 8445,
                  "loc": {
                    "start": {
                      "line": 221,
                      "column": 15
                    },
                    "end": {
                      "line": 221,
                      "column": 39
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 8421,
                    "end": 8443,
                    "loc": {
                      "start": {
                        "line": 221,
                        "column": 15
                      },
                      "end": {
                        "line": 221,
                        "column": 37
                      }
                    },
                    "object": {
                      "type": "CallExpression",
                      "start": 8421,
                      "end": 8433,
                      "loc": {
                        "start": {
                          "line": 221,
                          "column": 15
                        },
                        "end": {
                          "line": 221,
                          "column": 27
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 8421,
                        "end": 8431,
                        "loc": {
                          "start": {
                            "line": 221,
                            "column": 15
                          },
                          "end": {
                            "line": 221,
                            "column": 25
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 8421,
                          "end": 8425,
                          "loc": {
                            "start": {
                              "line": 221,
                              "column": 15
                            },
                            "end": {
                              "line": 221,
                              "column": 19
                            }
                          },
                          "name": "dirB"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 8426,
                          "end": 8431,
                          "loc": {
                            "start": {
                              "line": 221,
                              "column": 20
                            },
                            "end": {
                              "line": 221,
                              "column": 25
                            }
                          },
                          "name": "clone"
                        },
                        "computed": false
                      },
                      "arguments": []
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 8434,
                      "end": 8443,
                      "loc": {
                        "start": {
                          "line": 221,
                          "column": 28
                        },
                        "end": {
                          "line": 221,
                          "column": 37
                        }
                      },
                      "name": "normalize"
                    },
                    "computed": false
                  },
                  "arguments": []
                }
              }
            },
            {
              "type": "IfStatement",
              "start": 8455,
              "end": 8539,
              "loc": {
                "start": {
                  "line": 222,
                  "column": 8
                },
                "end": {
                  "line": 223,
                  "column": 24
                }
              },
              "test": {
                "type": "LogicalExpression",
                "start": 8459,
                "end": 8501,
                "loc": {
                  "start": {
                    "line": 222,
                    "column": 12
                  },
                  "end": {
                    "line": 222,
                    "column": 54
                  }
                },
                "left": {
                  "type": "BinaryExpression",
                  "start": 8459,
                  "end": 8478,
                  "loc": {
                    "start": {
                      "line": 222,
                      "column": 12
                    },
                    "end": {
                      "line": 222,
                      "column": 31
                    }
                  },
                  "left": {
                    "type": "CallExpression",
                    "start": 8459,
                    "end": 8472,
                    "loc": {
                      "start": {
                        "line": 222,
                        "column": 12
                      },
                      "end": {
                        "line": 222,
                        "column": 25
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 8459,
                      "end": 8470,
                      "loc": {
                        "start": {
                          "line": 222,
                          "column": 12
                        },
                        "end": {
                          "line": 222,
                          "column": 23
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 8459,
                        "end": 8463,
                        "loc": {
                          "start": {
                            "line": 222,
                            "column": 12
                          },
                          "end": {
                            "line": 222,
                            "column": 16
                          }
                        },
                        "name": "dirA"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 8464,
                        "end": 8470,
                        "loc": {
                          "start": {
                            "line": 222,
                            "column": 17
                          },
                          "end": {
                            "line": 222,
                            "column": 23
                          }
                        },
                        "name": "length"
                      },
                      "computed": false
                    },
                    "arguments": []
                  },
                  "operator": "<",
                  "right": {
                    "type": "Literal",
                    "start": 8475,
                    "end": 8478,
                    "loc": {
                      "start": {
                        "line": 222,
                        "column": 28
                      },
                      "end": {
                        "line": 222,
                        "column": 31
                      }
                    },
                    "value": 0.9,
                    "rawValue": 0.9,
                    "raw": "0.9"
                  }
                },
                "operator": "||",
                "right": {
                  "type": "BinaryExpression",
                  "start": 8482,
                  "end": 8501,
                  "loc": {
                    "start": {
                      "line": 222,
                      "column": 35
                    },
                    "end": {
                      "line": 222,
                      "column": 54
                    }
                  },
                  "left": {
                    "type": "CallExpression",
                    "start": 8482,
                    "end": 8495,
                    "loc": {
                      "start": {
                        "line": 222,
                        "column": 35
                      },
                      "end": {
                        "line": 222,
                        "column": 48
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 8482,
                      "end": 8493,
                      "loc": {
                        "start": {
                          "line": 222,
                          "column": 35
                        },
                        "end": {
                          "line": 222,
                          "column": 46
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 8482,
                        "end": 8486,
                        "loc": {
                          "start": {
                            "line": 222,
                            "column": 35
                          },
                          "end": {
                            "line": 222,
                            "column": 39
                          }
                        },
                        "name": "dirB"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 8487,
                        "end": 8493,
                        "loc": {
                          "start": {
                            "line": 222,
                            "column": 40
                          },
                          "end": {
                            "line": 222,
                            "column": 46
                          }
                        },
                        "name": "length"
                      },
                      "computed": false
                    },
                    "arguments": []
                  },
                  "operator": "<",
                  "right": {
                    "type": "Literal",
                    "start": 8498,
                    "end": 8501,
                    "loc": {
                      "start": {
                        "line": 222,
                        "column": 51
                      },
                      "end": {
                        "line": 222,
                        "column": 54
                      }
                    },
                    "value": 0.9,
                    "rawValue": 0.9,
                    "raw": "0.9"
                  }
                }
              },
              "consequent": {
                "type": "ReturnStatement",
                "start": 8527,
                "end": 8539,
                "loc": {
                  "start": {
                    "line": 223,
                    "column": 12
                  },
                  "end": {
                    "line": 223,
                    "column": 24
                  }
                },
                "argument": {
                  "type": "Literal",
                  "start": 8534,
                  "end": 8538,
                  "loc": {
                    "start": {
                      "line": 223,
                      "column": 19
                    },
                    "end": {
                      "line": 223,
                      "column": 23
                    }
                  },
                  "value": null,
                  "rawValue": null,
                  "raw": "null",
                  "leadingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentLine",
                    "value": "must be 1",
                    "start": 8503,
                    "end": 8514,
                    "loc": {
                      "start": {
                        "line": 222,
                        "column": 56
                      },
                      "end": {
                        "line": 222,
                        "column": 67
                      }
                    },
                    "range": [
                      8503,
                      8514
                    ]
                  }
                ]
              },
              "alternate": null
            },
            {
              "type": "VariableDeclaration",
              "start": 8548,
              "end": 8584,
              "loc": {
                "start": {
                  "line": 224,
                  "column": 8
                },
                "end": {
                  "line": 224,
                  "column": 44
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 8552,
                  "end": 8583,
                  "loc": {
                    "start": {
                      "line": 224,
                      "column": 12
                    },
                    "end": {
                      "line": 224,
                      "column": 43
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 8552,
                    "end": 8555,
                    "loc": {
                      "start": {
                        "line": 224,
                        "column": 12
                      },
                      "end": {
                        "line": 224,
                        "column": 15
                      }
                    },
                    "name": "PxQ"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 8558,
                    "end": 8583,
                    "loc": {
                      "start": {
                        "line": 224,
                        "column": 18
                      },
                      "end": {
                        "line": 224,
                        "column": 43
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 8558,
                      "end": 8571,
                      "loc": {
                        "start": {
                          "line": 224,
                          "column": 18
                        },
                        "end": {
                          "line": 224,
                          "column": 31
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 8558,
                        "end": 8563,
                        "loc": {
                          "start": {
                            "line": 224,
                            "column": 18
                          },
                          "end": {
                            "line": 224,
                            "column": 23
                          }
                        },
                        "name": "THREE"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 8564,
                        "end": 8571,
                        "loc": {
                          "start": {
                            "line": 224,
                            "column": 24
                          },
                          "end": {
                            "line": 224,
                            "column": 31
                          }
                        },
                        "name": "cross2d"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 8572,
                        "end": 8576,
                        "loc": {
                          "start": {
                            "line": 224,
                            "column": 32
                          },
                          "end": {
                            "line": 224,
                            "column": 36
                          }
                        },
                        "name": "dirA"
                      },
                      {
                        "type": "Identifier",
                        "start": 8578,
                        "end": 8582,
                        "loc": {
                          "start": {
                            "line": 224,
                            "column": 38
                          },
                          "end": {
                            "line": 224,
                            "column": 42
                          }
                        },
                        "name": "dirB"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "IfStatement",
              "start": 8593,
              "end": 8656,
              "loc": {
                "start": {
                  "line": 225,
                  "column": 8
                },
                "end": {
                  "line": 226,
                  "column": 24
                }
              },
              "test": {
                "type": "BinaryExpression",
                "start": 8597,
                "end": 8630,
                "loc": {
                  "start": {
                    "line": 225,
                    "column": 12
                  },
                  "end": {
                    "line": 225,
                    "column": 45
                  }
                },
                "left": {
                  "type": "CallExpression",
                  "start": 8597,
                  "end": 8610,
                  "loc": {
                    "start": {
                      "line": 225,
                      "column": 12
                    },
                    "end": {
                      "line": 225,
                      "column": 25
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 8597,
                    "end": 8605,
                    "loc": {
                      "start": {
                        "line": 225,
                        "column": 12
                      },
                      "end": {
                        "line": 225,
                        "column": 20
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 8597,
                      "end": 8601,
                      "loc": {
                        "start": {
                          "line": 225,
                          "column": 12
                        },
                        "end": {
                          "line": 225,
                          "column": 16
                        }
                      },
                      "name": "Math"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 8602,
                      "end": 8605,
                      "loc": {
                        "start": {
                          "line": 225,
                          "column": 17
                        },
                        "end": {
                          "line": 225,
                          "column": 20
                        }
                      },
                      "name": "abs"
                    },
                    "computed": false
                  },
                  "arguments": [
                    {
                      "type": "Identifier",
                      "start": 8606,
                      "end": 8609,
                      "loc": {
                        "start": {
                          "line": 225,
                          "column": 21
                        },
                        "end": {
                          "line": 225,
                          "column": 24
                        }
                      },
                      "name": "PxQ"
                    }
                  ]
                },
                "operator": "<=",
                "right": {
                  "type": "Identifier",
                  "start": 8614,
                  "end": 8630,
                  "loc": {
                    "start": {
                      "line": 225,
                      "column": 29
                    },
                    "end": {
                      "line": 225,
                      "column": 45
                    }
                  },
                  "name": "angularTolerance"
                }
              },
              "consequent": {
                "type": "ReturnStatement",
                "start": 8644,
                "end": 8656,
                "loc": {
                  "start": {
                    "line": 226,
                    "column": 12
                  },
                  "end": {
                    "line": 226,
                    "column": 24
                  }
                },
                "argument": {
                  "type": "Literal",
                  "start": 8651,
                  "end": 8655,
                  "loc": {
                    "start": {
                      "line": 226,
                      "column": 19
                    },
                    "end": {
                      "line": 226,
                      "column": 23
                    }
                  },
                  "value": null,
                  "rawValue": null,
                  "raw": "null"
                }
              },
              "alternate": null
            },
            {
              "type": "VariableDeclaration",
              "start": 8665,
              "end": 8721,
              "loc": {
                "start": {
                  "line": 227,
                  "column": 8
                },
                "end": {
                  "line": 227,
                  "column": 64
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 8669,
                  "end": 8720,
                  "loc": {
                    "start": {
                      "line": 227,
                      "column": 12
                    },
                    "end": {
                      "line": 227,
                      "column": 63
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 8669,
                    "end": 8674,
                    "loc": {
                      "start": {
                        "line": 227,
                        "column": 12
                      },
                      "end": {
                        "line": 227,
                        "column": 17
                      }
                    },
                    "name": "BmAxQ"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 8677,
                    "end": 8720,
                    "loc": {
                      "start": {
                        "line": 227,
                        "column": 20
                      },
                      "end": {
                        "line": 227,
                        "column": 63
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 8677,
                      "end": 8690,
                      "loc": {
                        "start": {
                          "line": 227,
                          "column": 20
                        },
                        "end": {
                          "line": 227,
                          "column": 33
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 8677,
                        "end": 8682,
                        "loc": {
                          "start": {
                            "line": 227,
                            "column": 20
                          },
                          "end": {
                            "line": 227,
                            "column": 25
                          }
                        },
                        "name": "THREE"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 8683,
                        "end": 8690,
                        "loc": {
                          "start": {
                            "line": 227,
                            "column": 26
                          },
                          "end": {
                            "line": 227,
                            "column": 33
                          }
                        },
                        "name": "cross2d"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "CallExpression",
                        "start": 8691,
                        "end": 8713,
                        "loc": {
                          "start": {
                            "line": 227,
                            "column": 34
                          },
                          "end": {
                            "line": 227,
                            "column": 56
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 8691,
                          "end": 8707,
                          "loc": {
                            "start": {
                              "line": 227,
                              "column": 34
                            },
                            "end": {
                              "line": 227,
                              "column": 50
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 8691,
                            "end": 8703,
                            "loc": {
                              "start": {
                                "line": 227,
                                "column": 34
                              },
                              "end": {
                                "line": 227,
                                "column": 46
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 8691,
                              "end": 8701,
                              "loc": {
                                "start": {
                                  "line": 227,
                                  "column": 34
                                },
                                "end": {
                                  "line": 227,
                                  "column": 44
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 8691,
                                "end": 8695,
                                "loc": {
                                  "start": {
                                    "line": 227,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 227,
                                    "column": 38
                                  }
                                },
                                "name": "pntB"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8696,
                                "end": 8701,
                                "loc": {
                                  "start": {
                                    "line": 227,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 227,
                                    "column": 44
                                  }
                                },
                                "name": "clone"
                              },
                              "computed": false
                            },
                            "arguments": []
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 8704,
                            "end": 8707,
                            "loc": {
                              "start": {
                                "line": 227,
                                "column": 47
                              },
                              "end": {
                                "line": 227,
                                "column": 50
                              }
                            },
                            "name": "sub"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 8708,
                            "end": 8712,
                            "loc": {
                              "start": {
                                "line": 227,
                                "column": 51
                              },
                              "end": {
                                "line": 227,
                                "column": 55
                              }
                            },
                            "name": "pntA"
                          }
                        ]
                      },
                      {
                        "type": "Identifier",
                        "start": 8715,
                        "end": 8719,
                        "loc": {
                          "start": {
                            "line": 227,
                            "column": 58
                          },
                          "end": {
                            "line": 227,
                            "column": 62
                          }
                        },
                        "name": "dirB"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 8730,
              "end": 8786,
              "loc": {
                "start": {
                  "line": 228,
                  "column": 8
                },
                "end": {
                  "line": 228,
                  "column": 64
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 8734,
                  "end": 8785,
                  "loc": {
                    "start": {
                      "line": 228,
                      "column": 12
                    },
                    "end": {
                      "line": 228,
                      "column": 63
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 8734,
                    "end": 8739,
                    "loc": {
                      "start": {
                        "line": 228,
                        "column": 12
                      },
                      "end": {
                        "line": 228,
                        "column": 17
                      }
                    },
                    "name": "BmAxP"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 8742,
                    "end": 8785,
                    "loc": {
                      "start": {
                        "line": 228,
                        "column": 20
                      },
                      "end": {
                        "line": 228,
                        "column": 63
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 8742,
                      "end": 8755,
                      "loc": {
                        "start": {
                          "line": 228,
                          "column": 20
                        },
                        "end": {
                          "line": 228,
                          "column": 33
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 8742,
                        "end": 8747,
                        "loc": {
                          "start": {
                            "line": 228,
                            "column": 20
                          },
                          "end": {
                            "line": 228,
                            "column": 25
                          }
                        },
                        "name": "THREE"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 8748,
                        "end": 8755,
                        "loc": {
                          "start": {
                            "line": 228,
                            "column": 26
                          },
                          "end": {
                            "line": 228,
                            "column": 33
                          }
                        },
                        "name": "cross2d"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "CallExpression",
                        "start": 8756,
                        "end": 8778,
                        "loc": {
                          "start": {
                            "line": 228,
                            "column": 34
                          },
                          "end": {
                            "line": 228,
                            "column": 56
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 8756,
                          "end": 8772,
                          "loc": {
                            "start": {
                              "line": 228,
                              "column": 34
                            },
                            "end": {
                              "line": 228,
                              "column": 50
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 8756,
                            "end": 8768,
                            "loc": {
                              "start": {
                                "line": 228,
                                "column": 34
                              },
                              "end": {
                                "line": 228,
                                "column": 46
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 8756,
                              "end": 8766,
                              "loc": {
                                "start": {
                                  "line": 228,
                                  "column": 34
                                },
                                "end": {
                                  "line": 228,
                                  "column": 44
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 8756,
                                "end": 8760,
                                "loc": {
                                  "start": {
                                    "line": 228,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 228,
                                    "column": 38
                                  }
                                },
                                "name": "pntB"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8761,
                                "end": 8766,
                                "loc": {
                                  "start": {
                                    "line": 228,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 228,
                                    "column": 44
                                  }
                                },
                                "name": "clone"
                              },
                              "computed": false
                            },
                            "arguments": []
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 8769,
                            "end": 8772,
                            "loc": {
                              "start": {
                                "line": 228,
                                "column": 47
                              },
                              "end": {
                                "line": 228,
                                "column": 50
                              }
                            },
                            "name": "sub"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 8773,
                            "end": 8777,
                            "loc": {
                              "start": {
                                "line": 228,
                                "column": 51
                              },
                              "end": {
                                "line": 228,
                                "column": 55
                              }
                            },
                            "name": "pntA"
                          }
                        ]
                      },
                      {
                        "type": "Identifier",
                        "start": 8780,
                        "end": 8784,
                        "loc": {
                          "start": {
                            "line": 228,
                            "column": 58
                          },
                          "end": {
                            "line": 228,
                            "column": 62
                          }
                        },
                        "name": "dirA"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 8795,
              "end": 8820,
              "loc": {
                "start": {
                  "line": 229,
                  "column": 8
                },
                "end": {
                  "line": 229,
                  "column": 33
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 8799,
                  "end": 8819,
                  "loc": {
                    "start": {
                      "line": 229,
                      "column": 12
                    },
                    "end": {
                      "line": 229,
                      "column": 32
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 8799,
                    "end": 8805,
                    "loc": {
                      "start": {
                        "line": 229,
                        "column": 12
                      },
                      "end": {
                        "line": 229,
                        "column": 18
                      }
                    },
                    "name": "paramA"
                  },
                  "init": {
                    "type": "BinaryExpression",
                    "start": 8808,
                    "end": 8819,
                    "loc": {
                      "start": {
                        "line": 229,
                        "column": 21
                      },
                      "end": {
                        "line": 229,
                        "column": 32
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 8808,
                      "end": 8813,
                      "loc": {
                        "start": {
                          "line": 229,
                          "column": 21
                        },
                        "end": {
                          "line": 229,
                          "column": 26
                        }
                      },
                      "name": "BmAxQ"
                    },
                    "operator": "/",
                    "right": {
                      "type": "Identifier",
                      "start": 8816,
                      "end": 8819,
                      "loc": {
                        "start": {
                          "line": 229,
                          "column": 29
                        },
                        "end": {
                          "line": 229,
                          "column": 32
                        }
                      },
                      "name": "PxQ"
                    }
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 8829,
              "end": 8854,
              "loc": {
                "start": {
                  "line": 230,
                  "column": 8
                },
                "end": {
                  "line": 230,
                  "column": 33
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 8833,
                  "end": 8853,
                  "loc": {
                    "start": {
                      "line": 230,
                      "column": 12
                    },
                    "end": {
                      "line": 230,
                      "column": 32
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 8833,
                    "end": 8839,
                    "loc": {
                      "start": {
                        "line": 230,
                        "column": 12
                      },
                      "end": {
                        "line": 230,
                        "column": 18
                      }
                    },
                    "name": "paramB"
                  },
                  "init": {
                    "type": "BinaryExpression",
                    "start": 8842,
                    "end": 8853,
                    "loc": {
                      "start": {
                        "line": 230,
                        "column": 21
                      },
                      "end": {
                        "line": 230,
                        "column": 32
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 8842,
                      "end": 8847,
                      "loc": {
                        "start": {
                          "line": 230,
                          "column": 21
                        },
                        "end": {
                          "line": 230,
                          "column": 26
                        }
                      },
                      "name": "BmAxP"
                    },
                    "operator": "/",
                    "right": {
                      "type": "Identifier",
                      "start": 8850,
                      "end": 8853,
                      "loc": {
                        "start": {
                          "line": 230,
                          "column": 29
                        },
                        "end": {
                          "line": 230,
                          "column": 32
                        }
                      },
                      "name": "PxQ"
                    }
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 8863,
              "end": 8923,
              "loc": {
                "start": {
                  "line": 231,
                  "column": 8
                },
                "end": {
                  "line": 231,
                  "column": 68
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 8867,
                  "end": 8922,
                  "loc": {
                    "start": {
                      "line": 231,
                      "column": 12
                    },
                    "end": {
                      "line": 231,
                      "column": 67
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 8867,
                    "end": 8874,
                    "loc": {
                      "start": {
                        "line": 231,
                        "column": 12
                      },
                      "end": {
                        "line": 231,
                        "column": 19
                      }
                    },
                    "name": "intersA"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 8877,
                    "end": 8922,
                    "loc": {
                      "start": {
                        "line": 231,
                        "column": 22
                      },
                      "end": {
                        "line": 231,
                        "column": 67
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 8877,
                      "end": 8916,
                      "loc": {
                        "start": {
                          "line": 231,
                          "column": 22
                        },
                        "end": {
                          "line": 231,
                          "column": 61
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 8877,
                        "end": 8912,
                        "loc": {
                          "start": {
                            "line": 231,
                            "column": 22
                          },
                          "end": {
                            "line": 231,
                            "column": 57
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 8877,
                          "end": 8904,
                          "loc": {
                            "start": {
                              "line": 231,
                              "column": 22
                            },
                            "end": {
                              "line": 231,
                              "column": 49
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 8877,
                            "end": 8889,
                            "loc": {
                              "start": {
                                "line": 231,
                                "column": 22
                              },
                              "end": {
                                "line": 231,
                                "column": 34
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 8877,
                              "end": 8887,
                              "loc": {
                                "start": {
                                  "line": 231,
                                  "column": 22
                                },
                                "end": {
                                  "line": 231,
                                  "column": 32
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 8877,
                                "end": 8881,
                                "loc": {
                                  "start": {
                                    "line": 231,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 231,
                                    "column": 26
                                  }
                                },
                                "name": "dirA"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8882,
                                "end": 8887,
                                "loc": {
                                  "start": {
                                    "line": 231,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 231,
                                    "column": 32
                                  }
                                },
                                "name": "clone"
                              },
                              "computed": false
                            },
                            "arguments": []
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 8890,
                            "end": 8904,
                            "loc": {
                              "start": {
                                "line": 231,
                                "column": 35
                              },
                              "end": {
                                "line": 231,
                                "column": 49
                              }
                            },
                            "name": "multiplyScalar"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 8905,
                            "end": 8911,
                            "loc": {
                              "start": {
                                "line": 231,
                                "column": 50
                              },
                              "end": {
                                "line": 231,
                                "column": 56
                              }
                            },
                            "name": "paramA"
                          }
                        ]
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 8913,
                        "end": 8916,
                        "loc": {
                          "start": {
                            "line": 231,
                            "column": 58
                          },
                          "end": {
                            "line": 231,
                            "column": 61
                          }
                        },
                        "name": "add"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 8917,
                        "end": 8921,
                        "loc": {
                          "start": {
                            "line": 231,
                            "column": 62
                          },
                          "end": {
                            "line": 231,
                            "column": 66
                          }
                        },
                        "name": "pntA"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 8932,
              "end": 8992,
              "loc": {
                "start": {
                  "line": 232,
                  "column": 8
                },
                "end": {
                  "line": 232,
                  "column": 68
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 8936,
                  "end": 8991,
                  "loc": {
                    "start": {
                      "line": 232,
                      "column": 12
                    },
                    "end": {
                      "line": 232,
                      "column": 67
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 8936,
                    "end": 8943,
                    "loc": {
                      "start": {
                        "line": 232,
                        "column": 12
                      },
                      "end": {
                        "line": 232,
                        "column": 19
                      }
                    },
                    "name": "intersB"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 8946,
                    "end": 8991,
                    "loc": {
                      "start": {
                        "line": 232,
                        "column": 22
                      },
                      "end": {
                        "line": 232,
                        "column": 67
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 8946,
                      "end": 8985,
                      "loc": {
                        "start": {
                          "line": 232,
                          "column": 22
                        },
                        "end": {
                          "line": 232,
                          "column": 61
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 8946,
                        "end": 8981,
                        "loc": {
                          "start": {
                            "line": 232,
                            "column": 22
                          },
                          "end": {
                            "line": 232,
                            "column": 57
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 8946,
                          "end": 8973,
                          "loc": {
                            "start": {
                              "line": 232,
                              "column": 22
                            },
                            "end": {
                              "line": 232,
                              "column": 49
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 8946,
                            "end": 8958,
                            "loc": {
                              "start": {
                                "line": 232,
                                "column": 22
                              },
                              "end": {
                                "line": 232,
                                "column": 34
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 8946,
                              "end": 8956,
                              "loc": {
                                "start": {
                                  "line": 232,
                                  "column": 22
                                },
                                "end": {
                                  "line": 232,
                                  "column": 32
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 8946,
                                "end": 8950,
                                "loc": {
                                  "start": {
                                    "line": 232,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 232,
                                    "column": 26
                                  }
                                },
                                "name": "dirB"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8951,
                                "end": 8956,
                                "loc": {
                                  "start": {
                                    "line": 232,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 232,
                                    "column": 32
                                  }
                                },
                                "name": "clone"
                              },
                              "computed": false
                            },
                            "arguments": []
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 8959,
                            "end": 8973,
                            "loc": {
                              "start": {
                                "line": 232,
                                "column": 35
                              },
                              "end": {
                                "line": 232,
                                "column": 49
                              }
                            },
                            "name": "multiplyScalar"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 8974,
                            "end": 8980,
                            "loc": {
                              "start": {
                                "line": 232,
                                "column": 50
                              },
                              "end": {
                                "line": 232,
                                "column": 56
                              }
                            },
                            "name": "paramB"
                          }
                        ]
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 8982,
                        "end": 8985,
                        "loc": {
                          "start": {
                            "line": 232,
                            "column": 58
                          },
                          "end": {
                            "line": 232,
                            "column": 61
                          }
                        },
                        "name": "add"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 8986,
                        "end": 8990,
                        "loc": {
                          "start": {
                            "line": 232,
                            "column": 62
                          },
                          "end": {
                            "line": 232,
                            "column": 66
                          }
                        },
                        "name": "pntB"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 9001,
              "end": 9063,
              "loc": {
                "start": {
                  "line": 233,
                  "column": 8
                },
                "end": {
                  "line": 233,
                  "column": 70
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 9005,
                  "end": 9062,
                  "loc": {
                    "start": {
                      "line": 233,
                      "column": 12
                    },
                    "end": {
                      "line": 233,
                      "column": 69
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 9005,
                    "end": 9011,
                    "loc": {
                      "start": {
                        "line": 233,
                        "column": 12
                      },
                      "end": {
                        "line": 233,
                        "column": 18
                      }
                    },
                    "name": "inters"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 9014,
                    "end": 9062,
                    "loc": {
                      "start": {
                        "line": 233,
                        "column": 21
                      },
                      "end": {
                        "line": 233,
                        "column": 69
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 9014,
                      "end": 9057,
                      "loc": {
                        "start": {
                          "line": 233,
                          "column": 21
                        },
                        "end": {
                          "line": 233,
                          "column": 64
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 9014,
                        "end": 9042,
                        "loc": {
                          "start": {
                            "line": 233,
                            "column": 21
                          },
                          "end": {
                            "line": 233,
                            "column": 49
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 9014,
                          "end": 9033,
                          "loc": {
                            "start": {
                              "line": 233,
                              "column": 21
                            },
                            "end": {
                              "line": 233,
                              "column": 40
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 9014,
                            "end": 9029,
                            "loc": {
                              "start": {
                                "line": 233,
                                "column": 21
                              },
                              "end": {
                                "line": 233,
                                "column": 36
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 9014,
                              "end": 9027,
                              "loc": {
                                "start": {
                                  "line": 233,
                                  "column": 21
                                },
                                "end": {
                                  "line": 233,
                                  "column": 34
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 9014,
                                "end": 9021,
                                "loc": {
                                  "start": {
                                    "line": 233,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 233,
                                    "column": 28
                                  }
                                },
                                "name": "intersA"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9022,
                                "end": 9027,
                                "loc": {
                                  "start": {
                                    "line": 233,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 233,
                                    "column": 34
                                  }
                                },
                                "name": "clone"
                              },
                              "computed": false
                            },
                            "arguments": []
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 9030,
                            "end": 9033,
                            "loc": {
                              "start": {
                                "line": 233,
                                "column": 37
                              },
                              "end": {
                                "line": 233,
                                "column": 40
                              }
                            },
                            "name": "add"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 9034,
                            "end": 9041,
                            "loc": {
                              "start": {
                                "line": 233,
                                "column": 41
                              },
                              "end": {
                                "line": 233,
                                "column": 48
                              }
                            },
                            "name": "intersB"
                          }
                        ]
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 9043,
                        "end": 9057,
                        "loc": {
                          "start": {
                            "line": 233,
                            "column": 50
                          },
                          "end": {
                            "line": 233,
                            "column": 64
                          }
                        },
                        "name": "multiplyScalar"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Literal",
                        "start": 9058,
                        "end": 9061,
                        "loc": {
                          "start": {
                            "line": 233,
                            "column": 65
                          },
                          "end": {
                            "line": 233,
                            "column": 68
                          }
                        },
                        "value": 0.5,
                        "rawValue": 0.5,
                        "raw": "0.5"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "ReturnStatement",
              "start": 9072,
              "end": 9086,
              "loc": {
                "start": {
                  "line": 234,
                  "column": 8
                },
                "end": {
                  "line": 234,
                  "column": 22
                }
              },
              "argument": {
                "type": "Identifier",
                "start": 9079,
                "end": 9085,
                "loc": {
                  "start": {
                    "line": 234,
                    "column": 15
                  },
                  "end": {
                    "line": 234,
                    "column": 21
                  }
                },
                "name": "inters"
              }
            }
          ]
        },
        "leadingComments": [
          {
            "type": "CommentLine",
            "value": "returns intersection point of given two lines",
            "start": 8081,
            "end": 8128,
            "loc": {
              "start": {
                "line": 216,
                "column": 4
              },
              "end": {
                "line": 216,
                "column": 51
              }
            },
            "range": [
              8081,
              8128
            ]
          },
          {
            "type": "CommentLine",
            "value": "if angularTolerance is set, then null is returned when lines are parallel",
            "start": 8133,
            "end": 8208,
            "loc": {
              "start": {
                "line": 217,
                "column": 4
              },
              "end": {
                "line": 217,
                "column": 79
              }
            },
            "range": [
              8133,
              8208
            ]
          }
        ],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null,
      "leadingComments": [
        {
          "type": "CommentLine",
          "value": "returns intersection point of given two lines",
          "start": 8081,
          "end": 8128,
          "loc": {
            "start": {
              "line": 216,
              "column": 4
            },
            "end": {
              "line": 216,
              "column": 51
            }
          },
          "range": [
            8081,
            8128
          ]
        },
        {
          "type": "CommentLine",
          "value": "if angularTolerance is set, then null is returned when lines are parallel",
          "start": 8133,
          "end": 8208,
          "loc": {
            "start": {
              "line": 217,
              "column": 4
            },
            "end": {
              "line": 217,
              "column": 79
            }
          },
          "range": [
            8133,
            8208
          ]
        }
      ]
    },
    {
      "type": "EmptyStatement",
      "start": 9092,
      "end": 9093,
      "loc": {
        "start": {
          "line": 235,
          "column": 5
        },
        "end": {
          "line": 235,
          "column": 6
        }
      }
    }
  ]
}