{
  "type": "File",
  "start": 0,
  "end": 1232,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 28,
      "column": 0
    }
  },
  "program": {
    "type": "Program",
    "start": 0,
    "end": 1232,
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 28,
        "column": 0
      }
    },
    "sourceType": "module",
    "body": [
      {
        "type": "ImportDeclaration",
        "start": 0,
        "end": 33,
        "loc": {
          "start": {
            "line": 1,
            "column": 0
          },
          "end": {
            "line": 1,
            "column": 33
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 7,
            "end": 18,
            "loc": {
              "start": {
                "line": 1,
                "column": 7
              },
              "end": {
                "line": 1,
                "column": 18
              }
            },
            "local": {
              "type": "Identifier",
              "start": 7,
              "end": 18,
              "loc": {
                "start": {
                  "line": 1,
                  "column": 7
                },
                "end": {
                  "line": 1,
                  "column": 18
                },
                "identifierName": "DragHandler"
              },
              "name": "DragHandler"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 24,
          "end": 32,
          "loc": {
            "start": {
              "line": 1,
              "column": 24
            },
            "end": {
              "line": 1,
              "column": 32
            }
          },
          "extra": {
            "rawValue": "./drag",
            "raw": "'./drag'"
          },
          "value": "./drag"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 34,
        "end": 69,
        "loc": {
          "start": {
            "line": 2,
            "column": 0
          },
          "end": {
            "line": 2,
            "column": 35
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 41,
            "end": 53,
            "loc": {
              "start": {
                "line": 2,
                "column": 7
              },
              "end": {
                "line": 2,
                "column": 19
              }
            },
            "local": {
              "type": "Identifier",
              "start": 41,
              "end": 53,
              "loc": {
                "start": {
                  "line": 2,
                  "column": 7
                },
                "end": {
                  "line": 2,
                  "column": 19
                },
                "identifierName": "PointHandler"
              },
              "name": "PointHandler"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 59,
          "end": 68,
          "loc": {
            "start": {
              "line": 2,
              "column": 25
            },
            "end": {
              "line": 2,
              "column": 34
            }
          },
          "extra": {
            "rawValue": "./point",
            "raw": "'./point'"
          },
          "value": "./point"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 70,
        "end": 103,
        "loc": {
          "start": {
            "line": 3,
            "column": 0
          },
          "end": {
            "line": 3,
            "column": 33
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 77,
            "end": 88,
            "loc": {
              "start": {
                "line": 3,
                "column": 7
              },
              "end": {
                "line": 3,
                "column": 18
              }
            },
            "local": {
              "type": "Identifier",
              "start": 77,
              "end": 88,
              "loc": {
                "start": {
                  "line": 3,
                  "column": 7
                },
                "end": {
                  "line": 3,
                  "column": 18
                },
                "identifierName": "LineHandler"
              },
              "name": "LineHandler"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 94,
          "end": 102,
          "loc": {
            "start": {
              "line": 3,
              "column": 24
            },
            "end": {
              "line": 3,
              "column": 32
            }
          },
          "extra": {
            "rawValue": "./line",
            "raw": "'./line'"
          },
          "value": "./line"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 104,
        "end": 147,
        "loc": {
          "start": {
            "line": 4,
            "column": 0
          },
          "end": {
            "line": 4,
            "column": 43
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 111,
            "end": 127,
            "loc": {
              "start": {
                "line": 4,
                "column": 7
              },
              "end": {
                "line": 4,
                "column": 23
              }
            },
            "local": {
              "type": "Identifier",
              "start": 111,
              "end": 127,
              "loc": {
                "start": {
                  "line": 4,
                  "column": 7
                },
                "end": {
                  "line": 4,
                  "column": 23
                },
                "identifierName": "ArcCenterHandler"
              },
              "name": "ArcCenterHandler"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 133,
          "end": 146,
          "loc": {
            "start": {
              "line": 4,
              "column": 29
            },
            "end": {
              "line": 4,
              "column": 42
            }
          },
          "extra": {
            "rawValue": "./arccenter",
            "raw": "'./arccenter'"
          },
          "value": "./arccenter"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 148,
        "end": 193,
        "loc": {
          "start": {
            "line": 5,
            "column": 0
          },
          "end": {
            "line": 5,
            "column": 45
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 155,
            "end": 172,
            "loc": {
              "start": {
                "line": 5,
                "column": 7
              },
              "end": {
                "line": 5,
                "column": 24
              }
            },
            "local": {
              "type": "Identifier",
              "start": 155,
              "end": 172,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 7
                },
                "end": {
                  "line": 5,
                  "column": 24
                },
                "identifierName": "ArcControlHandler"
              },
              "name": "ArcControlHandler"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 178,
          "end": 192,
          "loc": {
            "start": {
              "line": 5,
              "column": 30
            },
            "end": {
              "line": 5,
              "column": 44
            }
          },
          "extra": {
            "rawValue": "./arccontrol",
            "raw": "'./arccontrol'"
          },
          "value": "./arccontrol"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 194,
        "end": 237,
        "loc": {
          "start": {
            "line": 6,
            "column": 0
          },
          "end": {
            "line": 6,
            "column": 43
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 201,
            "end": 217,
            "loc": {
              "start": {
                "line": 6,
                "column": 7
              },
              "end": {
                "line": 6,
                "column": 23
              }
            },
            "local": {
              "type": "Identifier",
              "start": 201,
              "end": 217,
              "loc": {
                "start": {
                  "line": 6,
                  "column": 7
                },
                "end": {
                  "line": 6,
                  "column": 23
                },
                "identifierName": "ArcMiddleHandler"
              },
              "name": "ArcMiddleHandler"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 223,
          "end": 236,
          "loc": {
            "start": {
              "line": 6,
              "column": 29
            },
            "end": {
              "line": 6,
              "column": 42
            }
          },
          "extra": {
            "rawValue": "./arcmiddle",
            "raw": "'./arcmiddle'"
          },
          "value": "./arcmiddle"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 238,
        "end": 283,
        "loc": {
          "start": {
            "line": 7,
            "column": 0
          },
          "end": {
            "line": 7,
            "column": 45
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 245,
            "end": 262,
            "loc": {
              "start": {
                "line": 7,
                "column": 7
              },
              "end": {
                "line": 7,
                "column": 24
              }
            },
            "local": {
              "type": "Identifier",
              "start": 245,
              "end": 262,
              "loc": {
                "start": {
                  "line": 7,
                  "column": 7
                },
                "end": {
                  "line": 7,
                  "column": 24
                },
                "identifierName": "ArcTangentHandler"
              },
              "name": "ArcTangentHandler"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 268,
          "end": 282,
          "loc": {
            "start": {
              "line": 7,
              "column": 30
            },
            "end": {
              "line": 7,
              "column": 44
            }
          },
          "extra": {
            "rawValue": "./arctangent",
            "raw": "'./arctangent'"
          },
          "value": "./arctangent"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 284,
        "end": 325,
        "loc": {
          "start": {
            "line": 8,
            "column": 0
          },
          "end": {
            "line": 8,
            "column": 41
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 291,
            "end": 306,
            "loc": {
              "start": {
                "line": 8,
                "column": 7
              },
              "end": {
                "line": 8,
                "column": 22
              }
            },
            "local": {
              "type": "Identifier",
              "start": 291,
              "end": 306,
              "loc": {
                "start": {
                  "line": 8,
                  "column": 7
                },
                "end": {
                  "line": 8,
                  "column": 22
                },
                "identifierName": "PolylineHandler"
              },
              "name": "PolylineHandler"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 312,
          "end": 324,
          "loc": {
            "start": {
              "line": 8,
              "column": 28
            },
            "end": {
              "line": 8,
              "column": 40
            }
          },
          "extra": {
            "rawValue": "./polyline",
            "raw": "'./polyline'"
          },
          "value": "./polyline"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 326,
        "end": 361,
        "loc": {
          "start": {
            "line": 9,
            "column": 0
          },
          "end": {
            "line": 9,
            "column": 35
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 333,
            "end": 345,
            "loc": {
              "start": {
                "line": 9,
                "column": 7
              },
              "end": {
                "line": 9,
                "column": 19
              }
            },
            "local": {
              "type": "Identifier",
              "start": 333,
              "end": 345,
              "loc": {
                "start": {
                  "line": 9,
                  "column": 7
                },
                "end": {
                  "line": 9,
                  "column": 19
                },
                "identifierName": "AngleHandler"
              },
              "name": "AngleHandler"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 351,
          "end": 360,
          "loc": {
            "start": {
              "line": 9,
              "column": 25
            },
            "end": {
              "line": 9,
              "column": 34
            }
          },
          "extra": {
            "rawValue": "./angle",
            "raw": "'./angle'"
          },
          "value": "./angle"
        }
      },
      {
        "type": "ExportDefaultDeclaration",
        "start": 363,
        "end": 1045,
        "loc": {
          "start": {
            "line": 11,
            "column": 0
          },
          "end": {
            "line": 23,
            "column": 1
          }
        },
        "declaration": {
          "type": "FunctionDeclaration",
          "start": 378,
          "end": 1045,
          "loc": {
            "start": {
              "line": 11,
              "column": 15
            },
            "end": {
              "line": 23,
              "column": 1
            }
          },
          "id": {
            "type": "Identifier",
            "start": 387,
            "end": 394,
            "loc": {
              "start": {
                "line": 11,
                "column": 24
              },
              "end": {
                "line": 11,
                "column": 31
              },
              "identifierName": "Handler"
            },
            "name": "Handler"
          },
          "generator": false,
          "expression": false,
          "async": false,
          "params": [
            {
              "type": "Identifier",
              "start": 395,
              "end": 403,
              "loc": {
                "start": {
                  "line": 11,
                  "column": 32
                },
                "end": {
                  "line": 11,
                  "column": 40
                },
                "identifierName": "sketcher"
              },
              "name": "sketcher"
            },
            {
              "type": "Identifier",
              "start": 405,
              "end": 409,
              "loc": {
                "start": {
                  "line": 11,
                  "column": 42
                },
                "end": {
                  "line": 11,
                  "column": 46
                },
                "identifierName": "name"
              },
              "name": "name"
            }
          ],
          "body": {
            "type": "BlockStatement",
            "start": 411,
            "end": 1045,
            "loc": {
              "start": {
                "line": 11,
                "column": 48
              },
              "end": {
                "line": 23,
                "column": 1
              }
            },
            "body": [
              {
                "type": "SwitchStatement",
                "start": 417,
                "end": 1043,
                "loc": {
                  "start": {
                    "line": 12,
                    "column": 4
                  },
                  "end": {
                    "line": 22,
                    "column": 5
                  }
                },
                "discriminant": {
                  "type": "Identifier",
                  "start": 425,
                  "end": 429,
                  "loc": {
                    "start": {
                      "line": 12,
                      "column": 12
                    },
                    "end": {
                      "line": 12,
                      "column": 16
                    },
                    "identifierName": "name"
                  },
                  "name": "name"
                },
                "cases": [
                  {
                    "type": "SwitchCase",
                    "start": 441,
                    "end": 493,
                    "loc": {
                      "start": {
                        "line": 13,
                        "column": 8
                      },
                      "end": {
                        "line": 13,
                        "column": 60
                      }
                    },
                    "consequent": [
                      {
                        "type": "ReturnStatement",
                        "start": 454,
                        "end": 493,
                        "loc": {
                          "start": {
                            "line": 13,
                            "column": 21
                          },
                          "end": {
                            "line": 13,
                            "column": 60
                          }
                        },
                        "argument": {
                          "type": "NewExpression",
                          "start": 461,
                          "end": 492,
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 28
                            },
                            "end": {
                              "line": 13,
                              "column": 59
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 465,
                            "end": 476,
                            "loc": {
                              "start": {
                                "line": 13,
                                "column": 32
                              },
                              "end": {
                                "line": 13,
                                "column": 43
                              },
                              "identifierName": "DragHandler"
                            },
                            "name": "DragHandler"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 477,
                              "end": 485,
                              "loc": {
                                "start": {
                                  "line": 13,
                                  "column": 44
                                },
                                "end": {
                                  "line": 13,
                                  "column": 52
                                },
                                "identifierName": "sketcher"
                              },
                              "name": "sketcher"
                            },
                            {
                              "type": "Identifier",
                              "start": 487,
                              "end": 491,
                              "loc": {
                                "start": {
                                  "line": 13,
                                  "column": 54
                                },
                                "end": {
                                  "line": 13,
                                  "column": 58
                                },
                                "identifierName": "name"
                              },
                              "name": "name"
                            }
                          ]
                        }
                      }
                    ],
                    "test": {
                      "type": "StringLiteral",
                      "start": 446,
                      "end": 452,
                      "loc": {
                        "start": {
                          "line": 13,
                          "column": 13
                        },
                        "end": {
                          "line": 13,
                          "column": 19
                        }
                      },
                      "extra": {
                        "rawValue": "drag",
                        "raw": "'drag'"
                      },
                      "value": "drag"
                    }
                  },
                  {
                    "type": "SwitchCase",
                    "start": 502,
                    "end": 556,
                    "loc": {
                      "start": {
                        "line": 14,
                        "column": 8
                      },
                      "end": {
                        "line": 14,
                        "column": 62
                      }
                    },
                    "consequent": [
                      {
                        "type": "ReturnStatement",
                        "start": 516,
                        "end": 556,
                        "loc": {
                          "start": {
                            "line": 14,
                            "column": 22
                          },
                          "end": {
                            "line": 14,
                            "column": 62
                          }
                        },
                        "argument": {
                          "type": "NewExpression",
                          "start": 523,
                          "end": 555,
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 29
                            },
                            "end": {
                              "line": 14,
                              "column": 61
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 527,
                            "end": 539,
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 33
                              },
                              "end": {
                                "line": 14,
                                "column": 45
                              },
                              "identifierName": "PointHandler"
                            },
                            "name": "PointHandler"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 540,
                              "end": 548,
                              "loc": {
                                "start": {
                                  "line": 14,
                                  "column": 46
                                },
                                "end": {
                                  "line": 14,
                                  "column": 54
                                },
                                "identifierName": "sketcher"
                              },
                              "name": "sketcher"
                            },
                            {
                              "type": "Identifier",
                              "start": 550,
                              "end": 554,
                              "loc": {
                                "start": {
                                  "line": 14,
                                  "column": 56
                                },
                                "end": {
                                  "line": 14,
                                  "column": 60
                                },
                                "identifierName": "name"
                              },
                              "name": "name"
                            }
                          ]
                        }
                      }
                    ],
                    "test": {
                      "type": "StringLiteral",
                      "start": 507,
                      "end": 514,
                      "loc": {
                        "start": {
                          "line": 14,
                          "column": 13
                        },
                        "end": {
                          "line": 14,
                          "column": 20
                        }
                      },
                      "extra": {
                        "rawValue": "point",
                        "raw": "'point'"
                      },
                      "value": "point"
                    }
                  },
                  {
                    "type": "SwitchCase",
                    "start": 565,
                    "end": 617,
                    "loc": {
                      "start": {
                        "line": 15,
                        "column": 8
                      },
                      "end": {
                        "line": 15,
                        "column": 60
                      }
                    },
                    "consequent": [
                      {
                        "type": "ReturnStatement",
                        "start": 578,
                        "end": 617,
                        "loc": {
                          "start": {
                            "line": 15,
                            "column": 21
                          },
                          "end": {
                            "line": 15,
                            "column": 60
                          }
                        },
                        "argument": {
                          "type": "NewExpression",
                          "start": 585,
                          "end": 616,
                          "loc": {
                            "start": {
                              "line": 15,
                              "column": 28
                            },
                            "end": {
                              "line": 15,
                              "column": 59
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 589,
                            "end": 600,
                            "loc": {
                              "start": {
                                "line": 15,
                                "column": 32
                              },
                              "end": {
                                "line": 15,
                                "column": 43
                              },
                              "identifierName": "LineHandler"
                            },
                            "name": "LineHandler"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 601,
                              "end": 609,
                              "loc": {
                                "start": {
                                  "line": 15,
                                  "column": 44
                                },
                                "end": {
                                  "line": 15,
                                  "column": 52
                                },
                                "identifierName": "sketcher"
                              },
                              "name": "sketcher"
                            },
                            {
                              "type": "Identifier",
                              "start": 611,
                              "end": 615,
                              "loc": {
                                "start": {
                                  "line": 15,
                                  "column": 54
                                },
                                "end": {
                                  "line": 15,
                                  "column": 58
                                },
                                "identifierName": "name"
                              },
                              "name": "name"
                            }
                          ]
                        }
                      }
                    ],
                    "test": {
                      "type": "StringLiteral",
                      "start": 570,
                      "end": 576,
                      "loc": {
                        "start": {
                          "line": 15,
                          "column": 13
                        },
                        "end": {
                          "line": 15,
                          "column": 19
                        }
                      },
                      "extra": {
                        "rawValue": "line",
                        "raw": "'line'"
                      },
                      "value": "line"
                    }
                  },
                  {
                    "type": "SwitchCase",
                    "start": 626,
                    "end": 688,
                    "loc": {
                      "start": {
                        "line": 16,
                        "column": 8
                      },
                      "end": {
                        "line": 16,
                        "column": 70
                      }
                    },
                    "consequent": [
                      {
                        "type": "ReturnStatement",
                        "start": 644,
                        "end": 688,
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 26
                          },
                          "end": {
                            "line": 16,
                            "column": 70
                          }
                        },
                        "argument": {
                          "type": "NewExpression",
                          "start": 651,
                          "end": 687,
                          "loc": {
                            "start": {
                              "line": 16,
                              "column": 33
                            },
                            "end": {
                              "line": 16,
                              "column": 69
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 655,
                            "end": 671,
                            "loc": {
                              "start": {
                                "line": 16,
                                "column": 37
                              },
                              "end": {
                                "line": 16,
                                "column": 53
                              },
                              "identifierName": "ArcCenterHandler"
                            },
                            "name": "ArcCenterHandler"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 672,
                              "end": 680,
                              "loc": {
                                "start": {
                                  "line": 16,
                                  "column": 54
                                },
                                "end": {
                                  "line": 16,
                                  "column": 62
                                },
                                "identifierName": "sketcher"
                              },
                              "name": "sketcher"
                            },
                            {
                              "type": "Identifier",
                              "start": 682,
                              "end": 686,
                              "loc": {
                                "start": {
                                  "line": 16,
                                  "column": 64
                                },
                                "end": {
                                  "line": 16,
                                  "column": 68
                                },
                                "identifierName": "name"
                              },
                              "name": "name"
                            }
                          ]
                        }
                      }
                    ],
                    "test": {
                      "type": "StringLiteral",
                      "start": 631,
                      "end": 642,
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 13
                        },
                        "end": {
                          "line": 16,
                          "column": 24
                        }
                      },
                      "extra": {
                        "rawValue": "arccenter",
                        "raw": "'arccenter'"
                      },
                      "value": "arccenter"
                    }
                  },
                  {
                    "type": "SwitchCase",
                    "start": 697,
                    "end": 761,
                    "loc": {
                      "start": {
                        "line": 17,
                        "column": 8
                      },
                      "end": {
                        "line": 17,
                        "column": 72
                      }
                    },
                    "consequent": [
                      {
                        "type": "ReturnStatement",
                        "start": 716,
                        "end": 761,
                        "loc": {
                          "start": {
                            "line": 17,
                            "column": 27
                          },
                          "end": {
                            "line": 17,
                            "column": 72
                          }
                        },
                        "argument": {
                          "type": "NewExpression",
                          "start": 723,
                          "end": 760,
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 34
                            },
                            "end": {
                              "line": 17,
                              "column": 71
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 727,
                            "end": 744,
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 38
                              },
                              "end": {
                                "line": 17,
                                "column": 55
                              },
                              "identifierName": "ArcControlHandler"
                            },
                            "name": "ArcControlHandler"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 745,
                              "end": 753,
                              "loc": {
                                "start": {
                                  "line": 17,
                                  "column": 56
                                },
                                "end": {
                                  "line": 17,
                                  "column": 64
                                },
                                "identifierName": "sketcher"
                              },
                              "name": "sketcher"
                            },
                            {
                              "type": "Identifier",
                              "start": 755,
                              "end": 759,
                              "loc": {
                                "start": {
                                  "line": 17,
                                  "column": 66
                                },
                                "end": {
                                  "line": 17,
                                  "column": 70
                                },
                                "identifierName": "name"
                              },
                              "name": "name"
                            }
                          ]
                        }
                      }
                    ],
                    "test": {
                      "type": "StringLiteral",
                      "start": 702,
                      "end": 714,
                      "loc": {
                        "start": {
                          "line": 17,
                          "column": 13
                        },
                        "end": {
                          "line": 17,
                          "column": 25
                        }
                      },
                      "extra": {
                        "rawValue": "arccontrol",
                        "raw": "'arccontrol'"
                      },
                      "value": "arccontrol"
                    }
                  },
                  {
                    "type": "SwitchCase",
                    "start": 770,
                    "end": 832,
                    "loc": {
                      "start": {
                        "line": 18,
                        "column": 8
                      },
                      "end": {
                        "line": 18,
                        "column": 70
                      }
                    },
                    "consequent": [
                      {
                        "type": "ReturnStatement",
                        "start": 788,
                        "end": 832,
                        "loc": {
                          "start": {
                            "line": 18,
                            "column": 26
                          },
                          "end": {
                            "line": 18,
                            "column": 70
                          }
                        },
                        "argument": {
                          "type": "NewExpression",
                          "start": 795,
                          "end": 831,
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 33
                            },
                            "end": {
                              "line": 18,
                              "column": 69
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 799,
                            "end": 815,
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 37
                              },
                              "end": {
                                "line": 18,
                                "column": 53
                              },
                              "identifierName": "ArcMiddleHandler"
                            },
                            "name": "ArcMiddleHandler"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 816,
                              "end": 824,
                              "loc": {
                                "start": {
                                  "line": 18,
                                  "column": 54
                                },
                                "end": {
                                  "line": 18,
                                  "column": 62
                                },
                                "identifierName": "sketcher"
                              },
                              "name": "sketcher"
                            },
                            {
                              "type": "Identifier",
                              "start": 826,
                              "end": 830,
                              "loc": {
                                "start": {
                                  "line": 18,
                                  "column": 64
                                },
                                "end": {
                                  "line": 18,
                                  "column": 68
                                },
                                "identifierName": "name"
                              },
                              "name": "name"
                            }
                          ]
                        }
                      }
                    ],
                    "test": {
                      "type": "StringLiteral",
                      "start": 775,
                      "end": 786,
                      "loc": {
                        "start": {
                          "line": 18,
                          "column": 13
                        },
                        "end": {
                          "line": 18,
                          "column": 24
                        }
                      },
                      "extra": {
                        "rawValue": "arcmiddle",
                        "raw": "'arcmiddle'"
                      },
                      "value": "arcmiddle"
                    }
                  },
                  {
                    "type": "SwitchCase",
                    "start": 841,
                    "end": 905,
                    "loc": {
                      "start": {
                        "line": 19,
                        "column": 8
                      },
                      "end": {
                        "line": 19,
                        "column": 72
                      }
                    },
                    "consequent": [
                      {
                        "type": "ReturnStatement",
                        "start": 860,
                        "end": 905,
                        "loc": {
                          "start": {
                            "line": 19,
                            "column": 27
                          },
                          "end": {
                            "line": 19,
                            "column": 72
                          }
                        },
                        "argument": {
                          "type": "NewExpression",
                          "start": 867,
                          "end": 904,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 34
                            },
                            "end": {
                              "line": 19,
                              "column": 71
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 871,
                            "end": 888,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 38
                              },
                              "end": {
                                "line": 19,
                                "column": 55
                              },
                              "identifierName": "ArcTangentHandler"
                            },
                            "name": "ArcTangentHandler"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 889,
                              "end": 897,
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 56
                                },
                                "end": {
                                  "line": 19,
                                  "column": 64
                                },
                                "identifierName": "sketcher"
                              },
                              "name": "sketcher"
                            },
                            {
                              "type": "Identifier",
                              "start": 899,
                              "end": 903,
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 66
                                },
                                "end": {
                                  "line": 19,
                                  "column": 70
                                },
                                "identifierName": "name"
                              },
                              "name": "name"
                            }
                          ]
                        }
                      }
                    ],
                    "test": {
                      "type": "StringLiteral",
                      "start": 846,
                      "end": 858,
                      "loc": {
                        "start": {
                          "line": 19,
                          "column": 13
                        },
                        "end": {
                          "line": 19,
                          "column": 25
                        }
                      },
                      "extra": {
                        "rawValue": "arctangent",
                        "raw": "'arctangent'"
                      },
                      "value": "arctangent"
                    }
                  },
                  {
                    "type": "SwitchCase",
                    "start": 914,
                    "end": 974,
                    "loc": {
                      "start": {
                        "line": 20,
                        "column": 8
                      },
                      "end": {
                        "line": 20,
                        "column": 68
                      }
                    },
                    "consequent": [
                      {
                        "type": "ReturnStatement",
                        "start": 931,
                        "end": 974,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 25
                          },
                          "end": {
                            "line": 20,
                            "column": 68
                          }
                        },
                        "argument": {
                          "type": "NewExpression",
                          "start": 938,
                          "end": 973,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 32
                            },
                            "end": {
                              "line": 20,
                              "column": 67
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 942,
                            "end": 957,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 36
                              },
                              "end": {
                                "line": 20,
                                "column": 51
                              },
                              "identifierName": "PolylineHandler"
                            },
                            "name": "PolylineHandler"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 958,
                              "end": 966,
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 52
                                },
                                "end": {
                                  "line": 20,
                                  "column": 60
                                },
                                "identifierName": "sketcher"
                              },
                              "name": "sketcher"
                            },
                            {
                              "type": "Identifier",
                              "start": 968,
                              "end": 972,
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 62
                                },
                                "end": {
                                  "line": 20,
                                  "column": 66
                                },
                                "identifierName": "name"
                              },
                              "name": "name"
                            }
                          ]
                        }
                      }
                    ],
                    "test": {
                      "type": "StringLiteral",
                      "start": 919,
                      "end": 929,
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 13
                        },
                        "end": {
                          "line": 20,
                          "column": 23
                        }
                      },
                      "extra": {
                        "rawValue": "polyline",
                        "raw": "'polyline'"
                      },
                      "value": "polyline"
                    }
                  },
                  {
                    "type": "SwitchCase",
                    "start": 983,
                    "end": 1037,
                    "loc": {
                      "start": {
                        "line": 21,
                        "column": 8
                      },
                      "end": {
                        "line": 21,
                        "column": 62
                      }
                    },
                    "consequent": [
                      {
                        "type": "ReturnStatement",
                        "start": 997,
                        "end": 1037,
                        "loc": {
                          "start": {
                            "line": 21,
                            "column": 22
                          },
                          "end": {
                            "line": 21,
                            "column": 62
                          }
                        },
                        "argument": {
                          "type": "NewExpression",
                          "start": 1004,
                          "end": 1036,
                          "loc": {
                            "start": {
                              "line": 21,
                              "column": 29
                            },
                            "end": {
                              "line": 21,
                              "column": 61
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 1008,
                            "end": 1020,
                            "loc": {
                              "start": {
                                "line": 21,
                                "column": 33
                              },
                              "end": {
                                "line": 21,
                                "column": 45
                              },
                              "identifierName": "AngleHandler"
                            },
                            "name": "AngleHandler"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 1021,
                              "end": 1029,
                              "loc": {
                                "start": {
                                  "line": 21,
                                  "column": 46
                                },
                                "end": {
                                  "line": 21,
                                  "column": 54
                                },
                                "identifierName": "sketcher"
                              },
                              "name": "sketcher"
                            },
                            {
                              "type": "Identifier",
                              "start": 1031,
                              "end": 1035,
                              "loc": {
                                "start": {
                                  "line": 21,
                                  "column": 56
                                },
                                "end": {
                                  "line": 21,
                                  "column": 60
                                },
                                "identifierName": "name"
                              },
                              "name": "name"
                            }
                          ]
                        }
                      }
                    ],
                    "test": {
                      "type": "StringLiteral",
                      "start": 988,
                      "end": 995,
                      "loc": {
                        "start": {
                          "line": 21,
                          "column": 13
                        },
                        "end": {
                          "line": 21,
                          "column": 20
                        }
                      },
                      "extra": {
                        "rawValue": "angle",
                        "raw": "'angle'"
                      },
                      "value": "angle"
                    }
                  }
                ]
              }
            ],
            "directives": [],
            "trailingComments": null
          },
          "trailingComments": [
            {
              "type": "CommentLine",
              "value": " Support hot reloading",
              "start": 1047,
              "end": 1071,
              "loc": {
                "start": {
                  "line": 25,
                  "column": 0
                },
                "end": {
                  "line": 25,
                  "column": 24
                }
              }
            }
          ],
          "leadingComments": []
        },
        "trailingComments": [
          {
            "type": "CommentLine",
            "value": " Support hot reloading",
            "start": 1047,
            "end": 1071,
            "loc": {
              "start": {
                "line": 25,
                "column": 0
              },
              "end": {
                "line": 25,
                "column": 24
              }
            }
          }
        ]
      },
      {
        "type": "IfStatement",
        "start": 1072,
        "end": 1231,
        "loc": {
          "start": {
            "line": 26,
            "column": 0
          },
          "end": {
            "line": 27,
            "column": 143
          }
        },
        "test": {
          "type": "MemberExpression",
          "start": 1076,
          "end": 1086,
          "loc": {
            "start": {
              "line": 26,
              "column": 4
            },
            "end": {
              "line": 26,
              "column": 14
            }
          },
          "object": {
            "type": "Identifier",
            "start": 1076,
            "end": 1082,
            "loc": {
              "start": {
                "line": 26,
                "column": 4
              },
              "end": {
                "line": 26,
                "column": 10
              },
              "identifierName": "module"
            },
            "name": "module",
            "leadingComments": null
          },
          "property": {
            "type": "Identifier",
            "start": 1083,
            "end": 1086,
            "loc": {
              "start": {
                "line": 26,
                "column": 11
              },
              "end": {
                "line": 26,
                "column": 14
              },
              "identifierName": "hot"
            },
            "name": "hot"
          },
          "computed": false,
          "leadingComments": null
        },
        "consequent": {
          "type": "ExpressionStatement",
          "start": 1092,
          "end": 1231,
          "loc": {
            "start": {
              "line": 27,
              "column": 4
            },
            "end": {
              "line": 27,
              "column": 143
            }
          },
          "expression": {
            "type": "CallExpression",
            "start": 1092,
            "end": 1230,
            "loc": {
              "start": {
                "line": 27,
                "column": 4
              },
              "end": {
                "line": 27,
                "column": 142
              }
            },
            "callee": {
              "type": "MemberExpression",
              "start": 1092,
              "end": 1109,
              "loc": {
                "start": {
                  "line": 27,
                  "column": 4
                },
                "end": {
                  "line": 27,
                  "column": 21
                }
              },
              "object": {
                "type": "MemberExpression",
                "start": 1092,
                "end": 1102,
                "loc": {
                  "start": {
                    "line": 27,
                    "column": 4
                  },
                  "end": {
                    "line": 27,
                    "column": 14
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 1092,
                  "end": 1098,
                  "loc": {
                    "start": {
                      "line": 27,
                      "column": 4
                    },
                    "end": {
                      "line": 27,
                      "column": 10
                    },
                    "identifierName": "module"
                  },
                  "name": "module"
                },
                "property": {
                  "type": "Identifier",
                  "start": 1099,
                  "end": 1102,
                  "loc": {
                    "start": {
                      "line": 27,
                      "column": 11
                    },
                    "end": {
                      "line": 27,
                      "column": 14
                    },
                    "identifierName": "hot"
                  },
                  "name": "hot"
                },
                "computed": false
              },
              "property": {
                "type": "Identifier",
                "start": 1103,
                "end": 1109,
                "loc": {
                  "start": {
                    "line": 27,
                    "column": 15
                  },
                  "end": {
                    "line": 27,
                    "column": 21
                  },
                  "identifierName": "accept"
                },
                "name": "accept"
              },
              "computed": false
            },
            "arguments": [
              {
                "type": "ArrayExpression",
                "start": 1110,
                "end": 1229,
                "loc": {
                  "start": {
                    "line": 27,
                    "column": 22
                  },
                  "end": {
                    "line": 27,
                    "column": 141
                  }
                },
                "elements": [
                  {
                    "type": "StringLiteral",
                    "start": 1111,
                    "end": 1119,
                    "loc": {
                      "start": {
                        "line": 27,
                        "column": 23
                      },
                      "end": {
                        "line": 27,
                        "column": 31
                      }
                    },
                    "extra": {
                      "rawValue": "./drag",
                      "raw": "'./drag'"
                    },
                    "value": "./drag"
                  },
                  {
                    "type": "StringLiteral",
                    "start": 1121,
                    "end": 1130,
                    "loc": {
                      "start": {
                        "line": 27,
                        "column": 33
                      },
                      "end": {
                        "line": 27,
                        "column": 42
                      }
                    },
                    "extra": {
                      "rawValue": "./point",
                      "raw": "'./point'"
                    },
                    "value": "./point"
                  },
                  {
                    "type": "StringLiteral",
                    "start": 1132,
                    "end": 1140,
                    "loc": {
                      "start": {
                        "line": 27,
                        "column": 44
                      },
                      "end": {
                        "line": 27,
                        "column": 52
                      }
                    },
                    "extra": {
                      "rawValue": "./line",
                      "raw": "'./line'"
                    },
                    "value": "./line"
                  },
                  {
                    "type": "StringLiteral",
                    "start": 1142,
                    "end": 1155,
                    "loc": {
                      "start": {
                        "line": 27,
                        "column": 54
                      },
                      "end": {
                        "line": 27,
                        "column": 67
                      }
                    },
                    "extra": {
                      "rawValue": "./arccenter",
                      "raw": "'./arccenter'"
                    },
                    "value": "./arccenter"
                  },
                  {
                    "type": "StringLiteral",
                    "start": 1157,
                    "end": 1171,
                    "loc": {
                      "start": {
                        "line": 27,
                        "column": 69
                      },
                      "end": {
                        "line": 27,
                        "column": 83
                      }
                    },
                    "extra": {
                      "rawValue": "./arccontrol",
                      "raw": "'./arccontrol'"
                    },
                    "value": "./arccontrol"
                  },
                  {
                    "type": "StringLiteral",
                    "start": 1173,
                    "end": 1186,
                    "loc": {
                      "start": {
                        "line": 27,
                        "column": 85
                      },
                      "end": {
                        "line": 27,
                        "column": 98
                      }
                    },
                    "extra": {
                      "rawValue": "./arcmiddle",
                      "raw": "'./arcmiddle'"
                    },
                    "value": "./arcmiddle"
                  },
                  {
                    "type": "StringLiteral",
                    "start": 1188,
                    "end": 1202,
                    "loc": {
                      "start": {
                        "line": 27,
                        "column": 100
                      },
                      "end": {
                        "line": 27,
                        "column": 114
                      }
                    },
                    "extra": {
                      "rawValue": "./arctangent",
                      "raw": "'./arctangent'"
                    },
                    "value": "./arctangent"
                  },
                  {
                    "type": "StringLiteral",
                    "start": 1204,
                    "end": 1216,
                    "loc": {
                      "start": {
                        "line": 27,
                        "column": 116
                      },
                      "end": {
                        "line": 27,
                        "column": 128
                      }
                    },
                    "extra": {
                      "rawValue": "./polyline",
                      "raw": "'./polyline'"
                    },
                    "value": "./polyline"
                  },
                  {
                    "type": "StringLiteral",
                    "start": 1218,
                    "end": 1227,
                    "loc": {
                      "start": {
                        "line": 27,
                        "column": 130
                      },
                      "end": {
                        "line": 27,
                        "column": 139
                      }
                    },
                    "extra": {
                      "rawValue": "./angle",
                      "raw": "'./angle'"
                    },
                    "value": "./angle"
                  }
                ]
              }
            ]
          }
        },
        "alternate": null,
        "leadingComments": [
          {
            "type": "CommentLine",
            "value": " Support hot reloading",
            "start": 1047,
            "end": 1071,
            "loc": {
              "start": {
                "line": 25,
                "column": 0
              },
              "end": {
                "line": 25,
                "column": 24
              }
            }
          }
        ]
      }
    ],
    "directives": []
  },
  "comments": [
    {
      "type": "CommentLine",
      "value": " Support hot reloading",
      "start": 1047,
      "end": 1071,
      "loc": {
        "start": {
          "line": 25,
          "column": 0
        },
        "end": {
          "line": 25,
          "column": 24
        }
      }
    }
  ],
  "tokens": [
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 0,
      "end": 6,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "DragHandler",
      "start": 7,
      "end": 18,
      "loc": {
        "start": {
          "line": 1,
          "column": 7
        },
        "end": {
          "line": 1,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 19,
      "end": 23,
      "loc": {
        "start": {
          "line": 1,
          "column": 19
        },
        "end": {
          "line": 1,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./drag",
      "start": 24,
      "end": 32,
      "loc": {
        "start": {
          "line": 1,
          "column": 24
        },
        "end": {
          "line": 1,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 32,
      "end": 33,
      "loc": {
        "start": {
          "line": 1,
          "column": 32
        },
        "end": {
          "line": 1,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 34,
      "end": 40,
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "PointHandler",
      "start": 41,
      "end": 53,
      "loc": {
        "start": {
          "line": 2,
          "column": 7
        },
        "end": {
          "line": 2,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 54,
      "end": 58,
      "loc": {
        "start": {
          "line": 2,
          "column": 20
        },
        "end": {
          "line": 2,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./point",
      "start": 59,
      "end": 68,
      "loc": {
        "start": {
          "line": 2,
          "column": 25
        },
        "end": {
          "line": 2,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 68,
      "end": 69,
      "loc": {
        "start": {
          "line": 2,
          "column": 34
        },
        "end": {
          "line": 2,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 70,
      "end": 76,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "LineHandler",
      "start": 77,
      "end": 88,
      "loc": {
        "start": {
          "line": 3,
          "column": 7
        },
        "end": {
          "line": 3,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 89,
      "end": 93,
      "loc": {
        "start": {
          "line": 3,
          "column": 19
        },
        "end": {
          "line": 3,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./line",
      "start": 94,
      "end": 102,
      "loc": {
        "start": {
          "line": 3,
          "column": 24
        },
        "end": {
          "line": 3,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 102,
      "end": 103,
      "loc": {
        "start": {
          "line": 3,
          "column": 32
        },
        "end": {
          "line": 3,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 104,
      "end": 110,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ArcCenterHandler",
      "start": 111,
      "end": 127,
      "loc": {
        "start": {
          "line": 4,
          "column": 7
        },
        "end": {
          "line": 4,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 128,
      "end": 132,
      "loc": {
        "start": {
          "line": 4,
          "column": 24
        },
        "end": {
          "line": 4,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./arccenter",
      "start": 133,
      "end": 146,
      "loc": {
        "start": {
          "line": 4,
          "column": 29
        },
        "end": {
          "line": 4,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 146,
      "end": 147,
      "loc": {
        "start": {
          "line": 4,
          "column": 42
        },
        "end": {
          "line": 4,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 148,
      "end": 154,
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ArcControlHandler",
      "start": 155,
      "end": 172,
      "loc": {
        "start": {
          "line": 5,
          "column": 7
        },
        "end": {
          "line": 5,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 173,
      "end": 177,
      "loc": {
        "start": {
          "line": 5,
          "column": 25
        },
        "end": {
          "line": 5,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./arccontrol",
      "start": 178,
      "end": 192,
      "loc": {
        "start": {
          "line": 5,
          "column": 30
        },
        "end": {
          "line": 5,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 192,
      "end": 193,
      "loc": {
        "start": {
          "line": 5,
          "column": 44
        },
        "end": {
          "line": 5,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 194,
      "end": 200,
      "loc": {
        "start": {
          "line": 6,
          "column": 0
        },
        "end": {
          "line": 6,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ArcMiddleHandler",
      "start": 201,
      "end": 217,
      "loc": {
        "start": {
          "line": 6,
          "column": 7
        },
        "end": {
          "line": 6,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 218,
      "end": 222,
      "loc": {
        "start": {
          "line": 6,
          "column": 24
        },
        "end": {
          "line": 6,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./arcmiddle",
      "start": 223,
      "end": 236,
      "loc": {
        "start": {
          "line": 6,
          "column": 29
        },
        "end": {
          "line": 6,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 236,
      "end": 237,
      "loc": {
        "start": {
          "line": 6,
          "column": 42
        },
        "end": {
          "line": 6,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 238,
      "end": 244,
      "loc": {
        "start": {
          "line": 7,
          "column": 0
        },
        "end": {
          "line": 7,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ArcTangentHandler",
      "start": 245,
      "end": 262,
      "loc": {
        "start": {
          "line": 7,
          "column": 7
        },
        "end": {
          "line": 7,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 263,
      "end": 267,
      "loc": {
        "start": {
          "line": 7,
          "column": 25
        },
        "end": {
          "line": 7,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./arctangent",
      "start": 268,
      "end": 282,
      "loc": {
        "start": {
          "line": 7,
          "column": 30
        },
        "end": {
          "line": 7,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 282,
      "end": 283,
      "loc": {
        "start": {
          "line": 7,
          "column": 44
        },
        "end": {
          "line": 7,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 284,
      "end": 290,
      "loc": {
        "start": {
          "line": 8,
          "column": 0
        },
        "end": {
          "line": 8,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "PolylineHandler",
      "start": 291,
      "end": 306,
      "loc": {
        "start": {
          "line": 8,
          "column": 7
        },
        "end": {
          "line": 8,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 307,
      "end": 311,
      "loc": {
        "start": {
          "line": 8,
          "column": 23
        },
        "end": {
          "line": 8,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./polyline",
      "start": 312,
      "end": 324,
      "loc": {
        "start": {
          "line": 8,
          "column": 28
        },
        "end": {
          "line": 8,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 324,
      "end": 325,
      "loc": {
        "start": {
          "line": 8,
          "column": 40
        },
        "end": {
          "line": 8,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 326,
      "end": 332,
      "loc": {
        "start": {
          "line": 9,
          "column": 0
        },
        "end": {
          "line": 9,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "AngleHandler",
      "start": 333,
      "end": 345,
      "loc": {
        "start": {
          "line": 9,
          "column": 7
        },
        "end": {
          "line": 9,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 346,
      "end": 350,
      "loc": {
        "start": {
          "line": 9,
          "column": 20
        },
        "end": {
          "line": 9,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./angle",
      "start": 351,
      "end": 360,
      "loc": {
        "start": {
          "line": 9,
          "column": 25
        },
        "end": {
          "line": 9,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 360,
      "end": 361,
      "loc": {
        "start": {
          "line": 9,
          "column": 34
        },
        "end": {
          "line": 9,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "export",
        "keyword": "export",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "export",
      "start": 363,
      "end": 369,
      "loc": {
        "start": {
          "line": 11,
          "column": 0
        },
        "end": {
          "line": 11,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "default",
        "keyword": "default",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "default",
      "start": 370,
      "end": 377,
      "loc": {
        "start": {
          "line": 11,
          "column": 7
        },
        "end": {
          "line": 11,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 378,
      "end": 386,
      "loc": {
        "start": {
          "line": 11,
          "column": 15
        },
        "end": {
          "line": 11,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Handler",
      "start": 387,
      "end": 394,
      "loc": {
        "start": {
          "line": 11,
          "column": 24
        },
        "end": {
          "line": 11,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 394,
      "end": 395,
      "loc": {
        "start": {
          "line": 11,
          "column": 31
        },
        "end": {
          "line": 11,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sketcher",
      "start": 395,
      "end": 403,
      "loc": {
        "start": {
          "line": 11,
          "column": 32
        },
        "end": {
          "line": 11,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 403,
      "end": 404,
      "loc": {
        "start": {
          "line": 11,
          "column": 40
        },
        "end": {
          "line": 11,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 405,
      "end": 409,
      "loc": {
        "start": {
          "line": 11,
          "column": 42
        },
        "end": {
          "line": 11,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 409,
      "end": 410,
      "loc": {
        "start": {
          "line": 11,
          "column": 46
        },
        "end": {
          "line": 11,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 411,
      "end": 412,
      "loc": {
        "start": {
          "line": 11,
          "column": 48
        },
        "end": {
          "line": 11,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "switch",
        "keyword": "switch",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "switch",
      "start": 417,
      "end": 423,
      "loc": {
        "start": {
          "line": 12,
          "column": 4
        },
        "end": {
          "line": 12,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 424,
      "end": 425,
      "loc": {
        "start": {
          "line": 12,
          "column": 11
        },
        "end": {
          "line": 12,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 425,
      "end": 429,
      "loc": {
        "start": {
          "line": 12,
          "column": 12
        },
        "end": {
          "line": 12,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 429,
      "end": 430,
      "loc": {
        "start": {
          "line": 12,
          "column": 16
        },
        "end": {
          "line": 12,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 431,
      "end": 432,
      "loc": {
        "start": {
          "line": 12,
          "column": 18
        },
        "end": {
          "line": 12,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "case",
        "keyword": "case",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "case",
      "start": 441,
      "end": 445,
      "loc": {
        "start": {
          "line": 13,
          "column": 8
        },
        "end": {
          "line": 13,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "drag",
      "start": 446,
      "end": 452,
      "loc": {
        "start": {
          "line": 13,
          "column": 13
        },
        "end": {
          "line": 13,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 452,
      "end": 453,
      "loc": {
        "start": {
          "line": 13,
          "column": 19
        },
        "end": {
          "line": 13,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 454,
      "end": 460,
      "loc": {
        "start": {
          "line": 13,
          "column": 21
        },
        "end": {
          "line": 13,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 461,
      "end": 464,
      "loc": {
        "start": {
          "line": 13,
          "column": 28
        },
        "end": {
          "line": 13,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "DragHandler",
      "start": 465,
      "end": 476,
      "loc": {
        "start": {
          "line": 13,
          "column": 32
        },
        "end": {
          "line": 13,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 476,
      "end": 477,
      "loc": {
        "start": {
          "line": 13,
          "column": 43
        },
        "end": {
          "line": 13,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sketcher",
      "start": 477,
      "end": 485,
      "loc": {
        "start": {
          "line": 13,
          "column": 44
        },
        "end": {
          "line": 13,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 485,
      "end": 486,
      "loc": {
        "start": {
          "line": 13,
          "column": 52
        },
        "end": {
          "line": 13,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 487,
      "end": 491,
      "loc": {
        "start": {
          "line": 13,
          "column": 54
        },
        "end": {
          "line": 13,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 491,
      "end": 492,
      "loc": {
        "start": {
          "line": 13,
          "column": 58
        },
        "end": {
          "line": 13,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 492,
      "end": 493,
      "loc": {
        "start": {
          "line": 13,
          "column": 59
        },
        "end": {
          "line": 13,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "case",
        "keyword": "case",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "case",
      "start": 502,
      "end": 506,
      "loc": {
        "start": {
          "line": 14,
          "column": 8
        },
        "end": {
          "line": 14,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "point",
      "start": 507,
      "end": 514,
      "loc": {
        "start": {
          "line": 14,
          "column": 13
        },
        "end": {
          "line": 14,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 514,
      "end": 515,
      "loc": {
        "start": {
          "line": 14,
          "column": 20
        },
        "end": {
          "line": 14,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 516,
      "end": 522,
      "loc": {
        "start": {
          "line": 14,
          "column": 22
        },
        "end": {
          "line": 14,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 523,
      "end": 526,
      "loc": {
        "start": {
          "line": 14,
          "column": 29
        },
        "end": {
          "line": 14,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "PointHandler",
      "start": 527,
      "end": 539,
      "loc": {
        "start": {
          "line": 14,
          "column": 33
        },
        "end": {
          "line": 14,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 539,
      "end": 540,
      "loc": {
        "start": {
          "line": 14,
          "column": 45
        },
        "end": {
          "line": 14,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sketcher",
      "start": 540,
      "end": 548,
      "loc": {
        "start": {
          "line": 14,
          "column": 46
        },
        "end": {
          "line": 14,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 548,
      "end": 549,
      "loc": {
        "start": {
          "line": 14,
          "column": 54
        },
        "end": {
          "line": 14,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 550,
      "end": 554,
      "loc": {
        "start": {
          "line": 14,
          "column": 56
        },
        "end": {
          "line": 14,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 554,
      "end": 555,
      "loc": {
        "start": {
          "line": 14,
          "column": 60
        },
        "end": {
          "line": 14,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 555,
      "end": 556,
      "loc": {
        "start": {
          "line": 14,
          "column": 61
        },
        "end": {
          "line": 14,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "case",
        "keyword": "case",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "case",
      "start": 565,
      "end": 569,
      "loc": {
        "start": {
          "line": 15,
          "column": 8
        },
        "end": {
          "line": 15,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "line",
      "start": 570,
      "end": 576,
      "loc": {
        "start": {
          "line": 15,
          "column": 13
        },
        "end": {
          "line": 15,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 576,
      "end": 577,
      "loc": {
        "start": {
          "line": 15,
          "column": 19
        },
        "end": {
          "line": 15,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 578,
      "end": 584,
      "loc": {
        "start": {
          "line": 15,
          "column": 21
        },
        "end": {
          "line": 15,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 585,
      "end": 588,
      "loc": {
        "start": {
          "line": 15,
          "column": 28
        },
        "end": {
          "line": 15,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "LineHandler",
      "start": 589,
      "end": 600,
      "loc": {
        "start": {
          "line": 15,
          "column": 32
        },
        "end": {
          "line": 15,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 600,
      "end": 601,
      "loc": {
        "start": {
          "line": 15,
          "column": 43
        },
        "end": {
          "line": 15,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sketcher",
      "start": 601,
      "end": 609,
      "loc": {
        "start": {
          "line": 15,
          "column": 44
        },
        "end": {
          "line": 15,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 609,
      "end": 610,
      "loc": {
        "start": {
          "line": 15,
          "column": 52
        },
        "end": {
          "line": 15,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 611,
      "end": 615,
      "loc": {
        "start": {
          "line": 15,
          "column": 54
        },
        "end": {
          "line": 15,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 615,
      "end": 616,
      "loc": {
        "start": {
          "line": 15,
          "column": 58
        },
        "end": {
          "line": 15,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 616,
      "end": 617,
      "loc": {
        "start": {
          "line": 15,
          "column": 59
        },
        "end": {
          "line": 15,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "case",
        "keyword": "case",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "case",
      "start": 626,
      "end": 630,
      "loc": {
        "start": {
          "line": 16,
          "column": 8
        },
        "end": {
          "line": 16,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "arccenter",
      "start": 631,
      "end": 642,
      "loc": {
        "start": {
          "line": 16,
          "column": 13
        },
        "end": {
          "line": 16,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 642,
      "end": 643,
      "loc": {
        "start": {
          "line": 16,
          "column": 24
        },
        "end": {
          "line": 16,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 644,
      "end": 650,
      "loc": {
        "start": {
          "line": 16,
          "column": 26
        },
        "end": {
          "line": 16,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 651,
      "end": 654,
      "loc": {
        "start": {
          "line": 16,
          "column": 33
        },
        "end": {
          "line": 16,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ArcCenterHandler",
      "start": 655,
      "end": 671,
      "loc": {
        "start": {
          "line": 16,
          "column": 37
        },
        "end": {
          "line": 16,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 671,
      "end": 672,
      "loc": {
        "start": {
          "line": 16,
          "column": 53
        },
        "end": {
          "line": 16,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sketcher",
      "start": 672,
      "end": 680,
      "loc": {
        "start": {
          "line": 16,
          "column": 54
        },
        "end": {
          "line": 16,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 680,
      "end": 681,
      "loc": {
        "start": {
          "line": 16,
          "column": 62
        },
        "end": {
          "line": 16,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 682,
      "end": 686,
      "loc": {
        "start": {
          "line": 16,
          "column": 64
        },
        "end": {
          "line": 16,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 686,
      "end": 687,
      "loc": {
        "start": {
          "line": 16,
          "column": 68
        },
        "end": {
          "line": 16,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 687,
      "end": 688,
      "loc": {
        "start": {
          "line": 16,
          "column": 69
        },
        "end": {
          "line": 16,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": "case",
        "keyword": "case",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "case",
      "start": 697,
      "end": 701,
      "loc": {
        "start": {
          "line": 17,
          "column": 8
        },
        "end": {
          "line": 17,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "arccontrol",
      "start": 702,
      "end": 714,
      "loc": {
        "start": {
          "line": 17,
          "column": 13
        },
        "end": {
          "line": 17,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 714,
      "end": 715,
      "loc": {
        "start": {
          "line": 17,
          "column": 25
        },
        "end": {
          "line": 17,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 716,
      "end": 722,
      "loc": {
        "start": {
          "line": 17,
          "column": 27
        },
        "end": {
          "line": 17,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 723,
      "end": 726,
      "loc": {
        "start": {
          "line": 17,
          "column": 34
        },
        "end": {
          "line": 17,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ArcControlHandler",
      "start": 727,
      "end": 744,
      "loc": {
        "start": {
          "line": 17,
          "column": 38
        },
        "end": {
          "line": 17,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 744,
      "end": 745,
      "loc": {
        "start": {
          "line": 17,
          "column": 55
        },
        "end": {
          "line": 17,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sketcher",
      "start": 745,
      "end": 753,
      "loc": {
        "start": {
          "line": 17,
          "column": 56
        },
        "end": {
          "line": 17,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 753,
      "end": 754,
      "loc": {
        "start": {
          "line": 17,
          "column": 64
        },
        "end": {
          "line": 17,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 755,
      "end": 759,
      "loc": {
        "start": {
          "line": 17,
          "column": 66
        },
        "end": {
          "line": 17,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 759,
      "end": 760,
      "loc": {
        "start": {
          "line": 17,
          "column": 70
        },
        "end": {
          "line": 17,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 760,
      "end": 761,
      "loc": {
        "start": {
          "line": 17,
          "column": 71
        },
        "end": {
          "line": 17,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": "case",
        "keyword": "case",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "case",
      "start": 770,
      "end": 774,
      "loc": {
        "start": {
          "line": 18,
          "column": 8
        },
        "end": {
          "line": 18,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "arcmiddle",
      "start": 775,
      "end": 786,
      "loc": {
        "start": {
          "line": 18,
          "column": 13
        },
        "end": {
          "line": 18,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 786,
      "end": 787,
      "loc": {
        "start": {
          "line": 18,
          "column": 24
        },
        "end": {
          "line": 18,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 788,
      "end": 794,
      "loc": {
        "start": {
          "line": 18,
          "column": 26
        },
        "end": {
          "line": 18,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 795,
      "end": 798,
      "loc": {
        "start": {
          "line": 18,
          "column": 33
        },
        "end": {
          "line": 18,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ArcMiddleHandler",
      "start": 799,
      "end": 815,
      "loc": {
        "start": {
          "line": 18,
          "column": 37
        },
        "end": {
          "line": 18,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 815,
      "end": 816,
      "loc": {
        "start": {
          "line": 18,
          "column": 53
        },
        "end": {
          "line": 18,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sketcher",
      "start": 816,
      "end": 824,
      "loc": {
        "start": {
          "line": 18,
          "column": 54
        },
        "end": {
          "line": 18,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 824,
      "end": 825,
      "loc": {
        "start": {
          "line": 18,
          "column": 62
        },
        "end": {
          "line": 18,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 826,
      "end": 830,
      "loc": {
        "start": {
          "line": 18,
          "column": 64
        },
        "end": {
          "line": 18,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 830,
      "end": 831,
      "loc": {
        "start": {
          "line": 18,
          "column": 68
        },
        "end": {
          "line": 18,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 831,
      "end": 832,
      "loc": {
        "start": {
          "line": 18,
          "column": 69
        },
        "end": {
          "line": 18,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": "case",
        "keyword": "case",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "case",
      "start": 841,
      "end": 845,
      "loc": {
        "start": {
          "line": 19,
          "column": 8
        },
        "end": {
          "line": 19,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "arctangent",
      "start": 846,
      "end": 858,
      "loc": {
        "start": {
          "line": 19,
          "column": 13
        },
        "end": {
          "line": 19,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 858,
      "end": 859,
      "loc": {
        "start": {
          "line": 19,
          "column": 25
        },
        "end": {
          "line": 19,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 860,
      "end": 866,
      "loc": {
        "start": {
          "line": 19,
          "column": 27
        },
        "end": {
          "line": 19,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 867,
      "end": 870,
      "loc": {
        "start": {
          "line": 19,
          "column": 34
        },
        "end": {
          "line": 19,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ArcTangentHandler",
      "start": 871,
      "end": 888,
      "loc": {
        "start": {
          "line": 19,
          "column": 38
        },
        "end": {
          "line": 19,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 888,
      "end": 889,
      "loc": {
        "start": {
          "line": 19,
          "column": 55
        },
        "end": {
          "line": 19,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sketcher",
      "start": 889,
      "end": 897,
      "loc": {
        "start": {
          "line": 19,
          "column": 56
        },
        "end": {
          "line": 19,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 897,
      "end": 898,
      "loc": {
        "start": {
          "line": 19,
          "column": 64
        },
        "end": {
          "line": 19,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 899,
      "end": 903,
      "loc": {
        "start": {
          "line": 19,
          "column": 66
        },
        "end": {
          "line": 19,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 903,
      "end": 904,
      "loc": {
        "start": {
          "line": 19,
          "column": 70
        },
        "end": {
          "line": 19,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 904,
      "end": 905,
      "loc": {
        "start": {
          "line": 19,
          "column": 71
        },
        "end": {
          "line": 19,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": "case",
        "keyword": "case",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "case",
      "start": 914,
      "end": 918,
      "loc": {
        "start": {
          "line": 20,
          "column": 8
        },
        "end": {
          "line": 20,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "polyline",
      "start": 919,
      "end": 929,
      "loc": {
        "start": {
          "line": 20,
          "column": 13
        },
        "end": {
          "line": 20,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 929,
      "end": 930,
      "loc": {
        "start": {
          "line": 20,
          "column": 23
        },
        "end": {
          "line": 20,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 931,
      "end": 937,
      "loc": {
        "start": {
          "line": 20,
          "column": 25
        },
        "end": {
          "line": 20,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 938,
      "end": 941,
      "loc": {
        "start": {
          "line": 20,
          "column": 32
        },
        "end": {
          "line": 20,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "PolylineHandler",
      "start": 942,
      "end": 957,
      "loc": {
        "start": {
          "line": 20,
          "column": 36
        },
        "end": {
          "line": 20,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 957,
      "end": 958,
      "loc": {
        "start": {
          "line": 20,
          "column": 51
        },
        "end": {
          "line": 20,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sketcher",
      "start": 958,
      "end": 966,
      "loc": {
        "start": {
          "line": 20,
          "column": 52
        },
        "end": {
          "line": 20,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 966,
      "end": 967,
      "loc": {
        "start": {
          "line": 20,
          "column": 60
        },
        "end": {
          "line": 20,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 968,
      "end": 972,
      "loc": {
        "start": {
          "line": 20,
          "column": 62
        },
        "end": {
          "line": 20,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 972,
      "end": 973,
      "loc": {
        "start": {
          "line": 20,
          "column": 66
        },
        "end": {
          "line": 20,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 973,
      "end": 974,
      "loc": {
        "start": {
          "line": 20,
          "column": 67
        },
        "end": {
          "line": 20,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": "case",
        "keyword": "case",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "case",
      "start": 983,
      "end": 987,
      "loc": {
        "start": {
          "line": 21,
          "column": 8
        },
        "end": {
          "line": 21,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "angle",
      "start": 988,
      "end": 995,
      "loc": {
        "start": {
          "line": 21,
          "column": 13
        },
        "end": {
          "line": 21,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 995,
      "end": 996,
      "loc": {
        "start": {
          "line": 21,
          "column": 20
        },
        "end": {
          "line": 21,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 997,
      "end": 1003,
      "loc": {
        "start": {
          "line": 21,
          "column": 22
        },
        "end": {
          "line": 21,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 1004,
      "end": 1007,
      "loc": {
        "start": {
          "line": 21,
          "column": 29
        },
        "end": {
          "line": 21,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "AngleHandler",
      "start": 1008,
      "end": 1020,
      "loc": {
        "start": {
          "line": 21,
          "column": 33
        },
        "end": {
          "line": 21,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1020,
      "end": 1021,
      "loc": {
        "start": {
          "line": 21,
          "column": 45
        },
        "end": {
          "line": 21,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sketcher",
      "start": 1021,
      "end": 1029,
      "loc": {
        "start": {
          "line": 21,
          "column": 46
        },
        "end": {
          "line": 21,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1029,
      "end": 1030,
      "loc": {
        "start": {
          "line": 21,
          "column": 54
        },
        "end": {
          "line": 21,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 1031,
      "end": 1035,
      "loc": {
        "start": {
          "line": 21,
          "column": 56
        },
        "end": {
          "line": 21,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1035,
      "end": 1036,
      "loc": {
        "start": {
          "line": 21,
          "column": 60
        },
        "end": {
          "line": 21,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1036,
      "end": 1037,
      "loc": {
        "start": {
          "line": 21,
          "column": 61
        },
        "end": {
          "line": 21,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1042,
      "end": 1043,
      "loc": {
        "start": {
          "line": 22,
          "column": 4
        },
        "end": {
          "line": 22,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1044,
      "end": 1045,
      "loc": {
        "start": {
          "line": 23,
          "column": 0
        },
        "end": {
          "line": 23,
          "column": 1
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Support hot reloading",
      "start": 1047,
      "end": 1071,
      "loc": {
        "start": {
          "line": 25,
          "column": 0
        },
        "end": {
          "line": 25,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 1072,
      "end": 1074,
      "loc": {
        "start": {
          "line": 26,
          "column": 0
        },
        "end": {
          "line": 26,
          "column": 2
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1075,
      "end": 1076,
      "loc": {
        "start": {
          "line": 26,
          "column": 3
        },
        "end": {
          "line": 26,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "module",
      "start": 1076,
      "end": 1082,
      "loc": {
        "start": {
          "line": 26,
          "column": 4
        },
        "end": {
          "line": 26,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1082,
      "end": 1083,
      "loc": {
        "start": {
          "line": 26,
          "column": 10
        },
        "end": {
          "line": 26,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hot",
      "start": 1083,
      "end": 1086,
      "loc": {
        "start": {
          "line": 26,
          "column": 11
        },
        "end": {
          "line": 26,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1086,
      "end": 1087,
      "loc": {
        "start": {
          "line": 26,
          "column": 14
        },
        "end": {
          "line": 26,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "module",
      "start": 1092,
      "end": 1098,
      "loc": {
        "start": {
          "line": 27,
          "column": 4
        },
        "end": {
          "line": 27,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1098,
      "end": 1099,
      "loc": {
        "start": {
          "line": 27,
          "column": 10
        },
        "end": {
          "line": 27,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hot",
      "start": 1099,
      "end": 1102,
      "loc": {
        "start": {
          "line": 27,
          "column": 11
        },
        "end": {
          "line": 27,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1102,
      "end": 1103,
      "loc": {
        "start": {
          "line": 27,
          "column": 14
        },
        "end": {
          "line": 27,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "accept",
      "start": 1103,
      "end": 1109,
      "loc": {
        "start": {
          "line": 27,
          "column": 15
        },
        "end": {
          "line": 27,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1109,
      "end": 1110,
      "loc": {
        "start": {
          "line": 27,
          "column": 21
        },
        "end": {
          "line": 27,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1110,
      "end": 1111,
      "loc": {
        "start": {
          "line": 27,
          "column": 22
        },
        "end": {
          "line": 27,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./drag",
      "start": 1111,
      "end": 1119,
      "loc": {
        "start": {
          "line": 27,
          "column": 23
        },
        "end": {
          "line": 27,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1119,
      "end": 1120,
      "loc": {
        "start": {
          "line": 27,
          "column": 31
        },
        "end": {
          "line": 27,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./point",
      "start": 1121,
      "end": 1130,
      "loc": {
        "start": {
          "line": 27,
          "column": 33
        },
        "end": {
          "line": 27,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1130,
      "end": 1131,
      "loc": {
        "start": {
          "line": 27,
          "column": 42
        },
        "end": {
          "line": 27,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./line",
      "start": 1132,
      "end": 1140,
      "loc": {
        "start": {
          "line": 27,
          "column": 44
        },
        "end": {
          "line": 27,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1140,
      "end": 1141,
      "loc": {
        "start": {
          "line": 27,
          "column": 52
        },
        "end": {
          "line": 27,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./arccenter",
      "start": 1142,
      "end": 1155,
      "loc": {
        "start": {
          "line": 27,
          "column": 54
        },
        "end": {
          "line": 27,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1155,
      "end": 1156,
      "loc": {
        "start": {
          "line": 27,
          "column": 67
        },
        "end": {
          "line": 27,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./arccontrol",
      "start": 1157,
      "end": 1171,
      "loc": {
        "start": {
          "line": 27,
          "column": 69
        },
        "end": {
          "line": 27,
          "column": 83
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1171,
      "end": 1172,
      "loc": {
        "start": {
          "line": 27,
          "column": 83
        },
        "end": {
          "line": 27,
          "column": 84
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./arcmiddle",
      "start": 1173,
      "end": 1186,
      "loc": {
        "start": {
          "line": 27,
          "column": 85
        },
        "end": {
          "line": 27,
          "column": 98
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1186,
      "end": 1187,
      "loc": {
        "start": {
          "line": 27,
          "column": 98
        },
        "end": {
          "line": 27,
          "column": 99
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./arctangent",
      "start": 1188,
      "end": 1202,
      "loc": {
        "start": {
          "line": 27,
          "column": 100
        },
        "end": {
          "line": 27,
          "column": 114
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1202,
      "end": 1203,
      "loc": {
        "start": {
          "line": 27,
          "column": 114
        },
        "end": {
          "line": 27,
          "column": 115
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./polyline",
      "start": 1204,
      "end": 1216,
      "loc": {
        "start": {
          "line": 27,
          "column": 116
        },
        "end": {
          "line": 27,
          "column": 128
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1216,
      "end": 1217,
      "loc": {
        "start": {
          "line": 27,
          "column": 128
        },
        "end": {
          "line": 27,
          "column": 129
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./angle",
      "start": 1218,
      "end": 1227,
      "loc": {
        "start": {
          "line": 27,
          "column": 130
        },
        "end": {
          "line": 27,
          "column": 139
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1227,
      "end": 1228,
      "loc": {
        "start": {
          "line": 27,
          "column": 139
        },
        "end": {
          "line": 27,
          "column": 140
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1228,
      "end": 1229,
      "loc": {
        "start": {
          "line": 27,
          "column": 140
        },
        "end": {
          "line": 27,
          "column": 141
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1229,
      "end": 1230,
      "loc": {
        "start": {
          "line": 27,
          "column": 141
        },
        "end": {
          "line": 27,
          "column": 142
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1230,
      "end": 1231,
      "loc": {
        "start": {
          "line": 27,
          "column": 142
        },
        "end": {
          "line": 27,
          "column": 143
        }
      }
    },
    {
      "type": {
        "label": "eof",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1232,
      "end": 1232,
      "loc": {
        "start": {
          "line": 28,
          "column": 0
        },
        "end": {
          "line": 28,
          "column": 0
        }
      }
    }
  ]
}