{
  "type": "File",
  "start": 0,
  "end": 3005,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 87,
      "column": 0
    }
  },
  "program": {
    "type": "Program",
    "start": 0,
    "end": 3005,
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 87,
        "column": 0
      }
    },
    "sourceType": "module",
    "body": [
      {
        "type": "ImportDeclaration",
        "start": 0,
        "end": 45,
        "loc": {
          "start": {
            "line": 1,
            "column": 0
          },
          "end": {
            "line": 1,
            "column": 45
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 7,
            "end": 14,
            "loc": {
              "start": {
                "line": 1,
                "column": 7
              },
              "end": {
                "line": 1,
                "column": 14
              }
            },
            "local": {
              "type": "Identifier",
              "start": 7,
              "end": 14,
              "loc": {
                "start": {
                  "line": 1,
                  "column": 7
                },
                "end": {
                  "line": 1,
                  "column": 14
                },
                "identifierName": "Object3"
              },
              "name": "Object3"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 20,
          "end": 44,
          "loc": {
            "start": {
              "line": 1,
              "column": 20
            },
            "end": {
              "line": 1,
              "column": 44
            }
          },
          "extra": {
            "rawValue": "../../../three/object3",
            "raw": "'../../../three/object3'"
          },
          "value": "../../../three/object3"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 46,
        "end": 83,
        "loc": {
          "start": {
            "line": 2,
            "column": 0
          },
          "end": {
            "line": 2,
            "column": 37
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 53,
            "end": 62,
            "loc": {
              "start": {
                "line": 2,
                "column": 7
              },
              "end": {
                "line": 2,
                "column": 16
              }
            },
            "local": {
              "type": "Identifier",
              "start": 53,
              "end": 62,
              "loc": {
                "start": {
                  "line": 2,
                  "column": 7
                },
                "end": {
                  "line": 2,
                  "column": 16
                },
                "identifierName": "Ccfuturef"
              },
              "name": "Ccfuturef"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 68,
          "end": 82,
          "loc": {
            "start": {
              "line": 2,
              "column": 22
            },
            "end": {
              "line": 2,
              "column": 36
            }
          },
          "extra": {
            "rawValue": "../ccfuturef",
            "raw": "'../ccfuturef'"
          },
          "value": "../ccfuturef"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 84,
        "end": 113,
        "loc": {
          "start": {
            "line": 3,
            "column": 0
          },
          "end": {
            "line": 3,
            "column": 29
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 91,
            "end": 96,
            "loc": {
              "start": {
                "line": 3,
                "column": 7
              },
              "end": {
                "line": 3,
                "column": 12
              }
            },
            "local": {
              "type": "Identifier",
              "start": 91,
              "end": 96,
              "loc": {
                "start": {
                  "line": 3,
                  "column": 7
                },
                "end": {
                  "line": 3,
                  "column": 12
                },
                "identifierName": "Ccref"
              },
              "name": "Ccref"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 102,
          "end": 112,
          "loc": {
            "start": {
              "line": 3,
              "column": 18
            },
            "end": {
              "line": 3,
              "column": 28
            }
          },
          "extra": {
            "rawValue": "../ccref",
            "raw": "'../ccref'"
          },
          "value": "../ccref"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 114,
        "end": 162,
        "loc": {
          "start": {
            "line": 4,
            "column": 0
          },
          "end": {
            "line": 4,
            "column": 48
          }
        },
        "specifiers": [
          {
            "type": "ImportSpecifier",
            "start": 122,
            "end": 132,
            "loc": {
              "start": {
                "line": 4,
                "column": 8
              },
              "end": {
                "line": 4,
                "column": 18
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 122,
              "end": 132,
              "loc": {
                "start": {
                  "line": 4,
                  "column": 8
                },
                "end": {
                  "line": 4,
                  "column": 18
                },
                "identifierName": "addCommand"
              },
              "name": "addCommand"
            },
            "local": {
              "type": "Identifier",
              "start": 122,
              "end": 132,
              "loc": {
                "start": {
                  "line": 4,
                  "column": 8
                },
                "end": {
                  "line": 4,
                  "column": 18
                },
                "identifierName": "addCommand"
              },
              "name": "addCommand"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 139,
          "end": 161,
          "loc": {
            "start": {
              "line": 4,
              "column": 25
            },
            "end": {
              "line": 4,
              "column": 47
            }
          },
          "extra": {
            "rawValue": "../command/highlevel",
            "raw": "'../command/highlevel'"
          },
          "value": "../command/highlevel"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 163,
        "end": 252,
        "loc": {
          "start": {
            "line": 5,
            "column": 0
          },
          "end": {
            "line": 5,
            "column": 89
          }
        },
        "specifiers": [
          {
            "type": "ImportSpecifier",
            "start": 171,
            "end": 177,
            "loc": {
              "start": {
                "line": 5,
                "column": 8
              },
              "end": {
                "line": 5,
                "column": 14
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 171,
              "end": 177,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 8
                },
                "end": {
                  "line": 5,
                  "column": 14
                },
                "identifierName": "Assign"
              },
              "name": "Assign"
            },
            "local": {
              "type": "Identifier",
              "start": 171,
              "end": 177,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 8
                },
                "end": {
                  "line": 5,
                  "column": 14
                },
                "identifierName": "Assign"
              },
              "name": "Assign"
            }
          },
          {
            "type": "ImportSpecifier",
            "start": 179,
            "end": 187,
            "loc": {
              "start": {
                "line": 5,
                "column": 16
              },
              "end": {
                "line": 5,
                "column": 24
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 179,
              "end": 187,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 16
                },
                "end": {
                  "line": 5,
                  "column": 24
                },
                "identifierName": "IdToReal"
              },
              "name": "IdToReal"
            },
            "local": {
              "type": "Identifier",
              "start": 179,
              "end": 187,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 16
                },
                "end": {
                  "line": 5,
                  "column": 24
                },
                "identifierName": "IdToReal"
              },
              "name": "IdToReal"
            }
          },
          {
            "type": "ImportSpecifier",
            "start": 189,
            "end": 195,
            "loc": {
              "start": {
                "line": 5,
                "column": 26
              },
              "end": {
                "line": 5,
                "column": 32
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 189,
              "end": 195,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 26
                },
                "end": {
                  "line": 5,
                  "column": 32
                },
                "identifierName": "Member"
              },
              "name": "Member"
            },
            "local": {
              "type": "Identifier",
              "start": 189,
              "end": 195,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 26
                },
                "end": {
                  "line": 5,
                  "column": 32
                },
                "identifierName": "Member"
              },
              "name": "Member"
            }
          },
          {
            "type": "ImportSpecifier",
            "start": 197,
            "end": 205,
            "loc": {
              "start": {
                "line": 5,
                "column": 34
              },
              "end": {
                "line": 5,
                "column": 42
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 197,
              "end": 205,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 34
                },
                "end": {
                  "line": 5,
                  "column": 42
                },
                "identifierName": "Variable"
              },
              "name": "Variable"
            },
            "local": {
              "type": "Identifier",
              "start": 197,
              "end": 205,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 34
                },
                "end": {
                  "line": 5,
                  "column": 42
                },
                "identifierName": "Variable"
              },
              "name": "Variable"
            }
          },
          {
            "type": "ImportSpecifier",
            "start": 207,
            "end": 213,
            "loc": {
              "start": {
                "line": 5,
                "column": 44
              },
              "end": {
                "line": 5,
                "column": 50
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 207,
              "end": 213,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 44
                },
                "end": {
                  "line": 5,
                  "column": 50
                },
                "identifierName": "Return"
              },
              "name": "Return"
            },
            "local": {
              "type": "Identifier",
              "start": 207,
              "end": 213,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 44
                },
                "end": {
                  "line": 5,
                  "column": 50
                },
                "identifierName": "Return"
              },
              "name": "Return"
            }
          },
          {
            "type": "ImportSpecifier",
            "start": 215,
            "end": 223,
            "loc": {
              "start": {
                "line": 5,
                "column": 52
              },
              "end": {
                "line": 5,
                "column": 60
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 215,
              "end": 223,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 52
                },
                "end": {
                  "line": 5,
                  "column": 60
                },
                "identifierName": "Sequence"
              },
              "name": "Sequence"
            },
            "local": {
              "type": "Identifier",
              "start": 215,
              "end": 223,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 52
                },
                "end": {
                  "line": 5,
                  "column": 60
                },
                "identifierName": "Sequence"
              },
              "name": "Sequence"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 230,
          "end": 251,
          "loc": {
            "start": {
              "line": 5,
              "column": 67
            },
            "end": {
              "line": 5,
              "column": 88
            }
          },
          "extra": {
            "rawValue": "../command/lowlevel",
            "raw": "'../command/lowlevel'"
          },
          "value": "../command/lowlevel"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 253,
        "end": 298,
        "loc": {
          "start": {
            "line": 6,
            "column": 0
          },
          "end": {
            "line": 6,
            "column": 45
          }
        },
        "specifiers": [
          {
            "type": "ImportSpecifier",
            "start": 261,
            "end": 270,
            "loc": {
              "start": {
                "line": 6,
                "column": 8
              },
              "end": {
                "line": 6,
                "column": 17
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 261,
              "end": 270,
              "loc": {
                "start": {
                  "line": 6,
                  "column": 8
                },
                "end": {
                  "line": 6,
                  "column": 17
                },
                "identifierName": "incidence"
              },
              "name": "incidence"
            },
            "local": {
              "type": "Identifier",
              "start": 261,
              "end": 270,
              "loc": {
                "start": {
                  "line": 6,
                  "column": 8
                },
                "end": {
                  "line": 6,
                  "column": 17
                },
                "identifierName": "incidence"
              },
              "name": "incidence"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 277,
          "end": 297,
          "loc": {
            "start": {
              "line": 6,
              "column": 24
            },
            "end": {
              "line": 6,
              "column": 44
            }
          },
          "extra": {
            "rawValue": "../constraint/type",
            "raw": "'../constraint/type'"
          },
          "value": "../constraint/type"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 299,
        "end": 342,
        "loc": {
          "start": {
            "line": 7,
            "column": 0
          },
          "end": {
            "line": 7,
            "column": 43
          }
        },
        "specifiers": [
          {
            "type": "ImportSpecifier",
            "start": 307,
            "end": 320,
            "loc": {
              "start": {
                "line": 7,
                "column": 8
              },
              "end": {
                "line": 7,
                "column": 21
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 307,
              "end": 320,
              "loc": {
                "start": {
                  "line": 7,
                  "column": 8
                },
                "end": {
                  "line": 7,
                  "column": 21
                },
                "identifierName": "calcSketchPos"
              },
              "name": "calcSketchPos"
            },
            "local": {
              "type": "Identifier",
              "start": 307,
              "end": 320,
              "loc": {
                "start": {
                  "line": 7,
                  "column": 8
                },
                "end": {
                  "line": 7,
                  "column": 21
                },
                "identifierName": "calcSketchPos"
              },
              "name": "calcSketchPos"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 327,
          "end": 341,
          "loc": {
            "start": {
              "line": 7,
              "column": 28
            },
            "end": {
              "line": 7,
              "column": 42
            }
          },
          "extra": {
            "rawValue": "../viewutils",
            "raw": "'../viewutils'"
          },
          "value": "../viewutils"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 343,
        "end": 376,
        "loc": {
          "start": {
            "line": 8,
            "column": 0
          },
          "end": {
            "line": 8,
            "column": 33
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 350,
            "end": 361,
            "loc": {
              "start": {
                "line": 8,
                "column": 7
              },
              "end": {
                "line": 8,
                "column": 18
              }
            },
            "local": {
              "type": "Identifier",
              "start": 350,
              "end": 361,
              "loc": {
                "start": {
                  "line": 8,
                  "column": 7
                },
                "end": {
                  "line": 8,
                  "column": 18
                },
                "identifierName": "DrawHandler"
              },
              "name": "DrawHandler"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 367,
          "end": 375,
          "loc": {
            "start": {
              "line": 8,
              "column": 24
            },
            "end": {
              "line": 8,
              "column": 32
            }
          },
          "extra": {
            "rawValue": "./draw",
            "raw": "'./draw'"
          },
          "value": "./draw"
        }
      },
      {
        "type": "ExportDefaultDeclaration",
        "start": 378,
        "end": 3004,
        "loc": {
          "start": {
            "line": 10,
            "column": 0
          },
          "end": {
            "line": 86,
            "column": 1
          }
        },
        "declaration": {
          "type": "ClassDeclaration",
          "start": 393,
          "end": 3004,
          "loc": {
            "start": {
              "line": 10,
              "column": 15
            },
            "end": {
              "line": 86,
              "column": 1
            }
          },
          "id": {
            "type": "Identifier",
            "start": 399,
            "end": 414,
            "loc": {
              "start": {
                "line": 10,
                "column": 21
              },
              "end": {
                "line": 10,
                "column": 36
              },
              "identifierName": "PolylineHandler"
            },
            "name": "PolylineHandler"
          },
          "superClass": {
            "type": "Identifier",
            "start": 423,
            "end": 434,
            "loc": {
              "start": {
                "line": 10,
                "column": 45
              },
              "end": {
                "line": 10,
                "column": 56
              },
              "identifierName": "DrawHandler"
            },
            "name": "DrawHandler"
          },
          "body": {
            "type": "ClassBody",
            "start": 435,
            "end": 3004,
            "loc": {
              "start": {
                "line": 10,
                "column": 57
              },
              "end": {
                "line": 86,
                "column": 1
              }
            },
            "body": [
              {
                "type": "ClassMethod",
                "start": 441,
                "end": 571,
                "loc": {
                  "start": {
                    "line": 11,
                    "column": 4
                  },
                  "end": {
                    "line": 15,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 441,
                  "end": 452,
                  "loc": {
                    "start": {
                      "line": 11,
                      "column": 4
                    },
                    "end": {
                      "line": 11,
                      "column": 15
                    },
                    "identifierName": "constructor"
                  },
                  "name": "constructor"
                },
                "static": false,
                "kind": "constructor",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 453,
                    "end": 461,
                    "loc": {
                      "start": {
                        "line": 11,
                        "column": 16
                      },
                      "end": {
                        "line": 11,
                        "column": 24
                      },
                      "identifierName": "sketcher"
                    },
                    "name": "sketcher"
                  },
                  {
                    "type": "Identifier",
                    "start": 463,
                    "end": 467,
                    "loc": {
                      "start": {
                        "line": 11,
                        "column": 26
                      },
                      "end": {
                        "line": 11,
                        "column": 30
                      },
                      "identifierName": "type"
                    },
                    "name": "type"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 469,
                  "end": 571,
                  "loc": {
                    "start": {
                      "line": 11,
                      "column": 32
                    },
                    "end": {
                      "line": 15,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 479,
                      "end": 501,
                      "loc": {
                        "start": {
                          "line": 12,
                          "column": 8
                        },
                        "end": {
                          "line": 12,
                          "column": 30
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 479,
                        "end": 500,
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 8
                          },
                          "end": {
                            "line": 12,
                            "column": 29
                          }
                        },
                        "callee": {
                          "type": "Super",
                          "start": 479,
                          "end": 484,
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 8
                            },
                            "end": {
                              "line": 12,
                              "column": 13
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 485,
                            "end": 493,
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 14
                              },
                              "end": {
                                "line": 12,
                                "column": 22
                              },
                              "identifierName": "sketcher"
                            },
                            "name": "sketcher"
                          },
                          {
                            "type": "Identifier",
                            "start": 495,
                            "end": 499,
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 24
                              },
                              "end": {
                                "line": 12,
                                "column": 28
                              },
                              "identifierName": "type"
                            },
                            "name": "type"
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 510,
                      "end": 532,
                      "loc": {
                        "start": {
                          "line": 13,
                          "column": 8
                        },
                        "end": {
                          "line": 13,
                          "column": 30
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 510,
                        "end": 531,
                        "loc": {
                          "start": {
                            "line": 13,
                            "column": 8
                          },
                          "end": {
                            "line": 13,
                            "column": 29
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 510,
                          "end": 524,
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 8
                            },
                            "end": {
                              "line": 13,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 510,
                            "end": 514,
                            "loc": {
                              "start": {
                                "line": 13,
                                "column": 8
                              },
                              "end": {
                                "line": 13,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 515,
                            "end": 524,
                            "loc": {
                              "start": {
                                "line": 13,
                                "column": 13
                              },
                              "end": {
                                "line": 13,
                                "column": 22
                              },
                              "identifierName": "lastPoint"
                            },
                            "name": "lastPoint"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NullLiteral",
                          "start": 527,
                          "end": 531,
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 25
                            },
                            "end": {
                              "line": 13,
                              "column": 29
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 541,
                      "end": 565,
                      "loc": {
                        "start": {
                          "line": 14,
                          "column": 8
                        },
                        "end": {
                          "line": 14,
                          "column": 32
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 541,
                        "end": 564,
                        "loc": {
                          "start": {
                            "line": 14,
                            "column": 8
                          },
                          "end": {
                            "line": 14,
                            "column": 31
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 541,
                          "end": 557,
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 8
                            },
                            "end": {
                              "line": 14,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 541,
                            "end": 545,
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 8
                              },
                              "end": {
                                "line": 14,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 546,
                            "end": 557,
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 13
                              },
                              "end": {
                                "line": 14,
                                "column": 24
                              },
                              "identifierName": "edgeHandler"
                            },
                            "name": "edgeHandler"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NullLiteral",
                          "start": 560,
                          "end": 564,
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 27
                            },
                            "end": {
                              "line": 14,
                              "column": 31
                            }
                          }
                        }
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 577,
                "end": 661,
                "loc": {
                  "start": {
                    "line": 17,
                    "column": 4
                  },
                  "end": {
                    "line": 20,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 577,
                  "end": 584,
                  "loc": {
                    "start": {
                      "line": 17,
                      "column": 4
                    },
                    "end": {
                      "line": 17,
                      "column": 11
                    },
                    "identifierName": "destroy"
                  },
                  "name": "destroy"
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 585,
                    "end": 592,
                    "loc": {
                      "start": {
                        "line": 17,
                        "column": 12
                      },
                      "end": {
                        "line": 17,
                        "column": 19
                      },
                      "identifierName": "options"
                    },
                    "name": "options"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 594,
                  "end": 661,
                  "loc": {
                    "start": {
                      "line": 17,
                      "column": 21
                    },
                    "end": {
                      "line": 20,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 604,
                      "end": 630,
                      "loc": {
                        "start": {
                          "line": 18,
                          "column": 8
                        },
                        "end": {
                          "line": 18,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 604,
                        "end": 629,
                        "loc": {
                          "start": {
                            "line": 18,
                            "column": 8
                          },
                          "end": {
                            "line": 18,
                            "column": 33
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 604,
                          "end": 623,
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 8
                            },
                            "end": {
                              "line": 18,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 604,
                            "end": 608,
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 8
                              },
                              "end": {
                                "line": 18,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 609,
                            "end": 623,
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 13
                              },
                              "end": {
                                "line": 18,
                                "column": 27
                              },
                              "identifierName": "setEdgeHandler"
                            },
                            "name": "setEdgeHandler"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "NullLiteral",
                            "start": 624,
                            "end": 628,
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 28
                              },
                              "end": {
                                "line": 18,
                                "column": 32
                              }
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 639,
                      "end": 655,
                      "loc": {
                        "start": {
                          "line": 19,
                          "column": 8
                        },
                        "end": {
                          "line": 19,
                          "column": 24
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 639,
                        "end": 654,
                        "loc": {
                          "start": {
                            "line": 19,
                            "column": 8
                          },
                          "end": {
                            "line": 19,
                            "column": 23
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 639,
                          "end": 652,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 8
                            },
                            "end": {
                              "line": 19,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "Super",
                            "start": 639,
                            "end": 644,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 8
                              },
                              "end": {
                                "line": 19,
                                "column": 13
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 645,
                            "end": 652,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 14
                              },
                              "end": {
                                "line": 19,
                                "column": 21
                              },
                              "identifierName": "destroy"
                            },
                            "name": "destroy"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 667,
                "end": 745,
                "loc": {
                  "start": {
                    "line": 22,
                    "column": 4
                  },
                  "end": {
                    "line": 24,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 671,
                  "end": 683,
                  "loc": {
                    "start": {
                      "line": 22,
                      "column": 8
                    },
                    "end": {
                      "line": 22,
                      "column": 20
                    },
                    "identifierName": "restrictions"
                  },
                  "name": "restrictions"
                },
                "static": false,
                "kind": "get",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 686,
                  "end": 745,
                  "loc": {
                    "start": {
                      "line": 22,
                      "column": 23
                    },
                    "end": {
                      "line": 24,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 696,
                      "end": 739,
                      "loc": {
                        "start": {
                          "line": 23,
                          "column": 8
                        },
                        "end": {
                          "line": 23,
                          "column": 51
                        }
                      },
                      "argument": {
                        "type": "LogicalExpression",
                        "start": 703,
                        "end": 738,
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 15
                          },
                          "end": {
                            "line": 23,
                            "column": 50
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 703,
                          "end": 732,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 15
                            },
                            "end": {
                              "line": 23,
                              "column": 44
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 703,
                            "end": 719,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 15
                              },
                              "end": {
                                "line": 23,
                                "column": 31
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 703,
                              "end": 707,
                              "loc": {
                                "start": {
                                  "line": 23,
                                  "column": 15
                                },
                                "end": {
                                  "line": 23,
                                  "column": 19
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 708,
                              "end": 719,
                              "loc": {
                                "start": {
                                  "line": 23,
                                  "column": 20
                                },
                                "end": {
                                  "line": 23,
                                  "column": 31
                                },
                                "identifierName": "edgeHandler"
                              },
                              "name": "edgeHandler"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 720,
                            "end": 732,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 32
                              },
                              "end": {
                                "line": 23,
                                "column": 44
                              },
                              "identifierName": "restrictions"
                            },
                            "name": "restrictions"
                          },
                          "computed": false
                        },
                        "operator": "||",
                        "right": {
                          "type": "ObjectExpression",
                          "start": 736,
                          "end": 738,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 48
                            },
                            "end": {
                              "line": 23,
                              "column": 50
                            }
                          },
                          "properties": []
                        }
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 751,
                "end": 863,
                "loc": {
                  "start": {
                    "line": 26,
                    "column": 4
                  },
                  "end": {
                    "line": 29,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 755,
                  "end": 767,
                  "loc": {
                    "start": {
                      "line": 26,
                      "column": 8
                    },
                    "end": {
                      "line": 26,
                      "column": 20
                    },
                    "identifierName": "restrictions"
                  },
                  "name": "restrictions"
                },
                "static": false,
                "kind": "set",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 768,
                    "end": 773,
                    "loc": {
                      "start": {
                        "line": 26,
                        "column": 21
                      },
                      "end": {
                        "line": 26,
                        "column": 26
                      },
                      "identifierName": "value"
                    },
                    "name": "value"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 775,
                  "end": 863,
                  "loc": {
                    "start": {
                      "line": 26,
                      "column": 28
                    },
                    "end": {
                      "line": 29,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 785,
                      "end": 857,
                      "loc": {
                        "start": {
                          "line": 27,
                          "column": 8
                        },
                        "end": {
                          "line": 28,
                          "column": 50
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 789,
                        "end": 805,
                        "loc": {
                          "start": {
                            "line": 27,
                            "column": 12
                          },
                          "end": {
                            "line": 27,
                            "column": 28
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 789,
                          "end": 793,
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 12
                            },
                            "end": {
                              "line": 27,
                              "column": 16
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 794,
                          "end": 805,
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 17
                            },
                            "end": {
                              "line": 27,
                              "column": 28
                            },
                            "identifierName": "edgeHandler"
                          },
                          "name": "edgeHandler"
                        },
                        "computed": false
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 819,
                        "end": 857,
                        "loc": {
                          "start": {
                            "line": 28,
                            "column": 12
                          },
                          "end": {
                            "line": 28,
                            "column": 50
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 819,
                          "end": 856,
                          "loc": {
                            "start": {
                              "line": 28,
                              "column": 12
                            },
                            "end": {
                              "line": 28,
                              "column": 49
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "MemberExpression",
                            "start": 819,
                            "end": 848,
                            "loc": {
                              "start": {
                                "line": 28,
                                "column": 12
                              },
                              "end": {
                                "line": 28,
                                "column": 41
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 819,
                              "end": 835,
                              "loc": {
                                "start": {
                                  "line": 28,
                                  "column": 12
                                },
                                "end": {
                                  "line": 28,
                                  "column": 28
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 819,
                                "end": 823,
                                "loc": {
                                  "start": {
                                    "line": 28,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 28,
                                    "column": 16
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 824,
                                "end": 835,
                                "loc": {
                                  "start": {
                                    "line": 28,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 28,
                                    "column": 28
                                  },
                                  "identifierName": "edgeHandler"
                                },
                                "name": "edgeHandler"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 836,
                              "end": 848,
                              "loc": {
                                "start": {
                                  "line": 28,
                                  "column": 29
                                },
                                "end": {
                                  "line": 28,
                                  "column": 41
                                },
                                "identifierName": "restrictions"
                              },
                              "name": "restrictions"
                            },
                            "computed": false
                          },
                          "right": {
                            "type": "Identifier",
                            "start": 851,
                            "end": 856,
                            "loc": {
                              "start": {
                                "line": 28,
                                "column": 44
                              },
                              "end": {
                                "line": 28,
                                "column": 49
                              },
                              "identifierName": "value"
                            },
                            "name": "value"
                          }
                        }
                      },
                      "alternate": null
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 869,
                "end": 1282,
                "loc": {
                  "start": {
                    "line": 31,
                    "column": 4
                  },
                  "end": {
                    "line": 40,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 869,
                  "end": 883,
                  "loc": {
                    "start": {
                      "line": 31,
                      "column": 4
                    },
                    "end": {
                      "line": 31,
                      "column": 18
                    },
                    "identifierName": "setEdgeHandler"
                  },
                  "name": "setEdgeHandler"
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 884,
                    "end": 895,
                    "loc": {
                      "start": {
                        "line": 31,
                        "column": 19
                      },
                      "end": {
                        "line": 31,
                        "column": 30
                      },
                      "identifierName": "edgeHandler"
                    },
                    "name": "edgeHandler"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 897,
                  "end": 1282,
                  "loc": {
                    "start": {
                      "line": 31,
                      "column": 32
                    },
                    "end": {
                      "line": 40,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 970,
                      "end": 1051,
                      "loc": {
                        "start": {
                          "line": 33,
                          "column": 8
                        },
                        "end": {
                          "line": 34,
                          "column": 59
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 974,
                        "end": 990,
                        "loc": {
                          "start": {
                            "line": 33,
                            "column": 12
                          },
                          "end": {
                            "line": 33,
                            "column": 28
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 974,
                          "end": 978,
                          "loc": {
                            "start": {
                              "line": 33,
                              "column": 12
                            },
                            "end": {
                              "line": 33,
                              "column": 16
                            }
                          },
                          "leadingComments": null
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 979,
                          "end": 990,
                          "loc": {
                            "start": {
                              "line": 33,
                              "column": 17
                            },
                            "end": {
                              "line": 33,
                              "column": 28
                            },
                            "identifierName": "edgeHandler"
                          },
                          "name": "edgeHandler"
                        },
                        "computed": false,
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 1004,
                        "end": 1051,
                        "loc": {
                          "start": {
                            "line": 34,
                            "column": 12
                          },
                          "end": {
                            "line": 34,
                            "column": 59
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 1004,
                          "end": 1050,
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 12
                            },
                            "end": {
                              "line": 34,
                              "column": 58
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1004,
                            "end": 1028,
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 12
                              },
                              "end": {
                                "line": 34,
                                "column": 36
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 1004,
                              "end": 1020,
                              "loc": {
                                "start": {
                                  "line": 34,
                                  "column": 12
                                },
                                "end": {
                                  "line": 34,
                                  "column": 28
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 1004,
                                "end": 1008,
                                "loc": {
                                  "start": {
                                    "line": 34,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 34,
                                    "column": 16
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1009,
                                "end": 1020,
                                "loc": {
                                  "start": {
                                    "line": 34,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 34,
                                    "column": 28
                                  },
                                  "identifierName": "edgeHandler"
                                },
                                "name": "edgeHandler"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1021,
                              "end": 1028,
                              "loc": {
                                "start": {
                                  "line": 34,
                                  "column": 29
                                },
                                "end": {
                                  "line": 34,
                                  "column": 36
                                },
                                "identifierName": "destroy"
                              },
                              "name": "destroy"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ObjectExpression",
                              "start": 1029,
                              "end": 1049,
                              "loc": {
                                "start": {
                                  "line": 34,
                                  "column": 37
                                },
                                "end": {
                                  "line": 34,
                                  "column": 57
                                }
                              },
                              "properties": [
                                {
                                  "type": "ObjectProperty",
                                  "start": 1030,
                                  "end": 1048,
                                  "loc": {
                                    "start": {
                                      "line": 34,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 34,
                                      "column": 56
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 1030,
                                    "end": 1041,
                                    "loc": {
                                      "start": {
                                        "line": 34,
                                        "column": 38
                                      },
                                      "end": {
                                        "line": 34,
                                        "column": 49
                                      },
                                      "identifierName": "interaction"
                                    },
                                    "name": "interaction"
                                  },
                                  "value": {
                                    "type": "BooleanLiteral",
                                    "start": 1043,
                                    "end": 1048,
                                    "loc": {
                                      "start": {
                                        "line": 34,
                                        "column": 51
                                      },
                                      "end": {
                                        "line": 34,
                                        "column": 56
                                      }
                                    },
                                    "value": false
                                  }
                                }
                              ]
                            }
                          ]
                        }
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " don't destroy sketch interaction because we need it",
                          "start": 907,
                          "end": 961,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 8
                            },
                            "end": {
                              "line": 32,
                              "column": 62
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1060,
                      "end": 1091,
                      "loc": {
                        "start": {
                          "line": 35,
                          "column": 8
                        },
                        "end": {
                          "line": 35,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1060,
                        "end": 1090,
                        "loc": {
                          "start": {
                            "line": 35,
                            "column": 8
                          },
                          "end": {
                            "line": 35,
                            "column": 38
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1060,
                          "end": 1076,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 8
                            },
                            "end": {
                              "line": 35,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1060,
                            "end": 1064,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 8
                              },
                              "end": {
                                "line": 35,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1065,
                            "end": 1076,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 13
                              },
                              "end": {
                                "line": 35,
                                "column": 24
                              },
                              "identifierName": "edgeHandler"
                            },
                            "name": "edgeHandler"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 1079,
                          "end": 1090,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 27
                            },
                            "end": {
                              "line": 35,
                              "column": 38
                            },
                            "identifierName": "edgeHandler"
                          },
                          "name": "edgeHandler"
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 1100,
                      "end": 1182,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 8
                        },
                        "end": {
                          "line": 37,
                          "column": 65
                        }
                      },
                      "test": {
                        "type": "Identifier",
                        "start": 1104,
                        "end": 1115,
                        "loc": {
                          "start": {
                            "line": 36,
                            "column": 12
                          },
                          "end": {
                            "line": 36,
                            "column": 23
                          },
                          "identifierName": "edgeHandler"
                        },
                        "name": "edgeHandler"
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 1129,
                        "end": 1182,
                        "loc": {
                          "start": {
                            "line": 37,
                            "column": 12
                          },
                          "end": {
                            "line": 37,
                            "column": 65
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 1129,
                          "end": 1181,
                          "loc": {
                            "start": {
                              "line": 37,
                              "column": 12
                            },
                            "end": {
                              "line": 37,
                              "column": 64
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1129,
                            "end": 1159,
                            "loc": {
                              "start": {
                                "line": 37,
                                "column": 12
                              },
                              "end": {
                                "line": 37,
                                "column": 42
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1129,
                              "end": 1140,
                              "loc": {
                                "start": {
                                  "line": 37,
                                  "column": 12
                                },
                                "end": {
                                  "line": 37,
                                  "column": 23
                                },
                                "identifierName": "edgeHandler"
                              },
                              "name": "edgeHandler"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1141,
                              "end": 1159,
                              "loc": {
                                "start": {
                                  "line": 37,
                                  "column": 24
                                },
                                "end": {
                                  "line": 37,
                                  "column": 42
                                },
                                "identifierName": "removeInteractions"
                              },
                              "name": "removeInteractions"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ObjectExpression",
                              "start": 1160,
                              "end": 1180,
                              "loc": {
                                "start": {
                                  "line": 37,
                                  "column": 43
                                },
                                "end": {
                                  "line": 37,
                                  "column": 63
                                }
                              },
                              "properties": [
                                {
                                  "type": "ObjectProperty",
                                  "start": 1161,
                                  "end": 1179,
                                  "loc": {
                                    "start": {
                                      "line": 37,
                                      "column": 44
                                    },
                                    "end": {
                                      "line": 37,
                                      "column": 62
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 1161,
                                    "end": 1172,
                                    "loc": {
                                      "start": {
                                        "line": 37,
                                        "column": 44
                                      },
                                      "end": {
                                        "line": 37,
                                        "column": 55
                                      },
                                      "identifierName": "interaction"
                                    },
                                    "name": "interaction"
                                  },
                                  "value": {
                                    "type": "BooleanLiteral",
                                    "start": 1174,
                                    "end": 1179,
                                    "loc": {
                                      "start": {
                                        "line": 37,
                                        "column": 57
                                      },
                                      "end": {
                                        "line": 37,
                                        "column": 62
                                      }
                                    },
                                    "value": false
                                  }
                                }
                              ]
                            }
                          ]
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 1191,
                      "end": 1276,
                      "loc": {
                        "start": {
                          "line": 38,
                          "column": 8
                        },
                        "end": {
                          "line": 39,
                          "column": 50
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 1195,
                        "end": 1224,
                        "loc": {
                          "start": {
                            "line": 38,
                            "column": 12
                          },
                          "end": {
                            "line": 38,
                            "column": 41
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 1195,
                          "end": 1206,
                          "loc": {
                            "start": {
                              "line": 38,
                              "column": 12
                            },
                            "end": {
                              "line": 38,
                              "column": 23
                            },
                            "identifierName": "edgeHandler"
                          },
                          "name": "edgeHandler"
                        },
                        "operator": "&&",
                        "right": {
                          "type": "MemberExpression",
                          "start": 1210,
                          "end": 1224,
                          "loc": {
                            "start": {
                              "line": 38,
                              "column": 27
                            },
                            "end": {
                              "line": 38,
                              "column": 41
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1210,
                            "end": 1214,
                            "loc": {
                              "start": {
                                "line": 38,
                                "column": 27
                              },
                              "end": {
                                "line": 38,
                                "column": 31
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1215,
                            "end": 1224,
                            "loc": {
                              "start": {
                                "line": 38,
                                "column": 32
                              },
                              "end": {
                                "line": 38,
                                "column": 41
                              },
                              "identifierName": "lastPoint"
                            },
                            "name": "lastPoint"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 1238,
                        "end": 1276,
                        "loc": {
                          "start": {
                            "line": 39,
                            "column": 12
                          },
                          "end": {
                            "line": 39,
                            "column": 50
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 1238,
                          "end": 1275,
                          "loc": {
                            "start": {
                              "line": 39,
                              "column": 12
                            },
                            "end": {
                              "line": 39,
                              "column": 49
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1238,
                            "end": 1255,
                            "loc": {
                              "start": {
                                "line": 39,
                                "column": 12
                              },
                              "end": {
                                "line": 39,
                                "column": 29
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1238,
                              "end": 1249,
                              "loc": {
                                "start": {
                                  "line": 39,
                                  "column": 12
                                },
                                "end": {
                                  "line": 39,
                                  "column": 23
                                },
                                "identifierName": "edgeHandler"
                              },
                              "name": "edgeHandler"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1250,
                              "end": 1255,
                              "loc": {
                                "start": {
                                  "line": 39,
                                  "column": 24
                                },
                                "end": {
                                  "line": 39,
                                  "column": 29
                                },
                                "identifierName": "click"
                              },
                              "name": "click"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 1256,
                              "end": 1274,
                              "loc": {
                                "start": {
                                  "line": 39,
                                  "column": 30
                                },
                                "end": {
                                  "line": 39,
                                  "column": 48
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 1256,
                                "end": 1270,
                                "loc": {
                                  "start": {
                                    "line": 39,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 39,
                                    "column": 44
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 1256,
                                  "end": 1260,
                                  "loc": {
                                    "start": {
                                      "line": 39,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 39,
                                      "column": 34
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1261,
                                  "end": 1270,
                                  "loc": {
                                    "start": {
                                      "line": 39,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 39,
                                      "column": 44
                                    },
                                    "identifierName": "lastPoint"
                                  },
                                  "name": "lastPoint"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1271,
                                "end": 1274,
                                "loc": {
                                  "start": {
                                    "line": 39,
                                    "column": 45
                                  },
                                  "end": {
                                    "line": 39,
                                    "column": 48
                                  },
                                  "identifierName": "pos"
                                },
                                "name": "pos"
                              },
                              "computed": false
                            }
                          ]
                        }
                      },
                      "alternate": null
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 1288,
                "end": 1389,
                "loc": {
                  "start": {
                    "line": 42,
                    "column": 4
                  },
                  "end": {
                    "line": 45,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1288,
                  "end": 1292,
                  "loc": {
                    "start": {
                      "line": 42,
                      "column": 4
                    },
                    "end": {
                      "line": 42,
                      "column": 8
                    },
                    "identifierName": "move"
                  },
                  "name": "move"
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 1293,
                    "end": 1301,
                    "loc": {
                      "start": {
                        "line": 42,
                        "column": 9
                      },
                      "end": {
                        "line": 42,
                        "column": 17
                      },
                      "identifierName": "position"
                    },
                    "name": "position"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 1303,
                  "end": 1389,
                  "loc": {
                    "start": {
                      "line": 42,
                      "column": 19
                    },
                    "end": {
                      "line": 45,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 1313,
                      "end": 1383,
                      "loc": {
                        "start": {
                          "line": 43,
                          "column": 8
                        },
                        "end": {
                          "line": 44,
                          "column": 44
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 1317,
                        "end": 1337,
                        "loc": {
                          "start": {
                            "line": 43,
                            "column": 12
                          },
                          "end": {
                            "line": 43,
                            "column": 32
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "CallExpression",
                          "start": 1318,
                          "end": 1337,
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 13
                            },
                            "end": {
                              "line": 43,
                              "column": 32
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1318,
                            "end": 1335,
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 13
                              },
                              "end": {
                                "line": 43,
                                "column": 30
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 1318,
                              "end": 1328,
                              "loc": {
                                "start": {
                                  "line": 43,
                                  "column": 13
                                },
                                "end": {
                                  "line": 43,
                                  "column": 23
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 1318,
                                "end": 1322,
                                "loc": {
                                  "start": {
                                    "line": 43,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 43,
                                    "column": 17
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1323,
                                "end": 1328,
                                "loc": {
                                  "start": {
                                    "line": 43,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 43,
                                    "column": 23
                                  },
                                  "identifierName": "queue"
                                },
                                "name": "queue"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1329,
                              "end": 1335,
                              "loc": {
                                "start": {
                                  "line": 43,
                                  "column": 24
                                },
                                "end": {
                                  "line": 43,
                                  "column": 30
                                },
                                "identifierName": "isBusy"
                              },
                              "name": "isBusy"
                            },
                            "computed": false
                          },
                          "arguments": []
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 1351,
                        "end": 1383,
                        "loc": {
                          "start": {
                            "line": 44,
                            "column": 12
                          },
                          "end": {
                            "line": 44,
                            "column": 44
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 1351,
                          "end": 1382,
                          "loc": {
                            "start": {
                              "line": 44,
                              "column": 12
                            },
                            "end": {
                              "line": 44,
                              "column": 43
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1351,
                            "end": 1372,
                            "loc": {
                              "start": {
                                "line": 44,
                                "column": 12
                              },
                              "end": {
                                "line": 44,
                                "column": 33
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 1351,
                              "end": 1367,
                              "loc": {
                                "start": {
                                  "line": 44,
                                  "column": 12
                                },
                                "end": {
                                  "line": 44,
                                  "column": 28
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 1351,
                                "end": 1355,
                                "loc": {
                                  "start": {
                                    "line": 44,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 44,
                                    "column": 16
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1356,
                                "end": 1367,
                                "loc": {
                                  "start": {
                                    "line": 44,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 44,
                                    "column": 28
                                  },
                                  "identifierName": "edgeHandler"
                                },
                                "name": "edgeHandler"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1368,
                              "end": 1372,
                              "loc": {
                                "start": {
                                  "line": 44,
                                  "column": 29
                                },
                                "end": {
                                  "line": 44,
                                  "column": 33
                                },
                                "identifierName": "move"
                              },
                              "name": "move"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 1373,
                              "end": 1381,
                              "loc": {
                                "start": {
                                  "line": 44,
                                  "column": 34
                                },
                                "end": {
                                  "line": 44,
                                  "column": 42
                                },
                                "identifierName": "position"
                              },
                              "name": "position"
                            }
                          ]
                        }
                      },
                      "alternate": null
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "trailingComments": [
                  {
                    "type": "CommentLine",
                    "value": " returns promise of the new lastPoint",
                    "start": 1395,
                    "end": 1434,
                    "loc": {
                      "start": {
                        "line": 47,
                        "column": 4
                      },
                      "end": {
                        "line": 47,
                        "column": 43
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 1439,
                "end": 2487,
                "loc": {
                  "start": {
                    "line": 48,
                    "column": 4
                  },
                  "end": {
                    "line": 70,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1439,
                  "end": 1453,
                  "loc": {
                    "start": {
                      "line": 48,
                      "column": 4
                    },
                    "end": {
                      "line": 48,
                      "column": 18
                    },
                    "identifierName": "afterEdgeAdded"
                  },
                  "name": "afterEdgeAdded",
                  "leadingComments": null
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 1454,
                    "end": 1464,
                    "loc": {
                      "start": {
                        "line": 48,
                        "column": 19
                      },
                      "end": {
                        "line": 48,
                        "column": 29
                      },
                      "identifierName": "geomParams"
                    },
                    "name": "geomParams"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 1466,
                  "end": 2487,
                  "loc": {
                    "start": {
                      "line": 48,
                      "column": 31
                    },
                    "end": {
                      "line": 70,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 1476,
                      "end": 1527,
                      "loc": {
                        "start": {
                          "line": 49,
                          "column": 8
                        },
                        "end": {
                          "line": 50,
                          "column": 34
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 1480,
                        "end": 1491,
                        "loc": {
                          "start": {
                            "line": 49,
                            "column": 12
                          },
                          "end": {
                            "line": 49,
                            "column": 23
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start": 1481,
                          "end": 1491,
                          "loc": {
                            "start": {
                              "line": 49,
                              "column": 13
                            },
                            "end": {
                              "line": 49,
                              "column": 23
                            },
                            "identifierName": "geomParams"
                          },
                          "name": "geomParams"
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 1505,
                        "end": 1527,
                        "loc": {
                          "start": {
                            "line": 50,
                            "column": 12
                          },
                          "end": {
                            "line": 50,
                            "column": 34
                          }
                        },
                        "argument": {
                          "type": "MemberExpression",
                          "start": 1512,
                          "end": 1526,
                          "loc": {
                            "start": {
                              "line": 50,
                              "column": 19
                            },
                            "end": {
                              "line": 50,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1512,
                            "end": 1516,
                            "loc": {
                              "start": {
                                "line": 50,
                                "column": 19
                              },
                              "end": {
                                "line": 50,
                                "column": 23
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1517,
                            "end": 1526,
                            "loc": {
                              "start": {
                                "line": 50,
                                "column": 24
                              },
                              "end": {
                                "line": 50,
                                "column": 33
                              },
                              "identifierName": "lastPoint"
                            },
                            "name": "lastPoint"
                          },
                          "computed": false
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 1537,
                      "end": 1590,
                      "loc": {
                        "start": {
                          "line": 52,
                          "column": 8
                        },
                        "end": {
                          "line": 52,
                          "column": 61
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 1543,
                          "end": 1589,
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 14
                            },
                            "end": {
                              "line": 52,
                              "column": 60
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1543,
                            "end": 1549,
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 14
                              },
                              "end": {
                                "line": 52,
                                "column": 20
                              },
                              "identifierName": "object"
                            },
                            "name": "object"
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 1552,
                            "end": 1589,
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 23
                              },
                              "end": {
                                "line": 52,
                                "column": 60
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 1556,
                              "end": 1565,
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 27
                                },
                                "end": {
                                  "line": 52,
                                  "column": 36
                                },
                                "identifierName": "Ccfuturef"
                              },
                              "name": "Ccfuturef"
                            },
                            "arguments": [
                              {
                                "type": "CallExpression",
                                "start": 1566,
                                "end": 1576,
                                "loc": {
                                  "start": {
                                    "line": 52,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 52,
                                    "column": 47
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 1566,
                                  "end": 1574,
                                  "loc": {
                                    "start": {
                                      "line": 52,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 52,
                                      "column": 45
                                    },
                                    "identifierName": "Variable"
                                  },
                                  "name": "Variable"
                                },
                                "arguments": []
                              },
                              {
                                "type": "Identifier",
                                "start": 1578,
                                "end": 1588,
                                "loc": {
                                  "start": {
                                    "line": 52,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 52,
                                    "column": 59
                                  },
                                  "identifierName": "geomParams"
                                },
                                "name": "geomParams"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "const"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 1599,
                      "end": 1670,
                      "loc": {
                        "start": {
                          "line": 53,
                          "column": 8
                        },
                        "end": {
                          "line": 53,
                          "column": 79
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 1605,
                          "end": 1669,
                          "loc": {
                            "start": {
                              "line": 53,
                              "column": 14
                            },
                            "end": {
                              "line": 53,
                              "column": 78
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1605,
                            "end": 1615,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 14
                              },
                              "end": {
                                "line": 53,
                                "column": 24
                              },
                              "identifierName": "startPoint"
                            },
                            "name": "startPoint"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 1618,
                            "end": 1669,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 27
                              },
                              "end": {
                                "line": 53,
                                "column": 78
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 1618,
                              "end": 1638,
                              "loc": {
                                "start": {
                                  "line": 53,
                                  "column": 27
                                },
                                "end": {
                                  "line": 53,
                                  "column": 47
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 1618,
                                "end": 1633,
                                "loc": {
                                  "start": {
                                    "line": 53,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 53,
                                    "column": 42
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1618,
                                  "end": 1624,
                                  "loc": {
                                    "start": {
                                      "line": 53,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 53,
                                      "column": 33
                                    },
                                    "identifierName": "object"
                                  },
                                  "name": "object"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1625,
                                  "end": 1633,
                                  "loc": {
                                    "start": {
                                      "line": 53,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 53,
                                      "column": 42
                                    },
                                    "identifierName": "children"
                                  },
                                  "name": "children"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1634,
                                "end": 1638,
                                "loc": {
                                  "start": {
                                    "line": 53,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 53,
                                    "column": 47
                                  },
                                  "identifierName": "find"
                                },
                                "name": "find"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "ArrowFunctionExpression",
                                "start": 1639,
                                "end": 1668,
                                "loc": {
                                  "start": {
                                    "line": 53,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 53,
                                    "column": 77
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": true,
                                "async": false,
                                "params": [
                                  {
                                    "type": "Identifier",
                                    "start": 1639,
                                    "end": 1644,
                                    "loc": {
                                      "start": {
                                        "line": 53,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 53,
                                        "column": 53
                                      },
                                      "identifierName": "child"
                                    },
                                    "name": "child"
                                  }
                                ],
                                "body": {
                                  "type": "CallExpression",
                                  "start": 1648,
                                  "end": 1668,
                                  "loc": {
                                    "start": {
                                      "line": 53,
                                      "column": 57
                                    },
                                    "end": {
                                      "line": 53,
                                      "column": 77
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 1648,
                                    "end": 1666,
                                    "loc": {
                                      "start": {
                                        "line": 53,
                                        "column": 57
                                      },
                                      "end": {
                                        "line": 53,
                                        "column": 75
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 1648,
                                      "end": 1653,
                                      "loc": {
                                        "start": {
                                          "line": 53,
                                          "column": 57
                                        },
                                        "end": {
                                          "line": 53,
                                          "column": 62
                                        },
                                        "identifierName": "child"
                                      },
                                      "name": "child"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1654,
                                      "end": 1666,
                                      "loc": {
                                        "start": {
                                          "line": 53,
                                          "column": 63
                                        },
                                        "end": {
                                          "line": 53,
                                          "column": 75
                                        },
                                        "identifierName": "isStartPoint"
                                      },
                                      "name": "isStartPoint"
                                    },
                                    "computed": false
                                  },
                                  "arguments": []
                                }
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "const"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 1679,
                      "end": 1901,
                      "loc": {
                        "start": {
                          "line": 54,
                          "column": 8
                        },
                        "end": {
                          "line": 56,
                          "column": 17
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 1685,
                          "end": 1900,
                          "loc": {
                            "start": {
                              "line": 54,
                              "column": 14
                            },
                            "end": {
                              "line": 56,
                              "column": 16
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1685,
                            "end": 1704,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 14
                              },
                              "end": {
                                "line": 54,
                                "column": 33
                              },
                              "identifierName": "manualConstrCommand"
                            },
                            "name": "manualConstrCommand"
                          },
                          "init": {
                            "type": "ConditionalExpression",
                            "start": 1707,
                            "end": 1900,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 36
                              },
                              "end": {
                                "line": 56,
                                "column": 16
                              }
                            },
                            "test": {
                              "type": "LogicalExpression",
                              "start": 1708,
                              "end": 1766,
                              "loc": {
                                "start": {
                                  "line": 54,
                                  "column": 37
                                },
                                "end": {
                                  "line": 54,
                                  "column": 95
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 1708,
                                "end": 1722,
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 51
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 1708,
                                  "end": 1712,
                                  "loc": {
                                    "start": {
                                      "line": 54,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 54,
                                      "column": 41
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1713,
                                  "end": 1722,
                                  "loc": {
                                    "start": {
                                      "line": 54,
                                      "column": 42
                                    },
                                    "end": {
                                      "line": 54,
                                      "column": 51
                                    },
                                    "identifierName": "lastPoint"
                                  },
                                  "name": "lastPoint"
                                },
                                "computed": false
                              },
                              "operator": "&&",
                              "right": {
                                "type": "UnaryExpression",
                                "start": 1726,
                                "end": 1766,
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 55
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 95
                                  }
                                },
                                "operator": "!",
                                "prefix": true,
                                "argument": {
                                  "type": "MemberExpression",
                                  "start": 1727,
                                  "end": 1766,
                                  "loc": {
                                    "start": {
                                      "line": 54,
                                      "column": 56
                                    },
                                    "end": {
                                      "line": 54,
                                      "column": 95
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 1727,
                                    "end": 1740,
                                    "loc": {
                                      "start": {
                                        "line": 54,
                                        "column": 56
                                      },
                                      "end": {
                                        "line": 54,
                                        "column": 69
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 1727,
                                      "end": 1731,
                                      "loc": {
                                        "start": {
                                          "line": 54,
                                          "column": 56
                                        },
                                        "end": {
                                          "line": 54,
                                          "column": 60
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1732,
                                      "end": 1740,
                                      "loc": {
                                        "start": {
                                          "line": 54,
                                          "column": 61
                                        },
                                        "end": {
                                          "line": 54,
                                          "column": 69
                                        },
                                        "identifierName": "sketcher"
                                      },
                                      "name": "sketcher"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1741,
                                    "end": 1766,
                                    "loc": {
                                      "start": {
                                        "line": 54,
                                        "column": 70
                                      },
                                      "end": {
                                        "line": 54,
                                        "column": 95
                                      },
                                      "identifierName": "autoconstraintIncremental"
                                    },
                                    "name": "autoconstraintIncremental"
                                  },
                                  "computed": false
                                },
                                "extra": {
                                  "parenthesizedArgument": false
                                }
                              },
                              "extra": {
                                "parenthesized": true,
                                "parenStart": 1707
                              }
                            },
                            "consequent": {
                              "type": "CallExpression",
                              "start": 1782,
                              "end": 1881,
                              "loc": {
                                "start": {
                                  "line": 55,
                                  "column": 12
                                },
                                "end": {
                                  "line": 55,
                                  "column": 111
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 1782,
                                "end": 1792,
                                "loc": {
                                  "start": {
                                    "line": 55,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 55,
                                    "column": 22
                                  },
                                  "identifierName": "addCommand"
                                },
                                "name": "addCommand"
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 1793,
                                  "end": 1804,
                                  "loc": {
                                    "start": {
                                      "line": 55,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 55,
                                      "column": 34
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 1793,
                                    "end": 1797,
                                    "loc": {
                                      "start": {
                                        "line": 55,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 55,
                                        "column": 27
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1798,
                                    "end": 1804,
                                    "loc": {
                                      "start": {
                                        "line": 55,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 55,
                                        "column": 34
                                      },
                                      "identifierName": "sketch"
                                    },
                                    "name": "sketch"
                                  },
                                  "computed": false
                                },
                                {
                                  "type": "ObjectExpression",
                                  "start": 1806,
                                  "end": 1880,
                                  "loc": {
                                    "start": {
                                      "line": 55,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 55,
                                      "column": 110
                                    }
                                  },
                                  "properties": [
                                    {
                                      "type": "ObjectProperty",
                                      "start": 1807,
                                      "end": 1828,
                                      "loc": {
                                        "start": {
                                          "line": 55,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 55,
                                          "column": 58
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 1807,
                                        "end": 1812,
                                        "loc": {
                                          "start": {
                                            "line": 55,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 55,
                                            "column": 42
                                          },
                                          "identifierName": "class"
                                        },
                                        "name": "class"
                                      },
                                      "value": {
                                        "type": "MemberExpression",
                                        "start": 1814,
                                        "end": 1828,
                                        "loc": {
                                          "start": {
                                            "line": 55,
                                            "column": 44
                                          },
                                          "end": {
                                            "line": 55,
                                            "column": 58
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 1814,
                                          "end": 1823,
                                          "loc": {
                                            "start": {
                                              "line": 55,
                                              "column": 44
                                            },
                                            "end": {
                                              "line": 55,
                                              "column": 53
                                            },
                                            "identifierName": "incidence"
                                          },
                                          "name": "incidence"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 1824,
                                          "end": 1828,
                                          "loc": {
                                            "start": {
                                              "line": 55,
                                              "column": 54
                                            },
                                            "end": {
                                              "line": 55,
                                              "column": 58
                                            },
                                            "identifierName": "type"
                                          },
                                          "name": "type"
                                        },
                                        "computed": false
                                      }
                                    },
                                    {
                                      "type": "ObjectProperty",
                                      "start": 1830,
                                      "end": 1868,
                                      "loc": {
                                        "start": {
                                          "line": 55,
                                          "column": 60
                                        },
                                        "end": {
                                          "line": 55,
                                          "column": 98
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 1830,
                                        "end": 1838,
                                        "loc": {
                                          "start": {
                                            "line": 55,
                                            "column": 60
                                          },
                                          "end": {
                                            "line": 55,
                                            "column": 68
                                          },
                                          "identifierName": "entities"
                                        },
                                        "name": "entities"
                                      },
                                      "value": {
                                        "type": "ArrayExpression",
                                        "start": 1840,
                                        "end": 1868,
                                        "loc": {
                                          "start": {
                                            "line": 55,
                                            "column": 70
                                          },
                                          "end": {
                                            "line": 55,
                                            "column": 98
                                          }
                                        },
                                        "elements": [
                                          {
                                            "type": "MemberExpression",
                                            "start": 1841,
                                            "end": 1855,
                                            "loc": {
                                              "start": {
                                                "line": 55,
                                                "column": 71
                                              },
                                              "end": {
                                                "line": 55,
                                                "column": 85
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 1841,
                                              "end": 1845,
                                              "loc": {
                                                "start": {
                                                  "line": 55,
                                                  "column": 71
                                                },
                                                "end": {
                                                  "line": 55,
                                                  "column": 75
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 1846,
                                              "end": 1855,
                                              "loc": {
                                                "start": {
                                                  "line": 55,
                                                  "column": 76
                                                },
                                                "end": {
                                                  "line": 55,
                                                  "column": 85
                                                },
                                                "identifierName": "lastPoint"
                                              },
                                              "name": "lastPoint"
                                            },
                                            "computed": false
                                          },
                                          {
                                            "type": "Identifier",
                                            "start": 1857,
                                            "end": 1867,
                                            "loc": {
                                              "start": {
                                                "line": 55,
                                                "column": 87
                                              },
                                              "end": {
                                                "line": 55,
                                                "column": 97
                                              },
                                              "identifierName": "startPoint"
                                            },
                                            "name": "startPoint"
                                          }
                                        ]
                                      }
                                    },
                                    {
                                      "type": "ObjectProperty",
                                      "start": 1870,
                                      "end": 1879,
                                      "loc": {
                                        "start": {
                                          "line": 55,
                                          "column": 100
                                        },
                                        "end": {
                                          "line": 55,
                                          "column": 109
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 1870,
                                        "end": 1875,
                                        "loc": {
                                          "start": {
                                            "line": 55,
                                            "column": 100
                                          },
                                          "end": {
                                            "line": 55,
                                            "column": 105
                                          },
                                          "identifierName": "value"
                                        },
                                        "name": "value"
                                      },
                                      "value": {
                                        "type": "ObjectExpression",
                                        "start": 1877,
                                        "end": 1879,
                                        "loc": {
                                          "start": {
                                            "line": 55,
                                            "column": 107
                                          },
                                          "end": {
                                            "line": 55,
                                            "column": 109
                                          }
                                        },
                                        "properties": []
                                      }
                                    }
                                  ]
                                }
                              ]
                            },
                            "alternate": {
                              "type": "NullLiteral",
                              "start": 1896,
                              "end": 1900,
                              "loc": {
                                "start": {
                                  "line": 56,
                                  "column": 12
                                },
                                "end": {
                                  "line": 56,
                                  "column": 16
                                }
                              }
                            }
                          }
                        }
                      ],
                      "kind": "const"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 1910,
                      "end": 2161,
                      "loc": {
                        "start": {
                          "line": 57,
                          "column": 8
                        },
                        "end": {
                          "line": 62,
                          "column": 10
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 1914,
                          "end": 2160,
                          "loc": {
                            "start": {
                              "line": 57,
                              "column": 12
                            },
                            "end": {
                              "line": 62,
                              "column": 9
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1914,
                            "end": 1921,
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 12
                              },
                              "end": {
                                "line": 57,
                                "column": 19
                              },
                              "identifierName": "command"
                            },
                            "name": "command"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 1924,
                            "end": 2160,
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 22
                              },
                              "end": {
                                "line": 62,
                                "column": 9
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 1924,
                              "end": 1932,
                              "loc": {
                                "start": {
                                  "line": 57,
                                  "column": 22
                                },
                                "end": {
                                  "line": 57,
                                  "column": 30
                                },
                                "identifierName": "Sequence"
                              },
                              "name": "Sequence"
                            },
                            "arguments": [
                              {
                                "type": "CallExpression",
                                "start": 1946,
                                "end": 1997,
                                "loc": {
                                  "start": {
                                    "line": 58,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 58,
                                    "column": 63
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 1946,
                                  "end": 1952,
                                  "loc": {
                                    "start": {
                                      "line": 58,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 58,
                                      "column": 18
                                    },
                                    "identifierName": "Assign"
                                  },
                                  "name": "Assign"
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 1953,
                                    "end": 1959,
                                    "loc": {
                                      "start": {
                                        "line": 58,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 58,
                                        "column": 25
                                      },
                                      "identifierName": "object"
                                    },
                                    "name": "object"
                                  },
                                  {
                                    "type": "CallExpression",
                                    "start": 1961,
                                    "end": 1996,
                                    "loc": {
                                      "start": {
                                        "line": 58,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 58,
                                        "column": 62
                                      }
                                    },
                                    "callee": {
                                      "type": "Identifier",
                                      "start": 1961,
                                      "end": 1971,
                                      "loc": {
                                        "start": {
                                          "line": 58,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 58,
                                          "column": 37
                                        },
                                        "identifierName": "addCommand"
                                      },
                                      "name": "addCommand"
                                    },
                                    "arguments": [
                                      {
                                        "type": "MemberExpression",
                                        "start": 1972,
                                        "end": 1983,
                                        "loc": {
                                          "start": {
                                            "line": 58,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 58,
                                            "column": 49
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 1972,
                                          "end": 1976,
                                          "loc": {
                                            "start": {
                                              "line": 58,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 58,
                                              "column": 42
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 1977,
                                          "end": 1983,
                                          "loc": {
                                            "start": {
                                              "line": 58,
                                              "column": 43
                                            },
                                            "end": {
                                              "line": 58,
                                              "column": 49
                                            },
                                            "identifierName": "sketch"
                                          },
                                          "name": "sketch"
                                        },
                                        "computed": false
                                      },
                                      {
                                        "type": "Identifier",
                                        "start": 1985,
                                        "end": 1995,
                                        "loc": {
                                          "start": {
                                            "line": 58,
                                            "column": 51
                                          },
                                          "end": {
                                            "line": 58,
                                            "column": 61
                                          },
                                          "identifierName": "geomParams"
                                        },
                                        "name": "geomParams"
                                      }
                                    ]
                                  }
                                ]
                              },
                              {
                                "type": "SpreadElement",
                                "start": 2011,
                                "end": 2058,
                                "loc": {
                                  "start": {
                                    "line": 59,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 59,
                                    "column": 59
                                  }
                                },
                                "argument": {
                                  "type": "CallExpression",
                                  "start": 2014,
                                  "end": 2058,
                                  "loc": {
                                    "start": {
                                      "line": 59,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 59,
                                      "column": 59
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 2014,
                                    "end": 2050,
                                    "loc": {
                                      "start": {
                                        "line": 59,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 59,
                                        "column": 51
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 2014,
                                      "end": 2027,
                                      "loc": {
                                        "start": {
                                          "line": 59,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 59,
                                          "column": 28
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 2014,
                                        "end": 2018,
                                        "loc": {
                                          "start": {
                                            "line": 59,
                                            "column": 15
                                          },
                                          "end": {
                                            "line": 59,
                                            "column": 19
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2019,
                                        "end": 2027,
                                        "loc": {
                                          "start": {
                                            "line": 59,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 59,
                                            "column": 28
                                          },
                                          "identifierName": "sketcher"
                                        },
                                        "name": "sketcher"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 2028,
                                      "end": 2050,
                                      "loc": {
                                        "start": {
                                          "line": 59,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 59,
                                          "column": 51
                                        },
                                        "identifierName": "autoconstraintCommands"
                                      },
                                      "name": "autoconstraintCommands"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 2051,
                                      "end": 2057,
                                      "loc": {
                                        "start": {
                                          "line": 59,
                                          "column": 52
                                        },
                                        "end": {
                                          "line": 59,
                                          "column": 58
                                        },
                                        "identifierName": "object"
                                      },
                                      "name": "object"
                                    }
                                  ]
                                }
                              },
                              {
                                "type": "Identifier",
                                "start": 2072,
                                "end": 2091,
                                "loc": {
                                  "start": {
                                    "line": 60,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 31
                                  },
                                  "identifierName": "manualConstrCommand"
                                },
                                "name": "manualConstrCommand"
                              },
                              {
                                "type": "CallExpression",
                                "start": 2105,
                                "end": 2149,
                                "loc": {
                                  "start": {
                                    "line": 61,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 61,
                                    "column": 56
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 2105,
                                  "end": 2111,
                                  "loc": {
                                    "start": {
                                      "line": 61,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 61,
                                      "column": 18
                                    },
                                    "identifierName": "Return"
                                  },
                                  "name": "Return"
                                },
                                "arguments": [
                                  {
                                    "type": "CallExpression",
                                    "start": 2112,
                                    "end": 2148,
                                    "loc": {
                                      "start": {
                                        "line": 61,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 61,
                                        "column": 55
                                      }
                                    },
                                    "callee": {
                                      "type": "Identifier",
                                      "start": 2112,
                                      "end": 2120,
                                      "loc": {
                                        "start": {
                                          "line": 61,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 61,
                                          "column": 27
                                        },
                                        "identifierName": "IdToReal"
                                      },
                                      "name": "IdToReal"
                                    },
                                    "arguments": [
                                      {
                                        "type": "CallExpression",
                                        "start": 2121,
                                        "end": 2147,
                                        "loc": {
                                          "start": {
                                            "line": 61,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 61,
                                            "column": 54
                                          }
                                        },
                                        "callee": {
                                          "type": "Identifier",
                                          "start": 2121,
                                          "end": 2127,
                                          "loc": {
                                            "start": {
                                              "line": 61,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 61,
                                              "column": 34
                                            },
                                            "identifierName": "Member"
                                          },
                                          "name": "Member"
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 2128,
                                            "end": 2134,
                                            "loc": {
                                              "start": {
                                                "line": 61,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 61,
                                                "column": 41
                                              },
                                              "identifierName": "object"
                                            },
                                            "name": "object"
                                          },
                                          {
                                            "type": "StringLiteral",
                                            "start": 2136,
                                            "end": 2146,
                                            "loc": {
                                              "start": {
                                                "line": 61,
                                                "column": 43
                                              },
                                              "end": {
                                                "line": 61,
                                                "column": 53
                                              }
                                            },
                                            "extra": {
                                              "rawValue": "endPoint",
                                              "raw": "'endPoint'"
                                            },
                                            "value": "endPoint"
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 2170,
                      "end": 2207,
                      "loc": {
                        "start": {
                          "line": 63,
                          "column": 8
                        },
                        "end": {
                          "line": 63,
                          "column": 45
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 2176,
                          "end": 2206,
                          "loc": {
                            "start": {
                              "line": 63,
                              "column": 14
                            },
                            "end": {
                              "line": 63,
                              "column": 44
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 2176,
                            "end": 2177,
                            "loc": {
                              "start": {
                                "line": 63,
                                "column": 14
                              },
                              "end": {
                                "line": 63,
                                "column": 15
                              },
                              "identifierName": "p"
                            },
                            "name": "p"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 2180,
                            "end": 2206,
                            "loc": {
                              "start": {
                                "line": 63,
                                "column": 18
                              },
                              "end": {
                                "line": 63,
                                "column": 44
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 2180,
                              "end": 2197,
                              "loc": {
                                "start": {
                                  "line": 63,
                                  "column": 18
                                },
                                "end": {
                                  "line": 63,
                                  "column": 35
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 2180,
                                "end": 2193,
                                "loc": {
                                  "start": {
                                    "line": 63,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 63,
                                    "column": 31
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 2180,
                                  "end": 2184,
                                  "loc": {
                                    "start": {
                                      "line": 63,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 63,
                                      "column": 22
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2185,
                                  "end": 2193,
                                  "loc": {
                                    "start": {
                                      "line": 63,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 63,
                                      "column": 31
                                    },
                                    "identifierName": "sketcher"
                                  },
                                  "name": "sketcher"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2194,
                                "end": 2197,
                                "loc": {
                                  "start": {
                                    "line": 63,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 63,
                                    "column": 35
                                  },
                                  "identifierName": "run"
                                },
                                "name": "run"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 2198,
                                "end": 2205,
                                "loc": {
                                  "start": {
                                    "line": 63,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 63,
                                    "column": 43
                                  },
                                  "identifierName": "command"
                                },
                                "name": "command"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "const"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2216,
                      "end": 2260,
                      "loc": {
                        "start": {
                          "line": 64,
                          "column": 8
                        },
                        "end": {
                          "line": 64,
                          "column": 52
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2216,
                        "end": 2259,
                        "loc": {
                          "start": {
                            "line": 64,
                            "column": 8
                          },
                          "end": {
                            "line": 64,
                            "column": 51
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2216,
                          "end": 2257,
                          "loc": {
                            "start": {
                              "line": 64,
                              "column": 8
                            },
                            "end": {
                              "line": 64,
                              "column": 49
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2216,
                            "end": 2229,
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 8
                              },
                              "end": {
                                "line": 64,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2216,
                              "end": 2220,
                              "loc": {
                                "start": {
                                  "line": 64,
                                  "column": 8
                                },
                                "end": {
                                  "line": 64,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2221,
                              "end": 2229,
                              "loc": {
                                "start": {
                                  "line": 64,
                                  "column": 13
                                },
                                "end": {
                                  "line": 64,
                                  "column": 21
                                },
                                "identifierName": "sketcher"
                              },
                              "name": "sketcher"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2230,
                            "end": 2257,
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 22
                              },
                              "end": {
                                "line": 64,
                                "column": 49
                              },
                              "identifierName": "incrementalSolveConstraints"
                            },
                            "name": "incrementalSolveConstraints"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 2269,
                      "end": 2481,
                      "loc": {
                        "start": {
                          "line": 65,
                          "column": 8
                        },
                        "end": {
                          "line": 69,
                          "column": 11
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 2276,
                        "end": 2480,
                        "loc": {
                          "start": {
                            "line": 65,
                            "column": 15
                          },
                          "end": {
                            "line": 69,
                            "column": 10
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2276,
                          "end": 2282,
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 15
                            },
                            "end": {
                              "line": 65,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2276,
                            "end": 2277,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 15
                              },
                              "end": {
                                "line": 65,
                                "column": 16
                              },
                              "identifierName": "p"
                            },
                            "name": "p"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2278,
                            "end": 2282,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 17
                              },
                              "end": {
                                "line": 65,
                                "column": 21
                              },
                              "identifierName": "then"
                            },
                            "name": "then"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 2283,
                            "end": 2479,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 22
                              },
                              "end": {
                                "line": 69,
                                "column": 9
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 2283,
                                "end": 2285,
                                "loc": {
                                  "start": {
                                    "line": 65,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 65,
                                    "column": 24
                                  },
                                  "identifierName": "id"
                                },
                                "name": "id"
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "start": 2289,
                              "end": 2479,
                              "loc": {
                                "start": {
                                  "line": 65,
                                  "column": 28
                                },
                                "end": {
                                  "line": 69,
                                  "column": 9
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 2381,
                                  "end": 2420,
                                  "loc": {
                                    "start": {
                                      "line": 67,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 67,
                                      "column": 51
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 2381,
                                    "end": 2419,
                                    "loc": {
                                      "start": {
                                        "line": 67,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 67,
                                        "column": 50
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 2381,
                                      "end": 2403,
                                      "loc": {
                                        "start": {
                                          "line": 67,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 67,
                                          "column": 34
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 2381,
                                        "end": 2397,
                                        "loc": {
                                          "start": {
                                            "line": 67,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 67,
                                            "column": 28
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 2381,
                                          "end": 2385,
                                          "loc": {
                                            "start": {
                                              "line": 67,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 67,
                                              "column": 16
                                            }
                                          },
                                          "leadingComments": null
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2386,
                                          "end": 2397,
                                          "loc": {
                                            "start": {
                                              "line": 67,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 67,
                                              "column": 28
                                            },
                                            "identifierName": "edgeHandler"
                                          },
                                          "name": "edgeHandler"
                                        },
                                        "computed": false,
                                        "leadingComments": null
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2398,
                                        "end": 2403,
                                        "loc": {
                                          "start": {
                                            "line": 67,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 67,
                                            "column": 34
                                          },
                                          "identifierName": "click"
                                        },
                                        "name": "click"
                                      },
                                      "computed": false,
                                      "leadingComments": null
                                    },
                                    "arguments": [
                                      {
                                        "type": "MemberExpression",
                                        "start": 2404,
                                        "end": 2418,
                                        "loc": {
                                          "start": {
                                            "line": 67,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 67,
                                            "column": 49
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 2404,
                                          "end": 2414,
                                          "loc": {
                                            "start": {
                                              "line": 67,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 67,
                                              "column": 45
                                            },
                                            "identifierName": "geomParams"
                                          },
                                          "name": "geomParams"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2415,
                                          "end": 2418,
                                          "loc": {
                                            "start": {
                                              "line": 67,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 67,
                                              "column": 49
                                            },
                                            "identifierName": "end"
                                          },
                                          "name": "end"
                                        },
                                        "computed": false
                                      }
                                    ],
                                    "leadingComments": null
                                  },
                                  "leadingComments": [
                                    {
                                      "type": "CommentLine",
                                      "value": " note: we are sure that no new object is created in this click:",
                                      "start": 2303,
                                      "end": 2368,
                                      "loc": {
                                        "start": {
                                          "line": 66,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 66,
                                          "column": 77
                                        }
                                      }
                                    }
                                  ]
                                },
                                {
                                  "type": "ReturnStatement",
                                  "start": 2433,
                                  "end": 2469,
                                  "loc": {
                                    "start": {
                                      "line": 68,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 68,
                                      "column": 48
                                    }
                                  },
                                  "argument": {
                                    "type": "NewExpression",
                                    "start": 2440,
                                    "end": 2468,
                                    "loc": {
                                      "start": {
                                        "line": 68,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 68,
                                        "column": 47
                                      }
                                    },
                                    "callee": {
                                      "type": "Identifier",
                                      "start": 2444,
                                      "end": 2449,
                                      "loc": {
                                        "start": {
                                          "line": 68,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 68,
                                          "column": 28
                                        },
                                        "identifierName": "Ccref"
                                      },
                                      "name": "Ccref"
                                    },
                                    "arguments": [
                                      {
                                        "type": "MemberExpression",
                                        "start": 2450,
                                        "end": 2463,
                                        "loc": {
                                          "start": {
                                            "line": 68,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 68,
                                            "column": 42
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 2450,
                                          "end": 2454,
                                          "loc": {
                                            "start": {
                                              "line": 68,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 68,
                                              "column": 33
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2455,
                                          "end": 2463,
                                          "loc": {
                                            "start": {
                                              "line": 68,
                                              "column": 34
                                            },
                                            "end": {
                                              "line": 68,
                                              "column": 42
                                            },
                                            "identifierName": "sketcher"
                                          },
                                          "name": "sketcher"
                                        },
                                        "computed": false
                                      },
                                      {
                                        "type": "Identifier",
                                        "start": 2465,
                                        "end": 2467,
                                        "loc": {
                                          "start": {
                                            "line": 68,
                                            "column": 44
                                          },
                                          "end": {
                                            "line": 68,
                                            "column": 46
                                          },
                                          "identifierName": "id"
                                        },
                                        "name": "id"
                                      }
                                    ]
                                  }
                                }
                              ],
                              "directives": []
                            }
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                },
                "leadingComments": [
                  {
                    "type": "CommentLine",
                    "value": " returns promise of the new lastPoint",
                    "start": 1395,
                    "end": 1434,
                    "loc": {
                      "start": {
                        "line": 47,
                        "column": 4
                      },
                      "end": {
                        "line": 47,
                        "column": 43
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 2493,
                "end": 2770,
                "loc": {
                  "start": {
                    "line": 72,
                    "column": 4
                  },
                  "end": {
                    "line": 77,
                    "column": 5
                  }
                },
                "computed": true,
                "key": {
                  "type": "MemberExpression",
                  "start": 2494,
                  "end": 2528,
                  "loc": {
                    "start": {
                      "line": 72,
                      "column": 5
                    },
                    "end": {
                      "line": 72,
                      "column": 39
                    }
                  },
                  "object": {
                    "type": "MemberExpression",
                    "start": 2494,
                    "end": 2520,
                    "loc": {
                      "start": {
                        "line": 72,
                        "column": 5
                      },
                      "end": {
                        "line": 72,
                        "column": 31
                      }
                    },
                    "object": {
                      "type": "MemberExpression",
                      "start": 2494,
                      "end": 2508,
                      "loc": {
                        "start": {
                          "line": 72,
                          "column": 5
                        },
                        "end": {
                          "line": 72,
                          "column": 19
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 2494,
                        "end": 2501,
                        "loc": {
                          "start": {
                            "line": 72,
                            "column": 5
                          },
                          "end": {
                            "line": 72,
                            "column": 12
                          },
                          "identifierName": "Object3"
                        },
                        "name": "Object3"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 2502,
                        "end": 2508,
                        "loc": {
                          "start": {
                            "line": 72,
                            "column": 13
                          },
                          "end": {
                            "line": 72,
                            "column": 19
                          },
                          "identifierName": "Events"
                        },
                        "name": "Events"
                      },
                      "computed": false
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 2509,
                      "end": 2520,
                      "loc": {
                        "start": {
                          "line": 72,
                          "column": 20
                        },
                        "end": {
                          "line": 72,
                          "column": 31
                        },
                        "identifierName": "Interaction"
                      },
                      "name": "Interaction"
                    },
                    "computed": false
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 2521,
                    "end": 2528,
                    "loc": {
                      "start": {
                        "line": 72,
                        "column": 32
                      },
                      "end": {
                        "line": 72,
                        "column": 39
                      },
                      "identifierName": "Clicked"
                    },
                    "name": "Clicked"
                  },
                  "computed": false
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 2530,
                    "end": 2536,
                    "loc": {
                      "start": {
                        "line": 72,
                        "column": 41
                      },
                      "end": {
                        "line": 72,
                        "column": 47
                      },
                      "identifierName": "object"
                    },
                    "name": "object"
                  },
                  {
                    "type": "Identifier",
                    "start": 2538,
                    "end": 2547,
                    "loc": {
                      "start": {
                        "line": 72,
                        "column": 49
                      },
                      "end": {
                        "line": 72,
                        "column": 58
                      },
                      "identifierName": "hitObject"
                    },
                    "name": "hitObject"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 2549,
                  "end": 2770,
                  "loc": {
                    "start": {
                      "line": 72,
                      "column": 60
                    },
                    "end": {
                      "line": 77,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 2559,
                      "end": 2618,
                      "loc": {
                        "start": {
                          "line": 73,
                          "column": 8
                        },
                        "end": {
                          "line": 73,
                          "column": 67
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 2565,
                          "end": 2617,
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 14
                            },
                            "end": {
                              "line": 73,
                              "column": 66
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 2565,
                            "end": 2573,
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 14
                              },
                              "end": {
                                "line": 73,
                                "column": 22
                              },
                              "identifierName": "position"
                            },
                            "name": "position"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 2576,
                            "end": 2617,
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 25
                              },
                              "end": {
                                "line": 73,
                                "column": 66
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 2576,
                              "end": 2589,
                              "loc": {
                                "start": {
                                  "line": 73,
                                  "column": 25
                                },
                                "end": {
                                  "line": 73,
                                  "column": 38
                                },
                                "identifierName": "calcSketchPos"
                              },
                              "name": "calcSketchPos"
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 2590,
                                "end": 2603,
                                "loc": {
                                  "start": {
                                    "line": 73,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 73,
                                    "column": 52
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 2590,
                                  "end": 2599,
                                  "loc": {
                                    "start": {
                                      "line": 73,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 73,
                                      "column": 48
                                    },
                                    "identifierName": "hitObject"
                                  },
                                  "name": "hitObject"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2600,
                                  "end": 2603,
                                  "loc": {
                                    "start": {
                                      "line": 73,
                                      "column": 49
                                    },
                                    "end": {
                                      "line": 73,
                                      "column": 52
                                    },
                                    "identifierName": "ray"
                                  },
                                  "name": "ray"
                                },
                                "computed": false
                              },
                              {
                                "type": "MemberExpression",
                                "start": 2605,
                                "end": 2616,
                                "loc": {
                                  "start": {
                                    "line": 73,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 73,
                                    "column": 65
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 2605,
                                  "end": 2609,
                                  "loc": {
                                    "start": {
                                      "line": 73,
                                      "column": 54
                                    },
                                    "end": {
                                      "line": 73,
                                      "column": 58
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2610,
                                  "end": 2616,
                                  "loc": {
                                    "start": {
                                      "line": 73,
                                      "column": 59
                                    },
                                    "end": {
                                      "line": 73,
                                      "column": 65
                                    },
                                    "identifierName": "sketch"
                                  },
                                  "name": "sketch"
                                },
                                "computed": false
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "const"
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 2627,
                      "end": 2764,
                      "loc": {
                        "start": {
                          "line": 74,
                          "column": 8
                        },
                        "end": {
                          "line": 76,
                          "column": 11
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 2634,
                        "end": 2763,
                        "loc": {
                          "start": {
                            "line": 74,
                            "column": 15
                          },
                          "end": {
                            "line": 76,
                            "column": 10
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2634,
                          "end": 2648,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 15
                            },
                            "end": {
                              "line": 74,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2634,
                            "end": 2644,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 15
                              },
                              "end": {
                                "line": 74,
                                "column": 25
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2634,
                              "end": 2638,
                              "loc": {
                                "start": {
                                  "line": 74,
                                  "column": 15
                                },
                                "end": {
                                  "line": 74,
                                  "column": 19
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2639,
                              "end": 2644,
                              "loc": {
                                "start": {
                                  "line": 74,
                                  "column": 20
                                },
                                "end": {
                                  "line": 74,
                                  "column": 25
                                },
                                "identifierName": "queue"
                              },
                              "name": "queue"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2645,
                            "end": 2648,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 26
                              },
                              "end": {
                                "line": 74,
                                "column": 29
                              },
                              "identifierName": "run"
                            },
                            "name": "run"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 2649,
                            "end": 2762,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 30
                              },
                              "end": {
                                "line": 76,
                                "column": 9
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": true,
                            "params": [],
                            "body": {
                              "type": "BlockStatement",
                              "start": 2661,
                              "end": 2762,
                              "loc": {
                                "start": {
                                  "line": 74,
                                  "column": 42
                                },
                                "end": {
                                  "line": 76,
                                  "column": 9
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 2675,
                                  "end": 2752,
                                  "loc": {
                                    "start": {
                                      "line": 75,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 75,
                                      "column": 89
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 2675,
                                    "end": 2751,
                                    "loc": {
                                      "start": {
                                        "line": 75,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 75,
                                        "column": 88
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 2675,
                                      "end": 2689,
                                      "loc": {
                                        "start": {
                                          "line": 75,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 75,
                                          "column": 26
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 2675,
                                        "end": 2679,
                                        "loc": {
                                          "start": {
                                            "line": 75,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 75,
                                            "column": 16
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2680,
                                        "end": 2689,
                                        "loc": {
                                          "start": {
                                            "line": 75,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 75,
                                            "column": 26
                                          },
                                          "identifierName": "lastPoint"
                                        },
                                        "name": "lastPoint"
                                      },
                                      "computed": false
                                    },
                                    "right": {
                                      "type": "AwaitExpression",
                                      "start": 2692,
                                      "end": 2751,
                                      "loc": {
                                        "start": {
                                          "line": 75,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 75,
                                          "column": 88
                                        }
                                      },
                                      "argument": {
                                        "type": "CallExpression",
                                        "start": 2698,
                                        "end": 2751,
                                        "loc": {
                                          "start": {
                                            "line": 75,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 75,
                                            "column": 88
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 2698,
                                          "end": 2717,
                                          "loc": {
                                            "start": {
                                              "line": 75,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 75,
                                              "column": 54
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 2698,
                                            "end": 2702,
                                            "loc": {
                                              "start": {
                                                "line": 75,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 75,
                                                "column": 39
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2703,
                                            "end": 2717,
                                            "loc": {
                                              "start": {
                                                "line": 75,
                                                "column": 40
                                              },
                                              "end": {
                                                "line": 75,
                                                "column": 54
                                              },
                                              "identifierName": "afterEdgeAdded"
                                            },
                                            "name": "afterEdgeAdded"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "CallExpression",
                                            "start": 2718,
                                            "end": 2750,
                                            "loc": {
                                              "start": {
                                                "line": 75,
                                                "column": 55
                                              },
                                              "end": {
                                                "line": 75,
                                                "column": 87
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 2718,
                                              "end": 2740,
                                              "loc": {
                                                "start": {
                                                  "line": 75,
                                                  "column": 55
                                                },
                                                "end": {
                                                  "line": 75,
                                                  "column": 77
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 2718,
                                                "end": 2734,
                                                "loc": {
                                                  "start": {
                                                    "line": 75,
                                                    "column": 55
                                                  },
                                                  "end": {
                                                    "line": 75,
                                                    "column": 71
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 2718,
                                                  "end": 2722,
                                                  "loc": {
                                                    "start": {
                                                      "line": 75,
                                                      "column": 55
                                                    },
                                                    "end": {
                                                      "line": 75,
                                                      "column": 59
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 2723,
                                                  "end": 2734,
                                                  "loc": {
                                                    "start": {
                                                      "line": 75,
                                                      "column": 60
                                                    },
                                                    "end": {
                                                      "line": 75,
                                                      "column": 71
                                                    },
                                                    "identifierName": "edgeHandler"
                                                  },
                                                  "name": "edgeHandler"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 2735,
                                                "end": 2740,
                                                "loc": {
                                                  "start": {
                                                    "line": 75,
                                                    "column": 72
                                                  },
                                                  "end": {
                                                    "line": 75,
                                                    "column": 77
                                                  },
                                                  "identifierName": "click"
                                                },
                                                "name": "click"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 2741,
                                                "end": 2749,
                                                "loc": {
                                                  "start": {
                                                    "line": 75,
                                                    "column": 78
                                                  },
                                                  "end": {
                                                    "line": 75,
                                                    "column": 86
                                                  },
                                                  "identifierName": "position"
                                                },
                                                "name": "position"
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    }
                                  }
                                }
                              ],
                              "directives": []
                            }
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 2776,
                "end": 2858,
                "loc": {
                  "start": {
                    "line": 79,
                    "column": 4
                  },
                  "end": {
                    "line": 81,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 2776,
                  "end": 2791,
                  "loc": {
                    "start": {
                      "line": 79,
                      "column": 4
                    },
                    "end": {
                      "line": 79,
                      "column": 19
                    },
                    "identifierName": "consoleComplete"
                  },
                  "name": "consoleComplete"
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 2792,
                    "end": 2795,
                    "loc": {
                      "start": {
                        "line": 79,
                        "column": 20
                      },
                      "end": {
                        "line": 79,
                        "column": 23
                      },
                      "identifierName": "cmd"
                    },
                    "name": "cmd"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 2797,
                  "end": 2858,
                  "loc": {
                    "start": {
                      "line": 79,
                      "column": 25
                    },
                    "end": {
                      "line": 81,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 2807,
                      "end": 2852,
                      "loc": {
                        "start": {
                          "line": 80,
                          "column": 8
                        },
                        "end": {
                          "line": 80,
                          "column": 53
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 2814,
                        "end": 2851,
                        "loc": {
                          "start": {
                            "line": 80,
                            "column": 15
                          },
                          "end": {
                            "line": 80,
                            "column": 52
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2814,
                          "end": 2846,
                          "loc": {
                            "start": {
                              "line": 80,
                              "column": 15
                            },
                            "end": {
                              "line": 80,
                              "column": 47
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2814,
                            "end": 2830,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 15
                              },
                              "end": {
                                "line": 80,
                                "column": 31
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2814,
                              "end": 2818,
                              "loc": {
                                "start": {
                                  "line": 80,
                                  "column": 15
                                },
                                "end": {
                                  "line": 80,
                                  "column": 19
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2819,
                              "end": 2830,
                              "loc": {
                                "start": {
                                  "line": 80,
                                  "column": 20
                                },
                                "end": {
                                  "line": 80,
                                  "column": 31
                                },
                                "identifierName": "edgeHandler"
                              },
                              "name": "edgeHandler"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2831,
                            "end": 2846,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 32
                              },
                              "end": {
                                "line": 80,
                                "column": 47
                              },
                              "identifierName": "consoleComplete"
                            },
                            "name": "consoleComplete"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 2847,
                            "end": 2850,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 48
                              },
                              "end": {
                                "line": 80,
                                "column": 51
                              },
                              "identifierName": "cmd"
                            },
                            "name": "cmd"
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 2864,
                "end": 3002,
                "loc": {
                  "start": {
                    "line": 83,
                    "column": 4
                  },
                  "end": {
                    "line": 85,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 2870,
                  "end": 2884,
                  "loc": {
                    "start": {
                      "line": 83,
                      "column": 10
                    },
                    "end": {
                      "line": 83,
                      "column": 24
                    },
                    "identifierName": "consoleExecute"
                  },
                  "name": "consoleExecute"
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 2885,
                    "end": 2888,
                    "loc": {
                      "start": {
                        "line": 83,
                        "column": 25
                      },
                      "end": {
                        "line": 83,
                        "column": 28
                      },
                      "identifierName": "cmd"
                    },
                    "name": "cmd"
                  },
                  {
                    "type": "Identifier",
                    "start": 2890,
                    "end": 2897,
                    "loc": {
                      "start": {
                        "line": 83,
                        "column": 30
                      },
                      "end": {
                        "line": 83,
                        "column": 37
                      },
                      "identifierName": "preview"
                    },
                    "name": "preview"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 2899,
                  "end": 3002,
                  "loc": {
                    "start": {
                      "line": 83,
                      "column": 39
                    },
                    "end": {
                      "line": 85,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 2909,
                      "end": 2996,
                      "loc": {
                        "start": {
                          "line": 84,
                          "column": 8
                        },
                        "end": {
                          "line": 84,
                          "column": 95
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2909,
                        "end": 2995,
                        "loc": {
                          "start": {
                            "line": 84,
                            "column": 8
                          },
                          "end": {
                            "line": 84,
                            "column": 94
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2909,
                          "end": 2923,
                          "loc": {
                            "start": {
                              "line": 84,
                              "column": 8
                            },
                            "end": {
                              "line": 84,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2909,
                            "end": 2913,
                            "loc": {
                              "start": {
                                "line": 84,
                                "column": 8
                              },
                              "end": {
                                "line": 84,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2914,
                            "end": 2923,
                            "loc": {
                              "start": {
                                "line": 84,
                                "column": 13
                              },
                              "end": {
                                "line": 84,
                                "column": 22
                              },
                              "identifierName": "lastPoint"
                            },
                            "name": "lastPoint"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "AwaitExpression",
                          "start": 2926,
                          "end": 2995,
                          "loc": {
                            "start": {
                              "line": 84,
                              "column": 25
                            },
                            "end": {
                              "line": 84,
                              "column": 94
                            }
                          },
                          "argument": {
                            "type": "CallExpression",
                            "start": 2932,
                            "end": 2995,
                            "loc": {
                              "start": {
                                "line": 84,
                                "column": 31
                              },
                              "end": {
                                "line": 84,
                                "column": 94
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 2932,
                              "end": 2951,
                              "loc": {
                                "start": {
                                  "line": 84,
                                  "column": 31
                                },
                                "end": {
                                  "line": 84,
                                  "column": 50
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 2932,
                                "end": 2936,
                                "loc": {
                                  "start": {
                                    "line": 84,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 84,
                                    "column": 35
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2937,
                                "end": 2951,
                                "loc": {
                                  "start": {
                                    "line": 84,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 84,
                                    "column": 50
                                  },
                                  "identifierName": "afterEdgeAdded"
                                },
                                "name": "afterEdgeAdded"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "CallExpression",
                                "start": 2952,
                                "end": 2994,
                                "loc": {
                                  "start": {
                                    "line": 84,
                                    "column": 51
                                  },
                                  "end": {
                                    "line": 84,
                                    "column": 93
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 2952,
                                  "end": 2980,
                                  "loc": {
                                    "start": {
                                      "line": 84,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 84,
                                      "column": 79
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 2952,
                                    "end": 2968,
                                    "loc": {
                                      "start": {
                                        "line": 84,
                                        "column": 51
                                      },
                                      "end": {
                                        "line": 84,
                                        "column": 67
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 2952,
                                      "end": 2956,
                                      "loc": {
                                        "start": {
                                          "line": 84,
                                          "column": 51
                                        },
                                        "end": {
                                          "line": 84,
                                          "column": 55
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 2957,
                                      "end": 2968,
                                      "loc": {
                                        "start": {
                                          "line": 84,
                                          "column": 56
                                        },
                                        "end": {
                                          "line": 84,
                                          "column": 67
                                        },
                                        "identifierName": "edgeHandler"
                                      },
                                      "name": "edgeHandler"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2969,
                                    "end": 2980,
                                    "loc": {
                                      "start": {
                                        "line": 84,
                                        "column": 68
                                      },
                                      "end": {
                                        "line": 84,
                                        "column": 79
                                      },
                                      "identifierName": "consoleExec"
                                    },
                                    "name": "consoleExec"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 2981,
                                    "end": 2984,
                                    "loc": {
                                      "start": {
                                        "line": 84,
                                        "column": 80
                                      },
                                      "end": {
                                        "line": 84,
                                        "column": 83
                                      },
                                      "identifierName": "cmd"
                                    },
                                    "name": "cmd"
                                  },
                                  {
                                    "type": "Identifier",
                                    "start": 2986,
                                    "end": 2993,
                                    "loc": {
                                      "start": {
                                        "line": 84,
                                        "column": 85
                                      },
                                      "end": {
                                        "line": 84,
                                        "column": 92
                                      },
                                      "identifierName": "preview"
                                    },
                                    "name": "preview"
                                  }
                                ]
                              }
                            ]
                          }
                        }
                      }
                    }
                  ],
                  "directives": []
                }
              }
            ]
          },
          "leadingComments": [],
          "trailingComments": []
        }
      }
    ],
    "directives": []
  },
  "comments": [
    {
      "type": "CommentLine",
      "value": " don't destroy sketch interaction because we need it",
      "start": 907,
      "end": 961,
      "loc": {
        "start": {
          "line": 32,
          "column": 8
        },
        "end": {
          "line": 32,
          "column": 62
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " returns promise of the new lastPoint",
      "start": 1395,
      "end": 1434,
      "loc": {
        "start": {
          "line": 47,
          "column": 4
        },
        "end": {
          "line": 47,
          "column": 43
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " note: we are sure that no new object is created in this click:",
      "start": 2303,
      "end": 2368,
      "loc": {
        "start": {
          "line": 66,
          "column": 12
        },
        "end": {
          "line": 66,
          "column": 77
        }
      }
    }
  ],
  "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": "Object3",
      "start": 7,
      "end": 14,
      "loc": {
        "start": {
          "line": 1,
          "column": 7
        },
        "end": {
          "line": 1,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 15,
      "end": 19,
      "loc": {
        "start": {
          "line": 1,
          "column": 15
        },
        "end": {
          "line": 1,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "../../../three/object3",
      "start": 20,
      "end": 44,
      "loc": {
        "start": {
          "line": 1,
          "column": 20
        },
        "end": {
          "line": 1,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 44,
      "end": 45,
      "loc": {
        "start": {
          "line": 1,
          "column": 44
        },
        "end": {
          "line": 1,
          "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": 46,
      "end": 52,
      "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": "Ccfuturef",
      "start": 53,
      "end": 62,
      "loc": {
        "start": {
          "line": 2,
          "column": 7
        },
        "end": {
          "line": 2,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 63,
      "end": 67,
      "loc": {
        "start": {
          "line": 2,
          "column": 17
        },
        "end": {
          "line": 2,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "../ccfuturef",
      "start": 68,
      "end": 82,
      "loc": {
        "start": {
          "line": 2,
          "column": 22
        },
        "end": {
          "line": 2,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 82,
      "end": 83,
      "loc": {
        "start": {
          "line": 2,
          "column": 36
        },
        "end": {
          "line": 2,
          "column": 37
        }
      }
    },
    {
      "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": 84,
      "end": 90,
      "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": "Ccref",
      "start": 91,
      "end": 96,
      "loc": {
        "start": {
          "line": 3,
          "column": 7
        },
        "end": {
          "line": 3,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 97,
      "end": 101,
      "loc": {
        "start": {
          "line": 3,
          "column": 13
        },
        "end": {
          "line": 3,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "../ccref",
      "start": 102,
      "end": 112,
      "loc": {
        "start": {
          "line": 3,
          "column": 18
        },
        "end": {
          "line": 3,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 112,
      "end": 113,
      "loc": {
        "start": {
          "line": 3,
          "column": 28
        },
        "end": {
          "line": 3,
          "column": 29
        }
      }
    },
    {
      "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": 114,
      "end": 120,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 121,
      "end": 122,
      "loc": {
        "start": {
          "line": 4,
          "column": 7
        },
        "end": {
          "line": 4,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addCommand",
      "start": 122,
      "end": 132,
      "loc": {
        "start": {
          "line": 4,
          "column": 8
        },
        "end": {
          "line": 4,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 132,
      "end": 133,
      "loc": {
        "start": {
          "line": 4,
          "column": 18
        },
        "end": {
          "line": 4,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 134,
      "end": 138,
      "loc": {
        "start": {
          "line": 4,
          "column": 20
        },
        "end": {
          "line": 4,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "../command/highlevel",
      "start": 139,
      "end": 161,
      "loc": {
        "start": {
          "line": 4,
          "column": 25
        },
        "end": {
          "line": 4,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 161,
      "end": 162,
      "loc": {
        "start": {
          "line": 4,
          "column": 47
        },
        "end": {
          "line": 4,
          "column": 48
        }
      }
    },
    {
      "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": 163,
      "end": 169,
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 170,
      "end": 171,
      "loc": {
        "start": {
          "line": 5,
          "column": 7
        },
        "end": {
          "line": 5,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Assign",
      "start": 171,
      "end": 177,
      "loc": {
        "start": {
          "line": 5,
          "column": 8
        },
        "end": {
          "line": 5,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 177,
      "end": 178,
      "loc": {
        "start": {
          "line": 5,
          "column": 14
        },
        "end": {
          "line": 5,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "IdToReal",
      "start": 179,
      "end": 187,
      "loc": {
        "start": {
          "line": 5,
          "column": 16
        },
        "end": {
          "line": 5,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 187,
      "end": 188,
      "loc": {
        "start": {
          "line": 5,
          "column": 24
        },
        "end": {
          "line": 5,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Member",
      "start": 189,
      "end": 195,
      "loc": {
        "start": {
          "line": 5,
          "column": 26
        },
        "end": {
          "line": 5,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 195,
      "end": 196,
      "loc": {
        "start": {
          "line": 5,
          "column": 32
        },
        "end": {
          "line": 5,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Variable",
      "start": 197,
      "end": 205,
      "loc": {
        "start": {
          "line": 5,
          "column": 34
        },
        "end": {
          "line": 5,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 205,
      "end": 206,
      "loc": {
        "start": {
          "line": 5,
          "column": 42
        },
        "end": {
          "line": 5,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Return",
      "start": 207,
      "end": 213,
      "loc": {
        "start": {
          "line": 5,
          "column": 44
        },
        "end": {
          "line": 5,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 213,
      "end": 214,
      "loc": {
        "start": {
          "line": 5,
          "column": 50
        },
        "end": {
          "line": 5,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Sequence",
      "start": 215,
      "end": 223,
      "loc": {
        "start": {
          "line": 5,
          "column": 52
        },
        "end": {
          "line": 5,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 223,
      "end": 224,
      "loc": {
        "start": {
          "line": 5,
          "column": 60
        },
        "end": {
          "line": 5,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 225,
      "end": 229,
      "loc": {
        "start": {
          "line": 5,
          "column": 62
        },
        "end": {
          "line": 5,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "../command/lowlevel",
      "start": 230,
      "end": 251,
      "loc": {
        "start": {
          "line": 5,
          "column": 67
        },
        "end": {
          "line": 5,
          "column": 88
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 251,
      "end": 252,
      "loc": {
        "start": {
          "line": 5,
          "column": 88
        },
        "end": {
          "line": 5,
          "column": 89
        }
      }
    },
    {
      "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": 253,
      "end": 259,
      "loc": {
        "start": {
          "line": 6,
          "column": 0
        },
        "end": {
          "line": 6,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 260,
      "end": 261,
      "loc": {
        "start": {
          "line": 6,
          "column": 7
        },
        "end": {
          "line": 6,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "incidence",
      "start": 261,
      "end": 270,
      "loc": {
        "start": {
          "line": 6,
          "column": 8
        },
        "end": {
          "line": 6,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 270,
      "end": 271,
      "loc": {
        "start": {
          "line": 6,
          "column": 17
        },
        "end": {
          "line": 6,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 272,
      "end": 276,
      "loc": {
        "start": {
          "line": 6,
          "column": 19
        },
        "end": {
          "line": 6,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "../constraint/type",
      "start": 277,
      "end": 297,
      "loc": {
        "start": {
          "line": 6,
          "column": 24
        },
        "end": {
          "line": 6,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 297,
      "end": 298,
      "loc": {
        "start": {
          "line": 6,
          "column": 44
        },
        "end": {
          "line": 6,
          "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": 299,
      "end": 305,
      "loc": {
        "start": {
          "line": 7,
          "column": 0
        },
        "end": {
          "line": 7,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 306,
      "end": 307,
      "loc": {
        "start": {
          "line": 7,
          "column": 7
        },
        "end": {
          "line": 7,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "calcSketchPos",
      "start": 307,
      "end": 320,
      "loc": {
        "start": {
          "line": 7,
          "column": 8
        },
        "end": {
          "line": 7,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 320,
      "end": 321,
      "loc": {
        "start": {
          "line": 7,
          "column": 21
        },
        "end": {
          "line": 7,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 322,
      "end": 326,
      "loc": {
        "start": {
          "line": 7,
          "column": 23
        },
        "end": {
          "line": 7,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "../viewutils",
      "start": 327,
      "end": 341,
      "loc": {
        "start": {
          "line": 7,
          "column": 28
        },
        "end": {
          "line": 7,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 341,
      "end": 342,
      "loc": {
        "start": {
          "line": 7,
          "column": 42
        },
        "end": {
          "line": 7,
          "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": 343,
      "end": 349,
      "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": "DrawHandler",
      "start": 350,
      "end": 361,
      "loc": {
        "start": {
          "line": 8,
          "column": 7
        },
        "end": {
          "line": 8,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 362,
      "end": 366,
      "loc": {
        "start": {
          "line": 8,
          "column": 19
        },
        "end": {
          "line": 8,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./draw",
      "start": 367,
      "end": 375,
      "loc": {
        "start": {
          "line": 8,
          "column": 24
        },
        "end": {
          "line": 8,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 375,
      "end": 376,
      "loc": {
        "start": {
          "line": 8,
          "column": 32
        },
        "end": {
          "line": 8,
          "column": 33
        }
      }
    },
    {
      "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": 378,
      "end": 384,
      "loc": {
        "start": {
          "line": 10,
          "column": 0
        },
        "end": {
          "line": 10,
          "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": 385,
      "end": 392,
      "loc": {
        "start": {
          "line": 10,
          "column": 7
        },
        "end": {
          "line": 10,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "class",
        "keyword": "class",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "class",
      "start": 393,
      "end": 398,
      "loc": {
        "start": {
          "line": 10,
          "column": 15
        },
        "end": {
          "line": 10,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "PolylineHandler",
      "start": 399,
      "end": 414,
      "loc": {
        "start": {
          "line": 10,
          "column": 21
        },
        "end": {
          "line": 10,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "extends",
        "keyword": "extends",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "extends",
      "start": 415,
      "end": 422,
      "loc": {
        "start": {
          "line": 10,
          "column": 37
        },
        "end": {
          "line": 10,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "DrawHandler",
      "start": 423,
      "end": 434,
      "loc": {
        "start": {
          "line": 10,
          "column": 45
        },
        "end": {
          "line": 10,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 435,
      "end": 436,
      "loc": {
        "start": {
          "line": 10,
          "column": 57
        },
        "end": {
          "line": 10,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constructor",
      "start": 441,
      "end": 452,
      "loc": {
        "start": {
          "line": 11,
          "column": 4
        },
        "end": {
          "line": 11,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 452,
      "end": 453,
      "loc": {
        "start": {
          "line": 11,
          "column": 15
        },
        "end": {
          "line": 11,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sketcher",
      "start": 453,
      "end": 461,
      "loc": {
        "start": {
          "line": 11,
          "column": 16
        },
        "end": {
          "line": 11,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 461,
      "end": 462,
      "loc": {
        "start": {
          "line": 11,
          "column": 24
        },
        "end": {
          "line": 11,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 463,
      "end": 467,
      "loc": {
        "start": {
          "line": 11,
          "column": 26
        },
        "end": {
          "line": 11,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 467,
      "end": 468,
      "loc": {
        "start": {
          "line": 11,
          "column": 30
        },
        "end": {
          "line": 11,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 469,
      "end": 470,
      "loc": {
        "start": {
          "line": 11,
          "column": 32
        },
        "end": {
          "line": 11,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "super",
        "keyword": "super",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "super",
      "start": 479,
      "end": 484,
      "loc": {
        "start": {
          "line": 12,
          "column": 8
        },
        "end": {
          "line": 12,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 484,
      "end": 485,
      "loc": {
        "start": {
          "line": 12,
          "column": 13
        },
        "end": {
          "line": 12,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sketcher",
      "start": 485,
      "end": 493,
      "loc": {
        "start": {
          "line": 12,
          "column": 14
        },
        "end": {
          "line": 12,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 493,
      "end": 494,
      "loc": {
        "start": {
          "line": 12,
          "column": 22
        },
        "end": {
          "line": 12,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 495,
      "end": 499,
      "loc": {
        "start": {
          "line": 12,
          "column": 24
        },
        "end": {
          "line": 12,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 499,
      "end": 500,
      "loc": {
        "start": {
          "line": 12,
          "column": 28
        },
        "end": {
          "line": 12,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 500,
      "end": 501,
      "loc": {
        "start": {
          "line": 12,
          "column": 29
        },
        "end": {
          "line": 12,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 510,
      "end": 514,
      "loc": {
        "start": {
          "line": 13,
          "column": 8
        },
        "end": {
          "line": 13,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 514,
      "end": 515,
      "loc": {
        "start": {
          "line": 13,
          "column": 12
        },
        "end": {
          "line": 13,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "lastPoint",
      "start": 515,
      "end": 524,
      "loc": {
        "start": {
          "line": 13,
          "column": 13
        },
        "end": {
          "line": 13,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 525,
      "end": 526,
      "loc": {
        "start": {
          "line": 13,
          "column": 23
        },
        "end": {
          "line": 13,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "null",
        "keyword": "null",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "null",
      "start": 527,
      "end": 531,
      "loc": {
        "start": {
          "line": 13,
          "column": 25
        },
        "end": {
          "line": 13,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 531,
      "end": 532,
      "loc": {
        "start": {
          "line": 13,
          "column": 29
        },
        "end": {
          "line": 13,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 541,
      "end": 545,
      "loc": {
        "start": {
          "line": 14,
          "column": 8
        },
        "end": {
          "line": 14,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 545,
      "end": 546,
      "loc": {
        "start": {
          "line": 14,
          "column": 12
        },
        "end": {
          "line": 14,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "edgeHandler",
      "start": 546,
      "end": 557,
      "loc": {
        "start": {
          "line": 14,
          "column": 13
        },
        "end": {
          "line": 14,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 558,
      "end": 559,
      "loc": {
        "start": {
          "line": 14,
          "column": 25
        },
        "end": {
          "line": 14,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "null",
        "keyword": "null",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "null",
      "start": 560,
      "end": 564,
      "loc": {
        "start": {
          "line": 14,
          "column": 27
        },
        "end": {
          "line": 14,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 564,
      "end": 565,
      "loc": {
        "start": {
          "line": 14,
          "column": 31
        },
        "end": {
          "line": 14,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 570,
      "end": 571,
      "loc": {
        "start": {
          "line": 15,
          "column": 4
        },
        "end": {
          "line": 15,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "destroy",
      "start": 577,
      "end": 584,
      "loc": {
        "start": {
          "line": 17,
          "column": 4
        },
        "end": {
          "line": 17,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 584,
      "end": 585,
      "loc": {
        "start": {
          "line": 17,
          "column": 11
        },
        "end": {
          "line": 17,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 585,
      "end": 592,
      "loc": {
        "start": {
          "line": 17,
          "column": 12
        },
        "end": {
          "line": 17,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 592,
      "end": 593,
      "loc": {
        "start": {
          "line": 17,
          "column": 19
        },
        "end": {
          "line": 17,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 594,
      "end": 595,
      "loc": {
        "start": {
          "line": 17,
          "column": 21
        },
        "end": {
          "line": 17,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 604,
      "end": 608,
      "loc": {
        "start": {
          "line": 18,
          "column": 8
        },
        "end": {
          "line": 18,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 608,
      "end": 609,
      "loc": {
        "start": {
          "line": 18,
          "column": 12
        },
        "end": {
          "line": 18,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "setEdgeHandler",
      "start": 609,
      "end": 623,
      "loc": {
        "start": {
          "line": 18,
          "column": 13
        },
        "end": {
          "line": 18,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 623,
      "end": 624,
      "loc": {
        "start": {
          "line": 18,
          "column": 27
        },
        "end": {
          "line": 18,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "null",
        "keyword": "null",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "null",
      "start": 624,
      "end": 628,
      "loc": {
        "start": {
          "line": 18,
          "column": 28
        },
        "end": {
          "line": 18,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 628,
      "end": 629,
      "loc": {
        "start": {
          "line": 18,
          "column": 32
        },
        "end": {
          "line": 18,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 629,
      "end": 630,
      "loc": {
        "start": {
          "line": 18,
          "column": 33
        },
        "end": {
          "line": 18,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "super",
        "keyword": "super",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "super",
      "start": 639,
      "end": 644,
      "loc": {
        "start": {
          "line": 19,
          "column": 8
        },
        "end": {
          "line": 19,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 644,
      "end": 645,
      "loc": {
        "start": {
          "line": 19,
          "column": 13
        },
        "end": {
          "line": 19,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "destroy",
      "start": 645,
      "end": 652,
      "loc": {
        "start": {
          "line": 19,
          "column": 14
        },
        "end": {
          "line": 19,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 652,
      "end": 653,
      "loc": {
        "start": {
          "line": 19,
          "column": 21
        },
        "end": {
          "line": 19,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 653,
      "end": 654,
      "loc": {
        "start": {
          "line": 19,
          "column": 22
        },
        "end": {
          "line": 19,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 654,
      "end": 655,
      "loc": {
        "start": {
          "line": 19,
          "column": 23
        },
        "end": {
          "line": 19,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 660,
      "end": 661,
      "loc": {
        "start": {
          "line": 20,
          "column": 4
        },
        "end": {
          "line": 20,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "get",
      "start": 667,
      "end": 670,
      "loc": {
        "start": {
          "line": 22,
          "column": 4
        },
        "end": {
          "line": 22,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "restrictions",
      "start": 671,
      "end": 683,
      "loc": {
        "start": {
          "line": 22,
          "column": 8
        },
        "end": {
          "line": 22,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 683,
      "end": 684,
      "loc": {
        "start": {
          "line": 22,
          "column": 20
        },
        "end": {
          "line": 22,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 684,
      "end": 685,
      "loc": {
        "start": {
          "line": 22,
          "column": 21
        },
        "end": {
          "line": 22,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 686,
      "end": 687,
      "loc": {
        "start": {
          "line": 22,
          "column": 23
        },
        "end": {
          "line": 22,
          "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": 696,
      "end": 702,
      "loc": {
        "start": {
          "line": 23,
          "column": 8
        },
        "end": {
          "line": 23,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 703,
      "end": 707,
      "loc": {
        "start": {
          "line": 23,
          "column": 15
        },
        "end": {
          "line": 23,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 707,
      "end": 708,
      "loc": {
        "start": {
          "line": 23,
          "column": 19
        },
        "end": {
          "line": 23,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "edgeHandler",
      "start": 708,
      "end": 719,
      "loc": {
        "start": {
          "line": 23,
          "column": 20
        },
        "end": {
          "line": 23,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 719,
      "end": 720,
      "loc": {
        "start": {
          "line": 23,
          "column": 31
        },
        "end": {
          "line": 23,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "restrictions",
      "start": 720,
      "end": 732,
      "loc": {
        "start": {
          "line": 23,
          "column": 32
        },
        "end": {
          "line": 23,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 733,
      "end": 735,
      "loc": {
        "start": {
          "line": 23,
          "column": 45
        },
        "end": {
          "line": 23,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 736,
      "end": 737,
      "loc": {
        "start": {
          "line": 23,
          "column": 48
        },
        "end": {
          "line": 23,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 737,
      "end": 738,
      "loc": {
        "start": {
          "line": 23,
          "column": 49
        },
        "end": {
          "line": 23,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 738,
      "end": 739,
      "loc": {
        "start": {
          "line": 23,
          "column": 50
        },
        "end": {
          "line": 23,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 744,
      "end": 745,
      "loc": {
        "start": {
          "line": 24,
          "column": 4
        },
        "end": {
          "line": 24,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "set",
      "start": 751,
      "end": 754,
      "loc": {
        "start": {
          "line": 26,
          "column": 4
        },
        "end": {
          "line": 26,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "restrictions",
      "start": 755,
      "end": 767,
      "loc": {
        "start": {
          "line": 26,
          "column": 8
        },
        "end": {
          "line": 26,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 767,
      "end": 768,
      "loc": {
        "start": {
          "line": 26,
          "column": 20
        },
        "end": {
          "line": 26,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "value",
      "start": 768,
      "end": 773,
      "loc": {
        "start": {
          "line": 26,
          "column": 21
        },
        "end": {
          "line": 26,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 773,
      "end": 774,
      "loc": {
        "start": {
          "line": 26,
          "column": 26
        },
        "end": {
          "line": 26,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 775,
      "end": 776,
      "loc": {
        "start": {
          "line": 26,
          "column": 28
        },
        "end": {
          "line": 26,
          "column": 29
        }
      }
    },
    {
      "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": 785,
      "end": 787,
      "loc": {
        "start": {
          "line": 27,
          "column": 8
        },
        "end": {
          "line": 27,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 788,
      "end": 789,
      "loc": {
        "start": {
          "line": 27,
          "column": 11
        },
        "end": {
          "line": 27,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 789,
      "end": 793,
      "loc": {
        "start": {
          "line": 27,
          "column": 12
        },
        "end": {
          "line": 27,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 793,
      "end": 794,
      "loc": {
        "start": {
          "line": 27,
          "column": 16
        },
        "end": {
          "line": 27,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "edgeHandler",
      "start": 794,
      "end": 805,
      "loc": {
        "start": {
          "line": 27,
          "column": 17
        },
        "end": {
          "line": 27,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 805,
      "end": 806,
      "loc": {
        "start": {
          "line": 27,
          "column": 28
        },
        "end": {
          "line": 27,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 819,
      "end": 823,
      "loc": {
        "start": {
          "line": 28,
          "column": 12
        },
        "end": {
          "line": 28,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 823,
      "end": 824,
      "loc": {
        "start": {
          "line": 28,
          "column": 16
        },
        "end": {
          "line": 28,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "edgeHandler",
      "start": 824,
      "end": 835,
      "loc": {
        "start": {
          "line": 28,
          "column": 17
        },
        "end": {
          "line": 28,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 835,
      "end": 836,
      "loc": {
        "start": {
          "line": 28,
          "column": 28
        },
        "end": {
          "line": 28,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "restrictions",
      "start": 836,
      "end": 848,
      "loc": {
        "start": {
          "line": 28,
          "column": 29
        },
        "end": {
          "line": 28,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 849,
      "end": 850,
      "loc": {
        "start": {
          "line": 28,
          "column": 42
        },
        "end": {
          "line": 28,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "value",
      "start": 851,
      "end": 856,
      "loc": {
        "start": {
          "line": 28,
          "column": 44
        },
        "end": {
          "line": 28,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 856,
      "end": 857,
      "loc": {
        "start": {
          "line": 28,
          "column": 49
        },
        "end": {
          "line": 28,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 862,
      "end": 863,
      "loc": {
        "start": {
          "line": 29,
          "column": 4
        },
        "end": {
          "line": 29,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "setEdgeHandler",
      "start": 869,
      "end": 883,
      "loc": {
        "start": {
          "line": 31,
          "column": 4
        },
        "end": {
          "line": 31,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 883,
      "end": 884,
      "loc": {
        "start": {
          "line": 31,
          "column": 18
        },
        "end": {
          "line": 31,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "edgeHandler",
      "start": 884,
      "end": 895,
      "loc": {
        "start": {
          "line": 31,
          "column": 19
        },
        "end": {
          "line": 31,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 895,
      "end": 896,
      "loc": {
        "start": {
          "line": 31,
          "column": 30
        },
        "end": {
          "line": 31,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 897,
      "end": 898,
      "loc": {
        "start": {
          "line": 31,
          "column": 32
        },
        "end": {
          "line": 31,
          "column": 33
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " don't destroy sketch interaction because we need it",
      "start": 907,
      "end": 961,
      "loc": {
        "start": {
          "line": 32,
          "column": 8
        },
        "end": {
          "line": 32,
          "column": 62
        }
      }
    },
    {
      "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": 970,
      "end": 972,
      "loc": {
        "start": {
          "line": 33,
          "column": 8
        },
        "end": {
          "line": 33,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 973,
      "end": 974,
      "loc": {
        "start": {
          "line": 33,
          "column": 11
        },
        "end": {
          "line": 33,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 974,
      "end": 978,
      "loc": {
        "start": {
          "line": 33,
          "column": 12
        },
        "end": {
          "line": 33,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 978,
      "end": 979,
      "loc": {
        "start": {
          "line": 33,
          "column": 16
        },
        "end": {
          "line": 33,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "edgeHandler",
      "start": 979,
      "end": 990,
      "loc": {
        "start": {
          "line": 33,
          "column": 17
        },
        "end": {
          "line": 33,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 990,
      "end": 991,
      "loc": {
        "start": {
          "line": 33,
          "column": 28
        },
        "end": {
          "line": 33,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1004,
      "end": 1008,
      "loc": {
        "start": {
          "line": 34,
          "column": 12
        },
        "end": {
          "line": 34,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1008,
      "end": 1009,
      "loc": {
        "start": {
          "line": 34,
          "column": 16
        },
        "end": {
          "line": 34,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "edgeHandler",
      "start": 1009,
      "end": 1020,
      "loc": {
        "start": {
          "line": 34,
          "column": 17
        },
        "end": {
          "line": 34,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1020,
      "end": 1021,
      "loc": {
        "start": {
          "line": 34,
          "column": 28
        },
        "end": {
          "line": 34,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "destroy",
      "start": 1021,
      "end": 1028,
      "loc": {
        "start": {
          "line": 34,
          "column": 29
        },
        "end": {
          "line": 34,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1028,
      "end": 1029,
      "loc": {
        "start": {
          "line": 34,
          "column": 36
        },
        "end": {
          "line": 34,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1029,
      "end": 1030,
      "loc": {
        "start": {
          "line": 34,
          "column": 37
        },
        "end": {
          "line": 34,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "interaction",
      "start": 1030,
      "end": 1041,
      "loc": {
        "start": {
          "line": 34,
          "column": 38
        },
        "end": {
          "line": 34,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1041,
      "end": 1042,
      "loc": {
        "start": {
          "line": 34,
          "column": 49
        },
        "end": {
          "line": 34,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 1043,
      "end": 1048,
      "loc": {
        "start": {
          "line": 34,
          "column": 51
        },
        "end": {
          "line": 34,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1048,
      "end": 1049,
      "loc": {
        "start": {
          "line": 34,
          "column": 56
        },
        "end": {
          "line": 34,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1049,
      "end": 1050,
      "loc": {
        "start": {
          "line": 34,
          "column": 57
        },
        "end": {
          "line": 34,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1050,
      "end": 1051,
      "loc": {
        "start": {
          "line": 34,
          "column": 58
        },
        "end": {
          "line": 34,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1060,
      "end": 1064,
      "loc": {
        "start": {
          "line": 35,
          "column": 8
        },
        "end": {
          "line": 35,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1064,
      "end": 1065,
      "loc": {
        "start": {
          "line": 35,
          "column": 12
        },
        "end": {
          "line": 35,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "edgeHandler",
      "start": 1065,
      "end": 1076,
      "loc": {
        "start": {
          "line": 35,
          "column": 13
        },
        "end": {
          "line": 35,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1077,
      "end": 1078,
      "loc": {
        "start": {
          "line": 35,
          "column": 25
        },
        "end": {
          "line": 35,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "edgeHandler",
      "start": 1079,
      "end": 1090,
      "loc": {
        "start": {
          "line": 35,
          "column": 27
        },
        "end": {
          "line": 35,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1090,
      "end": 1091,
      "loc": {
        "start": {
          "line": 35,
          "column": 38
        },
        "end": {
          "line": 35,
          "column": 39
        }
      }
    },
    {
      "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": 1100,
      "end": 1102,
      "loc": {
        "start": {
          "line": 36,
          "column": 8
        },
        "end": {
          "line": 36,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1103,
      "end": 1104,
      "loc": {
        "start": {
          "line": 36,
          "column": 11
        },
        "end": {
          "line": 36,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "edgeHandler",
      "start": 1104,
      "end": 1115,
      "loc": {
        "start": {
          "line": 36,
          "column": 12
        },
        "end": {
          "line": 36,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1115,
      "end": 1116,
      "loc": {
        "start": {
          "line": 36,
          "column": 23
        },
        "end": {
          "line": 36,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "edgeHandler",
      "start": 1129,
      "end": 1140,
      "loc": {
        "start": {
          "line": 37,
          "column": 12
        },
        "end": {
          "line": 37,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1140,
      "end": 1141,
      "loc": {
        "start": {
          "line": 37,
          "column": 23
        },
        "end": {
          "line": 37,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "removeInteractions",
      "start": 1141,
      "end": 1159,
      "loc": {
        "start": {
          "line": 37,
          "column": 24
        },
        "end": {
          "line": 37,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1159,
      "end": 1160,
      "loc": {
        "start": {
          "line": 37,
          "column": 42
        },
        "end": {
          "line": 37,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1160,
      "end": 1161,
      "loc": {
        "start": {
          "line": 37,
          "column": 43
        },
        "end": {
          "line": 37,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "interaction",
      "start": 1161,
      "end": 1172,
      "loc": {
        "start": {
          "line": 37,
          "column": 44
        },
        "end": {
          "line": 37,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1172,
      "end": 1173,
      "loc": {
        "start": {
          "line": 37,
          "column": 55
        },
        "end": {
          "line": 37,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 1174,
      "end": 1179,
      "loc": {
        "start": {
          "line": 37,
          "column": 57
        },
        "end": {
          "line": 37,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1179,
      "end": 1180,
      "loc": {
        "start": {
          "line": 37,
          "column": 62
        },
        "end": {
          "line": 37,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1180,
      "end": 1181,
      "loc": {
        "start": {
          "line": 37,
          "column": 63
        },
        "end": {
          "line": 37,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1181,
      "end": 1182,
      "loc": {
        "start": {
          "line": 37,
          "column": 64
        },
        "end": {
          "line": 37,
          "column": 65
        }
      }
    },
    {
      "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": 1191,
      "end": 1193,
      "loc": {
        "start": {
          "line": 38,
          "column": 8
        },
        "end": {
          "line": 38,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1194,
      "end": 1195,
      "loc": {
        "start": {
          "line": 38,
          "column": 11
        },
        "end": {
          "line": 38,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "edgeHandler",
      "start": 1195,
      "end": 1206,
      "loc": {
        "start": {
          "line": 38,
          "column": 12
        },
        "end": {
          "line": 38,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 1207,
      "end": 1209,
      "loc": {
        "start": {
          "line": 38,
          "column": 24
        },
        "end": {
          "line": 38,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1210,
      "end": 1214,
      "loc": {
        "start": {
          "line": 38,
          "column": 27
        },
        "end": {
          "line": 38,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1214,
      "end": 1215,
      "loc": {
        "start": {
          "line": 38,
          "column": 31
        },
        "end": {
          "line": 38,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "lastPoint",
      "start": 1215,
      "end": 1224,
      "loc": {
        "start": {
          "line": 38,
          "column": 32
        },
        "end": {
          "line": 38,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1224,
      "end": 1225,
      "loc": {
        "start": {
          "line": 38,
          "column": 41
        },
        "end": {
          "line": 38,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "edgeHandler",
      "start": 1238,
      "end": 1249,
      "loc": {
        "start": {
          "line": 39,
          "column": 12
        },
        "end": {
          "line": 39,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1249,
      "end": 1250,
      "loc": {
        "start": {
          "line": 39,
          "column": 23
        },
        "end": {
          "line": 39,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "click",
      "start": 1250,
      "end": 1255,
      "loc": {
        "start": {
          "line": 39,
          "column": 24
        },
        "end": {
          "line": 39,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1255,
      "end": 1256,
      "loc": {
        "start": {
          "line": 39,
          "column": 29
        },
        "end": {
          "line": 39,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1256,
      "end": 1260,
      "loc": {
        "start": {
          "line": 39,
          "column": 30
        },
        "end": {
          "line": 39,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1260,
      "end": 1261,
      "loc": {
        "start": {
          "line": 39,
          "column": 34
        },
        "end": {
          "line": 39,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "lastPoint",
      "start": 1261,
      "end": 1270,
      "loc": {
        "start": {
          "line": 39,
          "column": 35
        },
        "end": {
          "line": 39,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1270,
      "end": 1271,
      "loc": {
        "start": {
          "line": 39,
          "column": 44
        },
        "end": {
          "line": 39,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "pos",
      "start": 1271,
      "end": 1274,
      "loc": {
        "start": {
          "line": 39,
          "column": 45
        },
        "end": {
          "line": 39,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1274,
      "end": 1275,
      "loc": {
        "start": {
          "line": 39,
          "column": 48
        },
        "end": {
          "line": 39,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1275,
      "end": 1276,
      "loc": {
        "start": {
          "line": 39,
          "column": 49
        },
        "end": {
          "line": 39,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1281,
      "end": 1282,
      "loc": {
        "start": {
          "line": 40,
          "column": 4
        },
        "end": {
          "line": 40,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "move",
      "start": 1288,
      "end": 1292,
      "loc": {
        "start": {
          "line": 42,
          "column": 4
        },
        "end": {
          "line": 42,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1292,
      "end": 1293,
      "loc": {
        "start": {
          "line": 42,
          "column": 8
        },
        "end": {
          "line": 42,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "position",
      "start": 1293,
      "end": 1301,
      "loc": {
        "start": {
          "line": 42,
          "column": 9
        },
        "end": {
          "line": 42,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1301,
      "end": 1302,
      "loc": {
        "start": {
          "line": 42,
          "column": 17
        },
        "end": {
          "line": 42,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1303,
      "end": 1304,
      "loc": {
        "start": {
          "line": 42,
          "column": 19
        },
        "end": {
          "line": 42,
          "column": 20
        }
      }
    },
    {
      "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": 1313,
      "end": 1315,
      "loc": {
        "start": {
          "line": 43,
          "column": 8
        },
        "end": {
          "line": 43,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1316,
      "end": 1317,
      "loc": {
        "start": {
          "line": 43,
          "column": 11
        },
        "end": {
          "line": 43,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 1317,
      "end": 1318,
      "loc": {
        "start": {
          "line": 43,
          "column": 12
        },
        "end": {
          "line": 43,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1318,
      "end": 1322,
      "loc": {
        "start": {
          "line": 43,
          "column": 13
        },
        "end": {
          "line": 43,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1322,
      "end": 1323,
      "loc": {
        "start": {
          "line": 43,
          "column": 17
        },
        "end": {
          "line": 43,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "queue",
      "start": 1323,
      "end": 1328,
      "loc": {
        "start": {
          "line": 43,
          "column": 18
        },
        "end": {
          "line": 43,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1328,
      "end": 1329,
      "loc": {
        "start": {
          "line": 43,
          "column": 23
        },
        "end": {
          "line": 43,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isBusy",
      "start": 1329,
      "end": 1335,
      "loc": {
        "start": {
          "line": 43,
          "column": 24
        },
        "end": {
          "line": 43,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1335,
      "end": 1336,
      "loc": {
        "start": {
          "line": 43,
          "column": 30
        },
        "end": {
          "line": 43,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1336,
      "end": 1337,
      "loc": {
        "start": {
          "line": 43,
          "column": 31
        },
        "end": {
          "line": 43,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1337,
      "end": 1338,
      "loc": {
        "start": {
          "line": 43,
          "column": 32
        },
        "end": {
          "line": 43,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1351,
      "end": 1355,
      "loc": {
        "start": {
          "line": 44,
          "column": 12
        },
        "end": {
          "line": 44,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1355,
      "end": 1356,
      "loc": {
        "start": {
          "line": 44,
          "column": 16
        },
        "end": {
          "line": 44,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "edgeHandler",
      "start": 1356,
      "end": 1367,
      "loc": {
        "start": {
          "line": 44,
          "column": 17
        },
        "end": {
          "line": 44,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1367,
      "end": 1368,
      "loc": {
        "start": {
          "line": 44,
          "column": 28
        },
        "end": {
          "line": 44,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "move",
      "start": 1368,
      "end": 1372,
      "loc": {
        "start": {
          "line": 44,
          "column": 29
        },
        "end": {
          "line": 44,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1372,
      "end": 1373,
      "loc": {
        "start": {
          "line": 44,
          "column": 33
        },
        "end": {
          "line": 44,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "position",
      "start": 1373,
      "end": 1381,
      "loc": {
        "start": {
          "line": 44,
          "column": 34
        },
        "end": {
          "line": 44,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1381,
      "end": 1382,
      "loc": {
        "start": {
          "line": 44,
          "column": 42
        },
        "end": {
          "line": 44,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1382,
      "end": 1383,
      "loc": {
        "start": {
          "line": 44,
          "column": 43
        },
        "end": {
          "line": 44,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1388,
      "end": 1389,
      "loc": {
        "start": {
          "line": 45,
          "column": 4
        },
        "end": {
          "line": 45,
          "column": 5
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " returns promise of the new lastPoint",
      "start": 1395,
      "end": 1434,
      "loc": {
        "start": {
          "line": 47,
          "column": 4
        },
        "end": {
          "line": 47,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "afterEdgeAdded",
      "start": 1439,
      "end": 1453,
      "loc": {
        "start": {
          "line": 48,
          "column": 4
        },
        "end": {
          "line": 48,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1453,
      "end": 1454,
      "loc": {
        "start": {
          "line": 48,
          "column": 18
        },
        "end": {
          "line": 48,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "geomParams",
      "start": 1454,
      "end": 1464,
      "loc": {
        "start": {
          "line": 48,
          "column": 19
        },
        "end": {
          "line": 48,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1464,
      "end": 1465,
      "loc": {
        "start": {
          "line": 48,
          "column": 29
        },
        "end": {
          "line": 48,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1466,
      "end": 1467,
      "loc": {
        "start": {
          "line": 48,
          "column": 31
        },
        "end": {
          "line": 48,
          "column": 32
        }
      }
    },
    {
      "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": 1476,
      "end": 1478,
      "loc": {
        "start": {
          "line": 49,
          "column": 8
        },
        "end": {
          "line": 49,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1479,
      "end": 1480,
      "loc": {
        "start": {
          "line": 49,
          "column": 11
        },
        "end": {
          "line": 49,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 1480,
      "end": 1481,
      "loc": {
        "start": {
          "line": 49,
          "column": 12
        },
        "end": {
          "line": 49,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "geomParams",
      "start": 1481,
      "end": 1491,
      "loc": {
        "start": {
          "line": 49,
          "column": 13
        },
        "end": {
          "line": 49,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1491,
      "end": 1492,
      "loc": {
        "start": {
          "line": 49,
          "column": 23
        },
        "end": {
          "line": 49,
          "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": 1505,
      "end": 1511,
      "loc": {
        "start": {
          "line": 50,
          "column": 12
        },
        "end": {
          "line": 50,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1512,
      "end": 1516,
      "loc": {
        "start": {
          "line": 50,
          "column": 19
        },
        "end": {
          "line": 50,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1516,
      "end": 1517,
      "loc": {
        "start": {
          "line": 50,
          "column": 23
        },
        "end": {
          "line": 50,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "lastPoint",
      "start": 1517,
      "end": 1526,
      "loc": {
        "start": {
          "line": 50,
          "column": 24
        },
        "end": {
          "line": 50,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1526,
      "end": 1527,
      "loc": {
        "start": {
          "line": 50,
          "column": 33
        },
        "end": {
          "line": 50,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 1537,
      "end": 1542,
      "loc": {
        "start": {
          "line": 52,
          "column": 8
        },
        "end": {
          "line": 52,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "object",
      "start": 1543,
      "end": 1549,
      "loc": {
        "start": {
          "line": 52,
          "column": 14
        },
        "end": {
          "line": 52,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1550,
      "end": 1551,
      "loc": {
        "start": {
          "line": 52,
          "column": 21
        },
        "end": {
          "line": 52,
          "column": 22
        }
      }
    },
    {
      "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": 1552,
      "end": 1555,
      "loc": {
        "start": {
          "line": 52,
          "column": 23
        },
        "end": {
          "line": 52,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Ccfuturef",
      "start": 1556,
      "end": 1565,
      "loc": {
        "start": {
          "line": 52,
          "column": 27
        },
        "end": {
          "line": 52,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1565,
      "end": 1566,
      "loc": {
        "start": {
          "line": 52,
          "column": 36
        },
        "end": {
          "line": 52,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Variable",
      "start": 1566,
      "end": 1574,
      "loc": {
        "start": {
          "line": 52,
          "column": 37
        },
        "end": {
          "line": 52,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1574,
      "end": 1575,
      "loc": {
        "start": {
          "line": 52,
          "column": 45
        },
        "end": {
          "line": 52,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1575,
      "end": 1576,
      "loc": {
        "start": {
          "line": 52,
          "column": 46
        },
        "end": {
          "line": 52,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1576,
      "end": 1577,
      "loc": {
        "start": {
          "line": 52,
          "column": 47
        },
        "end": {
          "line": 52,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "geomParams",
      "start": 1578,
      "end": 1588,
      "loc": {
        "start": {
          "line": 52,
          "column": 49
        },
        "end": {
          "line": 52,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1588,
      "end": 1589,
      "loc": {
        "start": {
          "line": 52,
          "column": 59
        },
        "end": {
          "line": 52,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1589,
      "end": 1590,
      "loc": {
        "start": {
          "line": 52,
          "column": 60
        },
        "end": {
          "line": 52,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 1599,
      "end": 1604,
      "loc": {
        "start": {
          "line": 53,
          "column": 8
        },
        "end": {
          "line": 53,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "startPoint",
      "start": 1605,
      "end": 1615,
      "loc": {
        "start": {
          "line": 53,
          "column": 14
        },
        "end": {
          "line": 53,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1616,
      "end": 1617,
      "loc": {
        "start": {
          "line": 53,
          "column": 25
        },
        "end": {
          "line": 53,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "object",
      "start": 1618,
      "end": 1624,
      "loc": {
        "start": {
          "line": 53,
          "column": 27
        },
        "end": {
          "line": 53,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1624,
      "end": 1625,
      "loc": {
        "start": {
          "line": 53,
          "column": 33
        },
        "end": {
          "line": 53,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "children",
      "start": 1625,
      "end": 1633,
      "loc": {
        "start": {
          "line": 53,
          "column": 34
        },
        "end": {
          "line": 53,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1633,
      "end": 1634,
      "loc": {
        "start": {
          "line": 53,
          "column": 42
        },
        "end": {
          "line": 53,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "find",
      "start": 1634,
      "end": 1638,
      "loc": {
        "start": {
          "line": 53,
          "column": 43
        },
        "end": {
          "line": 53,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1638,
      "end": 1639,
      "loc": {
        "start": {
          "line": 53,
          "column": 47
        },
        "end": {
          "line": 53,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "child",
      "start": 1639,
      "end": 1644,
      "loc": {
        "start": {
          "line": 53,
          "column": 48
        },
        "end": {
          "line": 53,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1645,
      "end": 1647,
      "loc": {
        "start": {
          "line": 53,
          "column": 54
        },
        "end": {
          "line": 53,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "child",
      "start": 1648,
      "end": 1653,
      "loc": {
        "start": {
          "line": 53,
          "column": 57
        },
        "end": {
          "line": 53,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1653,
      "end": 1654,
      "loc": {
        "start": {
          "line": 53,
          "column": 62
        },
        "end": {
          "line": 53,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isStartPoint",
      "start": 1654,
      "end": 1666,
      "loc": {
        "start": {
          "line": 53,
          "column": 63
        },
        "end": {
          "line": 53,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1666,
      "end": 1667,
      "loc": {
        "start": {
          "line": 53,
          "column": 75
        },
        "end": {
          "line": 53,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1667,
      "end": 1668,
      "loc": {
        "start": {
          "line": 53,
          "column": 76
        },
        "end": {
          "line": 53,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1668,
      "end": 1669,
      "loc": {
        "start": {
          "line": 53,
          "column": 77
        },
        "end": {
          "line": 53,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1669,
      "end": 1670,
      "loc": {
        "start": {
          "line": 53,
          "column": 78
        },
        "end": {
          "line": 53,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 1679,
      "end": 1684,
      "loc": {
        "start": {
          "line": 54,
          "column": 8
        },
        "end": {
          "line": 54,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "manualConstrCommand",
      "start": 1685,
      "end": 1704,
      "loc": {
        "start": {
          "line": 54,
          "column": 14
        },
        "end": {
          "line": 54,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1705,
      "end": 1706,
      "loc": {
        "start": {
          "line": 54,
          "column": 34
        },
        "end": {
          "line": 54,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1707,
      "end": 1708,
      "loc": {
        "start": {
          "line": 54,
          "column": 36
        },
        "end": {
          "line": 54,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1708,
      "end": 1712,
      "loc": {
        "start": {
          "line": 54,
          "column": 37
        },
        "end": {
          "line": 54,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1712,
      "end": 1713,
      "loc": {
        "start": {
          "line": 54,
          "column": 41
        },
        "end": {
          "line": 54,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "lastPoint",
      "start": 1713,
      "end": 1722,
      "loc": {
        "start": {
          "line": 54,
          "column": 42
        },
        "end": {
          "line": 54,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 1723,
      "end": 1725,
      "loc": {
        "start": {
          "line": 54,
          "column": 52
        },
        "end": {
          "line": 54,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 1726,
      "end": 1727,
      "loc": {
        "start": {
          "line": 54,
          "column": 55
        },
        "end": {
          "line": 54,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1727,
      "end": 1731,
      "loc": {
        "start": {
          "line": 54,
          "column": 56
        },
        "end": {
          "line": 54,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1731,
      "end": 1732,
      "loc": {
        "start": {
          "line": 54,
          "column": 60
        },
        "end": {
          "line": 54,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sketcher",
      "start": 1732,
      "end": 1740,
      "loc": {
        "start": {
          "line": 54,
          "column": 61
        },
        "end": {
          "line": 54,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1740,
      "end": 1741,
      "loc": {
        "start": {
          "line": 54,
          "column": 69
        },
        "end": {
          "line": 54,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "autoconstraintIncremental",
      "start": 1741,
      "end": 1766,
      "loc": {
        "start": {
          "line": 54,
          "column": 70
        },
        "end": {
          "line": 54,
          "column": 95
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1766,
      "end": 1767,
      "loc": {
        "start": {
          "line": 54,
          "column": 95
        },
        "end": {
          "line": 54,
          "column": 96
        }
      }
    },
    {
      "type": {
        "label": "?",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1768,
      "end": 1769,
      "loc": {
        "start": {
          "line": 54,
          "column": 97
        },
        "end": {
          "line": 54,
          "column": 98
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addCommand",
      "start": 1782,
      "end": 1792,
      "loc": {
        "start": {
          "line": 55,
          "column": 12
        },
        "end": {
          "line": 55,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1792,
      "end": 1793,
      "loc": {
        "start": {
          "line": 55,
          "column": 22
        },
        "end": {
          "line": 55,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1793,
      "end": 1797,
      "loc": {
        "start": {
          "line": 55,
          "column": 23
        },
        "end": {
          "line": 55,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1797,
      "end": 1798,
      "loc": {
        "start": {
          "line": 55,
          "column": 27
        },
        "end": {
          "line": 55,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sketch",
      "start": 1798,
      "end": 1804,
      "loc": {
        "start": {
          "line": 55,
          "column": 28
        },
        "end": {
          "line": 55,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1804,
      "end": 1805,
      "loc": {
        "start": {
          "line": 55,
          "column": 34
        },
        "end": {
          "line": 55,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1806,
      "end": 1807,
      "loc": {
        "start": {
          "line": 55,
          "column": 36
        },
        "end": {
          "line": 55,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "class",
        "keyword": "class",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "class",
      "start": 1807,
      "end": 1812,
      "loc": {
        "start": {
          "line": 55,
          "column": 37
        },
        "end": {
          "line": 55,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1812,
      "end": 1813,
      "loc": {
        "start": {
          "line": 55,
          "column": 42
        },
        "end": {
          "line": 55,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "incidence",
      "start": 1814,
      "end": 1823,
      "loc": {
        "start": {
          "line": 55,
          "column": 44
        },
        "end": {
          "line": 55,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1823,
      "end": 1824,
      "loc": {
        "start": {
          "line": 55,
          "column": 53
        },
        "end": {
          "line": 55,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 1824,
      "end": 1828,
      "loc": {
        "start": {
          "line": 55,
          "column": 54
        },
        "end": {
          "line": 55,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1828,
      "end": 1829,
      "loc": {
        "start": {
          "line": 55,
          "column": 58
        },
        "end": {
          "line": 55,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entities",
      "start": 1830,
      "end": 1838,
      "loc": {
        "start": {
          "line": 55,
          "column": 60
        },
        "end": {
          "line": 55,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1838,
      "end": 1839,
      "loc": {
        "start": {
          "line": 55,
          "column": 68
        },
        "end": {
          "line": 55,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1840,
      "end": 1841,
      "loc": {
        "start": {
          "line": 55,
          "column": 70
        },
        "end": {
          "line": 55,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1841,
      "end": 1845,
      "loc": {
        "start": {
          "line": 55,
          "column": 71
        },
        "end": {
          "line": 55,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1845,
      "end": 1846,
      "loc": {
        "start": {
          "line": 55,
          "column": 75
        },
        "end": {
          "line": 55,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "lastPoint",
      "start": 1846,
      "end": 1855,
      "loc": {
        "start": {
          "line": 55,
          "column": 76
        },
        "end": {
          "line": 55,
          "column": 85
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1855,
      "end": 1856,
      "loc": {
        "start": {
          "line": 55,
          "column": 85
        },
        "end": {
          "line": 55,
          "column": 86
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "startPoint",
      "start": 1857,
      "end": 1867,
      "loc": {
        "start": {
          "line": 55,
          "column": 87
        },
        "end": {
          "line": 55,
          "column": 97
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1867,
      "end": 1868,
      "loc": {
        "start": {
          "line": 55,
          "column": 97
        },
        "end": {
          "line": 55,
          "column": 98
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1868,
      "end": 1869,
      "loc": {
        "start": {
          "line": 55,
          "column": 98
        },
        "end": {
          "line": 55,
          "column": 99
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "value",
      "start": 1870,
      "end": 1875,
      "loc": {
        "start": {
          "line": 55,
          "column": 100
        },
        "end": {
          "line": 55,
          "column": 105
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1875,
      "end": 1876,
      "loc": {
        "start": {
          "line": 55,
          "column": 105
        },
        "end": {
          "line": 55,
          "column": 106
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1877,
      "end": 1878,
      "loc": {
        "start": {
          "line": 55,
          "column": 107
        },
        "end": {
          "line": 55,
          "column": 108
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1878,
      "end": 1879,
      "loc": {
        "start": {
          "line": 55,
          "column": 108
        },
        "end": {
          "line": 55,
          "column": 109
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1879,
      "end": 1880,
      "loc": {
        "start": {
          "line": 55,
          "column": 109
        },
        "end": {
          "line": 55,
          "column": 110
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1880,
      "end": 1881,
      "loc": {
        "start": {
          "line": 55,
          "column": 110
        },
        "end": {
          "line": 55,
          "column": 111
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1882,
      "end": 1883,
      "loc": {
        "start": {
          "line": 55,
          "column": 112
        },
        "end": {
          "line": 55,
          "column": 113
        }
      }
    },
    {
      "type": {
        "label": "null",
        "keyword": "null",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "null",
      "start": 1896,
      "end": 1900,
      "loc": {
        "start": {
          "line": 56,
          "column": 12
        },
        "end": {
          "line": 56,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1900,
      "end": 1901,
      "loc": {
        "start": {
          "line": 56,
          "column": 16
        },
        "end": {
          "line": 56,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 1910,
      "end": 1913,
      "loc": {
        "start": {
          "line": 57,
          "column": 8
        },
        "end": {
          "line": 57,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "command",
      "start": 1914,
      "end": 1921,
      "loc": {
        "start": {
          "line": 57,
          "column": 12
        },
        "end": {
          "line": 57,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1922,
      "end": 1923,
      "loc": {
        "start": {
          "line": 57,
          "column": 20
        },
        "end": {
          "line": 57,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Sequence",
      "start": 1924,
      "end": 1932,
      "loc": {
        "start": {
          "line": 57,
          "column": 22
        },
        "end": {
          "line": 57,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1932,
      "end": 1933,
      "loc": {
        "start": {
          "line": 57,
          "column": 30
        },
        "end": {
          "line": 57,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Assign",
      "start": 1946,
      "end": 1952,
      "loc": {
        "start": {
          "line": 58,
          "column": 12
        },
        "end": {
          "line": 58,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1952,
      "end": 1953,
      "loc": {
        "start": {
          "line": 58,
          "column": 18
        },
        "end": {
          "line": 58,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "object",
      "start": 1953,
      "end": 1959,
      "loc": {
        "start": {
          "line": 58,
          "column": 19
        },
        "end": {
          "line": 58,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1959,
      "end": 1960,
      "loc": {
        "start": {
          "line": 58,
          "column": 25
        },
        "end": {
          "line": 58,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addCommand",
      "start": 1961,
      "end": 1971,
      "loc": {
        "start": {
          "line": 58,
          "column": 27
        },
        "end": {
          "line": 58,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1971,
      "end": 1972,
      "loc": {
        "start": {
          "line": 58,
          "column": 37
        },
        "end": {
          "line": 58,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1972,
      "end": 1976,
      "loc": {
        "start": {
          "line": 58,
          "column": 38
        },
        "end": {
          "line": 58,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1976,
      "end": 1977,
      "loc": {
        "start": {
          "line": 58,
          "column": 42
        },
        "end": {
          "line": 58,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sketch",
      "start": 1977,
      "end": 1983,
      "loc": {
        "start": {
          "line": 58,
          "column": 43
        },
        "end": {
          "line": 58,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1983,
      "end": 1984,
      "loc": {
        "start": {
          "line": 58,
          "column": 49
        },
        "end": {
          "line": 58,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "geomParams",
      "start": 1985,
      "end": 1995,
      "loc": {
        "start": {
          "line": 58,
          "column": 51
        },
        "end": {
          "line": 58,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1995,
      "end": 1996,
      "loc": {
        "start": {
          "line": 58,
          "column": 61
        },
        "end": {
          "line": 58,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1996,
      "end": 1997,
      "loc": {
        "start": {
          "line": 58,
          "column": 62
        },
        "end": {
          "line": 58,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1997,
      "end": 1998,
      "loc": {
        "start": {
          "line": 58,
          "column": 63
        },
        "end": {
          "line": 58,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "...",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2011,
      "end": 2014,
      "loc": {
        "start": {
          "line": 59,
          "column": 12
        },
        "end": {
          "line": 59,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2014,
      "end": 2018,
      "loc": {
        "start": {
          "line": 59,
          "column": 15
        },
        "end": {
          "line": 59,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2018,
      "end": 2019,
      "loc": {
        "start": {
          "line": 59,
          "column": 19
        },
        "end": {
          "line": 59,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sketcher",
      "start": 2019,
      "end": 2027,
      "loc": {
        "start": {
          "line": 59,
          "column": 20
        },
        "end": {
          "line": 59,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2027,
      "end": 2028,
      "loc": {
        "start": {
          "line": 59,
          "column": 28
        },
        "end": {
          "line": 59,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "autoconstraintCommands",
      "start": 2028,
      "end": 2050,
      "loc": {
        "start": {
          "line": 59,
          "column": 29
        },
        "end": {
          "line": 59,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2050,
      "end": 2051,
      "loc": {
        "start": {
          "line": 59,
          "column": 51
        },
        "end": {
          "line": 59,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "object",
      "start": 2051,
      "end": 2057,
      "loc": {
        "start": {
          "line": 59,
          "column": 52
        },
        "end": {
          "line": 59,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2057,
      "end": 2058,
      "loc": {
        "start": {
          "line": 59,
          "column": 58
        },
        "end": {
          "line": 59,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2058,
      "end": 2059,
      "loc": {
        "start": {
          "line": 59,
          "column": 59
        },
        "end": {
          "line": 59,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "manualConstrCommand",
      "start": 2072,
      "end": 2091,
      "loc": {
        "start": {
          "line": 60,
          "column": 12
        },
        "end": {
          "line": 60,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2091,
      "end": 2092,
      "loc": {
        "start": {
          "line": 60,
          "column": 31
        },
        "end": {
          "line": 60,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Return",
      "start": 2105,
      "end": 2111,
      "loc": {
        "start": {
          "line": 61,
          "column": 12
        },
        "end": {
          "line": 61,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2111,
      "end": 2112,
      "loc": {
        "start": {
          "line": 61,
          "column": 18
        },
        "end": {
          "line": 61,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "IdToReal",
      "start": 2112,
      "end": 2120,
      "loc": {
        "start": {
          "line": 61,
          "column": 19
        },
        "end": {
          "line": 61,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2120,
      "end": 2121,
      "loc": {
        "start": {
          "line": 61,
          "column": 27
        },
        "end": {
          "line": 61,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Member",
      "start": 2121,
      "end": 2127,
      "loc": {
        "start": {
          "line": 61,
          "column": 28
        },
        "end": {
          "line": 61,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2127,
      "end": 2128,
      "loc": {
        "start": {
          "line": 61,
          "column": 34
        },
        "end": {
          "line": 61,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "object",
      "start": 2128,
      "end": 2134,
      "loc": {
        "start": {
          "line": 61,
          "column": 35
        },
        "end": {
          "line": 61,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2134,
      "end": 2135,
      "loc": {
        "start": {
          "line": 61,
          "column": 41
        },
        "end": {
          "line": 61,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "endPoint",
      "start": 2136,
      "end": 2146,
      "loc": {
        "start": {
          "line": 61,
          "column": 43
        },
        "end": {
          "line": 61,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2146,
      "end": 2147,
      "loc": {
        "start": {
          "line": 61,
          "column": 53
        },
        "end": {
          "line": 61,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2147,
      "end": 2148,
      "loc": {
        "start": {
          "line": 61,
          "column": 54
        },
        "end": {
          "line": 61,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2148,
      "end": 2149,
      "loc": {
        "start": {
          "line": 61,
          "column": 55
        },
        "end": {
          "line": 61,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2149,
      "end": 2150,
      "loc": {
        "start": {
          "line": 61,
          "column": 56
        },
        "end": {
          "line": 61,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2159,
      "end": 2160,
      "loc": {
        "start": {
          "line": 62,
          "column": 8
        },
        "end": {
          "line": 62,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2160,
      "end": 2161,
      "loc": {
        "start": {
          "line": 62,
          "column": 9
        },
        "end": {
          "line": 62,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 2170,
      "end": 2175,
      "loc": {
        "start": {
          "line": 63,
          "column": 8
        },
        "end": {
          "line": 63,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "p",
      "start": 2176,
      "end": 2177,
      "loc": {
        "start": {
          "line": 63,
          "column": 14
        },
        "end": {
          "line": 63,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2178,
      "end": 2179,
      "loc": {
        "start": {
          "line": 63,
          "column": 16
        },
        "end": {
          "line": 63,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2180,
      "end": 2184,
      "loc": {
        "start": {
          "line": 63,
          "column": 18
        },
        "end": {
          "line": 63,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2184,
      "end": 2185,
      "loc": {
        "start": {
          "line": 63,
          "column": 22
        },
        "end": {
          "line": 63,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sketcher",
      "start": 2185,
      "end": 2193,
      "loc": {
        "start": {
          "line": 63,
          "column": 23
        },
        "end": {
          "line": 63,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2193,
      "end": 2194,
      "loc": {
        "start": {
          "line": 63,
          "column": 31
        },
        "end": {
          "line": 63,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "run",
      "start": 2194,
      "end": 2197,
      "loc": {
        "start": {
          "line": 63,
          "column": 32
        },
        "end": {
          "line": 63,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2197,
      "end": 2198,
      "loc": {
        "start": {
          "line": 63,
          "column": 35
        },
        "end": {
          "line": 63,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "command",
      "start": 2198,
      "end": 2205,
      "loc": {
        "start": {
          "line": 63,
          "column": 36
        },
        "end": {
          "line": 63,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2205,
      "end": 2206,
      "loc": {
        "start": {
          "line": 63,
          "column": 43
        },
        "end": {
          "line": 63,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2206,
      "end": 2207,
      "loc": {
        "start": {
          "line": 63,
          "column": 44
        },
        "end": {
          "line": 63,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2216,
      "end": 2220,
      "loc": {
        "start": {
          "line": 64,
          "column": 8
        },
        "end": {
          "line": 64,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2220,
      "end": 2221,
      "loc": {
        "start": {
          "line": 64,
          "column": 12
        },
        "end": {
          "line": 64,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sketcher",
      "start": 2221,
      "end": 2229,
      "loc": {
        "start": {
          "line": 64,
          "column": 13
        },
        "end": {
          "line": 64,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2229,
      "end": 2230,
      "loc": {
        "start": {
          "line": 64,
          "column": 21
        },
        "end": {
          "line": 64,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "incrementalSolveConstraints",
      "start": 2230,
      "end": 2257,
      "loc": {
        "start": {
          "line": 64,
          "column": 22
        },
        "end": {
          "line": 64,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2257,
      "end": 2258,
      "loc": {
        "start": {
          "line": 64,
          "column": 49
        },
        "end": {
          "line": 64,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2258,
      "end": 2259,
      "loc": {
        "start": {
          "line": 64,
          "column": 50
        },
        "end": {
          "line": 64,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2259,
      "end": 2260,
      "loc": {
        "start": {
          "line": 64,
          "column": 51
        },
        "end": {
          "line": 64,
          "column": 52
        }
      }
    },
    {
      "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": 2269,
      "end": 2275,
      "loc": {
        "start": {
          "line": 65,
          "column": 8
        },
        "end": {
          "line": 65,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "p",
      "start": 2276,
      "end": 2277,
      "loc": {
        "start": {
          "line": 65,
          "column": 15
        },
        "end": {
          "line": 65,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2277,
      "end": 2278,
      "loc": {
        "start": {
          "line": 65,
          "column": 16
        },
        "end": {
          "line": 65,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "then",
      "start": 2278,
      "end": 2282,
      "loc": {
        "start": {
          "line": 65,
          "column": 17
        },
        "end": {
          "line": 65,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2282,
      "end": 2283,
      "loc": {
        "start": {
          "line": 65,
          "column": 21
        },
        "end": {
          "line": 65,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 2283,
      "end": 2285,
      "loc": {
        "start": {
          "line": 65,
          "column": 22
        },
        "end": {
          "line": 65,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2286,
      "end": 2288,
      "loc": {
        "start": {
          "line": 65,
          "column": 25
        },
        "end": {
          "line": 65,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2289,
      "end": 2290,
      "loc": {
        "start": {
          "line": 65,
          "column": 28
        },
        "end": {
          "line": 65,
          "column": 29
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " note: we are sure that no new object is created in this click:",
      "start": 2303,
      "end": 2368,
      "loc": {
        "start": {
          "line": 66,
          "column": 12
        },
        "end": {
          "line": 66,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2381,
      "end": 2385,
      "loc": {
        "start": {
          "line": 67,
          "column": 12
        },
        "end": {
          "line": 67,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2385,
      "end": 2386,
      "loc": {
        "start": {
          "line": 67,
          "column": 16
        },
        "end": {
          "line": 67,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "edgeHandler",
      "start": 2386,
      "end": 2397,
      "loc": {
        "start": {
          "line": 67,
          "column": 17
        },
        "end": {
          "line": 67,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2397,
      "end": 2398,
      "loc": {
        "start": {
          "line": 67,
          "column": 28
        },
        "end": {
          "line": 67,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "click",
      "start": 2398,
      "end": 2403,
      "loc": {
        "start": {
          "line": 67,
          "column": 29
        },
        "end": {
          "line": 67,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2403,
      "end": 2404,
      "loc": {
        "start": {
          "line": 67,
          "column": 34
        },
        "end": {
          "line": 67,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "geomParams",
      "start": 2404,
      "end": 2414,
      "loc": {
        "start": {
          "line": 67,
          "column": 35
        },
        "end": {
          "line": 67,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2414,
      "end": 2415,
      "loc": {
        "start": {
          "line": 67,
          "column": 45
        },
        "end": {
          "line": 67,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "end",
      "start": 2415,
      "end": 2418,
      "loc": {
        "start": {
          "line": 67,
          "column": 46
        },
        "end": {
          "line": 67,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2418,
      "end": 2419,
      "loc": {
        "start": {
          "line": 67,
          "column": 49
        },
        "end": {
          "line": 67,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2419,
      "end": 2420,
      "loc": {
        "start": {
          "line": 67,
          "column": 50
        },
        "end": {
          "line": 67,
          "column": 51
        }
      }
    },
    {
      "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": 2433,
      "end": 2439,
      "loc": {
        "start": {
          "line": 68,
          "column": 12
        },
        "end": {
          "line": 68,
          "column": 18
        }
      }
    },
    {
      "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": 2440,
      "end": 2443,
      "loc": {
        "start": {
          "line": 68,
          "column": 19
        },
        "end": {
          "line": 68,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Ccref",
      "start": 2444,
      "end": 2449,
      "loc": {
        "start": {
          "line": 68,
          "column": 23
        },
        "end": {
          "line": 68,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2449,
      "end": 2450,
      "loc": {
        "start": {
          "line": 68,
          "column": 28
        },
        "end": {
          "line": 68,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2450,
      "end": 2454,
      "loc": {
        "start": {
          "line": 68,
          "column": 29
        },
        "end": {
          "line": 68,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2454,
      "end": 2455,
      "loc": {
        "start": {
          "line": 68,
          "column": 33
        },
        "end": {
          "line": 68,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sketcher",
      "start": 2455,
      "end": 2463,
      "loc": {
        "start": {
          "line": 68,
          "column": 34
        },
        "end": {
          "line": 68,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2463,
      "end": 2464,
      "loc": {
        "start": {
          "line": 68,
          "column": 42
        },
        "end": {
          "line": 68,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 2465,
      "end": 2467,
      "loc": {
        "start": {
          "line": 68,
          "column": 44
        },
        "end": {
          "line": 68,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2467,
      "end": 2468,
      "loc": {
        "start": {
          "line": 68,
          "column": 46
        },
        "end": {
          "line": 68,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2468,
      "end": 2469,
      "loc": {
        "start": {
          "line": 68,
          "column": 47
        },
        "end": {
          "line": 68,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2478,
      "end": 2479,
      "loc": {
        "start": {
          "line": 69,
          "column": 8
        },
        "end": {
          "line": 69,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2479,
      "end": 2480,
      "loc": {
        "start": {
          "line": 69,
          "column": 9
        },
        "end": {
          "line": 69,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2480,
      "end": 2481,
      "loc": {
        "start": {
          "line": 69,
          "column": 10
        },
        "end": {
          "line": 69,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2486,
      "end": 2487,
      "loc": {
        "start": {
          "line": 70,
          "column": 4
        },
        "end": {
          "line": 70,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2493,
      "end": 2494,
      "loc": {
        "start": {
          "line": 72,
          "column": 4
        },
        "end": {
          "line": 72,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Object3",
      "start": 2494,
      "end": 2501,
      "loc": {
        "start": {
          "line": 72,
          "column": 5
        },
        "end": {
          "line": 72,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2501,
      "end": 2502,
      "loc": {
        "start": {
          "line": 72,
          "column": 12
        },
        "end": {
          "line": 72,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Events",
      "start": 2502,
      "end": 2508,
      "loc": {
        "start": {
          "line": 72,
          "column": 13
        },
        "end": {
          "line": 72,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2508,
      "end": 2509,
      "loc": {
        "start": {
          "line": 72,
          "column": 19
        },
        "end": {
          "line": 72,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Interaction",
      "start": 2509,
      "end": 2520,
      "loc": {
        "start": {
          "line": 72,
          "column": 20
        },
        "end": {
          "line": 72,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2520,
      "end": 2521,
      "loc": {
        "start": {
          "line": 72,
          "column": 31
        },
        "end": {
          "line": 72,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Clicked",
      "start": 2521,
      "end": 2528,
      "loc": {
        "start": {
          "line": 72,
          "column": 32
        },
        "end": {
          "line": 72,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2528,
      "end": 2529,
      "loc": {
        "start": {
          "line": 72,
          "column": 39
        },
        "end": {
          "line": 72,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2529,
      "end": 2530,
      "loc": {
        "start": {
          "line": 72,
          "column": 40
        },
        "end": {
          "line": 72,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "object",
      "start": 2530,
      "end": 2536,
      "loc": {
        "start": {
          "line": 72,
          "column": 41
        },
        "end": {
          "line": 72,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2536,
      "end": 2537,
      "loc": {
        "start": {
          "line": 72,
          "column": 47
        },
        "end": {
          "line": 72,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hitObject",
      "start": 2538,
      "end": 2547,
      "loc": {
        "start": {
          "line": 72,
          "column": 49
        },
        "end": {
          "line": 72,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2547,
      "end": 2548,
      "loc": {
        "start": {
          "line": 72,
          "column": 58
        },
        "end": {
          "line": 72,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2549,
      "end": 2550,
      "loc": {
        "start": {
          "line": 72,
          "column": 60
        },
        "end": {
          "line": 72,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 2559,
      "end": 2564,
      "loc": {
        "start": {
          "line": 73,
          "column": 8
        },
        "end": {
          "line": 73,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "position",
      "start": 2565,
      "end": 2573,
      "loc": {
        "start": {
          "line": 73,
          "column": 14
        },
        "end": {
          "line": 73,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2574,
      "end": 2575,
      "loc": {
        "start": {
          "line": 73,
          "column": 23
        },
        "end": {
          "line": 73,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "calcSketchPos",
      "start": 2576,
      "end": 2589,
      "loc": {
        "start": {
          "line": 73,
          "column": 25
        },
        "end": {
          "line": 73,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2589,
      "end": 2590,
      "loc": {
        "start": {
          "line": 73,
          "column": 38
        },
        "end": {
          "line": 73,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hitObject",
      "start": 2590,
      "end": 2599,
      "loc": {
        "start": {
          "line": 73,
          "column": 39
        },
        "end": {
          "line": 73,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2599,
      "end": 2600,
      "loc": {
        "start": {
          "line": 73,
          "column": 48
        },
        "end": {
          "line": 73,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ray",
      "start": 2600,
      "end": 2603,
      "loc": {
        "start": {
          "line": 73,
          "column": 49
        },
        "end": {
          "line": 73,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2603,
      "end": 2604,
      "loc": {
        "start": {
          "line": 73,
          "column": 52
        },
        "end": {
          "line": 73,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2605,
      "end": 2609,
      "loc": {
        "start": {
          "line": 73,
          "column": 54
        },
        "end": {
          "line": 73,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2609,
      "end": 2610,
      "loc": {
        "start": {
          "line": 73,
          "column": 58
        },
        "end": {
          "line": 73,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sketch",
      "start": 2610,
      "end": 2616,
      "loc": {
        "start": {
          "line": 73,
          "column": 59
        },
        "end": {
          "line": 73,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2616,
      "end": 2617,
      "loc": {
        "start": {
          "line": 73,
          "column": 65
        },
        "end": {
          "line": 73,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2617,
      "end": 2618,
      "loc": {
        "start": {
          "line": 73,
          "column": 66
        },
        "end": {
          "line": 73,
          "column": 67
        }
      }
    },
    {
      "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": 2627,
      "end": 2633,
      "loc": {
        "start": {
          "line": 74,
          "column": 8
        },
        "end": {
          "line": 74,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2634,
      "end": 2638,
      "loc": {
        "start": {
          "line": 74,
          "column": 15
        },
        "end": {
          "line": 74,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2638,
      "end": 2639,
      "loc": {
        "start": {
          "line": 74,
          "column": 19
        },
        "end": {
          "line": 74,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "queue",
      "start": 2639,
      "end": 2644,
      "loc": {
        "start": {
          "line": 74,
          "column": 20
        },
        "end": {
          "line": 74,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2644,
      "end": 2645,
      "loc": {
        "start": {
          "line": 74,
          "column": 25
        },
        "end": {
          "line": 74,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "run",
      "start": 2645,
      "end": 2648,
      "loc": {
        "start": {
          "line": 74,
          "column": 26
        },
        "end": {
          "line": 74,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2648,
      "end": 2649,
      "loc": {
        "start": {
          "line": 74,
          "column": 29
        },
        "end": {
          "line": 74,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "async",
      "start": 2649,
      "end": 2654,
      "loc": {
        "start": {
          "line": 74,
          "column": 30
        },
        "end": {
          "line": 74,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2655,
      "end": 2656,
      "loc": {
        "start": {
          "line": 74,
          "column": 36
        },
        "end": {
          "line": 74,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2656,
      "end": 2657,
      "loc": {
        "start": {
          "line": 74,
          "column": 37
        },
        "end": {
          "line": 74,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2658,
      "end": 2660,
      "loc": {
        "start": {
          "line": 74,
          "column": 39
        },
        "end": {
          "line": 74,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2661,
      "end": 2662,
      "loc": {
        "start": {
          "line": 74,
          "column": 42
        },
        "end": {
          "line": 74,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2675,
      "end": 2679,
      "loc": {
        "start": {
          "line": 75,
          "column": 12
        },
        "end": {
          "line": 75,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2679,
      "end": 2680,
      "loc": {
        "start": {
          "line": 75,
          "column": 16
        },
        "end": {
          "line": 75,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "lastPoint",
      "start": 2680,
      "end": 2689,
      "loc": {
        "start": {
          "line": 75,
          "column": 17
        },
        "end": {
          "line": 75,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2690,
      "end": 2691,
      "loc": {
        "start": {
          "line": 75,
          "column": 27
        },
        "end": {
          "line": 75,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "await",
      "start": 2692,
      "end": 2697,
      "loc": {
        "start": {
          "line": 75,
          "column": 29
        },
        "end": {
          "line": 75,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2698,
      "end": 2702,
      "loc": {
        "start": {
          "line": 75,
          "column": 35
        },
        "end": {
          "line": 75,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2702,
      "end": 2703,
      "loc": {
        "start": {
          "line": 75,
          "column": 39
        },
        "end": {
          "line": 75,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "afterEdgeAdded",
      "start": 2703,
      "end": 2717,
      "loc": {
        "start": {
          "line": 75,
          "column": 40
        },
        "end": {
          "line": 75,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2717,
      "end": 2718,
      "loc": {
        "start": {
          "line": 75,
          "column": 54
        },
        "end": {
          "line": 75,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2718,
      "end": 2722,
      "loc": {
        "start": {
          "line": 75,
          "column": 55
        },
        "end": {
          "line": 75,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2722,
      "end": 2723,
      "loc": {
        "start": {
          "line": 75,
          "column": 59
        },
        "end": {
          "line": 75,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "edgeHandler",
      "start": 2723,
      "end": 2734,
      "loc": {
        "start": {
          "line": 75,
          "column": 60
        },
        "end": {
          "line": 75,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2734,
      "end": 2735,
      "loc": {
        "start": {
          "line": 75,
          "column": 71
        },
        "end": {
          "line": 75,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "click",
      "start": 2735,
      "end": 2740,
      "loc": {
        "start": {
          "line": 75,
          "column": 72
        },
        "end": {
          "line": 75,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2740,
      "end": 2741,
      "loc": {
        "start": {
          "line": 75,
          "column": 77
        },
        "end": {
          "line": 75,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "position",
      "start": 2741,
      "end": 2749,
      "loc": {
        "start": {
          "line": 75,
          "column": 78
        },
        "end": {
          "line": 75,
          "column": 86
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2749,
      "end": 2750,
      "loc": {
        "start": {
          "line": 75,
          "column": 86
        },
        "end": {
          "line": 75,
          "column": 87
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2750,
      "end": 2751,
      "loc": {
        "start": {
          "line": 75,
          "column": 87
        },
        "end": {
          "line": 75,
          "column": 88
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2751,
      "end": 2752,
      "loc": {
        "start": {
          "line": 75,
          "column": 88
        },
        "end": {
          "line": 75,
          "column": 89
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2761,
      "end": 2762,
      "loc": {
        "start": {
          "line": 76,
          "column": 8
        },
        "end": {
          "line": 76,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2762,
      "end": 2763,
      "loc": {
        "start": {
          "line": 76,
          "column": 9
        },
        "end": {
          "line": 76,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2763,
      "end": 2764,
      "loc": {
        "start": {
          "line": 76,
          "column": 10
        },
        "end": {
          "line": 76,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2769,
      "end": 2770,
      "loc": {
        "start": {
          "line": 77,
          "column": 4
        },
        "end": {
          "line": 77,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "consoleComplete",
      "start": 2776,
      "end": 2791,
      "loc": {
        "start": {
          "line": 79,
          "column": 4
        },
        "end": {
          "line": 79,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2791,
      "end": 2792,
      "loc": {
        "start": {
          "line": 79,
          "column": 19
        },
        "end": {
          "line": 79,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "cmd",
      "start": 2792,
      "end": 2795,
      "loc": {
        "start": {
          "line": 79,
          "column": 20
        },
        "end": {
          "line": 79,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2795,
      "end": 2796,
      "loc": {
        "start": {
          "line": 79,
          "column": 23
        },
        "end": {
          "line": 79,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2797,
      "end": 2798,
      "loc": {
        "start": {
          "line": 79,
          "column": 25
        },
        "end": {
          "line": 79,
          "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": 2807,
      "end": 2813,
      "loc": {
        "start": {
          "line": 80,
          "column": 8
        },
        "end": {
          "line": 80,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2814,
      "end": 2818,
      "loc": {
        "start": {
          "line": 80,
          "column": 15
        },
        "end": {
          "line": 80,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2818,
      "end": 2819,
      "loc": {
        "start": {
          "line": 80,
          "column": 19
        },
        "end": {
          "line": 80,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "edgeHandler",
      "start": 2819,
      "end": 2830,
      "loc": {
        "start": {
          "line": 80,
          "column": 20
        },
        "end": {
          "line": 80,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2830,
      "end": 2831,
      "loc": {
        "start": {
          "line": 80,
          "column": 31
        },
        "end": {
          "line": 80,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "consoleComplete",
      "start": 2831,
      "end": 2846,
      "loc": {
        "start": {
          "line": 80,
          "column": 32
        },
        "end": {
          "line": 80,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2846,
      "end": 2847,
      "loc": {
        "start": {
          "line": 80,
          "column": 47
        },
        "end": {
          "line": 80,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "cmd",
      "start": 2847,
      "end": 2850,
      "loc": {
        "start": {
          "line": 80,
          "column": 48
        },
        "end": {
          "line": 80,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2850,
      "end": 2851,
      "loc": {
        "start": {
          "line": 80,
          "column": 51
        },
        "end": {
          "line": 80,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2851,
      "end": 2852,
      "loc": {
        "start": {
          "line": 80,
          "column": 52
        },
        "end": {
          "line": 80,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2857,
      "end": 2858,
      "loc": {
        "start": {
          "line": 81,
          "column": 4
        },
        "end": {
          "line": 81,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "async",
      "start": 2864,
      "end": 2869,
      "loc": {
        "start": {
          "line": 83,
          "column": 4
        },
        "end": {
          "line": 83,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "consoleExecute",
      "start": 2870,
      "end": 2884,
      "loc": {
        "start": {
          "line": 83,
          "column": 10
        },
        "end": {
          "line": 83,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2884,
      "end": 2885,
      "loc": {
        "start": {
          "line": 83,
          "column": 24
        },
        "end": {
          "line": 83,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "cmd",
      "start": 2885,
      "end": 2888,
      "loc": {
        "start": {
          "line": 83,
          "column": 25
        },
        "end": {
          "line": 83,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2888,
      "end": 2889,
      "loc": {
        "start": {
          "line": 83,
          "column": 28
        },
        "end": {
          "line": 83,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "preview",
      "start": 2890,
      "end": 2897,
      "loc": {
        "start": {
          "line": 83,
          "column": 30
        },
        "end": {
          "line": 83,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2897,
      "end": 2898,
      "loc": {
        "start": {
          "line": 83,
          "column": 37
        },
        "end": {
          "line": 83,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2899,
      "end": 2900,
      "loc": {
        "start": {
          "line": 83,
          "column": 39
        },
        "end": {
          "line": 83,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2909,
      "end": 2913,
      "loc": {
        "start": {
          "line": 84,
          "column": 8
        },
        "end": {
          "line": 84,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2913,
      "end": 2914,
      "loc": {
        "start": {
          "line": 84,
          "column": 12
        },
        "end": {
          "line": 84,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "lastPoint",
      "start": 2914,
      "end": 2923,
      "loc": {
        "start": {
          "line": 84,
          "column": 13
        },
        "end": {
          "line": 84,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2924,
      "end": 2925,
      "loc": {
        "start": {
          "line": 84,
          "column": 23
        },
        "end": {
          "line": 84,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "await",
      "start": 2926,
      "end": 2931,
      "loc": {
        "start": {
          "line": 84,
          "column": 25
        },
        "end": {
          "line": 84,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2932,
      "end": 2936,
      "loc": {
        "start": {
          "line": 84,
          "column": 31
        },
        "end": {
          "line": 84,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2936,
      "end": 2937,
      "loc": {
        "start": {
          "line": 84,
          "column": 35
        },
        "end": {
          "line": 84,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "afterEdgeAdded",
      "start": 2937,
      "end": 2951,
      "loc": {
        "start": {
          "line": 84,
          "column": 36
        },
        "end": {
          "line": 84,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2951,
      "end": 2952,
      "loc": {
        "start": {
          "line": 84,
          "column": 50
        },
        "end": {
          "line": 84,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2952,
      "end": 2956,
      "loc": {
        "start": {
          "line": 84,
          "column": 51
        },
        "end": {
          "line": 84,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2956,
      "end": 2957,
      "loc": {
        "start": {
          "line": 84,
          "column": 55
        },
        "end": {
          "line": 84,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "edgeHandler",
      "start": 2957,
      "end": 2968,
      "loc": {
        "start": {
          "line": 84,
          "column": 56
        },
        "end": {
          "line": 84,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2968,
      "end": 2969,
      "loc": {
        "start": {
          "line": 84,
          "column": 67
        },
        "end": {
          "line": 84,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "consoleExec",
      "start": 2969,
      "end": 2980,
      "loc": {
        "start": {
          "line": 84,
          "column": 68
        },
        "end": {
          "line": 84,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2980,
      "end": 2981,
      "loc": {
        "start": {
          "line": 84,
          "column": 79
        },
        "end": {
          "line": 84,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "cmd",
      "start": 2981,
      "end": 2984,
      "loc": {
        "start": {
          "line": 84,
          "column": 80
        },
        "end": {
          "line": 84,
          "column": 83
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2984,
      "end": 2985,
      "loc": {
        "start": {
          "line": 84,
          "column": 83
        },
        "end": {
          "line": 84,
          "column": 84
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "preview",
      "start": 2986,
      "end": 2993,
      "loc": {
        "start": {
          "line": 84,
          "column": 85
        },
        "end": {
          "line": 84,
          "column": 92
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2993,
      "end": 2994,
      "loc": {
        "start": {
          "line": 84,
          "column": 92
        },
        "end": {
          "line": 84,
          "column": 93
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2994,
      "end": 2995,
      "loc": {
        "start": {
          "line": 84,
          "column": 93
        },
        "end": {
          "line": 84,
          "column": 94
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2995,
      "end": 2996,
      "loc": {
        "start": {
          "line": 84,
          "column": 94
        },
        "end": {
          "line": 84,
          "column": 95
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3001,
      "end": 3002,
      "loc": {
        "start": {
          "line": 85,
          "column": 4
        },
        "end": {
          "line": 85,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3003,
      "end": 3004,
      "loc": {
        "start": {
          "line": 86,
          "column": 0
        },
        "end": {
          "line": 86,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "eof",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3005,
      "end": 3005,
      "loc": {
        "start": {
          "line": 87,
          "column": 0
        },
        "end": {
          "line": 87,
          "column": 0
        }
      }
    }
  ]
}